pd.solve: Inverse of a symmetric positive-definite matrix In mnormt: The Multivariate Normal and t Distributions, and Their Truncated Versions

Description

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

Usage

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

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`).

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`.

Value

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

Examples

 ```1 2 3 4 5 6``` ``` 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)) ```

Example output

```              [,1]          [,2]         [,3]          [,4]
[1,]  1.000000e+00  2.220446e-16 1.110223e-16  5.551115e-17
[2,]  0.000000e+00  1.000000e+00 0.000000e+00  2.220446e-16
[3,] -2.220446e-16 -4.440892e-16 1.000000e+00 -2.220446e-16
[4,]  0.000000e+00  2.220446e-16 4.440892e-16  1.000000e+00
[1] 0
attr(,"logarithm")
[1] TRUE
```

mnormt documentation built on Sept. 1, 2020, 5:09 p.m.