Top |
This object subclasses NcmMSetTransKern and implements a multivariate gaussian sampler.
Implementation of a multivariate Gaussian sampler, providing a straightforward
method for generating random parameter vectors with multivariate parameters. This
sampler generates vectors with a normal distribution. The covariance of parameters
can be configured directly using ncm_mset_trans_kern_gauss_set_cov()
or by
specifying individual standard deviations as parameter scales, assuming zero
correlation.
**Key Functionality:**
Generates random parameter vectors with multivariate parameters.
Utilizes a multivariate Gaussian distribution for sampling.
Allows direct setting of covariance using ncm_mset_trans_kern_gauss_set_cov()
.
Supports alternative methods:
Using ncm_mset_trans_kern_gauss_set_cov_from_scale()
sets covariance using
the scale property of parameters as standard deviation with zero correlation.
Using ncm_mset_trans_kern_gauss_set_cov_from_rescale()
sets covariance using
the scale property of parameters times epsilon
as standard deviation with zero
correlation.
This implementation is particularly useful when a Gaussian sampling approach is required for generating random parameter vectors with multivariate parameters, offering flexibility in specifying covariance through direct settings or individual standard deviations.
NcmMSetTransKernGauss *
ncm_mset_trans_kern_gauss_new (guint len
);
New NcmMSetTransKern gauss for len
multivariate gaussian.
void ncm_mset_trans_kern_gauss_set_size (NcmMSetTransKernGauss *tkerng
,guint len
);
Sets size of NcmMSetTransKernGauss.
guint
ncm_mset_trans_kern_gauss_get_size (NcmMSetTransKernGauss *tkerng
);
Gets size of NcmMSetTransKernGauss.
void ncm_mset_trans_kern_gauss_set_cov (NcmMSetTransKernGauss *tkerng
,const NcmMatrix *cov
);
Sets the covariance given by the NcmMatrix cov
.
void ncm_mset_trans_kern_gauss_set_cov_variant (NcmMSetTransKernGauss *tkerng
,GVariant *cov
);
Sets the covariance given by the GVariant cov
.
NcmMatrix *
ncm_mset_trans_kern_gauss_get_cov (NcmMSetTransKernGauss *tkerng
);
Gets the covariance.
void
ncm_mset_trans_kern_gauss_set_cov_from_scale
(NcmMSetTransKernGauss *tkerng
);
Sets the covariance using the scale property of the parameters as standard deviation and zero correlation.
void ncm_mset_trans_kern_gauss_set_cov_from_rescale (NcmMSetTransKernGauss *tkerng
,const gdouble epsilon
);
Sets the covariance using the scale property of the parameters times
epsilon
as standard deviation and zero correlation.
#define NCM_TYPE_MSET_TRANS_KERN_GAUSS (ncm_mset_trans_kern_gauss_get_type ())