北航数值分析大作业二(纯原创,高分版)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(R_4 ,I_4 )=( 1.590313458807e+000, 0.000000000000e+000)
(R_5 ,I_5 )=(-1.493147080915e+000, 0.000000000000e+000)
(R_6 ,I_6 )=(-9.891143464723e-001, 1.084758631502e-001)
-0.8945216982
-0.0993313649
-1.0998317589
0.9132565113
-0.6407977009
0.1946733679
-2.3478783624
2.3720579216
1.8279985523
-1.2630152661
0.6790694668
-0.4672150886
6.220134985374e-001
-1.119962139645e-001
-2.521344456568e+000
-1.306189420531e+000
-3.809101150714e+000
8.132800093357e+000
-1.230295627285e+000
-6.753086301215e-001
而其本质就是
1.令 以及最大迭代步数L;
2.若m≤0,则结束计算,已求出A的全部特征值,判断 或 或m≤2是否成立,成立则转3,否则转4;
3.若 ,则得一个特征值 ,m=m-1,降阶;若 ,则计算矩阵:
的特征值得矩阵A的两个特征值,m=m-2,降阶,转2.;
4.若k≤L,成立则令
k=k+1,转2,否则结束计算,为计算出矩阵A的全部特征值;
目录
题目:2
算法设计思路和方案2
关于第一步矩阵A的拟上三角化2
关于对矩阵 进行带双步位移的QR分解迭代3
关于求从属于矩阵A的实特征值 的特征向量3
计算结果4
发现的现象与问题:7
探究带双步位移的QR分解比一般QR分解节省的计算量7
探究拟上三角化对QR分解迭代收敛速度的影响7
关于直接单步QR分解计算发现的问题9
-0.0000000000
0.0000000000
0.9710739102
-0.1298967369
0.0278024208
-0.0000000000
-0.0000000000
-0.0000000000
-0.4525143455
0.5048901528
-0.1211210194
0.0000000000
关于第一步矩阵A的拟上三角化
对于此步书上已经有明确的思路和实现方法了,只是在编程的过程中注意对下式在计算的时候应注意避免矩阵乘矩阵
如果设 不全为零,则有:
为了避免矩阵相乘采用如下步骤计算
其中
1.计算中间向量 ;
2.从 计算 ;
3.计算中间向量 ;
4.从 计算 ;
关于对矩阵 进行带双步位移的QR分解迭代
2.711792754464e+000
1.000000000000e+000
从属于特征值lamd=-1.
493147080915e+000的特征向量为:
-1.603100466497e+001
2.222393468390e+001
4.102048777316e-001
-7.927868370712e+000
关于求从属于矩阵A的实特征值 的特征向量
在求出A的全部特征值后,求从属于矩阵A的实特征值 的特征向量的时候,一个思路是对矩阵做平移:
后对矩阵B使用反幂法,其中 为适当选择的一个小量,但这样做计算量大,没有充分利用 已知了这个条件, 已知时,求矩阵A的从属于 的特征向量等价于求以下线性方程组的一个非零解:
-4.889147987577e+000
-4.729178083951e+000
8.847275276331e+000
-7.115803923364e-001
-8.712562885319e+000
-2.862883769508e+000
1.474547625202e+001
-7.048958632070e+000
2.758257472212e+000
1.573499679563e+000
-6.329932712430e-001
-1.661504681073e+000
-1.211002533359e+001
7.178518173804e+000
-5.276530148442e+000
2.842912197480e+001
0.0000000000
-0.0000000000
0.7039911374
0.1267535523
-0.3714696736
0.0000000000
-0.0000000000
0.0000000000
-0.0000000000
-0.4919586872
0.4081509766
A(n-1)进行QR分解迭代后所得的矩阵RQ的前三列和后三列为:
-0.0000000000
0.0000000000
0.0000000000
-0.4665979167
0.2941231566
-0.1034421114
0.0000000000
-0.0000000000
0.0000000000
-0.2434337858
0.6736286085
0.2624772905
0.0000000000
-0.0000000000
0.0000000000
-0.1135339714
-0.2838529398
-0.0400502870
0.0000000000
0.0000000000
-0.0000000000
0.9432879573
0.1855615516
-0.1449241409
-0.0000000000
(R_10,I_10)=( 4.954990923633e-002, 0.000000000000e+000)
迭代次数为13
从属于特征值lamd= 3.389613438816e+000的特征向量为:
-4.378520514631e-001
-9.088251511881e-001
-1.981899348005e+000
1.018984671687e-001
-7.277658020179e-002
-6.300241436461e-001
-3.357975029753e-001
-3.762141416635e-001
1.000000000000e+000
从属于特征值lamd= 9.432879572769e-001的特征向量为:
尽管书上给出了算法实现的11个步骤,然而在思路很混乱,在判断某步QR迭代后能否对得到的矩阵 求部分特征值以达到降阶方面,按照书上的判断方法,几乎不可避免的得使用goto语句,这使得程序流程变得混乱。经过仔细分析后,可以发现能否求解 的部分特征值然后实现矩阵 降阶的关键在于判断一下拟上三角阵
是否存在下列形式的子块
0.0000000000
0.3396553973
-2.4182712673
0.3064680671
-1.9779532352
1.0491710053
0.0000000000
-0.0000000000
0.0000000000
-0.0072788866
0.0801596621
-0.1137955832
0.0000000000
-6.769367578156e+000
1.000000000000e+000
发现的现象与问题:
探究带双步位移的QR分解比一般QR分解节省的计算量
0.0000000000
-0.0000000000
-0.0341345177
-0.1213263559
-0.1053724507
-0.0000000000
-0.0000000000
0.0000000000
-0.2535373674
0.5841485472
-0.5129627500
-0.0000000000
1.因为矩阵R的秩为10-p,所以一定存在 ,当 时有 成立,编程计算时,从 ,用判断 是否成立的方式找出
2.从 :
令 ,带入方程 ,回代,求出其余的 ,则可得方程 的一个解
如此即可以得到方程 的p个线性无关的解, ,
对于本例,对所用的特征值 ,其重数p=1。
计算结果
进行拟上三角A(n-1)为:
Table1矩阵 的前三列和后三列
(R_7 ,I_7 )=(-9.891143464723e-001, -1.084758631502e-001)
(R_8 ,I_8 )=( 9.432879572769e-001, 0.000000000000e+000)
(R_9 ,I_9 )=( 6.489488202111e-001, 0.000000000000e+000)
为求该方程的一个非零解,可以先对矩阵B进行QR分解,然后在方程组两边同乘Q,可得同解方程组:
其中
由于在本例中 是矩阵A的特征值,故矩阵B的秩r=10-p,其中p≥1是特征值 的重数,而R和矩阵B有相同的秩,因而方程 有p个线性无关的解,即为矩阵A的p重特征值 的p个特征向量,而求解方程 的p个线性无关的解可以用如下算法实现:
-1.231438034928e+001
1.000000000000e+000
从属于特征值lamd= 6.489488202111e-001的特征向量为:
4.456328078303e+000
2.932018465334e+000
1.571961160795e+001
-1.935675495676e+000
源程序10
数值分析上机实习作业二
王强SY1413315
题目:
试求矩阵 的全部特征值,并对其中的每个实特征值求相应的特征向量,已知:
)
说明:
1.在所用的算法中,凡是要给出精度水平的ε,都取 。
2.打印以下内容:
(1)采用带双步位移的QR分解法,说明算法设计方案和思路。
(2)全部源程序。
(3)矩阵A经过拟上三角化后的矩阵 。
-2.949946310488e+001
7.459839523653e+000
-9.288130954577e+000
1.596125286625ee+000
从属于特征值lamd= 4.954990923633e-002的特征向量为:
(R_1 ,I_1 )=( 3.389613438816e+000, 0.000000000000e+000)
(R_2 ,I_2 )=(-2.336865932239e+000, 8.934379210213e-001)
(R_3 ,I_3 )=(-2.336865932239e+000, -8.934379210213e-001)
Table2
3.3896134388
0.8353522441
-0.9407594118
-0.0764913134
0.9684803905
-0.4210340041
0.0000000000
-2.2554605972
-2.3696315551
0.1606195241
0.5797745140
0.0612218649
-1.082954963243e+000
-1.272010688636e+000
-1.083239380079e+000
3.626767839910e-001
1.691996941932e+000
2.127753771739e+000
1.000000000000e+000
从属于特征值lamd= 1.590313458807e+000的特征向量为:
-0.0000000000
1.7359544699
-1.1650233675
0.6339300597
-0.1308518929
0.3040301036
-0.0000000000
-0.0000000000
-1.2929375639
0.4236733937
-0.1019600827
0.1943660915
-0.0000000000
-0.0000000000
-0.0000000000
0.6418381910
-0.2915442394
-0.0000000000
-0.0000000000
-0.0000000000
-0.0000000000
-0.0144456373
0.0566605384
矩阵的所有特征值为:
(4)对矩阵 实行QR方法迭代结束后所得的矩阵;
(5)矩阵A的全部实特征值
(6)A相应的实特征值的特征向量。
(7)发现的现象与遇到的问题。
3.采用e型数输出实型数,并且至少显示12位有效数字。
算法设计思路和方案
该问题的求解起始主要分为三个步骤,第一步是对A拟上三角化得矩阵 ;第二步是对矩阵 进行带双步位移的QR分解迭代,并求出全部特征值;第三部是求出所有实特征值对应的特征向量。
(R_5 ,I_5 )=(-1.493147080915e+000, 0.000000000000e+000)
(R_6 ,I_6 )=(-9.891143464723e-001, 1.084758631502e-001)
-0.8945216982
-0.0993313649
-1.0998317589
0.9132565113
-0.6407977009
0.1946733679
-2.3478783624
2.3720579216
1.8279985523
-1.2630152661
0.6790694668
-0.4672150886
6.220134985374e-001
-1.119962139645e-001
-2.521344456568e+000
-1.306189420531e+000
-3.809101150714e+000
8.132800093357e+000
-1.230295627285e+000
-6.753086301215e-001
而其本质就是
1.令 以及最大迭代步数L;
2.若m≤0,则结束计算,已求出A的全部特征值,判断 或 或m≤2是否成立,成立则转3,否则转4;
3.若 ,则得一个特征值 ,m=m-1,降阶;若 ,则计算矩阵:
的特征值得矩阵A的两个特征值,m=m-2,降阶,转2.;
4.若k≤L,成立则令
k=k+1,转2,否则结束计算,为计算出矩阵A的全部特征值;
目录
题目:2
算法设计思路和方案2
关于第一步矩阵A的拟上三角化2
关于对矩阵 进行带双步位移的QR分解迭代3
关于求从属于矩阵A的实特征值 的特征向量3
计算结果4
发现的现象与问题:7
探究带双步位移的QR分解比一般QR分解节省的计算量7
探究拟上三角化对QR分解迭代收敛速度的影响7
关于直接单步QR分解计算发现的问题9
-0.0000000000
0.0000000000
0.9710739102
-0.1298967369
0.0278024208
-0.0000000000
-0.0000000000
-0.0000000000
-0.4525143455
0.5048901528
-0.1211210194
0.0000000000
关于第一步矩阵A的拟上三角化
对于此步书上已经有明确的思路和实现方法了,只是在编程的过程中注意对下式在计算的时候应注意避免矩阵乘矩阵
如果设 不全为零,则有:
为了避免矩阵相乘采用如下步骤计算
其中
1.计算中间向量 ;
2.从 计算 ;
3.计算中间向量 ;
4.从 计算 ;
关于对矩阵 进行带双步位移的QR分解迭代
2.711792754464e+000
1.000000000000e+000
从属于特征值lamd=-1.
493147080915e+000的特征向量为:
-1.603100466497e+001
2.222393468390e+001
4.102048777316e-001
-7.927868370712e+000
关于求从属于矩阵A的实特征值 的特征向量
在求出A的全部特征值后,求从属于矩阵A的实特征值 的特征向量的时候,一个思路是对矩阵做平移:
后对矩阵B使用反幂法,其中 为适当选择的一个小量,但这样做计算量大,没有充分利用 已知了这个条件, 已知时,求矩阵A的从属于 的特征向量等价于求以下线性方程组的一个非零解:
-4.889147987577e+000
-4.729178083951e+000
8.847275276331e+000
-7.115803923364e-001
-8.712562885319e+000
-2.862883769508e+000
1.474547625202e+001
-7.048958632070e+000
2.758257472212e+000
1.573499679563e+000
-6.329932712430e-001
-1.661504681073e+000
-1.211002533359e+001
7.178518173804e+000
-5.276530148442e+000
2.842912197480e+001
0.0000000000
-0.0000000000
0.7039911374
0.1267535523
-0.3714696736
0.0000000000
-0.0000000000
0.0000000000
-0.0000000000
-0.4919586872
0.4081509766
A(n-1)进行QR分解迭代后所得的矩阵RQ的前三列和后三列为:
-0.0000000000
0.0000000000
0.0000000000
-0.4665979167
0.2941231566
-0.1034421114
0.0000000000
-0.0000000000
0.0000000000
-0.2434337858
0.6736286085
0.2624772905
0.0000000000
-0.0000000000
0.0000000000
-0.1135339714
-0.2838529398
-0.0400502870
0.0000000000
0.0000000000
-0.0000000000
0.9432879573
0.1855615516
-0.1449241409
-0.0000000000
(R_10,I_10)=( 4.954990923633e-002, 0.000000000000e+000)
迭代次数为13
从属于特征值lamd= 3.389613438816e+000的特征向量为:
-4.378520514631e-001
-9.088251511881e-001
-1.981899348005e+000
1.018984671687e-001
-7.277658020179e-002
-6.300241436461e-001
-3.357975029753e-001
-3.762141416635e-001
1.000000000000e+000
从属于特征值lamd= 9.432879572769e-001的特征向量为:
尽管书上给出了算法实现的11个步骤,然而在思路很混乱,在判断某步QR迭代后能否对得到的矩阵 求部分特征值以达到降阶方面,按照书上的判断方法,几乎不可避免的得使用goto语句,这使得程序流程变得混乱。经过仔细分析后,可以发现能否求解 的部分特征值然后实现矩阵 降阶的关键在于判断一下拟上三角阵
是否存在下列形式的子块
0.0000000000
0.3396553973
-2.4182712673
0.3064680671
-1.9779532352
1.0491710053
0.0000000000
-0.0000000000
0.0000000000
-0.0072788866
0.0801596621
-0.1137955832
0.0000000000
-6.769367578156e+000
1.000000000000e+000
发现的现象与问题:
探究带双步位移的QR分解比一般QR分解节省的计算量
0.0000000000
-0.0000000000
-0.0341345177
-0.1213263559
-0.1053724507
-0.0000000000
-0.0000000000
0.0000000000
-0.2535373674
0.5841485472
-0.5129627500
-0.0000000000
1.因为矩阵R的秩为10-p,所以一定存在 ,当 时有 成立,编程计算时,从 ,用判断 是否成立的方式找出
2.从 :
令 ,带入方程 ,回代,求出其余的 ,则可得方程 的一个解
如此即可以得到方程 的p个线性无关的解, ,
对于本例,对所用的特征值 ,其重数p=1。
计算结果
进行拟上三角A(n-1)为:
Table1矩阵 的前三列和后三列
(R_7 ,I_7 )=(-9.891143464723e-001, -1.084758631502e-001)
(R_8 ,I_8 )=( 9.432879572769e-001, 0.000000000000e+000)
(R_9 ,I_9 )=( 6.489488202111e-001, 0.000000000000e+000)
为求该方程的一个非零解,可以先对矩阵B进行QR分解,然后在方程组两边同乘Q,可得同解方程组:
其中
由于在本例中 是矩阵A的特征值,故矩阵B的秩r=10-p,其中p≥1是特征值 的重数,而R和矩阵B有相同的秩,因而方程 有p个线性无关的解,即为矩阵A的p重特征值 的p个特征向量,而求解方程 的p个线性无关的解可以用如下算法实现:
-1.231438034928e+001
1.000000000000e+000
从属于特征值lamd= 6.489488202111e-001的特征向量为:
4.456328078303e+000
2.932018465334e+000
1.571961160795e+001
-1.935675495676e+000
源程序10
数值分析上机实习作业二
王强SY1413315
题目:
试求矩阵 的全部特征值,并对其中的每个实特征值求相应的特征向量,已知:
)
说明:
1.在所用的算法中,凡是要给出精度水平的ε,都取 。
2.打印以下内容:
(1)采用带双步位移的QR分解法,说明算法设计方案和思路。
(2)全部源程序。
(3)矩阵A经过拟上三角化后的矩阵 。
-2.949946310488e+001
7.459839523653e+000
-9.288130954577e+000
1.596125286625ee+000
从属于特征值lamd= 4.954990923633e-002的特征向量为:
(R_1 ,I_1 )=( 3.389613438816e+000, 0.000000000000e+000)
(R_2 ,I_2 )=(-2.336865932239e+000, 8.934379210213e-001)
(R_3 ,I_3 )=(-2.336865932239e+000, -8.934379210213e-001)
Table2
3.3896134388
0.8353522441
-0.9407594118
-0.0764913134
0.9684803905
-0.4210340041
0.0000000000
-2.2554605972
-2.3696315551
0.1606195241
0.5797745140
0.0612218649
-1.082954963243e+000
-1.272010688636e+000
-1.083239380079e+000
3.626767839910e-001
1.691996941932e+000
2.127753771739e+000
1.000000000000e+000
从属于特征值lamd= 1.590313458807e+000的特征向量为:
-0.0000000000
1.7359544699
-1.1650233675
0.6339300597
-0.1308518929
0.3040301036
-0.0000000000
-0.0000000000
-1.2929375639
0.4236733937
-0.1019600827
0.1943660915
-0.0000000000
-0.0000000000
-0.0000000000
0.6418381910
-0.2915442394
-0.0000000000
-0.0000000000
-0.0000000000
-0.0000000000
-0.0144456373
0.0566605384
矩阵的所有特征值为:
(4)对矩阵 实行QR方法迭代结束后所得的矩阵;
(5)矩阵A的全部实特征值
(6)A相应的实特征值的特征向量。
(7)发现的现象与遇到的问题。
3.采用e型数输出实型数,并且至少显示12位有效数字。
算法设计思路和方案
该问题的求解起始主要分为三个步骤,第一步是对A拟上三角化得矩阵 ;第二步是对矩阵 进行带双步位移的QR分解迭代,并求出全部特征值;第三部是求出所有实特征值对应的特征向量。