【 以下文字转载自 Mathematics 讨论区 】
发信人: aimto (目标), 信区: Mathematics
标 题: 请教一个幂迭代计算矩阵多个特征值的问题
发信站: 水木社区 (Thu May 5 11:03:22 2022), 站内
幂迭代一般求矩阵的最大特征值,和对应的特征向量。
我的问题是求3到6个特征值,以及对应的特征向量。当然,矩阵的维数在大约N*N,N大约在10到20之间。
我讲一下我的计算过程:
矩阵是一个复向量的自相关矩阵,记作R1(N*N),用幂迭代方法,计算出最大的特征值e1,对应的特征向量v1(1*N).
然后构造出第2个矩阵R2=R1-e1*v1'*v1。 '代表共轭转置。 这样R2的维数也是(N*N)。再用幂迭代的方法,计算出R2的最大特征值e2,以及对应的特征向量v2(1*N)。
以此类推,算出3个,或者最多6个特征值以及特征向量。或根据特征值得大小判断。
现在发现,唯一能够保证正确的,是e1和v1,和matlab自己计算出来的结果一样。其它e2,e3,v2,v3等等都不对。
是不是这种思路本身就有问题?
或者有别的方法,只计算部分特征值和特征向量。(主要是计算量的原因)
--
FROM 123.127.220.*