Learn R Programming

ggm (version 2.5)

triDec: Triangular decomposition of a covariance matrix

Description

Decomposes a symmetric positive definite matrix with a variant of the Cholesky decomposition.

Usage

triDec(Sigma)

Value

A

a square upper triangular matrix of the same order as Sigma with ones on the diagonal.

B

the inverse of A, another triangular matrix with unit diagonal.

Delta

a vector containing the diagonal values of \(\Delta\).

Arguments

Sigma

a symmetric positive definite matrix.

Author

Giovanni M. Marchetti

Details

Any symmetric positive definite matrix \(\Sigma\) can be decomposed as \(\Sigma = B \Delta B^T\) where \(B\) is upper triangular with ones along the main diagonal and \(\Delta\) is diagonal. If \(\Sigma\) is a covariance matrix, the concentration matrix is \(\Sigma^{-1} = A^T \Delta^{-1} A\) where \(A = B^{-1}\) is the matrix of the regression coefficients (with the sign changed) of a system of linear recursive regression equations with independent residuals. In the equations each variable \(i\) is regressed on the variables \(i+1, \dots, d\). The elements on the diagonal of \(\Delta\) are the partial variances.

References

Cox, D. R. \& Wermuth, N. (1996). Multivariate dependencies. London: Chapman \& Hall.

See Also

Examples

Run this code
## Triangular decomposition of a covariance matrix
B <- matrix(c(1,  -2, 0, 1,
              0,   1, 0, 1,
              0,   0, 1, 0,
              0,   0, 0, 1), 4, 4, byrow=TRUE)
B
D <- diag(c(3, 1, 2, 1))
S <- B %*% D %*% t(B)
triDec(S)
solve(B)

Run the code above in your browser using DataLab