% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/coherent_dist.R
\name{coherent_dist}
\alias{coherent_dist}
\title{Coherent system distribution from minimal path sets}
\usage{
coherent_dist(min_paths, components, m = NULL)
}
\arguments{
\item{min_paths}{List of integer vectors; each is a minimal path set.}

\item{components}{List of \code{dist} objects, length \code{m}. Each is a
fully-parameterized component lifetime distribution.}

\item{m}{Optional integer. Inferred from \code{components} and \code{min_paths}
if omitted.}
}
\value{
An object of class
\code{c("coherent_dist", "dist_structure", "univariate_dist", "dist")}.
}
\description{
General-purpose constructor. Users supply a list of minimal path sets
(each a vector of component indices) and a list of component
distributions (each an \code{algebraic.dist::dist} object with parameters
baked in). The resulting object is a \code{dist_structure} and \code{dist}.
}
\examples{
# A bridge network with exponential components
sys <- coherent_dist(
  min_paths = list(c(1, 4), c(2, 5), c(1, 3, 5), c(2, 3, 4)),
  components = replicate(5, algebraic.dist::exponential(1), simplify = FALSE)
)
reliability(sys, 0.9)
}
