標籤:
同微分方程一樣,線性代數也可以稱得上是一門描述自然的語言,它在眾多自然科學、經濟學有著廣闊的建模背景,這裡筆者學識有限暫且不列舉了,那麼這片文章來簡單的討論一個問題——線性方程組。
首先從我們中學階段就很熟系的二元一次方程組,我們採用換元(其實就是高斯消元)的方法。但是現在我們需要討論更加一般的情況,對於線性方程,有如下形式:
a1x1+a2x2+…anxn = b.
現在我們給出多個這樣的方程構成方程組,我們是否有通用的解法呢?
在《Linear Algebra and Its Applications》一書中一開始給出了非常棒的引入,在這裡限於篇幅,筆者只進行簡單的概括。
通過多元線性方程組的樸素高斯消元過程,我們發現這個過程其實就是方程之間的加減運算,將含n個未知數的線性方程的n個係數和1個常數視為n+1個參數來表徵這個線性方程,然後我們將所有線性方程的係數都給抽出來,得到係數矩陣,再在每一行後面添加常數,形成增廣矩陣。這其實是一種引入工具來簡化運算的方法,而基於樸素高斯消元各個方程相加相減的等價性,我們也應該賦予我們新引入的這個工具——“矩陣”以相同的性質,即矩陣的初等行變換:
(1) 每行乘以常數c,矩陣不變。
(2) 某行乘以常數c加到另外一行,矩陣不變。
(3) 任意兩行交換位置,矩陣不變。
為什麼要注意到矩陣的這些性質呢?因為它們非常有用啊!有什麼用呢?
對於任意一個線性方程組,我們想要基於其增廣矩陣進行簡化運算以求得解,而這個過程基於高斯消元法的思路,就是消除掉一個一個的未知數,放到增廣矩陣裡,就可以看成自上而下,變數的數量越拉越少,在矩陣中越往下,係數為0的變數個數越多,這就自然而然的引出了行階梯型矩陣的定義:
很容易看到,如果我們面對一個線性方程組的增廣矩陣,並將其轉化成行階梯型,然後在將其轉化成線性方程組,這無疑是利於我們解這個線性方程的。為什麼呢?很簡單啊,基於行階梯型的特點,我們從下往上可以逐個確定變數,然後用已經確定的變數來表示其他變數,那麼這個線性方程組便可求解了。
那麼好了,現在我們面臨的這樣幾個問題:
Q1:面對一個普通的增廣矩陣,我們如何將其化成我們喜歡的行階梯型呢?
Q2:基於行階梯型,我們容易寫出解的形式(這裡涉及主元的概念,將主元視為基本變數,其餘視為自由變數,解的基本形式就是基本變數用自由變數表示),但是,如何判斷它一定有解呢?有解的情況下,是唯一解還是無窮解呢?
針對Q1:它其實是一個計算性質的問題,在這裡本書給出了如下的化簡演算法:
針對Q2:基於我們對行階梯型矩陣與線性方程組之間的轉化的理解,我們能夠很自然的看到,對於n元的線性方程組:
(i) 如果其增廣矩陣不含自由變數,則我們可以自下(xn)而上(x1)一一確定各變數的值,有唯一解
(ii) 如果至少存在一個自由變數,那麼顯然整個解空間會隨著自由變數的改變而對應的發生改變,有無窮個解。
(iii) 如果在行階梯型中出現了某行是<0,0,0…,b>的形式(b≠0),則將其轉化成線性方程會出現0 = b的結果,這與數學現實矛盾,表明此線性方程組無解。
《Linear Algebra and Its Applications》- 線性方程組