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. It provides the following Functionality:
  • Generate the MRG32k3a Variant of the L'Ecuyer's Multiple Recursive Generator
  • MultipleRecursiveGeneratorLEcuyer Constructor
  • Retrieve M1
  • Retrieve M2
  • Retrieve A12
  • Retrieve A13
  • Retrieve A21
  • Retrieve A23
  • Retrieve Y1 Previous
  • Retrieve Y1 Previous Previous
  • Retrieve Y1 Previous Previous Previous
  • Retrieve Y2 Previous
  • Retrieve Y2 Previous Previous
  • Retrieve Y2 Previous Previous Previous
  • Generate the Next Number in the Sequence

Module Computational Core Module
Library Numerical Analysis Library
Project Rd Continuous/Discrete Probability Measures
Package Continuous Random Number Stream Generator

  • Constructor Summary

    Constructors
    Constructor Description
    MultipleRecursiveGeneratorLEcuyer​(long y1Previous, long y1PreviousPrevious, long y1PreviousPreviousPrevious, long y2Previous, long y2PreviousPrevious, long y2PreviousPreviousPrevious, long a12, long a13, long a21, long a23, long m1, long m2)
    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 y1Previous, long y1PreviousPrevious, long y1PreviousPreviousPrevious, long y2Previous, long y2PreviousPrevious, long y2PreviousPreviousPrevious, long a12, long a13, long a21, long a23, long m1, long m2) throws java.lang.Exception
      MultipleRecursiveGeneratorLEcuyer Constructor
      Parameters:
      y1Previous - Y1 Previous
      y1PreviousPrevious - Y1 Previous Previous
      y1PreviousPreviousPrevious - Y1 Previous Previous Previous
      y2Previous - Y2 Previous
      y2PreviousPrevious - Y2 Previous Previous
      y2PreviousPreviousPrevious - Y2 Previous Previous Previous
      a12 - A12
      a13 - A13
      a21 - A21
      a23 - A23
      m1 - M1
      m2 - 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()
      Generate the Next Number in the Sequence
      Specified by:
      next in interface RecursiveGenerator
      Returns:
      The Next Number in the Sequence