# hypergeometric function in ‘ mvtnorm’ Classic List Threaded 4 messages Open this post in threaded view
|

## hypergeometric function in ‘ mvtnorm’

 Is there any way to know how the "dmvt" function computes the hypergeometric function needed in the calculation for the density of multivariate t distribution?
Open this post in threaded view
|

## Re: hypergeometric function in ‘ mvtnorm’

 To view the source of (most) functions, simply type funcname without parentheses: here, you get > dmvt function (x, delta, sigma, df = 1, log = TRUE, type = "shifted") {     if (df == 0)         return(dmvnorm(x, mean = delta, sigma = sigma, log = log))     if (is.vector(x)) {         x <- matrix(x, ncol = length(x))     }     if (missing(delta)) {         delta <- rep(0, length = ncol(x))     }     if (missing(sigma)) {         sigma <- diag(ncol(x))     }     if (NCOL(x) != NCOL(sigma)) {         stop("x and sigma have non-conforming size")     }     if (!isSymmetric(sigma, tol = sqrt(.Machine\$double.eps),         check.attributes = FALSE)) {         stop("sigma must be a symmetric matrix")     }     if (length(delta) != NROW(sigma)) {         stop("mean and sigma have non-conforming size")     }     m <- NCOL(sigma)     distval <- mahalanobis(x, center = delta, cov = sigma)     logdet <- sum(log(eigen(sigma, symmetric = TRUE, only.values = TRUE)\$values))     logretval <- lgamma((m + df)/2) - (lgamma(df/2) + 0.5 * (logdet +         m * logb(pi * df))) - 0.5 * (df + m) * logb(1 + distval/df)     if (log)         return(logretval)     return(exp(logretval)) } Most of the functions in here you can see code for the same way: the only ones you won't be able to are eigen, lgamma, log, exp, but these methods are pretty well-documented and you shouldn't need to find code for them. If you do, you'll need to read the underlying C. Michael On Sun, Mar 18, 2012 at 11:12 PM, statfan <[hidden email]> wrote: > Is there any way to know how the "dmvt" function computes the hypergeometric > function needed in the calculation for the density of multivariate t > distribution? > > -- > View this message in context: http://r.789695.n4.nabble.com/hypergeometric-function-in-mvtnorm-tp4483730p4483730.html> Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > [hidden email] mailing list > https://stat.ethz.ch/mailman/listinfo/r-help> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html> and provide commented, minimal, self-contained, reproducible code. ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.