计算对称矩阵的谱分解/舒尔分解/奇异分解的直接方法是什么?
与迭代方法相比,“直接”意味着在 LU 分解、Cholesky 分解或 Golub 的 SVD 算法中。
当然,您可以应用前面提到的 Golub 算法,但我想那会打破轮子上的蝴蝶。
计算对称矩阵的谱分解/舒尔分解/奇异分解的直接方法是什么?
与迭代方法相比,“直接”意味着在 LU 分解、Cholesky 分解或 Golub 的 SVD 算法中。
当然,您可以应用前面提到的 Golub 算法,但我想那会打破轮子上的蝴蝶。
除了 QR 算法,分治法也值得一提。它适用于对称三对角矩阵,但任何矩阵都可以通过 Lanczos 方法* 简化为这种形式。它取决于观察到,三对角矩阵在 1 阶扰动下是块对角矩阵。然后可以找到子块的特征分解(并行!)并使用巧妙的技巧将它们粘合在一起。当然,找到块的特征值必须使用 Federico 提到的 QR 方法。
但是,您要求使用直接方法—— QR 和分而治之都是迭代方法。嗯,没有类似于 LU 分解的直接方法来找到大于 5 维矩阵的特征分解,只有迭代方法。如果存在这样一种直接方法,则可以将任意高次多项式的零点作为系数的代数函数,而伽罗瓦告诉我们这是不可能的。Golub-Kahan SVD 算法也是迭代的。
隐式 (Francis) QR 迭代,带有几个额外的技巧,是标准算法。我建议您查看诸如 Watkins 的The Matrix Eigenvalue Problem之类的书以了解详细信息;这是一个经典的话题。
(我发现您熟悉 Golub 的 SVD 但不熟悉 QR,这很不寻常——这两种方法相似,通常一起教授)。