正文
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 是列向量维度代表未知量
的个数 以下为矩阵的秩与行(列)秩之间的关系:
- 当
r = m = n
:
只有当矩阵A是方阵
的时候才会满足,这意味着:
-
无论行或列都不存在线性相关,所有信息在完整的矩阵中才可以全部体现;
-
将
矩阵A
转化为矩阵U(行阶梯矩阵)
或者矩阵R(行最简阶梯矩阵)
的时候不会出现全部为0
的行; -
矩阵对应的行列式
|A|
是可逆的; -
对于方程
Ax = b
来说有唯一解
。
- 当
r = n < m
:
此时列满秩,说明矩阵中某些行向量可以由其他行向量线性表示,意味着:
-
n < m
表示有效方程数量大于未知量个数,即未知量少而方程多
,行信息冗余; - 对于
未知量x
的限制条件较多,方程Ax = b
可能无解,也可能存在唯一解(当增广矩阵
$\overline{A}$ 的秩与矩阵A
的秩 相同)。
- 当
r = m < n
:
此时仅行满秩,说明矩阵中某些列向量可以由其他列向量线性表示,意味着:
-
m < n
表示列向量的个数代表未知量
的个数,即方程少而未知量多
,列信息冗余; - 由于一个方程最多求解(限制)一个未知量,所以*未知量的个数永远不为0,即对于
任意b
,方程Ax = b
都有无穷多解。
- 当
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)}")