1.图
图经常被应用于各种领域,用结点和边来描述变量之间的关系
上图是具有4个节点5条边的图,可以用矩阵来表示,这门课里面把矩阵称作关联矩阵,其他地方称作邻接矩阵,总之是个矩阵用来描述边与节点的关系。
A
=
[
−
1
1
0
0
0
−
1
1
0
−
1
0
1
0
−
1
0
0
1
0
0
−
1
1
]
A=\begin{bmatrix}-1&1&0&0\\0&-1&1&0\\-1&0&1&0\\-1&0&0&1\\0&0&-1&1\end{bmatrix}
A=⎣
⎡−10−1−101−10000110−100011⎦
⎤
关联矩阵的每一行代表路径,每一列代表节点。例如,第1行
[
−
1
1
0
0
]
\begin{bmatrix}-1&1&0&0\end{bmatrix}
[−1100]是指路径1从节点1流出,流入节点2,这里将流出表达为“-1”,流入表达为“1”。这是一种有向图,无向图的矩阵表达只有相连或者不相连。
1.1零空间
上图中可以看作是电路节点与电压电流的关系,以此为基础考察矩阵的零空间,也就是
A
X
=
0
AX=0
AX=0
A
X
=
[
−
1
1
0
0
0
−
1
1
0
−
1
0
1
0
−
1
0
0
1
0
0
−
1
1
]
[
x
1
x
2
x
3
x
4
]
=
0
AX=\begin{bmatrix}-1&1&0&0\\0&-1&1&0\\-1&0&1&0\\-1&0&0&1\\0&0&-1&1\end{bmatrix}\begin{bmatrix}x_1\\x_2\\x_3\\x_4\end{bmatrix}=0
AX=⎣
⎡−10−1−101−10000110−100011⎦
⎤⎣
⎡x1x2x3x4⎦
⎤=0
现在问题转换成了求解一组节点电势,能够满足:
A
X
=
[
x
2
−
x
1
x
3
−
x
2
x
3
−
x
1
x
4
−
x
1
x
4
−
x
3
]
=
0
AX=\begin{bmatrix}x_2-x_1\\x_3-x_2\\x_3-x_1\\x_4-x_1\\x_4-x_3\end{bmatrix}=0
AX=⎣
⎡x2−x1x3−x2x3−x1x4−x1x4−x3⎦
⎤=0
也就是要求解能让各点电势平衡的X。通过MATLAB的rank(A)命令,可以求去矩阵的秩为3,因此有一个自由列,
d
i
m
N
(
A
)
=
1
dimN(A)=1
dimN(A)=1。观察可知第4列是自由列,对应
x
4
x_4
x4是自由变量,赋值
x
4
=
1
x_4=1
x4=1可以解得
X
=
[
1
1
1
1
]
X=\begin{bmatrix}1\\1\\1\\1\end{bmatrix}
X=⎣
⎡1111⎦
⎤
因此矩阵
A
A
A的零空间是
c
X
cX
cX,说明当各点的电势相等时,各支路上不会有电流。
1.2左零空间
从前面的知识可以知道,左零空间的表达是
A
T
y
=
0
A^Ty=0
ATy=0,矩阵
A
T
A^T
AT有5列,
r
a
n
k
(
A
T
)
=
3
rank(A^T)=3
rank(AT)=3,因此左零空间的维度是2。因此
A
T
A^T
AT中有存在2种线性相关的列,
A
T
A^T
AT的列就是图中的路径,路径相关代表形成了环路,如节点1,2,3。
A
T
y
=
[
−
1
0
−
1
−
1
0
1
−
1
0
0
0
0
1
1
0
−
1
0
0
0
1
1
]
[
y
1
y
2
y
3
y
4
]
=
0
A^Ty=\begin{bmatrix}-1&0&-1&-1&0\\1&-1&0&0&0\\0&1&1&0&-1\\0&0&0&1&1\end{bmatrix}\begin{bmatrix}y_1\\y_2\\y_3\\y_4\end{bmatrix}=0
ATy=⎣
⎡−11000−110−1010−100100−11⎦
⎤⎣
⎡y1y2y3y4⎦
⎤=0
用
y
i
y_i
yi代表支路上的电流,那么方程表征的就是基尔霍夫电流定律了。