Uploaded image for project: 'Commons Math'
  1. Commons Math
  2. MATH-419

adding WELL random generators

    XMLWordPrintableJSON

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.1
    • Fix Version/s: 2.2
    • Labels:
      None

      Description

      Up to 2.1, we have few pseudo random number generators. We have an interface RandomGenerator implemented by three classes:

      • JDKRandomGenerator that extends the JDK provided generator
      • AbstractRandomGenerator as a helper for users generators
      • BitStreamGenerator which in turn is extended only by MersenneTwister

      The JDK provided generator is a simple one that can be used only for very simple needs. The Mersenne Twister is on the other hand a fast generator with good properties well suited for Monte-Carlo simulation. It is equidistributed for generating vectors up to dimension 623 and has a huge period: 219937 - 1.

      Since Mersenne-Twister inception in 1997, some new generators have been created, retaining the good properties of Mersenne twister but removing some of its (few) drawbacks. The main one is that if initialized with a bits pool containing lots of zeroes, the pool will take a very long time time to stabilize with a roughly balanced number of zeros and ones.

      I would like to add such generators (well, I already did but can withdraw my commit). The ones I want to add are the WELL generators (Well Equidistributed Long period Linear) created by Fran├žois Panneton, Pierre L'Ecuyer and Makoto Matsumoto. They are described in their 2006 paper: Improved Long-Period Generators Based on Linear Recurrences Modulo 2, ransactions on Mathematical Software, 32, 1 (2006) which is available at http://www.iro.umontreal.ca/~lecuyer/myftp/papers/wellrng.pdf.

        Attachments

          Activity

            People

            • Assignee:
              luc Luc Maisonobe
              Reporter:
              luc Luc Maisonobe
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: