幂法和反幂法求矩阵特征值_课程设计
数值分析幂法和反幂法
k=k+1;
end
在matlab输入面板,输入
A=rand(4);%产生一个4维随机矩阵
B=A+A’;
u=[1 1 1 1]’;%设立初始向量
[m,u,index,k]=pow(B,u,ep,it_max)%最多可省略2个参数
程序结束。
在M文件中可以通过改变m0的值改变原点位移,从而达到原点位移加速。
m =
2.6814
u =
0.8576
0.6934
0.5623
1.0000
index =
0
k =
1001
修改M0=0
m =
2.6820
u =
0.8577
0.6937
0.5624
1.0000
index =
1
k =
7
总结以上,幂法如下:
U
m0
m
u
index
k
[1 1 1 1]
0.0001
2.6813
[0.8576 0.6934 0.5623 1.0000]
2、对于幂法的定理
按式(1)计算出m 和u 满足
m = , u =
(二)反幂法算法的理论依据及推导
反幂法是用来计算绝对值最小的特征值忽然相应的特征向量的方法。是对幂法的修改,可以给出更快的收敛性。
1、反幂法的迭代格式与收敛性质
设A是非奇异矩阵,则零不是特征值,并设特征值为
| |≥| |≥…≥| |>| |
反幂法程序设计代码:
在matlab中建立一个M文件并保存。
%pow_inv.m
function[m,u,index,k]=pow_inv(A,u,ep,it_max)
数值分析幂法和反幂法
数值分析幂法和反幂法数值分析中的幂法和反幂法是求解矩阵最大特征值和最小特征值的常用方法。
这两种方法在许多数值计算问题中都有着广泛的应用,包括图像压缩、数据降维、谱聚类等。
幂法(Power Method)是一种迭代算法,通过不断迭代矩阵与一个向量的乘积,来逼近原矩阵的最大特征值和对应的特征向量。
其基本思想是,对于一个矩阵A和一维向量x,可以通过不断迭代计算Ax,Ax,Ax...,来使得向量x逼近最大特征值对应的特征向量。
具体的迭代过程如下:1.初始化一个向量x0(可以是单位向量或任意非零向量)2.令x1=Ax0,对向量进行归一化(即除以向量的范数)得到x13.重复步骤2,即令x2=Ax1,x3=Ax2...,直到收敛(即相邻迭代向量的差的范数小于一些阈值)为止4. 最终得到的向量xn就是A的最大特征值对应的特征向量在实际求解时,我们可以将迭代过程中的向量进行归一化,以防止数值溢出或下溢。
此外,为了提高迭代速度,我们可以选择使得xn与xn-1的内积大于0的方向作为迭代方向,这样可以使得特征值的模快速收敛到最大特征值。
幂法的收敛性是保证的,但收敛速度可能较慢,尤其是当最大特征值与其他特征值非常接近时。
此时可能需要使用一些改进的方法来加速收敛,例如Rayleigh商或位移策略。
相反,反幂法(Inverse Power Method)是求解矩阵的最小特征值和对应的特征向量的方法。
它的基本思想和幂法类似,但在每次迭代中,需要计算A和依其逆矩阵A-1的乘积。
迭代过程如下:1.初始化一个向量x0(可以是单位向量或任意非零向量)2.令x1=A-1x0,对向量进行归一化(即除以向量的范数)得到x13.重复步骤2,即令x2=A-1x1,x3=A-1x2...4. 最终得到的向量xn就是A的最小特征值对应的特征向量反幂法和幂法的区别在于迭代过程中乘以了A的逆矩阵,从而可以利用矩阵的特殊结构或性质来提高迭代速度。
同时,在实际求解时,可能需要将矩阵进行一些变换,以确保A-1存在或数值稳定性。
实验6反幂法求矩阵按模最小特征值
西华数学与计算机学院上机实践报告课程名称:计算方法A年级: 上机实践成绩: 指导教师:严常龙姓名: 上机实践名称:反幂法求矩阵按模最小特征值 学号:上机实践日期: 上机实践编号:1上机实践时间: 一、目的1.通过本实验加深对反幂法的构造过程的理解;2.能对反幂法提出正确的算法描述编程实现,得到计算结果。
二、内容与设计思想自选方阵,用反幂法求解其按模最小特征值。
可使用实例:⎪⎪⎪⎭⎫ ⎝⎛---=90688465441356133A三、使用环境操作系统:Windows XP软件环境:Microsoft Visual C++四、核心代码及调试过程#include<stdio.h>#include<math.h>#define MAX_N 20 //矩阵最大维数#define MAXREPT 100#define epsilon 0.00001 //求解精度int main(){int n;int i,j,k;double xmax,oxmax;static double a[MAX_N][MAX_N];static double l[MAX_N][MAX_N],u[MAX_N][MAX_N];static double x[MAX_N],nx[MAX_N];printf("\n 请输入矩阵阶数n:"); //输入矩阵维数scanf("%d",&n);if(n>MAX_N){printf("the input n is larger than MAX_N,please redefine the MAX_N.\n");return 1;}if(n<=0){printf("please input a number between 1 and %d.\n",MAX_N);return 1;}//输入A矩阵printf("请输入矩阵的值a[i][j] i,j=0...%d;\n",n-1);for(i=0;i<n;i++)for(j=0;j<n;j++)scanf("%lf",&a[i][j]);for(i=0;i<n;i++)x[i]=1;oxmax=0;for(i=0;i<MAXREPT;i++){for(j=0;j<n;j++) //幂乘{nx[j]=0;for(k=0;k<n;k++)nx[j]+=a[j][k]*x[k];}xmax=0.0;for(j=0;j<n;j++) //规范化if(fabs(nx[j])>xmax)xmax=fabs(nx[j]);for(j=0;j<n;j++)nx[j]/=xmax;for(j=0;j<n;j++)x[j]=nx[j];if(fabs(xmax-oxmax)<epsilon){printf("solve...max lamda=%lf\n",xmax); //输出printf("the vector is:\n");for(i=0;i<n;i++)printf("%f\n",nx[i]);break;//return 0;}oxmax=xmax;}//printf("after %d repeat ,max no result ...\n",MAXREPT); for(i=0;i<n;i++)u[i][i]=1; //U矩阵对角元为for(k=0;k<n;k++){for(i=k;i<n;i++) //计算L矩阵{l[i][k]=a[i][k];for(j=0;j<=k-1;j++)l[i][k]-=(l[i][j]*u[j][k]);}for(j=k+1;j<n;j++) //计算U矩阵{u[k][j]=a[k][j];for(i=0;i<=k-1;i++)u[k][j]-=(l[k][i]*u[i][j]);u[k][j]/=l[k][k];}}for(i=0;i<n;i++)x[i]=1;for(i=0;i<MAXREPT;i++){for(j=0;j<n;j++) //反幂乘{nx[j]=x[j];for(k=0;k<=j-1;k++)nx[j]-=l[j][k]*nx[k];nx[j]/=l[j][j];}for(j=n-1;j>=0;j--){x[j]=nx[j];for(k=j+1;k<n;k++)x[j]-=u[j][k]*x[k];}xmax=0.0;for(j=0;j<n;j++)if(fabs(x[j])>xmax)xmax=fabs(x[j]);for(j=0;j<n;j++)x[j]/=xmax;if(fabs(xmax-oxmax)<epsilon){printf("solve... min lamda=%lf\n",1/xmax); //输出printf("the vector is:\n");for(i=0;i<n;i++)printf("%f\n",x[i]);break;//return 0;}oxmax=xmax;}return 1;}五、总结本次试验利用C语言实现了用反幂法求解其按模最小特征值,通过本实验加深对反幂法的构造过程的理解。
矩阵计算与分析幂迭代法和逆幂迭代法
矩阵计算与分析幂迭代法和逆幂迭代法矩阵计算是数学中的一个重要分支,它涉及到对矩阵进行各种运算和分析。
其中,幂迭代法和逆幂迭代法是解决矩阵特征值和特征向量的常用方法。
本文将详细介绍这两种方法的原理、步骤及其在实际问题中的应用,并对它们进行比较与分析。
一、幂迭代法幂迭代法是一种通过不断迭代矩阵的幂次来逼近矩阵的最大特征值和对应的特征向量的方法。
其基本思想是利用矩阵的特征向量的方向不变性,将任意一个非零向量经过多次矩阵乘法后逼近于特征向量。
具体步骤如下:1.选取一个初始向量x0,通常为一个随机向量。
2. 计算xn+1 = Axn,其中A为给定矩阵。
3. 归一化xn+1,即xn+1 = xn+1/,xn+1,其中,xn+1,表示向量的模。
4. 如果迭代次数n足够大,那么xn将逼近A的最大特征值对应的特征向量。
幂迭代法的收敛性与初始向量的选择有很大关系,通常情况下,初始向量选取得越接近最大特征值所对应的特征向量,迭代次数越少,精度越高。
幂迭代法主要用于计算矩阵的最大特征值和对应的特征向量。
在实际问题中,矩阵的最大特征值和特征向量常常具有重要的物理意义,比如在结构力学中,最大特征值代表了结构的自然频率,对应的特征向量则代表了结构的振型。
因此,幂迭代法在结构优化、振动分析等领域有广泛的应用。
逆幂迭代法是幂迭代法的一个改进方法,它主要用于计算矩阵的最小特征值和对应的特征向量。
逆幂迭代法的基本思想是通过不断迭代矩阵的逆幂次来逼近矩阵的最小特征值和对应的特征向量。
具体步骤如下:1.选取一个初始向量x0,通常为一个随机向量。
2. 计算xn+1 = A^-1xn,其中A为给定矩阵,A^-1为A的逆矩阵。
3. 归一化xn+1,即xn+1 = xn+1/,xn+1,其中,xn+1,表示向量的模。
4. 如果迭代次数n足够大,那么xn将逼近A的最小特征值对应的特征向量。
逆幂迭代法的收敛性与初始向量的选择有很大关系,与幂迭代法相同,初始向量选取得越接近最小特征值所对应的特征向量,迭代次数越少,精度越高。
求矩阵特征值算法及程序
求矩阵特征值算法及程序简介1.幂法1、幂法规范化算法(1)输入矩阵A 、初始向量)0(μ,误差eps ;(2)1⇐k ; (3)计算)1()(-⇐k k A Vμ;(4))max (,)max ()1(1)(--⇐⇐k k k k V m V m ;(5)k k k m V /)()(⇐μ;(6)如果eps m m k k <--1,则显示特征值1λ和对应的特征向量)1(x ),终止;(7)1+⇐k k ,转(3)注:如上算法中的符号)max(V 表示取向量V 中绝对值最大的分量。
本算法使用了数据规范化处理技术以防止计算过程中出现益出错误。
2、规范化幂法程序 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[m1>m,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[t>eps&&k<nmax, 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 按模最大的特征值及其相应特征向量。
七、矩阵特征值的乘幂方法和反乘幂方法
1、用幂法计算矩阵A的主特征值和对应的特征向量。
function [k,lambda,Vk,Wc]=mifa(A,V0,jd,max1)lambda=0;k=1;Wc=1;jd=jd*0.1;state=1;V=V0;while((k<=max1)&(state==1))Vk=A*V;[m j]=max(abs(Vk));mk=m*sign(Vk(j));tzw=abs(lambda-mk);Vk=(1/mk)*Vk;txw=norm(V-Vk);Wc=max(txw,tzw);V=Vk;lambda=mk;state=0;if(Wc>jd)state=1;endk=k+1;endif(Wc<=jd)disp('迭代次数k,主特征值的近似值lambda,主特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:')elsedisp('迭代次数k已经达到最大迭代次数max1,主特征值的迭代值lambda,主特征向量的迭代向量Vk,相邻两次迭代的误差Wc如下:')endVk=V;k=k-1;Wc;>> A=[1 -1;2 4];>> V0=[1,1]';>> [k,lambda,Vk,Wc]=mifa(A,V0,0.00001,100)迭代次数k,主特征值的近似值lambda,主特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:k =33lambda =3.0000Vk =-0.50001.0000Wc =8.6919e-007>> [V,D]=eig(A)V =-0.7071 0.44720.7071 -0.8944D =2 00 3>> Dzd=max(diag(D))Dzd =3>> wuD=abs(Dzd-lambda)wuD =1.7384e-006>> wuV=V(:,2)./VkwuV =-0.8944-0.8944>> A=[1 2 3;2 1 3;3 3 6];>> V0=[1 1 1]';>> [k,lambda,Vk,Wc]=mifa(A,V0,0.00001,100)迭代次数k,主特征值的近似值lambda,主特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:k =3lambda =9Vk =0.50000.50001.0000Wc =>> [V,D]=eig(A)V =0.7071 0.5774 0.4082-0.7071 0.5774 0.40820 -0.5774 0.8165D =-1.0000 0 00 -0.0000 00 0 9.0000>> Dzd=max(diag(D))Dzd =9>> wuD=abs(Dzd-lambda)wuD =>> wuV=V(:,2)./VkwuV =1.15471.1547-0.5774>> A=[1 2 2;1 -1 1;4 -12 1];>> V0=[1 1 1]';>> [k,lambda,Vk,Wc]=mifa(A,V0,0.00001,100)迭代次数k已经达到最大迭代次数max1,主特征值的迭代值lambda,主特征向量的迭代向量Vk,相邻两次迭代的误差Wc如下:k =100lambda =-0.0909Vk =1.00001.00001.0000Wc =1.9582>> [V,D]=eig(A)V =0.9045 -0.7255 -0.72550.3015 -0.2176 - 0.0725i -0.2176 + 0.0725i-0.3015 0.5804 - 0.2902i 0.5804 + 0.2902iD =1.0000 0 00 -0.0000 + 1.0000i 00 0 -0.0000 - 1.0000i>> Dzd=max(diag(D))Dzd =1.0000>> wuD=abs(Dzd-lambda)wuD =1.0909>> wuV=V(:,2)./VkwuV =-0.7255-0.2176 - 0.0725i0.5804 - 0.2902i(4)>> A=[-4 14 0;-5 13 0;-1 0 2];>> V0=[1 1 1]';>> [k,lambda,Vk,Wc]=mifa(A,V0,0.00001,100)迭代次数k,主特征值的近似值lambda,主特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:k =22lambda =6.0000Vk =1.00000.7143-0.2500Wc =8.1744e-007>> [V,D]=eig(A)V =0 0.7974 0.66670 0.5696 0.33331.0000 -0.1994 -0.6667D =2.0000 0 00 6.0000 00 0 3.0000>> Dzd=max(diag(D))Dzd =6.0000>> wuD=abs(Dzd-lambda)wuD =8.1744e-007>> wuV=V(:,2)./VkwuV =0.79740.79740.79742、用原点位移反幂法计算矩阵A的特征值和对应的特征向量。
计算方法之计算矩阵的特征值和特征量
计算方法之计算矩阵的特征值和特征量计算矩阵的特征值和特征向量是线性代数中的一个重要问题,它在科学研究和工程应用中有着广泛的应用。
本文将介绍计算矩阵特征值和特征向量的方法,包括特征方程法、幂法、反幂法和QR方法。
一、特征值和特征向量的定义给定一个n阶方阵A,如果存在一个非零向量x和一个标量λ,满足以下方程:Ax=λx其中,x被称为A的特征向量,λ被称为A的特征值。
二、特征方程法特征方程法是计算矩阵特征值和特征向量的一种常用方法,其基本思想是通过求解矩阵的特征方程来求得特征值。
对于一个n阶方阵A,其特征方程为:A-λI,=0其中,I是n阶单位矩阵,A-λI,表示A-λI的行列式。
解特征方程可以得到n个特征值λ₁,λ₂,...,λₙ。
然后,将这些特征值带入原方程组(A-λI)x=0,求解线性方程组得到n个特征向量x₁,x₂,...,xₙ。
三、幂法幂法是一种通过迭代来计算矩阵最大特征值和对应的特征向量的方法。
首先,随机选择一个非零向量b₀,并进行归一化,得到单位向量x₀=b₀/,b₀。
然后,通过迭代的方式,计算xₙ₊₁=Axₙ,其中xₙ为第k次迭代得到的向量。
在迭代过程中,向量xₙ的模长会逐渐趋近于最大特征值对应的特征向量。
当迭代收敛后,xₙ就是矩阵A的最大特征值对应的特征向量。
四、反幂法反幂法是一种通过迭代来计算矩阵最小特征值和对应的特征向量的方法。
首先,随机选择一个非零向量b₀,并进行归一化,得到单位向量x₀=b₀/,b₀。
然后,通过迭代的方式,计算xₙ₊₁=(A-σI)⁻¹xₙ,其中σ为待求的特征值。
在迭代过程中,向量xₙ的模长会逐渐趋近于特征值σ对应的特征向量。
当迭代收敛后,xₙ就是矩阵A的特征值为σ的特征向量。
五、QR方法QR方法是一种通过迭代来计算矩阵特征值和特征向量的方法。
首先,将矩阵A进行QR分解,得到矩阵A=QR,其中Q是正交矩阵,R是上三角矩阵。
然后,计算矩阵B=RQ,重复以上步骤,直到矩阵B收敛。
幂法,反幂法求解矩阵最大最小特征值及其对应的特征向量(DOC)
数值计算解矩阵的按模最大最小特征值及对应的特征向量一.幂法1. 幂法简介:当矩阵A 满足一定条件时,在工程中可用幂法计算其主特征值(按模最大)及其特征向量。
矩阵A 需要满足的条件为: (1) 的特征值为A i n λλλλ,0||...||||21≥≥≥>(2) 存在n 个线性无关的特征向量,设为n x x x ,...,,21 1.1计算过程:i ni i i u xx αα,1)0()0(∑==,有对任意向量不全为0,则有1111112211211111111011)()(...u u a u a u λu λαu αA x A Ax x k n n k n k k ni ik i i ni i i k )(k (k))(k αλλλλλα++++=+=+++≈⎥⎦⎤⎢⎣⎡+++======∑∑ 可见,当||12λλ越小时,收敛越快;且当k 充分大时,有1)1111)11111λαλαλ=⇒⎪⎩⎪⎨⎧==+++(k )(k k(k k )(k x x u x u x ,对应的特征向量即是)(k x 1+。
2 算法实现.,, 3,,1 , ).5()5(,,,,||).4();max(,).3()(max(;0,1).2(,).1()()()(停机否则输出失败信息转置若转否则输出若计算最大迭代次数,误差限,初始向量输入矩阵βλβεβλβλε←+←<<-←←=←←k k N k y x Ay x x abs x y k N x A k k k3 matlab 程序代码function [t,y]=lpowerA,x0,eps,N) % t 为所求特征值,y是对应特征向量k=1;z=0; % z 相当于λy=x0./max(abs(x0)); % 规范化初始向量x=A*y; % 迭代格式b=max(x); % b 相当于βif abs(z-b)<eps % 判断第一次迭代后是否满足要求t=max(x);return;endwhile abs(z-b)>eps && k<Nk=k+1;z=b;y=x./max(abs(x));x=A*y;b=max(x);end[m,index]=max(abs(x)); % 这两步保证取出来的按模最大特征值t=x(index); % 是原值,而非其绝对值。
幂法和反幂法求矩阵特征值课程知识讲解
v (k ) =Au (k 1) ,m =max(v (k ) ), u (k ) = v (k ) / m
k
k
(3)若|
m= k
m k 1 |<
,则停止计算(m k 作为绝对值最大特征值 1 ,u (k) 作为
相应的特征向量)否则置 k=k+1,转(2)
2、反幂法算法
(1)取初始向量 u (0) (例如取 u (0) =(1,1,…1) T ),置精度要求 ,置 k=1.
要
2.选择合适问题求解的数值计算方法;
求
3.设计程序并进行计算;
4.对结果进行解释说明;
对于幂法和反幂法求解矩阵特征值和特征向量的问题将从问题分析,算 法设计和流程图,理论依据,程序及结果进行阐述该问题。
一.问题的分析:
求 n 阶方阵 A 的特征值和特征向量,是实际计算中常常碰到的问题,如:
采
机械、结构或电磁振动中的固有值问题等。对于 n 阶矩阵 A,若存在数 和
按式(1)计算出 m 和 u (k ) 满足 k
lim
k
m
k
=
1
,
lim u (k ) = x1
k
max( x1 )
(二)反幂法算法的理论依据及推导
反幂法是用来计算绝对值最小的特征值忽然相应的特征向量的方法。是对 幂法的修改,可以给出更快的收敛性。 1、反幂法的迭代格式与收敛性质
设 A 是非奇异矩阵,则零不是特征值,并设特征值为 | 1 |≥| 2 |≥…≥| n1|>| n |
则按 A 1 的特征值绝对值的大小排序,有
| 1 |>| 1 |≥…≥| 1 |
n
n 1
1
数值分析课程设计反幂法
数值分析课程设计反幂法一、教学目标本节课的教学目标是让学生掌握反幂法的原理及其在数值分析中的应用。
知识目标要求学生了解反幂法的定义、性质及其在求解非线性方程中的应用;技能目标要求学生能够运用反幂法求解实际问题,并能够对结果进行分析和评价;情感态度价值观目标则是培养学生的探究精神、合作意识以及对于数学问题的兴趣。
二、教学内容本节课的教学内容主要包括反幂法的原理及其在数值分析中的应用。
首先,介绍反幂法的定义和性质,通过具体的例子让学生理解反幂法的含义和作用。
然后,讲解反幂法在求解非线性方程中的应用,并通过实际问题让学生掌握反幂法的具体操作步骤。
最后,对反幂法的优缺点进行总结,并引导学生思考如何选择合适的数值方法。
三、教学方法为了达到本节课的教学目标,将采用多种教学方法进行教学。
首先,运用讲授法为学生讲解反幂法的原理和性质,让学生掌握基本知识。
其次,通过讨论法让学生探讨反幂法在实际问题中的应用,培养学生的动手能力和解决问题的能力。
此外,还可以采用案例分析法和实验法,让学生在实际操作中感受反幂法的应用,并能够对其进行评价。
四、教学资源为了支持本节课的教学内容和教学方法的实施,将准备以下教学资源。
首先,教材和相关参考书,为学生提供理论知识的学习;其次,多媒体资料,包括PPT、视频等,用于直观展示反幂法的原理和应用;最后,实验设备,如计算机、计算器等,让学生能够在实际操作中掌握反幂法。
通过这些教学资源的使用,丰富学生的学习体验,提高学生的学习效果。
五、教学评估本节课的教学评估将采取多元化方式进行,以确保评估的客观性和公正性,并全面反映学生的学习成果。
评估方式包括平时表现、作业、小测验和期末考试。
平时表现主要评估学生的课堂参与度和提问回答情况;作业则是对学生掌握反幂法知识的检验,要求学生独立完成相关练习题;小测验则是在课程中期进行,用以检查学生对反幂法的理解和应用能力;期末考试则是对学生整个学期学习成果的全面考核,包括理论知识的理解和实际问题的解决。
用幂法求解矩阵特征值和特征向量
x= -0.3930 -0.9774 0.2921 1.0000 第五题 A=[-1 2 1; 2 -4 1; 1 1 -6 ]; v0=[1 1 1]'; tol=1e-4; [lda,x]=mifa(A,v0,tol) lda = -6.4209
第4页
数值分析实验指导
x= -0.0463 -0.3746 000
( 1, 0, 1, 0, 0, 1 )T 105
1 21.30525 6 1.62139 x1 0.8724,0.5401,0.9973,0.5644,0.4972,1.0 T
第1页
数值分析实验指导
2 1 1 2 1 (3) A= 1 2 1 1 2 1 1 2 T 0 104 取 =( 1, 1, 1, 1, 1 ) 参考结果: 3.7321 3 4 2 1 1 3 1 5 (4) A= 3 1 6 2 4 5 2 1 T 2 取 0 =( 1, 1, 1, 1 ) , 10 。
第3页
数值分析实验指导
x= 0.5000 -0.8660 1.0000 -0.8660 0.5000 第四题 A=[2 1 3 4; 1 -3 1 5; 3 1 6 -2; 4 5 -2 -1 ]; v0=[1 1 1 1]'; tol=1e-2; [lda,x]=mifa(A,v0,tol) lda = -8.0136
下面再考虑主特征值 1 的的计算,用 (vk )i 表示 vk 的第 i 个分量,则
( x ) ( k 1 )i (vk 1 )i 1 1 1 i , (vk )i 1 ( x1 )i ( k )i
故
矩阵特征值与特征向量的计算
第九章矩阵特征值与特征向量的计算教学目的与要求:掌握用幂法和反幂法求矩阵特征值与特征向量的方法,了解 Jacobi 方法的适用范围和使用方法。
重点和难点:幂法和反幂法■ 教学内容:§1 幂法和反幂法一、幂法幂法的基本思想是给定初始向量(00≠x , 由迭代公式产生向量序列(1( (0,1, 2, +==L k k x Ax k {}(k x :上述向量称为迭代向量。
(1(0(22(0( (0 ⎧=⎪=⎪⎪⎨⎪=⎪⎪⎩LLLLk k x Ax x A x x A x 于是由上式得(1 ( 1(01111( λ++++k i u ======∑∑nnk k k k i i i i i i x Ax A x A a u a 11121112211[]λλλλλ+++⎛⎞⎛⎞=+++⎜⎟⎜⎟⎝⎠⎝⎠L k k k n n n a u a u a u设 ,由10a ≠1(2,3, , i i n λλ>=L 得 1 1lim 0λλ+→∞⎛⎞=⎜⎟⎝⎠k i i i k a u ,于是 121lim 0λλ+→∞=⎛⎞=⎜⎟⎝⎠∑k ni i i k i a u故只要 k 充分大,就有 (1111111121[]λλλ+++=⎛⎞=+≈⎜⎟⎝⎠∑nk k k i i i i 1λx a u a u a u 因此, 可以近似作为与(1 +k x 1λ相应的特征向量。
下面我们通过特征向量来计算特征值1λ。
用 ( k i x 表示的第 i 个分量,由于( k x (1 1111(111( ( λλ++≈k k i i k k i i x a x a u u ,所以 (11( (1,2, , λ+≈=L k i k ix i n x 上式这种由已知非零向量及矩阵 (0x A 的乘幂构造向量序列 kA {}( k x 用来计算矩阵 A 按模最大的特征值1λ与对应的特征向量的方法称为幂法。
例 1 用幂法的规范运算求矩阵的按模最大的特征值及对应的特征向量。
数值分析课程设计+幂法与反幂法MATLAB
一、问题的描述及算法设计(一)问题的描述本次课程设计我所要做的课题是:对称矩阵的条件数的求解设计 1、求矩阵A 的二条件数问题 A=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----210121012 2、设计内容: 1)采用幂法求出A 的. 2)采用反幂法求出A 的.3)计算A 的条件数 ⅡA Ⅱ2* ⅡA -1Ⅱ2=cond2(A )=/.(精度要求为10-6)3、设计要求 1)求出ⅡA Ⅱ2。
2)并进行一定的理论分析。
(二)算法设计1、幂法算法(1)取初始向量u )0((例如取u )0(=(1,1,…1)T ),置精度要求ε,置k=1. (2)计算v )(k =Au )1(-k ,m k =max(v )(k ), u )(k = v )(k / m k(3)若| m k = m 1-k |<ε,则停止计算(m k 作为绝对值最大特征值1λ,u )(k 作为相应的特征向量)否则置k=k+1,转(2) 2、反幂法算法(1)取初始向量u )0((例如取u )0(=(1,1,…1)T ),置精度要求ε,置k=1. (2)对A 作LU 分解,即A=LU(3)解线性方程组 Ly )(k =u )1(-k ,Uv )(k =y )(k (4)计算m k =max(v )(k ), u )(k = v )(k / m k(5)若|m k =m 1-k |<ε,则停止计算(1/m k 作为绝对值最小特征值n λ,u )(k 作为相应的特征向量);否则置k=k+1,转(3).二、算法的流程图(一)幂法算法的流程图(二)反幂法算法的流程图三、算法的理论依据及其推导(一)幂法算法的理论依据及推导幂法是用来确定矩阵的主特征值的一种迭代方法,也即,绝对值最大的特征值。
稍微修改该方法,也可以用来确定其他特征值。
幂法的一个很有用的特性是它不仅可以生成特征值,而且可以生成相应的特征向量。
实际上,幂法经常用来求通过其他方法确定的特征值的特征向量。
数值分析3.1幂法和反幂法
第三章 矩阵的特征值与特征向量
3.1 幂法与反幂法 3.2 Jacobi方法
3.3 QR方法
第三章 矩阵的特征值与特征向量
3.1幂法与反幂法
一、乘幂法 二、反幂法
三、带原点位移的反幂法
四、反幂法的特点
第三章 矩阵的特征值与特征向量
3.1幂法与反幂法
一、乘幂法
1、基本思想
2、算法(迭代公式) ◆一般算法
具体算法: (1)使用范数 2
1 X 1 yk , k 1 1 X 1
(2)使用范数
uk A yk 1
令
k
er u k er y k 1
T
T
k
lim k 1
留为作业自学
具体算法: (1)使用范数 2 1 X 1 yk , k 1 1 X 1
1 2 n
第三章 矩阵的特征值与特征向量
一、乘幂法 1、基本思想 设A有n个线性无关的特征向量 X 1 , X 2 ,, X n ,
AX j j X j , j 1,2,, n
3.1幂法与反幂法
★ 设 1为实数而且是单根: 1 2 n
u0 1 X 1 2 X 2 n X n
具体算法: 按取范数的不同, 迭代公式也不同。 (1)使用范数 2
任取初始向量u0 R n T k 1 u k 1 u k 1 u k 1 yk 1 k 1 (3.4) u k A yk 1 k yk 1T uk k 1,2,
T
精确结果:
X 1 (0,0.5,1) , 1 45
T
max( uk ) 表示 u k 的绝对值最大的分量。 (3)
关于幂法与反幂法的研究
东北大学秦皇岛分校数值计算课程设计报告幂法及反幂法学院数学与统计学院专业信息与计算科学学号******姓名***指导教师*** ***成绩教师评语:指导教师签字:2014年07月07日1 绪论1.1 课题的背景矩阵特征值的数值算法,在科学和工程技术中很多问题在数学上都归结为矩阵的特征值问题。
例如,结构的振动波形和频率可分别由适当矩阵的特征向量和特征值来决定,结构的稳定性由特征值决定;又如机械和机件的振动问题,无线电工及光学系统第电磁振荡问题和物理学中各种临界值都牵涉到特征值计算。
所以说研究利用数学软件解决求特征值的问题是非常必要的。
求矩阵特征值的一种方法是从原始矩阵出发,求出其特征多项式及其根,即得到矩阵的特征值。
但高次多项式求根问题尚有困难,而且重根的计算精度较低。
另外,原始矩阵求特征多项式系数的过程,对舍入误差非常敏感,对最终结果影响很大。
所以,从数值计算的观点来看,这种求矩阵特征值的方法不够好。
实际问题中,有时需要的并不是所有的特征根,而是最大最小的实特征根。
称模最大的特征根为主特征值。
解决特征值计算的算法有很多种,古老的雅可比方法、兰乔斯方法以及较为常用的幂法、QR方法。
QR方法是一种变换法,可求全部的特征值;幂法和反幂法是迭代法,只求模最大与模最小的特征值及特征向量。
下面主要来研究一下幂法、反幂法,利用MATLAB解决矩阵特征值问题。
幂法是一种计算矩阵主特征值(矩阵按模最大的特征值)及对应特征向量的迭代方法,特别适用于大型稀疏矩阵。
反幂法是计算海森伯格阵或三对角阵的对应一个给定近似特征值的特征向量的有效方法之一。
1.2 概念的认识对于n阶矩阵A,若存在数λ和n维向量x满足:x=,则称λ为矩阵A的特征值,Axλx为相应的特征向量。
病态矩阵:求解方程组时对数据的小扰动很敏感的矩阵。
例如希尔伯特矩阵就是一类著名的病态矩阵。
本次课题不对病态矩阵做深入研究。
非亏损矩阵:矩阵存在n个线性无关的特征向量,即有一个完全的特征向量组。
幂法和反幂法求矩阵特征值_课程设计
按式(1)计算出m 和u 满足
m = , u =
(二)反幂法算法地理论依据及推导
反幂法是用来计算绝对值最小地特征值忽然相应地特征向量地方法.是对幂法地修改,可以给出更快地收敛性.
1、反幂法地迭代格式与收敛性质
设A是非奇异矩阵,则零不是特征值,并设特征值为
| |≥| |≥…≥| |>| |
3.设计程序并进行计算;
4.对结果进行解释说明;
采用方法
及结果
说明
对于幂法和反幂法求解矩阵特征值和特征向量地问题将从问题分析,算法设计和流程图,理论依据,程序及结果进行阐述该问题.
一.问题地分析:
求n阶方阵A地特征值和特征向量,是实际计算中常常碰到地问题,如:机械、结构或电磁振动中地固有值问题等.对于n阶矩阵A,若存在数 和n维向量x满足
同时,原点位移m地选取也影响收敛地速度.但原点位移m0地适当选取依赖于对矩阵A地大致了解.
成员
1007024104辛志贤
1007024107张容
1007024108罗言月
所以线性方程组(3)改为
Ly =u ,Uv =y
四、算法程序设计代码
幂法程序,在matlab中建立一个M文件并保存.
%pow.m
function [m,u,index,k]=pow(A,u,ep,it_max)
if nargin<4
it_max=1000;
end
if nargin<3
ep=1e-5;
实际上幂法经常用来求通过其他方法确定地特征值地特征向量其中maxv二反幂法算法地理论依据及推导反幂法是用来计算绝对值最小地特征值忽然相应地特征向量地方法这给计算带来很大地不方便因此把2式地第一式改为求解线性方程组但由于在反幂法中每一步迭代都需求解线性方程组3式迭代做了大量地重复计算为了节省工作量可事先把矩阵lu分解即alu所以线性方程组3改为ly四算法程序设计代码幂法程序在matlab中建立一个powmfunctionmuindexkpowauepitmaxnargin4itmax1000nargin3ep1e5