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


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