算法:
1、輸入方程組維數n,矩陣A,右端項b和控制精度eps
2、對於k = 1 : n-1 :
(1)、| A( u , k ) | = max( A( i , k ) , k <= i <= n );
(2)、如果| A( u , k ) | < eps 則停止;
(3)、如果 u = k 則轉 (4) ,否則 A( k , k : n+1) <--> A( u , k : n+1 ) ;
(4)、A( k+1 : n , k ) := A( k+1 : n , k ) / A( k , k ),
A( k+1 : n , k+1 : n ) := A( k+1 : n , k+1 : n ) - A( k+1 : n , k ) · A( k , k+1 : n ),
b( k+1 : n ) := b( k+1 : n ) - A( k+1 : n , k ) · b( k )
3、如果 A( n , n ) = 0 則停止
4、b( n ) := b( n ) / A( n , n ) ,
對於 i = n-1 : -1 : 1 ,
b( i ) := [ b(i) - A( i , i+1 : n ) · b( i+1 : n ) ] / A( i , i )
5、輸出解b(1:n)
C語言代碼(未考慮無解情況):