最近正在学习 Gilbert Strang 的线性代数,发现图论中的很多结论也可以从线性代数的角度解释,非常神奇。这里简单介绍一下矩阵的列空间、行空间、零空间等与图论的关系。
对于一张有 $n$ 个点、$m$ 条边的有向图(我们假设 $m\ge n-1$),我们可以构造一个 $m\times n$ 的矩阵,称为关联矩阵(incidence matrix)。矩阵的每一行代表一条边,每一列代表一个点。设 $r_i$ 为矩阵的第 $i$ 行,$c_j$ 为矩阵的第 $j$ 列,$a_{i,j}$ 为矩阵第 $i$ 行第 $j$ 列的元素。如果第 $i$ 条边从点 $x$ 出发,指向点 $y$,那么令 $a_{i,x} = -1$,令 $a_{i,y} = 1$。
我们先把这张图假想为电路,来观察矩阵列空间的意义。我们知道,矩阵的列空间是矩阵里所有列向量线性组合获得的空间,可以表示为 $x_1c_1+x_2c_2+\dots+x_nc_n$。如果我们将 $x$ 看作每个点的电势,那么列空间里的向量代表的就是每一条边上的电势差。
再来看零空间。零空间就是使得列向量线性组合成零向量的所有 $x$ 组成的空间。“列向量线性组合成零向量”,就代表每一条边上的电势差都是 0。很显然,只有属于同一个连通块的每个点的电势都相等,每一条边上的电势差才能都是 0。设图中有 $k$ 个连通块,则零空间的维度是 $k$。这样,列空间的维度就是 $n-k$。
来看行空间。首先由于列空间的维度是 $n-k$,那么行空间的维度也是 $n-k$。也就是说,只有 $n-k$ 条边是“线性无关”的。这些边不会组成环,因为如果三条边 $u-v$,$v-w$,$w-u$ 组成了一个环,显然 $w-u$ 可以用 $(u-v)+(v-w)$ 再反向来表示。如果 $k=1$,我们就会发现:想要让 $n$ 个点互相连通,我们至少需要 $n-1$ 条边。这也从线性代数的角度解释了一棵树有 $n-1$ 条边的原因。
行空间可以表示为 $y_1r_1+y_2r_2+\dots+y_mr_m$,如果我们将 $y$ 看作每条边的电流大小,那么行空间里的向量代表的就是每个点电流的“收支情况”(流入量减去流出量)。另外,我们不难发现行空间的另一个性质:行空间里的向量每一维加起来的总和为 0。这看起来就像一个有源有汇的网络流模型:“收支平衡”的点是中间点,流入大于流出的点连向汇点,流出大于流入的点连向源点;而且,从源点流出的流量等于汇点吸收的流量。
最后来看左零空间(left nullspace)。左零空间里的向量,就是让所有点“收支平衡”的电流方案。我们知道,为了让每个点流量平衡,所有本质不同的环(不能通过其它环相互异或得到的环)都要流量平衡。而我们通过行空间的维度可以得知,左零空间的维度是 $m-(n-k) = m-n+k$,由此可以解释一个连通图中,本质不同的环只有 $n-m+1$ 个。