与每个都正交的向量
wjAvjh1jv1h2jv2hjjvj
而不难看出hijAvjvii12
j
,再记
hj1j
wjwj
12
,得到与
v1v2vj都正交的向量vj1wj,重复此过程,即可得到一组标准
hj1j
正交基。若期间某个j使得hj1j0,则说明v的次数是j,且j是A
的不变子空间。
Ar
oldi算法:
(1)取向量v1,满足v11j1
(2)按(2)式计算hiji12j,再按(1)式计算wj(3)按(3)式计算hj1j,若hj1j0,则停止,否则按(4)式计算vj1(4)若jm,则jj1,转(2),否则停止
wjAvjh1jv1h2jv2hjjvj
(1)
fhijAvjvii12j1
hj1jwjwj2
vj1wjhj1j
(2)(3)
(4)
定理:如果记以v1v2vm为列构成的矩阵为Vm由hij定义的m1×m
阶上Hesse
berg矩阵(假设一个
阶矩阵A,在ij1时,它的aij0,
那么这个矩阵A就叫做Hesse
berg矩阵)为Hm删除最后一行得到的
矩阵为,则:Hm
AVmVmHmwm
em
T
Vm1Hm
VmTAVmHm
在Ar
oldi算法中,可能有较大舍入误差,改写:
hijAvjh1jv1hi1jvi1vii12j
修正的Ar
oldi算法:(1)取向量v1,满足v11j1
(2)计算wjAvj
(3)依次对i12j,计算hijwjvi与wjwjhijvi
(4)计算hj1j,若hj1j0,则停止,否则计算vj1(5)若jm,则jj1,转(2),否则停止
FOM(完全正交化)方法
非对称矩阵的FOM方法:
解方程组的投影法的矩阵表示
设
m阶矩阵Vv1v2vm与Ww1w2wm的列分别构成K
与L的一组基。记zx1x0zVy,有WTr0AVy0
当WTAV非奇异时,有yWTAV1WTr0,从而得到迭代公式:
fx1x0VWTAV1WTr0
FOM算法:
(1)计算r0bAx0,
r0r0
,1
2
v1
r0
,置
j
1
(2)计算wjAvj
(3)依次对i12
,计算与j
hijwjvi
wjwjhijvi
(4)计算hj1j,若hj1j0,则置mj,转(6)
(5)计算vj1,若jm,则置jj1,转(2)
(6)按下式计算xm
xm
x0Vmymym
H
1m
e1
不难看出,当采用上述FOM算法时,需要存储所有的vi,i12…
m,当m增大时,存储量以Om
量级增大而FOM计算量是Om2
可见其代价十分高昂因此我们考虑重启的FOM算法
重启型FOM算法:
(1)计算r0bAx0
r0r0
12
v1
r0
(2)生成mAr0的一组标准正交基,得到Hm
(3)按下式计算xm,若xm满足精度要求,则停止,否则置x0xm,
转(1)。xmx0VmymymHm1e1
IOM方法
非对称矩阵的IOM方法
所谓不完全正交化方法IOM是指在正交化过程中vj1仅与最近
k个vjk1vj1vj正r