Generates normally distributed random numbers.
Fortran:
status = vsrnggaussian( method, stream, n, r, a, sigma )
status = vdrnggaussian( method, stream, n, r, a, sigma )
C:
status = vsRngGaussian( method, stream, n, r, a, sigma );
status = vdRngGaussian( method, stream, n, r, a, sigma );
The FORTRAN 77 interfaces are specified in the mkl_vsl.f77 include file, the Fortran 90 interfaces are specified in the mkl_vsl.f90 include file, and the C interfaces are specified in the mkl_vsl_functions.h include file.
Name |
Type |
Description |
---|---|---|
method |
FORTRAN 77: INTEGER Fortran 90: INTEGER, INTENT(IN) C: const int |
Generation method. The specific values are as follows: See brief description of the methods BOXMULLER, BOXMULLER2, and ICDF in Table"Values of <method> in method parameter" |
stream |
FORTRAN 77: INTEGER*4 stream(2) Fortran 90: TYPE (VSL_STREAM_STATE), INTENT(IN ) C: VSLStreamStatePtr |
Fortran: Descriptor of the stream state structure C: Pointer to the stream state structure |
n |
FORTRAN 77: INTEGER Fortran 90: INTEGER, INTENT(IN) C: const int |
Number of random values to be generated |
a |
FORTRAN 77: REAL for vsrnggaussian DOUBLE PRECISION for vdrnggaussian Fortran 90: REAL, INTENT(IN) for vsrnggaussian DOUBLE PRECISION, INTENT(IN) for vdrnggaussian C: const float for vsRngGaussian const double for vdRngGaussian |
Mean value a. |
sigma |
FORTRAN 77: REAL for vsrnggaussian DOUBLE PRECISION for vdrnggaussian Fortran 90: REAL, INTENT(IN) for vsrnggaussian DOUBLE PRECISION, INTENT(IN) for vdrnggaussian C: const float for vsRngGaussian const double for vdRngGaussian |
Standard deviation σ. |
Name |
Type |
Description |
---|---|---|
r |
FORTRAN 77: REAL for vsrnggaussian DOUBLE PRECISION for vdrnggaussian Fortran 90: REAL, INTENT(OUT) for vsrnggaussian DOUBLE PRECISION, INTENT(OUT) for vdrnggaussian C: float* for vsRngGaussian double* for vdRngGaussian |
Vector of n normally distributed random numbers |
The Gaussian function generates random numbers with normal (Gaussian) distribution with mean value a and standard deviation σ, wherea, σ∈R ; σ > 0.
The probability density function is given by:
The cumulative distribution function is as follows:
The cumulative distribution function Fa,σ(x) can be expressed in terms of standard normal distribution Φ(x) as
Fa,σ(x) = Φ((x - a)/σ)
Indicates no error, execution is successful.
stream is a NULL pointer.
stream is not a valid random stream.
Callback function for an abstract BRNG returns an invalid number of updated entries in a buffer, that is, < 0 or > nmax.
Callback function for an abstract BRNG returns 0 as the number of updated entries in a buffer.
Period of the generator has been exceeded.
Copyright © 1994 - 2011, Intel Corporation. All rights reserved.