【发布时间】:2015-02-09 13:03:12
【问题描述】:
给定一个对称矩阵A和一个正定矩阵B,我们可以用scipy的scipy.linalg.eigh或matlab的eig求特征值和广义特征向量。
有没有相应的直接方法来做相反的事情?
例如,我如何生成一对对称/正定矩阵,使得与最大幅度特征值相关联的广义特征向量是一个特定向量v?
【问题讨论】:
标签: matlab numpy scipy linear-algebra
给定一个对称矩阵A和一个正定矩阵B,我们可以用scipy的scipy.linalg.eigh或matlab的eig求特征值和广义特征向量。
有没有相应的直接方法来做相反的事情?
例如,我如何生成一对对称/正定矩阵,使得与最大幅度特征值相关联的广义特征向量是一个特定向量v?
【问题讨论】:
标签: matlab numpy scipy linear-algebra
给定对称的 A 和对称的正定 B,generalized eigenvalue problem 是找到非奇异 P 和对角线 D 使得
A P = B P D
D 的对角线包含广义特征值,P 的列 是对应的广义特征向量。
对于这样的解,P和B满足B-正交条件
P.T B P = I
“逆向”问题可以表述为:给定非奇异 P 和对角线 D, 找到对称的 A 和对称的正定 B 使得
A P = B P D
这可以用一点代数来解决。 在左边乘以 P.T,并使用 B 正交:
P.T A P = D
所以
A = inv(P.T) D inv(P)
为了得到B,解决B-正交条件
B = inv(P.T) inv(P)
= inv(P P.T)
这些是给定 P 和 D 的 A 和 B 的公式。
【讨论】: