Schur-methods
位于 Matrix
包(package)。 说明
计算 实数矩阵 的 Schur 分解,其具有一般形式
其中 是正交矩阵, 是块上三角矩阵,其中 和 对角块指定 的实数和复数共轭特征值。 的列向量是 的 Schur 向量, 是 的 Schur 形式。
方法基于 LAPACK 例程 dgees
构建。
用法
Schur(x, vectors = TRUE, ...)
参数
x |
|
vectors |
一个合乎逻辑的。如果 |
... |
传入或传出方法的更多参数。 |
值
表示分解的对象,如果 vectors = TRUE
则继承自虚拟类 SchurFactorization
。目前,在这种情况下,特定类始终是Schur
。例外情况是 x
是传统矩阵,在这种情况下,结果是包含 Schur
对象的 Q
、 T
和 EValues
槽的命名列表。
如果 vectors = FALSE
,则结果是相同的命名列表,但没有 Q
。
例子
showMethods("Schur", inherited = FALSE)
set.seed(0)
Schur(Hilbert(9L)) # real eigenvalues
(A <- Matrix(round(rnorm(25L, sd = 100)), 5L, 5L))
(sch.A <- Schur(A)) # complex eigenvalues
## A ~ Q T Q' in floating point
str(e.sch.A <- expand2(sch.A), max.level = 2L)
stopifnot(all.equal(A, Reduce(`%*%`, e.sch.A)))
(e1 <- eigen(sch.A@T, only.values = TRUE)$values)
(e2 <- eigen( A , only.values = TRUE)$values)
(e3 <- sch.A@EValues)
stopifnot(exprs = {
all.equal(e1, e2, tolerance = 1e-13)
all.equal(e1, e3[order(Mod(e3), decreasing = TRUE)], tolerance = 1e-13)
identical(Schur(A, vectors = FALSE),
list(T = sch.A@T, EValues = e3))
identical(Schur(as(A, "matrix")),
list(Q = as(sch.A@Q, "matrix"),
T = as(sch.A@T, "matrix"), EValues = e3))
})
参考
The LAPACK source code, including documentation; see https://netlib.org/lapack/double/dgees.f.
Golub, G. H., & Van Loan, C. F. (2013). Matrix computations (4th ed.). Johns Hopkins University Press. doi:10.56021/9781421407944
也可以看看
类Schur
及其方法。
通用函数 expand1
和 expand2
,用于根据结果构造矩阵因子。
通用函数 Cholesky
、 BunchKaufman
、 lu
和 qr
用于计算其他因式分解。
相关用法
- R Schur-class 舒尔因式分解
- R Subassign-methods “[<-”的方法 - 分配给“矩阵”的子集
- R Subscript-methods “[”的方法:在“Matrix”包中提取或取子集
- 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 ldenseMatrix-class 密集逻辑矩阵的虚拟类“ldenseMatrix”
- R norm-methods 矩阵范数
- R ngeMatrix-class 一般密集非零模式矩阵的“ngeMatrix”类
- R CAex 阿尔伯斯的示例矩阵与“困难”特征分解
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Methods for Schur Factorization。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。