Learn R Programming

mnormt (version 2.1.1)

pd.solve: Inverse of a symmetric positive-definite matrix

Description

The inverse of a symmetric positive-definite matrix and its log-determinant

Usage

pd.solve(x, silent = FALSE, log.det=FALSE)

Value

the inverse matrix of x; if log.det=TRUE, this inverse has an attribute which contains the logarithm of the determinant of x.

Arguments

x

a symmetric positive-definite matrix.

silent

a logical value which indicates the action to take in case of an error. If silent==TRUE and an error occurs, the function silently returns a NULL value; if silent==FALSE (default), an error generates a stop with an error message.

log.det

a logical value to indicate whether the log-determinant of x is required (default is FALSE).

Author

Adelchi Azzalini

Details

The function checks that x is a symmetric positive-definite matrix. If an error is detected, an action is taken which depends on the value of the argument silent.

Examples

Run this code
  x <- toeplitz(rev(1:4))
  x.inv <- pd.solve(x)
  print(x.inv %*% x)
  x.inv <- pd.solve(x, log.det=TRUE)
  logDet <- attr(x.inv, "log.det")
  print(abs(logDet - determinant(x, logarithm=TRUE)$modulus))

Run the code above in your browser using DataLab