qmvnorm {mvtnorm}R Documentation

Quantiles of the Multvariate Normal Distribution


Computes the equicoordinate quantile function of the multivariate normal distribution for arbitrary correlation matrices based on an inversion of the algorithms by Genz and Bretz.


qmvnorm(p, interval = c(-10, 10), tail = c("lower.tail", "upper.tail", "both.tails"), 
        mean = 0, corr = NULL, sigma = NULL, maxpts = 25000, abseps = 0.001, 
        releps = 0, ...)


p probability.
interval a vector containing the end-points of the interval to be searched by uniroot.
tail specifies which quantiles should be computed. lower.tail gives the quantile x for which P[X <= x] = p, upper.tail gives x with P[X > x] = p and both.tails leads to x with P[-x <= X <= x] = p.
mean the mean vector of length n.
corr the correlation matrix of dimension n.
sigma the covariance matrix of dimension n. Either corr or sigma can be specified. If sigma is given, the problem is standardized. If neither corr nor sigma is given, the identity matrix is used for sigma.
maxpts maximum number of function values as integer.
abseps absolute integration error tolerance as double.
releps relative integration error tolerance as double.
... additional paramters to be passed to uniroot.


Only equicoordinate quantiles are computed, i.e., the quantiles in each dimension coincide. Currently, the distribution function is inverted by using the uniroot function which may result in limited accuracy of the quantiles.


A list with four components: quantile and f.quantile give the location of the quantile and the value of the function evaluated at that point. iter and estim.prec give the number of iterations used and an approximate estimated precision from uniroot.

See Also

pmvnorm, qmvt


qmvnorm(0.95, sigma = diag(2), tail = "both")

[Package mvtnorm version 0.7-1 Index]