當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。