基本方法:高斯消去法
重点:向量空间(矩阵不只是一堆数,如果想更具象的理解矩阵,向量空间的概念一定要清楚,换句话说,要通过向量空间理解矩阵),线性变换
在线性代数中,向量空间=线性空间。
向量空间就是满足下面8个性质的向量集, x , y , z x,y,z x,y,z为向量集中的向量, c c c为常数
向量空间产生的方法:
向量空间举例:平面所有向量, 3 × 2 3\times 2 3×2 矩阵, C [ 0 , 1 ] = { f ( x ) ∣ f ( x ) 连 续 且 0 ≤ x ≤ 1 } C[0,1]=\{f(x)|f(x)连续且0\leq x\leq 1\} C[0,1]={f(x)∣f(x)连续且0≤x≤1}, R ∞ R^{\infty} R∞(希尔伯特空间)= { x ∣ x = ( x 1 , x 2 , x 3 , x 4 …   ) , x i ∈ R } \{x|x=(x_{1},x_{2},x_{3},x_{4}\dots),x_{i}\in R\} {x∣x=(x1,x2,x3,x4…),xi∈R}。
子空间是向量空间的非空子集,且满足下面两式:
子空间举例: 3 × 3 3\times 3 3×3矩阵的上三角矩阵,矩阵的四大子空间(行空间,列空间,零空间,左零空间)。
对所有的线性方程组 A x = b Ax=b Ax=b,其解都可以写成 x = x p + x n x=x_{p}+x_{n} x=xp+xn,其中 x p x_{p} xp为特解,满足 A x p = b Ax_{p}=b Axp=b, x n x_{n} xn为A的零空间中的某一个解向量,满足 A x n = 0 Ax_{n}=0 Axn=0。零空间为矩阵的四大子空间之一,这篇blog的后面会说明,下面先证明一下这一结论。
证明:
解向量 x x x满足 A x = b Ax=b Ax=b,且 A x p = b Ax_{p}=b Axp=b
则 A ( x − x p = 0 ) A(x-x_{p}=0) A(x−xp=0),故 x − x p = x n x-x_{p}=x_{n} x−xp=xn
即 x = x p + x n x=x_{p}+x_{n} x=xp+xn
主元变量:对应到主元(pivot)上的变量
自由变量:对应到非主元上的变量
例如:求解 A x = b Ax=b Ax=b, A = [ ∗ 1 3 0 − 1 0 0 ∗ 1 1 0 0 0 0 ] , x = [ ∗ u v ∗ w y ] A=\left[ \begin{matrix} *1 & 3 & 0 & -1\\ 0 & 0 & *1 & 1\\ 0 & 0 & 0 & 0\\ \end{matrix} \right] ,x=\left[ \begin{matrix} *u\\ v\\ *w\\ y \end{matrix} \right] A=⎣⎡∗1003000∗10−110⎦⎤,x=⎣⎢⎢⎡∗uv∗wy⎦⎥⎥⎤其中, A A A中加" ∗ * ∗“的数字为主元(pivot),那么对应 x x x中加” ∗ * ∗“的变量就是主元变量,即 u , w u,w u,w,就是矩阵乘法中和 A A A中主元相乘的变量;不加” ∗ * ∗"的变量为非主元变量,即 v , y v,y v,y。
求解顺序是先求 A x = 0 Ax=0 Ax=0的通解 x n x_{n} xn,在求Ax=b的一个特解 x p x_{p} xp,最后组合成组合解 x = x n + x p x=x_{n}+x_{p} x=xn+xp即为线性方程组的解。下面举例说明
A x = [ 1 3 3 2 2 6 9 7 − 1 − 3 3 4 ] [ u v w y ] = [ 1 5 5 ] = b Ax=\left[ \begin{matrix} 1 & 3 & 3 & 2\\ 2 & 6 & 9 & 7\\ -1 & -3 & 3 & 4\\ \end{matrix} \right]\left[ \begin{matrix} u\\ v\\ w\\ y \end{matrix} \right]=\left[ \begin{matrix} 1\\ 5\\ 5 \end{matrix} \right]=b Ax=⎣⎡12−136−3393274⎦⎤⎣⎢⎢⎡uvwy⎦⎥⎥⎤=⎣⎡155⎦⎤=b经过高斯消去后,方程组变为 U x = [ 1 3 3 2 0 0 3 3 0 0 0 0 ] [ u v w y ] = [ 1 3 0 ] = c Ux=\left[ \begin{matrix} 1 & 3 & 3 & 2\\ 0 & 0 & 3 & 3\\ 0 & 0 & 0 & 0\\ \end{matrix} \right]\left[ \begin{matrix} u\\ v\\ w\\ y \end{matrix} \right]=\left[ \begin{matrix} 1\\ 3\\ 0 \end{matrix} \right]=c Ux=⎣⎡100300330230⎦⎤⎣⎢⎢⎡uvwy⎦⎥⎥⎤=⎣⎡130⎦⎤=c把主元列的非主元也消为0, R x = [ 1 3 0 − 1 0 0 1 1 0 0 0 0 ] [ u v w y ] = [ − 2 1 0 ] = d Rx=\left[ \begin{matrix} 1 & 3 & 0 & -1\\ 0 & 0 & 1 & 1\\ 0 & 0 & 0 & 0\\ \end{matrix} \right]\left[ \begin{matrix} u\\ v\\ w\\ y \end{matrix} \right]=\left[ \begin{matrix} -2\\ 1\\ 0 \end{matrix} \right]=d Rx=⎣⎡100300010−110⎦⎤⎣⎢⎢⎡uvwy⎦⎥⎥⎤=⎣⎡−210⎦⎤=d当然,往往不需要化解到 R x = d Rx=d Rx=d,到 U x = c Ux=c Ux=c这一步即可。
[ 1 3 3 2 0 0 3 3 0 0 0 0 ] [ u 0 w 1 ] = [ 0 0 0 ] ⇒ x = [ 1 0 − 1 1 ] \left[ \begin{matrix} 1 & 3 & 3 & 2\\ 0 & 0 & 3 & 3\\ 0 & 0 & 0 & 0\\ \end{matrix} \right]\left[ \begin{matrix} u\\ 0\\ w\\ 1 \end{matrix} \right]=\left[ \begin{matrix} 0\\ 0\\ 0 \end{matrix} \right]\Rightarrow x=\left[ \begin{matrix} 1\\ 0\\ -1\\ 1 \end{matrix} \right] ⎣⎡100300330230⎦⎤⎣⎢⎢⎡u0w1⎦⎥⎥⎤=⎣⎡000⎦⎤⇒x=⎣⎢⎢⎡10−11⎦⎥⎥⎤
⇒ x n = c 1 [ − 3 1 0 0 ] + c 2 [ 1 0 − 1 1 ] \Rightarrow x_{n}=c_{1}\left[ \begin{matrix} -3\\ 1\\ 0\\ 0 \end{matrix} \right]+c_{2}\left[ \begin{matrix} 1\\ 0\\ -1\\ 1 \end{matrix} \right] ⇒xn=c1⎣⎢⎢⎡−3100⎦⎥⎥⎤+c2⎣⎢⎢⎡10−11⎦⎥⎥⎤
rank(A)=r(A)=pivots个数
对一组向量 v 1 , v 2 , v 3 … v k v_{1},v_{2},v_{3}\dots v_{k} v1,v2,v3…vk,只在 c 1 = c 2 = c 3 = ⋯ = c k = 0 c_{1}=c_{2}=c_{3}=\dots =c_{k}=0 c1=c2=c3=⋯=ck=0时, c 1 v 1 + c 2 v 2 + c 3 v 3 + ⋯ + c k v k = 0 c_{1}v_{1}+c_{2}v_{2}+c_{3}v_{3}+\dots +c_{k}v_{k}=0 c1v1+c2v2+c3v3+⋯+ckvk=0,则称 v 1 , v 2 , v 3 … v k v_{1},v_{2},v_{3}\dots v_{k} v1,v2,v3…vk线性无关;否则称为线性相关。
向量空间的基是向量空间中的一组向量,满足完备且线性无关的性质。所谓完备,即这一组向量可以张成(spanning)这个向量空间,也就是说这个向量空间的任何一个向量均可以表示成这组向量的线性组合。
向量空间的维度,即是向量空间的基中的向量个数,又称为自由度。向量空间的基可以选择不同的,但维度不变。
对于矩阵 A m × n A_{m\times n} Am×n,其四大子空间定义如下:
用集合表示是 { y ∣ A x = y } \{y|Ax=y\} {y∣Ax=y},用符号表示是 C ( A ) C(A) C(A),维度为 r ( A ) r(A) r(A)。
用集合表示是 { x ∣ A x = 0 } \{x|Ax=0\} {x∣Ax=0},用符号表示是 N ( A ) N(A) N(A),维度为 n − r ( A ) n-r(A) n−r(A)。
用集合表示是 { y ∣ A T x = y } \{y|A^{T}x=y\} {y∣ATx=y},用符号表示是 C ( A T ) C(A^{T}) C(AT),维度为 r ( A ) r(A) r(A)。
用集合表示是 { x ∣ A T x = 0 } \{x|A^{T}x=0\} {x∣ATx=0},用符号表示是 N ( A T ) N(A^{T}) N(AT),维度为 m − r ( A ) m-r(A) m−r(A)。
N ( A ) N(A) N(A)与 C ( A T ) C(A^{T}) C(AT)是 R n R^{n} Rn的子空间,有 N ( A ) + C ( A T ) = R n N(A)+C(A^{T})=R^{n} N(A)+C(AT)=Rn。
N ( A T ) N(A^{T}) N(AT)与 C ( A ) C(A) C(A)是 R m R^{m} Rm的子空间,有 N ( A T ) + C ( A ) = R m N(A^{T})+C(A)=R^{m} N(AT)+C(A)=Rm。
对 A m × n A_{m\times n} Am×n,若 A A A列满秩,即 r = n r=n r=n,潜在条件是 m > n = r m>n=r m>n=r,存在左逆 B = ( A T A ) − 1 A T B=(A^{T}A)^{-1}A^{T} B=(ATA)−1AT,使得 B A = I n BA=I_{n} BA=In。附带一提,此时 A x = b Ax=b Ax=b至多有一个解,如果 b b b在 C ( A ) C(A) C(A)中,就有一个解,如果 b b b不在 C ( A ) C(A) C(A)中,就无解, b b b的取值维度是 m m m, A A A的列空间维度是 n n n,如果 b b b是 A x Ax Ax的解,那么 b b b就要在 A A A的列空间,这属于从高维空间选择一个向量,让它能落在低维的 C ( A ) C(A) C(A)中,从概率的角度来看,这种概率发生的几率为0,相当于你在 x − y − z x-y-z x−y−z三维空间随机找一个点,这个点还恰好落在 x − y x-y x−y坐标平面中,这是很难的。
对 A m × n A_{m\times n} Am×n,若 A A A行满秩,即 r = m r=m r=m,潜在条件是 n > m = r n>m=r n>m=r,存在右逆 C = A T ( A A T ) − 1 C=A^{T}(AA^{T})^{-1} C=AT(AAT)−1,使得 A C = I m AC=I_{m} AC=Im。附带一提,此时 A x = b Ax=b Ax=b至少有一个解, b b b的取值维度是 m m m, A A A的列空间维度是 m m m,如果 b b b是 A x Ax Ax的解,那么 b b b就要在 A A A的列空间,由于 b b b的取值空间的维度等于 C ( A ) C(A) C(A),所以任 b b b随便取值, b b b都一定在 C ( A ) C(A) C(A)中,所以一定有解,由于 x x x是 n n n维空间中的向量, A x = b Ax=b Ax=b相当于从高维的 x x x映射到低纬的 b b b,所以 x x x一般有多个解。
证明左逆与右逆:
要证明这个结论,需要首先证明一个推论 r ( A ) = r ( A T ) = r ( A A T ) = r ( A T A ) r(A)=r(A^{T})=r(AA^{T})=r(A^{T}A) r(A)=r(AT)=r(AAT)=r(ATA)
不难知道 r ( A ) = r ( A T ) r(A)=r(A^{T}) r(A)=r(AT),下面证明 r ( A ) = r ( A T A ) r(A)=r(A^{T}A) r(A)=r(ATA)
要证明 r ( A ) = r ( A T A ) r(A)=r(A^{T}A) r(A)=r(ATA),需要知道两个条件
A A A与 A T A A^{T}A ATA的列数相同是显而易见的。
同时,考虑到, A x = 0 ⇒ A T A x = A T ( A x ) = 0 Ax=0 \Rightarrow A^{T}Ax=A^{T}(Ax)=0 Ax=0⇒ATAx=AT(Ax)=0
且 A T A x = 0 ⇒ x T A T A x = 0 ⇒ ( A x ) T ( A x ) = 0 ⇒ A x = 0 A^{T}Ax=0 \Rightarrow x^{T}A^{T}Ax=0\Rightarrow (Ax)^{T}(Ax)=0 \Rightarrow Ax=0 ATAx=0⇒xTATAx=0⇒(Ax)T(Ax)=0⇒Ax=0
所以 A x = 0 Ax=0 Ax=0与 A T A x = 0 A^{T}Ax=0 ATAx=0的解一样,所以 N ( A ) = N ( A T A ) N(A)=N(A^{T}A) N(A)=N(ATA)
所以零空间维度 n − r ( A ) = n − r ( A T A ) n-r(A)=n-r(A^{T}A) n−r(A)=n−r(ATA)
所以 r ( A ) = r ( A T A ) r(A)=r(A^{T}A) r(A)=r(ATA)
同理可证 r ( A T ) = r ( A A T ) r(A^{T})=r(AA^{T}) r(AT)=r(AAT)
所以 r ( A ) = r ( A T ) = r ( A A T ) = r ( A T A ) r(A)=r(A^{T})=r(AA^{T})=r(A^{T}A) r(A)=r(AT)=r(AAT)=r(ATA)
A m × n A_{m \times n} Am×n列满秩, r ( A ) = n r(A)=n r(A)=n,所以 r ( A T A ) = n r(A^{T}A)=n r(ATA)=n,所以 A T A A^{T}A ATA是可逆的,所以 ( A T A ) − 1 A T A = I n (A^{T}A)^{-1}A^{T}A=I_{n} (ATA)−1ATA=In,所以左逆 B = ( A T A ) − 1 A T B=(A^{T}A)^{-1}A^{T} B=(ATA)−1AT。
A m × n A_{m \times n} Am×n行满秩, r ( A ) = m r(A)=m r(A)=m,所以 r ( A A T ) = m r(AA^{T})=m r(AAT)=m,所以 A A T AA^{T} AAT是可逆的,所以 A A T ( A A T ) − 1 = I m AA^{T}(AA^{T})^{-1}=I_{m} AAT(AAT)−1=Im,所以右逆 C = A T ( A A T ) − 1 C=A^{T}(AA^{T})^{-1} C=AT(AAT)−1。证毕。
注:同上述条件1,2的方法可以证明,对可逆矩阵 P P P, r ( A ) = r ( P A ) r(A)=r(PA) r(A)=r(PA)。
定义一个变换操作 A ~ \tilde{A} A~,对向量 x , y x,y x,y,常数 c , d c,d c,d,满足
A ~ ( c x + d y ) = c A ~ ( x ) + d A ~ ( y ) \tilde{A}(cx+dy)=c\tilde{A}(x)+d\tilde{A}(y) A~(cx+dy)=cA~(x)+dA~(y)
即线性组合后的变换=变换后线性组合,满足这样性质的变换操作 A ~ \tilde{A} A~,就叫做线性变换。线性变换连接两个线性空间,在变换前后的线性空间的基给定时,矩阵可以表示有限维的线性变换,即 A ~ → A m × n \tilde{A} \rightarrow A_{m\times n} A~→Am×n。 A m × n x = b A_{m\times n}x=b Am×nx=b表示线性空间 R n R^{n} Rn中的向量 x x x变换到 R m R^{m} Rm中的向量 b b b,特殊情况下 m = n m=n m=n,表示把向量 x x x变换到相同线性空间中的另一个向量 b b b。结合下图证明 A ~ → A m × n \tilde{A} \rightarrow A_{m\times n} A~→Am×n。
证明:
上图表示,我们有这样的线性变换 A ~ \tilde{A} A~,能把向量空间 R n R_{n} Rn中的向量x变换到向量空间 R m R_{m} Rm中的向量y,同时向量空间 R n R_{n} Rn有一组基 u 1 , u 2 … u n u_{1},u_{2}\dots u_{n} u1,u2…un,向量空间 R m R_{m} Rm有一组基 v 1 , v 2 … v m v_{1},v_{2}\dots v_{m} v1,v2…vm
我们先看线性变换 A ~ \tilde{A} A~作用于 u 1 u_{1} u1,映射结果用v基表示
A ~ ( u 1 ) = [ v 1 , v 2 … v m ] [ a 11 a 21 ⋅ ˙ ˙ a m 1 ] \tilde{A}(u_{1})=[v_{1},v_{2}\dots v_{m}]\left[ \begin{matrix} a_{11}\\ a_{21}\\ \dot{\dot{\cdot}}\\ a_{m1} \end{matrix} \right] A~(u1)=[v1,v2…vm]⎣⎢⎢⎡a11a21⋅˙˙am1⎦⎥⎥⎤
再分别用线性变换 A ~ \tilde{A} A~作用于 u 2 … u n u_{2}\dots u_{n} u2…un,得到下面的等式
A ~ ( [ u 1 , u 2 … u n ] ) = [ v 1 , v 2 … v m ] [ a 11 a 12 … a 1 n a 21 a 22 … a 2 n ⋅ ˙ ˙ ⋅ ˙ ˙ a m 1 a m 2 … a m n ] = [ v 1 , v 2 … v m ] A m × n \tilde{A}([u_{1},u_{2}\dots u_{n}])=[v_{1},v_{2}\dots v_{m}]\left[ \begin{matrix} a_{11} & a_{12} & \dots &a_{1n}\\ a_{21} & a_{22} & \dots &a_{2n}\\ \dot{\dot{\cdot}}&&&\dot{\dot{\cdot}}\\ a_{m1} & a_{m2} & \dots &a_{mn} \end{matrix} \right]=[v_{1},v_{2}\dots v_{m}]A_{m\times n} A~([u1,u2…un])=[v1,v2…vm]⎣⎢⎢⎡a11a21⋅˙˙am1a12a22am2………a1na2n⋅˙˙amn⎦⎥⎥⎤=[v1,v2…vm]Am×n
我们用u基表示向量x:
x = [ u 1 , u 2 … u n ] [ x 1 x 2 ⋅ ˙ ˙ x n ] x=[u_{1},u_{2}\dots u_{n}]\left[ \begin{matrix} x_{1}\\ x_{2}\\ \dot{\dot{\cdot}}\\ x_{n} \end{matrix} \right] x=[u1,u2…un]⎣⎢⎢⎡x1x2⋅˙˙xn⎦⎥⎥⎤
则线性变换 A ~ \tilde{A} A~作用于x有
A ~ ( x ) = A ~ ( [ u 1 , u 2 … u n ] [ x 1 x 2 ⋅ ˙ ˙ x n ] ) = ( A ~ [ u 1 , u 2 … u n ] ) [ x 1 x 2 ⋅ ˙ ˙ x n ] = [ v 1 , v 2 … v m ] A m × n [ x 1 x 2 ⋅ ˙ ˙ x n ] = [ v 1 , v 2 … v m ] y \begin{aligned} \tilde{A}(x)&=\tilde{A}\left( [u_{1},u_{2}\dots u_{n}]\left[ \begin{matrix} x_{1}\\ x_{2}\\ \dot{\dot{\cdot}}\\ x_{n} \end{matrix} \right]\right)\\ &=(\tilde{A} [u_{1},u_{2}\dots u_{n}])\left[ \begin{matrix} x_{1}\\ x_{2}\\ \dot{\dot{\cdot}}\\ x_{n} \end{matrix} \right] \\ &=[v_{1},v_{2}\dots v_{m}]A_{m\times n}\left[ \begin{matrix} x_{1}\\ x_{2}\\ \dot{\dot{\cdot}}\\ x_{n} \end{matrix} \right] \\ &=[v_{1},v_{2}\dots v_{m}]y \end{aligned} A~(x)=A~⎝⎜⎜⎛[u1,u2…un]⎣⎢⎢⎡x1x2⋅˙˙xn⎦⎥⎥⎤⎠⎟⎟⎞=(A~[u1,u2…un])⎣⎢⎢⎡x1x2⋅˙˙xn⎦⎥⎥⎤=[v1,v2…vm]Am×n⎣⎢⎢⎡x1x2⋅˙˙xn⎦⎥⎥⎤=[v1,v2…vm]y
向量 y y y是用v基表示的,向量 x x x是用u基表示的,这就完成了 A x = y Ax=y Ax=y的操作,把向量 x x x映射到 R m R_{m} Rm空间的向量 y y y,线性变换 A ~ \tilde{A} A~用矩阵 A A A表示。证毕。
两者均作用于向量,不过线性变换连接两个线性空间,理解成把一个线性空间中的向量变换到了另一个线性空间中的某个向量。而线性组合仅仅在自己空间闹,即向量经线性组合后还在原来的向量空间中。
放缩、投影、反射、微分、积分都是线性变换。
根据 A x = y Ax=y Ax=y,把 x = [ 1 , 0 , 0 …   ] x=[1,0,0 \dots] x=[1,0,0…]带入,这样求得的 y y y就是 A A A的第一列,同理改变 x x x中1的位置,可求 A A A的剩余列,用这种方法求二维旋转、映射、反射矩阵。下图的 c , s c,s c,s分别是 c o s θ cos\theta cosθ与 s i n θ sin\theta sinθ的缩写
旋转(rotation)矩阵
R = [ c − s s c ] R=\left[ \begin{matrix} c & -s\\ s & c \end{matrix} \right] R=[cs−sc]
映射(projection)矩阵
P = [ c 2 c s c s s 2 ] P=\left[ \begin{matrix} c^{2} & cs\\ cs & s^{2} \end{matrix} \right] P=[c2cscss2]
反射(reflection)矩阵,反射矩阵求法除了类似上面,还可以结合映射推出。设向量 x x x, H x Hx Hx表示反射向量, P x Px Px表示映射的向量,则根据向量加法的平行四边形法则( x , H x x,Hx x,Hx是边, 2 P x 2Px 2Px是对角线),有 x + H x = 2 P x x+Hx=2Px x+Hx=2Px
H = 2 P − I = [ 2 c 2 − 1 2 c s 2 c s 2 s 2 − 1 ] H=2P-I=\left[ \begin{matrix} 2c^{2}-1 & 2cs\\ 2cs & 2s^{2}-1 \end{matrix} \right] H=2P−I=[2c2−12cs2cs2s2−1]
我们要用矩阵解决图的知识,就要先把图抽象成矩阵。以上图为例,左边的图的关联矩阵即为 A A A, A A A的每一行代表一条边,每一列代表一个结点,每一行中的-1表示这条边的起点结点,即边离开的结点,每一行中的1表示这条边的终点结点,即边进入的结点。
如果某些边连成一个循环(loop),则说明这些边线性相关,如上图的边1,2,3与边3,4,5。
以电学为例, x = [ x 1 , x 2 , x 3 , x 4 ] T x=[x_{1},x_{2},x_{3},x_{4}]^{T} x=[x1,x2,x3,x4]T表示四个结点的点电势
A x = [ − 1 1 0 0 − 1 0 1 0 0 − 1 1 0 0 − 1 0 1 0 0 − 1 1 ] [ x 1 x 2 x 3 x 4 ] Ax=\left[ \begin{matrix} -1 & 1 & 0 & 0\\ -1 & 0 & 1 & 0\\ 0 & -1 & 1 & 0\\ 0 & -1 & 0 & 1\\ 0 & 0 & -1 & 1 \end{matrix} \right]\left[ \begin{matrix} x_{1}\\ x_{2}\\ x_{3}\\ x_{4} \end{matrix} \right] Ax=⎣⎢⎢⎢⎢⎡−1−100010−1−100110−100011⎦⎥⎥⎥⎥⎤⎣⎢⎢⎡x1x2x3x4⎦⎥⎥⎤
y = [ y 1 , y 2 , y 3 , y 4 , y 5 ] T y=[y_{1},y_{2},y_{3},y_{4},y_{5}]^{T} y=[y1,y2,y3,y4,y5]T表示五条边的边电流,沿图中边的箭头指向的电流为正电流。
A T y = [ − 1 − 1 0 0 0 1 0 − 1 − 1 0 0 1 1 0 − 1 0 0 0 1 1 ] [ y 1 y 2 y 3 y 4 y 5 ] A^{T}y=\left[ \begin{matrix} -1 & -1 &0 & 0 & 0\\ 1 & 0 & -1 & -1 & 0\\ 0 & 1 & 1 & 0 & -1\\ 0 & 0 & 0 & 1 & 1 \end{matrix} \right]\left[ \begin{matrix} y_{1}\\ y_{2}\\ y_{3}\\ y_{4}\\ y_{5} \end{matrix} \right] ATy=⎣⎢⎢⎡−1100−10100−1100−10100−11⎦⎥⎥⎤⎣⎢⎢⎢⎢⎡y1y2y3y4y5⎦⎥⎥⎥⎥⎤
零空间的向量 x x x一定满足
{ x 2 − x 1 = 0 x 3 − x 1 = 0 x 3 − x 2 = 0 x 4 − x 2 = 0 x 4 − x 3 = 0 \begin{cases} x_{2}-x_{1}=0\\ x_{3}-x_{1}=0\\ x_{3}-x_{2}=0\\ x_{4}-x_{2}=0\\ x_{4}-x_{3}=0 \end{cases} ⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧x2−x1=0x3−x1=0x3−x2=0x4−x2=0x4−x3=0
可见零空间中的向量全部满足结点等电势的条件,所以零空间维度一定是1,即 N ( A ) = 1 N(A)=1 N(A)=1,即 r ( A ) = r(A)= r(A)=结点数量 − 1 -1 −1, N ( A ) N(A) N(A)中的向量表示成 x = c [ 1 , 1 , 1 , 1 , 1 ] T x=c[1,1,1,1,1]^{T} x=c[1,1,1,1,1]T,c为常数。
列空间的向量 e e e满足 A x = e Ax=e Ax=e,所以列空间中的向量表示给各个边的外加电压源。
左零空间的向量 y y y一定满足
{ − y 1 − y 2 = 0 y 1 − y 3 − y 4 = 0 y 2 + y 3 − y 5 = 0 y 4 + y 5 = 0 \begin{cases} -y_{1}-y_{2}=0\\ y_{1}-y_{3}-y_{4}=0\\ y_{2}+y_{3}-y_{5}=0\\ y_{4}+y_{5}=0 \end{cases} ⎩⎪⎪⎪⎨⎪⎪⎪⎧−y1−y2=0y1−y3−y4=0y2+y3−y5=0y4+y5=0
可见左零空间中的向量满足基尔霍夫电流定律,即各个结点的电流流入等于流出。其基向量可由 L o o p Loop Loop快速找出,沿着 L o o p Loop Loop的方向,顺方向的边电流为1,逆方向的边电流为-1,且按照 L o o p Loop Loop得到的电流分布一定也满足基尔霍夫电流定律,例如A的两个 L o o p Loop Loop确定了基向量 [ 1 , − 1 , 1 , 0 , 0 ] T [1,-1,1,0,0]^{T} [1,−1,1,0,0]T与 [ 0 , 0 , 1 , − 1 , 1 ] T [0,0,1,-1,1]^{T} [0,0,1,−1,1]T,所以 N ( A T ) = L o o p 数 N(A^{T})=Loop数 N(AT)=Loop数,所以 r = r= r=边数- L o o p Loop Loop数。
行空间的向量 I I I满足 A T y = I A^{T}y=I ATy=I,所以行空间的向量表示各个结点的外加电流源。
最小生成树的边的个数为 r ( A ) − 1 r(A)-1 r(A)−1,即 r − 1 r-1 r−1个线性无关的行所对应的边,就可以形成一个最小生成树。
我们可以进一步推导欧拉公式,用#表示数量,由左零空间知:r=#边-#Loop;由零空间知:r=#点-1。所以欧拉公式:#点-#边+#Loop=1
参考书籍:
《Linear Algebra and Its Applications》