数学实验“矩阵特征值及相应特征向量的Jacobi法,QR法”实验报告(内含matlab程序)

合集下载

基于QR分解迭代求解方阵特征值和特征向量

基于QR分解迭代求解方阵特征值和特征向量

基于QR分解迭代求解方阵特征值和特征向量一、特征值与特征向量求解的难点线性代数的知识告诉我们如果要求一个方阵的特征值,只需要求解如下的特征方程的根即可:但是在具体程序中,如何去求解一个高次的多项式方程的根本身就是一个难点,它的实现甚至要比求得特征值还要复杂。

因此,线性代数中这种用来手算的方法很明显不适合程序实现。

那么,我们该如何去编写程序求解特征值呢?二、QR迭代法求解特征值的原理经过搜集相关资料,已知在计算机编程领域求解特征值一般有两种比较常见的算法,一种是雅可比(Jacobi)迭代法,另一种就是我们要讲的QR迭代法,这两种算法本质上都是去不断迭代,通过逼近的方法去求得特征值。

雅可比方法有一个弊端,就是他只能求解实对称矩阵的特征值,适用面比较窄,但是QR分解迭代法可以求解任意矩阵的特征值,而且实现上更加接近我们线性代数课程的知识,因此下面介绍QR分解迭代法求解特征值的原理。

理论依据:任意一个非奇异矩阵(满秩的方阵)都可以分解为一个正交矩阵和一个上三角矩阵的乘积,且当对角元符号确定时,分解是唯一的。

QR分解是一种迭代方法,迭代格式如下:当基本上收敛到上三角矩阵的时候,迭代完成,此时主对角线元素就是特征值。

特别的:当是实对称矩阵时,是对角阵,就是其标准正交的特征向量矩阵,且有。

那么我们该如何去理解上述原理呢?下面进行简要的推导。

不妨令,对进行QR分解得到:令,很明显,对再进行QR分解:继续令,可以看到,同理,我们不断去进行QR分解,最终就会得到:因此,与拥有相同的特征值。

特别的,当时,有,将记作,那么和就分别是正交的特征向量矩阵和对角线元素为特征值的对角阵。

有了上述理论介绍,我们已经知道了如何去进行QR迭代求特征值,下面马上又有一个问题摆在了我们面前——如何用程序去做QR分解呢?三、QR分解的初等变换法QR分解有三种常用的算法:Gram-Schmidt正交化(线性代数讲授的方法)、初等变换法、Givens 变换法。

《实验8:Jacobi法求实对称矩阵的特征值及特征向量》

《实验8:Jacobi法求实对称矩阵的特征值及特征向量》

实验名称实验8实验地点6A-XXX 实验类型设计实验学时 2 实验日期20 /X/X ★撰写注意:版面格式已设置好(不得更改),填入内容即可。

一、实验目的
1.Jacobi法求实对称矩阵的特征值及特征向量
二、实验内容
1.实验任务
1.Jacobi法求实对称矩阵的特征值及特征向量
2.程序设计
1)数据输入(输入哪些数据、个数、类型、来源、输入方式)
double a[N][N], int n
2)数据存储(输入数据在内存中的存储)
函数
void Jacobi(double a[N][N], int n)
3)数据处理(说明处理步骤。

若不是非常简单,需要绘制流程图)
1.输入要处理的数据进入变量中
2.进行函数处理
3.输出函数处理结果
4)数据输出(贴图:程序运行结果截图。

图幅大小适当,不能太大)
三、实验环境
1.操作系统:WINDOWS 7及以上
2.开发工具:VS 2015
3.实验设备:PC。

矩阵特征值与特征向量的计算-Jacobi方法

矩阵特征值与特征向量的计算-Jacobi方法

所在平面旋转了一个角度 , 其它坐标保持不 变, 称Upq为平面旋转矩阵.
数值分析
基于Upq的相似变换
用Upq对A作正交相似变换得到矩阵 A(1) ,即:
U
T pq
AU
pq
=
A(1)
aaq((p11qp))
= =
a pp a pp
cos2 + aqq sin2 sin2 + aqq cos2
i , j=1
则有 lki→m k = 0成立.
i j
数值分析
UTAU=D 其中 D=diag[λ1, λ2, …, λn],即D的对角元素为 A 的 特征值,对应的U的列向量即为相应的特征向量。
Jacobi方法的思路:通过一系列的旋转变换(正交 变换)把A中非对角线上的非零元变为零 。
数值分析
定义下面的 n 阶正交矩阵:
1
cos
U ( p, q, ) =
素apq; Step 2. 根据 cot 2 = app − a qq ,求出相应的旋转矩
2a pq
阵Upq;
Step 3. 根据公式计算矩阵A(1)的元素;
Step 4. 若
,则停机;否则,令A=A(1)
并返回Step 1.
数值分析
1. 令k=1,R(1)=I,给定矩阵A(=A(1)),收敛条件ε
=
a(1) qp
=
1 2 (aqq

app )sin 2
+
a pq
cos 2
矩阵A(a1i()j1的) =第a(j1ip) 行= a,ij ,i第, j p列p, q和第q行,第q列的元素
发生了变化,其余元素不变。 且A(1)任是实对称

数学实验“矩阵特征值及相应特征向量的Jacobi法,QR法”实验报告(内含matlab程序)

数学实验“矩阵特征值及相应特征向量的Jacobi法,QR法”实验报告(内含matlab程序)

数学实验“矩阵特征值及相应特征向量的Jacobi法,QR法”实验报告(内含matlab程序)西京学院数学软件实验任务书课程名称数学软件实验班级数0901 学号0912020107 姓名李亚强实验课题矩阵特征值及相应特征向量的Jacobi法,QR法实验目的熟悉矩阵特征值及相应特征向量的Jacobi法,QR法运用Matlab/C/C++/Java/Maple/Mathematica等其中实验要求一种语言完成实验内容矩阵特征值及相应特征向量的Jacobi法,QR法成绩教师实验十三实验报告一、实验名称:矩阵特征值及相应特征向量的Jacobi法,QR法。

二、实验目的:熟悉矩阵特征值及相应特征向量的Jacobi法,QR 法。

三、实验要求:运用Matlab/C/C++/Java/Maple/Mathematica 等其中一种语言完成程序设计。

四、实验内容:%矩阵特征值及相应特征向量的Jacobi法function [D,R]=Jacobi(A,eps)if nargin==2eps=1.0e-5;endn=length(A);R=eye(n);while 1Amax=0;for l=1:n-1for k=l+1:nif abs(A(l,k))>AmaxAmax=abs(A(l,k));i=l;j=k;endendendif Amax<eps< p="">break;endd=(A(i,i)-A(j,j))/(2*A(i,j));if abs(d)<1e-10t=1;elset=sign(d)/(abs(d)+sqrt(d^2+1));endc=1/sqrt(t^2+1);s=c*t;for l=1:nif l==iAii=A(i,i)*c^2+A(j,j)*s^2+2*A(i,j)*s*c; Ajj=A(i,i)*s^2+A(j,j)*c^2-2*A(i,j)*s*c;A(i,j)=(A(j,j)-A(i,i))*s*c+A(i,j)*(c^2-s^2);A(j,i)=A(i,j);A(i,i)=Aii;A(j,j)=Ajj;elseif l~=jAil=A(i,l)*c+A(j,l)*s;Ajl=-A(i,l)*s+A(j,l)*c;A(i,l)=Ail;A(l,i)=Ail;A(j,l)=Ajl;A(l,j)=Ajl;Rli=R(l,i)*c+R(l,j)*s;Rlj=-R(l,i)*s+R(l,j)*c;R(l,i)=Rli;R(l,j)=Rlj;endendD=diag(diag(A));%矩阵特征值及相应特征向量的QR法function l=qrtz(A,M)for(i=1:M)[q,r]=qr(A);A=r*q;l=diag(A);end五、实验结果:>> A=[3 4 3;1 2 4;7 6 2];>> esp=10^(-6);>> [D,R]=Jacobi(A,eps)D =9.6873 0 00 -2.2229 00 0 -0.4644R =0.5970 -0.2958 -0.74570.5922 0.7895 0.16090.5411 -0.5377 0.6465>> A=[3 4 3;1 2 4;7 6 2];>> M=10^2;>> l=qrtz(A,M)10.3687 -2.6373 -0.7314 </eps<>。

矩阵特征值与特征向量的求法

矩阵特征值与特征向量的求法

矩阵特征值与特征向量的求法一、矩阵特征值与特征向量的定义矩阵特征值(eigenvalue)是指一个矩阵在某个非零向量上的线性变换结果等于该向量的常数倍,这个常数就是该矩阵的特征值。

而对应于每个特征值,都有一个非零向量与之对应,这个向量就是该矩阵的特征向量(eigenvector)。

二、求解矩阵特征值与特征向量的方法1. 特征多项式法通过求解矩阵A减去λI(其中λ为待求解的特征值,I为单位矩阵)的行列式det(A-λI)=0来求解其特征值。

然后将每个特征值代入到(A-λI)x=0中,即可求得对应的特征向量x。

2. 幂法幂法是一种迭代方法,通过不断地将A作用于一个初始向量x上,并将结果归一化,最终得到收敛到最大(或最小)特征值所对应的特征向量。

具体步骤如下:(1) 选取任意一个非零初始向量x;(2) 将Ax除以x中最大元素得到新的向量y=A*x/max(x);(3) 将y归一化得到新的向量x=y/||y||;(4) 重复步骤2-3,直到收敛。

3. QR分解法QR分解是将矩阵A分解为Q和R两个矩阵的乘积,其中Q是正交矩阵(即Q^T*Q=I),R是上三角矩阵。

通过不断地对A进行QR分解,并将得到的Q和R相乘,最终得到一个上三角矩阵T。

T的对角线元素就是A的特征值,而对应于每个特征值,都可以通过反推出来QR分解中的Q所对应的特征向量。

4. Jacobi方法Jacobi方法也是一种迭代方法,通过不断地施加相似变换将A转化为对角矩阵D。

具体步骤如下:(1) 选取任意一个非零初始矩阵B=A;(2) 找到B中绝对值最大的非对角元素b(i,j),记其位置为(i,j);(3) 构造Givens旋转矩阵G(i,j,k),使其作用于B上可以消去b(i,j),即B=G^T*B*G;(4) 重复步骤2-3,直到所有非对角元素均趋近于0。

三、总结以上介绍了求解矩阵特征值与特征向量的四种方法:特征多项式法、幂法、QR分解法和Jacobi方法。

实验七矩阵特征值计算实验

实验七矩阵特征值计算实验

矩阵特征值计算实验专业:数学与应用数学 年级:09级 班级:AS09101 学号:AS0910136 姓名:张书敏一、 实验目的1.通过这个实验,学会使用幂法,反幂法,jacobi 方法,QR 方法求解矩阵的特征值和特征向量;2.理解求矩阵特征值和特征向量的幂法、反幂法、Jacobi 方法、QR 方法的构造和求解过程,学习计算机编程技术。

二、 实验题目8.1 编制幂法的MA TLAB 程序,计算下列矩阵按模最大特征值和相应的特征向量,(2)31013-3034A -⎛⎫ ⎪=- ⎪ ⎪-⎝⎭8.2已知矩阵⎪⎪⎪⎭⎫ ⎝⎛=111132126A有一个近似的特征值-6.42λ≈,用反幂法编制MA TLAB 程序计算相应的特征向量,并改进特征值的精度.8.3 用Jacobi 方法编制MA TLAB 程序,计算下列矩阵的全部特征值:(2)B= 4-1-14-1-14-1-14⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦8.4 用基本QR 方法编制MATLAB 程序,计算下列矩阵的全部特征值:(2) 0122230130121230B ⎛⎫ ⎪ ⎪= ⎪ ⎪⎝⎭三、 实验原理1.幂法:步1 输入矩阵A,初始向量y0,误差项ε,最大迭代次数N.步2 置k:=1,u:=0,x0=y0/∞||0||y ;步3 计算;1-=k k Ax y步4 计算|][|max |][|1i k ni r k y y ≤≤= 其中i k y ][表示向量k y 的第i 个分量,并置k k k r k k m y x y m /:,][:==步5 若|k m -u|<ε, 停算,输出k m ,k x ;否则,转步6;步6 若k<N,置k:=k+1,u:=k m ,转步3;否则,输出计算失败;2.反幂法:步1 输入矩阵A,初始向量x0,近似值a,误差项ε,最大迭代次数N.步2 置k:=1,u:=1;步3 作列主元LU 分解P(A-aI)=LU;步4 计算;][:|,][|max |][|1r k i k ni r k x m x x ==≤≤ 步5 计算x 的新值:y=x/m,Lz=Py,Ux=z;步6 若|11|u m -<ε, 则置x ,1:,输出λλma +=,停算,否则,转步7; 步7 若k<N,置k:=k+1,u:=m ,转步3;否则,输出计算失败;3.QR 方法步骤:(1) 输入矩阵A;(2) 初始化:A1为A 的拟上三角形矩阵;(3) 迭代过程:对于k=1,2,….Ak=QkRk(QR 分解); Ak+1=Qk^TAkQk=RkQk(正交相似变换)四、 实验内容8.1 幂法1.1实验步骤:打开matlab软件,新建一个名为mapower.m的M文件,编写程序(见1.2实验程序如下),运行程序,记录结果。

数值分析QR方法求矩阵特征值和特征向量

数值分析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。

数学实验“矩阵主特征值及相应特征向量的乘幂法,原点平移法,Rayleigh商加速法”实验报告(内含matlab程序)

数学实验“矩阵主特征值及相应特征向量的乘幂法,原点平移法,Rayleigh商加速法”实验报告(内含matlab程序)
eps = 1.0e-6; end v = x0; M = 5000; m = 0; l = 0;பைடு நூலகம்for(k=1:M)
y = A*v; m = max(y); v = y/m; if(abs(m - l)<eps)
l = m;
-1-
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,通力根1保过据护管生高线产中敷工资设艺料技高试术中卷0资不配料仅置试可技卷以术要解是求决指,吊机对顶组电层在气配进设置行备不继进规电行范保空高护载中高与资中带料资负试料荷卷试下问卷高题总中2体2资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况1卷中下安,与全要过,加度并强工且看作尽护下可1都关能可于地以管缩正路小常高故工中障作资高;料中对试资于卷料继连试电接卷保管破护口坏进处范行理围整高,核中或对资者定料对值试某,卷些审弯异核扁常与度高校固中对定资图盒料纸位试,置卷编.工保写况护复进层杂行防设自腐备动跨与处接装理地置,线高尤弯中其曲资要半料避径试免标卷错高调误等试高,方中要案资求,料技编试术写5、卷交重电保底要气护。设设装管备备置线4高、调动敷中电试作设资气高,技料课中并3术试、件资且中卷管中料拒包试路调试绝含验敷试卷动线方设技作槽案技术,、以术来管及避架系免等统不多启必项动要方高式案中,;资为对料解整试决套卷高启突中动然语过停文程机电中。气高因课中此件资,中料电管试力壁卷高薄电中、气资接设料口备试不进卷严行保等调护问试装题工置,作调合并试理且技利进术用行,管过要线关求敷运电设行力技高保术中护。资装线料置缆试做敷卷到设技准原术确则指灵:导活在。。分对对线于于盒调差处试动,过保当程护不中装同高置电中高压资中回料资路试料交卷试叉技卷时术调,问试应题技采,术用作是金为指属调发隔试电板人机进员一行,变隔需压开要器处在组理事在;前发同掌生一握内线图部槽纸故内资障,料时强、,电设需回备要路制进须造行同厂外时家部切出电断具源习高高题中中电资资源料料,试试线卷卷缆试切敷验除设报从完告而毕与采,相用要关高进技中行术资检资料查料试和,卷检并主测且要处了保理解护。现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

西京学院数学软件实验任务书
实验十三实验报告
一、实验名称:矩阵特征值及相应特征向量的Jacobi法,QR法。

二、实验目的:熟悉矩阵特征值及相应特征向量的Jacobi法,QR 法。

三、实验要求:运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成程序设计。

四、实验内容:
%矩阵特征值及相应特征向量的Jacobi法
function [D,R]=Jacobi(A,eps)
if nargin==2
eps=1.0e-5;
end
n=length(A);
R=eye(n);
while 1
Amax=0;
for l=1:n-1
for k=l+1:n
if abs(A(l,k))>Amax
Amax=abs(A(l,k));
i=l;j=k;
end
end
end
if Amax<eps
break;
end
d=(A(i,i)-A(j,j))/(2*A(i,j));
if abs(d)<1e-10
t=1;
else
t=sign(d)/(abs(d)+sqrt(d^2+1));
end
c=1/sqrt(t^2+1);
s=c*t;
for l=1:n
if l==i
Aii=A(i,i)*c^2+A(j,j)*s^2+2*A(i,j)*s*c; Ajj=A(i,i)*s^2+A(j,j)*c^2-2*A(i,j)*s*c;
A(i,j)=(A(j,j)-A(i,i))*s*c+A(i,j)*(c^2-s^2);
A(j,i)=A(i,j);
A(i,i)=Aii;
A(j,j)=Ajj;
elseif l~=j
Ail=A(i,l)*c+A(j,l)*s;
Ajl=-A(i,l)*s+A(j,l)*c;
A(i,l)=Ail;A(l,i)=Ail;
A(j,l)=Ajl;A(l,j)=Ajl;
end
Rli=R(l,i)*c+R(l,j)*s;
Rlj=-R(l,i)*s+R(l,j)*c;
R(l,i)=Rli;
R(l,j)=Rlj;
end
end
D=diag(diag(A));
%矩阵特征值及相应特征向量的QR法
function l=qrtz(A,M)
for(i=1:M)
[q,r]=qr(A);
A=r*q;
l=diag(A);
end
五、实验结果:
>> A=[3 4 3;1 2 4;7 6 2];
>> esp=10^(-6);
>> [D,R]=Jacobi(A,eps)
D =
9.6873 0 0
0 -2.2229 0
0 0 -0.4644
R =
0.5970 -0.2958 -0.7457
0.5922 0.7895 0.1609
0.5411 -0.5377 0.6465
>> A=[3 4 3;1 2 4;7 6 2];
>> M=10^2;
>> l=qrtz(A,M)
l =
10.3687
-2.6373
-0.7314。

相关文档
最新文档