Jacobi 方法

来源:互联网 发布:java定义整形数组 编辑:程序博客网 时间:2024/05/29 08:40

        第三节 Jacobi 方法(http://wenku.baidu.com/view/6023207e168884868762d644.html)比较详细的地址

    Jacobi方法是求对称矩阵的全部特征值以及相应的特征向量的一种方法,它是基于以下两个结论
    1) 任何实对称矩阵A可以通过正交相似变换成对角型,即存在正交矩阵Q,使得

                QT AQ = diag(λ1 ,λ2 ,…,λn ) (3.1)

其中λi(i=1,2,…,n)A的特征值,Q中各列为相应的特征向量。

    2) 在正交相似变换下,矩阵元素的平方和不变。即设A=(aij)n×n ,Q交矩阵,记B=QT AQ=(bij)n×n , 则
                 
    Jacobi方法的基本思想是通过一次正交变换,将A中的一对非零的非对角化成零并且使得非对角元素的平方和减小。反复进行上述过程,使变换后的矩阵的非对角元素的平方和趋于零,从而使该矩阵近似为对角矩阵,得到全部特征值和特征向量。

    1 矩阵的旋转变换
设A为n阶实对称矩阵,考虑矩阵

      
易见 Vij(φ)是正交矩阵, 记
               
注意到B=Vij A的第i,j行元素以及 的第i,j列元素为
     
可得
     
如果aij≠0,取φ使得 则有
       
A(1) 重复上述的过程,可得A(2) ,这样继续下去, 得到一个矩阵序列{A(k) }。可以证明, 虽然这种变换不一定能使矩阵中非对角元素零元素的个数单调增加,但可以保证非对角元素的平方和递减,我们以AA(1) 为例进行讨论。
设    由式(3.4)
      
可得
      
这表明,在上述旋转变换下,非对角元素的平方和严格单调递减,因而由(3.2)可知,对角元素的平方和单调增加。

    2. Jacobi方法
 
    通过一系列旋转变换将A变成A(k+1) ,求得A的全部特征值与特征向量的方法称为Jacobi方法。计算过程如下
 
    1)令k=0, A(k) =A 
 
    2) 求整数i,j, 使得
    3) 计算旋转矩阵
         
    4) 计算A(k+1) 

    
    5) 计算 
    6) 若E(A(k+1))<ε, 则 

            
为特征值, 

     QT = (V(0) V(1) …V(k+1))T


的各列为相应的特征
向量;否则,k+1=>k
返回2,重复上述过程。
 例5 用Jacobi
法求矩阵
 
的特征值和特征向量。


一般地,Jacobi法不能在有限步内将A化成对角阵,但有下面的定理 。
 
    定理3 设An阶使对称矩阵,对AJacobi法得到序列{A(k) }, 其中A(0) = A, 则
            
证明 由Jacobi法计算过程
            
故有
           (3.5)
另一方面,有计算A 的公式可以得到
          

于是有, 代入式(3.5)得
     
因为 所以

         

原创粉丝点击