矩阵A的零空间就$Ax=0$的解的集合。
零空间的求法:对矩阵$A$进行消元求得主变量和自由变量;给自由变量赋值得到特解;对特解进行线性组合得到零空间。
假设矩阵如下:
对矩阵$A$进行高斯消元得到上三角矩阵$U$,继续化简得到最简矩阵$R$:
由于方程$Ax=0$的右侧是零向量,所以只对矩阵$A$进行消元不会影响解,因此不需要增广矩阵,所以有:
从上面的高斯消元的结果可以看出,矩阵$A$的秩为$2$,其中第$1$,$3$列为主元列,$2$,$4$列为自由列,对应于方程主来说,形式转变如下:
从上式可以看出,$x_2,x_4$是自由变量,我们可以随意赋值,$x_2=0, x_4=1$;$x_2=1,x_4=0$可以分别得到两个特解(几个自由变量就有几个特解):
然后我们将两组特解进行线性组合就得到了矩阵$A$的零空间:
上面我们从数值解的角度描述了矩阵零空间的求法,下面从公式角度分析:
上面我们经过消元(行变换,不改变行空间和零空间,只改变列空间)得到了最简形式$R$。我们将$R$经过列变换得到如下矩阵:
我们可以对方程式作如下变形:
$\bar R$是将$R$的第2,3列交换得到的,我们同样将$x$的2,3列交换得到$\bar x$, 这在方程式中可以表示为交换$x_2,x_3$,这样对解的结果没有影响,只是顺序交换了。
我们之所以进行上述变换,是为了有更好的表示形式(不进行列变换也行,但是要记住哪一列是单位矩阵I中的,哪一列是自由变量矩阵$F$中的):
这样我们代入方程式可以得到零空间矩阵:
从上面的推导可以看出,得到的零空间矩阵的每一列就是我们前面的特解(注意要变换顺序!交换第$2$,$3$行,结果便和前面相同)。因此,我们可以从通过消元法得到最简式$R$,然后就可以直接得到零空间矩阵,则零空间就是零空间矩阵各列向量的线性组合,而不需要像前面那样先给$x_2$,$x_4$赋值,然后回代到方程中得到两个特解,从而得到矩阵的零空间。
下面再举一例:
由于$R$本来就具有很好的形式,就不用进行列变换了:
于是通过解方程得到零空间矩阵:
注:最简矩阵$R$和零空间矩阵$x$在MATLAB中可以分别用命令rref(A)
,null(A,'r')
得到