針對你給的二元方程,談談為什麼要用列主元消去法.通常高斯消去法有兩個過程:消元過程和回代過程.如果不選主元,消元過程第1步需要進行下面運算,a22-(a21/a11)*a12這是消元后所得新的第2個方程的x2的係數,如果a11較a21小的多,則a21/a11就很大,由於在計算機上程式設計計算或手算時,舍入誤差難以避免,如a12=1/3,計算時需舍入為有限小數,比如保留8位有效數字,1/3用0.33333333代替,誤差很小,但是當a21/a11很大,比如a21=10,a11=0.000001,則a21/a11=10000000,此時計算a22-(a21/a11)*a12的值,由於a12有10^(-8)的誤差,則(a21/a11)*a12的誤差卻變為了10^(-1),誤差被大大的放大了,這在數值分析中稱這種現象是演算法不穩定,不穩定的演算法計算出的結果就不可靠了,所以消元時要選主元,列主元消去法是調換方程的次序,使調換後方程的a11較a21大,此時a21/a11的絕對值小於1,這樣做的結果,在以後的計算中,誤差不但不被放大,反而縮小,這種演算法稱為穩定的演算法,只有用穩定的演算法計算,計算結果才可能可靠,列主元消去法是穩定演算法,但通常的高斯消去法不是穩定的演算法,這就是為什麼要用列主元消去法.
針對你給的二元方程,談談為什麼要用列主元消去法.通常高斯消去法有兩個過程:消元過程和回代過程.如果不選主元,消元過程第1步需要進行下面運算,a22-(a21/a11)*a12這是消元后所得新的第2個方程的x2的係數,如果a11較a21小的多,則a21/a11就很大,由於在計算機上程式設計計算或手算時,舍入誤差難以避免,如a12=1/3,計算時需舍入為有限小數,比如保留8位有效數字,1/3用0.33333333代替,誤差很小,但是當a21/a11很大,比如a21=10,a11=0.000001,則a21/a11=10000000,此時計算a22-(a21/a11)*a12的值,由於a12有10^(-8)的誤差,則(a21/a11)*a12的誤差卻變為了10^(-1),誤差被大大的放大了,這在數值分析中稱這種現象是演算法不穩定,不穩定的演算法計算出的結果就不可靠了,所以消元時要選主元,列主元消去法是調換方程的次序,使調換後方程的a11較a21大,此時a21/a11的絕對值小於1,這樣做的結果,在以後的計算中,誤差不但不被放大,反而縮小,這種演算法稱為穩定的演算法,只有用穩定的演算法計算,計算結果才可能可靠,列主元消去法是穩定演算法,但通常的高斯消去法不是穩定的演算法,這就是為什麼要用列主元消去法.