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