數論 高斯消元

2022-03-29 14:43:11 字數 965 閱讀 4782

給出 \(n\) 組方程,每組方程形如 \(\sum\limits_^n a_ix_i = b_i\),要求求出 \(x_1, x_2 \cdots x_n\) 或告知無解。

我們把這些方程轉化為矩陣 \(\begin & a_ & a_ & a_ & \cdots & a_ & b_1 \\ & a_ & a_ & a_& \cdots & a_ & b_2 \\ & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \\ & a_ & a_ & a_ & \cdots & a_ & b_n \\ \end\)

我們希望最後的矩陣形如 \(\begin & 1 & 0 & 0 & 0 & \cdots & 0 & c_1 \\ & 0 & 1 & 0 & 0 & \cdots & 0 & c_2 \\ & 0 & 0 & 1 & 0 & \cdots & 0 & c_3 \\ & \vdots & \vdots & \vdots & \ddots & \vdots & \vdots & \vdots & \\ & 0 & 0 & 0 & \cdots & 1 & 0 & c_ \\ & 0 & 0 & 0 & \cdots & 0 & 1 & c_n \\ \end\)

對於第 \(i\) 行就能求出 \(x_i = c_i\),即可求出解。

我們從上往下做,先將當前係數絕對值最大的移到當前這一行,減小誤差。

讓當前係數化為 \(1\),即讓當前行的每乙個數都除以當前係數。

再用當前第 \(i\) 行的第 \(i\) 個係數(即為 \(1\))消去 $j \ (j \not= i) $ 的第 \(i\) 個係數,把它消為 \(0\)。

重複做以上的操作,直到做到第 \(n\) 行,此時最後的矩陣形如上述。

最後說一下如何判無解和無限解:

無解:當前行係數全為 \(0\),但值不為 \(0\)。

無限解:當前行係數全為 \(0\),且值為 \(0\)。

數論 高斯消元

學了一天的高斯消元,又退了兩天,才接著補坑,唉 自己為什麼這麼不爭氣 主要的學習高斯消元的 還是 何江舟的 高斯消元解線性方程組 注意幾點 1.equ和var分別代表方程數和未知數 2.在 中注意k和col的實時變化,k迴圈結束後表示消元後的最後乙個行,col迴圈後的為第var 1列 0 var 3...

數論 高斯消元學習筆記

q 高斯消元是什麼?聽起來好高階啊?a 二元一次方程組解過嗎?那就是高斯消元。首先對高斯消元做一些準備 q 什麼是線性方程組?a 雞兔同籠方程組 由 m 個 n 元一次方程所構成的方程組。為了簡化表達,做出如下定義 example 假如現有一方程組 beginx 1 x 2 4x 3 17 5x 1...

高斯消元 浮點高斯消元

浮點數高斯消元 問題描述 給出乙個線性方程組,有n個方程組,m個未知數。解這個線性方程組。輸入格式 第1行 2個整數n和m,n,m 400,且n不一定等於m 接下來n行,每行m 1個整數,表示乙個方程的m個未知數的係數和常數 輸出格式 如果無解,輸出 no solution 如果有唯一解,輸出m行,...