diagonalMatrix-class
位于 Matrix
包(package)。 说明
类"diagonalMatrix"是所有对角矩阵的虚拟类。
类中的对象
虚拟类:不能从中创建任何对象。
插槽
diag
:-
character
字符串,"U"
或"N"
,其中"U"
表示“unit-diagonal”。 Dim
:-
矩阵维数,以及
Dimnames
:
扩展
直接类 "sparseMatrix"
。
方法
这些只是定义方法的签名的子集。目前,为了确保对角矩阵的有效方法,定义了(太多)显式方法。
- 强制
-
signature(from = "matrix", to = "diagonalMatrix")
:... - 强制
-
signature(from = "Matrix", to = "diagonalMatrix")
:... - 强制
-
signature(from = "diagonalMatrix", to = "generalMatrix")
:... - 强制
-
signature(from = "diagonalMatrix", to = "triangularMatrix")
:... - 强制
-
signature(from = "diagonalMatrix", to = "nMatrix")
:... - 强制
-
signature(from = "diagonalMatrix", to = "matrix")
:... - 强制
-
signature(from = "diagonalMatrix", to = "sparseVector")
:... - t
-
signature(x = "diagonalMatrix")
:...
以及更多方法
- 解决
-
signature(a = "diagonalMatrix", b, ...)
:当然是简单实现的;另请参见solve-methods
。 - 哪一个
-
signature(x = "nMatrix")
,语义上等同于base
函数which(x, arr.ind)
。 - "Math"
-
signature(x = "diagonalMatrix")
:所有这些组方法都返回"diagonalMatrix"
,除了cumsum()
等也返回base
matrix
的向量。 - *
-
signature(e1 = "ddiMatrix", e2="denseMatrix")
:Ops
组中的算术和其他运算符有几十个显式方法定义,以便在许多情况下保持结果对角线,包括以下内容: - /
-
signature(e1 = "ddiMatrix", e2="denseMatrix")
: 结果来自课堂ddiMatrix
这通常是非常理想的。请注意,当e2
包含非对角零或NA
s,我们隐式地使用 ,因此与传统的R算术(其中 ),以保持稀疏性。 - 概括
-
(object = "diagonalMatrix")
:返回 S3 类"diagSummary"
的对象,它是向量object@x
加上简单标题和适当的print
方法的摘要。
例子
I5 <- Diagonal(5)
D5 <- Diagonal(x = 10*(1:5))
## trivial (but explicitly defined) methods:
stopifnot(identical(crossprod(I5), I5),
identical(tcrossprod(I5), I5),
identical(crossprod(I5, D5), D5),
identical(tcrossprod(D5, I5), D5),
identical(solve(D5), solve(D5, I5)),
all.equal(D5, solve(solve(D5)), tolerance = 1e-12)
)
solve(D5)# efficient as is diagonal
# an unusual way to construct a band matrix:
rbind2(cbind2(I5, D5),
cbind2(D5, I5))
也可以看看
Diagonal()
作为这些矩阵的构造函数,以及 isDiagonal
。 ddiMatrix
和 ldiMatrix
是扩展 "diagonalMatrix"
的 “actual” 类。
相关用法
- R diagU2N 将三角矩阵从单位三角形变换到一般三角形并返回
- R dimScale 缩放矩阵的行和列
- R dtrMatrix-class 三角形稠密数值矩阵
- R dgCMatrix-class 压缩、稀疏、面向列的数值矩阵
- R dsRMatrix-class 对称稀疏压缩行矩阵
- R dsCMatrix-class 数值对称稀疏(列压缩)矩阵
- R dgTMatrix-class 三元组形式的稀疏矩阵
- 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 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大神的英文原创作品 Class "diagonalMatrix" of Diagonal Matrices。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。