【线性代数】 抽丝剥茧系列之矩阵的秩与方程解的情况

时间:2022-10-27 22:58:58

正文

1. 秩简介

矩阵的秩是线性代数中非常重要的概念,本篇主要围绕矩阵的秩和方程解的情况展开,其余内容不做阐述。

对于方程Ax = b:

$$\begin{cases}x_1 + x_2 +x_3= 12 \x_1 - 3x_2 +x_3=8\x_1 -x_2 +x_3= 10\end{cases}$$

其对应的增广矩阵为:

$$\overline{A} = \begin{bmatrix}1&1&1&|&12\1&-3&1&|&8\1&-1&1&|&10\end{bmatrix}$$

通过初等行变换可以转化为:

$$\begin{bmatrix}1&1&1&|&12\1&-3&1&|&8\0&0&0&|&0\end{bmatrix}$$

可以看到其中第三行$r_3$可以由第一行$r_1$和第二行$r_2$线性表示,即$\frac{1}{2}r_1 + \frac{1}{2}r_2 = r_3$,所以真正决定Ax = b解的方程数量只有2个,即该方程对应的矩阵A的秩r(A) = 2

2. 矩阵的秩与方程解的关系

矩阵的秩体现了方程解的情况,也可以反映出对应系数矩阵的信息

m 是行向量维度代表方程的个数,n 是列向量维度代表未知量的个数 以下为矩阵的秩与行(列)秩之间的关系:

  1. r = m = n:

只有当矩阵A是方阵的时候才会满足,这意味着:

  • 无论行或列都不存在线性相关,所有信息在完整的矩阵中才可以全部体现;

  • 矩阵A转化为矩阵U(行阶梯矩阵)或者矩阵R(行最简阶梯矩阵)的时候不会出现全部为0的行;

  • 矩阵对应的行列式|A|是可逆的;

  • 对于方程Ax = b来说有唯一解

  1. r = n < m:

此时列满秩,说明矩阵中某些行向量可以由其他行向量线性表示,意味着:

  • n < m表示有效方程数量大于未知量个数,即未知量少而方程多,行信息冗余;
  • 对于未知量x的限制条件较多,方程Ax = b可能无解,也可能存在唯一解(当增广矩阵$\overline{A}$ 的秩与矩阵A的秩 相同)。
  1. r = m < n:

此时仅行满秩,说明矩阵中某些列向量可以由其他列向量线性表示,意味着:

  • m < n表示列向量的个数代表未知量的个数,即方程少而未知量多,列信息冗余;
  • 由于一个方程最多求解(限制)一个未知量,所以*未知量的个数永远不为0,即对于任意b,方程Ax = b都有无穷多解。
  1. r < m, r < n:
  • 此时行列均不满秩,根据上面的思路可以得到方程解的情况有:无解和无穷多解集。

附录 python求矩阵的秩

import numpy as np
 
A = np.array([[1, 1, 1], [2, -3, -1], [1, 1, 1]]).T
b = np.array([12, 8, 10])

# A的秩
print(f"矩阵A的秩为{np.linalg.matrix_rank(A)}")