北航数值分析大作业二
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北航数值分析大作业二
————————————————————————————————作者: ————————————————————————————————日期:
数值分析大作业
(二)
学院名称宇航学院
专业名称航空宇航推进理论与工程学生姓名段毓
学号SY1615306
2016年11月5日
1 算法设计方案
首先将矩阵A 进行拟上三角化,把矩阵A 进行QR 分解,计算出RQ 。 要得出矩阵A 的全部特征值,首先对A 进行QR 的双步位移得出特征值。 最后,采用列主元的高斯消元法求解特征向量。
1.1 A 的拟上三角化
因为对矩阵进行QR 分解并不改变矩阵的结构,因此在进行QR 分解前对矩阵A 进行拟上三角化可以大大减少计算机的计算量,提高程序的运行效率。具体算法如下所示,
记A A =)
1(,并记)(r A 的第r 列至第n 列的元素为
()n r r j n i a r ij
,,1,;,,2,1)
( +==。 对于2,,2,1-=n r 执行 若
()n r r i a r ir
,,3,2)
( ++=全为零,则令)()1(r r A A =+,转5;否则转2。
计算
()∑+==
n
r
i r ir r a d 1
2
)(
()()r r r r r r r r r r d c a d a c ==-=++则取,0sgn )(,1)(,1若
)(,12r r
r r r r a c c h +-=
令
()
n
T
r nr
r r r r r r r r R a a c a u ∈-=++)()(,2)(,1,,,,0,,0 。
计算
r r T r r h u A p /)(=
r r r
r r T
r r h u p t /=
r r r r u t q -=ω
T r
r T r r r r p u u A A --=+ω)()1(
继续。
1.2 A 的QR分解
具体算法如下所示,
记)
1(1-=n A A ,并记[]
n
n r ij r a A ⨯=)(,令I Q =1 对于1,,2,
1-=n r 执行 1.若
()n r r i a r ir ,,3,1)
( ++=全为零,则令r r Q Q =+1r r A A =+1,转5;否则转2。
2.计算
()∑=
=
n
r
i r ir r a d 2
)(
()()r r r r r r r r r r d c a d a c ==-=++则取,0sgn )
(,1)(,1若
)(,2r r r r r r a c c h -=
3.令
()
n T
r nr r r r r r r r r R a a c a u ∈-=+)()(,2)(,,,,,0,,0 。
4.计算
r r T r r h u A p /)(=
r r r
r r T
r r h u p t /=
r r r r u t q -=ω
T r
r T r r r r p u u A A --=+ω)()1(
5.继续。
1. 3 A 的特征值
为了加快收敛速度,采用带双步移位的QR 分解求解A 的全部特征值,具体算法如下,
使用矩阵的拟上三角化算法把矩阵A 化为你上三角阵;给定经度水平和最大迭代次数L 。
记,令k=1,m=n 。
如果,则得到A的一个特征值,置m:=m -1(降阶),转(5),否则转(4)。 如果,则得到矩阵A的两个特征值,为二阶子阵
⎥⎥⎦⎤⎢⎢⎣⎡=----)
()(1,(k),1)
(1,1 k mm k m m m m k m m k
a a a a D
的两个特征根,置m:=m-1(降阶),转(5);否则转(6)。
如果m=1,则得到A 的一个特征根,转(9),如果m=0,转(9)。否则转(3)。 如果k =L,则计算失败。否则转(7)。 记,计算
k
k T k k k k k k k k k k m
m k m m k mm k m m k mm
k m m Q A Q A QR M R Q M I tI sA A M a a a a t a a s ==+-=-=+=+------12)(,1)(1,)()(1,1)
()(1,1)
分解作对阶单位矩阵是( )m (
,转(3)。
A的全部特征值以计算完毕,停止计算。 其中,k
M 的QR 分解与
1
+k A 的计算用下列算法实现:
记
k
m m r ij r m m ij k A C b B b M B ====⨯⨯1)()1(1,][,][。
对于1,,2,1-=m r 执行 若
()m r r i b r ir
,,2,1)
( ++=全为零,则令r r r r C C B B ==++11,,转5;否则转2。
计算
()
∑==
m
r
i r ir
r b d 2
)(
()()
r r r r r r r rr r d c a d b c ==-=+则取若,0sgn )(,1)(
)(2r rr
r r r b c c h -=
令
()
m
T
r mr
r r r r r rr r R b b c b u ∈-=+)
()(,1)(,,,,0,,0 。
计算
r r T r r h u B v /=
T r r r r v u B B -=+1
r r T r r h u C p /=