Click or drag to resize

StableDistributionS0 Class

Represents a stable distribution in Nolan's S0 parametrization.
Inheritance Hierarchy

Namespace: Altaxo.Calc.Probability
Assembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3448.0 (4.8.3448.0)
Syntax
C#
public class StableDistributionS0 : StableDistributionBase

The StableDistributionS0 type exposes the following members.

Constructors
 NameDescription
Public methodStableDistributionS0 Creates a new instance of this distribution with default parameters (alpha=1, beta=0) and the default generator.
Public methodStableDistributionS0(Generator) Creates a new instance of this distribution with default parameters (alpha=1, beta=0).
Public methodStableDistributionS0(Double, Double) Creates a new instance of this distribution with given parameters (alpha, beta) and the default random number generator.
Public methodStableDistributionS0(Double, Double, Double) Creates a new instance of this distribution with given parameters (alpha, beta, abe) and the default random number generator.
Public methodStableDistributionS0(Double, Double, Double, Double) Creates a new instance of this distribution with given parameters (alpha, beta, scale, location) and the default random number generator.
Public methodStableDistributionS0(Double, Double, Double, Double, Generator) Creates a new instance of this distribution with given parameters (alpha, beta, scale, location) and the provided random number generator.
Public methodStableDistributionS0(Double, Double, Double, Double, Double) Creates a new instance of this distribution with given parameters (alpha, beta, abe, scale, location) and the default random number generator.
Public methodStableDistributionS0(Double, Double, Double, Double, Double, Generator) Creates a new instance of this distribution with given parameters (alpha, beta, abe, scale, location) and the provided random number generator.
Top
Properties
 NameDescription
Public propertyCanReset Gets a value indicating whether the random number distribution can be reset so that it produces the same random number sequence again.
(Inherited from Distribution)
Public propertyGenerator Gets or sets a Generator object that can be used as the underlying random number generator.
(Inherited from Distribution)
Public propertyMaximumGets the maximum possible value of distributed random numbers.
(Overrides StableDistributionBaseMaximum)
Public propertyMeanGets the mean of distributed random numbers.
(Overrides StableDistributionBaseMean)
Public propertyMedianGets the median of distributed random numbers.
(Overrides StableDistributionBaseMedian)
Public propertyMinimumGets the minimum possible value of distributed random numbers.
(Overrides StableDistributionBaseMinimum)
Public propertyModeGets the mode of distributed random numbers.
(Overrides StableDistributionBaseMode)
Public propertyVarianceGets the variance of distributed random numbers.
(Overrides StableDistributionBaseVariance)
Top
Methods
 NameDescription
Public methodCDF(Double)Calculates the cumulative distribution function.
(Overrides ContinuousDistributionCDF(Double))
Public methodStatic memberCDF(Double, Double, Double) Gets the cumulative distribution function (CDF) of the standardized S0 stable distribution.
Public methodStatic memberCDF(Double, Double, Double, Double) Gets the cumulative distribution function (CDF) of the standardized S0 stable distribution.
Public methodStatic memberCDF(Double, Double, Double, Double, Double) Gets the cumulative distribution function (CDF) for the specified scale and location.
Public methodStatic memberCDF(Double, Double, Double, Object, Double) Gets the cumulative distribution function (CDF) of the standardized S0 stable distribution.
Public methodStatic memberCDF(Double, Double, Double, Double, Double, Double) Gets the cumulative distribution function (CDF) for the specified scale and location.
Public methodStatic memberCDF(Double, Double, Double, Double, Double, Object, Double) Gets the cumulative distribution function (CDF) for the specified scale and location.
Public methodStatic memberCDF(Double, Double, Double, Double, Double, Double, Object, Double) Gets the cumulative distribution function (CDF) for the specified S0 parameters, scale, and location.
Public methodStatic memberCDFMethodAlphaOne Calculates the CDF for the special case alpha = 1.
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
Protected methodGenerateAsymmetricCaseS1 Generates random variates in S1 parametrization for asymmetric cases.
(Inherited from StableDistributionBase)
Protected methodGenerateAsymmetricCaseS1_AEq1 Generates random variates for the asymmetric S1 case when alpha equals 1.
(Inherited from StableDistributionBase)
Protected methodGenerateAsymmetricCaseS1_ANe1 Generates random variates for the asymmetric S1 case when alpha is not equal to 1.
(Inherited from StableDistributionBase)
Protected methodGenerateSymmetricCase Generates a symmetric stable variate for the provided characteristic exponent.
(Inherited from StableDistributionBase)
Public methodStatic memberGetAgt1GnParameter Computes parameters used for the direct integration approach for alpha > 1 (Gn variant).
Public methodStatic memberGetAgt1GpParameter Computes parameters used for the direct integration approach for alpha > 1 (Gp variant).
Public methodStatic memberGetAlt1GnParameter Computes parameters used for the direct integration approach for alpha < 1 (Gn variant).
Public methodStatic memberGetAlt1GpParameter Computes parameters used for the direct integration approach for alpha < 1 (Gp variant).
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodInitialize Initializes this distribution instance with the given parameters.
Public methodStatic memberIsValidAlpha Checks whether alpha is valid for a stable distribution.
Public methodStatic memberIsValidBeta Checks whether beta is valid for a stable distribution.
Public methodStatic memberIsValidMu Checks whether mu is a valid location parameter.
Public methodStatic memberIsValidSigma Checks whether sigma is a valid scale parameter.
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Public methodNextDoubleReturns a distributed floating point random number.
(Overrides StableDistributionBaseNextDouble)
Public methodPDF(Double)Calculates the probability density function.
(Overrides ContinuousDistributionPDF(Double))
Public methodStatic memberPDF(Double, Double, Double) Gets the probability density function (PDF) of the (standardized) S0 stable distribution.
Public methodStatic memberPDF(Double, Double, Double, Double, Double) Gets the probability density function (PDF) for the specified scale and location.
Public methodStatic memberPDF(Double, Double, Double, Object, Double) Gets the probability density function (PDF) of the standardized S0 stable distribution.
Public methodStatic memberPDF(Double, Double, Double, Double, Object, Double) Gets the probability density function (PDF) of the standardized S0 stable distribution.
Public methodStatic memberPDF(Double, Double, Double, Double, Double, Object, Double) Gets the probability density function (PDF) for the specified scale and location.
Public methodStatic memberPDF(Double, Double, Double, Double, Double, Double, Object, Double) Gets the probability density function (PDF) for the specified S0 parameters, scale, and location.
Public methodStatic memberPDFMethodAlphaOne Calculates the PDF for the special case alpha = 1.
Public methodQuantile(Double)Calculates the quantile of the distribution function.
(Overrides ContinuousDistributionQuantile(Double))
Public methodStatic memberQuantile(Double, Double, Double) Gets the quantile (inverse CDF) for the standardized S0 stable distribution.
Public methodStatic memberQuantile(Double, Double, Double, Double) Gets the quantile (inverse CDF) for the standardized S0 stable distribution.
Public methodStatic memberQuantile(Double, Double, Double, Double, Object, Double) Gets the quantile (inverse CDF) for the standardized S0 stable distribution.
Public methodReset Resets the random number distribution so that it produces the same random number sequence again.
(Inherited from Distribution)
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Top
Fields
 NameDescription
Protected field_gen_BHelper variables used for generating the random values.
(Inherited from StableDistributionBase)
Protected field_gen_SHelper variables used for generating the random values.
(Inherited from StableDistributionBase)
Protected field_gen_ScaleHelper variables used for generating the random values.
(Inherited from StableDistributionBase)
Protected field_gen_tHelper variables used for generating the random values.
(Inherited from StableDistributionBase)
Protected fieldgenerator Stores a Generator object that can be used as the underlying random number generator.
(Inherited from Distribution)
Top
Remarks
The characteristic function in Nolan's S0 parametrization is:
C#
log(phi(t))= -scale^alpha |t|^alpha (1+i beta Sign(t) Tan(pi alpha/2) (|scale t|^(1-alpha)-1)) + i location t              (for alpha not equal to 1)
and
C#
log(phi(t)) = -scale |t| (1+i beta Sign(t) (2/pi) Log(scale |t|)) + i location t  (for alpha equal to 1)

Reference: J. P. Nolan, Numerical calculation of stable densities and distribution functions. Communications in Statistics - Stochastic Models, 13, 759-774, 1999

Reference: S. Borak, W. Härdle, R. Weron, Stable distributions. SFB 649 Discussion paper 2005-2008, http://sfb649.wiwi.hu-berlin.de, ISSN 1860-5664

If you are interested in accurate calculations when beta is close to 1 or -1, you should use those functions which allow you to provide the parameter abe. This helps specify beta with higher accuracy close to +1 or -1. For instance, by using abe = 1E-30 and beta = 1, it is possible to specify beta = 1 - 1E-30, which is otherwise impossible with the 64-bit floating-point representation.

See Also