choldrop
位於 mgcv
包(package)。 說明
給定矩陣 A
的 Cholesky 因子 R
, choldrop
查找 A[-k,-k]
的 Cholesky 因子,其中 k
是整數。 cholup
查找 (更新)或 (降級)的因子。
用法
choldrop(R,k)
cholup(R,u,up)
參數
R |
矩陣的 Cholesky 因子, |
k |
要刪除的 |
u |
定義排名一更新的向量。 |
up |
如果 |
細節
首先考慮choldrop
。如果 R
是上三角,則 t(R[,-k])%*%R[,-k] == A[-k,-k]
,但 R[,-k]
在第一個 sub-diagonal 上有元素,從第 k 列開始。為了得到 A[-k,-k]
的三角 Cholesky 因子,我們可以從左側應用一係列吉文斯旋轉來消除 sub-diagonal 元素。例程就是這樣做的。如果 R
是下三角因子,則需要從右側進行吉文斯旋轉來刪除多餘的元素。如果n
是R
的維度,則更新具有 計算成本。
cholup
(假設 R
是上三角)根據 的觀察進行更新,因此我們可以構造 以便 ,其中 是修改後的因子。 由一係列吉文斯旋轉構造而成,以便將 的元素歸零。降日期是類似的,隻是必須使用雙曲旋轉來代替吉文斯旋轉 - 有關詳細信息,請參閱 Golub 和 van Loan(2013 年,第 6.5.4 節)。僅當 為正定時,降期才有效。同樣,計算成本為 。
請注意,更新是麵向矢量的,因此不易通過使用優化的 BLAS 來加速。更新被設置為相對緩存友好,因為在上三角情況下,連續的吉文斯旋轉被存儲以用於按列順序應用,而不是在計算後立即按行應用。即便如此,上三角更新還是比下三角更新稍慢。
例子
require(mgcv)
set.seed(0)
n <- 6
A <- crossprod(matrix(runif(n*n),n,n))
R0 <- chol(A)
k <- 3
Rd <- choldrop(R0,k)
range(Rd-chol(A[-k,-k]))
Rd;chol(A[-k,-k])
## same but using lower triangular factor A = LL'
L <- t(R0)
Ld <- choldrop(L,k)
range(Ld-t(chol(A[-k,-k])))
Ld;t(chol(A[-k,-k]))
## Rank one update example
u <- runif(n)
R <- cholup(R0,u,TRUE)
Ru <- chol(A+u %*% t(u)) ## direct for comparison
R;Ru
range(R-Ru)
## Downdate - just going back from R to R0
Rd <- cholup(R,u,FALSE)
R0;Rd
range(R0-Rd)
作者
Simon N. Wood simon.wood@r-project.org
參考
Golub GH and CF Van Loan (2013) Matrix Computations (4th edition) Johns Hopkins
相關用法
- R choose.k 平滑的基本尺寸選擇
- R cox.ph 附加 Cox 比例風險模型
- R cox.pht 具有時變協變量的可加 Cox 比例風險模型
- R cnorm 對數正態 AFT 和 Tobit 模型的 GAM 刪失正態族
- R columb 俄亥俄州哥倫布犯罪數據的簡化版本
- R concurvity GAM 並發測量
- R cSplineDes 評估循環 B 樣條基礎
- R vcov.gam 從 GAM 擬合中提取參數(估計器)協方差矩陣
- R gam.check 擬合 gam 模型的一些診斷
- R null.space.dimension TPRS 未懲罰函數空間的基礎
- R gam.reparam 尋找平方根懲罰的穩定正交重新參數化。
- R extract.lme.cov 從 lme 對象中提取數據協方差矩陣
- R scat 用於重尾數據的 GAM 縮放 t 係列
- R smooth.construct.cr.smooth.spec GAM 中的懲罰三次回歸樣條
- R bandchol 帶對角矩陣的 Choleski 分解
- R gam.side GAM 的可識別性邊條件
- R mgcv.parallel mgcv 中的並行計算。
- R gamm 廣義加性混合模型
- R pdTens 實現張量積平滑的 pdMat 類的函數
- R Predict.matrix GAM 中平滑項的預測方法
- R Predict.matrix.soap.film 皂膜光滑度預測矩陣
- R smooth.construct.bs.smooth.spec GAM 中的懲罰 B 樣條
- R gamlss.gH 計算回歸係數的對數似然導數
- R plot.gam 默認 GAM 繪圖
- R mvn 多元正態加性模型
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Deletion and rank one Cholesky factor update。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。