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


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