使用ZHEEVD时重新排列特征向量矩阵顺序

时间:2014-08-06 21:51:13

标签: matrix fortran fortran90 lapack

我注意到当使用lapack子程序ZHEEVD(或ZHEEV)时,特征向量矩阵排列不对应于特征值排序。例如,我的意思是:

E = [E_1,E_2,E_3]

V = [v_3,v_2,v_1]

如果需要,我可以提供一个例子,但问题很简单:有没有办法重新排列特征向量矩阵,以便

H*v_i = E_i*v_i

(其中H是对称实矩阵,v_i是与特征值E_i相关联的特征向量) 特征值 - 特征向量在lapack子例程中对应吗?

1 个答案:

答案 0 :(得分:1)

我有点惊讶的是,特征向量不是特征值的顺序,但你可以尝试ZHEEVX。根据文件,

  

Z的前M列             包含矩阵A的标准正交特征向量             对应于所选择的特征值,具有第i个             Z列保持与W(i)相关的特征向量。

当然,语法有点复杂......