Developer Reference

  • 2020.2
  • 07/15/2020
  • Public Content
Contents

vRngGaussianMV

Generates random numbers from multivariate normal distribution.

Syntax

status
=
vsrnggaussianmv
(
method
,
stream
,
n
,
r
,
dimen
,
mstorage
,
a
,
t
)
status
=
vdrnggaussianmv
(
method
,
stream
,
n
,
r
,
dimen
,
mstorage
,
a
,
t
)
Include Files
  • mkl.fi
    ,
    mkl_vsl.f90
Input Parameters
Name
Type
Description
method
INTEGER
,
INTENT(IN)
Generation method. The specific values are as follows:
VSL_RNG_METHOD_GAUSSIANMV_BOXMULLER
VSL_RNG_METHOD_GAUSSIANMV_BOXMULLER2
VSL_RNG_METHOD_GAUSSIANMV_ICDF
See brief description of the methods
BOXMULLER
,
BOXMULLER2
, and
ICDF
in Table
"Values of
<
method
>
in
method
parameter"
stream
TYPE (VSL_STREAM_STATE)
,
INTENT(IN)
Descriptor of the stream state structure.
n
INTEGER
,
INTENT(IN)
Number of
d
-dimensional vectors to be generated
dimen
INTEGER
,
INTENT(IN)
Dimension
d
(
d
1)
of output random vectors
mstorage
INTEGER
,
INTENT(IN)
Matrix storage scheme for upper triangular matrix
T
T
. The routine supports three matrix storage schemes:
  • VSL_MATRIX_STORAGE_FULL
    all
    d
    x
    d
    elements of the matrix
    T
    T
    are passed, however, only the upper triangle part is actually used in the routine.
  • VSL_MATRIX_STORAGE_PACKED
    upper triangle elements of
    T
    T
    are packed by rows into a one-dimensional array.
  • VSL_MATRIX_STORAGE_DIAGONAL
    only diagonal elements of
    T
    T
    are passed.
a
DOUBLE PRECISION
for
vdrnggaussianmv
REAL
(KIND=4)
,
INTENT(IN)
for
vsrnggaussianmv
REAL
(KIND=8)
,
INTENT(IN)
for
vdrnggaussianmv
Mean vector
a
of dimension
d
t
DOUBLE PRECISION
for
vdrnggaussianmv
REAL
(KIND=4)
,
INTENT(IN)
for
vsrnggaussianmv
REAL
(KIND=8)
,
INTENT(IN)
for
vdrnggaussianmv
Elements of the upper triangular matrix passed according to the matrix
T
T
storage scheme
mstorage
.
Output Parameters
Name
Type
Description
r
DOUBLE PRECISION
for
vdrnggaussianmv