Diagonal
位于 Matrix
包(package)。 说明
构造一个正式的对角线 Matrix
,即从虚拟类 diagonalMatrix
继承的对象(或者,如果需要,一个数学对角线 CsparseMatrix
)。
用法
Diagonal(n, x = NULL, names = FALSE)
.sparseDiagonal(n, x = NULL, uplo = "U", shape = "t", unitri = TRUE, kind, cols)
.trDiagonal(n, x = NULL, uplo = "U", unitri = TRUE, kind)
.symDiagonal(n, x = NULL, uplo = "U", kind)
参数
n |
指示(方)矩阵维度的整数。如果丢失,则使用 |
x |
列出对角线条目的值的数字或逻辑向量,根据需要回收。如果 |
names |
|
uplo |
|
shape |
|
unitri |
逻辑指示对角线上有 1 的形式三角形结果是否应该是形式单位三角形,即 |
kind |
|
cols |
可选整数向量,其值在 |
值
Diagonal()
返回一个继承自虚拟类 diagonalMatrix
的对象。
.sparseDiagonal()
返回 Diagonal(n, x)
的 CsparseMatrix
表示,或者,如果给出 cols
,则返回 Diagonal(n, x)[, cols+1]
的表示。结果的精确类别取决于 shape
和 kind
。
.trDiagonal()
和 .symDiagonal()
分别是 .sparseDiagonal(shape = "t")
和 .sparseDiagonal(shape = "s")
的简单包装器。
.sparseDiagonal()
的存在主要是为了利用可用于 CsparseMatrix
的高效 C-level 方法。
例子
Diagonal(3)
Diagonal(x = 10^(3:1))
Diagonal(x = (1:4) >= 2)#-> "ldiMatrix"
## Use Diagonal() + kronecker() for "repeated-block" matrices:
M1 <- Matrix(0+0:5, 2,3)
(M <- kronecker(Diagonal(3), M1))
(S <- crossprod(Matrix(rbinom(60, size=1, prob=0.1), 10,6)))
(SI <- S + 10*.symDiagonal(6)) # sparse symmetric still
stopifnot(is(SI, "dsCMatrix"))
(I4 <- .sparseDiagonal(4, shape="t"))# now (2012-10) unitriangular
stopifnot(I4@diag == "U", all(I4 == diag(4)))
作者
Martin Maechler
也可以看看
用于从矩阵中提取对角线的通用函数diag
适用于所有“Matrices”。
bandSparse
从其非零子/超对角线构造带状稀疏矩阵。 band(A)
返回一个带状矩阵,其中包含 A
的一些子/上对角线。
Matrix
用于一般矩阵构造;此外,类 diagonalMatrix
。
相关用法
- R dtrMatrix-class 三角形稠密数值矩阵
- R facmul-methods 乘以矩阵因式分解的因数
- R solve-methods 函数求解矩阵包中的方法
- R updown-methods 更新和降级稀疏 Cholesky 分解
- R bdiag 构建分块对角矩阵
- R printSpMatrix 灵活格式化和打印稀疏矩阵
- R symmetricMatrix-class 包矩阵中对称矩阵的虚拟类
- R all.equal-methods 函数 all.equal() 的矩阵封装方法
- R boolmatmult-methods 布尔算术矩阵乘积:%&% 和方法
- R ltrMatrix-class 三角密集逻辑矩阵
- R Hilbert 生成希尔伯特矩阵
- R nearPD 最近正定矩阵
- R lsyMatrix-class 对称密集逻辑矩阵
- R CHMfactor-class 稀疏 Cholesky 分解
- R symmpart-methods 矩阵的对称部分和偏斜(对称)部分
- R sparseMatrix 从非零项构建一般稀疏矩阵
- R dgCMatrix-class 压缩、稀疏、面向列的数值矩阵
- R Cholesky-methods Cholesky 分解方法
- R Subassign-methods “[<-”的方法 - 分配给“矩阵”的子集
- R ldenseMatrix-class 密集逻辑矩阵的虚拟类“ldenseMatrix”
- R norm-methods 矩阵范数
- R ngeMatrix-class 一般密集非零模式矩阵的“ngeMatrix”类
- R CAex 阿尔伯斯的示例矩阵与“困难”特征分解
- R diagonalMatrix-class 对角矩阵的“diagonalMatrix”类
- R matmult-methods 矩阵(叉)积(转置)
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Construct a Diagonal Matrix。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。