有限实矩阵乘法法则的证明
设 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 jk ) c k ℓ = j = 1 ∑ n a ij ( k = 1 ∑ p b jk c k ℓ ) = ( A ( BC ) ) 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 jk + d jk ) = ( 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 jk = ( A B ) ik + ( EB ) 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 jk = c j ∑ a ij b jk = j ∑ a ij ( c b jk ) = [ 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 子空间 做准备。