每个实矩阵可以简化为真正的 Schur 形式使用正交相似变换. 这里的矩阵是准三角形,主对角线上有 1 x 1 或 2 x 2 块。每个 1×1 块对应一个实特征值并且每个 2×2 块对应于一对复共轭特征值.
特征值重排序问题包括找到一个正交相似变换这样用户选择的特征值沿着左上角的对角线出现.
在 LAPACK 中,相关的双精度例程称为 DTRSEN。Daniel Kressner 编写了一个名为 BDTRSEN 的屏蔽版本。ScaLAPACK 例程是 PDTRSEN。
我正在寻找在解决特征值重排序问题方面取得进展会带来真正好处的应用程序和算法。
我们可以很容易地生成准三角形形式的测试矩阵,但是我们很难确定用户选择特征值的实际分布的形状。
从我的角度来看,带有 Ritz 加速的子空间迭代是测试重新排序算法改进的理想算法。它需要(稀疏)矩阵向量乘法、高 QR 算法和重新排序算法。
然而,我很难找到现实生活中的问题,其中很明显一组特定的特征对在物理上很有趣。
我们可以使用共享内存机器对维度为 40,000 的密集矩阵进行特征值重新排序。当用户选择所有特征值的大约 50% 时,可以获得最佳性能。