Processing math: 100%
0%

【线性代数】矩阵的四个基本子空间

零空间

矩阵A的零空间就Ax=0的解的集合。假设矩阵的秩为r,矩阵为m×n的矩阵,则零空间的维数为nr。因为秩为r,则自由变量的个数为nr,有几个自由变量,零空间就可以表示层几个特解的线性组合,也即是零空间的维数为自由变量的个数。


列空间

矩阵A的列空间就是矩阵A中各列的线性组合。假设矩阵的秩为r,矩阵为m×n的矩阵,则列空间可以表示为r个主元的线性组合,即列空间的维数为r


行空间

在线性代数中,我们一般习惯将矩阵看出是一组列向量的组合,matlab中矩阵的存储是按列存储的(c中不是)。因此,我们可以将矩阵A进行转置后来讨论行空间和左零空间。假设转置后的矩阵为AT,则A的行空间就是AT的列空间,A的左零空间为AT的零空间。注意这里ATn×m的矩阵,则此时行空间的维数为r


左零空间

左零空间是ATx=0的解的集合。由于秩为r,则自由变量的个数为mr,即左零空间的维数为mr

上面都是一些定理结果,下面来举例说明上述定理:

假设矩阵为A:

A=[123111211231]

经过高斯消元得到行最简式R:

A=[123111211231]R=[101101100000]

于是我们知道矩阵A的秩为2,则其列空间,行空间的维数都是2,零空间的维数为42=2,左零空间的维数为32=1

很明显,矩阵A的列中,前两列是线性无关的,则其列空间可以由前两列来表示。同理,前两行是线性无关的,其行空间可以有前两行来表示。由于只有两个主元,则自由变量个数为42=2,所以零空间的特解有两个,零空间可以由这两个特解的线性组合来表示。由于左零空间可以看成是ATx=0的线性组合,则有:

ATx=0(ATx)T=0TxTA=0

我们知道初等行变换不改变矩阵的行空间,但可能改变其列空间(因为行变换是行向量的线性组合),并且消元过程可以表示如下:

EA=R[120110101]E[123111211231]A=[101101100000]R

我们可以看出,初等矩阵E的第三行与A相乘得到的是0向量即:

[101][123111211231]=[0000]

对比下式:

xTA=0

可以求得x的值:

x=[101]

这个x就是左零空间的基,因此左零空间的维数为32=1

坚持原创技术分享,您的支持将鼓励我继续创作!