1 幂法和反幂法
1.1 幂法
幂法主要用于求矩阵的按模[1]最大的特征值与相应的特征向量。它是通过迭代产生向量序列,由此计算特征值和特征向量。
设阶实矩阵的特征值满足:
且与相应的特征向量线性无关。(?为什么线性无关)
给定初始向量,由迭代公式
产生向量序列,可以证明,当充分大时,有,相应的特征向量为。
为简便起见,不妨设。因为线性无关(线性无关的概念),故必存在n个不全为零的数,使得。由式(4-1)得:
即:
设,由得:
于是:
故只要k充分大,就有:
因此,可把作为与相应的特征向量的近似。由式:
此时我们可以得出:
其中为的第i个分量。按式(4-1)和式(4-4)计算矩阵按模最大的特征值与相应的特征向量的方法称为幂法。
需要说明的是,如果的选取恰恰使得,幂法计算仍能进行。因为计算过程中舍入误差的影响,迭代若干次后,必然会产生一个向量,它在方向上的分量不为零。这样,以后的计算就满足所设条件。另外需要注意的一点是,因为,计算过程中可能会出现溢出()或成为0()的情形。为避免这一情形的出现,实际计算时每次迭代所求的的向量都要归一化。因此,幂法实际使用的计算公式是:
待补充 92
1.2 幂法的加速
因为幂法的收敛条件是线性的,而且依赖于收敛因子,当收敛因子接近于1时,幂法收敛很慢。幂法的加速有许多方法,下面介绍其中两种。
原点移位法
容易看出,矩阵与的特征值有以下关系:若是的特征值,则就是的特征值,而且相应的特征向量不变。如果对矩阵按式(4-1)计算,则有:
适当选取,使得,且:
这样,用幂法计算的最大模特征值及相应特征向量的收敛速度比对用幂法计算要快。这种加速收敛的方法称为原点移位法。
待补充
幂法的艾特肯(Aitken)加速
如果序列线性收敛到,即:
则当充分大时,有
由此可解出:
序列比更快地收敛到,这就是Aitken加速法。将这一方法用于幂法所产生的序列,可加快幂法的收敛速度。
待补充
1.3 反幂法
反幂法是计算矩阵按模最小的特征值及特征向量的方法,也是修正特征值、求相应特征向量的最有效的方法。
设 为 阶非奇异矩阵,为的特征值与相应的特征向量,则的特征值是的特征值的倒数,而相应的特征向量不变,即:
因此,若对矩阵用幂法,即可计算出的按模最大的特征值,其倒数恰为的按模最小的特征值。这就是反幂法的基本思想。
因为的计算比较麻烦,而且往往不能保持矩阵的一些好性质(如稀疏性),因此,反幂法在实际运算时以求解方程组:
代替幂法迭代:
求得,每迭代一次要解一个线性方程组(4-12)。由于矩阵在迭代过程中不变,故可对先进行三角分解。这样,每次迭代只要解两三个三角方程组。
待补充
补充内容
[1] 假定矩阵 有 n 个线性无关的特征向量,n个特征值按模由大到小排列:
那么是按模最大特征值。