章前回顾
由前章节 线代–子空间和维度 可知对于求解由 p p p个 n n n维向量 v ⃗ 1 , v ⃗ 2 , ⋯ , v ⃗ p \vec v_{1},\vec v_{2},\cdots ,\vec v_{p} v1,v2,⋯,vp生成的空间的维度问题,可以通过删去这一组向量中线性相关的向量后剩下的线性无关向量就是它们生成的空间的一组基,这组基包含的向量的个数就是生成的空间的维度。换句话说,给出一组 n n n维向量 v ⃗ 1 , v ⃗ 2 , ⋯ , v ⃗ p \vec v_{1},\vec v_{2},\cdots ,\vec v_{p} v1,v2,⋯,vp,要求出其生成的空间的维度,就得找出这组向量中有多少向量和其它向量是线性相关的,然后要把这些向量删除掉。
对于求一组向量生成的空间的维度这种问题,简单的如“求被向量 u ⃗ = ( 2 , 0 , 0 ) ; v ⃗ = ( − 1 , 0 , 0 ) ; w ⃗ = ( 0 , 0 , 1 ) \vec u = (2,0,0); \vec v = (-1,0,0); \vec w = (0,0,1) u=(2,0,0);v=(−1,0,0);w=(0,0,1)生成的空间的维度”可以简单通过肉眼进行判断出 u ⃗ \vec u u和 v ⃗ \vec v v是线性相关的,如果是对于更高维的向量,其实就很难通过肉眼判断向量间的线性相关了。其实对这类问题有更系统的解法
回忆"高斯-约旦"消元法,一个矩阵消元后的每一行其实就是原来矩阵各行的一个线性组合的结果。
通过高斯消元这种方式,可以很方便地根据行最简形式的全零行确定出可以由其它行向量的线性组合所表示的向量。
因此, 对于给出一组
n
n
n维向量
v
⃗
1
,
v
⃗
2
,
⋯
,
v
⃗
p
\vec v_{1},\vec v_{2},\cdots ,\vec v_{p}
v1,v2,⋯,vp,求它们生成的空间的维度,要求就是找到这组向量中有多少向量是和其它向量线性相关!
我们可以将这组向量按照行排列成一个矩阵
[
v
⃗
1
v
⃗
2
⋯
v
⃗
p
]
\begin{bmatrix}\vec v_{1} \\ \vec v_{2} \\ \cdots \\ \vec v_{p} \end{bmatrix}
v1v2⋯vp
然后执行高斯-约旦消元法 (化为
R
E
F
F
REFF
REFF)
最后得到的矩阵行最简形式中非零行的个数即为其生成空间的维度。
1、矩阵的行空间
对于一个矩阵,
- 由行向量生成的空间,称为 行空间 ( R o w S p a c e ) \color {red} {\small {行空间(Row \ Space)}} 行空间(Row Space);
- 由列向量生成的空间,称为 列空间 ( C o l u m n S p a c e ) \color {red} {\small {列空间(Column\ Space)}} 列空间(Column Space)。
1.1 矩阵的行空间维度
对于一个 m m m行 n n n列的矩阵, 行空间 ( R o w S p a c e ) \color {red} {\small {行空间(Row \ Space)}} 行空间(Row Space)是一个 n n n维空间的子集,因为每个行向量都是包含 n n n个实数的有序元组,这些向量本身属于一个 n n n维空间,由这些向量生成的空间也就是行空间只能是 n n n维空间的子集; 列空间则是一个 m m m维空间的子集。
具体求一个矩阵的
行空间
(
R
o
w
S
p
a
c
e
)
\color {red} {\small {行空间(Row \ Space)}}
行空间(Row Space)的维度
d
i
m
dim
dim,根据上面的"高斯-约旦消元法"对矩阵按行化简为矩阵最简形式后看非零行的数量,这个
R
E
F
F
REFF
REFF的非零行数量就是
行空间
(
R
o
w
S
p
a
c
e
)
\color {red} {\small {行空间(Row \ Space)}}
行空间(Row Space)的维度。其中关于一个矩阵的行最简形式的非零行数量还有另一个称呼叫做
行秩
(
R
o
w
R
a
n
k
)
\color {#bb3417} {\small {行秩(Row \ Rank)}}
行秩(Row Rank),秩一词的意思就是秩序的意思,对行最简形式的非零行进行排序,排序后的结果表示的就是矩阵行最简形式的非零行数量。
↑
↑
↑
\uparrow \uparrow \uparrow
↑↑↑这里阐述了矩阵的行秩和空间上的维度之间的联系。
↓
↓
↓
\downarrow \downarrow \downarrow
↓↓↓
需要注意维度和行秩两个概念的作用对象是不一样的:
对于空间来说,空间是有维度的,但是空间是没有行秩的,只有矩阵有行秩,但是矩阵是没有维度的。
1.2 矩阵的行空间的基
对于一个矩阵的行空间,将矩阵化为行最简形式( R E F F REFF REFF)后,其中矩阵行最简形式的非零行向量就是矩阵的行空间的一组基。
对于一开始由向量 u ⃗ , v ⃗ , w ⃗ \vec u \ , \vec v \ , \vec w u ,v ,w组成的矩阵 A A A的行空间来说,其实就是矩阵 A A A化简后的行最简形式 R R R的行空间,矩阵 A A A和矩阵 R R R这两个矩阵的行空间是完全一样的。证明: 矩阵 A A A和矩阵 R R R这两个矩阵的行空间是完全一样的
∵ \because ∵ 对于矩阵 A A A的行向量生成的行空间来说,这个空间的每一个向量都可以由矩阵 A A A的行向量的一个线性组合所表示。
又 ∵ \because ∵ 基于高斯消元法,从矩阵 A A A通过矩阵的基本行变换得到的矩阵 R R R中的每一行也是原来 A A A中各行的一个线性组合的结果。
∴ \therefore ∴ 矩阵 R R R中的每一行都是矩阵 A A A中的各行的线性组合,所以矩阵 R R R的行空间的所有向量可以由矩阵 A A A中的向量所表示。同时矩阵 A A A中的每个行向量也可以表示为矩阵 R R R中的各行的线性组合,所以矩阵 A A A的行空间的所有向量可以通过矩阵 R R R中的行向量进行表示。∴ \therefore ∴ 综上,矩阵 A A A的行空间和矩阵 R R R的行空间是完全一样的。所以 A A A的行空间的基就是 R R R的行空间的基, R R R的行空间的基就是 A A A的行空间的基。因为 R R R是 A A A的行最简形式,所以 R R R中的行向量已经是线性无关的,所以 R R R的行空间的基就是 R R R中的非零行向量。
因此,对于由向量
u
⃗
,
v
⃗
,
w
⃗
\vec u \ , \vec v \ , \vec w
u ,v ,w组成的矩阵的行空间
↑
↑
↑
\uparrow \uparrow \uparrow
↑↑↑,化为行最简形式后其中的非零行向量有
(
1
,
0
,
0
)
(1,0,0)
(1,0,0)和
(
0
,
0
,
1
)
(0,0,1)
(0,0,1)两个,所以矩阵的行空间维度为2,同时矩阵的行空间的一组基即为
(
1
,
0
,
0
)
(1,0,0)
(1,0,0)和
(
0
,
0
,
1
)
(0,0,1)
(0,0,1)。
2、矩阵的列空间
除了通过找出一组向量中线性相关向量进行删除的方式计算“被向量生成的空间”的维度这种方法。
另一种方法我们还可以直接计算一组向量是否线性无关:
对于求解这个齐次线性系统,把系数矩阵化为行最简形式为 r e f f ( A ) = [ 1 − 0.5 0 0 0 1 0 0 0 ] reff(A) = \begin{bmatrix} 1&-0.5&0 \\ 0&0&1 \\ 0&0&0\end{bmatrix} reff(A)= 100−0.500010 ,可以看到这个行最简形式中只包含两个主元列(pivot),也就是 r e f f reff reff矩阵的第1列和第3列,还包含有一个 自由列第 2 列 \color {#70ad47} {\small {自由列第2列}} 自由列第2列,在 自由列 \color {#70ad47} {\small {自由列}} 自由列上的未知数可以取任意实数,所以这个齐次线性系统存在无穷解,所以不存在唯一零解使得 k 1 u ⃗ + k 2 v ⃗ + k 3 w ⃗ = 0 k_{1}\vec u + k_{2}\vec v + k_{3}\vec w =0 k1u+k2v+k3w=0,因此这三个向量是线性相关的。
进一步分析,可以发现系数矩阵的行最简形式中,自由列的个数,其实就是可以表示为其它向量线性组合的向量的个数,如这里就表示为 1 ⋅ u ⃗ = − 0.5 ⋅ v ⃗ 1 \cdot \vec u = -0.5 \cdot \vec v 1⋅u=−0.5⋅v; 然后主元列的个数,就是线性无关的向量的个数,也是这个3个向量所生成的空间的维度。
这种方式其实就是把向量按列的方式排列成矩阵,转而研究矩阵的列空间,将矩阵化为行最简形式后其中主元列的个数,就是列空间的维度,也称为 列秩 ( C o l u m n R a n k ) \color {#bb3417} {\small {列秩(Column \ Rank)}} 列秩(Column Rank)。在列向量空间中,原矩阵化为行最简形式后主元列对于的原矩阵的列,才是列空间的一组基,这些主元列本身不是列空间的一组基,如上示例的向量按列排列得到的矩阵化为行最简形式后主元列为第一和第三列,那么列空间的基应是原矩阵中的向量 ( 2 , 0 , 0 ) (2,0,0) (2,0,0)和 ( 0 , 0 , 1 ) (0,0,1) (0,0,1),并不是矩阵行最简形式中的 ( 1 , 0 , 0 ) (1,0,0) (1,0,0)和 ( 0 , 1 , 0 ) (0,1,0) (0,1,0)。
注意: 从列向量构成的矩阵化成行最简形式的过程还是通过矩阵的基本行变换操作实现, 化简过程的操作对象是矩阵的一行,对于矩阵列空间来说研究的元素对象是应是矩阵中的列向量,而这里矩阵行变换涉及的操作元素不是我们研究的列向量, 这种操作而是对一个我们研究的列向量内部的实数元素进行了运算,所以最后得到的矩阵行最简形式中的每个列向量所表达的意义与变换前矩阵中的列向量是不一样的, 可以说矩阵行最简形式中的每个列向量是无义的, 因此不能作为列向量空间的基。 \color {grey} {\small {从列向量构成的矩阵化成行最简形式的过程还是通过矩阵的基本行变换操作实现, \\ 化简过程的操作对象是矩阵的一行,对于矩阵列空间来说研究的元素对象是应是矩阵中的列向量,而这里矩阵行变换涉及的操作元素不是我们研究的列向量, \\ 这种操作而是对一个我们研究的列向量内部的实数元素进行了运算,所以最后得到的矩阵行最简形式中的每个列向量所表达的意义与变换前矩阵中的列向量是不一样的, \\ 可以说矩阵行最简形式中的每个列向量是无义的, \\ 因此不能作为列向量空间的基。}} 从列向量构成的矩阵化成行最简形式的过程还是通过矩阵的基本行变换操作实现,化简过程的操作对象是矩阵的一行,对于矩阵列空间来说研究的元素对象是应是矩阵中的列向量,而这里矩阵行变换涉及的操作元素不是我们研究的列向量,这种操作而是对一个我们研究的列向量内部的实数元素进行了运算,所以最后得到的矩阵行最简形式中的每个列向量所表达的意义与变换前矩阵中的列向量是不一样的,可以说矩阵行最简形式中的每个列向量是无义的,因此不能作为列向量空间的基。
综上,矩阵的列向量构成的列空间分析中,化矩阵为行最简形式后有用的信息主要是关于主元的,其中主元的数量等于列空间的维度,主元所在的列号可以对于原矩阵取出列向量生成空间的基。