Misplaced Pages

Well equidistributed long-period linear

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Family of pseudorandom number generators
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
This article relies largely or entirely on a single source. Relevant discussion may be found on the talk page. Please help improve this article by introducing citations to additional sources.
Find sources: "Well equidistributed long-period linear" – news · newspapers · books · scholar · JSTOR (November 2017)
This article's use of external links may not follow Misplaced Pages's policies or guidelines. Please improve this article by removing excessive or inappropriate external links, and converting useful links where appropriate into footnote references. (November 2017) (Learn how and when to remove this message)
(Learn how and when to remove this message)

The Well Equidistributed Long-period Linear (WELL) is a family of pseudorandom number generators developed in 2006 by François Panneton, Pierre L'Ecuyer, and Makoto Matsumoto (松本 眞). It is a form of linear-feedback shift register optimized for software implementation on a 32-bit machine.

Operational design

The structure is similar to the Mersenne Twister, a large state made up of previous output words (32 bits each), from which a new output word is generated using linear recurrences modulo 2 over a finite binary field F 2 {\displaystyle F_{2}} . However, a more complex recurrence produces a denser generator polynomial, producing better statistical properties.

Each step of the generator reads five words of state: the oldest 32 bits (which may straddle a word boundary if the state size is not a multiple of 32), the newest 32 bits, and three other words in between.

Then a series of eight single-word transformations (mostly of the form x := x ( x k ) {\textstyle x:=x\oplus (x\gg k)} and six exclusive-or operations combine those into two words, which become the newest two words of state, one of which will be the output.

Variants

Specific parameters are provided for the following generators:

  • WELL512a
  • WELL521a, WELL521b
  • WELL607a, WELL607b
  • WELL800a, WELL800b
  • WELL1024a, WELL1024b
  • WELL19937a, WELL19937b, WELL19937c
  • WELL21701a
  • WELL23209a, WELL23209b
  • WELL44497a, WELL44497b.

Numbers give the state size in bits; letter suffixes denote variants of the same size.

Implementations

References

  1. Panneton, François O.; l'Ecuyer, Pierre; Matsumoto, Makoto (March 2006). "Improved long-period generators based on linear recurrences modulo 2" (PDF). ACM Transactions on Mathematical Software. 32 (1): 1–16. CiteSeerX 10.1.1.73.5499. doi:10.1145/1132973.1132974. S2CID 7368302.

External links


P ≟ NP 

This theoretical computer science–related article is a stub. You can help Misplaced Pages by expanding it.

Categories: