Class

NumCosmoMathStatsDistKernelGauss

Description [src]

final class NumCosmoMath.StatsDistKernelGauss : NumCosmoMath.StatsDistKernel
{
  /* No available fields */
}

Multivariate Gaussian kernel for NcmStatsDist.

The kernel of NcmStatsDistKernel with \begin{equation} \bar{K}(\chi^2) = e^{-\chi^2/2}, \qquad u(\Sigma) = (2\pi)^{d/2} \sqrt{\det\Sigma}, \end{equation} that is, the density of the multivariate normal distribution $N(\mu, h^2\Sigma)$. Its covariance is $h^2\Sigma$ ($\kappa = 1$). A sample is $x = \mu + h\,U^T z$, where $z$ holds $d$ independent standard normal variables and $\Sigma = U^T U$.

The rule-of-thumb bandwidth is Silverman’s, \begin{equation} h = \left[\frac{4}{(d + 2)\,n}\right]^{1/(d + 4)}, \end{equation} which minimizes the asymptotic mean integrated squared error for $n$ points drawn from a Gaussian density with covariance $\Sigma$.

Constructors

ncm_stats_dist_kernel_gauss_new

Creates a new NcmStatsDistKernelGauss of dimension dim.

Functions

ncm_stats_dist_kernel_gauss_clear

Decreases the reference count of sdkg by one and sets sdkg to NULL.

Instance methods

ncm_stats_dist_kernel_gauss_free

Decreases the reference count of sdkg by one.

ncm_stats_dist_kernel_gauss_ref

Increases the reference count of sdkg by one.

Methods inherited from NcmStatsDistKernel (10)
ncm_stats_dist_kernel_eval_gamma_lambda

Computes the weighted sum of kernels (the mixture density at one point), $$ e^\gamma (1+\lambda) = \sum_i w_i\bar{K} (\chi^2_i) / u_i,$$ where $\gamma = \ln(w_a\bar{K} (\chi^2_a) / u_a)$ and $a$ labels the largest term of the sum. The three vectors must have the same length and unit stride.

ncm_stats_dist_kernel_eval_unnorm
No description available.

ncm_stats_dist_kernel_eval_unnorm_vec

Computes the unnormalized kernel $\bar{K}$ at every element of chi2 and stores the results in Ku.

ncm_stats_dist_kernel_free

Decreases the reference count of sdk by one.

ncm_stats_dist_kernel_get_dim
No description available.

ncm_stats_dist_kernel_get_lnnorm

Computes $\ln u(\Sigma)$, the logarithm of the kernel normalization at $h = 1$.

ncm_stats_dist_kernel_get_rot_bandwidth

Computes the rule-of-thumb bandwidth $h$ for a mixture of n kernels: the $h$ that minimizes the asymptotic mean integrated squared error when the estimated density is the kernel itself with the scale matrix $\Sigma$ of the mixture. See the implementations for the closed forms.

ncm_stats_dist_kernel_get_var_factor

Computes the factor $\kappa$ relating the kernel covariance to its scale matrix $\Sigma$, that is $\mathrm{Cov} = \kappa \Sigma$. It is one for the Gaussian kernel and $\nu / (\nu - 2)$ for the Student-t kernel with $\nu$ degrees of freedom, which is infinite for $\nu \leq 2$ since such kernels have no covariance.

ncm_stats_dist_kernel_ref

Increases the reference count of sdk by one.

ncm_stats_dist_kernel_sample

Draws a point from the kernel with location mu, scale matrix $\Sigma$ and bandwidth href, and stores it in y.

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Properties

Properties inherited from NcmStatsDistKernel (1)
NumCosmoMath.StatsDistKernel:dimension
No description available.

Signals

Signals inherited from GObject (1)
GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

Class structure

struct NumCosmoMathStatsDistKernelGaussClass {
  NcmStatsDistKernelClass parent_class;
  
}

No description available.

Class members
parent_class: NcmStatsDistKernelClass

No description available.