此博客停止更新迁移至SnailDove’s Blog,查看本文点击此处
目录
笔记源自:清华大学公开课:线性代数2——第8讲:图和网络
这门公开课参考教材:Gilbert Strang, Introduction to linear algebra, Wellesley-Cambridge Press,2016 ,本讲源自此书的第十章
提示:如果文中图片看不清文字,请右键单击鼠标,选择在新窗口打开图片,然后放大图片(这边上传之前都是可以看清的,由于网页正文部分大小固定,因此图片被自动缩小以便适配网页),截图部分是课堂ppt老师随手的板书。
简介
欧姆定律Ohm’s law的向量形式

图与矩阵


关联矩阵incidence matrix

邻接矩阵adjacency matrix

拉普拉斯矩阵laplacian matrix

注: 半正定证明与刚度矩阵类似
网络和加权Laplacian矩阵

电路相关的物理定律

例子
不接外部源

接外部源

带权K=ATCA

关联矩阵的四个基本子空间
N(A)

C(A)
按C(A)的定义得:C(A)={Ax|x∈Rn} 。沿用前面使用的字母:u是各点电势,e是各边电势差,Au=e ,当Au=e 有解 ⇔e∈C(A)
去证明:dim(C(A))=n−1 ,即A 的任意 n−1个列向量是线性无关的。设A=(a1,a2,...,an),不妨假设a1,a2,...,an−1线性相关,那么存在c1,c2,...,cn−1∈R 且不全为0满足:c1a1+c2a2+...+cn−1an−1+0an=0⇒A⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜c1c2...cn−10⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟=0⇒⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜c1c2...cn−10⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟∈N(A),但与N(A)=⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪c⎛⎝⎜⎜⎜⎜⎜⎜1...1⎞⎠⎟⎟⎟⎟⎟⎟∣∣∣c∈R⎫⎭⎬⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪ 矛盾,以此类推,得以证明C(A)的维数是n−1 ,即A的任意n−1个列向量均可作为C(A)的一组基。
发现矩阵中对应的回路:e∈C(A) 如下等式有解 Au=e⇒⎛⎝⎜⎜⎜⎜⎜⎜−1−100010−1−100110−100011⎞⎠⎟⎟⎟⎟⎟⎟⎛⎝⎜⎜⎜⎜⎜⎜u1u2u3u4u5⎞⎠⎟⎟⎟⎟⎟⎟=⎛⎝⎜⎜⎜⎜⎜⎜e1e2e3e4e5⎞⎠⎟⎟⎟⎟⎟⎟⇒⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪−u1+u2=e1−u1+u3=e2−u2+u3=e3−u2+u4=e4−u3+u4=e5⇒{e1−e2+e3=0e3−e4+e5=0 ,即边1,2,3这3条边电势差之和为0,由图上可得边1,2,3恰好构成一个回路,边3,4,5也一样。这恰好是Kirchholff Voltage Law (KVL)。把这两个回路等式书写成矩阵形式(10−10110−101)⎛⎝⎜⎜⎜⎜⎜⎜e1e2e3e4e5⎞⎠⎟⎟⎟⎟⎟⎟=0 . 此时称矩阵B=(10−10110−101) 为回路矩阵,可以看到它的每一行代表一个回路且称为极小回路,每一列代表一条边。如果边的方向是逆时针方向则取为正号,否则取为负号。注意,此时e∈N(B)。
- 此外,BA=(10−10110−101)⎛⎝⎜⎜⎜⎜⎜⎜−1−100010−1−100110−100011⎞⎠⎟⎟⎟⎟⎟⎟=(00000000)即C(A)⊆N(B) 。dim(N(B))=3,dim(C(A))=3,因此C(A)就构成了N(B)的基。从理意义角度理解:A矩阵执行的操作表示求解各边电势之差,B各行刚好是回路,由KVL定律得结果必为0.
N(AT)
由定义得:N(AT)={y∈Rm|ATy=0}。例子中,关联矩阵A 各行代表一条边,各列代表一个顶点。那么AT 的行代表顶点,列代表边。
ATy=0⇒⎛⎝⎜⎜⎜−1100−10100−1100−10100−11⎞⎠⎟⎟⎟⎛⎝⎜⎜⎜⎜⎜⎜y1y2y3y4y5⎞⎠⎟⎟⎟⎟⎟⎟=⎛⎝⎜⎜⎜⎜⎜⎜00000⎞⎠⎟⎟⎟⎟⎟⎟⇒⎧⎩⎨⎪⎪⎪⎪−y1−y2=0y1−y3−y4=0y2+y3−y5=0y4+y5=0
物理意义解读:yi是各第i边上的电流,上述等式表明每一个顶点输入输出电流和为0,即Kichhoff Current Law (KCL)。
ATy=0, 由前文得到:
BA=0⇒ATBT=0⇒ATBT=⎛⎝⎜⎜⎜−1100−10100−1100−10100−11⎞⎠⎟⎟⎟⎛⎝⎜⎜⎜⎜⎜⎜1−1100001−11⎞⎠⎟⎟⎟⎟⎟⎟=⎛⎝⎜⎜⎜00000000⎞⎠⎟⎟⎟
因此,C(BT)⊆N(AT)。由于r(A)=C(A)=r=n−1,N(AT)+C(A)=m,N(AT)=m−r=5−3=2, 由于BT的列向量线性无关,即B的行向量代表回路,那么回路向量就是N(AT)的一组基。
C(AT)

总结

-
N(Am×n)零空间 Au=0 ,N(A)=c(1,1,...,1)Tn×1 ;物理意义:各点电势相等,电势差为0。
-
C(Am×n)列空间 Au=e(上文用的是x, b),A 中任意n−1 列构成了C(A) 的一组基;物理意义每个极小回路电势守恒,每个极小回路构成的极大回路电势依然守恒,诠释了KVL定律。
-
N(AT)左零空间 ATy=0,回路向量构成了N(AT) 的一组基;诠释了无外部电流源的KCL定律。
-
C(AT)行空间 ,ATy=f, 每个极大树子图对应关联矩阵的行向量(即边)构成了C(AT) 的一组基;诠释了有外部电流源的KCL定律。
注计
N(B)=C(A)

B的零空间中的任何一个向量,它都要属于A的列空间,A的列空间中的每一个向量的特点,比如说A乘上一个x1到xn,x1到xn是n个顶点的电势。A乘上这个向量得到的是各个边上的电势差,那么相应的xj−xk就是j和k两个顶点上的电势差,顶点连线,j和k连线的边上的电势差。那么我们要想说明,N(B)中的向量属于C(A)那么我们只要说明任何一个向量属于B的零空间,它最后都能写成这样一种形式,就可以了。那么设e属于N(B),那么我们可以取定这个连通图的一个极大树子图,然后在这个极大树子图T上取一个顶点作为基点,那么任意的另外一个顶点K跟这个基点之间它们连线的路在T上只有一条这样的路,因为T是一个树,它不可能有回路,所以在T中有唯一的一条连接K到基点的路。定义K的电势:在这条路上各边的电势之和,各边的电势之和,我们这个e1到em呢,我们可以刻画各个边上的电势,那么我们可以看到e属于N(B)我们实际上可以检查出任意边上的电势差实际上是ej等uk减u1,那么其中的这个k呢为j的起点,l为j的终点,最后我们就可以得到e=−Au,所以e就属于C(A)就是这个地方呢,我们要使用e属于N(B),我们才能检查出:任意边上的这个电势差等于uk减ul,就是要满足科尔霍夫电压定律。

对于Bx×m⇒C(BT)+dim(N(B))=rB+dim(N(B))=m⇒m−rB=dim(N(B))=dim(C(A))=n−1
又因为欧拉公式:m−l=n−1,得:rB=l,即B是行满秩的,其实极小回路组对应极大线性无关组。