Description Usage Arguments Value Author(s) Examples

Fast computation of squared mahalanobis distance between all rows of `X`

and the vector `mu`

with respect to sigma.

1 |

`X` |
matrix n by d where each row is a d dimensional random vector. Alternatively |

`mu` |
vector of length d, representing the central position. |

`sigma` |
covariance matrix (d x d). Alternatively is can be the cholesky decomposition
of the covariance. In that case |

`ncores` |
Number of cores used. The parallelization will take place only if OpenMP is supported. |

`isChol` |
boolean set to true is |

a vector of length n where the i-the entry contains the square mahalanobis distance i-th random vector.

Matteo Fasiolo <[email protected]>

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | ```
N <- 100
d <- 5
mu <- 1:d
X <- t(t(matrix(rnorm(N*d), N, d)) + mu)
tmp <- matrix(rnorm(d^2), d, d)
mcov <- tcrossprod(tmp, tmp)
myChol <- chol(mcov)
rbind(head(maha(X, mu, mcov), 10),
head(maha(X, mu, myChol, isChol = TRUE), 10),
head(mahalanobis(X, mu, mcov), 10))
## Not run:
# Performance comparison: microbenchmark does not work on all
# platforms, hence we need to check whether it is installed
if( "microbenchmark" %in% rownames(installed.packages()) ){
library(microbenchmark)
a <- cbind(
maha(X, mu, mcov),
maha(X, mu, myChol, isChol = TRUE),
mahalanobis(X, mu, mcov))
# Same output as mahalanobis
a[ , 1] / a[, 3]
a[ , 2] / a[, 3]
microbenchmark(maha(X, mu, mcov),
maha(X, mu, myChol, isChol = TRUE),
mahalanobis(X, mu, mcov))
}
## End(Not run)
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.