QR方法计算中小型矩阵的全部特征值
普通矩阵特征值的QR算法

普通矩阵特征值的QR 算法摘 要求矩阵的特征值有多种不同的办法,本文主要介绍用QR 法求矩阵的特征值,QR 法是目前求中等大小矩阵全部特征值的最有效方法之一,使用于求实矩阵或复矩阵的特征值,它和雅可比法类似,也是一种变换迭代法。
关键词:QR 分解 迭代序列 特征值 Matlab一 、QR 方法的理论:对任意一个非奇异矩阵(可逆矩阵)A ,可以把它分解成一个正交阵Q 和一个上三角阵的乘积,称为对矩阵A 的QR 分解,即A=QR 。
如果规定R 的对角元取正实数,这种分解是唯一的。
若A 是奇异的,则A 有零特征值。
任取一个不等于A 的特征值的实数μ,则A-μI 是非奇异的。
只要求出A-μI 的特征值和特征向量就容易求出矩阵A 的特征值和特征向量,所以假设A 是非奇异的,不是一般性。
设A=A 1 ,对A 1 作QR 分解,得A 1 = Q 1R 1,,交换该乘积的次序,得A 2 = R 1Q 1=,由于Q 1正交矩阵,A 1到A 2的变换为正交相似变换,于是A 1和A 2就有相同的特征值。
一般的令A 1=A ,对k=1,2,3,…..⎩⎨⎧==+)()(1迭代定义分解kk k k k k Q R A QR R Q A这样,可得到一个迭代序列{A k },这就是QR 方法的基本过程。
二、QR 方法的实际计算步骤Householder A Hessenberg B -----→=用阵作正交相似变换上第阵一步............*::::***⎛⎫⎪ ⎪ ⎪* ⎪** ⎪ ⎪ ⎪ ⎪*⎝⎭Householder 变换:如果 v 给出为单位向量而 I 是单位矩阵,则描述上述线性变换的是 豪斯霍尔德矩阵 (v * 表示向量 v 的共轭转置)H=I -2VV*1k k kGiven k k k B Q R B B R Q +=⎧-------→→⎨=⎩用变换产生迭代序列第二步12***n λλλ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦Householder A B -----→=用阵作正交相似变换(对称阵)三对角阵*****⎛⎫ ⎪ ⎪⎪*⎪**⎪ ⎪* ⎪ ⎪*⎝⎭三、化一般矩阵为Hessenberg 阵称形如11121112122212323331n n n n n nn nn h h h h h h h h h h h H h h ---⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦的矩阵为上海森堡(Hessenberg )阵。
数值分析QR方法求矩阵特征值和特征向量

四.实验代码: function [H,B]=Hessenberg(A) n=length(A);B=eye(n);for k=1:n-2X=zeros(n-k,1);H=eye(n);for i=1:n-kX(i)=A(i+k,k);enda=max(abs(X));if a==0.0breakendX=X/a;c=X(1);b1=sqrt(sum(X.^2));if X(1)>=0b1=-b1;endX(1)=X(1)-b1;b=b1^2-b1*c;H0=eye(n-k)-X*X'/b;for i=1:n-kfor j=1:n-kH(i+k,j+k)=H0(i,j);end endA=H*A*H;B=B*H;endH=A;一.实验题目:QR方法求矩阵的特征和特征向量二.设计目的:学会利用镜面变换进行矩阵的QR分解及利用将幂法求特征值和特征向量,熟悉Matlab编程环境。
三.设计原理:利用镜像变换将A相似变换为Hessenberg B矩阵。
记录变换矩阵。
运用Householder矩阵进行QR分解,QR方法为:B1=BB1=Q1R1B2=R1Q1....Bm=QmRmBm+1=RmQmBm+1与Bm相似,从而特征值相等。
再利用原点位移的反幂法求B(或A)的特征向量。
反幂法用来计算矩阵按模最小的特征值及其特征向量,也可用来计算对应与一个给定近似特征值的特征向量。
设A∈R n×n为非奇异矩阵,A 的特征值依次记为|λ1|≥|λ2|≥|λ3|≥…≥|λn |,相应的特征向量为x1 ,x2,…,x n,则A-1的特征值为|1/λn|≥|1/λn-1|≥…≥|1/λ1 | ,相应的特征向量为x n ,x.所以计算A的按模最小的特征值λn的问题就是计算n-1,…,x1A-1的按模最大的特征值问题。
对于A-1应用幂法迭代(称为反幂法),可求得矩阵A-1的主特征值1/λn,从而求得A的按模最小的特征值λn。
特征值的快速求解技巧论文

特征值的快速求解技巧论文特征值问题是线性代数中一个重要的问题,涉及到矩阵的特征值和特征向量的求解。
求解特征值问题对于很多应用领域来说都是必不可少的,比如在机器学习、信号处理和图像处理中。
由于特征值问题的复杂性,研究人员一直在寻找快速求解特征值的方法。
本文将介绍一些特征值问题的快速求解技巧。
一、QR方法QR方法是一种常用的求解特征值问题的数值算法,它的基本思想是通过QR分解将一个矩阵转化为上三角矩阵,从而求解特征值。
QR方法可以分为隐式QR方法和显式QR方法。
隐式QR方法是通过不断迭代的方式求解特征值,在每次迭代中都会进行QR分解。
显式QR方法是直接计算出QR分解的结果,然后通过计算得到特征值。
二、幂方法幂方法是一种迭代法,主要用于求解矩阵的最大特征值及其对应的特征向量。
它的基本思想是选择一个初始向量,通过不断迭代矩阵的幂次,最终得到矩阵的最大特征值和对应的特征向量。
幂方法是一种简单而有效的求解特征值的方法,但它只能求解最大特征值及其对应的特征向量。
三、反迭代方法反迭代方法是对幂方法的改进,主要用于求解矩阵的特征值和特征向量。
它的基本思想是通过对幂方法的迭代结果应用逆迭代进行修正,从而得到更精确的特征值和特征向量。
反迭代方法通常比幂方法收敛更快,并且可以求解非对称矩阵的特征值和特征向量。
四、雅可比方法雅可比方法是一种常用的求解对称矩阵特征值的方法,它的基本思想是通过不断迭代地将矩阵中的非对角元素置为0,从而得到对称三对角矩阵。
然后,通过QR分解求解对称三对角矩阵的特征值,最终得到原矩阵的特征值。
雅可比方法可以保证得到的特征值是精确的,但是它的计算复杂度比较高,不适用于大规模矩阵的特征值求解。
五、奇异值分解方法奇异值分解方法是一种数值稳定的特征值求解方法,它可以求解任意矩阵的特征值和特征向量。
奇异值分解方法的基本思想是将矩阵分解为三个矩阵的乘积,其中一个矩阵是对角矩阵,其对角线上的元素即为矩阵的奇异值,另外两个矩阵分别是特征向量矩阵和其转置。
正交变换与QR迭代矩阵特征值计算

正交变换在QR迭代中的优势与局限性
优势
正交变换可以保证QR迭代的稳定性和收敛性,同时能够避免直接处理特征值问题,简化计算过程。
局限性
正交变换需要构造一个正交矩阵,计算量较大,对于大规模矩阵计算效率较低。此外,对于某些特殊 类型的矩阵,QR迭代可能不是最优的方法。
04
矩阵特征值计算
特征值的基本概念
稳定性好
相较于其他特征值计算方法,正交变换与QR迭代具有较 好的数值稳定性,能够有效地抵抗计算过程中的误差累积 ,从而得到更可靠的结果。
并行化潜力
正交变换与QR迭代中的各个步骤可以独立进行,这使得 这些方法具有并行化的潜力,能够利用高性能计算资源加 速特征值计算。
正交变换与QR迭代在矩阵特征值计算中的未来发展方向
收敛性条件包括迭代向量的范数逐渐减小以及特征值与迭代向量的夹角逐渐增大等。
03
正交变换在QR迭代中的应用
正交化过程在QR迭代中的重要性
保证迭代过程的稳定性
通过正交化过程,可以消除QR迭代中的数值误差,提高计算精度 和稳定性。
避免特征值问题
正交变换可以将原矩阵转化为上三角矩阵,从而避免直接处理特征 值问题,简化计算过程。
特征值
矩阵的特征值是矩阵的一个重要属性,它表示矩 阵对某些向量具有特定的缩放能力。
特征向量
与特征值对应的非零向量。
特征多项式
用于求解特征值的方程。
特征值的计算方法
代数法
01
通过求解特征多项式来找到特征值。
迭代法
02
通过迭代过程来逼近特征析矩阵的谱来找到特征值。
特征值计算中的问题与挑战
正交变换与QR迭代矩阵 特征值计算
• 正交变换概述 • QR迭代算法介绍 • 正交变换在QR迭代中的应用 • 矩阵特征值计算 • 正交变换与QR迭代在矩阵特征值计算
计算方法-特征值2

豪斯豪尔德(Householder)变换
设向量w (w1,
, wn )T 满足
w 2
w12
wn2 1,
则称
1 2w12
H
I
2wwT
2w2w1
2 wn w1
2w1w2 1 2w22
2 wn w2
2w1wn
2
w2
wn
1
2wn2
为 Householder矩阵或反射矩阵。
可证其具有以下性质: (1)H是实对称的正交矩阵,即 H 1 H T H ;
讨论用 Householder 变换将一般矩阵 A相似变换 成 Hessenberg阵.
首先,选取 Householder矩阵 H1,使得经 H1 相似变换后
的矩阵 H1 AH1 的第一列中有尽可能多的零元素。为此,
1 0
0
应取 H1 为如下形式
H1
0
H1
0
其中H 1为n 1阶 Householder矩阵。
为避免在计算 w时会产生较大的误差,取
w a1 a1 2 e1sign(a11 ) a1 a1 2 e1sign(a11 ) 2
H 1 H1。
同理,可构造如下列形式 Householder矩阵
1 0 0
0*Βιβλιοθήκη * **0 1 0
0
* * *
*
H2
0
0
使得H2 H1 AH1H2
**
于是有
H1 AH1
a11
H 1a1
a2T H 1
H1 A22 H1
其中a1 (a21 , a31 , , an1 )T ,
a2 (a12 , a13 , , a1n )T ,
数值分析7.2矩阵的正交分解与求矩阵全部特征值的QR方法

但 x y ,则存在householder阵
2
2
UU T
H I2 U 2
2
使Hx y,其中U x y。 W
x
x y
y
证:若设W U ,则有 W 1,因此
U
2
I
H 2
2
I 2WW T
(x y) x y 2
( xT
yT
I )
UU T 2 U2
2
Hx
x
2
( x2 y) x y 2
2
k
)
,
H
k
(k 2
)
,
,
H
k
(k n
)
A(k 1)
1(
k
1)
,
(k 2
1)
,
,
(k n
1)
a(2) 11 0
a(2) 1k
Hk
A(k )
Hk
0
a(k) kk
0
0
a(k) nk
a(2) 1n
a(k kn
)
a(k) nn
H
(
k1
k
)
,
H
k
(k 2
)
,
,
H
k
(k n
)
a1(12) 0 0 0
迭代格式
Ak Qk Rk Ak 1 RkQk
(k 1, 2, ).
将A A1化成相似的上三角阵(或分块上三角阵),
从而求出矩阵A的全部特征值与特征向量。
由A A1 Q1R1 ,即Q11 A R1。 于是A2 R1Q1 Q1 AQ1 ,即A2与A相似。
同理可得,Ak A (k 2, 3, )。 故它们有相同的特征值。
QR基本法和位移QR法矩阵特征值求解

实验一:编程实现以下科学计算算法,并举一例应用之。
QR基本法和位移QR法矩阵特征值求解1.QR基本法算法说明:QR基本算法是求矩阵特征值的最有效和应用最广泛的一种方法方法,其基本依据是以下两个定理:1)设A是n阶矩阵,其n个特征值为λ1、λ2、…λm,那么存在一个酉矩阵U使得U T AU是以λ1、λ2、…λm为对角元的上三角矩阵。
2)设A是n阶实矩阵,那么,存在一个正交矩阵Q,使得Q T AQ为一个准上三角矩阵,它的每一个对角元是A的一个特征值,对角元上的二阶块矩阵的两个特征值是A的一对共轭复特征值。
QR基本算法的过程如下:给定循环步数M,A T=A,k=1,2,…M,计算:A k=Q k R kA k+1=R k Q kQR基本算法有如下的收敛性质:如果A的特征值满足|λ1|>|λ2|>|λ2|≥…≥|λm|,则QR基本算法产生的矩阵序列{A k}基本收敛到上三角矩阵(特别,当A为对称阵时,收敛到对角阵),对角元素收敛到A的特征值。
在MATLAB中变成实现的QR基本算法的函数为:qrtz功能:QR基本算法求矩阵全部特征值。
调用格式:l=qrtz(A,M).其中,A为已知矩阵;M为迭代步数;L为矩阵A的全部特征值。
QR基本算法的流程图:l=qrtz(A,M)QR基本算法的MATLAB程序代码如下:function l=qrtz(A,M)for i=1:M[q,r]=qr(A);A=r*q;l=diag(A);endtask11.mformat longA=[1,5,6;4,7,0;8,11,3]l=qrtz(A,20)disp('¾«È·½â')l=eig(A)运行过程和结果:2.位移QR算法位移QR法是为了加快QR算法的收敛速度,其算法的迭代过程如下:给定循环步数M,A1=Hessenberg(A),k=1,2,…M,选择μk,然后计算:A k-μk I=Q k R kA k+1= Q k Q k+μk I一般μk的选择有以下两种考虑方法:(1) 选μk =μk ,即瑞利商位移;(2) 迭代过程中,如果子矩阵的两个特征值为实数时,选最接近a k n,n 的那个作为μk ,即威尔森位移瑞利商位移QR 法流程图如下:在MATLAB 中编程实现的瑞利商位移的QR 算法的函数为:rqrtz 。
QR分解求矩阵特征值C语言程序

QR分解求矩阵特征值C语言程序QR分解是一种常用的矩阵分解方法,其中Q是一个正交矩阵,R是一个上三角矩阵。
利用QR分解可以求解矩阵的特征值。
以下是一个使用C语言实现QR分解求矩阵特征值的程序示例:#include <stdio.h>#include <math.h>#define N 3 // 定义矩阵的维度void eigenvalues(double A[N][N], double lambda[N]);int maindouble A[N][N] = {{2, -1, 0}, {-1, 2, -1}, {0, -1, 2}}; // 待求解的矩阵double Q[N][N], R[N][N]; // 存储QR分解结果double lambda[N]; // 存储特征值eigenvalues(A, lambda); // 求解特征值printf("矩阵的特征值为:\n");for (int i = 0; i < N; i++)printf("%.3f ", lambda[i]);}printf("\n");return 0;//初始化Q矩阵为单位阵for (int i = 0; i < N; i++)for (int j = 0; j < N; j++)if (i == j)Q[i][j]=1;elseQ[i][j]=0;}}//进行QR迭代for (int k = 0; k < N - 1; k++) //计算Ak矩阵的第k列的范数double norm = 0;for (int i = k; i < N; i++) norm += A[i][k] * A[i][k];}norm = sqrt(norm);//计算v向量double v[N] = {0};v[k] = A[k][k] + norm;for (int i = k + 1; i < N; i++)v[i]=A[i][k];}//计算P矩阵double P[N][N];for (int i = 0; i < N; i++)for (int j = 0; j < N; j++)if (i == j)P[i][j] = 1 - 2 * v[i] * v[j] / (norm * norm); elseP[i][j] = -2 * v[i] * v[j] / (norm * norm);}}//更新A和Q矩阵double temp[N][N] = {0};for (int i = 0; i < N; i++)for (int j = 0; j < N; j++)for (int m = 0; m < N; m++)temp[i][j] += P[i][m] * A[m][j];}}}for (int i = 0; i < N; i++)for (int j = 0; j < N; j++)A[i][j] = temp[i][j];Q[i][j]=Q[i][j]*P[i][j];}}}//计算矩阵Rfor (int i = 0; i < N; i++)for (int j = i; j < N; j++)R[i][j]=A[i][j];}}void eigenvalues(double A[N][N], double lambda[N])//通过矩阵R的对角线元素即可得到矩阵A的特征值for (int i = 0; i < N; i++)lambda[i] = A[i][i];}请注意,上述程序是一个简化版本的QR分解方法,并不适用于所有的矩阵。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算方法》课程设计报告学生姓名:学号:学院:班级:题目: QR方法计算中小型矩阵的全部特征值指导教师:职称:教授讲师实验师2015年12月31日目录目录 (I)一、选题背景 (1)1.1 QR方法 (1)1.2 矩阵的特征值 (1)二、算法设计 (1)2.1 QR方法的理论 (1)2.2 基本QR方法 (2)2.3 Householder QR分解 (2)2.4 带原点位移的QR方法 (3)三、程序设计及功能说明 (4)3.1主要程序以及主要功能 (4)3.1.1矩阵约化为上海森伯格矩阵 (4)3.1.1QR方法求实矩阵全部特征值 (4)四、结果分析 (6)五、总结及心得体会 (19)参考文献 (20)源程序 (21)一、选题背景1.1 QR方法矩阵是高等数学中的常用工具,在很多方面都有重要运用,而矩阵特征值问题在许多领域的研究中有重要的地位,矩阵特征值的一些基本计算方法,研究不同种类矩阵的计算方法和最优计算方法.其中求解矩阵的普通方法包括传统的求法以及初等变换求矩阵的特征值方法;其他的一些优化方法包括幂法、反幂法、Jacobi方法、QR方法.在实际的求解矩阵特征值的问题,根据矩阵的不同特点,选择最快速的方法求解,从而达到最优化解决实际问题。
QR分解法是目前求一般矩阵全部特征值的最有效并广泛应用的方法,一般矩阵先经过正交相似变化成为Hessenberg矩阵,然后再应用QR方法求特征值和特征向量。
它是将矩阵分解成一个正规正交矩阵Q与上三角形矩阵R,所以称为QR分解法,与此正规正交矩阵的通用符号Q有关。
目前QR方法主要用来计算:(1) Hessenberg矩阵的全部特征值问题;(2)计算对称三对角矩阵的全部特征值问题。
1.2 矩阵的特征值关于计算矩阵A的特征值问题,当n=2,3时,我们还可按行列式展开的办法求,我们还可按行列式展开的办法求det(λ)=0的根,但当n较大时,如果按展开行列式的办法,首先求出det(λ)的系数,再求det(λ)的根,工作量就非常大,用这种办法求矩阵用这种办法求矩阵的特征值是不切实际的的特征值是不切实际的,由此需要研究求A的特征值及特征向量的数值解法。
二、算法设计2.1 QR方法的理论QR方法的理论:对任意一个非奇异矩阵(可逆矩阵)A,可以把它分解成一个正交阵Q和一个上三角阵R的乘积,称为对矩阵A的QR分解,即A=QR。
如果规定R的对角元取正实数,这种分解是唯一的。
若A是奇异的,则A有零特征值。
任取一个不等于A的特征值的实数μ,则A-μI是非奇异的。
只要求出A-μI的特征值和特征向量就容易求出矩阵A的特征值和特征向量,所以假设A是非奇异的,不失一般性。
2.2 基本QR方法设A=A1,对A1作QR分解,得A1= Q1R1,,交换该乘积的次序,得==,由于Q1正交矩阵,A1到A2的变换为正交相似变换,于是A1和R1Q1A2T11AQQA2就有相同的特征值。
一般的令A1=A,对k=1,2,3,….. A(k)=QkRk (QR分解)A(k-1)=RkQk (迭代定义)这样,可得到一个迭代序列{Ak},这就是QR方法的基本过程。
2.3 Householder QR分解从QR 算法的构造过程可以看到算法的主要计算量出现在QR分解上,如果直接对矩阵A用QR方法求全部特征值,那麽涉及的计算量是很大的,因此应该先对A作预处理。
应用中常先对做正交相似变换将其化为上Hessenberg矩阵H,然后再对H采用QR方法,可以大大减少计算量,这里Hessenberg矩阵也称为拟三角矩阵,它的非零元素比三角矩阵多了一条次对角线,其形式为:上Hessenberg矩阵下Hessenberg矩阵一般矩阵相似约化到Hessenberg矩阵的方法。
定理: 任取非零向量X=(X1,X2,.....,Xn)T∈Rn,可以选择一个Householder矩阵P,使Px=-σe1式中e1=(1,0,......,0)T是R n的单位向量,证:作u=x+σe1,用u做一个Householder矩阵P=I-β-1uu T,因为而证毕定理中β=σ(σ+x1),为避免σ+x1出现两个相似数相减引起有效数字损失,实用中常选这样可得Householder矩阵的计算公式为u1=x1+σβ=σu1 P=I-β-1uu T2.4 带原点位移的QR方法设A=A1,对A1-s1I进行QR分解A1-s1I=Q1R1;形成矩阵A2=R1Q1+s1I=T Q1(A-s1I) Q1+s1I=T Q1A1Q1;求得Ak后,将Ak-skI进行QR分解Ak-skI=QkRk,k=3,4,…形成矩阵A(k+1)=RkQk+skI=T Q kAkQk.如果令-Q k=Q1Q2…Qk,-R k=Rk…R2R1,则有A(k+1)=TR-kA-Q k,并且矩阵(A-s1I)(A-s2I) …(A-snI) ≡ψ(A)有QR分解式ψ(A)=-Q k-R k.也可以首先用正交变换(左变换)将Ak-skI化为上三角矩阵,即Pn…P2P1(Ak-skI)=Rk当A为Householder矩阵或对称三对角矩阵,Pi可为平面旋转矩阵,则Ak= P(n-1)…P2P1(Ak-skI) T P1T P2…T P(n-1)+skI.三、程序及功能说明3.1主要程序以及主要功能3.1.1 矩阵约化为上海森伯格矩阵function [k,Sk,uk,ck,Pk,Uk,Ak]=Householdrer1(A)n=size(A); Ak=A;for k=1:n-2k,Sk=norm(Ak(k+1:n,k))*sign(Ak(k+1,k)),uk= Ak(k+1:n,k)+ Sk*eye(n-k,1),ck=(norm(uk,2)^2)/2,Pk= eye(n-k,n-k)-uk*uk'/ck,Uk=[eye(k,k),zeros(k,n-k);zeros(n-k, k),Pk],A1=Uk*Ak;Ak=A1,end程序功能:通过初等反射矩阵正交相似约化实矩阵A为上海森伯格矩阵Ak。
来实现矩阵约化为上海森伯格矩阵,以方便使用QR方法求矩阵A的全部特征值。
3.1.2 QR方法求实矩阵全部特征值function tzg=qr4(A,t,max1)[n,n]=size(A); k=0;Ak=A;tzg=zeros(n); state=1;for i=1:n;while((k<=max1)&(state==1)&(n>1))b1=abs(Ak(n,n-1)); b2=abs(Ak(n,n)); b3=abs(Ak(n-1,n-1));b4=min(b2, b3); jd=10^(-t); jd1=jd*b4;if(b1>=jd1)sk=Ak(n,n); Bk=Ak-sk*eye(n); [Qk,Rk]=qr(Bk);At=Rk*Qk+sk*eye(n); k=k+1;tzgk=Ak(n,n);disp('请注意:下面的i表示求第i个特征值,k是迭代次数,sk是原点位移量,')disp(' Bk=Ak-sk*eye(n),Qk和Rk是Bk的QR分解,At=Rk*Qk+sk*eye(n)迭代矩阵:')i,state=1;k,sk,Bk,Qk,Rk,At,Ak=At;disp('请注意:i表示求第i个特征值,tzgk是矩阵A的特征值的近似值,k是迭代次数,')disp(' 下面的矩阵B是m阶矩阵At的(m-1)阶主子矩阵,即At降一阶.')i,tzgk=Ak(n,n),tzg(n,1)=tzgk;k=k,sk,Ak;B=Ak(1:n-1,1:n-1),Ak=B;n=n-1;state==1; i=i+1;endendendtzg(1,1)=Ak;tzg=sort(tzg(:,1));tzgk=Akdisp('请注意:n阶实对称矩阵A的全部真特征值lamoda和至少含t个有效数字的近似特征值tzg如下:')lamoda=sort(eig(A))程序功能:QR方法来计算Hessenberg矩阵或对称的矩阵的全部特征值至少含t个有效数字的近似值。
四、结果分析实验结果分析:1.用QR 方法求下列矩阵的全部近似特征值,其中,6 2 05 4 13 2 1⎪⎪⎪⎭⎫ ⎝⎛=A 精度为=ε510-; 解:(1)先将矩阵转化为上海森伯格矩阵, MATLAB 程序如下: >> A=[1 2 3;1 4 5;0 2 6];>> [k,Sk,uk,ck,Pk,Uk,Ak]=Householdrer1(A) 结果如下: k = 1 Sk = 1 uk = 2 0 ck = 2 Pk =-1 0 0 1 Uk =1 0 0 0 -1 0 0 0 1Ak =1 2 3-1 -4 -50 2 6然后用最末元位移QR方法求实矩阵A k全部特征值.MATLAB程序如下:>> A=[1 2 3;-1 -4 -5;0 2 6];>> tzg=qr4(A,5,100)结果如下:请注意:下面的i表示求第i个特征值,k是迭代次数,sk是原点位移量,Bk=Ak-sk*eye(n),Qk和Rk是Bk的QR分解,At=Rk*Qk+sk*eye(n)迭代矩阵:i =1k =4sk =4.7505Bk =-7.2733 0.1020 -5.3467-2.5877 -3.9784 -5.58370 0.0000 0Qk =-0.9421 0.3352 0.0000-0.3352 -0.9421 -0.00000 0.0000 -1.0000Rk =7.7199 1.2374 6.90910 3.7824 3.46840 0 0.0000At =-2.9375 1.4219 -6.9091-1.2679 1.1870 -3.46840 0.0000 4.7505请注意:i表示求第i个特征值,tzgk是矩阵A的特征值的近似值,k是迭代次数,下面的矩阵B是m阶矩阵At的(m-1)阶主子矩阵,即At降一阶.i =1tzgk =4.7505k =4sk =4.7505B =-2.9375 1.4219-1.2679 1.1870请注意:下面的i表示求第i个特征值,k是迭代次数,sk是原点位移量,Bk=Ak-sk*eye(n),Qk和Rk是Bk的QR分解,At=Rk*Qk+sk*eye(n)迭代矩阵:2k =7sk =0.6930Bk =-3.1366 2.6863-0.0035 0Qk =-1.0000 0.0011-0.0011 -1.0000Rk =3.1366 -2.68630 0.0030At =-2.4406 2.6897-0.0000 0.6900请注意:i表示求第i个特征值,tzgk是矩阵A的特征值的近似值,k是迭代次数,下面的矩阵B是m阶矩阵At的(m-1)阶主子矩阵,即At降一阶.i =2tzgk =0.6900k =7sk =0.6930B =-2.4406tzgk =-2.4406请注意:n 阶实对称矩阵A 的全部真特征值lamoda 和至少含t 个有效数字的近似特征值tzg 如下:lamoda =-2.44060.69004.7505tzg =-2.44060.69004.75052.用QR 方法求下列矩阵的全部近似特征值,其中,1 2 22 1 22 2 1⎪⎪⎪⎭⎫ ⎝⎛=A 精度为=ε510-;解:MATLAB 程序如下:>> A=[1 2 2;2 1 2;2 2 1];>> tzg=qr4(A,5,100)结果如下:请注意:下面的i表示求第i个特征值,k是迭代次数,sk是原点位移量,Bk=Ak-sk*eye(n),Qk和Rk是Bk的QR分解,At=Rk*Qk+sk*eye(n)迭代矩阵:i =1k =3sk =-0.9883Bk =5.9418 0.4553 0.26390.4553 0.0231 0.02020.2639 0.0202 0Qk =0.9961 0.0764 0.04410.0763 -0.9971 0.00340.0442 0.0000 -0.9990Rk =5.9650 0.4562 0.26440 0.0117 0.00000 0 0.0117At =5.0000 0.0009 0.00050.0009 -1.0000 0.00000.0005 0.0000 -1.0000请注意:i表示求第i个特征值,tzgk是矩阵A的特征值的近似值,k是迭代次数,下面的矩阵B是m阶矩阵At的(m-1)阶主子矩阵,即At降一阶.1tzgk =-1.0000k =3sk =-0.9883B =5.0000 0.00090.0009 -1.0000请注意:下面的i表示求第i个特征值,k是迭代次数,sk是原点位移量,Bk=Ak-sk*eye(n),Qk和Rk是Bk的QR分解,At=Rk*Qk+sk*eye(n)迭代矩阵:i =2k =4sk =-1.0000Bk =6.0000 0.00090.0009 01.0000 0.00010.0001 -1.0000Rk =6.0000 0.00090 0.0000At =5.0000 0.00000.0000 -1.0000请注意:i表示求第i个特征值,tzgk是矩阵A的特征值的近似值,k是迭代次数,下面的矩阵B是m阶矩阵At的(m-1)阶主子矩阵,即At降一阶.i =2tzgk =-1.0000k =4sk =-1.0000B =5.0000tzgk =5.0000请注意:n 阶实对称矩阵A 的全部真特征值lamoda 和至少含t 个有效数字的近似特征值tzg 如下:lamoda =-1.0000-1.00005.0000tzg =-1.0000-1.00005.00003.用QR 方法求下列矩阵的全部近似特征值,其中,7 6 5 46 5 4 35 4 3 24 3 2 1⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=A 精度为=ε510-;解:(1)先将矩阵转化为上海森伯格矩阵,MATLAB 程序如下:>> A=[1 2 3 4;2 3 4 5;3 4 5 6;4 5 6 7];>> [k,Sk,uk,ck,Pk,Uk,Ak]=Householdrer1(A)结果如下:k =2Sk =-0.4549uk =-0.5400-0.4468ck =Pk =-0.1871 -0.9823-0.9823 0.1871Uk =1.0000 0 0 00 1.0000 0 00 0 -0.1871 -0.98230 0 -0.9823 0.1871Ak =1.00002.00003.00004.0000-5.3852 -7.0564 -8.7277 -10.39890.0000 0.4549 0.9097 1.36460.0000 -0.0000 -0.0000 -0.0000(2)然后用最末元位移QR方法求实对称矩阵A全部特征值,因为矩阵非奇异,故MATLAB程序如下:>> A=[1 2 3;-5.3852 -7.0564 -8.7277;0.0000 0.4549 0.9097];>> tzg=qr4(A,5,100)结果如下:请注意:下面的i表示求第i个特征值,k是迭代次数,sk是原点位移量,Bk=Ak-sk*eye(n),Qk和Rk是Bk的QR分解,At=Rk*Qk+sk*eye(n)迭代矩阵:i =1k =6sk =-4.6826 11.4681 -3.9762-0.0002 -0.4637 -0.72710 0.0000 0Qk =-1.0000 0.0000 0.0000-0.0000 -1.0000 -0.00000 0.0000 -1.0000Rk =4.6826 -11.4681 3.97630 0.4641 0.72690 0 0.0000At =-4.6823 11.4683 -3.9763-0.0000 -0.4642 -0.72690 0.0000 -0.0001请注意:i表示求第i个特征值,tzgk是矩阵A的特征值的近似值,k是迭代次数,下面的矩阵B是m阶矩阵At的(m-1)阶主子矩阵,即At降一阶.i =1tzgk =-1.4992e-004k =6sk =-4.6823 11.4683-0.0000 -0.4642请注意:下面的i表示求第i个特征值,k是迭代次数,sk是原点位移量,Bk=Ak-sk*eye(n),Qk和Rk是Bk的QR分解,At=Rk*Qk+sk*eye(n)迭代矩阵:i =2k =7sk =-0.4642Bk =-4.2181 11.4683-0.0000 0Qk =-1.0000 0.0000-0.0000 -1.0000Rk =4.2181 -11.46830 0.0000At =-4.6823 11.4683-0.0000 -0.4643请注意:i表示求第i个特征值,tzgk是矩阵A的特征值的近似值,k是迭代次数,i =2tzgk =-0.4643k =7sk =-0.4642B =-4.6823tzgk =-4.6823请注意:n阶矩阵A的全部真特征值lamoda和至少含t个有效数字的近似特征值tzg 如下:lamoda =-4.6823-0.4643-0.0001tzg =-4.6823-0.4643-0.0001五、总结及心得体会在本次课程设计中,虽然我们在完成过程中,遇到这样那样问题,通过老师和同学帮助,我们算是基本熟悉QR方法的基本原理;得到QR方法求解矩阵特征值的通用程序完成本次课程设计,使我们了解各种求解矩阵特征值计算方法的之间优缺点。