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

*mgcv*version 1.9-0 Index]