部分選主元的Doolittle分解

 

步驟:

 

假設用緊湊格式的Doolittle法已經完成了第 r-1 (1<=r<=n) 步分解,第 r 步分解,首先在數組 A 的第 r 列主對角元以下(含主對角元)

 

選主元,具體步驟:

 

1、計算中間量 Si ,並存入 A( i , r ) ( r = 1 : n-1 ).

 

             A( i , r ) <-- Si = A( i , r ) - sigma( A( i , k ) · A( k , r ) ) [ k = 1 : r-1 ]

                              (i = r , ... , n ).

 

2、挑選絕對值最大的 Si,即確定行號 ir , 滿足

 

             | Sir | = max ( | Si | , r<=i<=n )

 

3、換行。如果 ir != r ,則交換數組 A 中的第 r 行與 ir 行的對應元素。交換位置的元素以它在 A 中所處的新位置記。此時

 

             urr = A( r, r ) .

 

4、分解計算

 

             A( i , r ) <-- lir = A( i , r ) / A( r , r )    (i = r+1, ... , n ; r = 1, 2, ... , n-1 ).

 

             A( r , r) <-- uri = A( r , i ) - sigma( A( i , k ) · A( k , r ) ) [ k = 1 : r-1 ]             (i = r+1,...,n+1; r = 1,2,...,n )

 

按上述方法完成 n 步分解,便實現了係數矩陣分解 PA=LU.

 

C語言代碼(未考慮無解情況):

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章