- 主题:请教一个幂迭代计算矩阵多个特征值的问题 (转载)
【 以下文字转载自 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.*
直接用krylov子空间类的方法不行么?
【 在 aimto 的大作中提到: 】
: 【 以下文字转载自 Mathematics 讨论区 】
: 发信人: aimto (目标), 信区: Mathematics
: 标 题: 请教一个幂迭代计算矩阵多个特征值的问题
: ...................
--
FROM 202.113.176.*
N这么小,都算出来也花不了太多时间
【 在 aimto 的大作中提到: 】
: 【 以下文字转载自 Mathematics 讨论区 】
: 发信人: aimto (目标), 信区: Mathematics
: 标 题: 请教一个幂迭代计算矩阵多个特征值的问题
: ...................
--
FROM 211.86.151.*
工程上,其实是商用CPU,需要在不超过10毫秒的时间内,计算出大约1000*500个这样的矩阵的特征值和特征向量。
【 在 sssss 的大作中提到: 】
: N这么小,都算出来也花不了太多时间
:
--
FROM 123.127.220.*
这矩阵很小啊,直接求所有本征值。上幂法没意义。
【 在 aimto 的大作中提到: 】
: 【 以下文字转载自 Mathematics 讨论区 】
: 发信人: aimto (目标), 信区: Mathematics
: 标 题: 请教一个幂迭代计算矩阵多个特征值的问题
: ...................
--来自微微水木3.5.12
--
FROM 1.85.61.*
对称或非对称?
实矩阵或复矩阵
正定或半正定或非正定矩阵
是否包含重根?
矩阵维数不超过100,为啥不能直接用OpenBLAS、MKL和CUDA相应的LAPACK库,用QR法计算全部特征对呢?硬件平台受限制?
【 在 aimto 的大作中提到: 】
: 【 以下文字转载自 Mathematics 讨论区 】
: 发信人: aimto (目标), 信区: Mathematics
: 标 题: 请教一个幂迭代计算矩阵多个特征值的问题
: ...................
--
FROM 180.162.135.*
只要有现成的,最好还是不要自己搞,除非原理上能够快至少上百倍。
记得当年自己Fortran上编了个高斯消元法,用起来又慢还经常出错,最后还是用库省心。
【 在 aimto 的大作中提到: 】
: 发信人: aimto (目标), 信区: Mathematics
: 标 题: 请教一个幂迭代计算矩阵多个特征值的问题
: 发信站: 水木社区 (Thu May 5 11:03:22 2022), 站内
: ...................
--
FROM 129.15.66.*
matlab的eigs函数,其实就是用的krylov分解,分解的方法还很多,都是迭代算法。
但是我跑了9000个10*10的对称矩阵,算其中6个基,耗的时间比eig计算10个基的时间还长。
感觉不合理啊
【 在 shookware 的大作中提到: 】
: 直接用krylov子空间类的方法不行么?
:
--
FROM 115.183.228.*
我对比了一下计算速度,特征值全计算,比幂迭代,耗时是幂迭代的2.4倍。
耗时这个指标对需求很严格。
【 在 youself 的大作中提到: 】
: 这矩阵很小啊,直接求所有本征值。上幂法没意义。
--
FROM 115.183.228.*
复向量的相关函数,对称正定复矩阵。
【 在 pasuka 的大作中提到: 】
: 对称或非对称?
: 实矩阵或复矩阵?
: 正定或半正定或非正定矩阵?
: ...................
--
FROM 115.183.228.*