R语言
drop0
位于 Matrix
包(package)。 说明
从稀疏矩阵中删除 “non-structural” 零(即显式存储在内存中的零)并返回结果。
用法
drop0(x, tol = 0, is.Csparse = NA, give.Csparse = TRUE)
参数
x |
|
tol |
非负数。如果 |
is.Csparse |
仅当 |
give.Csparse |
指示结果是否必须从虚拟类 |
值
sparseMatrix
,从 x
中删除非结构零的结果,可能是在强制转换之后。
注意
drop0
有时与 zapsmall
一起调用,例如,在处理稀疏矩阵乘积时;请参阅示例。
例子
(m <- sparseMatrix(i = 1:8, j = 2:9, x = c(0:2, 3:-1),
dims = c(10L, 20L)))
drop0(m)
## A larger example:
t5 <- new("dtCMatrix", Dim = c(5L, 5L), uplo = "L",
x = c(10, 1, 3, 10, 1, 10, 1, 10, 10),
i = c(0L,2L,4L, 1L, 3L,2L,4L, 3L, 4L),
p = c(0L, 3L, 5L, 7:9))
TT <- kronecker(t5, kronecker(kronecker(t5, t5), t5))
IT <- solve(TT)
I. <- TT %*% IT ; nnzero(I.) # 697 ( == 625 + 72 )
I.0 <- drop0(zapsmall(I.))
## which actually can be more efficiently achieved by
I.. <- drop0(I., tol = 1e-15)
stopifnot(all(I.0 == Diagonal(625)), nnzero(I..) == 625)
也可以看看
函数 sparseMatrix
,用于构造继承自虚拟类 sparseMatrix
的对象; nnzero
。
相关用法
- R dtrMatrix-class 三角形稠密数值矩阵
- R dgCMatrix-class 压缩、稀疏、面向列的数值矩阵
- R diagonalMatrix-class 对角矩阵的“diagonalMatrix”类
- R dsRMatrix-class 对称稀疏压缩行矩阵
- R dsCMatrix-class 数值对称稀疏(列压缩)矩阵
- 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 dtRMatrix-class 三角形稀疏压缩行矩阵
- R denseMatrix-class 所有密集矩阵的虚拟类“denseMatrix”
- R ddenseMatrix-class 数值密集矩阵的虚拟类“ddenseMatrix”
- R dsyMatrix-class 对称密集(压缩或非压缩)数值矩阵
- R dsparseMatrix-class 数值稀疏矩阵的虚拟类“dsparseMatrix”
- R dMatrix-class (虚拟)“双”矩阵的“dMatrix”类
- R facmul-methods 乘以矩阵因式分解的因数
- R solve-methods 函数求解矩阵包中的方法
- R updown-methods 更新和降级稀疏 Cholesky 分解
- R bdiag 构建分块对角矩阵
- R printSpMatrix 灵活格式化和打印稀疏矩阵
- R symmetricMatrix-class 包矩阵中对称矩阵的虚拟类
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Drop Non-Structural Zeros from a Sparse Matrix。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。