% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/wei_homogeneous_series.R
\name{wei_homogeneous_series}
\alias{wei_homogeneous_series}
\alias{surv.wei_homogeneous_series}
\alias{sampler.wei_homogeneous_series}
\alias{mean.wei_homogeneous_series}
\title{Series of Weibull components with common shape (closed form as a Weibull)}
\usage{
wei_homogeneous_series(shape, scales)

\method{surv}{wei_homogeneous_series}(x, ...)

\method{sampler}{wei_homogeneous_series}(x, ...)

\method{mean}{wei_homogeneous_series}(x, ...)
}
\arguments{
\item{shape}{Positive scalar: common Weibull shape.}

\item{scales}{Positive numeric vector: per-component Weibull scales.}

\item{x}{A \code{wei_homogeneous_series} object.}

\item{...}{Ignored.}
}
\value{
\code{wei_homogeneous_series()} returns an object of class
\code{c("wei_homogeneous_series", "wei_series", "series_dist", "coherent_dist", "dist_structure", "univariate_dist", "continuous_dist", "dist")}.

The associated S3 methods return:
\itemize{
\item \code{surv()}: a closure \verb{function(t, ...)}.
\item \code{cdf()} is derived via the \code{dist_structure} default and returns
a closure \verb{function(t, ...)} equal to \code{1 - surv(x)(t)}.
\item \code{sampler()}: a closure \verb{function(n, ...)} returning \code{n} random
variates from the system lifetime distribution.
\item \code{mean()}: a numeric scalar (the mean system lifetime,
\code{aggregate_scale * gamma(1 + 1 / shape)}).
}
}
\description{
Constructs a \code{dist_structure} for a series of Weibull components sharing
a common shape parameter. By the standard identity, the system lifetime
is itself Weibull with the common shape and an aggregate scale
\code{(sum(1 / scale^shape))^(-1 / shape)}. Methods for \code{surv}, \code{cdf},
\code{sampler}, and \code{mean} forward to this aggregate Weibull, giving exact
closed-form values.
}
\examples{
sys <- wei_homogeneous_series(shape = 2, scales = c(1, 2, 3))
# System lifetime is Weibull(shape = 2, scale = aggregate_scale)
algebraic.dist::surv(sys)(1)
}
