有效电阻是电磁学电路问题中的基本概念,在图论中亦有这重要地位。
引入
对于一个电阻网络中的两个点 u , v u,v u , v ,由欧姆定律,这两个点之间的有效电阻定义为:电流 I I I 从 u u u 注入,并全部从 v v v 流出时,两点的电势差与 I I I 的比值。即:
R ( u , v ) = U ( u , v ) I R(u,v)=\dfrac{U(u,v)}{I}
R ( u , v ) = I U ( u , v )
其中 R ( u , v ) R(u,v) R ( u , v ) 表示 u , v u,v u , v 间的有效电阻,U ( u , v ) U(u,v) U ( u , v ) 表示 u , v u,v u , v 间的电势差。
本文将用矩阵与图论的语言推导一般电阻网络中两点间有效电阻的表达式。
记号与规定
本文中的图若无特殊说明都是有限的无向简单连通图 。并且对于一个图 G = ( V , E ) G=(V,E) G = ( V , E ) ,顶点编号都默认从 1 1 1 到 ∣ V ∣ |V| ∣ V ∣ ,而边的编号都默认从 1 1 1 到 ∣ E ∣ |E| ∣ E ∣ 。
本文中的向量均用粗体表示,且默认都是列向量,而对应下标的元素的值用非粗体字母加上括号下标的方式表示。如:对于向量 v ∈ R n \bm{v}\in \mathbb R^n v ∈ R n ,其表示为:v = ( v ( 1 ) , v ( 2 ) , … , v ( n ) ) T \bm{v}=(v(1),v(2),\ldots,v(n))^T v = ( v ( 1 ) , v ( 2 ) , … , v ( n ) ) T 。用 ∣ v ∣ = v T ⋅ v |\bm{v}|=\sqrt{\bm{v}^T\cdot \bm{v}} ∣ v ∣ = v T ⋅ v 表示向量 v \bm{v} v 的模长。
本文中用 δ i \delta_i δ i 表示除了第 i i i 位为 1 1 1 其余位均为 0 0 0 的行向量,即:δ i = ( 0 , … , 1 i , … , 0 ) \delta_i=(0,\ldots,\mathop{1}\limits^{i},\ldots,0) δ i = ( 0 , … , 1 i , … , 0 ) ,保证向量的长度通过上下文是自明的。
对于一个矩阵 A ∈ R m × n A\in \mathbb R^{m\times n} A ∈ R m × n ,本文做如下记号规定:
用 A ( i , j ) ( i = 1 , 2 , … , m , j = 1 , 2 , … , n ) A(i,j)\,(i=1,2,\ldots,m,j=1,2,\ldots,n) A ( i , j ) ( i = 1 , 2 , … , m , j = 1 , 2 , … , n ) 表示矩阵第 i i i 行第 j j j 列的元素的值。
用 A i ( i = 1 , 2 , … , m ) A_i\,(i=1,2,\ldots,m) A i ( i = 1 , 2 , … , m ) 表示矩阵 A A A 的第 i i i 的所有元素组成的行向量,即 A i = ( A ( i , 1 ) , A ( i , 2 ) , … , A ( i , n ) ) A_i=(A(i,1),A(i,2),\ldots,A(i,n)) A i = ( A ( i , 1 ) , A ( i , 2 ) , … , A ( i , n ) ) 。
用 span ( A ) \text{span}(A) span ( A ) 表示矩阵 A A A 所有列向量张成的空间。
图的拉普拉斯矩阵
给定一张无向图 G = ( V , E ) G=(V,E) G = ( V , E ) ,其度数矩阵 为:
D = diag ( deg ( 1 ) , deg ( 2 ) , … , deg ( ∣ V ∣ ) ) D=\text{diag}(\text{deg}(1),\text{deg}(2),\ldots,\text{deg}(|V|))
D = diag ( deg ( 1 ) , deg ( 2 ) , … , deg ( ∣ V ∣ ) )
其中 deg ( i ) \text{deg}(i) deg ( i ) 表示编号为 i i i 的节点的度数。
邻接矩阵 为:
A ( i , j ) = [ ( i , j ) ∈ E ] ( i , j = 1 , 2 , … , ∣ V ∣ ) A(i,j)=[(i,j)\in E]\,(i,j=1,2,\ldots,|V|)
A ( i , j ) = [ ( i , j ) ∈ E ] ( i , j = 1 , 2 , … , ∣ V ∣ )
则定义图 G G G 的拉普拉斯矩阵 为:L = D − A L=D-A L = D − A 。
拉普拉斯矩阵有如下几个性质。
定理 1 1 1 :0 0 0 是 L L L 的特征值,且 1 \bm{1} 1 是 0 0 0 对应的一个特征向量,其中 1 \bm{1} 1 为全 1 1 1 向量。
证明 :
∀ u ∈ V , ( L ⋅ 1 ) ( u ) = deg ( u ) − ∑ v ∈ V [ ( u , v ) ∈ E ] = 0 \forall u\in V, (L\cdot \bm{1})(u)=\text{deg}(u)-\sum_{v\in V}[(u,v)\in E]=0
∀ u ∈ V , ( L ⋅ 1 ) ( u ) = deg ( u ) − v ∈ V ∑ [ ( u , v ) ∈ E ] = 0
⟹ L ⋅ 1 = 0 \Longrightarrow L\cdot \bm{1}=\bm{0}
⟹ L ⋅ 1 = 0
其中 0 \bm{0} 0 是全 0 0 0 向量。故得证。□ \Box □
定理 2 2 2 :
L L L 是实对称矩阵,且对于任意实向量 x ∈ R ∣ V ∣ \bm{x}\in \mathbb R^{|V|} x ∈ R ∣ V ∣ ,有:
x T L x = 1 2 ∑ i = 1 ∣ V ∣ ∑ j = 1 ∣ V ∣ A ( i , j ) ( x ( i ) − x ( j ) ) 2 \bm{x}^TL\bm{x}=\dfrac 12 \sum_{i=1}^{|V|}\sum_{j=1}^{|V|}A(i,j)(x(i)-x(j))^2
x T L x = 2 1 i = 1 ∑ ∣ V ∣ j = 1 ∑ ∣ V ∣ A ( i , j ) ( x ( i ) − x ( j ) ) 2
再进而可以得出 L L L 是半正定的。
证明 :L L L 显然是对称的。而对任意 x ∈ R ∣ V ∣ \bm{x}\in \mathbb R^{|V|} x ∈ R ∣ V ∣ ,有:
x T L x = x T D x − x T A x = ∑ i = 1 ∣ V ∣ deg ( i ) x 2 ( i ) − ∑ i = 1 ∣ V ∣ ∑ j = 1 ∣ V ∣ A ( i , j ) x ( i ) x ( j ) = 1 2 ( ∑ i = 1 ∣ V ∣ deg ( i ) x 2 ( i ) − 2 ∑ i = 1 ∣ V ∣ ∑ j = 1 ∣ V ∣ A ( i , j ) x ( i ) x ( j ) + ∑ j = 1 ∣ V ∣ deg ( j ) x 2 ( j ) ) = 1 2 ( ∑ i = 1 ∣ V ∣ ∑ j = 1 ∣ V ∣ A ( i , j ) x 2 ( i ) − ∑ i = 1 ∣ V ∣ ∑ j = 1 ∣ V ∣ 2 A ( i , j ) x ( i ) x ( j ) + ∑ j = 1 ∣ V ∣ ∑ i = 1 ∣ V ∣ A ( j , i ) x 2 ( j ) ) = 1 2 ∑ i = 1 ∣ V ∣ ∑ j = 1 ∣ V ∣ A ( i , j ) ( x ( i ) − x ( j ) ) 2 \begin{aligned}
\bm{x}^TL\bm{x} & =\bm{x}^TD\bm{x}-\bm{x}^TA\bm{x} \\
& =\sum_{i=1}^{|V|} \text{deg}(i)x^2(i)-\sum_{i=1}^{|V|}\sum_{j=1}^{|V|}A(i,j)x(i)x(j) \\
& =\dfrac 12\left(\sum_{i=1}^{|V|} \text{deg}(i)x^2(i)-2\sum_{i=1}^{|V|}\sum_{j=1}^{|V|}A(i,j)x(i)x(j)+\sum_{j=1}^{|V|} \text{deg}(j)x^2(j)\right) \\
& =\dfrac 12\left(\sum_{i=1}^{|V|} \sum_{j=1}^{|V|} A(i,j)x^2(i)-\sum_{i=1}^{|V|}\sum_{j=1}^{|V|}2A(i,j)x(i)x(j)+\sum_{j=1}^{|V|} \sum_{i=1}^{|V|} A(j,i)x^2(j)\right) \\
& =\dfrac 12 \sum_{i=1}^{|V|}\sum_{j=1}^{|V|}A(i,j)(x(i)-x(j))^2
\end{aligned}
x T L x = x T D x − x T A x = i = 1 ∑ ∣ V ∣ deg ( i ) x 2 ( i ) − i = 1 ∑ ∣ V ∣ j = 1 ∑ ∣ V ∣ A ( i , j ) x ( i ) x ( j ) = 2 1 ⎝ ⎛ i = 1 ∑ ∣ V ∣ deg ( i ) x 2 ( i ) − 2 i = 1 ∑ ∣ V ∣ j = 1 ∑ ∣ V ∣ A ( i , j ) x ( i ) x ( j ) + j = 1 ∑ ∣ V ∣ deg ( j ) x 2 ( j ) ⎠ ⎞ = 2 1 ⎝ ⎛ i = 1 ∑ ∣ V ∣ j = 1 ∑ ∣ V ∣ A ( i , j ) x 2 ( i ) − i = 1 ∑ ∣ V ∣ j = 1 ∑ ∣ V ∣ 2 A ( i , j ) x ( i ) x ( j ) + j = 1 ∑ ∣ V ∣ i = 1 ∑ ∣ V ∣ A ( j , i ) x 2 ( j ) ⎠ ⎞ = 2 1 i = 1 ∑ ∣ V ∣ j = 1 ∑ ∣ V ∣ A ( i , j ) ( x ( i ) − x ( j ) ) 2
有这个表达式很容易得到 L L L 是半正定的。故得证。□ \Box □
定理 3 3 3 :如果无向图 G G G 是连通图,则特征值 0 0 0 的代数重数与几何重数都是 1 1 1 ,进而 rank ( L ) = ∣ V ∣ − 1 \text{rank}(L)=|V|-1 rank ( L ) = ∣ V ∣ − 1 。更进一步,如果 G G G 有 k k k 个连通分量,则特征值 0 0 0 的代数重数与几何重数都是 k k k ,并且 rank ( L ) = ∣ V ∣ − k \text{rank}(L)=|V|-k rank ( L ) = ∣ V ∣ − k 。
证明 :因为 L L L 是实对称矩阵,故特征值的代数重数与几何重数相同,下面统称为重数。
假设 x \bm{x} x 是特征值 0 0 0 对应的一个特征向量,则考虑如下二次型:
0 = x T ⋅ 0 = x T L x = 1 2 ∑ i = 1 ∣ V ∣ ∑ j = 1 ∣ V ∣ A ( i , j ) ( x ( i ) − x ( j ) ) 2 0=\bm{x}^T\cdot\bm{0}=\bm{x}^TL\bm{x}=\dfrac 12 \sum_{i=1}^{|V|}\sum_{j=1}^{|V|}A(i,j)(x(i)-x(j))^2
0 = x T ⋅ 0 = x T L x = 2 1 i = 1 ∑ ∣ V ∣ j = 1 ∑ ∣ V ∣ A ( i , j ) ( x ( i ) − x ( j ) ) 2
则上式成立当且仅当所有的 x ( i ) ( i = 1 , 2 , … , ∣ V ∣ ) x(i)\,(i=1,2,\ldots,|V|) x ( i ) ( i = 1 , 2 , … , ∣ V ∣ ) 是相同的,所以 x = ∣ x ∣ 1 \bm{x}=|\bm{x}|\bm{1} x = ∣ x ∣ 1 。
所以特征值 0 0 0 对应的重数就是 1 1 1 ,进而 rank ( L ) = ∣ V ∣ − 1 \text{rank}(L)=|V|-1 rank ( L ) = ∣ V ∣ − 1 。
对于有 k k k 个连通分量的情况将矩阵的形式改写为分块对角矩阵容易证明。本文讨论的都是连通图,故略去这一部分的证明。□ \Box □
有效电阻
给定一个图 G = ( V , E ) G=(V,E) G = ( V , E ) 表示一个有限电阻网络图。定义图 G G G 的关联矩阵 B ∈ R ∣ E ∣ × ∣ V ∣ B\in \mathbb R^{|E|\times |V|} B ∈ R ∣ E ∣ × ∣ V ∣ 为:
B ( e , u ) = { 1 u 是 e 的起点 − 1 u 是 e 的终点 0 otherwise B(e,u)=
\begin{cases}
1 & u\text{是}e\text{的起点} \\
-1 & u\text{是}e\text{的终点} \\
0 & \text{otherwise}
\end{cases}
B ( e , u ) = ⎩ ⎪ ⎨ ⎪ ⎧ 1 − 1 0 u 是 e 的起点 u 是 e 的终点 otherwise
值得注意的是虽然我们是在无向图上讨论,但是我们可以给每一条边都定向。而下面这个定理告诉我们定向的方式对 B T B B^TB B T B 是不影响的。
定理 4 4 4 :给定无向连通图 G = ( V , E ) G=(V,E) G = ( V , E ) ,则不管给 G G G 中的边如何定向,B B B 如何选择,都有:L = B T B L=B^TB L = B T B ,其中 L L L 为 G G G 的拉普拉斯矩阵。
证明 :对二元组 ( u , v ) ∈ V × V (u,v)\in V\times V ( u , v ) ∈ V × V 进行分类讨论:
若 u ≠ v u\ne v u = v 。则对于任何 e ∈ E e\in E e ∈ E ,∣ B ( e , u ) ∣ = ∣ B ( e , v ) ∣ = 1 ≠ 0 |B(e,u)|=|B(e,v)|=1\ne 0 ∣ B ( e , u ) ∣ = ∣ B ( e , v ) ∣ = 1 = 0 当且仅当 e = ( u , v ) e=(u,v) e = ( u , v ) 。
又因为 G G G 是简单图无重边,所以如果 e e e 存在,则其唯一,并有 A ( u , v ) = 1 A(u,v)=1 A ( u , v ) = 1 。如果 e e e 不存在就有 A ( u , v ) = 0 A(u,v)=0 A ( u , v ) = 0 。又因为有 D ( u , v ) = 0 D(u,v)=0 D ( u , v ) = 0 ,故:
( B T B ) ( u , v ) = − [ ( u , v ) ∈ E ] = D ( u , v ) − A ( u , v ) (B^TB)(u,v)=-[(u,v)\in E]=D(u,v)-A(u,v)
( B T B ) ( u , v ) = − [ ( u , v ) ∈ E ] = D ( u , v ) − A ( u , v )
若 u = v u=v u = v 。因为 G G G 是简单图无自环,故 A ( u , u ) = 0 A(u,u)=0 A ( u , u ) = 0 .又因为有 D ( u , u ) = deg ( u ) D(u,u)=\text{deg}(u) D ( u , u ) = deg ( u ) ,故:
( B T B ) ( u , v ) = ∑ e = ( u , ∗ ) ∈ E B T ( u , e ) B ( e , u ) = ∑ e = ( u , ∗ ) ∈ E 1 = deg ( u ) = D ( u , u ) − A ( u , u ) (B^TB)(u,v)=\sum_{e=(u,*)\in E}B^T(u,e)B(e,u)=\sum_{e=(u,*)\in E}1=\text{deg}(u)=D(u,u)-A(u,u)
( B T B ) ( u , v ) = e = ( u , ∗ ) ∈ E ∑ B T ( u , e ) B ( e , u ) = e = ( u , ∗ ) ∈ E ∑ 1 = deg ( u ) = D ( u , u ) − A ( u , u )
综上可得:B T B = D − A = L B^TB=D-A=L B T B = D − A = L ,得证。□ \Box □
如果给定了每个点的电压分布 ϕ ∈ R ∣ V ∣ \bm{\phi}\in \mathbb R^{|V|} ϕ ∈ R ∣ V ∣ ,则由欧姆定律,一条边 e = ( u , v ) ∈ E e=(u,v)\in E e = ( u , v ) ∈ E 上的方向电流 I ( e ) I(e) I ( e ) 为:
I ( e ) = ϕ ( u ) − ϕ ( v ) r ( e ) I(e)=\dfrac{\phi(u)-\phi(v)}{r(e)}
I ( e ) = r ( e ) ϕ ( u ) − ϕ ( v )
其中 r ( e ) r(e) r ( e ) 为 e e e 这条边的电阻值。为了方便起见我们先在单位电阻网络(∀ e ∈ E , r ( e ) = 1 \forall e\in E,r(e)=1 ∀ e ∈ E , r ( e ) = 1 )上分析。那么 I ( e ) I(e) I ( e ) 在数值上就等于 ϕ ( u ) − ϕ ( v ) \phi(u)-\phi(v) ϕ ( u ) − ϕ ( v ) 。所以:
I ( e ) = ϕ ( u ) − ϕ ( v ) = ( δ u − δ v ) ⋅ ϕ = B e ⋅ ϕ I(e)=\phi(u)-\phi(v)=(\delta_u-\delta_v)\cdot \bm{\phi}=B_e\cdot \bm{\phi}
I ( e ) = ϕ ( u ) − ϕ ( v ) = ( δ u − δ v ) ⋅ ϕ = B e ⋅ ϕ
我们把每个 I ( e ) I(e) I ( e ) 的结果拼在一起组成一个向量 I ∈ R ∣ E ∣ \bm{I}\in \mathbb R^{|E|} I ∈ R ∣ E ∣ ,则有:
I = B ϕ \bm{I}=B\bm{\phi}
I = B ϕ
再定义一个节点 u u u 的净流出电流 f ( u ) f(u) f ( u ) 为:
f ( u ) = ∑ e = ( u , v ) ∈ E I ( e ) − ∑ e = ( v , u ) ∈ E I ( e ) = ( B T ) a ⋅ I f(u)=\sum_{e=(u,v)\in E}I(e)-\sum_{e=(v,u)\in E}I(e)=(B^T)_a\cdot \bm{I}
f ( u ) = e = ( u , v ) ∈ E ∑ I ( e ) − e = ( v , u ) ∈ E ∑ I ( e ) = ( B T ) a ⋅ I
同样的我们把每个 f ( u ) f(u) f ( u ) 的结果拼在一起组成一个向量 f ∈ R ∣ V ∣ \bm{f}\in \mathbb R^{|V|} f ∈ R ∣ V ∣ ,则有:
f = B T I = B T B ϕ \bm{f}=B^T\bm{I}=B^TB\bm{\phi}
f = B T I = B T B ϕ
考虑当电流 I I I 从 u u u 点注入然后全部从 v v v 点出来的时候。方便起见,我们令 I I I 是单位电流。则除了 u , v u,v u , v 点之外其它点的净流出电流均为 0 0 0 ,而 u u u 为 1 1 1 ,v v v 为 − 1 -1 − 1 ,即:
f = ( δ u − δ v ) T \bm{f}=(\delta_u-\delta_v)^T
f = ( δ u − δ v ) T
再回顾一下,我们有图的拉普拉斯矩阵 L = B T B L=B^TB L = B T B ,那么就有:
( δ u − δ v ) T = L ϕ (\delta_u-\delta_v)^T=L\bm{\phi}
( δ u − δ v ) T = L ϕ
由有效电阻的定义可得:
R ( u , v ) = ϕ ( u ) − ϕ ( v ) I R(u,v)=\dfrac{\phi(u)-\phi(v)}{I}
R ( u , v ) = I ϕ ( u ) − ϕ ( v )
因为 I I I 为单位电流,所以 R ( u , v ) R(u,v) R ( u , v ) 在数值上就等于 ϕ ( u ) − ϕ ( v ) \phi(u)-\phi(v) ϕ ( u ) − ϕ ( v ) 。
那么现在问题就变为了求向量 ϕ \bm{\phi} ϕ ,使得其满足 ( δ u − δ v ) T = L ϕ (\delta_u-\delta_v)^T=L\bm{\phi} ( δ u − δ v ) T = L ϕ 。
如果 L L L 可逆,则可以直接得出唯一的 ϕ \bm{\phi} ϕ 。但实际上根据电势定义知道电势的绝对大小是没有意义的,只有相对大小有意义。所以如果 ϕ 0 \bm{\phi}_0 ϕ 0 为一满足条件的解,则对于任意实数 t t t ,ϕ 0 + t ⋅ 1 \bm{\phi}_0+t\cdot \bm{1} ϕ 0 + t ⋅ 1 都是满足条件的解。
于是我们现在要想办法解出一个特解,这就是下面这个定理在干的事情。
定理 5 5 5 :由定理 2 2 2 可知 L L L 可以相似对角化,设 L L L 的对角化结果为:
L = P − 1 diag ( Λ , 0 ) P = P T diag ( Λ , 0 ) P = ∑ i = 1 ∣ V ∣ − 1 λ i v i v i T L=P^{-1}\text{diag}(\Lambda,0)P=P^T\text{diag}(\Lambda,0)P=\sum_{i=1}^{|V|-1}\lambda_i \bm{v}_i\bm{v}^T_i
L = P − 1 diag ( Λ , 0 ) P = P T diag ( Λ , 0 ) P = i = 1 ∑ ∣ V ∣ − 1 λ i v i v i T
其中 P P P 是正交阵,而由定理 3 3 3 可知 Λ \Lambda Λ 是一可逆对角阵。
考虑 L L L 的广义逆为:
L + = P T diag ( Λ − 1 , 0 ) P = ∑ i = 1 ∣ V ∣ − 1 λ i − 1 v i v i T L^+=P^T\text{diag}(\Lambda^{-1},0)P=\sum_{i=1}^{|V|-1}\lambda_i^{-1}\bm{v}_i\bm{v}^T_i
L + = P T diag ( Λ − 1 , 0 ) P = i = 1 ∑ ∣ V ∣ − 1 λ i − 1 v i v i T
那么非齐次线性方程组 ( δ u − δ v ) T = L ϕ (\delta_u-\delta_v)^T=L\bm{\phi} ( δ u − δ v ) T = L ϕ 有解,并且一个特解为 ϕ 0 = L + ( δ u − δ v ) T \bm{\phi}_0=L^+ (\delta_u-\delta_v)^T ϕ 0 = L + ( δ u − δ v ) T ,进而通解为 ϕ = ϕ 0 + t ⋅ 1 ( t ∈ R ) \bm{\phi}=\bm{\phi}_0+t\cdot \bm{1}\,(t\in \mathbb R) ϕ = ϕ 0 + t ⋅ 1 ( t ∈ R ) 。
证明 :首先先证明这个方程有解:
span ( L ) = span ( ∑ i = 1 ∣ V ∣ − 1 λ i v i v i T + 0 ⋅ 1 ⋅ 1 T ) = span ( v 1 , v 2 , … , v ∣ V ∣ − 1 ) = ( span ( 1 ) ) ⊥ \text{span}(L)=\text{span}\left(\sum_{i=1}^{|V|-1}\lambda_i\bm{v}_i\bm{v}^T_i+0\cdot \bm{1}\cdot \bm{1}^T \right)=\text{span}(\bm{v}_1,\bm{v}_2,\ldots,\bm{v}_{|V|-1})=(\text{span}(\bm{1}))^{\bot}
span ( L ) = span ⎝ ⎛ i = 1 ∑ ∣ V ∣ − 1 λ i v i v i T + 0 ⋅ 1 ⋅ 1 T ⎠ ⎞ = span ( v 1 , v 2 , … , v ∣ V ∣ − 1 ) = ( span ( 1 ) ) ⊥
又因为 ( δ u − δ v ) T ⋅ 1 = 0 (\delta_u-\delta_v)^T\cdot \bm{1}=0 ( δ u − δ v ) T ⋅ 1 = 0 ,所以 ( δ u − δ v ) T ∈ ( span ( 1 ) ) ⊥ (\delta_u-\delta_v)^T\in (\text{span}(\bm{1}))^{\bot} ( δ u − δ v ) T ∈ ( span ( 1 ) ) ⊥ ,故此非齐次线性方程组有解。
设 ( δ u − δ v ) T (\delta_u-\delta_v)^T ( δ u − δ v ) T 在规范正交基 v 1 , … , v ∣ V ∣ − 1 , 1 / ∣ V ∣ \bm{v}_1,\ldots,\bm{v}_{|V|-1},\bm{1}/\sqrt{|V|} v 1 , … , v ∣ V ∣ − 1 , 1 / ∣ V ∣ 下的坐标为 ( α 1 , … , α ∣ V ∣ − 1 , 0 ) (\alpha_1,\ldots,\alpha_{|V|-1},0) ( α 1 , … , α ∣ V ∣ − 1 , 0 ) 。
那么:
ϕ 0 = L + ( δ u − δ v ) T = ( ∑ i = 1 ∣ V ∣ − 1 λ i − 1 v i v i T ) ( ∑ i = 1 ∣ V ∣ − 1 α i v i ) = ∑ i = 1 ∣ V ∣ − 1 α i λ i v i \bm{\phi}_0=L^+ (\delta_u-\delta_v)^T=\left(\sum_{i=1}^{|V|-1}\lambda_i^{-1}\bm{v}_i\bm{v}^T_i\right)\left(\sum_{i=1}^{|V|-1}\alpha_i\bm{v}_i\right)=\sum_{i=1}^{|V|-1}\dfrac{\alpha_i}{\lambda_i}\bm{v}_i
ϕ 0 = L + ( δ u − δ v ) T = ⎝ ⎛ i = 1 ∑ ∣ V ∣ − 1 λ i − 1 v i v i T ⎠ ⎞ ⎝ ⎛ i = 1 ∑ ∣ V ∣ − 1 α i v i ⎠ ⎞ = i = 1 ∑ ∣ V ∣ − 1 λ i α i v i
所以:
L ϕ 0 = ( ∑ i = 1 ∣ V ∣ − 1 λ i v i v i T ) ( ∑ i = 1 ∣ V ∣ − 1 α i λ i v i ) = ∑ i = 1 ∣ V ∣ − 1 α i v i = ( δ u − δ v ) T L\bm{\phi}_0=\left(\sum_{i=1}^{|V|-1}\lambda_i\bm{v}_i\bm{v}^T_i\right)\left(\sum_{i=1}^{|V|-1}\dfrac{\alpha_i}{\lambda_i}\bm{v}_i\right)=\sum_{i=1}^{|V|-1}\alpha_i\bm{v}_i=(\delta_u-\delta_v)^T
L ϕ 0 = ⎝ ⎛ i = 1 ∑ ∣ V ∣ − 1 λ i v i v i T ⎠ ⎞ ⎝ ⎛ i = 1 ∑ ∣ V ∣ − 1 λ i α i v i ⎠ ⎞ = i = 1 ∑ ∣ V ∣ − 1 α i v i = ( δ u − δ v ) T
故 ϕ 0 \bm{\phi}_0 ϕ 0 是该方程一特解,得证。值得注意的是上述推导中用到了正交基的性质。□ \Box □
综上我们可以写出有效电阻的矩阵表达式:
R ( u , v ) = ( δ u − δ v ) ϕ = ( δ u − δ v ) L + ( δ u − δ v ) T R(u,v)=(\delta_u-\delta_v)\bm{\phi}=(\delta_u-\delta_v)L^{+}(\delta_u-\delta_v)^T
R ( u , v ) = ( δ u − δ v ) ϕ = ( δ u − δ v ) L + ( δ u − δ v ) T
若 ( u , v ) (u,v) ( u , v ) 是图 G G G 的一条边 e e e ,则因为有 B e = δ u − δ v B_e=\delta_u-\delta_v B e = δ u − δ v ,所以上式可以改写为:
R ( e ) = B e L + B e T R(e)=B_eL^{+}B_e^T
R ( e ) = B e L + B e T
如果不是单位电阻网络,我们发现其实完全是一样的。只需要把 B e B_e B e 改成 1 r ( e ) ( δ u − δ v ) ( r ( e ) ∈ R + ) \dfrac 1{r(e)}(\delta_u-\delta_v)\,(r(e)\in \mathbb R^+) r ( e ) 1 ( δ u − δ v ) ( r ( e ) ∈ R + ) 就可以了,后面的推导完全适用也完全一样。
有效电阻的性质
下面对有效电阻性质的讨论都是在简单无向连通的单位电阻网络图上讨论的。
定理 6 6 6 :所有边有效电阻之和与边数无关:
∑ ( u , v ) ∈ E R ( u , v ) = ∣ V ∣ − 1 = rank ( L ) \sum_{(u,v)\in E}R(u,v)=|V|-1=\text{rank}(L)
( u , v ) ∈ E ∑ R ( u , v ) = ∣ V ∣ − 1 = rank ( L )
证明 :
∑ ( u , v ) ∈ E R ( u , v ) = ∑ ( u , v ) ∈ E ( δ u − δ v ) L + ( δ u − δ v ) T = tr ( ( B e 1 ⋮ B e ∣ E ∣ ) L + ( B e 1 T … B e ∣ E ∣ T ) ) = tr ( B L + B T ) = tr ( L + B T B ) = tr ( L + L ) = tr ( P − 1 diag ( Λ − 1 , 0 ) P P − 1 diag ( Λ , 0 ) P ) = tr ( P − 1 P diag ( I , 0 ) ) = ∣ V ∣ − 1 = rank ( L ) \begin{aligned}
\sum_{(u,v)\in E}R(u,v) & =\sum_{(u,v)\in E}(\delta_u-\delta_v)L^{+}(\delta_u-\delta_v)^T \\
& =\text{tr}\left(
\begin{pmatrix}
B_{e_1} \\
\vdots \\
B_{e_{|E|}}
\end{pmatrix}
L^{+}
\begin{pmatrix}
B_{e_1}^T & \ldots & B^T_{e_{|E|}}
\end{pmatrix}
\right) \\
& =\text{tr}(BL^{+}B^T)=\text{tr}(L^{+}B^TB)=\text{tr}(L^{+}L) \\
& =\text{tr}(P^{-1}\text{diag}(\Lambda^{-1},0)PP^{-1}\text{diag}(\Lambda,0)P) \\
& =\text{tr}(P^{-1}P\text{diag}(I,0))=|V|-1=\text{rank}(L)
\end{aligned}
( u , v ) ∈ E ∑ R ( u , v ) = ( u , v ) ∈ E ∑ ( δ u − δ v ) L + ( δ u − δ v ) T = tr ⎝ ⎜ ⎛ ⎝ ⎜ ⎛ B e 1 ⋮ B e ∣ E ∣ ⎠ ⎟ ⎞ L + ( B e 1 T … B e ∣ E ∣ T ) ⎠ ⎟ ⎞ = tr ( B L + B T ) = tr ( L + B T B ) = tr ( L + L ) = tr ( P − 1 diag ( Λ − 1 , 0 ) P P − 1 diag ( Λ , 0 ) P ) = tr ( P − 1 P diag ( I , 0 ) ) = ∣ V ∣ − 1 = rank ( L )
得证。值得注意的是上述推导中反复用到了迹中乘法可交换的性质。□ \Box □
多加一条边可以理解为“并联”了,而有效电阻的和不变,所以每个都会变小,这也符合电学知识。
定理 7 7 7 :对于图 G G G 的一条边 e ∈ E e\in E e ∈ E ,其有效电阻衡量了这一条边对整个电阻网络的能量贡献:
R ( e ) = max x ∈ R ∣ V ∣ ( B e x ) 2 ∣ B x ∣ 2 R(e)=\max\limits_{\bm{x}\in \mathbb R^{|V|}}\dfrac{(B_e\bm{x})^2}{|B\bm{x}|^2}
R ( e ) = x ∈ R ∣ V ∣ max ∣ B x ∣ 2 ( B e x ) 2
证明 :我们发现:{ B x ∣ x ∈ R ∣ V ∣ } = span ( B ) \{B\bm{x}\mid \bm{x}\in \mathbb R^{|V|} \}=\text{span}(B) { B x ∣ x ∈ R ∣ V ∣ } = span ( B ) 。所以其实有:
max x ∈ R ∣ V ∣ ( B e x ) 2 ∣ B x ∣ 2 = max x ∈ span ( B ) x 2 ( e ) ∣ x ∣ 2 = max x ∈ R ∣ V ∣ ( B e ′ x ) 2 ∣ B ′ x ∣ 2 \max\limits_{\bm{x}\in \mathbb R^{|V|}}\dfrac{(B_e\bm{x})^2}{|B\bm{x}|^2}=\max\limits_{\bm{x}\in \text{span}(B)}\dfrac{x^2(e)}{|\bm{x}|^2}=\max\limits_{\bm{x}\in \mathbb R^{|V|}}\dfrac{(B'_e\bm{x})^2}{|B'\bm{x}|^2}
x ∈ R ∣ V ∣ max ∣ B x ∣ 2 ( B e x ) 2 = x ∈ span ( B ) max ∣ x ∣ 2 x 2 ( e ) = x ∈ R ∣ V ∣ max ∣ B ′ x ∣ 2 ( B e ′ x ) 2
其中 B ′ B' B ′ 满足 span ( B ) = span ( B ′ ) \text{span}(B)=\text{span}(B') span ( B ) = span ( B ′ ) 。令:
B ′ = B ( B T B ) + B'=B\sqrt{(B^TB)^+}
B ′ = B ( B T B ) +
可以开平方是因为 L = B T B L=B^TB L = B T B 是半正定矩阵有唯一的正平方根。所以:
B ′ T B ′ = L + B T B L + = L + L L + = ( ∑ i = 1 ∣ V ∣ − 1 λ i − 1 / 2 v i v i T ) ( ∑ i = 1 ∣ V ∣ − 1 λ i v i v i T ) ( ∑ i = 1 ∣ V ∣ − 1 λ i − 1 / 2 v i v i T ) = diag ( I , 0 ) \begin{aligned}
B'^TB' & =\sqrt{L^+}B^TB\sqrt{L^+}=\sqrt{L^+}L\sqrt{L^+} \\
& =\left(\sum_{i=1}^{|V|-1}\lambda_i^{-1/2}\bm{v}_i\bm{v}_i^T\right)\left(\sum_{i=1}^{|V|-1}\lambda_i\bm{v}_i\bm{v}_i^T\right)\left(\sum_{i=1}^{|V|-1}\lambda_i^{-1/2}\bm{v}_i\bm{v}_i^T\right) \\
& =\text{diag}(I,0)
\end{aligned}
B ′ T B ′ = L + B T B L + = L + L L + = ⎝ ⎛ i = 1 ∑ ∣ V ∣ − 1 λ i − 1 / 2 v i v i T ⎠ ⎞ ⎝ ⎛ i = 1 ∑ ∣ V ∣ − 1 λ i v i v i T ⎠ ⎞ ⎝ ⎛ i = 1 ∑ ∣ V ∣ − 1 λ i − 1 / 2 v i v i T ⎠ ⎞ = diag ( I , 0 )
因为 B ⋅ 1 = 0 B\cdot\bm{1}=\bm{0} B ⋅ 1 = 0 ,所以 rank ( B ) ≤ ∣ V ∣ − 1 \text{rank}(B)\le |V|-1 rank ( B ) ≤ ∣ V ∣ − 1 。再结合上式就可以发现 B ′ B' B ′ 的前 ∣ V ∣ − 1 |V|-1 ∣ V ∣ − 1 个列向量是两两正交的,而且有 span ( B ) = span ( B ′ ) \text{span}(B)=\text{span}(B') span ( B ) = span ( B ′ ) ,即 B ′ B' B ′ 给出了 span ( B ) \text{span}(B) span ( B ) 的规范正交基。
这样我们就可以推导了:
max x ∈ R ∣ V ∣ ( B e x ) 2 ∣ B x ∣ 2 = max x ∈ R ∣ V ∣ ( B e ′ x ) 2 ∣ B ′ x ∣ 2 = max x ∈ R ∣ V ∣ ( B e ( B T B ) + x ) 2 ∣ x ∣ 2 = B e ( B T B ) + B e = R ( e ) \begin{aligned}
\max\limits_{\bm{x}\in \mathbb R^{|V|}}\dfrac{(B_e\bm{x})^2}{|B\bm{x}|^2} & =\max\limits_{\bm{x}\in \mathbb R^{|V|}}\dfrac{(B'_e\bm{x})^2}{|B'\bm{x}|^2} \\
& =\max\limits_{\bm{x}\in \mathbb R^{|V|}}\dfrac{\left(B_e\sqrt{(B^TB)^+}\bm{x}\right)^2}{|\bm{x}|^2} \\
& =B_e(B^TB)^+B_e=R(e)
\end{aligned}
x ∈ R ∣ V ∣ max ∣ B x ∣ 2 ( B e x ) 2 = x ∈ R ∣ V ∣ max ∣ B ′ x ∣ 2 ( B e ′ x ) 2 = x ∈ R ∣ V ∣ max ∣ x ∣ 2 ( B e ( B T B ) + x ) 2 = B e ( B T B ) + B e = R ( e )
得证。其中从第一行到第二行把分母上的 B ′ B' B ′ 扔掉是因为 B ′ B' B ′ 给出了规范正交基,有 ∣ B ′ x ∣ = ∣ x ∣ |B'\bm{x}|=|\bm{x}| ∣ B ′ x ∣ = ∣ x ∣ 。从第二行到第三行是因为向量内积的性质,必然是当 x \bm{x} x 与另一个向量 ( B e ( B T B ) + ) T \left(B_e\sqrt{(B^TB)^+}\right)^T ( B e ( B T B ) + ) T 同向时取到最大值。□ \Box □
这条性质可以这么理解:
∣ B x ∣ 2 = x T B T B x = x T L x = 1 2 ∑ i = 1 ∣ V ∣ ∑ j = 1 ∣ V ∣ A ( i , j ) ( x ( i ) − x ( j ) ) 2 = ∑ ( u , v ) ∈ E ( x ( u ) − x ( v ) ) 2 |B\bm{x}|^2=\bm{x}^TB^TB\bm{x}=\bm{x}^TL\bm{x}=\dfrac 12 \sum_{i=1}^{|V|}\sum_{j=1}^{|V|}A(i,j)(x(i)-x(j))^2=\sum_{(u,v)\in E}(x(u)-x(v))^2
∣ B x ∣ 2 = x T B T B x = x T L x = 2 1 i = 1 ∑ ∣ V ∣ j = 1 ∑ ∣ V ∣ A ( i , j ) ( x ( i ) − x ( j ) ) 2 = ( u , v ) ∈ E ∑ ( x ( u ) − x ( v ) ) 2
如果把 x \bm{x} x 理解为加上的电压分布,那么有 ( x ( u ) − x ( v ) ) 2 = U 2 ( u , v ) = U 2 ( u , v ) / r ( ( u , v ) ) (x(u)-x(v))^2=U^2(u,v)=U^2(u,v)/r((u,v)) ( x ( u ) − x ( v ) ) 2 = U 2 ( u , v ) = U 2 ( u , v ) / r ( ( u , v ) ) ,所以 ∣ B x ∣ |B\bm{x}| ∣ B x ∣ 就是加上电压 x \bm{x} x 后整个电阻网络的总能量,同样的 ( B e x ) 2 = ( x ( u ) − x ( v ) ) 2 (B_e\bm{x})^2=(x(u)-x(v))^2 ( B e x ) 2 = ( x ( u ) − x ( v ) ) 2 是这条边的能量。
所以 R ( e ) R(e) R ( e ) 就是任意加电压时一条边的能量比去总能量的最大值。
定理 8 8 8 :对于图 G G G 的一条边 e ∈ E e\in E e ∈ E ,其有效电阻衡量了这一条边的重要程度:
R ( e ) = min y ∈ R ∣ E ∣ and B T y = B e T ∣ y ∣ 2 R(e)=\min\limits_{\bm{y}\in \mathbb R^{|E|}\text{ and }B^T\bm{y}=B^T_e}|\bm{y}|^2
R ( e ) = y ∈ R ∣ E ∣ and B T y = B e T min ∣ y ∣ 2
证明 :一方面有:
min y ∈ R ∣ E ∣ and B T y = B e T ∣ y ∣ 2 ≤ ∣ B ( B T B ) + B e T ∣ 2 = B e ( B T B ) + B T B ( B T B ) + B e T = B e L + L L + B e T = B e ( ∑ i = 1 ∣ V ∣ − 1 λ i − 1 v i v i T ) ( ∑ i = 1 ∣ V ∣ − 1 λ i v i v i T ) ( ∑ i = 1 ∣ V ∣ − 1 λ i − 1 v i v i T ) B e T = B e L + B e T = R ( e ) \begin{aligned}
\min\limits_{\bm{y}\in \mathbb R^{|E|}\text{ and }B^T\bm{y}=B^T_e}|\bm{y}|^2 & \le |B(B^TB)^+B_e^T|^2 \\
& =B_e(B^TB)^+B^TB(B^TB)^+B_e^T=B_eL^+LL^+B_e^T \\
& =B_e\left(\sum_{i=1}^{|V|-1}\lambda_i^{-1}\bm{v}_i\bm{v}_i^T\right)\left(\sum_{i=1}^{|V|-1}\lambda_i\bm{v}_i\bm{v}_i^T\right)\left(\sum_{i=1}^{|V|-1}\lambda_i^{-1}\bm{v}_i\bm{v}_i^T\right)B_e^T \\
& =B_eL^+B_e^T=R(e)
\end{aligned}
y ∈ R ∣ E ∣ and B T y = B e T min ∣ y ∣ 2 ≤ ∣ B ( B T B ) + B e T ∣ 2 = B e ( B T B ) + B T B ( B T B ) + B e T = B e L + L L + B e T = B e ⎝ ⎛ i = 1 ∑ ∣ V ∣ − 1 λ i − 1 v i v i T ⎠ ⎞ ⎝ ⎛ i = 1 ∑ ∣ V ∣ − 1 λ i v i v i T ⎠ ⎞ ⎝ ⎛ i = 1 ∑ ∣ V ∣ − 1 λ i − 1 v i v i T ⎠ ⎞ B e T = B e L + B e T = R ( e )
上述推导的不等号成立是因为由定理 5 5 5 的证明过程可知 y = B ( B T B ) + B e T \bm{y}=B(B^TB)^+ B_e^T y = B ( B T B ) + B e T 是方程 B T y = B e T B^T\bm{y}=B^T_e B T y = B e T 的一个解。
记上面 min \min min 的最小值点为 y 0 \bm{y}_0 y 0 ,则另一方面又有:
R ( e ) = max x ∈ R ∣ V ∣ ( B e x ) 2 ∣ B x ∣ 2 = ∣ y 0 ∣ 2 max x ∈ R ∣ V ∣ ( B e x ) 2 ∣ B x ∣ 2 ∣ y 0 ∣ 2 ≤ ∣ y 0 ∣ 2 max x ∈ R ∣ V ∣ ( B e x ) 2 ( y 0 T B x ) 2 = ∣ y 0 ∣ 2 max x ∈ R ∣ V ∣ ( B e x ) 2 ( ( B T y 0 ) T x ) 2 = ∣ y 0 ∣ 2 max x ∈ R ∣ V ∣ ( B e x ) 2 ( B e x ) 2 = ∣ y 0 ∣ 2 = min y ∈ R ∣ E ∣ and B T y = B e T ∣ y ∣ 2 \begin{aligned}
R(e) & =\max\limits_{\bm{x}\in \mathbb R^{|V|}}\dfrac{(B_e\bm{x})^2}{|B\bm{x}|^2}=|\bm{y}_0|^2\max\limits_{\bm{x}\in \mathbb R^{|V|}}\dfrac{(B_e\bm{x})^2}{|B\bm{x}|^2|\bm{y}_0|^2} \\
& \le |\bm{y}_0|^2\max\limits_{\bm{x}\in \mathbb R^{|V|}}\dfrac{(B_e\bm{x})^2}{(\bm{y}_0^TB\bm{x})^2} \\
& =|\bm{y}_0|^2\max\limits_{\bm{x}\in \mathbb R^{|V|}}\dfrac{(B_e\bm{x})^2}{((B^T\bm{y}_0)^T\bm{x})^2}=|\bm{y}_0|^2\max\limits_{\bm{x}\in \mathbb R^{|V|}}\dfrac{(B_e\bm{x})^2}{(B_e\bm{x})^2} \\
& =|\bm{y}_0|^2=\min\limits_{\bm{y}\in \mathbb R^{|E|}\text{ and }B^T\bm{y}=B^T_e}|\bm{y}|^2
\end{aligned}
R ( e ) = x ∈ R ∣ V ∣ max ∣ B x ∣ 2 ( B e x ) 2 = ∣ y 0 ∣ 2 x ∈ R ∣ V ∣ max ∣ B x ∣ 2 ∣ y 0 ∣ 2 ( B e x ) 2 ≤ ∣ y 0 ∣ 2 x ∈ R ∣ V ∣ max ( y 0 T B x ) 2 ( B e x ) 2 = ∣ y 0 ∣ 2 x ∈ R ∣ V ∣ max ( ( B T y 0 ) T x ) 2 ( B e x ) 2 = ∣ y 0 ∣ 2 x ∈ R ∣ V ∣ max ( B e x ) 2 ( B e x ) 2 = ∣ y 0 ∣ 2 = y ∈ R ∣ E ∣ and B T y = B e T min ∣ y ∣ 2
故得证。值得注意的时上述推导用到了柯西不等式,而倒数第二行的推导用到了条件 B T y 0 = B e T B^T\bm{y}_0=B_e^T B T y 0 = B e T 。□ \Box □
有效电阻的拓展——杠杆值
对于一个有 m m m 个 n n n 维数据的实数数据集,我们用一个 m × n m\times n m × n 的实数矩阵 A ∈ R m × n A\in \mathbb R^{m\times n} A ∈ R m × n 表示这个数据集。
我们定义第 i i i 个数据的杠杆值 为:
τ i ( A ) = A i ( A T A ) + A i T \tau_i(A)=A_i(A^TA)^+ A_i^T
τ i ( A ) = A i ( A T A ) + A i T
这个定义与有效电阻的矩阵表达如出一辙,推导后即可发现,杠杆值也继承了有效电阻的所有性质。杠杆值的大小代表了这个数据点在整个数据集中的重要程度,这怎么理解呢?我们看定理 8 8 8 ,有:
τ i ( A ) = min y ∈ R m and A T y = A i T ∣ y ∣ 2 \tau_i(A)=\min\limits_{\bm{y}\in \mathbb R^m\text{ and }A^T\bm{y}=A^T_i}|\bm{y}|^2
τ i ( A ) = y ∈ R m and A T y = A i T min ∣ y ∣ 2
y \bm{y} y 要满足的条件是 A T y = A i T A^T\bm{y}=A^T_i A T y = A i T ,即有:A i = y ( 1 ) A 1 + y ( 2 ) A 2 + ⋯ + y ( m ) A m A_i=y(1)A_1+y(2)A_2+\cdots+y(m)A_m A i = y ( 1 ) A 1 + y ( 2 ) A 2 + ⋯ + y ( m ) A m ,y \bm{y} y 给出了这样的线性组合系数。而如果 ∣ y ∣ |\bm{y}| ∣ y ∣ 的最小值越小那么这个数据点就越容易被其他数据点线性表示,那么这个数据点就没有什么用处了。
值得注意的是 τ i ( A ) \tau_i(A) τ i ( A ) 的取值有范围:τ i ( A ) ∈ [ 0 , 1 ] \tau_i(A)\in [0,1] τ i ( A ) ∈ [ 0 , 1 ] ,这是因为 A i = 1 ⋅ A i A_i=1\cdot A_i A i = 1 ⋅ A i ,所以 min ∣ y ∣ ≤ 1 \min|\bm{y}|\le 1 min ∣ y ∣ ≤ 1 。如果一个数据点的杠杆值为 1 1 1 ,那这个数据点和其他的数据点都线性无关,这个数据点非常特殊,非常重要。
参考文献
[1] 科普文章丨经典有效电阻与现代矩阵算法. 蔡东润, 陈雪, 2023. site:
https://mp.weixin.qq.com/s/d3TQEM3IyUHsGcyMMyCL2A