【发布时间】:2018-11-24 01:49:33
【问题描述】:
我正在尝试在 python 中对 complex 对称矩阵进行对角化。
我查看了 numpy 和 scipy linalg 例程,但它们似乎都处理 Hermitian 或实对称矩阵。
我正在寻找的是某种方法来获得我的起始复杂对称矩阵的高木因式分解。这基本上是标准的特征分解 S = V D V^-1 但是,由于起始矩阵 S 是对称的,因此生成的 V 矩阵应该自动正交,即 V.T = V^-1。
有什么帮助吗?
谢谢
【问题讨论】:
-
稍微澄清一下:Takagi 分解是奇异值分解的一个特例。 D 中的值是 S 的奇异值,而不是 S 的特征值。
-
numpy 提供了两组与特征值相关的例程:一组用于一般矩阵,另一组用于厄密矩阵(包括实数对称矩阵)。您的矩阵不是厄米矩阵,因此您无法利用这些特殊例程,但一般情况下的矩阵将毫无问题地工作。另一方面,正如@WarrenWeckesser 指出的那样,Takagi 分解不仅仅是复杂对称矩阵的对角化,通常不能从矩阵的特征分解或 SVD 构造。
-
是的,抱歉,这取决于起始矩阵是否正常。
标签: python numpy matrix scipy symmetric