资源描述:
《QR分解的数值效果报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于Householder、givens、gram-schmit、modifiedgram-schmit方法的QR分解数值效果分析报告班级:0811101学号:081110215姓名:桑树浩21目录§1.摘要3§2.关键词3§3.引言3§4.理论基础4§5.数值实验8§6.总结与分析19§7.参考文献与附注…………………………………………………….2021QR分解数值效果分析报告基于数值试验的gram-schmit方法,modifiedgram-schmit方法,householder变换,givens变换计算矩阵QR分解。一.摘
2、要:由于工程需要引入了QR分解。可以利用多次正交变换(householder变换、givens变换、gram-schmit方法,modifiedgram-schmit方法)来实现QR分解,各个方法各有优劣和其意义,在此就分析一下其各自效果。经过本次数值实验知道givens变换所用时间较长,但是精确度还是比较高的,householder变换所用时间最短,gram-schmit方法,modifiedgram-schmit方法所用时间较短,精度最高。可以根据不同需要选用不同算法。二.关键词:householder变换givens变换gr
3、am-schmit方法modifiedgram-schmit方法QR分解数值效果比较三.引言:很多情况下在工程中抽象出来的数学方程组是超定的,没有精确解,这样就需要找一个在某种意义下最接近精确解的解。设A是m*n的实矩阵,
4、
5、Ax-b
6、
7、2=
8、
9、Q’(Ax-b)
10、
11、2,这样min
12、
13、Ay-b
14、
15、2就等价与min
16、
17、Q’Ax-Q’b
18、
19、2,为方便求解,需要Q’A是上三角矩阵,这样引入QR分解就比较求解方便。可以利用多次正交变换(householder变换、givens变换、gram-schmit方法,modifiedgram-sch
20、mit方法)来实现QR分解1.豪斯霍尔德变换(Householdertransformation)又称初等反射(Elementaryreflection),最初由A.CAitken在1932年提出[1]。AlstonScottHouseholder在1958年指出了这一变换在数值线性代数上的意义。这一变换将一个向量变换为由一个超平面反射的镜像,是一种线性变换。其变换矩阵被称作豪斯霍尔德矩阵,在一般内积空间中的类比被称作豪斯霍尔德算子。超平面的法向量被称作豪斯霍尔德向量。2.Givens变换:欲把一个向量中许多分量化为零,可以用Ho
21、useholder变换,例如前面所讲到的把一个向量中若干相邻分量化为零。如果只将其中一个分量化为零,则就采用Givens变换,它有如下形式:21其中.易证是一个正交阵。Givens变换又叫平面旋转变换。3.Gram-Schmidt正交化方法:在线性代数中,如果内积空间上的一组向量能够组成一个子空间,那么这一组向量就称为这个子空间的一个基。Gram-Schmidt正交化提供了一种方法,能够通过这一子空间上的一个基得出子空间的一个正交基,并可进一步求出对应的标准正交基。Gram-Schmidt正交化的基本想法,是利用投影原理在已有正交
22、基的基础上构造一个新的正交基。4.modifiedGram-schmidt正交化方法:在Gram-schmidt正交化过程中产生了r(i,j)=q(i)’*v(j)+∑q(i)’*r(k,j)*q(k)[k=1,2,3,…j-1]后面这一项在计算过程中由于机器精度有限会产生计算误差,故可以优化为r(I,j)=q(i)’*v1(j)[v1(j)=v(j)+∑r(k,j)*q(k)[k=1,2,3,…j-1]]四.理论依据:1.householder变换:任意的一个向量x,经过一个正交变换H=I-2*w*w’后总可以变为一个与之范数相
23、等的另一个向量Hx。如上图中所示,记v=Hx-xw=v/
24、
25、v
26、
27、2H=I-2*w*w’21上述H既为所要求的householder变换。具体操作时将需要变化的矩阵的每一列当做一个向量,第一列变为除了第一个元素都为0的向量…第i列变为除了前i个元素都为0的向量...为了保证在每次变化时不改变已经变好的0元素,第i次只变化每列第i个元素到第n个元素。每个变化矩阵的形式是[I0;0H]。算法如下:q=diag(ones(n,1));初始化q向量fori=1:n-1x=a(i:n,i);y=[];y(1)=
28、
29、x
30、
31、2;forj=2:n
32、-i+1y(j)=0;endw=(y'-x)/
33、
34、y'-x
35、
36、2;b=diag(ones(n-i+1,1))-2*w*w';c=zeros(n);e=diag(ones(i-1,1));c(1:i-1,1:i-1)=e;c(i:n,i:n)=b;h