有限實矩陣乘法法則的證明
設 m , n , p , q m,n,p,q m , n , p , q 為正整數,A ∈ R m × n A\in\mathbb R^{m\times n} A ∈ R m × n 、B ∈ R n × p B\in\mathbb R^{n\times p} B ∈ R n × p 、C ∈ R p × q C\in\mathbb R^{p\times q} C ∈ R p × q 。以下只用行乘欄定義與實數的有限求和。對任意輸出位置 ( i , ℓ ) (i,\ell) ( i , ℓ ) ,
( ( A B ) C ) i ℓ = ∑ k = 1 p ( ∑ j = 1 n a i j b j k ) c k ℓ = ∑ j = 1 n a i j ( ∑ k = 1 p b j k c k ℓ ) = ( A ( B C ) ) i ℓ . \begin{aligned}
((AB)C)_{i\ell}
&=\sum_{k=1}^{p}\left(\sum_{j=1}^{n}a_{ij}b_{jk}\right)c_{k\ell}\\
&=\sum_{j=1}^{n}a_{ij}\left(\sum_{k=1}^{p}b_{jk}c_{k\ell}\right)
=(A(BC))_{i\ell}.
\end{aligned} (( A B ) C ) i ℓ = k = 1 ∑ p ( j = 1 ∑ n a ij b j k ) c k ℓ = j = 1 ∑ n a ij ( k = 1 ∑ p b j k c k ℓ ) = ( A ( B C ) ) i ℓ .
中間等號只交換兩個有限和的求和次序,並使用實數分配律。兩邊同為 m × q m\times q m × q 矩陣,每個位置相等,便證明結合律;沒有調換矩陣因子的次序。
對 D ∈ R n × p D\in\mathbb R^{n\times p} D ∈ R n × p ,同一定義給出
[ A ( B + D ) ] i k = ∑ j = 1 n a i j ( b j k + d j k ) = ( A B ) i k + ( A D ) i k . [A(B+D)]_{ik}=\sum_{j=1}^{n}a_{ij}(b_{jk}+d_{jk})
=(AB)_{ik}+(AD)_{ik}. [ A ( B + D ) ] ik = j = 1 ∑ n a ij ( b j k + d j k ) = ( A B ) ik + ( A D ) ik .
對 E ∈ R m × n E\in\mathbb R^{m\times n} E ∈ R m × n ,則有
[ ( A + E ) B ] i k = ∑ j = 1 n ( a i j + e i j ) b j k = ( A B ) i k + ( E B ) i k . [(A+E)B]_{ik}=\sum_{j=1}^{n}(a_{ij}+e_{ij})b_{jk}
=(AB)_{ik}+(EB)_{ik}. [( A + E ) B ] ik = j = 1 ∑ n ( a ij + e ij ) b j k = ( A B ) ik + ( E B ) ik .
所以在所寫的相容大小下,兩條分配律均成立。對任意實純量 c c c ,
[ ( c A ) B ] i k = ∑ j ( c a i j ) b j k = c ∑ j a i j b j k = ∑ j a i j ( c b j k ) = [ A ( c B ) ] i k , [(cA)B]_{ik}=\sum_j(ca_{ij})b_{jk}
=c\sum_j a_{ij}b_{jk}
=\sum_j a_{ij}(cb_{jk})=[A(cB)]_{ik}, [( c A ) B ] ik = j ∑ ( c a ij ) b j k = c j ∑ a ij b j k = j ∑ a ij ( c b j k ) = [ A ( c B ) ] ik ,
逐項相等便證明 ( c A ) B = c ( A B ) = A ( c B ) (cA)B=c(AB)=A(cB) ( c A ) B = c ( A B ) = A ( c B ) 。特別地,對 x , y ∈ R n x,y\in\mathbb R^n x , y ∈ R n 與實數 s , t s,t s , t ,
[ A ( s x + t y ) ] i = ∑ j a i j ( s x j + t y j ) = s ( A x ) i + t ( A y ) i . [A(sx+ty)]_i=\sum_j a_{ij}(sx_j+ty_j)
=s(Ax)_i+t(Ay)_i. [ A ( s x + t y ) ] i = j ∑ a ij ( s x j + t y j ) = s ( A x ) i + t ( A y ) i .
這證明了比較同一線性系統的解時所用的矩陣乘向量線性性質。所有恆等式都只針對大小相容的有限實矩陣,不聲稱任意矩陣因子可交換或可消去。
有限消元必停止,並保持解集
設 A ∈ R m × n A\in\mathbb R^{m\times n} A ∈ R m × n 、b ∈ R m b\in\mathbb R^m b ∈ R m ,其中 m , n m,n m , n 是有限正整數。允許的行變換為交換不同的兩行、以非零標量乘一行,以及把一行的標量倍加到另一行。逆變換分別為同一交換、乘以倒數,以及減去該倍數。因此對整個增廣陣施行變換恰好保持 A x = b Ax=b A x = b 的解集:新方程由舊方程推出,逆變換給出反向蘊含。每個行變換也等於左乘把同一變換施於單位矩陣所得的可逆初等矩陣。
從左到右掃描係數欄,並記錄下一未使用行。若當前欄在未使用行中有非零元素,就將其所在行交換到下一位置,除以非零主元,再從其餘各行減去適當倍數,清空該欄其他元素,然後推進未使用行指標。若該欄所有未使用位置都是零,就跳過該欄。先前主元欄始終是單位欄:當前未使用行在這些欄均為零,所以新主元行以及後續減法保留這些零與原主元。總共只有 n n n 次欄掃描及至多 min ( m , n ) \min(m,n) min ( m , n ) 個主元,每次只作有限個行變換,故算法必停止。最後非零係數行的主元欄依次遞增,各主元上下均為零,其餘係數行全零。這證明下面使用的簡化階梯形確實能得到,而非假設它最終出現。
解的分類與齊次自由度
令 r r r 為係數部分的主元數。若某個零係數行對應非零變換後右端,就出現不可能的方程 0 = c 0=c 0 = c ,因此無解。否則任意指定 n − r n-r n − r 個非主元變量的實數值。每個主元行都把其主元變量寫成變換後右端減去自由變量的已知線性組合,其中沒有其他主元變量。這些公式既構造解,也恢復每一個解。若 r = n r=n r = n ,解唯一;若 r < n r<n r < n ,改變自由變量就改變解向量,故有無窮多解。
對 A z = 0 Az=0 A z = 0 ,全部自由變量取零給出零解。若 r < n r<n r < n ,將一個自由變量設為一,其餘設為零,再按主元公式求解,就構造出非零齊次解;若 r = n r=n r = n ,公式迫使所有齊次變量為零。對相容系統固定一個解 x p x_p x p ,兩解相減表明每個解均為 x p + z x_p+z x p + z ,其中 A z = 0 Az=0 A z = 0 ;代入又證明反向包含。
當 A A A 為方陣且每欄都有主元時,係數階梯形為 I I I 。有限個初等矩陣之積 E E E 滿足 E A = I EA=I E A = I 。因為 E E E 可逆,A = E − 1 A=E^{-1} A = E − 1 ,故也有 A E = I AE=I A E = I ,所以 E E E 是雙側逆。若缺少主元,上面構造的非零齊次解排除可逆性。這也證明可逆時,對 [ A ∣ I ] [A\mid I] [ A ∣ I ] 作相同行變換會得到 [ I ∣ A − 1 ] [I\mid A^{-1}] [ I ∣ A − 1 ] 。
向量空間是在域 F F F 上配備加法和數乘,並滿足通常的阿貝爾群及分配律公理的集合。欄向量只是一個模型。次數至多為 d d d 的多項式空間 P d ( F ) P_d(F) P d ( F ) 和空間之間的線性映射也是模型。零多項式屬於 P d ( F ) P_d(F) P d ( F ) ,雖然其次數通常不定義。
子空間 包含零,且對加法和數乘封閉。若每個向量都是某列表中向量的線性組合,該列表張成空間;若只有零系數組合能得到零,它線性無關。基 同時滿足兩者。有限生成列表可通過刪除相關項縮減成基;線性無關列表可通過添加其張成空間外的向量擴充成基,直到張成給定的有限生成列表。
交換引理。 若 r r r 個向量的線性無關列表位於 s s s 個向量的張成空間中,則 r ≤ s r\le s r ≤ s 。理由是:用生成列表表示第一個無關向量,利用某個非零系數,以它替換一個生成向量,再重複。每一步的線性無關性保證下一個無關向量對尚未被替換的某個生成向量有非零系數,因此至少需要 r r r 個位置。對兩個基雙向比較得到長度相等;共同長度為 dim V \dim V dim V 。
因此在 n n n 維空間中,任意 n n n 個線性無關向量構成基,任意 n n n 個張成向量也構成基。只有在證明線性無關性或張成性之後,計數列表才有用。
不預設計數結論的有限基存在與擴充
設實向量空間 V V V 已給定有限生成列表 t 1 , … , t N t_1,\ldots,t_N t 1 , … , t N 。先證明任何線性無關列表 u 1 , … , u k u_1,\ldots,u_k u 1 , … , u k 的長度不超過 N N N 。插入 j j j 個向量後,維持一個由 u 1 , … , u j u_1,\ldots,u_j u 1 , … , u j 與 N − j N-j N − j 個剩餘舊向量組成的生成列表。將 u j + 1 u_{j+1} u j + 1 按此列表展開,至少一個剩餘舊向量的係數非零;否則它在先前 u i u_i u i 的張成空間中,與無關性矛盾。解出這個舊向量,再以 u j + 1 u_{j+1} u j + 1 取代它。新列表仍張成同一空間,而且保留全部先前插入向量。若 k > N k>N k > N ,則 N N N 步後前 N N N 個向量已張成 V V V ,與 u N + 1 u_{N+1} u N + 1 的無關性矛盾。此即所需上界,也包括 N = 0 N=0 N = 0 。
每個子空間 W W W 都有有限基。從空的無關列表開始;若當前張成空間尚不是 W W W ,就在 W W W 中取一個不在該張成空間內的向量。若新向量在某關係中的係數非零,就能由舊向量表示它,矛盾,故新列表仍無關。已證上界允許至多添加 N N N 次,所以過程必停止於 W W W 的無關生成列表。若 W = { 0 } W=\{0\} W = { 0 } ,立即得到空基。改從 W W W 內任意給定無關列表開始,同樣證明該列表可擴充為 W W W 的基;只需有界有限次選擇。最後,若兩組基的長度為 p , q p,q p , q ,分別把它們用作上界證明中的有限生成列表,得到 p ≤ q p\le q p ≤ q 與 q ≤ p q\le p q ≤ p 。故基的長度有良定義,稱為維數。這些論證補足秩–零度定理所用的基存在、擴充與維數事實。
映射 T : V → W T:V\to W T : V → W 若滿足 T ( α v + β u ) = α T v + β T u T(\alpha v+\beta u)=\alpha Tv+\beta Tu T ( α v + β u ) = α T v + β T u ,則為線性。其核與像都是子空間。選取 ker T \ker T ker T 的基 k 1 , … , k r k_1,\ldots,k_r k 1 , … , k r ,並以 v 1 , … , v s v_1,\ldots,v_s v 1 , … , v s 擴充為基,則 T v 1 , … , T v s Tv_1,\ldots,Tv_s T v 1 , … , T v s 構成 im T \operatorname{im}T im T 的基:展開任意輸入可證明張成性;若這些像線性相關,相應輸入組合落入核,而擴充基的線性無關性迫使所有系數為零。因此
dim V = dim ker T + dim im T . \dim V=\dim\ker T+\dim\operatorname{im}T. dim V = dim ker T + dim im T .
這就是秩–零度定理 。有限維且維數相等時,單射與滿射等價;無限維空間中該等價可能失效。
若 x x x 與 x p x_p x p 都是 A x = b Ax=b A x = b 的解,則它們的差滿足 A ( x − x p ) = b − b = 0 A(x-x_p)=b-b=0 A ( x − x p ) = b − b = 0 。
因此,描述全部解的問題歸結為:對一個已知解作哪些改變,能夠保持右端不變?
這些改變恰好組成相應齊次方程組的零空間。
為甚麼齊次方程組特別
定義
齊次方程組 齊次線性方程組是形如
A x = 0 Ax = 0 A x = 0 的線性方程組。
其中 x = 0 x = 0 x = 0 稱為平凡解。
由於 A 0 = 0 A0=0 A 0 = 0 ,齊次方程組一定一致。需要判斷的是:除了零向量之外,是否還有非平凡解。
零空間把所有齊次解收集起來
定義
零空間 對實 m × n m\times n m × n 矩陣 A A A ,其零空間定義為
N ( A ) = { x ∈ R n : A x = 0 m } . N(A) = \{x\in\mathbb R^n : Ax = 0_m\}. N ( A ) = { x ∈ R n : A x = 0 m } . 因此 N ( A ) N(A) N ( A ) 就是齊次方程組 A x = 0 Ax = 0 A x = 0 的解集。
輸入向量屬於 R n \mathbb R^n R n ,輸出向量屬於 R m \mathbb R^m R m 。判斷輸入是否屬於 N ( A ) N(A) N ( A ) ,就是檢查輸出是否為零向量。
例題
零空間成員測試其實很直接 令
A = [ 1 1 0 0 1 1 ] , x = [ 1 − 1 1 ] , z = [ 1 0 0 ] . A =
\begin{bmatrix}
1 & 1 & 0 \\
0 & 1 & 1
\end{bmatrix},
\qquad
x =
\begin{bmatrix}
1 \\ -1 \\ 1
\end{bmatrix},
\qquad
z =
\begin{bmatrix}
1 \\ 0 \\ 0
\end{bmatrix}. A = [ 1 0 1 1 0 1 ] , x = 1 − 1 1 , z = 1 0 0 . 計算得到
A x = [ 0 0 ] , A z = [ 1 0 ] . Ax =
\begin{bmatrix}
0 \\ 0
\end{bmatrix},
\qquad
Az =
\begin{bmatrix}
1 \\ 0
\end{bmatrix}. A x = [ 0 0 ] , A z = [ 1 0 ] . 因此 x ∈ N ( A ) x \in N(A) x ∈ N ( A ) ,但 z ∉ N ( A ) z \notin N(A) z ∈ / N ( A ) 。要測試某個向量是否屬於零空間,
最直接的方法就是實際計算 A x Ax A x 。
行化簡會揭示零空間的形狀
要找 N ( A ) N(A) N ( A ) ,就是解 A x = 0 Ax = 0 A x = 0 ,也就是對增廣系統 [ A ∣ 0 ] [A \mid 0] [ A ∣ 0 ] 做行化簡。
主元告訴你哪些變量被決定,自由變量則告訴你剩下多少自由方向。
例題
解一個齊次方程組並描述零空間 令
A = [ 1 2 − 1 2 4 − 2 ] . A =
\begin{bmatrix}
1 & 2 & -1 \\
2 & 4 & -2
\end{bmatrix}. A = [ 1 2 2 4 − 1 − 2 ] . 要求解 A x = 0 Ax = 0 A x = 0 ,把它行化簡:
[ 1 2 − 1 0 2 4 − 2 0 ] ∼ [ 1 2 − 1 0 0 0 0 0 ] . \left[
\begin{array}{ccc|c}
1 & 2 & -1 & 0 \\
2 & 4 & -2 & 0
\end{array}
\right]
\sim
\left[
\begin{array}{ccc|c}
1 & 2 & -1 & 0 \\
0 & 0 & 0 & 0
\end{array}
\right]. [ 1 2 2 4 − 1 − 2 0 0 ] ∼ [ 1 0 2 0 − 1 0 0 0 ] . 所以方程變成
x 1 + 2 x 2 − x 3 = 0. x_1 + 2x_2 - x_3 = 0. x 1 + 2 x 2 − x 3 = 0. 令 x 2 = s x_2 = s x 2 = s 、x 3 = t x_3 = t x 3 = t 為自由變量,則
x 1 = − 2 s + t . x_1 = -2s + t. x 1 = − 2 s + t . 因此
x = [ − 2 s + t s t ] = s [ − 2 1 0 ] + t [ 1 0 1 ] . x =
\begin{bmatrix}
-2s + t \\
s \\
t
\end{bmatrix}
=
s
\begin{bmatrix}
-2 \\ 1 \\ 0
\end{bmatrix}
+
t
\begin{bmatrix}
1 \\ 0 \\ 1
\end{bmatrix}. x = − 2 s + t s t = s − 2 1 0 + t 1 0 1 . 所以
N ( A ) = Span { [ − 2 1 0 ] , [ 1 0 1 ] } . N(A) =
\operatorname{Span}
\left\{
\begin{bmatrix}
-2 \\ 1 \\ 0
\end{bmatrix},
\begin{bmatrix}
1 \\ 0 \\ 1
\end{bmatrix}
\right\}. N ( A ) = Span ⎩ ⎨ ⎧ − 2 1 0 , 1 0 1 ⎭ ⎬ ⎫ .
這裏 Span \operatorname{Span} Span 表示所列向量的全部實線性組合。參數 s s s 與 t t t 可以獨立取值,因此公式給出了所有齊次解。相應的集合記號見
4.2 集合語言與解集 。
為甚麼自由變量會產生無限多個齊次解
定理
只要有自由變量,就有無限多解 如果齊次系統 A x = 0 Ax = 0 A x = 0 至少有一個自由變量,那麼它就會有無限多個解。
自由變量可以取任意實數。因為它本身就是解向量的一個座標,改變其數值必然改變整個向量。以實際自由座標作為參數時,參數不可能從完整的解向量中消失。
如果變量數目多於主元方程數目,就至少有一個自由變量。同一論證說明,此時齊次方程組有無限多個解。
例題
一個自由變量已經會產生整條解線 假設行化簡後得到
x 1 − 3 x 2 = 0. x_1 - 3x_2 = 0. x 1 − 3 x 2 = 0. 如果令 x 2 = t x_2 = t x 2 = t ,則 x 1 = 3 t x_1 = 3t x 1 = 3 t ,所以所有解都可以寫成
[ x 1 x 2 ] = t [ 3 1 ] , t ∈ R . \begin{bmatrix}
x_1 \\ x_2
\end{bmatrix}
=
t
\begin{bmatrix}
3 \\ 1
\end{bmatrix},
\qquad t \in R. [ x 1 x 2 ] = t [ 3 1 ] , t ∈ R . 由於 t t t 可以取無限多個值,而不同的值給出不同的向量,所以解集有無限多個元素。
例題
零空間也可能只剩平凡解 令
A = [ 1 0 0 1 ] . A =
\begin{bmatrix}
1 & 0 \\
0 & 1
\end{bmatrix}. A = [ 1 0 0 1 ] . 則 A x = 0 Ax = 0 A x = 0 就只是
x 1 = 0 , x 2 = 0. x_1 = 0, \qquad x_2 = 0. x 1 = 0 , x 2 = 0. 因此唯一解是零向量,所以
N ( A ) = { 0 } N(A) = \{0\} N ( A ) = { 0 } 這個例子與前面有自由變量的情形相反。
零空間本身是一個子空間
兩個齊次解相加,或把齊次解乘以一個實純量,仍然得到齊次解。連同零向量的存在,這些正是定義 R n \mathbb R^n R n 的子空間所需的封閉性質。
定理
零空間對線性組合封閉 對任何矩陣 A A A ,N ( A ) N(A) N ( A ) 都是一個子空間。特別是:
0 ∈ N ( A ) 0 \in N(A) 0 ∈ N ( A ) ;
若 u , v ∈ N ( A ) u, v \in N(A) u , v ∈ N ( A ) ,則 u + v ∈ N ( A ) u + v \in N(A) u + v ∈ N ( A ) ;
若 u ∈ N ( A ) u \in N(A) u ∈ N ( A ) 而 c c c 是純量,則 c u ∈ N ( A ) cu \in N(A) c u ∈ N ( A ) 。
證明
為甚麼零空間是子空間 已知 0 ∈ N ( A ) 0 \in N(A) 0 ∈ N ( A ) ,因為 A 0 = 0 A0 = 0 A 0 = 0 。
而若 u , v ∈ N ( A ) u, v \in N(A) u , v ∈ N ( A ) ,則 A u = 0 Au = 0 A u = 0 、A v = 0 Av = 0 A v = 0 。由線性性質,
A ( u + v ) = A u + A v = 0 + 0 = 0 , A(u+v) = Au + Av = 0 + 0 = 0, A ( u + v ) = A u + A v = 0 + 0 = 0 , 所以 u + v ∈ N ( A ) u+v \in N(A) u + v ∈ N ( A ) 。
同樣,若 u ∈ N ( A ) u \in N(A) u ∈ N ( A ) 而 c c c 是純量,則
A ( c u ) = c ( A u ) = c ⋅ 0 = 0 , A(cu) = c(Au) = c \cdot 0 = 0, A ( c u ) = c ( A u ) = c ⋅ 0 = 0 , 因此 c u ∈ N ( A ) cu \in N(A) c u ∈ N ( A ) 。
一般的子空間定義與封閉性判別見
6.2 子空間 。這裏的計算已經證明了對零空間向量作線性組合所需的性質。
如何由 RREF 讀出零空間基底
基底是一組線性獨立的張成向量。對 N ( A ) N(A) N ( A ) ,自由座標的描述直接給出這樣一組向量:它們生成每個解,而只有全零係數才能組合出零向量。一般的定義見
6.5 基底與維數 。
具體構造如下:
先將 A A A 行化簡;
分清楚主元變量與自由變量;
每次將一個自由變量設成 1 1 1 ,其餘自由變量設成 0 0 0 ;
由方程解回主元變量;
對每個自由變量重複一次。
這些向量確實構成一組基底,而不只是候選。設共有 k k k 個自由座標,v j v_j v j 是把第 j j j 個自由座標取一、其餘自由座標取零後得到的解。對任意 x ∈ N ( A ) x\in N(A) x ∈ N ( A ) ,記其自由座標為 t 1 , … , t k t_1,\ldots,t_k t 1 , … , t k 。由封閉性,t 1 v 1 + ⋯ + t k v k t_1v_1+\cdots+t_kv_k t 1 v 1 + ⋯ + t k v k 仍是齊次解,其自由座標與 x x x 完全相同,而化簡後的主元方程唯一確定其餘座標。因此這個組合等於 x x x ,證明了張成。
再證明獨立性:若 c 1 v 1 + ⋯ + c k v k = 0 c_1v_1+\cdots+c_kv_k=0 c 1 v 1 + ⋯ + c k v k = 0 ,則其第 j j j 個自由座標恰好為 c j c_j c j ,因為只有 v j v_j v j 在該位置取一。因此所有 c j = 0 c_j=0 c j = 0 ,無需再次消元便證得線性獨立。這些向量於是構成基底,其數目就是零度。若沒有自由變量,零空間是 { 0 } \{0\} { 0 } ,其基底為空列表,而不是含有零向量的列表;這與零度為零相符。
零度等於自由座標的數目
剛才構造的基底對每個自由座標恰有一個向量。基底的向量數就是 N ( A ) N(A) N ( A ) 的維數,稱為 A A A 的零度。若一個 m × n m\times n m × n 矩陣的 RREF 有 r r r 個主元,就有 n − r n-r n − r 個自由變量,因此
nullity ( A ) = n − r . \operatorname{nullity}(A)=n-r. nullity ( A ) = n − r .
主元數 r r r 稱為秩;這個數不依賴所選的化簡過程,其理由見
5.2 RREF 的唯一性與秩 。用秩表示,上式就是
nullity ( A ) = n − rank ( A ) . \operatorname{nullity}(A)=n-\operatorname{rank}(A). nullity ( A ) = n − rank ( A ) .
齊次解控制非齊次解的結構
一旦找到 A x = b Ax=b A x = b 的一個特解 x p x_p x p ,齊次解就給出了保持右端不變的全部改變量。
定理
所有解都等於某個特解加上一個零空間向量 設 x p x_p x p 是 A x = b Ax = b A x = b 的一個特解。
則向量 x x x 是 A x = b Ax = b A x = b 的解,當且僅當
x = x p + v x = x_p + v x = x p + v 其中 v ∈ N ( A ) v \in N(A) v ∈ N ( A ) 。
若把解集記為 S ( A , b ) S(A,b) S ( A , b ) ,定理即為 S ( A , b ) = x p + N ( A ) S(A,b)=x_p+N(A) S ( A , b ) = x p + N ( A ) 。
證明
為甚麼全部解都具有 x p + N ( A ) x_p + N(A) x p + N ( A ) 的形式 先設 x x x 是 A x = b Ax = b A x = b 的任意一個解。那麼
A x = b 且 A x p = b . Ax = b
\qquad \text{且} \qquad
Ax_p = b. A x = b 且 A x p = b . 相減得
A ( x − x p ) = 0. A(x - x_p) = 0. A ( x − x p ) = 0. 所以 x − x p ∈ N ( A ) x - x_p \in N(A) x − x p ∈ N ( A ) ,即 x = x p + v x = x_p + v x = x p + v ,其中 v ∈ N ( A ) v \in N(A) v ∈ N ( A ) 。
反過來,若 v ∈ N ( A ) v \in N(A) v ∈ N ( A ) ,則 A v = 0 Av = 0 A v = 0 。因此
A ( x p + v ) = A x p + A v = b + 0 = b . A(x_p + v) = Ax_p + Av = b + 0 = b. A ( x p + v ) = A x p + A v = b + 0 = b . 所以任何形如 x p + v x_p + v x p + v 的向量,也必定是系統的解。
概念視角 幾何
把整個零空間作同一個平移 固定一個特解 x p x_p x p 後,x p + N ( A ) x_p+N(A) x p + N ( A ) 表示所有 x p + v x_p+v x p + v 組成的集合,其中 v ∈ N ( A ) v\in N(A) v ∈ N ( A ) 。加上 x p x_p x p 就是讓零空間的每個點作同一個位移。這建立了齊次解與非齊次解之間的一一對應,逆過程是減去 x p x_p x p 。前面的證明分別說明了平移後的每個點都有效,以及每個解都能這樣得到。
特解本身一般不唯一,但平移所得的集合與特解選擇無關。若 x q x_q x q 是另一個解,則 h = x q − x p ∈ N ( A ) h=x_q-x_p\in N(A) h = x q − x p ∈ N ( A ) 。對每個 v ∈ N ( A ) v\in N(A) v ∈ N ( A ) ,有 x q + v = x p + ( h + v ) x_q+v=x_p+(h+v) x q + v = x p + ( h + v ) ,而封閉性保證 h + v ∈ N ( A ) h+v\in N(A) h + v ∈ N ( A ) 。因此 x q + N ( A ) ⊆ x p + N ( A ) x_q+N(A)\subseteq x_p+N(A) x q + N ( A ) ⊆ x p + N ( A ) ;把 h h h 換成 − h -h − h 可得反向包含。沿解集選擇不同起點,描述的仍是同一個解族。
一致性不可省略:沒有特解,就無法開始這個描述。當 b ≠ 0 b\ne0 b = 0 時,一致方程組的解集不含零向量,因為 A 0 = 0 ≠ b A0=0\ne b A 0 = 0 = b 。它是子空間的平移,稱為仿射子空間,卻不是向量子空間;兩個解相加後對應的右端是 2 b 2b 2 b ,而非 b b b 。只有在齊次情況 b = 0 b=0 b = 0 ,解集才就是零空間本身。
例題
用一個特解與兩個零空間方向描述全部解 假設系統 A x = b Ax=b A x = b 有一個已知解
p = [ 1 0 − 1 0 1 0 ] , p=
\begin{bmatrix}
1\\0\\-1\\0\\1\\0
\end{bmatrix}, p = 1 0 − 1 0 1 0 , 而齊次系統 A x = 0 Ax=0 A x = 0 有以下兩個解方向:
q 1 = [ 2 − 3 1 0 0 0 ] , q 2 = [ − 3 1 0 − 2 2 1 ] . q_1=
\begin{bmatrix}
2\\-3\\1\\0\\0\\0
\end{bmatrix},
\qquad
q_2=
\begin{bmatrix}
-3\\1\\0\\-2\\2\\1
\end{bmatrix}. q 1 = 2 − 3 1 0 0 0 , q 2 = − 3 1 0 − 2 2 1 . 若這兩個方向張成 N ( A ) N(A) N ( A ) ,那麼 A x = b Ax=b A x = b 的所有解都可寫成
x = p + s q 1 + t q 2 , s , t ∈ R . x=p+s q_1+t q_2,
\qquad s,t\in R. x = p + s q 1 + t q 2 , s , t ∈ R . 展開來看,就是
x = [ 1 0 − 1 0 1 0 ] + s [ 2 − 3 1 0 0 0 ] + t [ − 3 1 0 − 2 2 1 ] . x=
\begin{bmatrix}
1\\0\\-1\\0\\1\\0
\end{bmatrix}
+s
\begin{bmatrix}
2\\-3\\1\\0\\0\\0
\end{bmatrix}
+t
\begin{bmatrix}
-3\\1\\0\\-2\\2\\1
\end{bmatrix}. x = 1 0 − 1 0 1 0 + s 2 − 3 1 0 0 0 + t − 3 1 0 − 2 2 1 . 這裏 A p = b Ap=b A p = b ,而 A q 1 = A q 2 = 0 Aq_1=Aq_2=0 A q 1 = A q 2 = 0 。向量 p p p 給出所需的輸出,方向 q 1 q_1 q 1 與 q 2 q_2 q 2 則容許輸入改變而保持輸出不變。它們張成整個零空間這一條件,保證了公式能夠給出每個解。
一維零空間對應的仿射直線
例題
把所有解寫成特解加零空間 假設系統 A x = b Ax = b A x = b 有一個特解
x p = [ 3 0 1 ] , x_p =
\begin{bmatrix}
3 \\ 0 \\ 1
\end{bmatrix}, x p = 3 0 1 , 並且
N ( A ) = Span { [ 1 − 1 0 ] } . N(A) =
\operatorname{Span}
\left\{
\begin{bmatrix}
1 \\ -1 \\ 0
\end{bmatrix}
\right\}. N ( A ) = Span ⎩ ⎨ ⎧ 1 − 1 0 ⎭ ⎬ ⎫ . 那麼所有解都可寫成
x = [ 3 0 1 ] + t [ 1 − 1 0 ] = [ 3 + t − t 1 ] , t ∈ R . x =
\begin{bmatrix}
3 \\ 0 \\ 1
\end{bmatrix}
+
t
\begin{bmatrix}
1 \\ -1 \\ 0
\end{bmatrix}
=
\begin{bmatrix}
3 + t \\ -t \\ 1
\end{bmatrix},
\qquad t \in R. x = 3 0 1 + t 1 − 1 0 = 3 + t − t 1 , t ∈ R . 零空間給出自由方向;特解則決定這整個解族位於哪裏。
縮放一個解通常會改變右端。若要求解另一個方程組,可以直接核對縮放的效果:若 A p = b Ap=b A p = b ,則
2 A ( 3 2 p ) = 3 A p = 3 b . 2A\left({3\over 2}p\right)=3Ap=3b. 2 A ( 2 3 p ) = 3 A p = 3 b .
所以 3 2 p {3\over 2}p 2 3 p 是 2 A x = 3 b 2Ax=3b 2 A x = 3 b 的一個解。這並不是說任何解集都可以任意
縮放;這裡可行,是因為係數矩陣與右邊同時被縮放,而且計算直接驗證了結論。
齊次解與欄向量相依性的關係
如果將 A A A 的欄寫成 a 1 , a 2 , … , a n a_1, a_2, \ldots, a_n a 1 , a 2 , … , a n ,則
A x = 0 Ax = 0 A x = 0
其實就等價於
x 1 a 1 + x 2 a 2 + ⋯ + x n a n = 0. x_1 a_1 + x_2 a_2 + \cdots + x_n a_n = 0. x 1 a 1 + x 2 a 2 + ⋯ + x n a n = 0.
所以只要齊次系統有一個非平凡解,就等同於 A A A 的欄向量之間存在一條非平凡
線性關係。
例題
非平凡零空間向量給出相依關係 假設
x = [ 1 − 2 1 ] ∈ N ( A ) . x =
\begin{bmatrix}
1 \\ -2 \\ 1
\end{bmatrix}
\in N(A). x = 1 − 2 1 ∈ N ( A ) . 則 A x = 0 Ax = 0 A x = 0 就表示
1 ⋅ a 1 − 2 ⋅ a 2 + 1 ⋅ a 3 = 0. 1 \cdot a_1 - 2 \cdot a_2 + 1 \cdot a_3 = 0. 1 ⋅ a 1 − 2 ⋅ a 2 + 1 ⋅ a 3 = 0. 這正是 A A A 的欄向量之間一條非平凡相依關係。
零空間如何決定唯一性
由這個結構定理可以立刻得到:
若 N ( A ) = { 0 } N(A) = \{0\} N ( A ) = { 0 } ,則一致系統 A x = b Ax = b A x = b 只有唯一解;
若 N ( A ) N(A) N ( A ) 含有非零向量,則每個一致系統 A x = b Ax = b A x = b 都有無限多解,
因為你可以在特解上加上任意標量倍的零空間向量。
一致性假設不可省略:零空間只有零向量,保證的是每個右端至多有一個解,並不能單獨保證解存在。
左乘矩陣可能丟失方程資料
行變換保留齊次解集,是因為每一步都可逆;一般的矩陣乘子卻未必可逆。準確的結論必須明確寫出集合包含的方向。
定理
左乘矩陣時零空間的包含關係 設 A A A 是實 m × n m\times n m × n 矩陣,G G G 是實 p × m p\times m p × m 矩陣,則
N ( A ) ⊆ N ( G A ) . N(A)\subseteq N(GA). N ( A ) ⊆ N ( G A ) . 如果 G G G 是可逆方陣,則 N ( A ) = N ( G A ) N(A)=N(GA) N ( A ) = N ( G A ) 。
證明
逆矩陣在哪個方向發揮作用? 任取 x ∈ N ( A ) x\in N(A) x ∈ N ( A ) ,則 A x = 0 m Ax=0_m A x = 0 m ,所以 ( G A ) x = G ( A x ) = G 0 m = 0 p (GA)x=G(Ax)=G0_m=0_p ( G A ) x = G ( A x ) = G 0 m = 0 p 。因此 x ∈ N ( G A ) x\in N(GA) x ∈ N ( G A ) ,證明了任意相容乘子下的包含關係。注意,即使兩矩陣行數不同,兩個零空間中的向量仍都屬於 R n \mathbb R^n R n 。
反向包含則假設 G G G 是可逆方陣,因此 p = m p=m p = m ,並取 x ∈ N ( G A ) x\in N(GA) x ∈ N ( G A ) 。由 G A x = 0 p GAx=0_p G A x = 0 p 左乘 G − 1 G^{-1} G − 1 ,得 A x = G − 1 0 p = 0 m Ax=G^{-1}0_p=0_m A x = G − 1 0 p = 0 m ,所以 x ∈ N ( A ) x\in N(A) x ∈ N ( A ) 。只有這個方向使用了逆矩陣;結合兩個包含關係,才得到集合相等。
G A GA G A 的每一行都是 A A A 各行的線性組合,因此新方程都是舊方程的推論,每個舊解必然滿足新方程。若組合過程丟失了資料,就可能產生額外的解。這解釋了為甚麼不能隨意用一般行組合代替初等行變換,而不檢查保留了哪些約束。
例題
丟失一個約束的矩陣乘子 取
A = [ 1 0 0 1 ] , G = [ 1 0 ] . A=\begin{bmatrix}1&0\\0&1\end{bmatrix},\qquad
G=\begin{bmatrix}1&0\end{bmatrix}. A = [ 1 0 0 1 ] , G = [ 1 0 ] . 則 G A = [ 1 0 ] GA=[1\ 0] G A = [ 1 0 ] 。原方程 A x = 0 Ax=0 A x = 0 同時要求 x 1 = 0 x_1=0 x 1 = 0 與 x 2 = 0 x_2=0 x 2 = 0 ;新方程只要求 x 1 = 0 x_1=0 x 1 = 0 。所以
N ( A ) = { 0 2 } , N ( G A ) = { [ 0 t ] : t ∈ R } . N(A)=\{0_2\},\qquad
N(GA)=\left\{\begin{bmatrix}0\\t\end{bmatrix}:t\in\mathbb R\right\}. N ( A ) = { 0 2 } , N ( G A ) = { [ 0 t ] : t ∈ R } . 向量 ( 0 , 1 ) T (0,1)^T ( 0 , 1 ) T 屬於第二個集合而不屬於第一個,因此包含嚴格。這裏直接核對了丟失的條件,而不是只比較方程條數。可逆性保證相等,卻不是對每個特定 A A A 都必要的條件:若 A A A 是零矩陣,即使乘子不可逆,兩個零空間仍都等於 R n \mathbb R^n R n 。不能自動把定理倒轉。
堆疊方程對應零空間的交集
另一種組合方程組的方法,是把全部方程一起保留。堆疊與只取某些行組合不同,它不會捨棄其中任何條件。
定理
堆疊矩陣的零空間 設實矩陣 A A A 的大小為 m × n m\times n m × n ,B B B 的大小為 p × n p\times n p × n 。令
C = [ A B ] , C=\begin{bmatrix}A\\B\end{bmatrix}, C = [ A B ] , 則 N ( C ) = N ( A ) ∩ N ( B ) N(C)=N(A)\cap N(B) N ( C ) = N ( A ) ∩ N ( B ) 。交集表示同時屬於兩個集合;行數可以不同,欄數卻必須相同。
證明
雙向證明堆疊矩陣恆等式 先取 x ∈ N ( C ) x\in N(C) x ∈ N ( C ) 。由分塊乘法,
0 m + p = C x = [ A x B x ] . 0_{m+p}=Cx=\begin{bmatrix}Ax\\Bx\end{bmatrix}. 0 m + p = C x = [ A x B x ] . 比較上方的 m m m 個元素與下方的 p p p 個元素,分別得到 A x = 0 m Ax=0_m A x = 0 m 與 B x = 0 p Bx=0_p B x = 0 p 。因此 x x x 屬於兩個零空間,也就屬於它們的交集。
反過來,取 x ∈ N ( A ) ∩ N ( B ) x\in N(A)\cap N(B) x ∈ N ( A ) ∩ N ( B ) 。集合成員條件同時給出 A x = 0 m Ax=0_m A x = 0 m 與 B x = 0 p Bx=0_p B x = 0 p 。把兩個輸出堆疊,得到
C x = [ 0 m 0 p ] = 0 m + p , Cx=\begin{bmatrix}0_m\\0_p\end{bmatrix}=0_{m+p}, C x = [ 0 m 0 p ] = 0 m + p , 故 x ∈ N ( C ) x\in N(C) x ∈ N ( C ) 。兩個方向的成員關係都已核對,集合相等於是成立。
例如,堆疊 A = [ 1 0 0 ] A=[1\ 0\ 0] A = [ 1 0 0 ] 與 B = [ 0 1 0 ] B=[0\ 1\ 0] B = [ 0 1 0 ] ,就是同時施加 x 1 = 0 x_1=0 x 1 = 0 與 x 2 = 0 x_2=0 x 2 = 0 ,留下的恰好是 ( 0 , 0 , t ) T (0,0,t)^T ( 0 , 0 , t ) T 。各自的零空間都較大,但交集只保留共同向量。重複堆疊同樣可以表示有限多個齊次解集的交集。下一節會用此恆等式區分保留每條方程,與只保留方程的某個線性組合。
常見錯誤
常見錯誤
零向量永遠屬於零空間 有些同學會誤以為齊次方程組可能沒有解。這是不可能的,因為 x = 0 x = 0 x = 0 永遠
滿足 A x = 0 Ax = 0 A x = 0 。
常見錯誤
找到一個特解,不等於已經找到全部解 即使你已經找到某個 x p x_p x p 滿足 A x p = b Ax_p = b A x p = b ,仍然要把整個零空間加上去,才
算完整描述了解集。
常見錯誤
不要把特解與方向混淆 若 u u u 與 v v v 都解 A x = b Ax=b A x = b ,則 v − u v-u v − u 解的是 A x = 0 Ax=0 A x = 0 。向量 v − u v-u v − u
是零空間中的方向,不是一個新的右邊。
快速檢查
思考檢查
為甚麼 A x = 0 Ax = 0 A x = 0 一定至少有一個解?
解答 · 答案 因為零向量總會滿足 A 0 = 0 A0 = 0 A 0 = 0 。
思考檢查
若 N ( A ) = { 0 } N(A) = \{0\} N ( A ) = { 0 } 且 A x = b Ax = b A x = b 一致,它有多少個解?
解答 · 答案 只有一個,因為沒有任何非零零空間向量可以再加到特解上。
思考檢查
如果 A x = 0 Ax = 0 A x = 0 有自由變量,解集有可能只得兩個向量嗎?
解答 · 答案 不可能。自由變量可以取無限多個純量值,所以會產生無限多個解向量。
思考檢查
假設 u u u 與 v v v 都解 A x = b Ax=b A x = b 。那麼 v − u v-u v − u 解哪一個齊次系統?
解答 · 答案 它解 A x = 0 Ax=0 A x = 0 ,因為
A ( v − u ) = A v − A u = b − b = 0. A(v-u)=Av-Au=b-b=0. A ( v − u ) = A v − A u = b − b = 0.
練習
思考檢查
若 x p x_p x p 解 A x = b Ax = b A x = b ,而 u , v ∈ N ( A ) u, v \in N(A) u , v ∈ N ( A ) ,為甚麼 x p + u x_p + u x p + u 與 x p + v x_p + v x p + v 都是 A x = b Ax = b A x = b 的解?
解答 · 引導解答 因為 A u = 0 Au = 0 A u = 0 且 A v = 0 Av = 0 A v = 0 ,所以
A ( x p + u ) = A x p + A u = b + 0 = b , A(x_p + u) = Ax_p + Au = b + 0 = b, A ( x p + u ) = A x p + A u = b + 0 = b , 同理
A ( x p + v ) = A x p + A v = b + 0 = b . A(x_p + v) = Ax_p + Av = b + 0 = b. A ( x p + v ) = A x p + A v = b + 0 = b . 因此,只要在特解上加任何零空間向量,仍然留在同一個解集之中。
相關筆記
本節建立在
2.3 高斯消元與最簡行階梯形
與 2.4 解集的種類 之上。
它會為
5.1 可逆矩陣
與 6.2 子空間 做準備。