chol(x, pivot=F)
x
is of full rank, or to
decompose a matrix that may not be of full rank.
y
, such that t(y) %*% y equals
x
,
if
x
is
numeric
or such that t(Conj(y) %*% y equals
x
if
x
is
complex
.
If
pivot
is
TRUE
, the result will contain attributes
rank
and
pivot
; these contain respectively, the index of the last positive
computed diagonal element, and the pivoting of the columns.
For y <- chol(x,T), column
i
of
y
corresponds to row/column
attr(y,"pivot")[i]
of
x
.
That is,
Conj(t(y[,order(attr(y,"pivot"))])) %*% y[,order(attr(y,"pivot"))] == x
,
or put another way
Conj(t(y)) %*% y ==x[attr(y,"pivot"),attr(y,"pivot")]
.
If
pivot
is
FALSE
, any singularities will result in an error.
A positive definite matrix is decomposed into a triangular matrix that
is a "square root" of the original. That is, the (conjugate) transpose of the
triangular matrix multiplied by the triangular matrix equals the original
matrix.
Systems of equations can be efficiently solved using this decomposition.
As a historical note, Andre-Louis Choleski (1875-1918) was primarily
attached to the Geodetic Section of the French government and was involved
in several large scale surveys (Maindonald, 1984, pp 346-348).
Dongarra, J. J., Bunch, J. R., Moler, C. B., and Stewart, G. W. (1979).
LINPACK Users' Guide.
SIAM, Philadelphia.
Golub, G. H. and Van Loan, C. F. (1983).
Matrix Computations.
Johns Hopkins University Press, Baltimore.
Maindonald, J. H. (1984).
Statistical Computation.
Wiley, New York.
Thisted, R. A. (1988).
Elements of Statistical Computing.
Chapman and Hall, New York.