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
  Version:
    $Id: StableRandomGenerator.java 1538368 2013-11-03 13:57:37Z erans $

- - ### Constructor Summary

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

  - ### Method Summary

    Methods
    Modifier and Type | Method and 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 Detail

    - #### 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 Detail

    - #### 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

Copyright © 2003–2014 The Apache Software Foundation. All rights reserved.