Class MultipleRecursiveGeneratorLEcuyer

java.lang.Object
org.drip.measure.crng.MultipleRecursiveGeneratorLEcuyer
All Implemented Interfaces:
RecursiveGenerator

public class MultipleRecursiveGeneratorLEcuyer
extends java.lang.Object
implements RecursiveGenerator
MultipleRecursiveGeneratorLEcuyer - L'Ecuyer's Multiple Recursive Generator - combines Multiple Recursive Sequences to produce a Large State Space with good Randomness Properties. MRG32k3a is a special Type of MultipleRecursiveGeneratorLEcuyer.

Author:
Lakshmi Krishnamurthy
  • Constructor Summary

    Constructors
    Constructor Description
    MultipleRecursiveGeneratorLEcuyer​(long lY1Prev, long lY1PrevPrev, long lY1PrevPrevPrev, long lY2Prev, long lY2PrevPrev, long lY2PrevPrevPrev, long lA12, long lA13, long lA21, long lA23, long lM1, long lM2)
    MultipleRecursiveGeneratorLEcuyer Constructor
  • Method Summary

    Modifier and Type Method Description
    long a12()
    Retrieve A12
    long a13()
    Retrieve A13
    long a21()
    Retrieve A21
    long a23()
    Retrieve A23
    long m1()
    Retrieve M1
    long m2()
    Retrieve M2
    static MultipleRecursiveGeneratorLEcuyer MRG32k3a()
    Generate the MRG32k3a Variant of the L'Ecuyer's Multiple Recursive Generator
    long next()
    Generate the Next Number in the Sequence
    long y1Prev()
    Retrieve Y1 Previous
    long y1PrevPrev()
    Retrieve Y1 Previous Previous
    long y1PrevPrevPrev()
    Retrieve Y1 Previous Previous Previous
    long y2Prev()
    Retrieve Y2 Previous
    long y2PrevPrev()
    Retrieve Y2 Previous Previous
    long y2PrevPrevPrev()
    Retrieve Y2 Previous Previous Previous

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • MultipleRecursiveGeneratorLEcuyer

      public MultipleRecursiveGeneratorLEcuyer​(long lY1Prev, long lY1PrevPrev, long lY1PrevPrevPrev, long lY2Prev, long lY2PrevPrev, long lY2PrevPrevPrev, long lA12, long lA13, long lA21, long lA23, long lM1, long lM2) throws java.lang.Exception
      MultipleRecursiveGeneratorLEcuyer Constructor
      Parameters:
      lY1Prev - Y1 Previous
      lY1PrevPrev - Y1 Previous Previous
      lY1PrevPrevPrev - Y1 Previous Previous Previous
      lY2Prev - Y2 Previous
      lY2PrevPrev - Y2 Previous Previous
      lY2PrevPrevPrev - Y2 Previous Previous Previous
      lA12 - A12
      lA13 - A13
      lA21 - A21
      lA23 - A23
      lM1 - M1
      lM2 - M2
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • MRG32k3a

      public static final MultipleRecursiveGeneratorLEcuyer MRG32k3a()
      Generate the MRG32k3a Variant of the L'Ecuyer's Multiple Recursive Generator
      Returns:
      The MRG32k3a Variant of the L'Ecuyer's Multiple Recursive Generator
    • m1

      public long m1()
      Retrieve M1
      Returns:
      M1
    • m2

      public long m2()
      Retrieve M2
      Returns:
      M2
    • a12

      public long a12()
      Retrieve A12
      Returns:
      A12
    • a13

      public long a13()
      Retrieve A13
      Returns:
      A13
    • a21

      public long a21()
      Retrieve A21
      Returns:
      A21
    • a23

      public long a23()
      Retrieve A23
      Returns:
      A23
    • y1Prev

      public long y1Prev()
      Retrieve Y1 Previous
      Returns:
      Y1 Previous
    • y1PrevPrev

      public long y1PrevPrev()
      Retrieve Y1 Previous Previous
      Returns:
      Y1 Previous Previous
    • y1PrevPrevPrev

      public long y1PrevPrevPrev()
      Retrieve Y1 Previous Previous Previous
      Returns:
      Y1 Previous Previous Previous
    • y2Prev

      public long y2Prev()
      Retrieve Y2 Previous
      Returns:
      Y2 Previous
    • y2PrevPrev

      public long y2PrevPrev()
      Retrieve Y2 Previous Previous
      Returns:
      Y2 Previous Previous
    • y2PrevPrevPrev

      public long y2PrevPrevPrev()
      Retrieve Y2 Previous Previous Previous
      Returns:
      Y2 Previous Previous Previous
    • next

      public long next()
      Description copied from interface: RecursiveGenerator
      Generate the Next Number in the Sequence
      Specified by:
      next in interface RecursiveGenerator
      Returns:
      The Next Number in the Sequence