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 B where B'B=T and 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.

`bandchol`

### 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])

```

[Package mgcv version 1.8-31 Index]