R: Fast computation of the multivariate Student's t density.

dmvt {mvnfast} | R Documentation

## Fast computation of the multivariate Student's t density.

### Description

Fast computation of the multivariate Student's t density.

### Usage

    dmvt(X, mu, sigma, df, log = FALSE, ncores = 1, isChol = FALSE)

### Arguments

`X` | matrix n by d where each row is a d dimensional random vector. Alternatively `X` can be a d-dimensional vector.
`mu` | vector of length d, representing the mean of the distribution.
`sigma` | scale matrix (d x d). Alternatively it can be the cholesky decomposition of the scale matrix. In that case isChol should be set to TRUE. Notice that ff the degrees of freedom (the argument `df`) is larger than 2, the `Cov(X)=sigma*df/(df-2)`.
`df` | a positive scalar representing the degrees of freedom.
`log` | boolean set to true the logarithm of the pdf is required.
`ncores` | Number of cores used. The parallelization will take place only if OpenMP is supported.
`isChol` | boolean set to true is `sigma` is the cholesky decomposition of the covariance matrix.

### Details

There are many candidates for the multivariate generalization of Student's t-distribution, here we use the parametrization described here https://en.wikipedia.org/wiki/Multivariate_t-distribution. NB: at the moment the parallelization does not work properly on Solaris OS when `ncores>1`. Hence, `dmvt()` checks if the OS is Solaris and, if this the case, it imposes `ncores==1`.

### Value

A vector of length n where the i-the entry contains the pdf of the i-th random vector.

### Author(s)

Matteo Fasiolo <matteo.fasiolo@gmail.com>

### Examples

    N <- 100
    d <- 5
    mu <- 1:d
    df <- 4
    X <- t(t(matrix(rnorm(N*d), N, d)) + mu)
    tmp <- matrix(rnorm(d^2), d, d)
    mcov <- tcrossprod(tmp, tmp)  + diag(0.5, d)
    myChol <- chol(mcov)

    head(dmvt(X, mu, mcov, df = df), 10)
    head(dmvt(X, mu, myChol, df = df, isChol = TRUE), 10)

[Package mvnfast version 0.2.5 Index]