『笔记』高斯-约旦消元

前言

高斯消元法是求解线性方程组的经典算法,它在当代数学中有着重要的地位和价值,是线性代数课程教学的重要组成部分。

高斯消元法除了用于线性方程组求解外,还可以用于行列式计算、求矩阵的逆,以及其他计算机和工程方面。

矩阵的定义

定义由\(M\times N\)个数\(A_{i,j}\)按照一定的顺序排列成的矩阵表

\[\begin{bmatrix} a_{1,1} & a_{1,2} & a_{1,3} & \cdots & a_{1,n} \\ a_{2,1} & a_{2,2} & a_{2,3} & \cdots & a_{2,n} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ a_{m,1} & a_{m,2} & a_{m,3} & \cdots & a_{m,n} \\ \end{bmatrix} \]

简记为 \(M\times N\) 矩阵,读作 \(M\)\(N\) 矩阵,横的各排叫做矩阵的行,纵的各列叫做矩阵的列

例如用\(A\) 来表示矩阵,也可以记作 \((A_{I,J})_{m\times n}\) ,说明 \(A\) 是一个以 \(A_{I,J}\) 为元素的 \(M\)\(N\) 列的矩阵

  • 正方矩阵

在一般的矩阵中,如果行和列相等,那么这种矩阵就称为正方矩阵,简称方阵

例如

\[\begin{bmatrix} 1 & 1 &1\\ 1 & 1 & 1 \\1 & 1 & 1 \end{bmatrix}\]

就是一个三阶方阵

  • 行矩阵

例如,\((1,2,3,4)\) 就是一个行矩阵,实际上就是一个由 \(4\) 个数组成的有序数组

  • 列矩阵

\[\begin{bmatrix} 1 \\2 \\3 \\4 \end{bmatrix}\]

一个矩阵的列数为 \(1\) 则称为列矩阵,同样也是一个有序数组

  • 单位矩阵

如果一个矩阵中主对角线上的元素\(A_{I,J}(I=J)\) 全是 \(1\) ,其他的全是 \(0\) ,那么则称这个方阵单位矩阵 记作 \(I\)

  • 零矩阵

例如

\[\begin{bmatrix} 0&0&0&0 \\0&0&0&0 \\0&0&0&0 \\0&0&0&0 \end{bmatrix}\]

元素全为 \(0\) 的矩阵称为零矩阵

消元法

消元法是将方程组中的一个方程的未知数用含有另外一个未知数的带代数式表示,并将其代入到另外一个方程中,这样就消除掉了一个为止数,得到了一个解,或者是将方程式组中的某一个方程倍乘上某一个常数,加(减)到另外一个方程中去,也可以做到消去一个未知数。消元法广泛应用于二元一次方程组的求解

例: 用消元法求解二元一次方程组

\[\begin{cases} 2x+y=100\\ 4x-y=200 \end{cases}\]

解:通过将两个方程相加即可消去 \(y\) 得到

\[5x=300 \]

\[x=50 \]

代入到第二个方程中即可得到

\[y=0 \]

消元法的核心主要是有以下结论:

  • 两方程互换,解不变

  • 一个方程乘以一个非零实数 \(k\) ,方程的解不变

  • 一个方程乘以数 \(k\) 加(减)上另外一个方程,解不变

高斯消元

带数学家高斯发现了以下结论:

  • 在消元法中,参与计算和发生改变的是方程中每个变量的系数

  • 各个变量并没有参与计算,且没有发生改变

  • 可以利用系数的位置来表示变量,从而起到省略变量简化运算的效果

  • 在计算中可以将变量简化省略,方程的解不变

然而我并不会高斯消元,这里仅讲述另一种消元方法,高斯-约旦消元法

高斯-约旦消元

思想如下:

  • 最终目的为将矩阵通过加减消元最终变为单位矩阵求解出所有答案来

  • 首先枚举每一列,确定一个有着非零系数的该未知数作为主元,将该方程中这个位置数的系数化为 \(1\)

  • 将每一行中(除了该未知数选中作为主元的一行)当前位置的系数全部通过加减消元化为 \(0\)

  • 最后剩下的矩阵可以表示为这个样子

\[\left[ \begin{array}{cccc|c} a_{1,1}&0&\cdots&0&b_{1,n+1} \\0&a_{2,2}&\cdots&0&b_{2,n+1} \\ \vdots&\vdots&\ddots&\vdots&\vdots \\0&0&\cdots&a_{n,n}&b_{n,n+1} \end{array} \right] \]

  • 通过解一元一次方程组就可以把每一个系数都求出来了

矩阵求逆

关于矩阵求逆,其实就是仅仅在高斯-约旦消元上做一个费马小定理的处理即可,记得每次处理完一行都要记得把当前行进行处理即可

模板代码

高斯-约旦消元

矩阵求逆

posted @ 2021-01-31 21:46  琼瑾  阅读(284)  评论(0编辑  收藏  举报
Live2D