Computes Choleski decomposition of a (symmetric positive definite) tri-diagonal matrix stored as a leading diagonal and sub/super diagonal.
trichol(ld,sd)
A list with elements ld
and sd
. ld
is the leading diagonal and sd
is the super diagonal of bidiagonal matrix
leading diagonal of matrix
sub-super diagonal of matrix
Simon N. Wood simon.wood@r-project.org
Calls dpttrf
from LAPACK
. The point of this is that it has
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.
bandchol
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])
Run the code above in your browser using DataLab