一个矩阵的行数和列数可能不同,为什么它的行秩和列秩始终相同
flyfish
通俗理解矩阵的秩
通俗理解低秩分解
Python 将矩阵转换为行最简形式 (Row Echelon Form, REF)和列最简形式 (Column Echelon Form, CEF)
线性无关 :一组向量是线性无关的,意味着其中的任何一个向量都不能通过其他向量的线性组合得到。因此,矩阵的秩反映了有多少行或列是独立的,不能用其他行或列的线性组合表示。
计算行秩 和列秩 的步骤,背后的原理是基于线性代数中的初等变换 ,具体来说,就是通过行变换 和列变换 来简化矩阵,找到矩阵中线性无关 的行和列。
初等行变换可以是如下操作:
交换行:交换矩阵中的两行。
将某行乘以非零常数 :不会改变行的独立性。
将某行加上另一行的倍数
矩阵的秩 表示矩阵中“线性无关”行或列的最大数量,也就是该矩阵能够提供多少“独立的信息”。
下面的简化过程可以叫高斯消元法
高斯消元法的核心思想是通过初等行变换(例如交换行、给某行乘以一个非零常数、给一行加上另一行的倍数),逐步将矩阵的下三角部分化为零,最后得到一个上三角矩阵或阶梯形矩阵。
这个方法的目标是让矩阵变成一种上三角形式,即矩阵的下方部分为零,而上方部分则保留了非零元素,这种形式让我们可以清晰地看到矩阵中的线性无关行。
假设矩阵 A A A 为: A = ( 1 2 3 4 5 6 ) A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \\ 5 & 6 \end{pmatrix} A= 135246
一、 计算行秩
使用初等行变换将矩阵简化** 行秩可以通过将矩阵化为行简化阶梯形矩阵 (也叫行最简形式 )来计算。在这个过程中,我们使用初等行变换使得矩阵尽可能接近上三角形结构,最后得到的矩阵非零行的数量就是行秩。
行最简形式 (Row Echelon Form, REF)
通过初等行变换将矩阵化为行最简形式。给定矩阵:
A
=
[
1
2
3
4
5
6
]
A = \begin{bmatrix} 1 & 2 \\ 3 & 4 \\ 5 & 6 \end{bmatrix}
A=
135246
步骤 1:保持第一个主元 1 不变,消去其他行的第一列元素。
使用第一行的主元 1
,消去第二行的第一个元素 3
:
R
2
=
R
2
−
3
×
R
1
R_2 = R_2 - 3 \times R_1
R2=R2−3×R1
计算:
[
3
4
]
−
3
×
[
1
2
]
=
[
3
4
]
−
[
3
6
]
=
[
0
−
2
]
\begin{bmatrix} 3 & 4 \end{bmatrix} - 3 \times \begin{bmatrix} 1 & 2 \end{bmatrix} = \begin{bmatrix} 3 & 4 \end{bmatrix} - \begin{bmatrix} 3 & 6 \end{bmatrix} = \begin{bmatrix} 0 & -2 \end{bmatrix}
[34]−3×[12]=[34]−[36]=[0−2]
使用第一行的主元 1
,消去第三行的第一个元素 5
:
R
3
=
R
3
−
5
×
R
1
R_3 = R_3 - 5 \times R_1
R3=R3−5×R1
计算:
[
5
6
]
−
5
×
[
1
2
]
=
[
5
6
]
−
[
5
10
]
=
[
0
−
4
]
\begin{bmatrix} 5 & 6 \end{bmatrix} - 5 \times \begin{bmatrix} 1 & 2 \end{bmatrix} = \begin{bmatrix} 5 & 6 \end{bmatrix} - \begin{bmatrix} 5 & 10 \end{bmatrix} = \begin{bmatrix} 0 & -4 \end{bmatrix}
[56]−5×[12]=[56]−[510]=[0−4]
此时,矩阵变为:
[
1
2
0
−
2
0
−
4
]
\begin{bmatrix} 1 & 2 \\ 0 & -2 \\ 0 & -4 \end{bmatrix}
1002−2−4
步骤 2:将第二行的主元 -2
变为 1
。通过将第二行除以 -2
:
R
2
=
1
−
2
×
R
2
=
[
0
1
]
R_2 = \frac{1}{-2} \times R_2 = \begin{bmatrix} 0 & 1 \end{bmatrix}
R2=−21×R2=[01]
此时,矩阵变为:
[
1
2
0
1
0
−
4
]
\begin{bmatrix} 1 & 2 \\ 0 & 1 \\ 0 & -4 \end{bmatrix}
10021−4
步骤 3:消去第三行的第二个元素 -4
。通过使用第二行的主元 1
来消去第三行的第二列的 -4
:
R
3
=
R
3
+
4
×
R
2
R_3 = R_3 + 4 \times R_2
R3=R3+4×R2
计算:
[
0
−
4
]
+
4
×
[
0
1
]
=
[
0
−
4
]
+
[
0
4
]
=
[
0
0
]
\begin{bmatrix} 0 & -4 \end{bmatrix} + 4 \times \begin{bmatrix} 0 & 1 \end{bmatrix} = \begin{bmatrix} 0 & -4 \end{bmatrix} + \begin{bmatrix} 0 & 4 \end{bmatrix} = \begin{bmatrix} 0 & 0 \end{bmatrix}
[0−4]+4×[01]=[0−4]+[04]=[00]
此时,矩阵变为:
[
1
2
0
1
0
0
]
\begin{bmatrix} 1 & 2 \\ 0 & 1 \\ 0 & 0 \end{bmatrix}
100210
步骤 4:消去第一行的第二个元素 2
。通过使用第二行的主元 1
来消去第一行的第二列的 2
:
R
1
=
R
1
−
2
×
R
2
R_1 = R_1 - 2 \times R_2
R1=R1−2×R2
计算:
[
1
2
]
−
2
×
[
0
1
]
=
[
1
2
]
−
[
0
2
]
=
[
1
0
]
\begin{bmatrix} 1 & 2 \end{bmatrix} - 2 \times \begin{bmatrix} 0 & 1 \end{bmatrix} = \begin{bmatrix} 1 & 2 \end{bmatrix} - \begin{bmatrix} 0 & 2 \end{bmatrix} = \begin{bmatrix} 1 & 0 \end{bmatrix}
[12]−2×[01]=[12]−[02]=[10]
最终的行最简形式为:
REF
=
[
1
0
0
1
0
0
]
\text{REF} = \begin{bmatrix} 1 & 0 \\ 0 & 1 \\ 0 & 0 \end{bmatrix}
REF=
100010
结果:
行简化阶梯形矩阵中有 2 行非零行,所以矩阵的行秩为 2 。
二 、计算列秩
使用初等列变换将矩阵简化
计算列秩。我们通过列变换将矩阵化为 列简化阶梯形矩阵 ,最后非零列的数量就是列秩。
列最简形式 (Column Echelon Form, CEF)
为了得到列最简形式,先对矩阵进行转置,再进行行化简,最后转置回来。
给定矩阵:
A
=
[
1
2
3
4
5
6
]
A = \begin{bmatrix} 1 & 2 \\ 3 & 4 \\ 5 & 6 \end{bmatrix}
A=
135246
步骤 1:转置矩阵。
矩阵转置为:
A
T
=
[
1
3
5
2
4
6
]
A^T = \begin{bmatrix} 1 & 3 & 5 \\ 2 & 4 & 6 \end{bmatrix}
AT=[123456]
步骤 2:对转置矩阵
A
T
A^T
AT 进行行化简。
使用第一行的主元 1
消去第二行的第一列的 2
:
R
2
=
R
2
−
2
×
R
1
R_2 = R_2 - 2 \times R_1
R2=R2−2×R1
计算:
[
2
4
6
]
−
2
×
[
1
3
5
]
=
[
2
4
6
]
−
[
2
6
10
]
=
[
0
−
2
−
4
]
\begin{bmatrix} 2 & 4 & 6 \end{bmatrix} - 2 \times \begin{bmatrix} 1 & 3 & 5 \end{bmatrix} = \begin{bmatrix} 2 & 4 & 6 \end{bmatrix} - \begin{bmatrix} 2 & 6 & 10 \end{bmatrix} = \begin{bmatrix} 0 & -2 & -4 \end{bmatrix}
[246]−2×[135]=[246]−[2610]=[0−2−4]
将第二行的主元 -2
变为 1
:
R
2
=
1
−
2
×
[
0
−
2
−
4
]
=
[
0
1
2
]
R_2 = \frac{1}{-2} \times \begin{bmatrix} 0 & -2 & -4 \end{bmatrix} = \begin{bmatrix} 0 & 1 & 2 \end{bmatrix}
R2=−21×[0−2−4]=[012]
- 使用第二行的主元
1
消去第一行的第二个元素3
: R 1 = R 1 − 3 × R 2 R_1 = R_1 - 3 \times R_2 R1=R1−3×R2
计算:
[
1
3
5
]
−
3
×
[
0
1
2
]
=
[
1
3
5
]
−
[
0
3
6
]
=
[
1
0
−
1
]
\begin{bmatrix} 1 & 3 & 5 \end{bmatrix} - 3 \times \begin{bmatrix} 0 & 1 & 2 \end{bmatrix} = \begin{bmatrix} 1 & 3 & 5 \end{bmatrix} - \begin{bmatrix} 0 & 3 & 6 \end{bmatrix} = \begin{bmatrix} 1 & 0 & -1 \end{bmatrix}
[135]−3×[012]=[135]−[036]=[10−1]
行化简后,矩阵变为:
[
1
0
−
1
0
1
2
]
\begin{bmatrix} 1 & 0 & -1 \\ 0 & 1 & 2 \end{bmatrix}
[1001−12]
步骤 3:转置回去。
转置后得到矩阵的列最简形式为:
CEF
=
[
1
0
0
1
−
1
2
]
\text{CEF} = \begin{bmatrix} 1 & 0 \\ 0 & 1 \\ -1 & 2 \end{bmatrix}
CEF=
10−1012
结果:
列简化阶梯形矩阵中有 2 列非零列,所以矩阵的列秩为 2 。
经过行简化和列简化,发现无论是行秩 还是列秩 ,这个 3 × 2 3 \times 2 3×2 的矩阵的秩都是 2 。行秩和列秩相等,行简化和列简化后的矩阵都有 2 个线性无关的行或列,这就是矩阵的秩。
通过初等行变换 和初等列变换 ,化简矩阵,识别出线性无关的行和列。
行秩 :矩阵的行秩是指矩阵中线性无关的行向量的最大数量。
列秩 :矩阵的列秩是指矩阵中线性无关的列向量的最大数量。
行秩: 通过行简化阶梯形矩阵确定非零行的数量。
列秩: 通过列简化阶梯形矩阵确定非零列的数量。