l2dpar: L^2 inner product of Gaussian densities given their...

View source: R/l2dpar.R

l2dparR Documentation

L^2 inner product of Gaussian densities given their parameters

Description

L^2 inner product of multivariate (p > 1) or univariate (p = 1) Gaussian densities, given their parameters (mean vectors and covariance matrices if the densities are multivariate, or means and variances if univariate).

Usage

l2dpar(mean1, var1, mean2, var2, check = FALSE)

Arguments

mean1

p-length numeric vector: the mean of the first Gaussian density.

var1

p x p symmetric numeric matrix (p > 1) or numeric (p = 1): the covariance matrix (p > 1) or the variance (p = 1) of the first Gaussian density.

mean2

p-length numeric vector: the mean of the second Gaussian density.

var2

p x p symmetric numeric matrix (p > 1) or numeric (p = 1): the covariance matrix (p > 1) or the variance (p = 1) of the second Gaussian density.

check

logical. When TRUE (the default is FALSE) the function checks if the covariance matrices are not degenerate (multivariate case) or if the variances are not zero (univariate case).

Details

Computes the inner product of two Gaussian densities, equal to:

(2\pi)^{-p/2} det(var1 + var2)^{-1/2} exp(-(1/2) t(mean1 - mean2) (var1 + var2)^{-1} (mean1 - mean2))

If p = 1 the means and variances are numbers, the formula is the same ignoring the following operators: t (transpose of a matrix or vector) and det (determinant of a square matrix).

Value

The L^2 inner product between two Gaussian densities.

Be careful! If check = FALSE and one covariance matrix is degenerated (multivariate case) or one variance is zero (univariate case), the result returned must not be considered.

Author(s)

Rachid Boumaza, Pierre Santagostini, Smail Yousfi, Gilles Hunault, Sabine Demotes-Mainard

References

M. Wand and M. Jones (1995). Kernel Smoothing. Chapman and Hall, London.

See Also

l2d for parametrically estimated Gaussian densities or nonparametrically estimated densities, given samples;

Examples

m1 <- c(1,1)
v1 <- matrix(c(4,1,1,9),ncol = 2)
m2 <- c(0,1)
v2 <- matrix(c(1,0,0,1),ncol = 2)
l2dpar(m1,v1,m2,v2)

dad documentation built on Aug. 30, 2023, 5:06 p.m.