零空间
矩阵$A$的零空间就$Ax=0$的解的集合。假设矩阵的秩为$r$,矩阵为$m\times n$的矩阵,则零空间的维数为$n-r$。因为秩为$r$,则自由变量的个数为$n-r$,有几个自由变量,零空间就可以表示层几个特解的线性组合,也即是零空间的维数为自由变量的个数。
列空间
矩阵$A$的列空间就是矩阵$A$中各列的线性组合。假设矩阵的秩为$r$,矩阵为$m\times n$的矩阵,则列空间可以表示为$r$个主元的线性组合,即列空间的维数为$r$。
行空间
在线性代数中,我们一般习惯将矩阵看出是一组列向量的组合,matlab中矩阵的存储是按列存储的(c中不是)。因此,我们可以将矩阵$A$进行转置后来讨论行空间和左零空间。假设转置后的矩阵为$A^T$,则$A$的行空间就是$A^T$的列空间,$A$的左零空间为$A^T$的零空间。注意这里$A^T$为$n\times m$的矩阵,则此时行空间的维数为$r$。
左零空间
左零空间是$A^Tx=0$的解的集合。由于秩为$r$,则自由变量的个数为$m-r$,即左零空间的维数为$m-r$。
上面都是一些定理结果,下面来举例说明上述定理:
假设矩阵为$A$:
经过高斯消元得到行最简式$R$:
于是我们知道矩阵$A$的秩为$2$,则其列空间,行空间的维数都是$2$,零空间的维数为$4-2=2$,左零空间的维数为$3-2=1$。
很明显,矩阵$A$的列中,前两列是线性无关的,则其列空间可以由前两列来表示。同理,前两行是线性无关的,其行空间可以有前两行来表示。由于只有两个主元,则自由变量个数为$4-2=2$,所以零空间的特解有两个,零空间可以由这两个特解的线性组合来表示。由于左零空间可以看成是$A^Tx=0$的线性组合,则有:
我们知道初等行变换不改变矩阵的行空间,但可能改变其列空间(因为行变换是行向量的线性组合),并且消元过程可以表示如下:
我们可以看出,初等矩阵$E$的第三行与$A$相乘得到的是$0$向量即:
对比下式:
可以求得$x$的值:
这个$x$就是左零空间的基,因此左零空间的维数为$3-2=1$。