Visible to Intel only — GUID: GUID-7CE4DFD4-7E4E-41D7-B8D3-3FFD42AB25A2
Visible to Intel only — GUID: GUID-7CE4DFD4-7E4E-41D7-B8D3-3FFD42AB25A2
?larnv
Returns a vector of random numbers from a uniform or normal distribution.
Syntax
call slarnv( idist, iseed, n, x )
call dlarnv( idist, iseed, n, x )
call clarnv( idist, iseed, n, x )
call zlarnv( idist, iseed, n, x )
Include Files
- mkl.fi
Description
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.
Input Parameters
The data types are given for the Fortran interface.
- idist
-
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
- iseed
-
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.
- n
-
INTEGER. The number of random numbers to be generated.
Output Parameters
- x
-
REAL for slarnv
DOUBLE PRECISION for dlarnv
COMPLEX for clarnv
DOUBLE COMPLEX for zlarnv
Array, size (n). The generated random numbers.
- iseed
-
On exit, the seed is updated.