Intel® oneAPI Math Kernel Library Developer Reference - Fortran
Returns a vector of random numbers from a uniform or normal distribution.
call slarnv( idist, iseed, n, x )
call dlarnv( idist, iseed, n, x )
call clarnv( idist, iseed, n, x )
call zlarnv( idist, iseed, n, x )
The routine ?larnv returns a vector of n random real/complex numbers from a uniform or normal distribution.
This routine calls the auxiliary routine ?laruv to generate random real numbers from a uniform (0,1) distribution, in batches of up to 128 using vectorisable code. The Box-Muller method is used to transform numbers from a uniform to a normal distribution.
The data types are given for the Fortran interface.
INTEGER. Specifies the distribution of the random numbers: for slarnv and dlarnv:
= 1: uniform (0,1)
= 2: uniform (-1,1)
= 3: normal (0,1).
for clarnv and zlarnv:
= 1: real and imaginary parts each uniform (0,1)
= 2: real and imaginary parts each uniform (-1,1)
= 3: real and imaginary parts each normal (0,1)
= 4: uniformly distributed on the disc abs(z) < 1
= 5: uniformly distributed on the circle abs(z) = 1
INTEGER. Array, size (4).
On entry, the seed of the random number generator; the array elements must be between 0 and 4095, and iseed(4) must be odd.
INTEGER. The number of random numbers to be generated.
REAL for slarnv
DOUBLE PRECISION for dlarnv
COMPLEX for clarnv
DOUBLE COMPLEX for zlarnv
Array, size (n). The generated random numbers.
On exit, the seed is updated.