当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R bandchol 带对角矩阵的 Choleski 分解


R语言 bandchol 位于 mgcv 包(package)。

说明

计算(对称正定)band-diagonal 矩阵、A 的 Choleski 分解。

用法

bandchol(B)

参数

B

一个 n × k 矩阵,包含要分解的矩阵 A 的对角线。第一行是前导对角线,接下来是第一个sub-diagonal,依此类推。sub-diagonals 在末尾补零。或者直接给出A,即具有 2k-1 个非零对角线的方阵(不访问来自下三角形的那些)。

细节

LAPACK 调用 dpbtrf 。这样做的要点在于,它具有 计算成本,而不是密集矩阵方法所需的

Rt(R)%*%R = A 的因子。 R 是上三角的,如果 B 的行在条目上包含 A 的对角线,则返回的是包含 R 的对角线的 n × k 矩阵,打包为 B 的打包方式入口。如果B在输入时为正方形,则直接返回R。请参阅示例。

例子

require(mgcv)
## simulate a banded diagonal matrix
n <- 7;set.seed(8)
A <- matrix(0,n,n)
sdiag(A) <- runif(n);sdiag(A,1) <- runif(n-1)
sdiag(A,2) <- runif(n-2)
A <- crossprod(A) 

## full matrix form...
bandchol(A)
chol(A) ## for comparison

## compact storage form...
B <- matrix(0,3,n)
B[1,] <- sdiag(A);B[2,1:(n-1)] <- sdiag(A,1)
B[3,1:(n-2)] <- sdiag(A,2)
bandchol(B)

作者

Simon N. Wood simon.wood@r-project.org

参考

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.

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Choleski decomposition of a band diagonal matrix。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。