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


R dsCMatrix-class 數值對稱稀疏(列壓縮)矩陣


R語言 dsCMatrix-class 位於 Matrix 包(package)。

說明

dsCMatrix 類是一類采用壓縮 column-oriented 格式的對稱稀疏數值矩陣。在此實現中,列中的非零元素被排序為遞增的行順序。

dsTMatrix 類是三元組格式的對稱稀疏數值矩陣類。

類中的對象

對象可以通過 new("dsCMatrix", ...)new("dsTMatrix", ...) 形式的調用來創建,或者通過例如 as(*, "symmetricMatrix") 或(對於 dsCMatrix )也從 Matrix(.) 自動創建。

通過sparseMatrix(*, symmetric=TRUE) 最有效地創建“from scratch”。

插槽

uplo

一個字符對象,指示是否存儲上三角形 ("U") 或下三角形 ("L")。

i

"integer" 的對象,長度為 nnZ(非零元素的一半)。這些是矩陣下三角形中每個非零元素的行號。

p

(僅在"dsCMatrix"類中:)用於提供指針的integer向量,每一列一個,請參閱CsparseMatrix中的詳細說明。

j

(僅在類 "dsTMatrix" 中:)長度為 nnZ 的類 "integer" 的對象(如 i )。這些是矩陣下三角形中每個非零元素的列號。

x

長度為 nnZ 的類 "numeric" 的對象 - 矩陣的非零元素(為完整矩陣複製)。

factors

"list" 類的對象 - 矩陣因式分解列表。

Dim

"integer" 類的對象(矩陣的維度)必須是具有兩個非負值的整數向量。

擴展

這兩個類都直接擴展類和symmetricMatrix dsparseMatrixdsCMatrix 進一步直接擴展 CsparseMatrix ,其中 dsTMatrix 擴展 TsparseMatrix

方法

解決

signature(a = "dsCMatrix", b = "....") : x <- solve(a,b) 解為 ;請參閱solve-methods

signature(x = "dsCMatrix", pivot = "logical") :返回(並存儲)x 的 Cholesky 分解,請參閱 chol

喬列斯基

signature(A = "dsCMatrix",...) :計算更靈活的 Cholesky 分解,請參閱Cholesky

行列式

signature(x = "dsCMatrix", logarithm = "missing") :在對數刻度上評估x 的行列式。這將創建並存儲 Cholesky 分解。

行列式

signature(x = "dsCMatrix", logarithm = "logical") :根據logarithm 參數,在對數尺度上評估x 的行列式。這將創建並存儲 Cholesky 分解。

t

signature(x = "dsCMatrix"):轉置。對於所有對稱矩陣,存儲上三角的矩陣會生成存儲下三角的矩陣,反之亦然,即交換 uplo 槽,並且交換行索引和列索引。

t

signature(x = "dsTMatrix"):轉置。 uplo 槽從 "U" 交換到 "L" 或反之亦然,至於 "dsCMatrix" ,請參見上文。

例子


mm <- Matrix(toeplitz(c(10, 0, 1, 0, 3)), sparse = TRUE)
mm # automatically dsCMatrix
str(mm)
mT <- as(as(mm, "generalMatrix"), "TsparseMatrix")

## Either
(symM <- as(mT, "symmetricMatrix")) # dsT
(symC <- as(symM, "CsparseMatrix")) # dsC
## or
sT <- Matrix(mT, sparse=TRUE, forceCheck=TRUE) # dsT

sym2 <- as(symC, "TsparseMatrix")
## --> the same as 'symM', a "dsTMatrix"

也可以看看

dgCMatrixdgTMatrixdgeMatrix 以及上麵提到的那些。

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Numeric Symmetric Sparse (column compressed) Matrices。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。