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


R chol2inv-methods 乔列斯基因子的逆


R语言 chol2inv-methods 位于 Matrix 包(package)。

说明

给定正式的上三角矩阵和下三角矩阵 ,分别计算

该函数可以被视为计算给定 Cholesky 因子的对称正定矩阵的逆矩阵的方法。同样,它可以被视为计算 的一种方法,给定 的 QR 分解的 部分。

用法

chol2inv(x, ...)
## S4 method for signature 'dtrMatrix'
chol2inv(x, ...)
## S4 method for signature 'dtCMatrix'
chol2inv(x, ...)
## S4 method for signature 'generalMatrix'
chol2inv(x, uplo = "U", ...)

参数

x

方阵或 Matrix ,通常是调用 chol 的结果。如果 x 是正方形但不是(形式上)三角形,则仅考虑上三角形或下三角形,具体取决于可选参数 uplo(如果 xMatrix )。

uplo

一个字符串,可以是 "U""L" ,指示 x 的哪个三角形包含 Cholesky 因子。默认为 "U" ,与 base 中的 chol2inv 保持一致。

...

传入或传出方法的更多参数。

矩阵 symmetricMatrixdiagonalMatrix 表示其 Cholesky 因子为 x 的正定矩阵的逆。如果 x 是传统矩阵,则结果是传统矩阵;如果 x 是稠密的,结果是稠密的;如果 x 是稀疏的,结果是稀疏的。

例子

(A <- Matrix(cbind(c(1, 1, 1), c(1, 2, 4), c(1, 4, 16))))
(R <- chol(A))
(L <- t(R))
(R2i <- chol2inv(R))
(L2i <- chol2inv(R))
stopifnot(exprs = {
    all.equal(R2i, tcrossprod(solve(R)))
    all.equal(L2i,  crossprod(solve(L)))
    all.equal(as(R2i %*% A, "matrix"), diag(3L)) # the identity 
    all.equal(as(L2i %*% A, "matrix"), diag(3L)) # ditto
})

也可以看看

basechol2inv 中的默认方法调用传统矩阵 x

通用函数 chol ,用于计算对称正半定矩阵的上三角 Cholesky 因子

通用函数solve,用于求解线性系统和(作为推论)用于更普遍地计算逆。

相关用法


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