Learn R Programming

dad (version 4.1.6)

matwassersteinpar: Matrix of 2-Wasserstein distances between Gaussian densities

Description

Computes the matrix of the 2-Wasserstein distances between several 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), using wassersteinpar.

Usage

matwassersteinpar(meanL, varL)

Value

Positive symmetric matrix whose order is equal to the number of densities, consisting of the pairwise 2-Wasserstein distances between the Gaussian densities.

Arguments

meanL

list of the means (\(p = 1\)) or vector means (\(p > 1\)) of the Gaussian densities.

varL

list of the variances (\(p = 1\)) or covariance matrices (\(p > 1\)) of the probability densities.

Author

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

See Also

wasserstein.

matwasserstein for the matrix of 2-Wasserstein distances between probability densities which are estimated from the data.

Examples

Run this code
    data(roses)
    
    # Multivariate:
    X <- roses[,c("Sha","Den","Sym","rose")]
    summary(X)
    mean.X <- as.list(by(X[, 1:3], X$rose, colMeans))
    var.X <- as.list(by(X[, 1:3], X$rose, var))
    matwassersteinpar(mean.X, var.X)

    # Univariate :
    X1 <- roses[,c("Sha","rose")]
    summary(X1)
    mean.X1 <- by(X1$Sha, X1$rose, mean)
    var.X1 <- by(X1$Sha, X1$rose, var)
    matwassersteinpar(mean.X1, var.X1)

Run the code above in your browser using DataLab