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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。