当一个无向图有
c
c
c 个连通分量时,拉普拉斯矩阵
L
\mathbf{L}
L 将恰好有
c
c
c 个 0 特征值。
这是因为每个连通分量
都可以独立地看作是一个较小的完全连通子图
,在这个子图中我们可以找到一个特征向量,使得该向量在子图内所有节点上取相同的非零值,在其他连通分量中的节点上取 0 值。这样的特征向量对应于特征值 0。
具体来说,如果图 G G G 由 c c c 个连通分量组成,那么对于每一个连通分量 C i C_i Ci,我们都可以构造一个特征向量 v i \mathbf{v}_i vi,其中:
- 如果节点属于 C i C_i Ci,则 v i \mathbf{v}_i vi 在这些节点上的值是相同的(通常取 1)。
- 如果节点不属于 C i C_i Ci,则 v i \mathbf{v}_i vi 在这些节点上的值为 0。
这样的特征向量 v i \mathbf{v}_i vi 满足 L v i = 0 \mathbf{L}\mathbf{v}_i = 0 Lvi=0,即 v i \mathbf{v}_i vi 是 L \mathbf{L} L 的一个特征向量,对应的特征值为 0。
具体例子
考虑一个简单的图,它由两个不相连的三角形组成,因此有两个连通分量。假设这两个三角形的顶点分别标记为 A , B , C A, B, C A,B,C 和 D , E , F D, E, F D,E,F。图可以表示为:
- 三角形 1: A − B , B − C , C − A A - B, B - C, C - A A−B,B−C,C−A
- 三角形 2: D − E , E − F , F − D D - E, E - F, F - D D−E,E−F,F−D
邻接矩阵 S S S 可以写成如下形式(忽略自环):
S = ( 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 ) S = \begin{pmatrix} 0 & 1 & 1 & 0 & 0 & 0 \\ 1 & 0 & 1 & 0 & 0 & 0 \\ 1 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 1 & 0 & 1 \\ 0 & 0 & 0 & 1 & 1 & 0 \end{pmatrix} S= 011000101000110000000011000101000110
计算度矩阵 D D D:
D = diag ( 2 , 2 , 2 , 2 , 2 , 2 ) D = \text{diag}(2, 2, 2, 2, 2, 2) D=diag(2,2,2,2,2,2)
然后计算拉普拉斯矩阵 L = D − S L = D - S L=D−S:
L = ( 2 − 1 − 1 0 0 0 − 1 2 − 1 0 0 0 − 1 − 1 2 0 0 0 0 0 0 2 − 1 − 1 0 0 0 − 1 2 − 1 0 0 0 − 1 − 1 2 ) L = \begin{pmatrix} 2 & -1 & -1 & 0 & 0 & 0 \\ -1 & 2 & -1 & 0 & 0 & 0 \\ -1 & -1 & 2 & 0 & 0 & 0 \\ 0 & 0 & 0 & 2 & -1 & -1 \\ 0 & 0 & 0 & -1 & 2 & -1 \\ 0 & 0 & 0 & -1 & -1 & 2 \end{pmatrix} L= 2−1−1000−12−1000−1−120000002−1−1000−12−1000−1−12
对于这个
L
L
L,我们可以找到两个线性无关
的特征向量,它们分别对应于两个连通分量,并且都对应特征值 0:
- 第一个特征向量 v 1 = ( 1 , 1 , 1 , 0 , 0 , 0 ) \mathbf{v}_1 = (1, 1, 1, 0, 0, 0) v1=(1,1,1,0,0,0) 对应于第一个三角形。
- 第二个特征向量 v 2 = ( 0 , 0 , 0 , 1 , 1 , 1 ) \mathbf{v}_2 = (0, 0, 0, 1, 1, 1) v2=(0,0,0,1,1,1) 对应于第二个三角形。
这两个特征向量表明
L
L
L 有两个 0 特征值
,这与图中有两个连通分量的事实相符。