您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > 4求矩阵特征值和特征向量课件-11
第4章求矩阵特征值和特征向量的方法本章探讨求矩阵特征值及特征向量的常用数值方法的构造和原理,主要介绍在计算机上常用的求矩阵特征值和特征向量的的常用方法和有关知识。重点论述幂法的构造内容。4.1实际案例旅游地选择问题通过层次分析法可以转化为求成对比较矩阵的绝对值最大的特征值max及其对应的特征向量的问题。求矩阵的特征值及特征向量的问题在实际的科研和工程问题中经常遇到,在这些问题中解出矩阵(特别是高阶矩阵)特征值或特征向量成为解决问题的关键。求矩阵的特征值及特征向量的计算机解法也称为代数特征问题的计算方法。4.2问题的描述与基本概念定义1设矩阵nnAR,称关于变量的行列式函数111212122212detnnAnnnnaaaaaafAIaaa为矩阵A的特征多项式,称方程0Af为特征方程。定义2若存在某个实数或复数及非零向量nxR满足Axx,则称是矩阵A的一个特征值,而x称为对应的一个特征向量。Af是关于的n次多项式,矩阵A的特征值就是Af的零点。在线性代数中,有求解矩阵A的特征值和特征向量的解法,该解法理论很严密,但由于将特征多项式Af化为一个n次多项式很复杂且特征方程对舍入误差很敏感,特别当n较大时,这些问题更突出。由于这些原因,实用中在求解代数特征值问题时一般不用如上的线性代数的方法,而采用本章介绍的迭代加变换的计算机求解方法,这些方法具有编程简单,对舍入误差不敏感等优点。3幂法幂法---把最大特征值直接从矩阵乘出来!幂法是求矩阵按模最大的特征值及其相应特征向量的方法。基本思想利用矩阵的特征值与特征向量的关系Axx构造迭代向量序列来求矩阵按模最大的特征值及其相应特征向量。1、构造原理设方阵nnAR,12,,,nxxx是A的n个线性无关的特征向量,其对应的特征值为12,,,n,任取一个非零向量0nVR,则有01212nnVxxx用A左乘0V,并利用kkkAxx有01212121122nnnnnAVAxAxAxxxx记1kkVAV,可得()(0)(1)(2)()1122(1)(2)()211211kkkkknnnkkknnnVAVxxxxxx假设12n,10,因为11k,有()(1)11,7.1kkVxk令V(k)的第i个分量为kiV,考虑分量比,有12212()1111(1)1221121111()()7.2()()nkkniinikkiknkkniiinixxxVVxxx当k充分大时,有()1(1)kikiVV,kV是1对应的一个近似特征向量。用如上求矩阵按模最大的近似特征值及其相应特征向量的方法称为幂法。2.分析当11时,1k导致kV的计算出现上益错误。定理设方阵nnAR,12,,,nxxx是A的n个线性无关的特征向量,12,,,n是对应的特征值12n,任取一个非零向量0nVR,按100,max1,2,4.3/kkkkkkkVAuuVmVkuVm构造规范化向量序列ku,其中maxkV表示kV的绝对值最大的分量,则有111lim,limmaxkkkkxumx证明由式(4.3)有100VAuAV(1)(0)(0)(1)(1)(0)(0)maxmaxmaxVAuAVuVAuAV(0)2(0)1(2)(0)(0)(2)2(0)2(0)(2)(2)2(0)2(0)maxmaxmaxmaxmaxmaxAVAVVAuAAVAVVAVAVuVAVVAV一般的有(0)(0)()()1(0)(0),maxmaxkkkkkkAVAVVuAVAV记21knkiiiix,由11k,有lim0kk,再由0111kkkAVx有11111111001111111111limlim;maxmaxlimlimmaxmaxlimmaxkkkkkkkkkkkkkkkkkxxuxxAVmAVxx利用定理可以写出规范化幂法算法1.输入矩阵A、初始向量0V,误差eps,实用中一般取01,1,,1V;2.k13.计算V(k)Au(k-1)4.mkmax(V(k)),mk-1max(V(k-1))5.u(k)V(k)/mk6.如果|mk-mk-1|eps,则显示特征值mk和对应的特征向量u(k),终止7.kk+1,转3如果矩阵A的n个特征值满足120n怎样用幂法求按模最小的特征值及相应特征向量?设特征值为k对应的特征向量为kx,有,1,2,,kkkAxxkn因为A的n个特征值都不为零,故A可逆,有11,1,2,,kkkAxxkn这说明1k是A-1特征值,x(k)是1k对应的特征向量。由120n,有11111nn于是,求A按模最小的特征值n相当于求A-1按模最大的特征值1n,此时,只要将幂法中的A换为A-1即可。用幂法求出A-1按模最大的特征值1n后取其倒数就得到A按模最小的特征值n,相应特征向量不变。用如上方法求矩阵按模最小的特征值及其相应特征向量的称为反幂法。由于求逆是很费时的,在反幂法迭代公式V(k)=A-1u(k-1)常用解线性方程组AV(k)=u(k-1)的方法求得V(k)。数值实验案例编写幂法的通用程序,并用该程序求矩阵13361354454688690A按模最大的特征值及其特征向量,要求误差10-4。观察选择不同初值计算的结果。幂法规范化算法1.输入矩阵A、初始向量u(0),误差eps2.k13.计算V(k)Au(k-1)4.mkmax(V(k)),mk-1max(V(k-1))5.ukV(k)/mk6.如果|mk-mk-1|eps,则显示特征值1和对应的特征向量x(1),终止7.kk+1,转3规范化幂法程序:Clear[a,u,x];a=Input[系数矩阵A=];u=Input[初始迭代向量u(0)=];n=Length[u];eps=Input[误差精度eps=];nmax=Input[“迭代允许最大次数nmax=”];fmax[x_]:=Module[{m=0,m1,m2},Do[m1=Abs[x[[k]]];If[m1m,m2=x[[k]];m=m1],{k,1,Length[x]}];m2]v=a.u;m0=fmax[u];m1=fmax[v];t=Abs[m1-m0]//N;k=0;While[teps&&knmax,u=v/m1;v=a.u;k=k+1;m0=m1;m1=fmax[v];t=Abs[m1-m0]//N;Print[k=,k,特征值=,N[m1,10],误差=,N[t,10]];Print[特征向量=,N[u,10]]];If[k=nmax,Print[迭代超限]]说明:本程序用于求矩阵A按模最大的特征值及其相应特征向量。程序执行后,先通过键盘输入矩阵A、迭代初值向量u(0)、精度控制eps和迭代允许最大次数nmax,程序即可给出每次迭代的次数和对应的迭代特征值、特征向量及误差序列,它们都按10位有效数输出。其中最后输出的结果即为所求的特征值和特征向量序。如果迭代超出nmax次还没有求出满足精度的根则输出迭代超限提示,此时可以根据输出序列判别收敛情况。程序中变量说明:a:存放矩阵Au存放u(0)和迭代过程中的向量u(k)及所求特征向量v:存放迭代过程中的向量V(k)m1:存放所求特征值和迭代过程中的近似特征值nmax:存放迭代允许的最大次数eps:存放误差精度fmax[x]:给出向量x中绝对值最大的分量k:记录迭代次数t1:临时变量注:迭代最大次数可以修改为其他数字。执行幂法程序后在输入的窗口中按提示分别输入:{{133,6,135},{44,5,46},{-88,-6,-90}}、{1,1,1}、0.0001、20,得如下输出结果:k=1特征值=44.42335766误差=229.5766423特征向量={1.,0.3467153285,-0.6715328467}k=2特征值=44.92343082误差=0.5000731606特征向量={1.,0.3341275058,-0.6672691423}k=3特征值=44.99546459误差=0.07203376236特征向量={1.,0.3333729572,-0.6667020234}k=4特征值=44.99977337误差=0.004308781874特征向量={1.,0.3333351894,-0.6666684279}k=5特征值=44.99998937误差=0.0002160020115特征向量={1.,0.3333334179,-0.6666667492}k=6特征值=44.99999952误差=0.0000101441501特征向量={1.,0.3333333371,-0.6666666704}结果说明迭代6次,求得误差为err=0.0000101441501的按模最大的特征值=44.99999952及其对应的一个特征向量={1.,0.3333333371,-0.6666666704}若在输入的四个窗口中按提示分别输入:{{133,6,135},{44,5,46},{-88,-6,-90}}、{1,1,-1}、0.0001、20,得如下输出结果:k=1特征值=2.5误差=1.5特征向量={1.,0.75,-1.}k=2特征值=2.2误差=0.3特征向量={1.,0.7,-1.}k=3特征值=2.090909091误差=0.1090909091特征向量={1.,0.6818181818,-1.}……………………………………………………………k=12特征值=2.000162787误差=0.0001628399197特征向量={1.,0.6666937978,-1.}k=13特征值=2.000081387误差=0.00008140008032特征向量={1.,0.6666802311,-1.}结果说明迭代13次,求得误差为err=0.00008140008032的按模最大的特征值=2.000081387及特征向量={1.,0.6666802311,-1.}。实验结论本题矩阵A的三个特征值为{45.,2.,1.}。选用不同的迭代初值获得两个不同结果,显然第二个特征值=2.000081387不是模最大的特征值。上面实验说明使用幂法依赖于迭代初值的选取且有时得到的结果不是模最大的特征值(知道是什么原因吗?)。如果不放心,可以选用两个不同的初值迭代计算,通过计算结果可以马上确定按模最大的特征值。4.2Jacobi方法Jacobi方法也称旋转法,是求实对称矩阵的全部特征值和特征向量的方法。基本思想将实对称矩阵进行一系列的相似正交变换使其约化成一个近似对角矩阵,然后利用相似正交变换的关系来求全部特征值和特征向量。由于使用的正交相似变换主要采用旋转变换,故称Jacobi方法为旋转法。1.构造原理若矩阵A是实
本文标题:4求矩阵特征值和特征向量课件-11
链接地址:https://www.777doc.com/doc-2926179 .html