Lec 12 · 图、网络与关联矩阵

摘要
第12讲的主题是 图、网络与关联矩阵 (Graphs, Networks, Incidence Matrices)。这是非常美妙的一课,核心知识主要是三个模块:
- 关联矩阵:课上的核心,基于图定义,行对应边、列对应节点,用1和-1表示边的方向。它是抽象空间理论与具体物理应用间的桥梁。
- 核心洞察:环路 vs. 线性相关:图中的一个“环路”,会直接导致关联矩阵中对应的行向量线性相关。线性代数的“线性相关”在拓扑结构中找到了完美的对应。
- 欧拉公式 (Euler's Formula):一个极优雅的公式被揭示:
#loops = #edges - (#nodes - 1)。它连接了图的几何(环路数)与矩阵的秩(#nodes - 1),是理解图结构的关键。
把一张图变成矩阵
想象你手里拿着一张地铁线路图,上面有车站(节点)和连接车站的轨道(边),轨道上还画着指示列车运行方向的箭头。我们现在要做的事情,就是把这幅图,翻译成一个 Excel 表格(矩阵)。
这个矩阵,Strang 教授称之为关联矩阵 (Incidence Matrix)。
翻译规则 (The Rules)
对于一个有向图:
- 节点 (Nodes):是我们的列,假设有 个。
- 边 (Edges):是我们的行,假设有 条。
- 箭头 (Direction):决定了这一行里的数字是 -1 还是 +1。
连通图与非连通图
连通性:对于一个图,如果从任意一个节点出发,你都能沿着边(不管边的方向)走到任意另一个节点,那么这个图就是连通图 (Connected Graph)。
图示非常容易理解:

非常具体的规则:
我们一行一行地看。对于第 条边,如果它从节点 出发,指向节点 :
- 在矩阵的第 行,第 列的位置写上 -1。
- 在矩阵的第 行,第 列的位置写上 +1。
- 这一行其他的位置,全部写 0。
也就是:流入记作 ,流出记作 。

完成
每一行,都是由一个“-1”,一个“+1”和一堆“0”组成的。
图的结构如何决定矩阵的秩
我们的研究对象依然是上一节构建的那个 的关联矩阵 。这一节的关键问题是:
- 的零空间是什么样子?维度是多少?
- 的秩是多少?
- 的列之间有什么关系?
零空间 :解 的图论意义
我们从 这个方程入手。上一节我们展示了 的结果是一个向量,它的每个分量都代表一条边上“终点值减起点值”。
那么,令 意味着什么?
- 数学上:所有边上的 。
- 图论上:对于图中的任何一条边,其两端节点的 值都必须相等。
现在,我们给图加上一个至关重要的条件:连通性。一个图是连通的,意味着从任意一个节点出发,都能沿着某些边走到任何其他节点。
- 推论:如果图是连通的,那么 会强压所有节点的 值都必须彼此相等。
- 结论:整个解集就是 ,其中 是任意常数。
因此,对于连通图:
- 零空间 的基:只有一个向量,即全1向量 。
- 零空间维数:。
这立刻就给出了矩阵的秩:
核心结论:只要图是连通的,无论边有多少,关联矩阵的秩永远等于节点数减1。
列空间 :列向量的线性相关与基
关联矩阵 的列,对应着图中的节点。我们来看看这些列之间有什么关系。
-
列之间的线性相关:把矩阵 的所有列加起来,会发生什么?由于每一行都是“-1, +1, 0...”的形式,把这一行的所有列元素加起来,结果总是 。这就意味着:
这是一组非零系数(全为1),使得列的线性组合为零向量。这完美地证明了 的所有列是线性相关的。这个相关关系,正是由零空间的全1向量所描述的。
-
如何得到列空间的一组基? 既然所有列加起来等于零,那么任意一列都可以被其他列线性表示。例如:
如果我们扔掉任意一列,剩下的 个列向量会是什么关系? 答案是:它们是线性无关的。因为在连通图中,你无法再将这 个节点对应的列组合出零向量了。 因此,列空间 的一组基就是这 个列向量,它的维数是 ,与秩一致。
验证
拿回我们上一节的三角形图(3个节点,3条边,连通),它的关联矩阵是:
- 秩:。这个 矩阵的行列式是 0(每一行的元素和为 0,所以全 1 向量属于零空间),但存在非零的 子式,例如前两行和前两列组成的子阵,因此秩确为 2。
- 零空间:解 ,可得 。基是 ,维数=1。
- 列空间:把三列加起来,结果是 。任意扔掉一列,比如保留前两列 ,它们是线性无关的,构成列空间的一组基。
环的引入不改变秩
注意,我们三角形图有3条边,形成了一个环路。这个环路的出现,增加了矩阵的行,却没有改变矩阵的秩。秩依然是由节点数和连通性决定的()。 这告诉我们一个非常重要的洞见:
- 节点和连通性:决定了秩(和列空间/零空间)。
- 环路:增加了行向量之间的线性相关关系,但不增加秩。
完成
这一节的核心已经清楚:连通图的关联矩阵,其核心代数结构(零空间和秩)完全由节点数决定,秩 = n-1,零空间由全1向量张成。
树与环
上一节我们由图的结构(连通性)确定了关联矩阵 的秩是 。这意味着,无论图中有多少条边 ,这个 矩阵里最多只有 行是线性无关的。这一节要回答的核心问题是:
哪些边对应的行向量是“骨干”,哪些边对应的行向量是“冗余”? 答案藏在 树 (Tree) 这个概念里。
1. 什么是树?(The Tree)
在图论中,树 是一个非常核心的概念。它是图的一种,满足以下几个等价条件:
- 它是连通的,并且没有环路 (No Loops)。
- 它连接了所有 个节点,并且恰好有 条边。
例子:还是拿那个三角形图来说。它有3个节点,如果我们从中删除任意一条边,剩下的结构就是一棵树。这就是原图的一棵 生成树 (Spanning Tree)。

2. 树 = 独立行
在关联矩阵 中,任何一棵生成树的边所对应的行向量,都是线性无关的。
为什么?
- 一棵树有 条边,这对应着矩阵中的 行。
- 我们已知矩阵的秩是 。所以,矩阵中任何一组 个线性无关的行,就是行空间的一组基。
结论:生成树的边 行空间的一组基。
3. 环(Loop)= 线性相关
有了树作为标尺,环路的代数意义就无比清晰了。
在一个连通图中,任意一条不在生成树上的边,都会被“激活”一个环路。
比如,我们先选好一棵树。然后,把一条不在树里的边(称为“弦”, chord)加回去,就会形成一个唯一的环路(这个环路只包含这条弦和树中的一部分边)。
这个环路,在矩阵里就对应着这几个行向量的一个线性相关关系。
举个例子,回到三角形图 。
它的三行是:边1,边2,边3。 我们选边1和边2作为树(它们连通1-2和2-3,没有环)。 观察这三行,你能立刻发现:
即:
行3(构成环路的最后一条边)毫无悬念地被行1和行2(树边)线性表出了。
完成
这就是“冗余”的来源:一个环,就是一个线性相关关系。 添加一条边形成环,等价于在矩阵中添加一个可以被已有行线性表出的冗余行。
欧拉公式
在前面两节,我们已经分别从“图”和“矩阵”两个角度理解了同一个结构:
- 第2节(图 → 代数):对于连通图,关联矩阵 的秩 。
- 第3节(代数 → 图):“树”是独立行的来源(行空间基),“环”是冗余行的来源(行向量间的相关关系)。
三个关键量
对于一个连通图:
- :节点数
- :边数
- :关联矩阵 的秩
我们已经知道:
- 是一个 的矩阵,每一行对应一条边。
- 由第2节:。
环的代数定义
思考一个问题:图中有多少个独立的环路?
从矩阵的视角,这完全等价于问:行向量组里,有多少个线性相关的关系?
说明
我们知道:
- 矩阵总共有 行。
- 其中,最大线性无关组的行数是 。(这就是树边的个数)
- 剩下的 行,就是“冗余”的行。(这就是加回树后形成环的边)
相对于一棵选定的生成树,每加回一条弦,就增加一个独立的线性相关关系。我们在 第 3 节 看到,每个这样的独立关系,恰好对应一个基本环路。
因此,独立环路的个数 就等于冗余行的个数:
代入 ,欧拉公式诞生
把第2节的核心结论 代入上式:
这就是图论中经典的欧拉公式(对于平面图,它连接了顶点、边和面的数量;对于一般连通图,它定义了环路空间的维数)。
用我们的三角形连通图例子验证
三角形图:,。
- 秩 。
- 环路数 。
- 确实,三角形有且只有1个独立的环路(整个大环)。
如果把图变复杂一点,比如一个四边形加一条对角线:,。
- 秩 。
- 环路数 。
- 你可以直观验证,图里确实有两个独立的小环(两个三角形)。
它把三个看似独立的概念,拧在了一根绳上:
- 欧拉公式:
- 线性代数维度公式:(我们下一节会讲)
- 图的拓扑性质:连通图的“环空间”维数 = 边数 - 秩
完成
Strang 教授:线性代数的结构(秩)与图论的结构(树、环、连通性)是同一种东西的不同语言。
左零空间
我们先回顾一下四个基本子空间的“全家福”。对于一个 的关联矩阵 :
-
行空间 和 零空间 在 (节点空间)中。
-
列空间 和 左零空间 在 (边空间)中。
这一节,我们把目光聚焦在边空间里的 左零空间。它的定义是:所有满足 的向量 的集合。这里的 是一个 维列向量,每条边对应一个分量。
方程 的物理翻译
我们把 这个抽象的方程展开,看看它对每一个节点说了什么。
回忆一下关联矩阵 的结构:它的每一行对应一条边,每一列对应一个节点。所以,转置 的行对应节点,列对应边。
方程 是一个有 个方程(每节点一个)的方程组。对于任意一个节点 ,对应的方程是:
根据关联矩阵的构造规则, 就是边 在节点 上的值:
- 如果边 指向节点 ,则值为 。
- 如果边 从节点 出发,则值为 。
- 如果边 不连接节点 ,则值为 。
所以,对于节点 ,这个方程就是:
换句话说,流入节点 的总量 等于 流出节点 的总量。
如果把 向量理解为在“边”上流动的某种“流”(比如电流、水流、车流),那么这个方程就是物理学中最基本的守恒律:基尔霍夫电流定律 (KCL)——在任何节点,净流量为零,物质或电荷不会凭空产生或消失。

左零空间的基
既然 描述了守恒律,那么它的解集(左零空间)就描述了所有能够满足 KCL 的“流”的分布模式。
这个空间的维数是多少?由线性代数基本定理:
其中 。对于连通图,。 所以:
左零空间的维数,恰好等于图中独立环路的个数 。 这和欧拉公式完美呼应。
那么,左零空间的基是什么样子的?基向量要满足两个条件:
- 它们必须满足 (即 KCL)。
- 它们必须线性无关,且能张成整个左零空间。
构造方法(环流法): 图上的每一个独立环路,正好提供这样一个基向量。构造规则是:
- 为图选定一棵生成树,然后每加回一条“弦”(不在树上的边),就形成一个唯一的独立环路。
- 对于这个环路,我们可以想象有一股大小为1的“流”绕着它循环流动。
- 顺着环路设定一个方向。如果某条边与这个方向一致,则 ;若相反,则 ;不在环路上的边,。
- 这样构造出的向量,自动满足 KCL(因为环流在任何一个节点都是一进一出,互相抵消),因此属于左零空间。并且,所有独立环路对应的这些向量构成了左零空间的一组基。
完成
这一节的核心结论是:
- 方程:
- 物理意义:基尔霍夫电流定律 (KCL),即流量守恒。
- 维数:独立环路的个数 。
- 基向量:每个独立环路对应的“环流”。