householder变换和QL算法
我在用householder变换和QL算法计算矩阵的特征值时有一疑惑:为什么不干脆用householder变换把原矩阵转换为对角矩阵
而要先householder变换把原矩阵转换为三对角矩阵,再用QL算法把三对角矩阵化为对角矩阵呢?
[ 本帖最后由 spring_zhao 于 2008-4-10 16:03 编辑 ] .
householder变换很多情况下是不能直接将一个矩阵变换成对角矩阵的,对角矩阵实际上就是特征值了,但householder变换一般都可以将矩阵变换成三对角矩阵,这样再用QL法计算特征值计算量要节省很多,但也不是所有的矩阵都可以变为三对角的... .
回复 2楼 的帖子
你所指的不是所有的矩阵是指那些不是对称矩阵的矩阵吧!我用传统的QR算法,发现很难收敛
我的做法是这样的:
1 首先将矩阵a1,QR分解为Q和R
2 然后另a2=RQ
3 判断a2的非对角线元素是否《0.00001
4 小于立即循环结束,不小于返回到1,a1=a2
这样做有何不妥吗,我的程序很长时间的都不收敛。 原帖由 spring_zhao 于 2008-4-10 20:45 发表 http://www.chinavib.com/forum/images/common/back.gif
你所指的不是所有的矩阵是指那些不是对称矩阵的矩阵吧!
我用传统的QR算法,发现很难收敛
我的做法是这样的:
1 首先将矩阵a1,QR分解为Q和R
2 然后另a2=RQ
3 判断a2的非对角线元素是否《0.00001
4 小 ...
类似你这个思路我记得在一篇文章里见过,那篇文章的作者只是提供了这样一个思路,没有给出结果
回复 4楼 的帖子
能否介绍一下你的在解决这种问题时的思路呢[ 本帖最后由 spring_zhao 于 2008-4-14 18:44 编辑 ] 你解 实数对称阵吗?
实数对称阵要改为三对角阵
再用专门的三对角阵的方法 才快
我认为你程序上可能有问题 从理论上QR在实域是收敛的..
你可以去找找周长发的书 上面有一些代码
回复 6楼 的帖子
是普通的一般的实矩阵,不对称的回复 6楼 的帖子
我去看了这本书,我发现我这个思路已经很落伍了,几乎找不到相关的例子。书中叙述的最多的就是带原点位移的双重步QR方法计算实上H阵的全部特征值的算法。
这种算法很难理解,我看了几遍都无法理解,可否有达人给解释一下。 强烈支持spring_zhao的工作,希望有个好的结果啊,期待:victory: 去看看43 1079238 矩阵计算的理论与方法徐树方编著
你的工作具体是什么?
回复 10楼 的帖子
我的工作是求时变系统的固有频率,也就是求微分方程的特征值。我现在从最简单的开始,目前对一般矩阵的特征值求借已知道的差不多,下面将学习对称矩阵的特征值求解,也就是要学会隐式QL算法
不知道你可否有好的建议,针对求解时变系统的固有频率 看你要求多少了, 要不要引到复数域..?
要是都求建议用 三对角 的QR方法
要是就低阶建议用LANCZOS方法..
回复 12楼 的帖子
对称实矩阵的特征值应该都是实数,所以不会用到复数域。恩,我是要求得所有的特征值都 三对角 的QR方法 我认为是比较快的 ..比雅可比 要好的多.. 看看米罗维奇 Meirovith L 著的结构动力学计算方法应该不会迷惑了
页:
[1]
2