trichol {mgcv} | R Documentation |
Choleski decomposition of a tri-diagonal matrix
Description
Computes Choleski decomposition of a (symmetric positive definite) tri-diagonal matrix stored as a leading diagonal and sub/super diagonal.
Usage
trichol(ld,sd)
Arguments
ld |
leading diagonal of matrix |
sd |
sub-super diagonal of matrix |
Details
Calls dpttrf
from LAPACK
. The point of this is that it has O(n)
computational cost, rather than the O(n^3)
required by dense matrix methods.
Value
A list with elements ld
and sd
. ld
is the leading diagonal and sd
is the super diagonal of bidiagonal matrix \bf B
where {\bf B}^T{\bf B} = {\bf T}
and \bf T
is the original tridiagonal matrix.
Author(s)
Simon N. Wood simon.wood@r-project.org
References
Anderson, E., Bai, Z., Bischof, C., Blackford, S., Dongarra, J., Du Croz, J., Greenbaum, A., Hammarling, S., McKenney, A. and Sorensen, D., 1999. LAPACK Users' guide (Vol. 9). Siam.
See Also
Examples
require(mgcv)
## simulate some diagonals...
set.seed(19); k <- 7
ld <- runif(k)+1
sd <- runif(k-1) -.5
## get diagonals of chol factor...
trichol(ld,sd)
## compare to dense matrix result...
A <- diag(ld);for (i in 1:(k-1)) A[i,i+1] <- A[i+1,i] <- sd[i]
R <- chol(A)
diag(R);diag(R[,-1])