# Rayleigh

Rayleigh distribution constructor.

## Usage

``````var Rayleigh = require( '@stdlib/math/base/dists/rayleigh/ctor' );
``````

#### Rayleigh( [sigma] )

Returns an Rayleigh distribution object.

``````var rayleigh = new Rayleigh();

var mu = rayleigh.mean;
// returns ~1.253
``````

By default, `sigma = 1.0`. To create a distribution having a different scale parameter `sigma`, provide a parameter value.

``````var rayleigh = new Rayleigh( 4.0 );

var mu = rayleigh.mean;
// returns ~5.013
``````

## rayleigh

A Rayleigh distribution object has the following properties and methods...

### Writable Properties

#### rayleigh.sigma

Scale parameter of the distribution. `sigma` must be a positive number.

``````var rayleigh = new Rayleigh( 2.0 );

var sigma = rayleigh.sigma;
// returns 2.0

rayleigh.sigma = 3.0;

sigma = rayleigh.sigma;
// returns 3.0
``````

### Computed Properties

#### Rayleigh.prototype.entropy

Returns the differential entropy.

``````var rayleigh = new Rayleigh( 4.0 );

var entropy = rayleigh.entropy;
// returns ~2.328
``````

#### Rayleigh.prototype.kurtosis

Returns the excess kurtosis.

``````var rayleigh = new Rayleigh( 4.0 );

var kurtosis = rayleigh.kurtosis;
// returns ~0.245
``````

#### Rayleigh.prototype.mean

Returns the median.

``````var rayleigh = new Rayleigh( 4.0 );

var mu = rayleigh.mean;
// returns ~5.013
``````

#### Rayleigh.prototype.median

Returns the median.

``````var rayleigh = new Rayleigh( 4.0 );

var median = rayleigh.median;
// returns ~4.71
``````

#### Rayleigh.prototype.mode

Returns the mode.

``````var rayleigh = new Rayleigh( 4.0 );

var mode = rayleigh.mode;
// returns 4.0
``````

#### Rayleigh.prototype.skewness

Returns the skewness.

``````var rayleigh = new Rayleigh( 4.0 );

var skewness = rayleigh.skewness;
// returns ~0.631
``````

#### Rayleigh.prototype.stdev

Returns the standard deviation.

``````var rayleigh = new Rayleigh( 4.0 );

var s = rayleigh.stdev;
// returns ~2.62
``````

#### Rayleigh.prototype.variance

Returns the variance.

``````var rayleigh = new Rayleigh( 4.0 );

var s2 = rayleigh.variance;
// returns ~6.867
``````

### Methods

#### Rayleigh.prototype.cdf( x )

Evaluates the cumulative distribution function (CDF).

``````var rayleigh = new Rayleigh( 2.0 );

var y = rayleigh.cdf( 1.5 );
// returns ~0.245
``````

#### Rayleigh.prototype.logcdf( x )

Evaluates the natural logarithm of the cumulative distribution function (CDF).

``````var rayleigh = new Rayleigh( 2.0 );

var y = rayleigh.logcdf( 1.5 );
// returns ~-1.406
``````

#### Rayleigh.prototype.logpdf( x )

Evaluates the natural logarithm of the probability density function (PDF).

``````var rayleigh = new Rayleigh( 2.0 );

var y = rayleigh.logpdf( 0.8 );
// returns ~-1.689
``````

#### Rayleigh.prototype.mgf( t )

Evaluates the moment-generating function (MGF).

``````var rayleigh = new Rayleigh( 2.0 );

var y = rayleigh.mgf( 0.5 );
// returns ~5.586
``````

#### Rayleigh.prototype.pdf( x )

Evaluates the probability density function (PDF).

``````var rayleigh = new Rayleigh( 2.0 );

var y = rayleigh.pdf( 0.8 );
// returns ~0.185
``````

#### Rayleigh.prototype.quantile( p )

Evaluates the quantile function at probability `p`.

``````var rayleigh = new Rayleigh( 2.0 );

var y = rayleigh.quantile( 0.5 );
// returns ~2.355

y = quantile( 1.9 );
// returns NaN
``````

## Examples

``````var Rayleigh = require( '@stdlib/math/base/dists/rayleigh/ctor' );

var rayleigh = new Rayleigh( 2.0, 4.0 );

var mu = rayleigh.mean;
// returns ~2.507

var mode = rayleigh.mode;
// returns 2.0

var s2 = rayleigh.variance;
// returns ~1.717

var y = rayleigh.cdf( 0.8 );
// returns ~0.077
``````