%feature("docstring") OT::Weibull
"Weibull distribution.

Available constructors:
    Weibull(*alpha=1.0, beta=1.0, gamma=0.0*)

Parameters
----------
alpha : float
    scale parameter :math:`\alpha > 0`.
beta : float
    shape parameter :math:`\beta > 0`.
gamma : float, optional
    Location parameter :math:`\gamma < \mu`.

Notes
-----
Its probability density function is defined as:

.. math::

    f_X(x) = \frac{\beta}{\alpha}
             \left(\frac{x - \gamma}{\alpha} \right) ^ {\beta-1}
             exp \left(-\left(\frac{x - \gamma}{\alpha}\right)^{\beta}\right),
             \quad x \in [\gamma; +\infty[

Its first moments are:

.. math::
    :nowrap:

    \begin{eqnarray*}
        \Expect{X} & = & \alpha \,\Gamma\left(1 + \frac{1}{\beta}\right)
                       + \gamma \\
        \Var{X} & = & \alpha^2 \left( \Gamma ( 1 + \frac{2}{\beta} ) -
                     \Gamma^2 ( 1 + \frac{1}{\beta} ) \right)
    \end{eqnarray*}

where :math:`\Gamma` denotes Euler's Gamma function
:class:`~openturns.SpecFunc_Gamma`.

It is possible to create a Weibull distribution from the alternative parametrization :math:`(\mu, \sigma, \gamma)`: see  :class:`~openturns.WeibullMuSigma`. In that case, all the results are presented in that new parametrization.

In order to use the alternative  parametrization :math:`(\mu, \sigma, \gamma)` only to create the distribution, see the example below: all the results will be presented in the native parametrization :math:`(\alpha, \beta, \gamma)`.

Examples
--------
Create a distribution from its native parameters :math:`(\alpha, \beta, \gamma)`:

>>> import openturns as ot
>>> myDist = ot.Weibull(2.0, 1.5, 1.0)

Create a it from the alternative parametrization :math:`(\mu, \sigma, \gamma)`:

>>> myDist2 = ot.Weibull()
>>> myDist2.setParameter(ot.WeibullMuSigma()([2.8, 1.2, 1.0]))

Create it from :math:`(\mu, \sigma,\gamma)` and keep that parametrization for the remaining study: 

>>> myParam = ot.WeibullMuSigma(2.8, 1.2, 1.0)
>>> myDist3 = ot.ParametrizedDistribution(myParam)

Draw a sample:

>>> sample = myDist.getSample(5)"

// ---------------------------------------------------------------------

%feature("docstring") OT::Weibull::getAlpha
"Accessor to the distribution's scale parameter :math:`\alpha`.

Returns
-------
alpha : float
    Scale parameter :math:`\alpha`."

// ---------------------------------------------------------------------

%feature("docstring") OT::Weibull::getBeta
"Accessor to the distribution's shape parameter :math:`\beta`.

Returns
-------
beta : float
    Shape parameter :math:`\beta`."

// ---------------------------------------------------------------------

%feature("docstring") OT::Weibull::getGamma
"Accessor to the distribution's shift parameter :math:`\gamma`.

Returns
-------
gamma : float
    Location parameter :math:`\gamma`."

// ---------------------------------------------------------------------

%feature("docstring") OT::Weibull::getMu
"Accessor to the distribution's mean.

Returns
-------
mu : float
    Mean."

// ---------------------------------------------------------------------

%feature("docstring") OT::Weibull::getSigma
"Accessor to the distribution's standard deviation.

Returns
-------
sigma : float, :math:`\sigma > 0`
    Standard deviation."

// ---------------------------------------------------------------------

%feature("docstring") OT::Weibull::setAlpha
"Accessor to the distribution's scale parameter :math:`\alpha`.

Parameters
----------
alpha : float, :math:`\alpha > 0`
    Scale parameter :math:`\alpha`."

// ---------------------------------------------------------------------

%feature("docstring") OT::Weibull::setBeta
"Accessor to the distribution's shape parameter :math:`\beta`.

Parameters
----------
beta : float, :math:`\beta > 0`
    Shape parameter :math:`\beta`."

// ---------------------------------------------------------------------

%feature("docstring") OT::Weibull::setAlphaBeta
"Accessor to the distribution's scale parameter :math:`\alpha` and
shape parameter :math:`\beta`.

Parameters
----------
alpha : float, :math:`\alpha > 0`
    Scale parameter :math:`\alpha`.
beta : float, :math:`\beta > 0`
    Shape parameter :math:`\beta`."

// ---------------------------------------------------------------------

%feature("docstring") OT::Weibull::setGamma
"Accessor to the distribution's location parameter :math:`\gamma`.

Parameters
----------
gamma : float
    Location parameter :math:`\gamma`."

// ---------------------------------------------------------------------

%feature("docstring") OT::Weibull::setMuSigma
"Accessor to the distribution's mean and standard deviation.

Parameters
----------
mu : float
    Mean.
sigma : float, :math:`\sigma > 0`
    Standard deviation."
