## Types in MathNet.Numerics.Distributions

Type Zipf

Namespace MathNet.Numerics.Distributions

Interfaces IDiscreteDistribution

Discrete Univariate Zipf distribution. Zipf's law, an empirical law formulated using mathematical statistics, refers to the fact that many types of data studied in the physical and social sciences can be approximated with a Zipfian distribution, one of a family of related discrete power law probability distributions. For details about this distribution, see.

### Public Constructors

#### Zipf(double s, int n, Random randomSource)

Initializes a new instance of the Zipf class.
##### Parameters
###### `double` s

The s parameter of the distribution.

###### `int` n

The n parameter of the distribution.

###### `Random` randomSource

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

#### Zipf(double s, int n)

Initializes a new instance of the Zipf class.
##### Parameters
###### `double` s

The s parameter of the distribution.

###### `int` n

The n parameter of the distribution.

### Public Static Functions

#### doubleCDF(double s, int n, double x)

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

The s parameter of the distribution.

###### `int` n

The n parameter 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 s, int n)

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

The s parameter of the distribution.

###### `int` n

The n parameter of the distribution.

#### doublePMF(double s, int n, int k)

Computes the probability mass (PMF) at k, i.e. P(X = k).
##### Parameters
###### `double` s

The s parameter of the distribution.

###### `int` n

The n parameter of the distribution.

###### `int` k

The location in the domain where we want to evaluate the probability mass function.

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

the probability mass at location k.

#### doublePMFLn(double s, int n, int k)

Computes the log probability mass (lnPMF) at k, i.e. ln(P(X = k)).
##### Parameters
###### `double` s

The s parameter of the distribution.

###### `int` n

The n parameter of the distribution.

###### `int` k

The location in the domain where we want to evaluate the log probability mass function.

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

the log probability mass at location k.

#### intSample(Random rnd, double s, int n)

Samples a random variable.
##### Parameters
###### `Random` rnd

The random number generator to use.

###### `double` s

The s parameter of the distribution.

###### `int` n

The n parameter of the distribution.

#### intSample(double s, int n)

Samples a random variable.
##### Parameters
###### `double` s

The s parameter of the distribution.

###### `int` n

The n parameter of the distribution.

#### voidSamples(Int32[] values, double s, int n)

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

The array to fill with the samples.

###### `double` s

The s parameter of the distribution.

###### `int` n

The n parameter of the distribution.

#### voidSamples(Random rnd, Int32[] values, double s, int n)

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

The random number generator to use.

###### `Int32[]` values

The array to fill with the samples.

###### `double` s

The s parameter of the distribution.

###### `int` n

The n parameter of the distribution.

#### IEnumerable<int>Samples(Random rnd, double s, int n)

Samples a sequence of this random variable.
##### Parameters
###### `Random` rnd

The random number generator to use.

###### `double` s

The s parameter of the distribution.

###### `int` n

The n parameter of the distribution.

#### IEnumerable<int>Samples(double s, int n)

Samples a sequence of this random variable.
##### Parameters
###### `double` s

The s parameter of the distribution.

###### `int` n

The n parameter of the distribution.

### Public Methods

#### doubleCumulativeDistribution(double x)

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

The location at which to compute the cumulative distribution function.

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

the cumulative distribution at location x.

#### doubleProbability(int k)

Computes the probability mass (PMF) at k, i.e. P(X = k).
##### Parameters
###### `int` k

The location in the domain where we want to evaluate the probability mass function.

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

the probability mass at location k.

#### doubleProbabilityLn(int k)

Computes the log probability mass (lnPMF) at k, i.e. ln(P(X = k)).
##### Parameters
###### `int` k

The location in the domain where we want to evaluate the log probability mass function.

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

the log probability mass at location k.

#### intSample()

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

a sample from the distribution.

#### IEnumerable<int>Samples()

Samples an array of zipf distributed random variables.
##### Return
###### `IEnumerable<int>`

a sequence of samples from the distribution.

#### voidSamples(Int32[] 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

#### doubleEntropy get;

Gets the entropy of the distribution.

#### intMaximum get;

Gets the largest element in the domain of the distributions which can be represented by an integer.

#### doubleMean get;

Gets the mean of the distribution.

#### doubleMedian get;

Gets the median of the distribution.

#### intMinimum get;

Gets the smallest element in the domain of the distributions which can be represented by an integer.

#### intMode get;

Gets the mode of the distribution.

#### intN get;

Gets or sets the n parameter of the distribution.

#### RandomRandomSource get; set;

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

#### doubleS get;

Gets or sets the s parameter of the distribution.

#### doubleSkewness get;

Gets the skewness of the distribution.

#### doubleStdDev get;

Gets the standard deviation of the distribution.

#### doubleVariance get;

Gets the variance of the distribution.