全球旧事资料 分类
k

N置k

k
10


y

x

maxabsx
转4
否则输出失败信息停机
3matlab程序代码
fu
ctio
syi
vpowerAx0eps
s为按模最小特征值,y是对应特征向量
k1r0r相当于0
yx0maxabsx0规范化初始向量
LUluA
zLy
xUz
umaxx
s1u
按模最小为A1按模最大的倒数
ifabsureps判断第一次迭代后是否满足终止条件
retur

e
dwhileabsurepsk
终止条件
kk1
ru
yxmaxabsx
zLy
xUz
umaxx
e
dmi
dexmaxabsxs1xi
dex
这两步保证取出来的按模最大特征值是原值,而非其绝对值。
e
d
4举例验证同幂法一样,选取一个矩阵A,代入程序,得到结果,并与eigA的得到结果比
较,再计算Ayty,验证y是否是对应的特征向量。
f可见结果正确,然后利用此程序计算15阶Hilb矩阵,eigA的得到结果比
较,再计算Aysy,验证y是否是对应的特征向量。设置初始向量为
x0o
es151,结果显示如下
f可见,结果真确。得到了15阶Hilb矩阵的按模最大特征值和对应的特征向量。
三计算条件数
矩阵A的条件数等于A的范数与A的逆的范数的乘积,即co
dA‖A‖‖A1‖,对应矩阵的3种范数,可以定义3种条件数。函数co
dA1、co
dA或co
dAi
f是判断矩阵病态与否的一种度量,条件数越大表明矩阵的病态程度越大
这里我们选择矩阵的2范数,即co
dA矩阵ATA的最大和最小特征值
12

1
2分别为
而如果A为对称矩阵,如Hilb矩阵,ATA的最大最小特征值,分别为A的
最大最小特征值的平方。所以co
dA为A的最大最小特征值得比值。对于本例中的15阶Hilb矩阵来说,利用上面计算结果得其条件数选择第二种条件数)
为:30934e017;这与直接利用co
dA得到的结果:25083e017在同一
f数量级,再次表明了上述算得得最大最小特征值的正确性,同时又表明Hilb矩阵是病态矩阵。
四Aitke
商加速法
1简介与原理
若ak
收敛与a且limk
ak1aaka

c

0即ak线性收敛
当k充分大时有ak1aak2aakaak1a
y
2

x
2

x
2x
12x
22x
1x


a
ak

ak1ak2ak22ak1ak

ak
用ak逼近a这种方法称为Aitke
加速法
同幂法和反幂法计算最大和最小特征值类似,如果计算最大特征值,则迭代格式
为xk1Ayk;计算最小特征值时,迭代格式为
xk1A1yk即ykAxk1。
2算法实现计算按模最大特征值算法如下:
1输入Aaij初始向量x误差限最大迭代次数N
2置k100
10
010
yxmaxx
3计算xAy置maxx2
4计算

0

1022210

5若0输出y停机否则转6
6若kNr
好听全球资料 返回顶部