接下來的內容要有系統性的求出一個一般的 n 元一次聯立方程式的所有解,而這個聯立方程式不再限於未知數與限制式個數相同。
首先,必須要認知道的一項事實是,就單純要一眼判斷出一個聯立方程式是否有解是不可能的,因此退而求其次,要找一套固定的標準的流程,看最終結果來判斷。
換句話說,要找到一個演算法可以交給電腦來執行,而不是期待電腦能像人類可以見機行事,判斷當下哪種做法比較「好算」。
由於接着要處理的是給電腦來執行的一般性解法,因此必須照着 的順序依序消除便變數,並且要妥善安排消完變數後的列的上下順序。
首先,假設拿到一個增廣矩陣
-
同時我們在心裏要秉記着它所對應的聯立方程式
-
第一個步驟要消掉 ,然後分成三種情況分別處理:
- 如果增廣矩陣 的第一列各項皆 0,換句話說 ,那麼這就意味着變數 根本不存在於聯立方程式之中,因此不需要做任何處理,直接前往下一步處理 。
- 如果 的最左上角那一項 不等於 0,那麼將第一行乘以 ,得到
-
- 其中對所有 ,有 。然後下一步是要將 、 、…、 消掉,因此,分別將第二行、第三行、…、第 m 行減去 、 、…、 倍的第一行,得到
-
- 特別要注意的是,從 到 的過程不是一個基本行運算,而是要將各行分別做,總共要做 次。
- 如果 的最左上角那一項 等於 0,但 、 、…、 不全為 0,那麼設 k 是最小的正整數使得 ,接着將 的第一行和第 k 行互換,就回到上面第二點的情況。
在此做個統整,順便看看下一步該怎麼操作,如果是第一點的情況
-
接下來就對 裏面的
-
進行與第一步驟相同的處理,一樣如上分成三種情況討論;如果是第二或第三點的情況,經處理後得到
-
接下來就對 裏面首行首列以外的部分
-
進行與第一步驟相同的處理,一樣如上分成三種情況討論。
在很多時候,矩陣中的 0 常會被省略不寫,而如果這樣的話,增廣矩陣經過列運算後的最終狀態長得像是個階梯,這就是階梯型矩陣的名字由來。
可以很容易的看出,一個增廣矩陣經過列運算後的最終狀態必然是一個階梯形矩陣。
、 都是階梯形矩陣。