特征库中Schur因子分解中的重排序特征值
Reorder eigenvalues in Schur factorization in Eigen library
我正在将Eigen库与Eclipse C++一起使用。我想知道是否有一种方法或函数可以用来重新排序RealSchur
函数产生的Schur因子分解X=UTU',并返回重新排序的Schur矩阵TS和累积正交变换US,使得X=US*TS*US'
我想要的是类似于MATLAB函数"ordschur"的东西:http://de.mathworks.com/help/matlab/ref/ordschur.html
非常感谢。
此功能在函数DGES的LAPACK库中可用。
以下也是这个功能的帮助摘录:
DGEES computes for an N-by-N real nonsymmetric matrix A, the
eigenvalues, the real Schur form T, and, optionally, the matrix of
Schur vectors Z. This gives the Schur factorization A = Z*T*(Z**T).
Optionally, it also orders the eigenvalues on the diagonal of the
real Schur form so that selected eigenvalues are at the top left.
The leading columns of Z then form an orthonormal basis for the
invariant subspace corresponding to the selected eigenvalues.
A matrix is in real Schur form if it is upper quasi-triangular with
1-by-1 and 2-by-2 blocks. 2-by-2 blocks will be standardized in the
form
[ a b ]
[ c a ]
where b*c < 0. The eigenvalues of such a block are a +- sqrt(bc).
还有一个C版本的LAPACK可用,它被称为CLABACK
相关文章:
- 通过递归进行因子分解
- 二叉排序树无法编译
- 有人能分解一下这个c++模板的语法吗
- 仅使用绝对值对数组进行排序,并在C++中显示实际值
- C++选择排序算法中的逻辑错误
- 使用C++程序合并排序没有得到正确的输出
- 计算排序向量的向量中唯一值的计数
- 排序算法c++
- 使用2个键的cpp-stl::优先级队列排序不正确
- 将结构向量排序为子组
- 在c++中尝试对对象数组进行排序时,出现std:bad_alloc错误
- 如何对点云数据进行排序
- 对字符串进行排序时,在c++中处理sort()
- 是否有类似std::lower_bound的函数,而不需要排序/分区输入
- 下面是排序算法O(n)吗
- std::sort()函数无法对向量的一部分进行排序
- shell排序中的交换和比较
- clang格式:禁用排序包含
- 显示错误输出的简单数组排序程序
- 特征库中Schur因子分解中的重排序特征值