StableDistributionBase Type

Represents the base of all StableDistributions classes in different parametrizations.

Constructors

Constructor Description

StableDistributionBase(generator)

Full Usage: StableDistributionBase(generator)

Parameters:
    generator : Generator - The random number generator used.

Initializes a new instance of the StableDistributionBase class.

generator : Generator

The random number generator used.

Instance members

Instance member Description

this.Maximum

Full Usage: this.Maximum

Returns: float
Modifiers: abstract

Gets the maximum possible value of distributed random numbers.

Returns: float

this.Mean

Full Usage: this.Mean

Returns: float
Modifiers: abstract

Gets the mean of distributed random numbers.

Returns: float

this.Median

Full Usage: this.Median

Returns: float
Modifiers: abstract

Gets the median of distributed random numbers.

Returns: float

this.Minimum

Full Usage: this.Minimum

Returns: float
Modifiers: abstract

Gets the minimum possible value of distributed random numbers.

Returns: float

this.Mode

Full Usage: this.Mode

Returns: float[]
Modifiers: abstract

Gets the mode of distributed random numbers.

Returns: float[]

this.NextDouble

Full Usage: this.NextDouble

Returns: float A distributed double-precision floating point number.
Modifiers: abstract

Returns a distributed floating point random number.

Returns: float

A distributed double-precision floating point number.

this.Variance

Full Usage: this.Variance

Returns: float
Modifiers: abstract

Gets the variance of distributed random numbers.

Returns: float

Static members

Static member Description

StableDistributionBase.BetaFromAlphaGammaAga(alpha, gamma, aga, abe)

Full Usage: StableDistributionBase.BetaFromAlphaGammaAga(alpha, gamma, aga, abe)

Parameters:
    alpha : float
    gamma : float
    aga : float
    abe : byref<float>

Returns: float

alpha : float
gamma : float
aga : float
abe : byref<float>
Returns: float

StableDistributionBase.BracketRootByExtensionOnly(func, ysearch, x0, x1)

Full Usage: StableDistributionBase.BracketRootByExtensionOnly(func, ysearch, x0, x1)

Parameters:
    func : Func<float, float> - The function used to evaluate the function values.
    ysearch : float - The value to find.
    x0 : byref<float> - Starting parameter of x0, at the end the lower value of the bracket interval.
    x1 : byref<float> - Starting parameter of x1, at the end the upper value of the bracket interval.

Returns: bool True if a bracket interval was found. If such an interval could not be found, the return value is false.

Find the bracket of a root, i.e. values for x0 and x1, so that ysearch is inbetween f(x0) and f(x1). This is done be extension of the interval [x0,x1] either to the left or the right side or both. True is returned when a bracket was found.

func : Func<float, float>

The function used to evaluate the function values.

ysearch : float

The value to find.

x0 : byref<float>

Starting parameter of x0, at the end the lower value of the bracket interval.

x1 : byref<float>

Starting parameter of x1, at the end the upper value of the bracket interval.

Returns: bool

True if a bracket interval was found. If such an interval could not be found, the return value is false.

StableDistributionBase.CosXPiBy2(x)

Full Usage: StableDistributionBase.CosXPiBy2(x)

Parameters:
    x : float - Argument x.

Returns: float Cos(x*Pi/2) with high accuracy.

Calculates the cosine of x times Pi/2 with increased accuracy.

x : float

Argument x.

Returns: float

Cos(x*Pi/2) with high accuracy.

StableDistributionBase.GetAbeFromBeta(beta)

Full Usage: StableDistributionBase.GetAbeFromBeta(beta)

Parameters:
    beta : float - The beta value.

Returns: float If beta is >= 0, the return value is (1-beta). Else, if beta is <0, the return value is (1+beta).

Calculates the 'alternative beta' value abe from the skewness parameter beta. The value abe helps to specifiy beta with enhanced accuracy especially when |beta| is close to 1. Of course, this helper function is only intended to give a correct abe value for a given beta. But in order to specify beta with enhanced accuracy around |beta|=1, you should specify abe first, and then calculate beta from abe, which can be done with StableDistributionBase.GetBetaFromAbe.

beta : float

The beta value.

Returns: float

If beta is >= 0, the return value is (1-beta). Else, if beta is <0, the return value is (1+beta).

StableDistributionBase.GetBetaFromAbe(abe, isBetaNegative)

Full Usage: StableDistributionBase.GetBetaFromAbe(abe, isBetaNegative)

Parameters:
    abe : float - 'Alternative beta' value. It is defined as (1-beta) for beta>=0, and as (1+beta) for beta<0. Thus, abe is a value in the range [0,1].
    isBetaNegative : bool - Specifies the sign of the original beta value. If false, the original beta is a nonnegative value. Of true, the original beta is negative.

Returns: float The skewness parameter beta (range: [-1,1]) as calculated from the 'alternative beta' value abe.

Gets the skewness parameter beta (range: [-1,1]) from the 'alternative beta' value abe.

abe : float

'Alternative beta' value. It is defined as (1-beta) for beta>=0, and as (1+beta) for beta<0. Thus, abe is a value in the range [0,1].

isBetaNegative : bool

Specifies the sign of the original beta value. If false, the original beta is a nonnegative value. Of true, the original beta is negative.

Returns: float

The skewness parameter beta (range: [-1,1]) as calculated from the 'alternative beta' value abe.

StableDistributionBase.OneMinusExp(x)

Full Usage: StableDistributionBase.OneMinusExp(x)

Parameters:
    x : float - Function argument

Returns: float 1-Exp(x)

Calculates 1-Exp(x) with more accuracy around x=0.

If |x| is smaller than StableDistributionBase.OneMinusExp_SmallBound, the series expansion of (1-Exp(x)) is used for calculation.

If |x| is greater than or equal to StableDistributionBase.OneMinusExp_SmallBound, the standard way of evaluation is used.

x : float

Function argument

Returns: float

1-Exp(x)

StableDistributionBase.ParameterConversionFellerToS0(alpha, gamma, aga, sigmaf, muf, beta, abe, sigma0, mu0)

Full Usage: StableDistributionBase.ParameterConversionFellerToS0(alpha, gamma, aga, sigmaf, muf, beta, abe, sigma0, mu0)

Parameters:
    alpha : float
    gamma : float
    aga : float
    sigmaf : float
    muf : float
    beta : byref<float>
    abe : byref<float>
    sigma0 : byref<float>
    mu0 : byref<float>

alpha : float
gamma : float
aga : float
sigmaf : float
muf : float
beta : byref<float>
abe : byref<float>
sigma0 : byref<float>
mu0 : byref<float>

StableDistributionBase.ParameterConversionFellerToS1(alpha, gamma, aga, sigmaf, muf, beta, abe, sigma1, mu1)

Full Usage: StableDistributionBase.ParameterConversionFellerToS1(alpha, gamma, aga, sigmaf, muf, beta, abe, sigma1, mu1)

Parameters:
    alpha : float
    gamma : float
    aga : float
    sigmaf : float
    muf : float
    beta : byref<float>
    abe : byref<float>
    sigma1 : byref<float>
    mu1 : byref<float>

alpha : float
gamma : float
aga : float
sigmaf : float
muf : float
beta : byref<float>
abe : byref<float>
sigma1 : byref<float>
mu1 : byref<float>

StableDistributionBase.ParameterConversionS0ToFeller(alpha, beta, abe, sigma0, mu0, gamma, aga, sigmaf, muf)

Full Usage: StableDistributionBase.ParameterConversionS0ToFeller(alpha, beta, abe, sigma0, mu0, gamma, aga, sigmaf, muf)

Parameters:
    alpha : float
    beta : float
    abe : float
    sigma0 : float
    mu0 : float
    gamma : byref<float>
    aga : byref<float>
    sigmaf : byref<float>
    muf : byref<float>

alpha : float
beta : float
abe : float
sigma0 : float
mu0 : float
gamma : byref<float>
aga : byref<float>
sigmaf : byref<float>
muf : byref<float>

StableDistributionBase.ParameterConversionS0ToS1(alpha, beta, sigma0, mu0, mu1)

Full Usage: StableDistributionBase.ParameterConversionS0ToS1(alpha, beta, sigma0, mu0, mu1)

Parameters:
    alpha : float
    beta : float
    sigma0 : float
    mu0 : float
    mu1 : byref<float>

alpha : float
beta : float
sigma0 : float
mu0 : float
mu1 : byref<float>

StableDistributionBase.ParameterConversionS1ToFeller(alpha, beta, abe, sigma1, mu1, gamma, aga, sigmaf, muf)

Full Usage: StableDistributionBase.ParameterConversionS1ToFeller(alpha, beta, abe, sigma1, mu1, gamma, aga, sigmaf, muf)

Parameters:
    alpha : float
    beta : float
    abe : float
    sigma1 : float
    mu1 : float
    gamma : byref<float>
    aga : byref<float>
    sigmaf : byref<float>
    muf : byref<float>

alpha : float
beta : float
abe : float
sigma1 : float
mu1 : float
gamma : byref<float>
aga : byref<float>
sigmaf : byref<float>
muf : byref<float>

StableDistributionBase.ParameterConversionS1ToS0(alpha, beta, sigma1, mu1, mu0)

Full Usage: StableDistributionBase.ParameterConversionS1ToS0(alpha, beta, sigma1, mu1, mu0)

Parameters:
    alpha : float
    beta : float
    sigma1 : float
    mu1 : float
    mu0 : byref<float>

alpha : float
beta : float
sigma1 : float
mu1 : float
mu0 : byref<float>

StableDistributionBase.PowerOfOnePlusXSquared(x, pow)

Full Usage: StableDistributionBase.PowerOfOnePlusXSquared(x, pow)

Parameters:
    x : float - Argument x.
    pow : float - Power.

Returns: float The value (1+x²)^pow with increased accuary.

Calculates (1+x²)^pow with increased accuracy, for both small and big values of |x|.

x : float

Argument x.

pow : float

Power.

Returns: float

The value (1+x²)^pow with increased accuary.

StableDistributionBase.SinXPiBy2(x)

Full Usage: StableDistributionBase.SinXPiBy2(x)

Parameters:
    x : float - Argument x.

Returns: float Sin(x*Pi/2) with high accuracy.

Calculates the sine of x times Pi/2 with increased accuracy.

x : float

Argument x.

Returns: float

Sin(x*Pi/2) with high accuracy.