R语言
diagU2N
位于 Matrix
包(package)。 说明
将三角形矩阵 x
,即 class
triangularMatrix
,从(内部!)单位三角形 (“unitriangular”) 转换为 “general” 三角形 ( diagU2N(x)
) 或返回 ( diagN2U(x)
)。请注意,后者 diagN2U(x)
也会在 diag(x)
不全为 1 的情况下将对角线设置为 1。
.diagU2N(x)
和 .diagN2U(x)
在不检查的情况下假设 x
是具有合适的 diag
插槽的 triangularMatrix
(分别为 "U"
和 "N"
),因此应谨慎使用它们。
用法
diagU2N(x, cl = getClassDef(class(x)), checkDense = FALSE)
diagN2U(x, cl = getClassDef(class(x)), checkDense = FALSE)
.diagU2N(x, cl = getClassDef(class(x)), checkDense = FALSE)
.diagN2U(x, cl = getClassDef(class(x)), checkDense = FALSE)
参数
x |
|
cl |
(可选,仅用于加速:) |
checkDense |
逻辑表明是否应该考虑稠密(参见 |
细节
带有 diag
槽 "U"
的单位三角矩阵的概念源于 LAPACK。
值
相同 class
但具有不同 diag
槽的三角矩阵。对于 diagU2N
(语义上)与 x
具有相同条目的情况,而在 diagN2U(x)
中,非对角线条目保持不变,并且对角线设置为所有 1
,即使以前不是。
注意
此类内部存储详细信息很少与用户相关。因此,这些函数实际上是相当内部的实用程序。
例子
(T <- Diagonal(7) + triu(Matrix(rpois(49, 1/4), 7, 7), k = 1))
(uT <- diagN2U(T)) # "unitriangular"
(t.u <- diagN2U(10*T))# changes the diagonal!
stopifnot(all(T == uT), diag(t.u) == 1,
identical(T, diagU2N(uT)))
T[upper.tri(T)] <- 5 # still "dtC"
T <- diagN2U(as(T,"triangularMatrix"))
dT <- as(T, "denseMatrix") # (unitriangular)
dT.n <- diagU2N(dT, checkDense = TRUE)
sT.n <- diagU2N(dT)
stopifnot(is(dT.n, "denseMatrix"), is(sT.n, "sparseMatrix"),
dT@diag == "U", dT.n@diag == "N", sT.n@diag == "N",
all(dT == dT.n), all(dT == sT.n))
也可以看看
相关用法
- R diagonalMatrix-class 对角矩阵的“diagonalMatrix”类
- 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大神的英文原创作品 Transform Triangular Matrices from Unit Triangular to General Triangular and Back。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。