幂法,反幂法求解矩阵最大最小特征值及其对应的特征向量
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数值计算解矩阵的按模最大最小特征值及对应的特征向量
—一 .幂法
1. 幕法简介:
当矩阵A 满足一定条件时,在工程中可用幕法计算其主特征值 (按模最大) 及其特征向量。矩阵A 需要满足的条件为:
⑴I 1 I I 2|n |- 0, i 为A 的特征值
(2)存在n 个线性无关的特征向量,设为 X i ,X 2,…,X n 1.1计算过程:
n
对任意向量x (0),有x (0)八:-M —不全为0,则有
i 4
X (k 岀)=Ax (k)=
= A k 岀乂。)
n
n A k 1
aq a 扌1
5
i =1
i =1
■k 1
2 可见,当
1
—
1
越小时,收敛越快;且当k 充分大时,有 ?
"1
2算法实现
⑶.计算x Ay,… max(x);
⑷若| •一十:;,输出-,y,否则,转(5)
(5)若N ,置k 「k 1^
-,转3,否则输出失败信息,停机.
3 matlab 程序代码
(冲1
%叫
x
(k 1)
[x
(k)
k
二
u
x
(k)
>
(k+1)
1,对应的特征向量即是
x
(1).输入矩阵A ,初始向量X ,误差限 最大迭代次数N
(k)
0; y
(k)
max(abs(x (k
))
k=1;
z=0;
y=x0./max(abs(x0)); x=A*y; % z相当于■
%规范化初始向量%迭代格式
b=max(x); % b相当于:
if abs(z-b) t=max(x); return; %判断第一次迭代后是否满足要求 end while abs(z-b)>eps && k z=b; y=x./max(abs(x)); x=A*y; b=max(x); end [m,i ndex]=max(abs(x)); %这两步保证取出来的按模最大特征值 t=x(i ndex); end %是原值,而非其绝对值。 4举例验证 选取一个矩阵A,代入程序,得到结果,并与eig(A)的得到结果比较,再计算A*y-t*y,验证y是否是对应的特征向量。结果如下: » A=[l 1 0. 5;1 1 0. 25;0. 5, 0. 25, 2] A = 1.0000 E 00000. 5000 1.0000 1. 00000, 2500 0. 50000. 2500 2.0000 » x0=[l;l;ll; eps=le-5; 220; >> y]=lpower (A, xO, eps, X) ^0. 0166 1. 4801 2. 5365 » A#y-t*y ans - 1. 0e-004 + -0.1603 -0, 1684 结果正确,表明算法和代码正确,然后利用此程序计算 15阶Hilb 矩阵,与 eig(A)的得到结果比较,再计算 A*y-t*y ,验证y 是否是对应的特征向量。设 置初始向量为x0=ones(15,1),结果显示如下 » A 二hilb(15); » x0=ones (15,1): 】;eps-le^6: » N=30; >> Lt, y] -1 power (A, xO, eps, X} t 二 L 8459 2. 5365 0. 7482 0. 6497 L 0000 ans = 可见,结果正确。得到了15阶Hilb矩阵的按模最大特征值和对应的特征向量。 二•反幂法 1■反幕法简介及其理论 在工程计算中,可以利用反幕法计算矩阵按模最小特征值及其对应特征向量。其基本理论如下,与幕法基本相同: 1 由Ax V x= x = A‘(’X),则A’x x,可知,A和A-1的特征值互为倒数, Z 求A按模最小特征值即求A-1的按模最大特征值,取倒数即为A的按模最小特征值所 以算法基本相同,区别就是在计算x(k1)时,不是令X(k1)= Ay(k),而是X(k J A-1y(k)具体计算时,变换为Ax(k-1^ y(k);对A做LU分解,来计算x(k 1) 2■算法实现 (1) .输入矩阵A,初始向量x,误差限:,最大迭代次数N, (2) •置k 「1,,° “ 0, y , max(abs(x)) (3) .作三角分解A = LU (4) .解方程组 LUx = y(Lz = y,Ux = z), (5) . :— max(x), - ■ 1 (6) 若- ’0卜:;,输出—,y,停机,否则转(7), (7).若k :: N,置k ・ k 1,•,y ・ 否则输出失败信息,停机. 3 matlab 程序代码 fun ctio n [s,y]=i nvpower(A,xO,eps, n) % s 为按模最小特征值,y 是对应特征向量 k=1; r=0; % r 相当于-o y=x0./max(abs(x0)); %规范化初始向量 [L,U]=lu(A); z=L\y; x=U\z; u=max(x); s=1/u; %按模最小为A -1 按模最大的倒数. if abs(u-r) return end while abs(u-r)>eps && k k=k+1; r=u; y=x./max(abs(x)); z=L\y; x=U\z; u=max(x); end [m,i ndex]=max(abs(x)); %这两步保证取出来的按模最大特征值 s=1/x(i ndex); %是原值,而非其绝对值。 end A ,代入程序,得到结果,并与eig(A)的得到结果比 ma 莎面,转⑷; 4举例验证 同幕法一样,选取一个矩阵