One would think I should be able answer the question I pose in the title for myself by reading the Documentation Center article ref/SeedRandom, but it's not so simple.
That article does give a list of generators, namely
- "Congruential", "ExtendedCA", 'Legacy", "MersenneTwister", "MKL", "Rule30CA"
Generators offered by the auto-completion system
One, of course, tells Mathematica which pseudo-random number generator to use by giving the Method
option to SeedRandom
. If I avail myself of the auto-completion facility, I can get the following four completions for the Method
option of SeedRandom
. I tried all of them.
SeedRandom[Method -> "MersenneTwister"]; (* works *)
SeedRandom[Method -> {"Sobol", "Dimension" -> 2}]; (* does not work *)
SeedRandom[Method -> {"MKL", Method -> "MCG59"}]; (* works *)
SeedRandom[Method -> {"Niederreiter", "Dimension" -> 2}]; (* does not work *)
I believe the two completions that don't work indicate a bug in the files supporting the auto-completion algorithm, but that's not the issue here. What's relevant here is the generator, {"MKL", Method -> "MCG59"}. Is this generator in any way distinct from "MKL"?
Generators suggested by SeedRandom::nogen
A SeedRandom
call specifying an invalid generator method emits the message SeedRandom::nogen
which offers the user a helpful list of valid generators, namely
- "ParallelGenerator", "Lattice", "Congruential", "ParallelMersenneTwister", "MersenneTwister", "MKL", "Rule30CA", "Rule50025CA', "ExtendedCA", "Legacy"
This list contains generators not offered by auto-completion and even some not mentioned in the Documentation Center articles ref/SeedRandom and tutorial/RandomNumberGeneration. It even mentions some not mentioned in the answers to a related question.
Are there more?
I'm left wondering if there are still more pseudo-random number generators than the ones I uncovered during my little adventure with the Method
option of SeedRandom
.