先上干货 ,包含word报告与源码
链接:https://pan.baidu.com/s/1P5RQZOG0ac6EGPOYzW99fQ
提取码:bvbf
稍加说明,这是java版的源码以及上交作业的完整文档,如果你胆子大,可以直接将其作为作业上交,后果自负。云盘文件如上
首先 ,根据题目要求计算10×10的矩阵
这样就生成了初始矩阵A,对A作相似变换为拟上三角矩阵(又称上Hessenberg矩阵)---A(n-1),拟上三角化的目的在于服务下一步QR分解,可极大减少计算量(当然题目要求这样做)
拟上三角化后得到正交矩阵Q和上三角矩阵R,A=QR
双步位移的QR方法求特征值,因为与A是相似变换得到,所以特征值一样,求
的特征值即A的特征值。
参考QR分解算法,求Mk和Ak+1时采用如下算法,减少计算量,加快运算速度:
列主元gauss消去法思想求特征向量,求得特征值后,由定义式Aα=λα可知,(A-λ)α=0,故可循环利用gauss消去思想求解。最后归一化。
最终结果为:
详细内容过程、思路、数据都可参见百度云盘中word
本题注意事项:算法等没有特别需要注意的地方,只是双步位移的QR方法有内容是跳转第几步,这种特殊的循环是值得关注的。且本题涉及虚数,注意虚数在程序中的表示和生成。程序中是利用数组记录实部和虚部。
凡是开源后果自负