?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

The FORTRAN 77 interfaces are specified in the mkl_lapack.fi include file (to be used in Fortran programs) and in the mkl_lapack.h include file (to be used in C programs).

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

idist

INTEGER. Specifies the distribution of the random numbers: for slarnv and dlanrv:

= 1: uniform (0,1)

= 2: uniform (-1,1)

= 3: normal (0,1).

for clarnv and zlanrv:

= 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, DIMENSION (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

COMPLEX*16 for zlarnv

Array, DIMENSION (n). The generated random numbers.

iseed

On exit, the seed is updated.


Submit feedback on this help topic

Copyright © 1994 - 2010, Intel Corporation. All rights reserved.