oneapi::mkl::rng::gaussian_mv¶
Generates random numbers from multivariate normal distribution.
Syntax
template<typename RealType = float, layout Layout = layout::packed, typename Method = gaussian_mv_method::by_default>
class gaussian_mv {
public:
using method_type = Method;
using result_type = RealType;
explicit gaussian_mv(std::uint32_t dimen, std::vector<RealType> mean, std::vector<RealType> matrix);
std::uint32_t dimen() const;
std::vector<RealType> mean() const;
std::vector<RealType> matrix() const;
};
Devices supported: Host and CPU.
Include Files
oneapi/mkl/rng.hpp
Description
The class object is used in the oneapi::mkl::rng::generate function
to provide random numbers with d
-variate normal (Gaussian)
distribution with mean (a
) and variance-covariance matrix C
,
where a
∈ R
d ; C
is dxd symmetric
positive-definite matrix.
The probability density function is given by:
where x∈Rd
.
Matrix C
can be represented as C = TTT
, where T
is a
lower triangular matrix - Cholesky factor of C
.
Template Parameters
|
Type of the produced values. The specific values are as follows: |
---|---|
|
Type of the matrix storage. The specific values are as follows: |
|
Generation method. The specific values are as follows: |
Input Parameters
Name |
Type |
Description |
---|---|---|
dimen |
|
Dimension of output random vectors |
mean |
|
Mean vector a of dimension |
matrix |
|
Variance-covariance matrix |