定理1的证明可参看文献[2]。利用定理的结果,若记P=J1J2...Jn...,则P的列向量就是A的特征向量。
实用中不可能做无穷次正交相似变换,一般用非对角元素的平方和ξ来终止计算,具体算法为(设P=I,ξ为给定精度)
是否小于某个小数
①先选矩阵A的非对角元素的绝对值最大者
(k)
得到行标P ,列标q
②计算旋转角
得到旋转矩阵,并做
③计算
④计算
⑤判别
个特征向量,否则令
,若成立,得A
(k+1)
的主对角线元素为所求的全部特征值,P的n个列为相应的n
,转①
通常把按上述算法求实对称矩阵全部特征值及其特征向量的方法称为Jacobi方法。
2 分析
Jacobi方法每次做由A到A
(k)
(k)
(k+1)
的正交相似变换时,只改变了A的ik,jk行和ik,jk列,由计算特点,可以
(k)
将每次计算的A都存放在同一个矩阵A中,这样可以节约存储空间并减少计算量。此外,Jacobi方法在每次计算前,先要选择非对角矩阵元素的绝对值最大者来确定旋转变换矩阵,这在n很大时是很费时的,再者,前面旋转相似变换矩阵已经变为零的非对角元素在后面的相似变换中可能还会变为非零元素。因此应在这些方面对Jacobi方法做些改进是之能更实用些,这里介绍一个实用的方法称为过关Jacobi方法,此方法是先取阀值
,然后按行的顺序a12, a13,... a1n, a21, a23... an-1 n用
与之相比,
若,则不做变换,若,则做变换将aij化为零,如此多次直至所有非对角元素的绝对
值都小于直至
后,再选
,则终止计算,这里
,重复上述过程,继续下去选阀值
,当然也可以选其他的值,只要
,
单调减小即可。过
关Jacobi方法使原来的法确定旋转矩阵的过程大大缩短,因此可以加快求解过程。
幂法与反幂法
一﹑问题的提出:
工程技术的许多实际问题,例如振动问题,稳定问题的求解,有时会归结成求矩阵的特征值λ和对应的特征向量χ。
学过线性代数后,我们已知求矩阵A的特征值λ和特征向量χ的解法,即先求出A的特征多项式:
令f﹙x﹚﹦0。
通过求解上述高次多项式方程,所得根λ即为矩阵A的特征值,然后求解方程组﹙A﹣λI﹚X﹦0,就可得出特征值λ对应的特征向量X。
上面用定义阐述了如何求解矩阵A的特征值λ和特征向量X。但众所周知,高次多项式求根是相当困难的,而且重根的计算精度较低。同时,矩阵A求特征多项式系数的过程对舍入误差十分敏感,这对最后计算结果影响很大。因此,从数值计算角度来看,上述方法缺乏实用价值。
二﹑问题的解决:
目前,求矩阵特征值问题实际采用的是迭代法和变换法。这里将介绍通过求矩阵特征向量求出特征值的一种迭代法----幂法,而后再介绍一些反幂法的内容。
(1)幂法
定理:设矩阵A的特征值为
并设A有完全的特征向量系
所构造的向量序列
(它们线性无关),则对任意一个非零向量
有
的第j个分量.
其中表示向量
证 仅就
为实数的情况来证明.假定
于是,由矩阵特征值定义知
,得
同理可得
假定,因为
,故得
证毕
从上述证明过程可得出计算矩阵A的按模最大特征值的方法,具体步骤如下:
1. 任取一非零向量,一般可取
2.
3. 当k足够大时,即可得到:
(或
时)
中不
若按上述计算过程,有一严重缺点,当
为零的分量将随K的增大而无限增大,计算机就可能出现上溢(或随K的增大而很快出现下溢),因此,在实际计算时,须按规范法计算,每步先对向量
进行“规范化”,即取,用
幂法的规范化算法:
遍除
中绝对值最大的一个向量记作
的所有向量,得到规范化向量。
说明 给定非零向量
输入 维数n,矩阵A,向量容许误差 输出 按模最大特征值的近似值
,求n阶矩阵A的按模最大特征值
和对应的特征向量