Package org.apache.commons.math3.random

# Class StableRandomGenerator

java.lang.Object
org.apache.commons.math3.random.StableRandomGenerator

All Implemented Interfaces:
  `NormalizedRandomGenerator`

public class StableRandomGenerator extends Object implements NormalizedRandomGenerator

This class provides a stable normalized random generator. It samples from a stable distribution with location parameter 0 and scale 1.

The implementation uses the Chambers-Mallows-Stuck method as described in Handbook of computational statistics: concepts and methods by James E. Gentle, Wolfgang Härdle, Yuichi Mori.

Since:
  3.0

## Constructor Summary

Constructors
Constructor
Description
`StableRandomGenerator(RandomGenerator generator, double alpha, double beta)`
Create a new generator.

## Method Summary

Modifier and Type
Method
Description
`double`
`nextNormalizedDouble()`
Generate a random scalar with zero location and unit scale.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### StableRandomGenerator

public StableRandomGenerator(RandomGenerator generator, double alpha, double beta) throws NullArgumentException, OutOfRangeException
Create a new generator.

Parameters:
  `generator` - underlying random generator to use
  `alpha` - Stability parameter. Must be in range (0, 2]
  `beta` - Skewness parameter. Must be in range [-1, 1]
Throws:
  `NullArgumentException` - if generator is null
  `OutOfRangeException` - if `alpha <= 0` or `alpha > 2` or `beta < -1` or `beta > 1`

## Method Details

### nextNormalizedDouble

public double nextNormalizedDouble()
Generate a random scalar with zero location and unit scale.

Specified by:
  `nextNormalizedDouble` in interface `NormalizedRandomGenerator`
Returns:
  a random scalar with zero location and unit scale