# gemseo.uncertainty.distributions.openturns¶

OpenTURNS-based capabilities for probability distributions.

This package interfaces capabilities from the OpenTURNS library.

## Interfaced distributions¶

This package implements the abstract classes `BaseDistribution`

and `BaseJointDistribution`

.

## Classical distributions¶

This package also implements a deliberately limited selection
of standard probability distributions
in a user-friendly way: `OTExponentialDistribution`

,
`OTNormalDistribution`

, `OTTriangularDistribution`

,
and `OTUniformDistribution`

. More precisely,
the argument whose nature is a tuple of positional parameters
is replaced with several user-defined keyword arguments.
In this way, the use writes `OTUniformDistribution('x', -1., 3.)`

or `OTUniformDistribution('x', minimum=-1., maximum=3.)`

instead of `OTDistribution('x', 'Uniform', (-1., 3.))`

.
Furthermore, these classes inheriting from `OTDistribution`

are documented in such a way that a newbie could easily apprehend them.

## Joint probability distribution¶

A `OTDistribution`

has a `OTDistribution.JOINT_DISTRIBUTION_CLASS`

attribute referencing `OTJointDistribution`

which is a class to build a joint probability distribution
related to given random variables from a list of `OTDistribution`

objects
implementing the probability distributions of these variables
based on the OpenTURNS library and from a copula name.

Note

A copula is a mathematical function used to define the dependence between random variables from their cumulative density functions. See more.

## Distribution fitting¶

The class `OTDistributionFitter`

offers the possibility
to fit an `OTDistribution`

from `numpy.array`

data,
based on the OpenTURNS capabilities.