LU分解算法的C语言实现
算法理论
A = L U A=LU A=LU分解算法:
1. u 1 i = a 1 i , ( i = 1 , 2 , ⋯   , n ) ; l i 1 = a i 1 / u 11 , ( i = 2 , 3 , ⋯   , n ) 1. u_{1i}=a_{1i} ,(i=1,2,\cdots,n) ; l_{i1}=a_{i1}/u_{11} ,(i=2,3,\cdots,n) 1.u1i=a1i,(i=1,2,⋯,n);li1=ai1/u11,(i=2,3,⋯,n)
计算 U U U的第 r r r行, L L L的第 r r r列元素 ( r = 2 , 3 , ⋯   , n ) (r=2,3,\cdots,n) (r=2,3,⋯,n):
2. u r i = a r i − ∑ k = 1 r − 1 l r k u k r , ( i = r , r + 1 , ⋯   , n ) 2. u_{ri}=a_{ri}-\sum_{k=1}^{r-1}l_{rk}u_{kr},(i=r,r+1,\cdots,n) 2.uri=ari−∑k=1r−1lrkukr,(i=r,r+1,⋯,n)
3. l i r = ( a i r − ∑ k = 1 r − 1 l i k u k r ) / u r r , ( i = r + 1 , ⋯   , n , 且 r ≠ n ) 3. l_{ir}=(a_{ir}-\sum_{k=1}^{r-1}l_{ik}u_{kr})/u_{rr},(i=r+1,\cdots,n,且r\neq n) 3.lir=(air−∑k=1r−1liku