# gemseo.uncertainty.distributions.scipy¶

Scipy-based capabilities for probability distributions.

This package interfaces capabilities from the SciPy library.

## Interfaced distributions¶

This package implements the abstract classes `BaseDistribution`

and `BaseJointDistribution`

.

## Classical distributions¶

This module also implements a deliberately limited selection
of classical probability distributions
in a user-friendly way: `SPExponentialDistribution`

,
`SPNormalDistribution`

, `SPTriangularDistribution`

,
and `SPUniformDistribution`

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

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

instead of `SPDistribution('x', 'Uniform', {"loc": -1, "scale": 4})`

.
Furthermore, these classes inheriting from `SPDistribution`

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

## Joint probability distribution¶

A `SPDistribution`

has a `SPDistribution.JOINT_DISTRIBUTION_CLASS`

attribute referencing `SPJointDistribution`

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

objects
implementing the probability distributions of these variables
based on the SciPy 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.