線性方程組(1)-從一開始
02-22
第一次開專欄,主要想整理知識,督促自己學習。儘可能通俗易懂,但仍然預設讀者有一定線性代數基礎(具體來說,上完理工科大一的線性代數課),所以並非從零開始。有些複雜的證明和推導過程會略去。
會用到MATLAB做演示,為了保持一致,相應的矩陣下標也是從1開始。同時,用大寫字母表示矩陣,帶箭頭的小寫字母表示向量,不帶箭頭的小寫字母表示標量。
解線性方程組,用一句話來說就是,已知 的可逆矩陣 和 維列向量 ,求 維列向量 使得
成立。
通常我們把解記為 。實際上求 的逆矩陣本質上也是解 個線性方程組
所以在不必要時通常不會求一個矩陣的逆。
直接解法:LU分解與QR分解
先吃顆定心丸:一般的線性方程組是可以直接求解的。
這兩種直接解法的主要目標就是,將分解為兩個容易求解的矩陣之積,於是原方程變為
求解過程變為先求解 ,然後求解 。即
通常 是一系列變換矩陣之積,在對 做變換時,可以同時將變換作用於 ;但是如果要對同一個A解多個不同的 時,也可以預先將 或 計算出來,之後每輸入一個 都可以將該變換直接作用到 上。
對於LU分解來說,這個過程是高斯消元
其中
, ,
隨後對右下星號塊繼續進行這一過程,最後得到
其中 為下三角矩陣, 為上三角矩陣。
對於QR分解來說,這個過程是豪斯霍爾德(Householder)變換
其中
, ,
隨後對右下星號塊繼續進行這一過程,最後得到
其中 為正交矩陣, 為上三角矩陣。
正交矩陣的求解即為矩陣向量乘
,
對於上三角矩陣
可直接求解
下三角矩陣同理。
推薦閱讀: