解方程組的時候發生了什么? ----淺談高斯消元法的幾何意義 解方程組作為經典的代數問題,經常與幾何聯系起來, 例如兩直線相交于一點對應一個二元一次方程組的一個解。 在線性代數(Linear Algebra)中,高斯消元法(Gauss Elimination)是解方程組的一種方法,利用了方程組的三種初等變換: T1:交換兩個方程的位置 T2:方程兩邊同乘以不為零的一個系數 T3:將某一個方程的倍數加到另一個方程上 利用高斯消元法解方程組已經是老生常談,但是,在對方程組進行初等變換的時候,是否有人考慮過它們的幾何意義呢? 來看一個簡單的例子 兩條直線AB,CD相交于E點,點的位置看得很清楚。 這兩條直線對應的方程組是 解這個方程組的過程倒很簡單, 直接把2式乘三(Gauss Elimination的T2), 再加上1式(Gauss Elimination的T3), 化簡后(Gauss Elimination的T1、T2)得到 解得x=0.4, y=2.4 答案自然不必多說。但是我們的關注的重點并不是這個方程組,而是它對應的幾何意義。 仔細分析過程, 我們把2式乘上三(Gauss Elimination的T2),對應的圖像并沒有發生變化。 但是在加上1式之后(Gauss Elimination的T3),圖像突然改變了,直線CD猝不及防地變成了垂直于y軸的直線… …就像這樣 What happened??? Gauss Elimination的T3: “將某一個方程的倍數加到另一個方程上”, 似乎讓整個方程組的圖像發生了本質的改變!!! 直接觀察直線似乎不能得出什么結論,考慮到消元法這個過程改變了未知量前的系數。 我們不妨從系數的角度來思考。 眾所周知,對于形如ax+by=c的直線,其系數a,b具有實際性的意義。容易得到(a,b)就是這條直線的法向量坐標,法向量即垂直于這條直線的向量。我們把它畫下來: 向量FG和FH分別是兩條直線的法向量, 其方向由x,y前的系數決定。 顯然考慮消元法過程的本質,在這個例子中,就是將本來均不為零的x,y前的系數之一變成零。 在畫出法向量的前提下重復一次消元,看結果如何 我們首先把2式乘三(Gauss Elimination的T2),其法向量也隨之變長。這一步不難理解: 進行下一步, 情況出現了戲劇性的轉變——把兩個式子相加 (Gauss Elimination的T3), 等式左邊未知量對應的系數加起來了 ![]() 表現在向量上,就是兩個直線的法向量的坐標之和。 因此,這一步用法向量表示的話,就是兩個法向量相加: ![]() 相加的結果是一個新的法向量FK,其坐標為(0,-5), 對應于新方程組中的第二個等式。 易知這個法向量對應的直線是平行于x軸的, 解方程得到其具體位置, 圖中已用紅色標記了相加所得法向量及其對應直線, 結果是直線恰好過原方程組兩直線的交點E, ![]() 這是巧合嗎? 所有人都會理所當然的回答“不是” 但是似乎很少會有人想,為什么? 這的確不是巧合,具體我們之后再說, 現在回到解方程的過程中: 我們換個角度,消去y,再看圖像: ![]() 2式乘二(Gauss Elimination的T2),即將向量FH延長一倍: ![]() 然后將向量FG減去向量FH,得到向量HG, 其對應直線用藍色標記: ![]() ![]() 可以看到,向量HG平行于x軸,對應直線依然經過交點E 顯然,兩次消元的結果都是 將原方程對應直線的法向量轉化成了平行于坐標軸的法向量 其對應直線正好經過兩直線的交點。 為什么法向量直接簡單的加減就可以使結果法向量平行于坐標軸呢? 這就依賴于第一步對方程兩邊同時乘上的系數了。 不難發現, 通過乘上系數(Gauss Elimination的T2)使得兩個直線法向量的x或者y方向的分量相等或者相反,再利用高斯消元法的第三條(Gauss Elimination的T3),我們就能輕易地得到一個平行于坐標軸的法向量,這就是消元過程中發生的事。 利用未知量的系數與直線法向量坐標的關系,消元過程就可以用圖像來一步步表示了。 值得注意的是, 在解方程的過程中,我們把兩個基本沒什么關系的法向量給撮合成了互相垂直的向量。 實際上,不僅僅是二元一次方程組,即使是在三元甚至四元,也就是對應三維四維的空間中,通過某種操作,我們仍然可以把幾個隨意給出的線性無關的向量最終轉化為互相垂直的向量。 ![]() 這種操作不僅有, 我們還給它起了名字 ——“施密特正交規范化操作”(咳咳,是方法), 這個我們以后會深入學習,此處只是粗略提及,不作贅述 ![]() 那么,該討論的最后一個問題,就是我們的“理所當然” 為什么,消元過程得到的法向量所對應的直線, 恰好經過原方程組對應直線的交點? 因為一些我們熟視無睹的東西——初等變換不改變方程組的解 這似乎值得推敲,又像是一句廢話, 而我們要在這里好好說上一說 高斯消元法依賴的初等變換,改變的方程的形式,卻沒有改變方程的解,又是怎么回事呢? 稍稍一想,就能明白: 第一種變換——改變方程順序——自然不會影響方程的解 第二種變換對方程兩邊乘上的非零系數,自然可以同時消去,方程本身并無變化 第三種變換則值得品味——兩個方程相加為什么沒有改變原來的解呢? 看起來方程的形式發生了非常大的變化, 甚至會導致某一個未知量的消失(即消元過程)。 如圖: ![]() 我們可以把得到的方程寫成這樣: ![]() 自然地看出來,原方程組的解一定適用于這個方程(這就是那個為什么的答案),但是這個方程還可能有其他的解,所以我們往往把它和某一個原方程聯立求解。 ![]() 綜上所述, 利用了方程組的初等變換的高斯消元法, 其幾何意義可以從直線的法向量的角度思考。 其實不僅僅是法向量,直線的方向向量也可以。 因為(a,b)為法向量的直線, 其方向向量可以寫成(-b,a), 也是和未知量系數直接相關的, 不過稍顯復雜,不多說。 供稿:北京理工大學 李修遠 (原創) 編輯:北京理工大學 楊玲 走過路過,不要錯過這個公眾號哦! ![]() |
|