构成向量空间(vector space)的条件是向量空间内的任意向量经过线性运算(数乘和相加)得到的向量仍然在该空间中。也就是说向量空间对线性运算封闭。
一个矩阵A的列向量的线性组合形成列空间(column space)。例如一个4X3矩阵的列空间应该是该矩阵3个列向量的线性组合。该矩阵的列向量是4维的,如果该矩阵的3个列向量是线性无关的,那么这三个列向量线性组合形成的列空间应该是R4 vertor space中的一个3维的subspace。
为何要引入列空间?因为可以回答Ax=b这个线性方程组是否有解这个问题。
也就是说,如果vector b位于矩阵A的列空间内,那么方程有解。
什么是NULL space?Ax=0这个线性方程组的所有的解向量组成的向量空间就是NULL space。如果A是一个4X3矩阵,那么解向量是一个3维的向量,因此NULL space应该是R3的一个subspace。
OK,了解了什么是NULL space,那么下一个问题是:NULL space中有什么样的vector?这个问题等同于解AX=0这个线性方程组,如何解这个方程组是和矩阵A的特性有关。假设矩阵A是一个mxn的矩阵(m个方程,n个未知量),假设该矩阵的rank是r。
所谓矩阵的rank就是线性无关方程的个数。虽然有m个方程,但是只有r个方程是对计算有贡献的,其他的方程毫无意义,可以由线性无关的r个方程进行线性组合得到。
这样n个未知量中,有n-r个是自由变量,也就是说随便取值,假设n=4,r=2,那么可以选择(a1,a2,0,1)和(b1,b2,1,0)这两个向量,带入方程可以得到a1、a2、b1、b2的具体值,这样我们就得到了方程的两个特解。这个特解的线性组合就是AX=0的NULL SPACE。