Returns the Cholesky square root of the non-singular, symmetric matrix X. The purpose is mainly to demonstrate the algorithm used by Kennedy & Gentle (1980).

cholesky(X, tol = sqrt(.Machine$double.eps))

Arguments

X

a square symmetric matrix

tol

tolerance for checking for 0 pivot

Value

the Cholesky square root of X

References

Kennedy W.J. Jr, Gentle J.E. (1980). Statistical Computing. Marcel Dekker.

See also

chol for the base R function

gsorth for Gram-Schmidt orthogonalization of a data matrix

Author

John Fox

Examples

C <- matrix(c(1,2,3,2,5,6,3,6,10), 3, 3) # nonsingular, symmetric
C
#>      [,1] [,2] [,3]
#> [1,]    1    2    3
#> [2,]    2    5    6
#> [3,]    3    6   10
cholesky(C)
#>      [,1] [,2] [,3]
#> [1,]    1    0    0
#> [2,]    2    1    0
#> [3,]    3    0    1
cholesky(C) %*% t(cholesky(C))  # check
#>      [,1] [,2] [,3]
#> [1,]    1    2    3
#> [2,]    2    5    6
#> [3,]    3    6   10