| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html" charset="UTF-8"> |
| <title>org.apache.commons.math3.random (Apache Commons Math 3.3 API)</title> |
| <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style"> |
| </head> |
| <body> |
| <script type="text/javascript"><!-- |
| if (location.href.indexOf('is-external=true') == -1) { |
| parent.document.title="org.apache.commons.math3.random (Apache Commons Math 3.3 API)"; |
| } |
| //--> |
| </script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="topNav"><a name="navbar_top"> |
| <!-- --> |
| </a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../../overview-summary.html">Overview</a></li> |
| <li class="navBarCell1Rev">Package</li> |
| <li>Class</li> |
| <li><a href="package-use.html">Use</a></li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../../help-doc.html">Help</a></li> |
| </ul> |
| <div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div> |
| </div> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li><a href="../../../../../org/apache/commons/math3/primes/package-summary.html">Prev Package</a></li> |
| <li><a href="../../../../../org/apache/commons/math3/special/package-summary.html">Next Package</a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../index.html?org/apache/commons/math3/random/package-summary.html" target="_top">Frames</a></li> |
| <li><a href="package-summary.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_top"> |
| <li><a href="../../../../../allclasses-noframe.html">All Classes</a></li> |
| </ul> |
| <div> |
| <script type="text/javascript"><!-- |
| allClassesLink = document.getElementById("allclasses_navbar_top"); |
| if(window==top) { |
| allClassesLink.style.display = "block"; |
| } |
| else { |
| allClassesLink.style.display = "none"; |
| } |
| //--> |
| </script> |
| </div> |
| <a name="skip-navbar_top"> |
| <!-- --> |
| </a></div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| <div class="header"> |
| <h1 title="Package" class="title">Package org.apache.commons.math3.random</h1> |
| <div class="docSummary"> |
| <div class="block">Random number and random data generators.</div> |
| </div> |
| <p>See: <a href="#package_description">Description</a></p> |
| </div> |
| <div class="contentContainer"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <table class="packageSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation"> |
| <caption><span>Interface Summary</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Interface</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| <tbody> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/NormalizedRandomGenerator.html" title="interface in org.apache.commons.math3.random">NormalizedRandomGenerator</a></td> |
| <td class="colLast"> |
| <div class="block">This interface represent a normalized random generator for |
| scalars.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/RandomData.html" title="interface in org.apache.commons.math3.random">RandomData</a></td> |
| <td class="colLast">Deprecated |
| <div class="block"><i>to be removed in 4.0.</i></div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a></td> |
| <td class="colLast"> |
| <div class="block">Interface extracted from <code>java.util.Random</code>.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/RandomVectorGenerator.html" title="interface in org.apache.commons.math3.random">RandomVectorGenerator</a></td> |
| <td class="colLast"> |
| <div class="block">This interface represents a random generator for whole vectors.</div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </li> |
| <li class="blockList"> |
| <table class="packageSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation"> |
| <caption><span>Class Summary</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Class</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| <tbody> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html" title="class in org.apache.commons.math3.random">AbstractRandomGenerator</a></td> |
| <td class="colLast"> |
| <div class="block">Abstract class implementing the <a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random"><code>RandomGenerator</code></a> interface.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/AbstractWell.html" title="class in org.apache.commons.math3.random">AbstractWell</a></td> |
| <td class="colLast"> |
| <div class="block">This abstract class implements the WELL class of pseudo-random number generator |
| from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html" title="class in org.apache.commons.math3.random">BitsStreamGenerator</a></td> |
| <td class="colLast"> |
| <div class="block">Base class for random number generators that generates bits streams.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/CorrelatedRandomVectorGenerator.html" title="class in org.apache.commons.math3.random">CorrelatedRandomVectorGenerator</a></td> |
| <td class="colLast"> |
| <div class="block">A <a href="../../../../../org/apache/commons/math3/random/RandomVectorGenerator.html" title="interface in org.apache.commons.math3.random"><code>RandomVectorGenerator</code></a> that generates vectors with with |
| correlated components.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/EmpiricalDistribution.html" title="class in org.apache.commons.math3.random">EmpiricalDistribution</a></td> |
| <td class="colLast"> |
| <div class="block">Represents an <a href="http://http://en.wikipedia.org/wiki/Empirical_distribution_function"> |
| empirical probability distribution</a> -- a probability distribution derived |
| from observed data without making any assumptions about the functional form |
| of the population distribution that the data come from.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/GaussianRandomGenerator.html" title="class in org.apache.commons.math3.random">GaussianRandomGenerator</a></td> |
| <td class="colLast"> |
| <div class="block">This class is a gaussian normalized random generator for scalars.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/HaltonSequenceGenerator.html" title="class in org.apache.commons.math3.random">HaltonSequenceGenerator</a></td> |
| <td class="colLast"> |
| <div class="block">Implementation of a Halton sequence.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/ISAACRandom.html" title="class in org.apache.commons.math3.random">ISAACRandom</a></td> |
| <td class="colLast"> |
| <div class="block"><a href="http://burtleburtle.net/bob/rand/isaacafa.html"> |
| ISAAC: a fast cryptographic pseudo-random number generator</a> |
| <br/> |
| ISAAC (Indirection, Shift, Accumulate, Add, and Count) generates 32-bit |
| random numbers.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/JDKRandomGenerator.html" title="class in org.apache.commons.math3.random">JDKRandomGenerator</a></td> |
| <td class="colLast"> |
| <div class="block">Extension of <code>java.util.Random</code> to implement |
| <a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random"><code>RandomGenerator</code></a>.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/MersenneTwister.html" title="class in org.apache.commons.math3.random">MersenneTwister</a></td> |
| <td class="colLast"> |
| <div class="block">This class implements a powerful pseudo-random number generator |
| developed by Makoto Matsumoto and Takuji Nishimura during |
| 1996-1997.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/RandomAdaptor.html" title="class in org.apache.commons.math3.random">RandomAdaptor</a></td> |
| <td class="colLast"> |
| <div class="block">Extension of <code>java.util.Random</code> wrapping a |
| <a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random"><code>RandomGenerator</code></a>.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/RandomDataGenerator.html" title="class in org.apache.commons.math3.random">RandomDataGenerator</a></td> |
| <td class="colLast"> |
| <div class="block">Implements the <a href="../../../../../org/apache/commons/math3/random/RandomData.html" title="interface in org.apache.commons.math3.random"><code>RandomData</code></a> interface using a <a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random"><code>RandomGenerator</code></a> |
| instance to generate non-secure data and a <a href="http://docs.oracle.com/javase/6/docs/api/java/security/SecureRandom.html?is-external=true" title="class or interface in java.security"><code>SecureRandom</code></a> |
| instance to provide data for the <code>nextSecureXxx</code> methods.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/RandomDataImpl.html" title="class in org.apache.commons.math3.random">RandomDataImpl</a></td> |
| <td class="colLast">Deprecated |
| <div class="block"><i>to be removed in 4.0.</i></div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/RandomGeneratorFactory.html" title="class in org.apache.commons.math3.random">RandomGeneratorFactory</a></td> |
| <td class="colLast"> |
| <div class="block">Utilities for creating <a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random"><code>RandomGenerator</code></a> instances.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/SobolSequenceGenerator.html" title="class in org.apache.commons.math3.random">SobolSequenceGenerator</a></td> |
| <td class="colLast"> |
| <div class="block">Implementation of a Sobol sequence.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/StableRandomGenerator.html" title="class in org.apache.commons.math3.random">StableRandomGenerator</a></td> |
| <td class="colLast"> |
| <div class="block">This class provides a stable normalized random generator.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/SynchronizedRandomGenerator.html" title="class in org.apache.commons.math3.random">SynchronizedRandomGenerator</a></td> |
| <td class="colLast"> |
| <div class="block">Any <a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random"><code>RandomGenerator</code></a> implementation can be thread-safe if it |
| is used through an instance of this class.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/UncorrelatedRandomVectorGenerator.html" title="class in org.apache.commons.math3.random">UncorrelatedRandomVectorGenerator</a></td> |
| <td class="colLast"> |
| <div class="block">A <a href="../../../../../org/apache/commons/math3/random/RandomVectorGenerator.html" title="interface in org.apache.commons.math3.random"><code>RandomVectorGenerator</code></a> that generates vectors with uncorrelated |
| components.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/UniformRandomGenerator.html" title="class in org.apache.commons.math3.random">UniformRandomGenerator</a></td> |
| <td class="colLast"> |
| <div class="block">This class implements a normalized uniform random generator.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/UnitSphereRandomVectorGenerator.html" title="class in org.apache.commons.math3.random">UnitSphereRandomVectorGenerator</a></td> |
| <td class="colLast"> |
| <div class="block">Generate random vectors isotropically located on the surface of a sphere.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/ValueServer.html" title="class in org.apache.commons.math3.random">ValueServer</a></td> |
| <td class="colLast"> |
| <div class="block">Generates values for use in simulation applications.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/Well1024a.html" title="class in org.apache.commons.math3.random">Well1024a</a></td> |
| <td class="colLast"> |
| <div class="block">This class implements the WELL1024a pseudo-random number generator |
| from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/Well19937a.html" title="class in org.apache.commons.math3.random">Well19937a</a></td> |
| <td class="colLast"> |
| <div class="block">This class implements the WELL19937a pseudo-random number generator |
| from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/Well19937c.html" title="class in org.apache.commons.math3.random">Well19937c</a></td> |
| <td class="colLast"> |
| <div class="block">This class implements the WELL19937c pseudo-random number generator |
| from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/Well44497a.html" title="class in org.apache.commons.math3.random">Well44497a</a></td> |
| <td class="colLast"> |
| <div class="block">This class implements the WELL44497a pseudo-random number generator |
| from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/Well44497b.html" title="class in org.apache.commons.math3.random">Well44497b</a></td> |
| <td class="colLast"> |
| <div class="block">This class implements the WELL44497b pseudo-random number generator |
| from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/random/Well512a.html" title="class in org.apache.commons.math3.random">Well512a</a></td> |
| <td class="colLast"> |
| <div class="block">This class implements the WELL512a pseudo-random number generator |
| from François Panneton, Pierre L'Ecuyer and Makoto Matsumoto.</div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </li> |
| </ul> |
| <a name="package_description"> |
| <!-- --> |
| </a> |
| <h2 title="Package org.apache.commons.math3.random Description">Package org.apache.commons.math3.random Description</h2> |
| <div class="block"><p>Random number and random data generators.</p> |
| <p>Commons-math provides a few pseudo random number generators. The top level interface is RandomGenerator. |
| It is implemented by three classes: |
| <ul> |
| <li><a href="../../../../../org/apache/commons/math3/random/JDKRandomGenerator.html" title="class in org.apache.commons.math3.random"><code>JDKRandomGenerator</code></a> |
| that extends the JDK provided generator</li> |
| <li>AbstractRandomGenerator as a helper for users generators</li> |
| <li>BitStreamGenerator which is an abstract class for several generators and |
| which in turn is extended by: |
| <ul> |
| <li><a href="../../../../../org/apache/commons/math3/random/MersenneTwister.html" title="class in org.apache.commons.math3.random"><code>MersenneTwister</code></a></li> |
| <li><a href="../../../../../org/apache/commons/math3/random/Well512a.html" title="class in org.apache.commons.math3.random"><code>Well512a</code></a></li> |
| <li><a href="../../../../../org/apache/commons/math3/random/Well1024a.html" title="class in org.apache.commons.math3.random"><code>Well1024a</code></a></li> |
| <li><a href="../../../../../org/apache/commons/math3/random/Well19937a.html" title="class in org.apache.commons.math3.random"><code>Well19937a</code></a></li> |
| <li><a href="../../../../../org/apache/commons/math3/random/Well19937c.html" title="class in org.apache.commons.math3.random"><code>Well19937c</code></a></li> |
| <li><a href="../../../../../org/apache/commons/math3/random/Well44497a.html" title="class in org.apache.commons.math3.random"><code>Well44497a</code></a></li> |
| <li><a href="../../../../../org/apache/commons/math3/random/Well44497b.html" title="class in org.apache.commons.math3.random"><code>Well44497b</code></a></li> |
| </ul> |
| </li> |
| </ul> |
| </p> |
| |
| <p> |
| The JDK provided generator is a simple one that can be used only for very simple needs. |
| The Mersenne Twister is a fast generator with very good properties well suited for |
| Monte-Carlo simulation. It is equidistributed for generating vectors up to dimension 623 |
| and has a huge period: 2<sup>19937</sup> - 1 (which is a Mersenne prime). This generator |
| is described in a paper by Makoto Matsumoto and Takuji Nishimura in 1998: <a |
| href="http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/ARTICLES/mt.pdf">Mersenne Twister: |
| A 623-Dimensionally Equidistributed Uniform Pseudo-Random Number Generator</a>, ACM |
| Transactions on Modeling and Computer Simulation, Vol. 8, No. 1, January 1998, pp 3--30. |
| The WELL generators are a family of generators with period ranging from 2<sup>512</sup> - 1 |
| to 2<sup>44497</sup> - 1 (this last one is also a Mersenne prime) with even better properties |
| than Mersenne Twister. These generators are described in a paper by François Panneton, |
| Pierre L'Ecuyer and Makoto Matsumoto <a |
| href="http://www.iro.umontreal.ca/~lecuyer/myftp/papers/wellrng.pdf">Improved Long-Period |
| Generators Based on Linear Recurrences Modulo 2</a> ACM Transactions on Mathematical Software, |
| 32, 1 (2006). The errata for the paper are in <a |
| href="http://www.iro.umontreal.ca/~lecuyer/myftp/papers/wellrng-errata.txt">wellrng-errata.txt</a>. |
| </p> |
| |
| <p> |
| For simple sampling, any of these generators is sufficient. For Monte-Carlo simulations the |
| JDK generator does not have any of the good mathematical properties of the other generators, |
| so it should be avoided. The Mersenne twister and WELL generators have equidistribution properties |
| proven according to their bits pool size which is directly linked to their period (all of them |
| have maximal period, i.e. a generator with size n pool has a period 2<sup>n</sup>-1). They also |
| have equidistribution properties for 32 bits blocks up to s/32 dimension where s is their pool size. |
| So WELL19937c for exemple is equidistributed up to dimension 623 (19937/32). This means a Monte-Carlo |
| simulation generating a vector of n variables at each iteration has some guarantees on the properties |
| of the vector as long as its dimension does not exceed the limit. However, since we use bits from two |
| successive 32 bits generated integers to create one double, this limit is smaller when the variables are |
| of type double. so for Monte-Carlo simulation where less the 16 doubles are generated at each round, |
| WELL1024 may be sufficient. If a larger number of doubles are needed a generator with a larger pool |
| would be useful. |
| </p> |
| |
| <p> |
| The WELL generators are more modern then MersenneTwister (the paper describing than has been published |
| in 2006 instead of 1998) and fix some of its (few) drawbacks. If initialization array contains many |
| zero bits, MersenneTwister may take a very long time (several hundreds of thousands of iterations to |
| reach a steady state with a balanced number of zero and one in its bits pool). So the WELL generators |
| are better to <i>escape zeroland</i> as explained by the WELL generators creators. The Well19937a and |
| Well44497a generator are not maximally equidistributed (i.e. there are some dimensions or bits blocks |
| size for which they are not equidistributed). The Well512a, Well1024a, Well19937c and Well44497b are |
| maximally equidistributed for blocks size up to 32 bits (they should behave correctly also for double |
| based on more than 32 bits blocks, but equidistribution is not proven at these blocks sizes). |
| </p> |
| |
| <p> |
| The MersenneTwister generator uses a 624 elements integer array, so it consumes less than 2.5 kilobytes. |
| The WELL generators use 6 integer arrays with a size equal to the pool size, so for example the |
| WELL44497b generator uses about 33 kilobytes. This may be important if a very large number of |
| generator instances were used at the same time. |
| </p> |
| |
| <p> |
| All generators are quite fast. As an example, here are some comparisons, obtained on a 64 bits JVM on a |
| linux computer with a 2008 processor (AMD phenom Quad 9550 at 2.2 GHz). The generation rate for |
| MersenneTwister was about 27 millions doubles per second (remember we generate two 32 bits integers for |
| each double). Generation rates for other PRNG, relative to MersenneTwister: |
| </p> |
| |
| <p> |
| <table border="1" align="center"> |
| <tr BGCOLOR="#CCCCFF"><td colspan="2"><font size="+2">Example of performances</font></td></tr> |
| <tr BGCOLOR="#EEEEFF"><font size="+1"><td>Name</td><td>generation rate (relative to MersenneTwister)</td></font></tr> |
| <tr><td><a href="../../../../../org/apache/commons/math3/random/MersenneTwister.html" title="class in org.apache.commons.math3.random"><code>MersenneTwister</code></a></td><td>1</td></tr> |
| <tr><td><a href="../../../../../org/apache/commons/math3/random/JDKRandomGenerator.html" title="class in org.apache.commons.math3.random"><code>JDKRandomGenerator</code></a></td><td>between 0.96 and 1.16</td></tr> |
| <tr><td><a href="../../../../../org/apache/commons/math3/random/Well512a.html" title="class in org.apache.commons.math3.random"><code>Well512a</code></a></td><td>between 0.85 and 0.88</td></tr> |
| <tr><td><a href="../../../../../org/apache/commons/math3/random/Well1024a.html" title="class in org.apache.commons.math3.random"><code>Well1024a</code></a></td><td>between 0.63 and 0.73</td></tr> |
| <tr><td><a href="../../../../../org/apache/commons/math3/random/Well19937a.html" title="class in org.apache.commons.math3.random"><code>Well19937a</code></a></td><td>between 0.70 and 0.71</td></tr> |
| <tr><td><a href="../../../../../org/apache/commons/math3/random/Well19937c.html" title="class in org.apache.commons.math3.random"><code>Well19937c</code></a></td><td>between 0.57 and 0.71</td></tr> |
| <tr><td><a href="../../../../../org/apache/commons/math3/random/Well44497a.html" title="class in org.apache.commons.math3.random"><code>Well44497a</code></a></td><td>between 0.69 and 0.71</td></tr> |
| <tr><td><a href="../../../../../org/apache/commons/math3/random/Well44497b.html" title="class in org.apache.commons.math3.random"><code>Well44497b</code></a></td><td>between 0.65 and 0.71</td></tr> |
| </table> |
| </p> |
| |
| <p> |
| So for most simulation problems, the better generators like <a href="../../../../../org/apache/commons/math3/random/Well19937c.html" title="class in org.apache.commons.math3.random"><code>Well19937c</code></a> and <a href="../../../../../org/apache/commons/math3/random/Well44497b.html" title="class in org.apache.commons.math3.random"><code>Well44497b</code></a> are probably very good choices. |
| </p> |
| |
| <p> |
| Note that <em>none</em> of these generators are suitable for cryptography. They are devoted |
| to simulation, and to generate very long series with strong properties on the series as a whole |
| (equidistribution, no correlation ...). They do not attempt to create small series but with |
| very strong properties of unpredictability as needed in cryptography. |
| </p></div> |
| </div> |
| <!-- ======= START OF BOTTOM NAVBAR ====== --> |
| <div class="bottomNav"><a name="navbar_bottom"> |
| <!-- --> |
| </a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../../overview-summary.html">Overview</a></li> |
| <li class="navBarCell1Rev">Package</li> |
| <li>Class</li> |
| <li><a href="package-use.html">Use</a></li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../../help-doc.html">Help</a></li> |
| </ul> |
| <div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div> |
| </div> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li><a href="../../../../../org/apache/commons/math3/primes/package-summary.html">Prev Package</a></li> |
| <li><a href="../../../../../org/apache/commons/math3/special/package-summary.html">Next Package</a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../index.html?org/apache/commons/math3/random/package-summary.html" target="_top">Frames</a></li> |
| <li><a href="package-summary.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_bottom"> |
| <li><a href="../../../../../allclasses-noframe.html">All Classes</a></li> |
| </ul> |
| <div> |
| <script type="text/javascript"><!-- |
| allClassesLink = document.getElementById("allclasses_navbar_bottom"); |
| if(window==top) { |
| allClassesLink.style.display = "block"; |
| } |
| else { |
| allClassesLink.style.display = "none"; |
| } |
| //--> |
| </script> |
| </div> |
| <a name="skip-navbar_bottom"> |
| <!-- --> |
| </a></div> |
| <!-- ======== END OF BOTTOM NAVBAR ======= --> |
| <p class="legalCopy"><small>Copyright © 2003–2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> |
| </body> |
| </html> |