从特征值分解中恢复原始矩阵

时间:2014-07-03 13:04:47

标签: matlab

根据维基百科,特征值分解应该是:

http://en.wikipedia.org/wiki/Square_root_of_a_matrix

参见对角化计算方法部分:

Sp如果矩阵A被分解使得它具有特征向量V和特征值D,那么A = VDV'。

A=[1 2; 3 4];
[V,D]=eig(A);
RepA=V*D*V';

然而在Matlab中,A和RepA不相等?

为什么会这样?

巴兹

1 个答案:

答案 0 :(得分:5)

一般来说,公式是:

RepA = V*D*inv(V);

或者,为了在MATLAB中获得更好的数字精度,

RepA = V*D/V;

当A是对称的时,V矩阵将变为正交,这将产生inv(V) = V.'。 A不是对称的,所以你需要实际的逆。

试一试:

A=[1 2; 2 3];  % Symmetric
[V,D]=eig(A);
RepA = V*D*V';