MersenneTwister

E440656

MersenneTwister is a widely used pseudorandom number generator algorithm known for its long period and high-quality statistical properties.

Try in SPARQL Jump to: Surface forms Statements Referenced by

Observed surface forms (1)

Surface form Occurrences
Mersenne Twister 1

Statements (50)

Predicate Object
instanceOf PRNG algorithm
pseudorandom number generator
basedOn Mersenne prime 2^19937 − 1
designedBy Makoto Matsumoto NERFINISHED
Takuji Nishimura NERFINISHED
designYear 1997
hasAbbreviation MT NERFINISHED
hasAlgorithmStep tempering transformation
twist transformation
hasEquidistribution 311-dimensionally equidistributed for 64-bit output (MT19937-64)
623-dimensionally equidistributed for 32-bit output
hasFullName Mersenne Twister pseudorandom number generator NERFINISHED
hasLicense permissive free software license
hasOutputRange [0, 2^32 − 1] for MT19937
[0, 2^64 − 1] for MT19937-64
hasPeriod 2^19937 − 1
hasProperty deterministic
fast generation speed
high-quality statistical properties
long period
not cryptographically secure
hasPublicationTitle Mersenne Twister: A 623-dimensionally equidistributed uniform pseudorandom number generator NERFINISHED
hasPublicationYear 1998
hasSeedingRequirement requires 624 32-bit integers for full state (MT19937)
hasStateSizeBits 19937
hasStateVectorLength 624
hasVariant MT19937 NERFINISHED
MT19937-64 NERFINISHED
TinyMT NERFINISHED
hasWeakness poor behavior in some high-dimensional equidistribution tests for lower bits
predictable output if internal state is recovered
hasWordSizeBits 32
64
influenced development of SIMD-oriented Fast Mersenne Twister (SFMT)
development of TinyMT
isImplementedIn C NERFINISHED
C++ NERFINISHED
Java NERFINISHED
Python NERFINISHED
many other programming languages
isNotRecommendedFor cryptographic applications
isPublishedIn ACM Transactions on Modeling and Computer Simulation NERFINISHED
isUsedIn C++ standard library <random> as std::mt19937 NERFINISHED
MATLAB as one of the RNG options
PHP standard library as default RNG for mt_rand
Python random module (CPython) as core generator before Python 3.12
R programming language as default RNG for many years
Ruby standard library as default RNG
many simulation and Monte Carlo applications
temperingPurpose improve equidistribution of output bits

Referenced by (4)

Full triples — surface form annotated when it differs from this entity's canonical label.

Random exportsFunction MersenneTwister
Random definesType MersenneTwister
Random defaultRNGType MersenneTwister
Blum–Blum–Shub pseudorandom number generator comparedTo MersenneTwister
this entity surface form: Mersenne Twister