## Types in MathNet.Numerics.Distributions

Type Stable

Namespace MathNet.Numerics.Distributions

Interfaces IContinuousDistribution

Continuous Univariate Stable distribution. A random variable is said to be stable (or to have a stable distribution) if it has the property that a linear combination of two independent copies of the variable has the same distribution, up to location and scale parameters. For details about this distribution, see.

### Public Constructors

#### Stable(double alpha, double beta, double scale, double location, Random randomSource)

Initializes a new instance of the Stable class.
##### Parameters
###### `double` alpha

The stability (α) of the distribution. Range: 2 ≥ α > 0.

###### `double` beta

The skewness (β) of the distribution. Range: 1 ≥ β ≥ -1.

###### `double` scale

The scale (c) of the distribution. Range: c > 0.

###### `double` location

The location (μ) of the distribution.

###### `Random` randomSource

The random number generator which is used to draw random samples.

#### Stable(double alpha, double beta, double scale, double location)

Initializes a new instance of the Stable class.
##### Parameters
###### `double` alpha

The stability (α) of the distribution. Range: 2 ≥ α > 0.

###### `double` beta

The skewness (β) of the distribution. Range: 1 ≥ β ≥ -1.

###### `double` scale

The scale (c) of the distribution. Range: c > 0.

###### `double` location

The location (μ) of the distribution.

### Public Static Functions

#### doubleCDF(double alpha, double beta, double scale, double location, double x)

Computes the cumulative distribution (CDF) of the distribution at x, i.e. P(X ≤ x).
##### Parameters
###### `double` alpha

The stability (α) of the distribution. Range: 2 ≥ α > 0.

###### `double` beta

The skewness (β) of the distribution. Range: 1 ≥ β ≥ -1.

###### `double` scale

The scale (c) of the distribution. Range: c > 0.

###### `double` location

The location (μ) of the distribution.

###### `double` x

The location at which to compute the cumulative distribution function.

##### Return
###### `double`

the cumulative distribution at location x.

#### boolIsValidParameterSet(double alpha, double beta, double scale, double location)

Tests whether the provided values are valid parameters for this distribution.
##### Parameters
###### `double` alpha

The stability (α) of the distribution. Range: 2 ≥ α > 0.

###### `double` beta

The skewness (β) of the distribution. Range: 1 ≥ β ≥ -1.

###### `double` scale

The scale (c) of the distribution. Range: c > 0.

###### `double` location

The location (μ) of the distribution.

#### doublePDF(double alpha, double beta, double scale, double location, double x)

Computes the probability density of the distribution (PDF) at x, i.e. ∂P(X ≤ x)/∂x.
##### Parameters
###### `double` alpha

The stability (α) of the distribution. Range: 2 ≥ α > 0.

###### `double` beta

The skewness (β) of the distribution. Range: 1 ≥ β ≥ -1.

###### `double` scale

The scale (c) of the distribution. Range: c > 0.

###### `double` location

The location (μ) of the distribution.

###### `double` x

The location at which to compute the density.

##### Return
###### `double`

the density at x.

#### doublePDFLn(double alpha, double beta, double scale, double location, double x)

Computes the log probability density of the distribution (lnPDF) at x, i.e. ln(∂P(X ≤ x)/∂x).
##### Parameters
###### `double` alpha

The stability (α) of the distribution. Range: 2 ≥ α > 0.

###### `double` beta

The skewness (β) of the distribution. Range: 1 ≥ β ≥ -1.

###### `double` scale

The scale (c) of the distribution. Range: c > 0.

###### `double` location

The location (μ) of the distribution.

###### `double` x

The location at which to compute the density.

##### Return
###### `double`

the log density at x.

#### doubleSample(Random rnd, double alpha, double beta, double scale, double location)

Generates a sample from the distribution.
##### Parameters
###### `Random` rnd

The random number generator to use.

###### `double` alpha

The stability (α) of the distribution. Range: 2 ≥ α > 0.

###### `double` beta

The skewness (β) of the distribution. Range: 1 ≥ β ≥ -1.

###### `double` scale

The scale (c) of the distribution. Range: c > 0.

###### `double` location

The location (μ) of the distribution.

##### Return
###### `double`

a sample from the distribution.

#### doubleSample(double alpha, double beta, double scale, double location)

Generates a sample from the distribution.
##### Parameters
###### `double` alpha

The stability (α) of the distribution. Range: 2 ≥ α > 0.

###### `double` beta

The skewness (β) of the distribution. Range: 1 ≥ β ≥ -1.

###### `double` scale

The scale (c) of the distribution. Range: c > 0.

###### `double` location

The location (μ) of the distribution.

##### Return
###### `double`

a sample from the distribution.

#### voidSamples(Double[] values, double alpha, double beta, double scale, double location)

Fills an array with samples generated from the distribution.
##### Parameters
###### `Double[]` values

The array to fill with the samples.

###### `double` alpha

The stability (α) of the distribution. Range: 2 ≥ α > 0.

###### `double` beta

The skewness (β) of the distribution. Range: 1 ≥ β ≥ -1.

###### `double` scale

The scale (c) of the distribution. Range: c > 0.

###### `double` location

The location (μ) of the distribution.

##### Return
###### `void`

a sequence of samples from the distribution.

#### IEnumerable<double>Samples(Random rnd, double alpha, double beta, double scale, double location)

Generates a sequence of samples from the distribution.
##### Parameters
###### `Random` rnd

The random number generator to use.

###### `double` alpha

The stability (α) of the distribution. Range: 2 ≥ α > 0.

###### `double` beta

The skewness (β) of the distribution. Range: 1 ≥ β ≥ -1.

###### `double` scale

The scale (c) of the distribution. Range: c > 0.

###### `double` location

The location (μ) of the distribution.

##### Return
###### `IEnumerable<double>`

a sequence of samples from the distribution.

#### voidSamples(Random rnd, Double[] values, double alpha, double beta, double scale, double location)

Fills an array with samples generated from the distribution.
##### Parameters
###### `Random` rnd

The random number generator to use.

###### `Double[]` values

The array to fill with the samples.

###### `double` alpha

The stability (α) of the distribution. Range: 2 ≥ α > 0.

###### `double` beta

The skewness (β) of the distribution. Range: 1 ≥ β ≥ -1.

###### `double` scale

The scale (c) of the distribution. Range: c > 0.

###### `double` location

The location (μ) of the distribution.

##### Return
###### `void`

a sequence of samples from the distribution.

#### IEnumerable<double>Samples(double alpha, double beta, double scale, double location)

Generates a sequence of samples from the distribution.
##### Parameters
###### `double` alpha

The stability (α) of the distribution. Range: 2 ≥ α > 0.

###### `double` beta

The skewness (β) of the distribution. Range: 1 ≥ β ≥ -1.

###### `double` scale

The scale (c) of the distribution. Range: c > 0.

###### `double` location

The location (μ) of the distribution.

##### Return
###### `IEnumerable<double>`

a sequence of samples from the distribution.

### Public Methods

#### doubleCumulativeDistribution(double x)

Computes the cumulative distribution (CDF) of the distribution at x, i.e. P(X ≤ x).
Throws a not supported exception if `Alpha != 2` , `(Alpha != 1 and Beta !=0)` , or `(Alpha != 0.5 and Beta != 1)`
##### Parameters
###### `double` x

The location at which to compute the cumulative distribution function.

##### Return
###### `double`

the cumulative distribution at location x.

#### doubleDensity(double x)

Computes the probability density of the distribution (PDF) at x, i.e. ∂P(X ≤ x)/∂x.
##### Parameters
###### `double` x

The location at which to compute the density.

##### Return
###### `double`

the density at x.

#### doubleDensityLn(double x)

Computes the log probability density of the distribution (lnPDF) at x, i.e. ln(∂P(X ≤ x)/∂x).
##### Parameters
###### `double` x

The location at which to compute the log density.

##### Return
###### `double`

the log density at x.

#### doubleSample()

Draws a random sample from the distribution.
##### Return
###### `double`

A random number from this distribution.

#### IEnumerable<double>Samples()

Generates a sequence of samples from the Stable distribution.
##### Return
###### `IEnumerable<double>`

a sequence of samples from the distribution.

#### voidSamples(Double[] values)

Fills an array with samples generated from the distribution.

#### stringToString()

A string representation of the distribution.
##### Return
###### `string`

a string representation of the distribution.

### Public Properties

#### doubleAlpha get;

Gets the stability (α) of the distribution. Range: 2 ≥ α > 0.

#### doubleBeta get;

Gets The skewness (β) of the distribution. Range: 1 ≥ β ≥ -1.

#### doubleEntropy get;

Gets he entropy of the distribution.
Always throws a not supported exception.

#### doubleLocation get;

Gets the location (μ) of the distribution.

#### doubleMaximum get;

Gets the maximum of the distribution.

#### doubleMean get;

Gets the mean of the distribution.

#### doubleMedian get;

Gets the median of the distribution.
Throws a not supported exception if `Beta != 0`.

#### doubleMinimum get;

Gets the minimum of the distribution.

#### doubleMode get;

Gets the mode of the distribution.
Throws a not supported exception if `Beta != 0`.

#### RandomRandomSource get; set;

Gets or sets the random number generator which is used to draw random samples.

#### doubleScale get;

Gets the scale (c) of the distribution. Range: c > 0.

#### doubleSkewness get;

Gets the skewness of the distribution.
Throws a not supported exception of `Alpha` != 2.

#### doubleStdDev get;

Gets the standard deviation of the distribution.

#### doubleVariance get;

Gets the variance of the distribution.