幂法和反幂法求矩阵特征值课程

合集下载

数值分析幂法和反幂法

数值分析幂法和反幂法
m1=m;
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)

矩阵最大特征值求法

矩阵最大特征值求法

矩阵最大特征值求法矩阵最大特征值求法矩阵最大特征值是矩阵理论中的重要概念,它在很多领域都有广泛的应用,如物理、化学、工程等。

在实际应用中,我们需要求解矩阵的最大特征值和对应的特征向量,以便对矩阵进行分析和处理。

本文将介绍两种常用的矩阵最大特征值求法:幂法和反迭代法。

一、幂法幂法是求解矩阵最大特征值和对应特征向量的一种常用方法。

其基本思想是:对于一个矩阵A,我们可以随机选择一个向量x0,然后通过不断迭代,使得向量x0趋近于矩阵A的最大特征值所对应的特征向量。

具体步骤如下:1. 随机选择一个向量x0,使其满足||x0||=1。

2. 对向量x0进行迭代,得到向量x1,即x1=Ax0。

3. 对向量x1进行归一化,得到向量x2,即x2=x1/||x1||。

4. 重复步骤2和步骤3,直到向量x收敛于矩阵A的最大特征值所对应的特征向量。

在实际应用中,为了提高计算效率,我们可以对向量x进行正交化处理,即每次迭代后,将向量x与前面所有的向量进行正交化,以避免向量的线性相关性对计算结果的影响。

二、反迭代法反迭代法是一种基于幂法的改进算法,它可以求解矩阵的任意一个特征值和对应的特征向量。

其基本思想是:对于一个矩阵A和一个已知的特征值λ,我们可以通过反迭代法,求解出矩阵A中与特征值λ最接近的特征值和对应的特征向量。

具体步骤如下:1. 随机选择一个向量x0,使其满足||x0||=1。

2. 对向量x0进行迭代,得到向量x1,即x1=(A-λI)-1x0,其中I为单位矩阵。

3. 对向量x1进行归一化,得到向量x2,即x2=x1/||x1||。

4. 重复步骤2和步骤3,直到向量x收敛于矩阵A中与特征值λ最接近的特征向量。

在实际应用中,我们可以通过多次迭代,求解出矩阵A中多个特征值和对应的特征向量,以便对矩阵进行更全面的分析和处理。

总结矩阵最大特征值求法是矩阵理论中的重要内容,幂法和反迭代法是常用的求解方法。

在实际应用中,我们需要根据具体情况选择合适的方法,并注意算法的收敛性和计算效率。

数值方法课程设计幂法反幂法计算矩阵特征值和特征向量-附Matlab程序

数值方法课程设计幂法反幂法计算矩阵特征值和特征向量-附Matlab程序

矩阵的特征值与特征向量的计算摘要物理,力学,工程技术中的很多问题在数学上都归结于求矩阵特征值的问题,例如振动问题(桥梁的振动,机械的振动,电磁振动等)、物理学中某些临界值的确定问题以及理论物理中的一些问题。

矩阵特征值的计算在矩阵计算中是一个很重要的部分,本文使用幂法和反幂法分别求矩阵的按模最大,按模最小特征向量及对应的特征值。

幂法是一种计算矩阵主特征值的一种迭代法,它最大的优点是方法简单,对于稀疏矩阵比较合适,但有时收敛速度很慢。

其基本思想是任取一个非零的初始向量。

由所求矩阵构造一向量序列。

再通过所构造的向量序列求出特征值和特征向量。

反幂法用来计算矩阵按模最小特征向量及其特征值,及计算对应于一个给定近似特征值的特征向量。

本文中主要使用反幂法计算一个矩阵的按模最小特征向量及其对应的特征值。

计算矩阵按模最小特征向量的基本思想是将其转化为求逆矩阵的按模最大特征向量。

然后通过这个按模最大的特征向量反推出原矩阵的按模最小特征向量。

关键词:矩阵;特征值;特征向量;冥法;反冥法THE CALCULATIONS OF EIGENVALUE AND EIGENVECTOR OF MATRIXABSTRACTPhysics, mechanics, engineering technology in a lot of problems in mathematics are attributed to matrix eigenvalue problem, such as vibration (vibration of the bridge, mechanical vibration, electromagnetic vibration, etc.) in physics, some critical values determine problems and theoretical physics in some of the problems. Matrix eigenvalue calculation is a very important part in matrix computation. In this paper, we use the power method and inverse power method to calculate the maximum of the matrix, according to the minimum characteristic vector and the corresponding characteristic value.Power method is an iterative method to calculate the eigenvalues of a matrix. It has the advantage that the method is simple and suitable for sparse matrices, but sometimes the convergence rate is very slow. The basic idea is to take a non - zero initial vector. Construct a vector sequence from the matrix of the matrix. Then the eigenvalues and eigenvectors are obtained by using the constructed vector sequence.The inverse power method is used to calculate the minimum feature vectors and their eigenvalues of the matrix, and to calculate the eigenvalues of the matrix. In this paper, we use the inverse power method to calculate the minimum eigenvalue of a matrix and its corresponding eigenvalues. The basic idea of calculating the minimum characteristic vector of a matrix is to transform it to the maximum characteristic vector of the modulus of the inverse matrix. Then, according to the model, the minimum feature vector of the original matrix is introduced.Key words: Matrix;Eigenvalue;Eigenvector;Iteration methods;目录1 引言 (1)2 相关定理。

求矩阵特征值算法及程序

求矩阵特征值算法及程序

求矩阵特征值算法及程序简介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 按模最大的特征值及其相应特征向量。

数值分析第四章矩阵特征值与特征向量的计算

数值分析第四章矩阵特征值与特征向量的计算

192.9996. 973
12
➢ 幂法的加速—原点移位法
应用幂法计算矩阵A的主特征值的收敛速度主要
由比值 r=|2/1|来决定, 但当r接近于1时, 收敛可能
很慢. 这时可以采用加速收敛的方法.
引进矩阵
B=A-0I
其中0为代选择参数. 设A的特征值为1, 2, …, n, 则B的特征值为1-0, 2-0, …, n-0, 而且A, B
10
2 1 0 例 用幂法求矩阵 A 0 2 1
0 1 2
的按模最大的特征值和相应的特征向量.
取 x(0)=(0, 0, 1)T, 要求误差不超过103.
解 y 0 x 0 0 ,0 ,1 T ,
x 1 A 0 0 y , 1 , 2 T , 1 m x ( 1 ) ) a 2 , x
y(1)
x(1)
1
(0,0.5,1)T
x ( 2 ) A ( 1 ) 0 . 5 y , 2 , 2 . 5 T ,2 m x ( 2 ) ) 12 1a . 5 ,
y(2)
x(2) 2
(0.2,0.8,1)T
x ( 3 ) A ( 2 ) 1 . 2 y , 2 . 6 , 2 . 8 T ,3 m x ( 3 ) ) 2 a . 8 ,
x
(
k
1
)
Ax
(k )
A k1 x (0)
在一定条件下, 当k充分大时:
1
x ( k 1) i
x
( i
k
)
相应的特征向量为: x(k1) 4
➢ 幂法的理论依据
n
对任意向量x(0), 有 x(0) tiui ,
i1
x(k1) Ax(k) Ak1x(0)

七、矩阵特征值的乘幂方法和反乘幂方法

七、矩阵特征值的乘幂方法和反乘幂方法

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的特征值和对应的特征向量。

数值分析幂法和反幂法

数值分析幂法和反幂法
则按 A 1 的特征值绝对值的大小排序,有
| 1 |>| 1 |≥…≥| 1 |
n
n 1
1
对 A 1 实行幂法,就可得 A 1 的绝对值最大的特征值 1/ n 和相应的特征向量, 即 A 的绝对值最小的特征值和相应的特征向量。
由于用 A 1 代替 A 作幂法计算,因此该方法称为反幂法,反幂法的迭代格

( I-A)x=0
(3)

的解,就可得到相应的特征向量。
上述方法对于 n 很小时是可以的。但当 n 稍大时,计算工作量将以惊
人的速度增大,并且由于计算带有误差,方程(2)未必是精确的特征方程,
自然就不必说求解方程(2)与(3)的困难了。幂法是一种计算矩阵主特
征值(矩阵按模最大的特征值)及对应特征向量的迭代方法,特别是用于
按式(1)计算出 m k 和 u (k ) 满足
lim
k
m
k
=
1
,
lim u (k ) = x1
k
max(x1 )
(二)反幂法算法的理论依据及推导
反幂法是用来计算绝对值最小的特征值忽然相应的特征向量的方法。是对 幂法的修改,可以给出更快的收敛性。
1、反幂法的迭代格式与收敛性质
设 A 是非奇异矩阵,则零不是特征值,并设特征值为 | 1 |≥| 2 |≥…≥| n1 |>| n |
幂法流程图:
开始
输入 A;[m,u,index] =pow(A,1e-6)
k=0;m1= v=A*u
[vmax,i]=max(abs(v))
m1=m;k=k+1
m=v(i);u=v/m
abs(m-m1)< 1e-6
index=1;break; 输出:m,u,index

幂法_反幂法求解矩阵最大最小特征值和对应的特征向量

幂法_反幂法求解矩阵最大最小特征值和对应的特征向量

数值计算解矩阵的按模最大最小特征值及对应的特征向量一.幂法1. 幂法简介:当矩阵A 满足一定条件时,在工程中可用幂法计算其主特征值(按模最大)及其特征向量。

矩阵A 需要满足的条件为: (1) 的特征值为A i n λλλλ,0||...||||21≥≥≥>(2) 存在n 个线性无关的特征向量,设为n x x x ,...,,211.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); % 是原值,而非其绝对值。

幂法,反幂法求解矩阵最大最小特征值及其对应的特征向量(DOC)

幂法,反幂法求解矩阵最大最小特征值及其对应的特征向量(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); % 是原值,而非其绝对值。

数值分析幂法和反幂法

数值分析幂法和反幂法

M0=0 u=[2 3 4 5]
M0=0.1 u=[2 3 4 5]
M0=0.7 u=[2 3 4 5]
综上,反幂法结果如下:
u
m0
m
u
index
k
[1 1 1 1]
0.1
0.3847 [-0.8996 1.0000 0.2726 -0.2364]
1
15
0.001 0.3847 [-0.8996 1.0000 0.2726 -0.2364]
index = 1
k= 10
修改 U=[1 2 3 4] 修改 M0=1e-4 m=
2.6813
u= 0.8576 0.6934 0.5623 1.0000
index = 1
k= 9
修改 M0=1e-3 m=
2.6805
u=
0.8576 0.6934 0.5622 1.0000
index =
1
k=
0.2675 0.5776 0.6344 1.3130
0.5776 1.1503 0.7641 0.1367
0.6344 0.7641 0.0257 0.4193
1.3130 0.1367 0.4193 1.2248
>> u=[1 1 1 1]'; >> [m,u,index,k]=pow(A,u) m=
lim
k
m
k
=
1
,
lim u (k ) = x1
k
max(x1 )
(二)反幂法算法的理论依据及推导
反幂法是用来计算绝对值最小的特征值忽然相应的特征向量的方法。是对 幂法的修改,可以给出更快的收敛性。 1、反幂法的迭代格式与收敛性质

数值分析幂法和反幂法

数值分析幂法和反幂法
>> [m,u,index,k]=pow(A,u)
m =
2.6813
u =
0.8576
0.6934
0.5623
1.0000
index =
1
k =
49
修改M0=1e-3
m =
2.6814
u =
0.8576
0.6934
0.5623
1.0000
index =
0
k =
1001
修改M0=0 %此时为幂法
m =
4.对结果进行解释说明;
采用方法
及结果
说明
对于幂法和反幂法求解矩阵特征值和特征向量的问题将从问题分析,算法设计和流程图,理论依据,程序及结果进行阐述该问题。
一.问题的分析:
求n阶方阵A的特征值和特征向量,是实际计算中常常碰到的问题,如:机械、结构或电磁振动中的固有值问题等。对于n阶矩阵A,若存在数 和n维向量x满足
end
n=length(A);
index=0;
k=0;
m1=0;
m0=0;
I=eye(n);
T=A-m0*I;
while k<=it_max
v=T*u;
[vmax,i]=max(abs(v));
m=v(i);
u=v/m;
if abs(m-m1)<ep;
index=1;
break;
end
m=m+m0;
1
16
0
0.3847
[-0.8996 1.0000 0.2726 -0.2364]
1
16
[1 3 5 7]
0.5
0.3847
[-0.8995 1.0000 0.2726 -0.2364]

幂法和反幂法求矩阵特征值课程知识讲解

幂法和反幂法求矩阵特征值课程知识讲解

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

矩阵特征值与特征向量的计算

矩阵特征值与特征向量的计算

第九章矩阵特征值与特征向量的计算教学目的与要求:掌握用幂法和反幂法求矩阵特征值与特征向量的方法,了解 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 用幂法的规范运算求矩阵的按模最大的特征值及对应的特征向量。

数值分析3.1幂法和反幂法

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

计算方法52幂法与反幂法ppt课件

计算方法52幂法与反幂法ppt课件

A2v0
vk 1 Avk Ak 1v0
称{vk }为迭代向量。
(k 0,1,,n)
1 2024/8/6
(1)幂法:
矩阵A有n个线性无关的特征向量 x1,x2,,xn,
相应的特征值为1,2,,n
1.A 特征值中 1为强占优,即 | 1 || 2 | | n |
问题:
设 A (aij )
即 Axi i xi
2024/8/6
19
原点平移法的思想
如果需要计算A的主特征值 1 ,适当选择p使满足: (1)1 p 是B的主特征值,即
| 1 p || i p | (i 1,2,, n);
(2)
max
2 jn
|
j
p|
|
2
|.
| 1 p |
1
对B应用幂法,使得在计算B的主特征值1 p的过程中得到加速。
v0
Rn
,

v0
0,

v0
n
i xi ,
(且设 1,2 , , r 不全为零),则有 i1
vk
Avk 1
Ak
v0
1k [
r
i xi
i 1
i
n
r 1
i
(
i 1
)k
xi ]
1k[
r
i xi
k]
其中 k
i
n
r 1
i
(
i 1
)k
xi
i 1
,且
lim
k
k
0,
从而
lim
k
vk
1k
r
i xi
i 1
因此,当k充分大时, r

24讲:91幂法反幂法

24讲:91幂法反幂法

0.998077
11 {0.999012, 0.999977, 0.999989}
0.999034
12 {0.999508, 0.999992, 0.999996}
0.999515
{{1, 2, 3}, {{1, 1, 1}, {1, 0, 0}, {1, -1, 1}}}
模最小特征值 1,特征向量约为{0.9995,0.9999,0.9999}
ai
( i 1
)k 1 (vi
)
j
幂方法
解题步骤即k:充 1i1分1 x大xi( ki( k时 )1lki)m, ,((X(X(iXX(k((kk(1)1k)),)12)))j),jj.j..n11 (1)任给n维初始向量X (0) 0
(2)按X (k) AX (k1) Ak X (0)计算X (k)
Print[k," ",x,"
",y[[1]]/x[[1]]];
y=x/Max[Abs[x]],{k,1,20}]
Eigensystem[A]
反幂法程序运行结果
运行结果为:
1 {0.166667, 0.333333, 0.666667}
0
2 {0.458333, 0.666667, 0.833333}
1

P 1 AP
2

...



n
的充要条件是A具有n个线性无关的特征向量.
反之,如果A Rnn有m个(m n)不同的特征值
1 , 2 ,...m, 则对应的特征向量x1, x2 ,...xm线性无关.
二、幂法运算及程序
设n阶方阵A, 任取初始向量X (0) ,进行迭代计算: X (k1=) AX (k )
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 [1 1 1 1] [1 2 3 4] [3 5 6 7]
m0 0.0001 0.001
大型稀疏矩阵。反幂法是计算海森伯格阵或三角阵的对应一个给定近似特
征值的特征向量的有效方ຫໍສະໝຸດ 之一。二.算法设计及流程图
1、幂法算法
(1)取初始向量 u (0) (例如取 u (0) =(1,1,…1) T ),置精度要求 ,置 k=1.
(2)计算
v (k ) =Au (k 1) ,m =max(v (k ) ), u (k ) = v (k ) / m
index 1 0 1 1 1 1 1 0 1
k 49 1001 10 9 7 9 7 1001 7
反幂法结果显示:在 m0 为 0 时
M0=0.001 U=[1 1 1 1]
M0=0.1 u=[1 1 1 1]
M0=0 u=[1 3 5 7]
M0=0.1 u=[1 3 5 7]
M0=0.5 u=[1 3 5 7]
的第一式改为求解线性方程组
A v (k ) = u (k 1)
(3)
但由于在反幂法中,每一步迭代都需求解线性方程组(3)式,迭代做了大量的
重复计算,为了节省工作量,可事先把矩阵 A 作 LU 分解,即 A=LU
所以线性方程组(3)改为
Ly (k ) =u (k 1) ,Uv (k ) =y (k)
四、算法程序设计代码

3.设计程序并进行计算;
4.对结果进行解释说明;
对于幂法和反幂法求解矩阵特征值和特征向量的问题将从问题分析,算 法设计和流程图,理论依据,程序及结果进行阐述该问题。
一.问题的分析:
求 n 阶方阵 A 的特征值和特征向量,是实际计算中常常碰到的问题,如:

机械、结构或电磁振动中的固有值问题等。对于 n 阶矩阵 A,若存在数 和
n 维向量 x 满足 用
Ax= x

则称 为矩阵 A 的特征值,x 为相应的特征向量。
法 由高等代数知识可知,特征值是代数方程
(1)

|
I-A|=
n
+a 1
n1 +…+a n1
+a n
=0
(2)

的根。从表面上看,矩阵特征值与特征向量的求解问题似乎很简单,只需

求解方程(2)的根,就能得到特征值 ,再解齐次方程组
0.2675 0.5776 0.6344 1.3130
0.5776 1.1503 0.7641 0.1367
0.6344 0.7641 0.0257 0.4193
1.3130 0.1367 0.4193 1.2248
>> u=[1 1 1 1]'; >> [m,u,index,k]=pow(A,u) m=
幂法程序,在 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; end n=length(A); index=0; k=0; m1=0; m0=0; I=eye(n); T=A-m0*I; while k<=it_max
则按 A 1 的特征值绝对值的大小排序,有
| 1 |>| 1 |≥…≥| 1 |
n
n 1
1
对 A 1 实行幂法,就可得 A 1 的绝对值最大的特征值 1/ n 和相应的特征向量, 即 A 的绝对值最小的特征值和相应的特征向量。
由于用 A 1 代替 A 作幂法计算,因此该方法称为反幂法,反幂法的迭代格
幂法是用来确定矩阵的主特征值的一种迭代方法,也即,绝对值最大的特
征值。稍微修改该方法,也可以用来确定其他特征值。幂法的一个很有用的特
性是它不仅可以生成特征值,而且可以生成相应的特征向量。实际上,幂法经
常用来求通过其他方法确定的特征值的特征向量。
1、幂法的迭代格式与收敛性质
设 n 阶矩阵 A 的特征值 1 , 2 ,…, n 是按绝对值大小编号的, x i (i=1,2,…,n)为对应 i 的特征向量,且 1 为单根,即
0 0.0001 0.001
0 0.0001 0.001
0
m 2.6813 2.6814 2.6815 2.6813 2.6805 2.6814 2.6819 2.6914 2.692
u [0.8576 0.6934 0.5623 1.0000] [0.5876 0.6934 0.5623 1.0000] [0.8576 0.6935 0.5623 1.0000] [0.8576 0.6934 0.5623 1.0000] [0.8576 0.6934 0.5622 1.0000] [0.8576 0.6934 0.5623 1.0000] [0.8577 0.6937 0.5624 1.0000] [0.8576 0.6934 0.5623 1.0000] [0.8577 0.6937 0.5624 1.0000]
v=T*u; [vmax,i]=max(abs(v)); m=v(i); u=v/m; if abs(m-m1)<ep;
index=1; break; end m=m+m0; m1=m; k=k+1; end
在 matlab 输入面板,输入 A=rand(4);%产生一个 4 维随机矩阵
B=A+A’;
| 1 |>| 2 |≥…≥| n | 则计算最大特征值与特征向量的迭代格式为
v (k ) =Au (k 1) ,m k =max(v (k ) ), u (k ) = v (k ) / m k 其中 max(v (k ) )表示向量 v (k ) 绝对值的最大分量。
(1)
2、对于幂法的定理
按式(1)计算出 m 和 u (k ) 满足 k
B=A+A’;
u=[1 1 1 1]’;%设立初始向量 [m,u,index,k]=pow_inv(B,u,ep,it_max)%最多可省略 2 个参数 程序结束。 在 M 文件中可以通过改变 m0 的值改变原点位移,从而达到原点位移加速。
【结果显示】
%在 M0=1e-4 >>B=rand(4); >>A=B+B’ A=
lim
k
m
k
=
1
,
lim u (k ) = x1
k
max( x1 )
(二)反幂法算法的理论依据及推导
反幂法是用来计算绝对值最小的特征值忽然相应的特征向量的方法。是对 幂法的修改,可以给出更快的收敛性。 1、反幂法的迭代格式与收敛性质
设 A 是非奇异矩阵,则零不是特征值,并设特征值为 | 1 |≥| 2 |≥…≥| n1|>| n |
k=0;m1=0
v=invA*u [vmax,i]=max(abs(v))
m1=m;k=k+1
m=v(i);u=v/m
abs(m-m1)< 1e-6
index=1;break; 输出:m,u,index
输入 A; [m,u,inde x=]po结w(束A,1e -6)
三、算法的理论依据及其推导
(一)幂法算法的理论依据及推导

幂法和反幂法求矩阵特征值

具 随机产生一对称矩阵,对不同的原点位移和初值(至少取 3 个)分别使用幂
体 法求计算矩阵的主特征值及主特征向量,用反幂法求计算矩阵的按模最小特征
内 值及特征向量,并比较不同的原点位移和初值说明收敛。

1.认真读题,了解问题的数学原形;

2.选择合适问题求解的数值计算方法;
7
修改 M0=0 m=
2.6814
u=
0.8576 0.6934 0.5623 1.0000 index =
1 k=
9
修改 U=[3 5 6 7] 修改 M0=1e-4
m= 2.6819
u= 0.8577 0.6937 0.5624 1.0000
index = 1
k= 7
修改 M0=1e-3 m= 2.6814
index = 1
k= 10
修改 U=[1 2 3 4] 修改 M0=1e-4 m=
2.6813
u= 0.8576 0.6934 0.5623 1.0000
index = 1
k= 9
修改 M0=1e-3 m=
2.6805
u=
0.8576 0.6934 0.5622 1.0000
index =
1
k=
(3)解线性方程组
Ly (k ) =u (k 1) ,Uv (k ) =y (k )
(4)计算
m =max(v (k ) ), u (k ) = v (k ) / m
k
k
(5)若|m k =m k1 |< ,则停止计算(1/m k 作为绝对值最小特征值 n ,u (k ) 作为
相应的特征向量);否则置 k=k+1,转(3).

( I-A)x=0
(3)

的解,就可得到相应的特征向量。
上述方法对于 n 很小时是可以的。但当 n 稍大时,计算工作量将以惊
人的速度增大,并且由于计算带有误差,方程(2)未必是精确的特征方程,
相关文档
最新文档