Indeed, all random number generators are based upon specific mathematical algorithms, which are repeatable and sequential. As such, the numbers are just pseudorandom. Here, for simplicity, we shall term them just ``random'' numbers, subject to this realization. Formally,
As Monte Carlo simulations have been developed on computers since their inception, methods of generating and dealing with random numbers are fairly well established. As literally millions or even billions of random numbers are required in a large-scale simulation, the process should ideally be very efficient. Indeed, many random number generator routines are written in assembly language for this reason. Sometimes, random number routines are even put ``in line'' to avoid the overhead associated with subroutine calls. Often on vector and/or parallel computers, blocks of random numbers are generated to amortize, over many random numbers, the overhead associated with the generation of one random number. It is noteworthy that the FORTRAN 90 ANSI standard is the first one to identify a random number generator in the ANSI specification of the language! Hitherto, it has existed only as an extension to the FORTRAN standard.