部分选主元的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语言代码(未考虑无解情况):

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值