首页 > 其他分享 >高斯消元

高斯消元

时间:2024-10-02 18:49:53浏览次数:4  
标签:... begin end matrix 方程组 高斯消

求解线性齐次方程组。

先给一个线性方程组:

\( \begin{Bmatrix} a_{1,1}x_1 + a_{2,1}x_2 + a_{3,1}x_3 + ... = b_1 & \\ a_{1,2}x_1 + a_{2,2}x_2 + a_{3,2}x_3 + ... = b_2 & \\ a_{1,3}x_1 + a_{2,3}x_2 + a_{3,3}x_3 + ... = b_3 & \end{Bmatrix} \)

他的增广矩阵就是未知数系数和 \(b_i\) 值所写作的矩阵:

\( \left \{ \begin{matrix} a_{1,1} & a_{2,1} & a_{3,1} & .. & | & b_1 & \\ a_{1,2} & a_{2,2} & a_{3,2} & .. & | & b_2 & \\ a_{1,3} & a_{2,3} & a_{3,3} & .. & | & b_3 & \end{matrix}\right. \)

我们对于增广矩阵有几个变换形式(初等行变换):

  1. 交换两行
  2. 把某一行乘一个非零数 \(k\)
  3. 把某一行的 \(k\) 倍加到某行

对于方程组的解,我们有:如果一个方程组有至少两个解,那么他一定有无数解。感性理解是简单的,证明也不难。

之后我们考虑解这个方程组,也是有两种方法的:

两种方法的初始形式一样,高斯消元法的结果矩阵是:

\( \left \{\begin{matrix} 1 & 1 & 1 & ... & 1 & | & b_1 & \\ 0 & 1 & 1 & ... & 1 &| & b_2 & \\ ...& \\ 0 & 0 & 0 & ... & 1 &| & b_3 & \end{matrix} \right. \)

高斯约旦-约旦消元法:

\( \left \{\begin{matrix} 1 & 0 & 0 & ... & 0 & | & b_1 & \\ 0 & 1 & 0 & ... & 0 &| & b_2 & \\ ...& \\ 0 & 0 & 0 & ... & 1 &| & b_3 & \end{matrix} \right. \)

现在说高斯消元法的具体步骤:

  1. 检查 \(a_{1,1}\) 是否为 \(0\),如果不是,记 \(r_i\) 表示第 \(i\) 行的方程式,我们令 \(r_i = r_i + r_1 \times k_i\),使得 \(a_{i,1}\) 变为 \(0\),等同于加减消元的过程,之后每一列都可以同理做。否则,如果 \(a_{1,1}\) 是 \(0\),再找另一行,再与 \(r_1\) 交换,同上继续做,假设还是找不到,那他就具有无数解。

  2. 我们可以通过步骤 1 检索所有列,将他变成同上方一的矩阵就可以顺序求解未知数了。

  3. 对于无解和无穷解的情况:

    • 当有一行的未知数系数为 \(0\),且 \(b_i\) 不为 \(0\) 的时候,那么方程组无解,我们也可以看做阶梯的直角拐角发生在最后一个点,那么这个方程组无解,其他方式均有解。
    • 当方程数量少于主元数量时,显然是无穷解的。

标签:...,begin,end,matrix,方程组,高斯消
From: https://www.cnblogs.com/Wei-Han-Fei/p/18444974

相关文章

  • 高斯消元
    高斯消元网上的题解一个比一个难看,还一人一个码风。如果我知道谁还要学高斯消元,我会让他先做[SDOI2006]线性方程组再做【模板】高斯消元法,因为前者需要判出无解或无穷解,而后者只需要输出NoSolution同时代表这两种情况,前者更通用一些,而写法却差得不少,从前者往后者转就是薄......
  • 高斯消元法
    模板题我写不明白我要用其他人的学习笔记其实也没法写,真要一步步写很复杂。无非就是依次将每个数减掉系数,最后成为一个单位矩阵。所以看注释:#include<bits/stdc++.h>usingnamespacestd;#definelllonglongconstintN=1e5+5;intn;//n表示方......
  • 高斯消元解线性方程组
    高斯消元解线性方程组输入一个包含n个方程n个未知数的线性方程组。方程组中的系数为实数。求解这个方程组。下图为一个包含m个方程n个未知数的线性方程组示例输入格式第一行包含整数n。接下来n行,每行包含n+1个实数,表示一个方程的n个系数以及等号右侧的常数......
  • 有关用MATLAB来实现高斯消去法
    题目:利用Gaussian消去法求解线性方程组Ax=b,其中:     实现流程程序代码实验结果......
  • Note - 高斯消元法(证明略)
    线性代数高斯消元法求解线性方程组高斯消元法是求解线性方程组的经典算法,还可以用于行列式计算、求矩阵的逆。部分代码From「SDOI2006」线性方程组doublea[N][N];//a[i][j]表示第i个方程中第j个元的系数,a[i][n+1]为等号右侧的常数项voidGauss(){for(inti=1;i<......
  • 详细揭秘:特殊图高斯消元
    树上高斯消元给你一颗树,某些点为终止结点,求从每个点开始随机游走走到某个终止节点的期望时间。从叶子开始将\(f(u)\)表示为\(k(u)f(\text{fa}(u))+b(u)\),带回\(f(\text{fa}(u))\)的方程中将\(f(u)\)消掉即可。DAG上高斯消元可重集/reset有一个可重集\(S\),每一......
  • 高斯消元 学习笔记
    用于求解方程组。给定\(n\)个关于\(m\)个变量的方程组,需要你判断该方程组是否无解、有无数解、有唯一解,并输出唯一的解。考虑使用消元法。我们枚举一个变量\(i\),从所有没有被操作过的方程式中选出一个,然后用它对其他没有被操作过的方程式进行消元,并将被选中的那个方程式视......
  • 高斯消元
    1.高斯消元的基础信息本质通过初等行变化,将线性方程组的增广矩阵转化为行阶梯矩阵,讲人话就是用加减消元来转化,代入消元来回带。应用用来求解线性方程组(m个一次方程,n个变量),矩阵的秩(校园后的主元数)以及求可逆方阵的逆矩阵。难度思维难度低,代码实现难度低复杂度时间:O(n^3)空间......
  • 可变阶数高斯消元算法-passcal-c shap-c语言
    高斯消元法在各种工程领域都有广泛的应用,尤其是在需要求解线性方程组的情况下。尽管高斯消元法在某些情况下可能不是最高效的算法,但它仍然是一个强大且通用的工具,对于许多工程问题来说是非常实用的。随着计算机性能的提高,高斯消元法在处理大规模问题时也变得更加可行。高斯消......
  • 高斯消元
    高斯消元高斯消元法通常用于求解如下的\(n\)元线性方程组\[\begin{cases}a_{1,1}x_1+a_{2,2}x_2+\cdots+a_{1,n}x_n=b_1\\a_{2,1}x_1+a_{2,2}x_2+\cdots+a_{2,n}x_n=b_2\\\cdots\\a_{n,1}x_1+a_{n,2}x_2+\cdots+a_{n,n}......