MersenneTwister

E440656

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

All labels observed (8)

How this entity was disambiguated

Statements (50)

Predicate Object
instanceOf PRNG algorithm ⓘ
pseudorandom number generator ⓘ
basedOn Mersenne prime 2^19937 − 1 ⓘ
designedBy Makoto Matsumoto ⓘ
Takuji Nishimura ⓘ
designYear 1997 ⓘ
hasAbbreviation MT ⓘ
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 ⓘ
linked to: MersenneTwister
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 ⓘ
linked to: MersenneTwister
hasPublicationYear 1998 ⓘ
hasSeedingRequirement requires 624 32-bit integers for full state (MT19937) ⓘ
hasStateSizeBits 19937 ⓘ
hasStateVectorLength 624 ⓘ
hasVariant MT19937 ⓘ
linked to: MersenneTwister

MT19937-64 ⓘ
linked to: MersenneTwister

TinyMT ⓘ
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 ⓘ
C++ ⓘ
Java ⓘ
Python ⓘ
many other programming languages ⓘ
isNotRecommendedFor cryptographic applications ⓘ
isPublishedIn ACM Transactions on Modeling and Computer Simulation ⓘ
isUsedIn C++ standard library <random> as std::mt19937 ⓘ
linked to: MersenneTwister

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 ⓘ

How these facts were elicited

Referenced by (11)

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 → Mersenne Twister ⓘ
linked to: MersenneTwister
Mersenne Twister → hasFullName → Mersenne Twister pseudorandom number generator ⓘ
subject linked to: MersenneTwister
linked to: MersenneTwister
Mersenne Twister → hasVariant → MT19937 ⓘ
subject linked to: MersenneTwister
linked to: MersenneTwister
Mersenne Twister → hasVariant → MT19937-64 ⓘ
subject linked to: MersenneTwister
linked to: MersenneTwister
Mersenne Twister → isUsedIn → C++ standard library <random> as std::mt19937 ⓘ
subject linked to: MersenneTwister
linked to: MersenneTwister
Mersenne Twister → hasPublicationTitle → Mersenne Twister: A 623-dimensionally equidistributed uniform pseudorandom number generator ⓘ
subject linked to: MersenneTwister
linked to: MersenneTwister
Mersenne → hasEponymousConcept → Mersenne twister ⓘ
linked to: MersenneTwister
MRG32k3a generator → isAlternativeTo → Mersenne Twister ⓘ
linked to: MersenneTwister