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
dsparseMatrix
; dsCMatrix
进一步直接扩展 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"
也可以看看
相关用法
- R dsRMatrix-class 对称稀疏压缩行矩阵
- R dsyMatrix-class 对称密集(压缩或非压缩)数值矩阵
- R dsparseMatrix-class 数值稀疏矩阵的虚拟类“dsparseMatrix”
- R dtrMatrix-class 三角形稠密数值矩阵
- R dgCMatrix-class 压缩、稀疏、面向列的数值矩阵
- R diagonalMatrix-class 对角矩阵的“diagonalMatrix”类
- R diagU2N 将三角矩阵从单位三角形变换到一般三角形并返回
- R dgTMatrix-class 三元组形式的稀疏矩阵
- R dimScale 缩放矩阵的行和列
- R ddiMatrix-class 对角数值矩阵的“ddiMatrix”类
- R dpoMatrix-class 正半定稠密(压缩|非压缩)数值矩阵
- R dmperm Dulmage-Mendelsohn 排列/分解
- R dtpMatrix-class 填充三角密集矩阵 - “dtpMatrix”
- R dtCMatrix-class 三角形(压缩)稀疏列矩阵
- R drop0 从稀疏矩阵中删除非结构零
- R dtRMatrix-class 三角形稀疏压缩行矩阵
- R denseMatrix-class 所有密集矩阵的虚拟类“denseMatrix”
- R ddenseMatrix-class 数值密集矩阵的虚拟类“ddenseMatrix”
- R dMatrix-class (虚拟)“双”矩阵的“dMatrix”类
- R facmul-methods 乘以矩阵因式分解的因数
- R solve-methods 函数求解矩阵包中的方法
- R updown-methods 更新和降级稀疏 Cholesky 分解
- R bdiag 构建分块对角矩阵
- R printSpMatrix 灵活格式化和打印稀疏矩阵
- R symmetricMatrix-class 包矩阵中对称矩阵的虚拟类
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Numeric Symmetric Sparse (column compressed) Matrices。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。