Computer implementation of random number generators

作者:

Highlights:

摘要

Good theoretical work on algorithms is often defeated by a poor computer implementation. This is particularly true of random number generators for two reasons: the overwhelming concern for speed and the inherent ill-conditioning of the problem. The emphasis on speed has often resulted in shortcuts (see Carta (1990)). These shortcuts often accept approximations, which can be disastrous in random number generation. Other shortcuts are very machine-specific, and then often get used in the wrong environment.The problem of random number generation using a deterministic recursion is ill-conditioned in the sense that small deviations (relative errors of the order of 10−10) can cause complete loss of accuracy. (This is why any approximation is disastrous).In this paper we will concentrate on the coding considerations for a special case of a good algorithm, namely a multiplicative congruential generator with properly chosen multiplier and modulus. The discussion will use fortran constructs, but it is applicable to any programming language. We will also address implementation of recursive generators on vector processors.

论文关键词:Random number generation,linear congruential generator,numerical analysis,vector processors,computer programming

论文评审过程:Received 2 February 1989, Available online 13 May 2002.

论文官网地址:https://doi.org/10.1016/0377-0427(90)90342-W