數學中的線性方程組是由一組或多組涉及相同未知數的線性方程構成的集合。可以表示為。其中為線性方程組的系數。線性方程組的矩陣表示為。
線性方程組的解通常分為無解、有唯一解和有無窮多解三種情況,可以根據其系數矩陣化簡得到的階梯形矩陣判斷。數學上,可以用克萊姆法則或矩陣消元法求解,無解的方程如果是超定方程組,可以通過最小二乘法求近似解。對于階數較大的線性方程組,可以通過迭代法求解。在幾何上,方程組的解是方程所表示的點、線、面的相交部分,以向量表示,就是向量可以落在的列向量張成的空間中。
線性方程組構成了線性代數的基礎,這門學科在現代數學的多個領域都有廣泛應用。求解這些方程的計算方法在數值線性代數中占據重要地位,對工程、物理、化學、計算機科學和經濟學等領域有著顯著影響。非線性方程組可以通過線性化近似為線性系統,這是一種在構建數學模型或進行計算機模擬時簡化問題的有效方法。有程序包LAPACK、BLAS、MATLAB等可以幫助計算高階的線性方程組。
定義
一次方程是包含變量的形如的方程,其中b與系數是實數或復數,通常是已知數,下標n可以是任意正整數。線性方程組是由一個或幾個包含相同變量的線性方程組成的。表示如下。
當等于零時,將該方程組稱為齊次線性方程組;當不全為零時,將該方程組稱為非齊次線性方程組或一般線性方程組。
一個線性方程組包含的主要信息可以表示如下。設
,,,
則線性方程組可表示為矩陣形式,稱這樣的方程為矩陣方程。稱為系數矩陣。矩陣的維數說明它包含的行數和列數。若m、n是正整數,矩陣是一個有m行n列的數的矩形陣列。
包含系數和的矩陣稱為線性方程組的增廣矩陣,表示為
。
線性方程組的解
線性方程組的解是一組數,用這組數分別代替時,所有方程的兩邊相等。方程組所有可能的解的集合稱為線性方程組的解集,若兩個線性方程組有相同的解集,則這兩個線性方程組稱為等價的。
線性方程組的解有如下三種情況:無解、有唯一解、有無窮多解。若方程組有解,則稱這個方程組是相容的,否則為不相容。
根據方程組的系數矩陣,可以簡單判斷線性方程組解的情況,這種方法稱為高斯(Gauss)—約當(Jordan)算法,求解流程如下圖所示。假設階梯型方程組有n個未知量,它的增廣矩陣有r個非零行,有n+1列,若階梯型方程組中出現“(b是非零數)”這種方程,則方程組無解。若不出現“(b是非零數)”這種方程,此時,把經過初等變換化成簡化行階梯形矩陣,也有r個非零行,從而有r個主元。當時,方程組有唯一解。當時,方程組有無窮解。非階梯形方程組可以經過初等變換轉化為階梯形。
根據線性方程組未知量的個數n與方程的個數m的關系,可將方程組分類為:適定方程組 ():存在著唯一的一組解; 欠定方程組 ():方程有無窮解;超定方程組 ():方程無解,但可以求出其近似解。
求解方法
克萊姆法則
一個包含n個未知數,n個方程的線性方程組
其系數行列式記為,即
克萊姆(Cramer)法則:如果線性方程組的系數矩陣的行列式,則線性方程組有解,并且解是唯一的。此時。其中是把行列式中第j列元素依此用方程組右端的常數代替后得到的n階行列式,即。
克萊姆法則包含三個結論:方程組有解,解是唯一的,解由上述方法給出。用克萊姆法則求解線性方程組需要方程的個數等于未知量的個數、系數矩陣的行列式不等于零。理論上需要計算個n階行列式,通常工作量較大,所以該法則很少用于具體求解。
矩陣消元法
線性方程組的初等變換
以上三種變換稱為線性方程組的初等變換。經過一系列初等變換變成的簡化階梯形方程組與原線性方程組同解。線性方程組的初等變換對應系數矩陣的變換初等行變換。即方程組,經過初等變換化為,則與同解。
消元法
將線性方程組經過初等變換,消元成簡化階梯型方程組,可以求得線性方程組的解。對于齊次線性方程組,常將經過初等變換化為易于求解的,然后解方程組。對于非齊次線性方程組,可以將增廣矩陣進行初等行變化,然后求解。
以如下方程為例,演示線性方程組的具體求解。
②寫出以為系數矩陣的線性方程組并移項得:
取兩組數解得一個基礎解系:
,
松弛求解
當方程個數大于未知量個數時,方程稱為超定方程組,無解,但可以求解近似解。在把方程數據進行擬合時,常遇到此類問題。設是矩陣,是給定的m維向量,尋求一個n維向量使得。更精確地講,選擇以極小化殘量范數的平方,。這就是最小二乘問題,可以通過QR分解法(QR 矩陣分解)求解。
數值分析方法
在實際應用中,許多大型線性方程組來自差分化偏微分方程,消元法所需的工作量和儲存量都是不夠的,因此人們開發了迭代法來簡化運算。對稱線性方程的求解以簡單迭代和共軛梯度算法為代表。還有廣義最小殘量法(Generalized minimal residual method,GMRES)、雙共軛梯度穩定法(Biconjugate gradient stabilized method,BiCGSTAB)等方法用于求解非對稱線性方程組。
對線性方程直接進行求解并不十分適合,一個好的近似解需要很多次迭代。通常可以用預優方程組來代替原來的方程組,并把迭代法用于新的方程組。不需要構造矩陣,只要能計算和給定向量的乘積。
稱為預優矩陣,可以使用的對角矩陣和的上(或下)三角矩陣等易于求解的矩陣。或通過不完全Cholesky分解等方法構造預優矩陣。
簡單迭代
給定初始猜測,計算殘量,解求出。對置,計算,解求出。
按照預優矩陣的不同,當等于的對角線矩陣,稱它為Gauss-Seidel迭代法;當,式中是的對角線矩陣,是的嚴格下三角矩陣,是為加速收斂選擇的參數,此時稱為逐次超松弛(Successive Over Relaxation,SOR)方法。
共軛梯度算法
共軛梯度(Conjugate Gradient,CG)算法通常用于求解對稱正定問題。給定初始猜測,計算,并置。對于計算。置,這里。計算。置,這里。
共軛梯度法在n步內總能求出精確解。因此這種算法實際上被認為是解線性方程組的直接方法。在此基礎上,對具有對稱正定預優矩陣的對稱正定問題,可以用預優共軛梯度(Preconditional Conjugate Gradiem,PCG)算法求解。
幾何解釋
在解析幾何的意義上,一個方程可以表示為一個直線、平面或一個超平面。每個方程的解都在其對應的直線、平面或超平面上,一個方程組的解就在各個方程組的解相交的交點、平面或超平面的交線上。
以二元一次方程組為例,線性方程組三種解的情況列于下圖。
對于超定方程組,以二元一次方程組為例,用幾何意義表示其近似解,為最接近各個交點、誤差最小的一點。
線性方程組表示形式的幾何意義
從向量角度,如果對線性方程組引入列向量,那么原線性方程組可以改寫為向量方程組。向量方程求解的意義就是求出向量被向量組線性表示的系數 ,向量方程是否有解就是向量能否被向量組所線性表示,線性表示系數唯一就是方程組有唯一解,不唯一則表示方程組有無窮多解。
由矩陣線性變換的意義出發,解線性方程組就是尋找哪些向量可以被一個已知的矩陣變換為一個已知的向量。方程組有唯一解就是只有一個向量被變換為向量,有無窮多解就是可以有一個一根直線上的向量族或一個平面上的向量族被變換成向量。
對于超定方程組,向量不在的列向量空間中,可以在列空間中找到替代向量求解,這個替代向量要求在誤差要求的范圍內可以接受。例如,可以選擇向量向列空間投影得到的向量作為替代向量。
消元法的幾何解釋
以二元方程組為例。對于方程組
從列向量的角度,重寫方程組為向量方程:
,定義向量,,。將向量分別以的倍數放大或縮小后,兩向量之和與重合,此時也就得到了方程的解。
具體地,對于方程兩邊,如果同時點乘向量的正交向量,就可以消去項,也就消去了未知元。即得到,。
同理,如果兩邊同時點乘向量的正交向量,可以消去未知元,可得,。
應用
線性方程組構成了線性代數的基礎,在工程、物理學、計算機科學、經濟學、化學和互聯網等領域有著廣泛的應用。例如,在經濟學中,可以用于求解列昂惕夫“投入-產出”模型;在化學領域中,可以對化學方程式進行配平;在互聯網領域,可以用于對網絡流進行計算。線性差分方程可以幫助研究隨時間變化的動力系統,廣泛應用于生態學、工程技術等領域,如對大氣湍流進行模擬計算。非線性方程組可以通過線性化近似為線性系統,這是一種在構建數學模型或進行計算機模擬時簡化問題的有效方法。
參考資料 >
Linear Algebra PACKage.lapack.2024-02-01
Basic Linear Algebra Subprograms.BLAS.2024-02-01
MathWorks.MATLAB.2024-02-01
計算機數學(Computer Mathematics).Xin-YU Ou.2024-02-27