1

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

 1 year ago
source link: https://blog.51cto.com/coderusher/5801669
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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

精选 原创

Table of Contents

1. 秩简介

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

对于方程Ax = b:

{x1+x2+x3=12x1−3x2+x3=8x1−x2+x3=10\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} ⎩⎨⎧​x1​+x2​+x3​=12x1​−3x2​+x3​=8x1​−x2​+x3​=10​

其对应的增广矩阵为:

A‾=[111∣121−31∣81−11∣10]\overline{A} = \begin{bmatrix}1&1&1&|&12\\1&-3&1&|&8\\1&-1&1&|&10\end{bmatrix} A=⎣⎡​111​1−3−1​111​∣∣∣​12810​⎦⎤​

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

[111∣121−31∣8000∣0]\begin{bmatrix}1&1&1&|&12\\1&-3&1&|&8\\0&0&0&|&0\end{bmatrix} ⎣⎡​110​1−30​110​∣∣∣​1280​⎦⎤​

可以看到其中第三行r3r_3r3​可以由第一行r1r_1r1​和第二行r2r_2r2​线性表示,即12r1+12r2=r3\frac{1}{2}r_1 + \frac{1}{2}r_2 = r_321​r1​+21​r2​=r3​,所以真正决定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可能无解,也可能存在唯一解(当增广矩阵 A‾\overline{A}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)}")

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK