數學上,高斯消元法(或譯:高斯消去法),是線性代數中的一個演算法,可用來為線性方程組求解,求出矩陣的秩,以及求出可逆方陣的逆矩陣。當用於一個矩陣時,高斯消元法會產生出一個“行梯陣式”。高斯消元法可以用在電腦中來解決數千條等式及未知數。不過,如果有過百萬條等式時,這個演算法會十分費時。一些極大的方程組通常會用疊代法來解決。亦有一些方法特地用來解決一些有特別排列的係數的方程組。 高斯消元法可用來找出下列方程組的解或其解的限制: 2x + y - z = 8 (L1) -3x - y + 2z = -11 (L2) -2x + y + 2z = -3 (L3) 這個演算法的原理是: 首先,要將L1 以下的等式中的x 消除,然後再將L2 以下的等式中的y 消除。這樣可使整個方程組變成一個三角形似的格式。之後再將已得出的答案一個個地代入已被簡化的等式中的未知數中,就可求出其餘的答案了。 在剛才的例子中,我們將3/2 L1和L2相加,就可以將L2 中的x 消除了。然後再將L1 和L3相加,就可以將L3 中的x 消除。 我們可以這樣寫: L2 + 3/2 L1→ L2 L3 + L1 → L3 結果就是: 2x + y - z = 8 1/2 y + 1/2 z = 1 2y + z = 5 現在將 − 4L2 和L3 相加,就可將L3 中的y 消除: L3 + -4 L2 → L3 其結果是: 2x + y - z = 8 1/2y + 1/2z = 1 -z = 1 這樣就完成了整個演算法的初步,一個三角形的格式(指:變數的格式而言,上例中的變數各為3,2,1個)出現了。 第二步,就是由尾至頭地將已知的答案代入其他等式中的未知數。第一個答案就是: z = -1 然後就可以將z 代入L2 中,立即就可得出第二個答案: y = 3 之後,將z 和y 代入L1 之中,最後一個答案就出來了: x = 2 就是這樣,這個方程組就被高斯消元法解決了。 這種演算法可以用來解決所有線性方程組。即使一個方程組不能被化為一個三角形的格式,高斯消元法仍可找出它的解。例如在第一步化簡後,L2 及L3 中沒有出現任何y ,沒有三角形的格式,照著高斯消元法而產生的格式仍是一個行梯陣式。這情況之下,這個方程組會有超過一個解,當中會有至少一個變數作為答案。每當變數被鎖定,就會出現一個解。 通常人或電腦在應用高斯消元法的時候,不會直接寫出方程組的等式來消去未知數,反而會使用矩陣來計算。以下就是使用矩陣來計算的例子: 2 1 -1 8 -3 -1 2 -11 -2 1 2 -3 跟著以上的方法來運算,這個矩陣可以轉變為以下的樣子: 2 1 -1 8 0 1/2 1/2 1 0 0 -1 1 這矩陣叫做“行梯陣式”。 最後,可以利用同樣的演算法產生以下的矩陣,便可把所得出的解或其限制簡明地表示出來: 1 0 0 2 0 1 0 3 0 0 1 -1 最後這矩陣叫做“簡化行梯陣式”,亦是高斯-約當消元法指定的步驟。
數學上,高斯消元法(或譯:高斯消去法),是線性代數中的一個演算法,可用來為線性方程組求解,求出矩陣的秩,以及求出可逆方陣的逆矩陣。當用於一個矩陣時,高斯消元法會產生出一個“行梯陣式”。高斯消元法可以用在電腦中來解決數千條等式及未知數。不過,如果有過百萬條等式時,這個演算法會十分費時。一些極大的方程組通常會用疊代法來解決。亦有一些方法特地用來解決一些有特別排列的係數的方程組。 高斯消元法可用來找出下列方程組的解或其解的限制: 2x + y - z = 8 (L1) -3x - y + 2z = -11 (L2) -2x + y + 2z = -3 (L3) 這個演算法的原理是: 首先,要將L1 以下的等式中的x 消除,然後再將L2 以下的等式中的y 消除。這樣可使整個方程組變成一個三角形似的格式。之後再將已得出的答案一個個地代入已被簡化的等式中的未知數中,就可求出其餘的答案了。 在剛才的例子中,我們將3/2 L1和L2相加,就可以將L2 中的x 消除了。然後再將L1 和L3相加,就可以將L3 中的x 消除。 我們可以這樣寫: L2 + 3/2 L1→ L2 L3 + L1 → L3 結果就是: 2x + y - z = 8 1/2 y + 1/2 z = 1 2y + z = 5 現在將 − 4L2 和L3 相加,就可將L3 中的y 消除: L3 + -4 L2 → L3 其結果是: 2x + y - z = 8 1/2y + 1/2z = 1 -z = 1 這樣就完成了整個演算法的初步,一個三角形的格式(指:變數的格式而言,上例中的變數各為3,2,1個)出現了。 第二步,就是由尾至頭地將已知的答案代入其他等式中的未知數。第一個答案就是: z = -1 然後就可以將z 代入L2 中,立即就可得出第二個答案: y = 3 之後,將z 和y 代入L1 之中,最後一個答案就出來了: x = 2 就是這樣,這個方程組就被高斯消元法解決了。 這種演算法可以用來解決所有線性方程組。即使一個方程組不能被化為一個三角形的格式,高斯消元法仍可找出它的解。例如在第一步化簡後,L2 及L3 中沒有出現任何y ,沒有三角形的格式,照著高斯消元法而產生的格式仍是一個行梯陣式。這情況之下,這個方程組會有超過一個解,當中會有至少一個變數作為答案。每當變數被鎖定,就會出現一個解。 通常人或電腦在應用高斯消元法的時候,不會直接寫出方程組的等式來消去未知數,反而會使用矩陣來計算。以下就是使用矩陣來計算的例子: 2 1 -1 8 -3 -1 2 -11 -2 1 2 -3 跟著以上的方法來運算,這個矩陣可以轉變為以下的樣子: 2 1 -1 8 0 1/2 1/2 1 0 0 -1 1 這矩陣叫做“行梯陣式”。 最後,可以利用同樣的演算法產生以下的矩陣,便可把所得出的解或其限制簡明地表示出來: 1 0 0 2 0 1 0 3 0 0 1 -1 最後這矩陣叫做“簡化行梯陣式”,亦是高斯-約當消元法指定的步驟。