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

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

Parameters
----------
alpha : float
    scale parameter :math:`\alpha > 0`.
beta : float
    location parameter :math:`\beta`.

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

.. math::

    f_X(x) = \alpha
             \exp\left[- \alpha (x - \beta)
                       - \exp\left(- \alpha (x - \beta)\right)\right],
             \quad x \in \Rset

with :math:`\alpha > 0` and :math:`\beta \in \Rset`.

Its first moments are:

.. math::
    :nowrap:

    \begin{eqnarray*}
        \Expect{X} & = & \beta + \frac{\gamma}{\alpha} \\
        \Var{X} & = & \frac{\pi^2}{6 \alpha^2}
    \end{eqnarray*}

where :math:`\gamma` is the Euler-Mascheroni constant.


It is possible to create a Gumbel distribution from the alternative parametrizations :math:`(\mu, \sigma)`: see  :class:`~openturns.GumbelMuSigma` or :math:`(a,b)`: see  :class:`~openturns.GumbelAB`. In that case, all the results are presented in that new parametrization.

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

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

>>> import openturns as ot
>>> myDist = ot.Gumbel(1.0, 0.0)

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

>>> myDist2 = ot.Gumbel()
>>> myDist2.setParameter(ot.GumbelMuSigma()([0.58, 1.28]))

Create a it with the alternative parametrization :math:`(a,b)`:

>>> myDist3 = ot.Gumbel()
>>> myDist3.setParameter(ot.GumbelAB()([0.0, 1.0]))

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

>>> myParam = ot.GumbelMuSigma(0.58, 1.28)
>>> myDist4 = ot.ParametrizedDistribution(myParam)

Create it from :math:`(a,b)` and keep that parametrization for the remaining study: 

>>> myParam = ot.GumbelAB(0.0, 1.0)
>>> myDist5 = ot.ParametrizedDistribution(myParam)

Draw a sample:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Parameters
----------
beta : float, :math:`\beta \in \Rset`
    Location parameter :math:`\beta`."

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

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

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