15 高斯消元解線性方程組

2022-09-16 14:27:11 字數 1724 閱讀 4779

高斯消元可以在o(n ^ 3)的時間複雜度內,求解乙個包含n個方程和n個未知數的多元線性方程組

解有三種情況

預備知識:線性代數矩陣的初等行變換,轉化成最短階梯形矩陣

高斯消元就是把乙個係數矩陣變換成上三角的形式

高斯消元涉及到的線代知識不多,秩之類的不涉及

只用最基礎的線代知識

無解的情況:不完美階梯形時,某一行出現了左邊沒有未知數,右邊非零的情況。0 = ?這種情況,無解

無窮多解的情況:不完美階梯形時,出現很多0 = 0的方程,無窮多組解

唯一解的情況:完美的上三角階梯形矩陣,第一行n個未知數,第二行n - 1個,第n行1個未知數

判斷是否是0

5intn;6

double a[n][n]; //

用double存

7int

gauss() 17}

18if (fabs(a[t][c]) < eps)

21for (int i = c; i <= n; i++)

24for (int i = n; i >= c; i--)

27for (int i = r + 1; i < n; i++) 32}

33}34 r++;35}

36//

已經變好了

37if (r < n) 42}

43return

1; //

無窮多解44}

45for (int i = n - 1; i >= 0; i--) 49}

50return

0; //

唯一解51}52

intmain() 58}

59int t =gauss();

60if (t == 0)

64 } else

if (t == 1) else

69return0;

70 }

高斯消元解線性方程組

高斯消去法是消去法的一種特殊形式,它包括消元和回帶兩個過程。高斯消去法求解線性方程組分為以下兩大步 1 將係數矩陣a經過一系列的初等行變換程式設計右上三角矩陣,其常數向量b也同時做相應的變換,即 在變換過程中,採用原地工作,即經變換後的元素仍存放在原來的儲存單元中。為了實現上述目標,對於k從1到n ...

高斯消元解線性方程組

高斯消元可以通過初等行列變化把 增廣矩陣 轉換成 階梯型矩陣,進而求解 n 個線性方程組的解,其時間複雜為o n 3 初等行列變換 對乙個方程組進行以下三個操作不會影響方程的解 例如線性方程組為 a11x1 a12x2 a13x3 a1nxn b1 a21x1 a22x2 a23x3 a2nxn b...

線性方程組(高斯消元)

acm模版 列主元gauss消去求解a x b 返回是否有唯一解,若有解在b中 define fabs x x 0 x x define eps 1e 10 const int maxn 100 int gausscpivot int n,double a maxn double b if fabs...