高斯消元

高斯消元

就是解多元一次方程组。

和小学的消元法差不多。

\[(*) \begin{cases} a_{11}x_1 + a_{12}x_2 + \cdots + a_{1n}x_n = b_1\\ a_{21}x_1 + a_{22}x_2 + \cdots + a_{2n}x_n = b_2\\ \vdots\\ a_{m1}x_1 + a_{m2}x_2 + \cdots + a_{mn}x_n = b_m \end{cases} \]

初等变换

定义线性方程组的三种变换

  1. 交换两个方程的位置

  2. 用一个非零的数乘以某个方程的两边

  3. 将一个方程的倍数加到另一个方程

线性方程组的初等变换将一个线性方程组化为与之同解的线性方程组

\[(* *)\left\{\begin{array}{r} a_{1 i_{1}}^{\prime} x_{i_{1}}+\cdots+a_{1 i_{2}}^{\prime} x_{i_{2}}+\cdots+a_{1 i_{r}}^{\prime} x_{i_{r}}+a_{1 i_{r+1}}^{\prime} x_{i_{r+1}}+\cdots+a_{1 n}^{\prime} x_{n}=b_{1}^{\prime} \\ a_{2 i_{2}}^{\prime} x_{i_{2}}+\cdots+a_{2 i_{r}}^{\prime} x_{i_{r}}+a_{2 i_{r+1}}^{\prime} x_{i_{r+1}}+\cdots+a_{2 n}^{\prime} x_{n}=b_{2}^{\prime} \\ \vdots \\ a_{m i_{r}}^{\prime} x_{i_{r}}+a_{m i_{r+1}}^{\prime} x_{i_{r+1}}+\cdots+a_{m n}^{\prime} x_{n}=b_{m}^{\prime} \end{array}\right. \]

方程组(∗)可通过初等变换化为如下阶梯形的线性方程组

高消的具体实现

具体来说,对于某一个变量 \(x_i\),选择一个 \(x_i\) 系数非零的行,用这一行和第三种初等 变换即可把其他方程\(x_i\) 系数都消掉,剩下的方程可以递归处理。复杂度 \(O(n^3)\) (假设是 \(n\) 个变量 \(n\) 个方程)。 如果是实数计算,为了保证精度,选择方程时,要选择 \(x_i\) 系数的绝对值最大的那个方程。

按需求,可以把方程组消成上三角矩阵或者对角矩阵(虽然不清楚是不是这么叫的,反正就是这个意思)。

解的个数

通过交换未知量的位置以及作第2,3种初等变换,方程组(∗∗)可化为如 下形式:

\[(* * *)\left\{\begin{array}{l} x_{i_{1}}+c_{1, r+1} x_{i_{r+1}}+\cdots+c_{1 n} x_{i_{n}}=d_{1} \\ x_{i_{2}}+c_{2, r+1} x_{i_{r+1}}+\cdots+c_{2 n} x_{i_{n}}=d_{2} \\ \vdots \\ x_{i_{r}}+c_{r, r+1} x_{i_{r+1}}+\cdots+c_{r n} x_{i_{n}}=d_{r} \\ 0=d_{r+1} \\ \vdots \\ 0=d_{m} \end{array}\right. \]

其中 \(i_1, i_2, \cdots, i_n\)\(1,2,\cdots,n\) 的一个排列,\(r\) 称为这个方程组的秩(rank)。

  • \(r < m\)\(d_{r + 1}, \cdots, d_m\) 不全为零,则 \((**)\) 无解(即 \((*)\) 无解)
  • \(r = m\)\(r < m\)\(d_{r + 1}, \cdots, d_m\) 全为零,则 \((**)\) 有解
    • \(r = n\) 时,有唯一解 \(x_{i_k}=d_k\)
    • \(r < n\) 时,\((**)\) 有无穷多解,\(x_{i_{r+1}},\cdots,x_{i_n}\) 可以在数域中任选,剩下的 \(x_{i_1},\cdots,x_{i_r}\) 的值由 \(x_{i_{r + 1}},\cdots,x_{i_n}\) 的值确定

高级应用

求矩阵的逆

定义系数矩阵 \(A\)

\[\begin{pmatrix} a_{11}&a_{12}&\cdots&a_{1n}\\ a_{21}&a_{22}&\cdots&a_{2n}\\ \vdots\\ a_{m1}&a_{m2}&\cdots&a_{mn} \end{pmatrix} \]

定义增广矩阵 \(\tilde A\)

\[\begin{pmatrix} a_{11}&a_{12}&\cdots&a_{1n}&b_1\\ a_{21}&a_{22}&\cdots&a_{2n}&b_2\\ \vdots&&&&\vdots\\ a_{m1}&a_{m2}&\cdots&a_{mn}&b_m \end{pmatrix} \]

增广矩阵就相当于系数矩阵加上等号右边的那一列拼成的矩阵。

对矩阵的初等变换于方程组的类似。

定义:

由矩阵 \(A\)\(m\) 个行向量生成的 \(F^n\) 的子空间称为 \(A\) 的行空间(row space),其维数称为矩阵A的行秩(row rank),记作 \(r_r(A)\) 由矩阵 \(A\)\(n\) 个列向量生成的 \(F^m\) 的子空间称为 \(A\) 的列空间(column space), 其维数称为矩阵 \(A\) 的列秩(column rank),记作 \(r_c(A)\)

神秘定理

  1. 矩阵的初等行、列变换不改变矩阵的行秩和列秩
  2. \(r_r(A)=r_c(A)\),于是可以定义A的行秩或列秩为矩阵A的秩(rank),记作 \(r(A)\) 或 rank(A)
  3. \(\mathrm{r}(AB)\leq\min(\mathrm{r}(A),\mathrm{r}(B))\)
  4. 方程组 \((*)\) 有解的充要条件是 $ \mathrm{r}(A)=\mathrm{r}(\tilde{A}) $
    进一步,若 \(\mathrm{r}(A)=\mathrm{r}(\tilde{A}) = r\),即 (*) 有解时,则
  • \(r = n\) 时,方程组 (*) 有唯一解
    • \(r < n\) 时,(*) 有无穷多解。

可以用高消求矩阵的逆。

posted @ 2025-02-12 21:42  花子の水晶植轮daisuki  阅读(38)  评论(0)    收藏  举报
https://blog-static.cnblogs.com/files/zouwangblog/mouse-click.js