本节是选学内容. 不学本节不影响理解任何必学内容 (也就是, 未被声明为选学内容的节).
在接下来的若干节里, 我想用行列式讨论由 m 个 n 元 ⩽1 次方程作成的方程组的解. 注意, 方程数 m 不一定等于未知数数 n.
我们有时会用 Cramer 公式辅助讨论. 具体地, 为讨论一般的由 m 个 n 元 ⩽1 次方程作成的方程组的解, 我们有时会作辅助的线性方程组, 其方程数等于其未知数数, 且 Cramer 公式是可用的.
本节, 我们讨论, 线性方程组有解时, 解是否唯一.
我们先看一个简单的事实.
设 A 是 m×n 阵. 设 B 是 m×1 阵. 设 n×1 阵 C 适合 AC=B.
(1) 若 AX=0 只有零解, 则 AX=B 的解唯一;
(2) 若存在非零的 n×1 阵 D 使 AD=0, 则 AX=B 的解不唯一.
证. (1) 设 n×1 阵 Y 适合 AY=B. 则A(Y−C)=AY−AC=B−B=0.故 Y−C 是 AX=0 的一个解. 因为 AX=0 只有零解, 故 Y−C=0. 从而 Y=C.
(2) 因为
D=0, 故
C+D=C. 因为
A(C+D)=AC+AD=B+0=B, 且
C+D=C, 故
AX=B 的解不唯一.
由此可见, 若 AX=0 有非零解, 则 AX=B 有解时, 其解不唯一. 若 AX=0 只有零解, 则 AX=B 有解时, 其解唯一.
然后, 我们讨论, AX=0 是否有非零解. 不过, 为使讨论简单, 我们要作准备.
设 A 是 m×n 阵. 若 A 没有行列式非零的 r+1 级子阵, 则对任何高于 r 的整数 s, A 没有行列式非零的 s 级子阵.
说阵 Z 是 A 的一个 p 级子阵, 就是说, Z 是 A 的一个子阵 (见本章, 节 5), 且 Z 是一个 p 级阵.
证. 我们用数学归纳法证明此事. 具体地, 设命题 P(s) 为:
则我们的目标是: 对任何高于
r 的整数
s,
P(s) 是对的.
P(r+1) 是对的.
假定 P(t) 是对的. 我们由此证, P(t+1) 也是对的. 若 A 没有 t+1 级子阵, 此事自然是对的. 若 A 有 t+1 级子阵, 利用定义, 按列 1 展开其行列式, 可知, 此子阵的行列式是 A 的 t+1 个 t 级子阵的行列式的倍的和. 由此可知, A 没有行列式非零的 t+1 级子阵.
所以,
P(t+1) 是对的. 由数学归纳法, 待证命题成立.
设 A 是 m×n 阵. 存在一个唯一的非负整数 r, 使:
(1) A 有一个行列式非零的 r 级子阵;
(2) A 没有行列式非零的 r+1 级子阵.
证. 唯一性是简单的. 设还有非负整数 s 适合条件:
(1′) A 有一个行列式非零的 s 级子阵;
(2′) A 没有行列式非零的 s+1 级子阵.
反设 s>r. 既然 A 没有行列式非零的 r+1 级子阵, 故 A 没有行列式非零的 s 级子阵. 这跟 (1′) 矛盾. 所以, s⩽r. 类似地, 我们可证 r⩽s. 从而 s=r.
下面, 我们说明存在性. 我们设
t 是
m 与
n 中的较小者. 若
A 有行列式非零的
t 级子阵, 我们可取
r=t; 否则, 我们代
t 以
t−1. 若
A 有行列式非零的
t−1 级子阵, 我们可取
r=t−1; 否则, 我们代
t−1 以
t−2. …… 反复地作下去, 我们能找到此
r. (注意, 我们约定 “
0 级阵” 的行列式为
1, 所以这个过程能结束.)
设 A 是 m×n 阵. 设 B 是 m×1 阵. 设 k 是一个不超过 m 的正整数. 作一个 (m+1)×n 阵 A, 其中[A]i,j=⎩⎨⎧[A]i,j,0,[A]i−1,j,i⩽k;i=k+1;i>k+1.(通俗地, A 是在 A 的行 k 下写一行 0 作成的阵.) 再作一个 (m+1)×1 阵 B, 其中[B]i,1=⎩⎨⎧[B]i,1,0,[B]i−1,1,i⩽k;i=k+1;i>k+1.(通俗地, B 是在 B 的行 k 下写 0 作成的阵.)
(1) 若 n×1 阵 C 适合 AC=B, 则 AC=B.
(2) 若 n×1 阵 C 适合 AC=B, 则 AC=B.
(3) 若 A 有一个行列式非零的 r 级子阵, 但没有行列式非零的 r+1 级子阵, 则 A 有一个行列式非零的 r 级子阵, 但没有行列式非零的 r+1 级子阵.
(4) 若 A 有一个行列式非零的 r 级子阵, 但没有行列式非零的 r+1 级子阵, 则 A 有一个行列式非零的 r 级子阵, 但没有行列式非零的 r+1 级子阵.
证. (1) 设 AC=B. 我们要证 AC=B.
首先, AC 与 B 的尺寸都是 (m+1)×1.
若 i⩽k, 则[AC]i,1=====ℓ=1∑n[A]i,ℓ[C]ℓ,1ℓ=1∑n[A]i,ℓ[C]ℓ,1[AC]i,1[B]i,1[B]i,1.若 i=k+1, 则[AC]i,1====ℓ=1∑n[A]i,ℓ[C]ℓ,1ℓ=1∑n0[C]ℓ,10[B]i,1.若 i>k+1, 则[AC]i,1=====ℓ=1∑n[A]i,ℓ[C]ℓ,1ℓ=1∑n[A]i−1,ℓ[C]ℓ,1[AC]i−1,1[B]i−1,1[B]i,1.由此可见, AC=B.
(2) 设 AC=B. 我们要证 AC=B.
首先, AC 与 B 的尺寸都是 m×1.
其次, 注意, [A]i,j={[A]i,j,[A]i+1,j,i⩽k;i>k.类似地, [B]i,1={[B]i,1,[B]i+1,1,i⩽k;i>k.
若 i⩽k, 则[AC]i,1=====ℓ=1∑n[A]i,ℓ[C]ℓ,1ℓ=1∑n[A]i,ℓ[C]ℓ,1[AC]i,1[B]i,1[B]i,1.若 i>k, 则[AC]i,1=====ℓ=1∑n[A]i,ℓ[C]ℓ,1ℓ=1∑n[A]i+1,ℓ[C]ℓ,1[AC]i+1,1[B]i+1,1[B]i,1.由此可见, AC=B.
(3) 注意, A 的子阵都是 A 的子阵. 所以, 若 A 有一个行列式非零的 r 级子阵, 则 A 也有一个行列式非零的 r 级子阵. 对 A 的每一个子阵, 要么 A 的行 k+1 被选中, 要么 A 的行 k+1 不被选中. 所以, 那些 A 的行 k+1 不被选中的 r+1 级子阵 (若存在) 是 A 的 r+1 级子阵 (若存在), 故其行列式为 0. 而那些 A 的行 k+1 被选中的 r+1 级子阵 (若存在) 有一行的元全为 0, 故其行列式为 0. 从而, A 也没有行列式非零的 r+1 级子阵.
(4) 对
A 的每一个子阵, 要么
A 的行
k+1 被选中, 要么
A 的行
k+1 不被选中. 设
A 有一个行列式非零的
r 级子阵. 那么, 这个子阵不含元全为
0 的行. 特别地, 对此子阵,
A 的行
k+1 不被选中. 所以, 这也是
A 的一个
r 级子阵. 所以,
A 也有一个行列式非零的
r 级子阵. 注意,
A 的子阵都是
A 的子阵. 既然
A 没有行列式非零的
r+1 级子阵, 那么
A 也没有行列式非零的
r+1 级子阵.
现在, 我们讨论 AX=0 是否有非零解.
设 A 是 m×n 阵. 设 A 有一个行列式非零的 r 级子阵, 但没有行列式非零的 r+1 级子阵. 设 r<n. 则 AX=0 有非零解.
证. 设 A 是 m×n 阵.
我们无妨设 m⩾n. 若 m<n, 我们作一个 n 级阵 A, 其中[A]i,j={[A]i,j,0,i⩽m;i>m.(通俗地, A 是在 A 的行 m 下写 n−m 行 0 作成的阵.) 由此, 不难得到: (a) 若 n×1 阵 C 适合 AC=0, 则 AC=0; (b) A 有一个行列式非零的 r 级子阵, 但没有行列式非零的 r+1 级子阵. 所以, 若我们找到了 AX=0 的非零解, 则我们也找到了 AX=0 的非零解. 以下, 我们设 m⩾n.
若 A=0, 我们任取一个非零的 n×1 阵 S. 则 AS=0.
以下, 我们假定 A=0; 也就是, A 有一个元不是 0 (同时, 这也要求 n>1: 回想 1 级阵的行列式是什么). 从而 r⩾1.
我们设 A 的 r 级子阵 Ar=A(j1,…,jri1,…,ir) 的行列式非零, 其中 i1<i2<⋯<ir, 且 j1<j2<⋯<jr. 我们从 1, 2, …, m 中去除 r 个整数 i1, i2, …, ir; 此时, 还剩下 m−r 个整数; 我们从中选一个为 ir+1. 类似地, 我们再从 1, 2, …, n 中去除 r 个整数 j1, j2, …, jr; 此时, 还剩下 n−r 个整数; 我们从中选一个为 jr+1. 作 r+1 级阵 E=A(j1,…,jr,jr+1i1,…,ir,ir+1). 我们设 ip 在 i1, …, ir, ir+1 中是第 f(ip) 小的数. 再设 jp 在 j1, …, jr, jr+1 中是第 g(jp) 小的数. 因为 E 是 A 的一个 r+1 级子阵, 故 det(E)=0. 从而 Eadj(E)=0. 注意, [adj(E)]g(jr+1),f(ir+1)=(−1)f(ir+1)+g(jr+1)det(Ar)=0.
接下来, 我们设法由此得到一个 AX=0 的非零解. 我们作一个 n×1 阵 W, 其中[W]ℓ,1={[adj(E)]g(jp),f(ir+1),0,ℓ=jp, p=1, …, r, r+1;其他.(通俗地, 我们在适当的位置写 0, 变 adj(E) 的列 f(ir+1) 为一个 n×1 阵 W.) 因为 [W]jr+1,1=0, 故 W=0. 我们证明 AW=0.
取不超过 m 的正整数 q. 则[AW]q,1====ℓ=1∑n[A]q,ℓ[W]ℓ,11⩽ℓ⩽nℓ=jp1⩽p⩽r+1∑[A]q,ℓ[W]ℓ,1+1⩽ℓ⩽n其他∑[A]q,ℓ[W]ℓ,11⩽ℓ⩽nℓ=jp1⩽p⩽r+1∑[A]q,jp[adj(E)]g(jp),f(ir+1)+1⩽ℓ⩽n其他∑[A]q,ℓ0p=1∑r+1[A]q,jp[adj(E)]g(jp),f(ir+1).若 q 等于某个 it, 则[AW]it,1=====p=1∑r+1[A]it,jp[adj(E)]g(jp),f(ir+1)p=1∑r+1[E]f(it),g(jp)[adj(E)]g(jp),f(ir+1)[Eadj(E)]f(it),f(ir+1)[0]f(it),f(ir+1)0.若 q 不等于 i1, …, ir, ir+1 中的任何一个, 则[AW]q,1==p=1∑r+1[A]q,jp[adj(E)]g(jp),f(ir+1)p=1∑r+1[A]q,jp(−1)f(ir+1)+g(jp)det(E(f(ir+1)∣g(jp))).作一个 r+1 级阵 Cq, 其中[Cq]h,g(jp)={[E]h,g(jp),[A]q,jp,h=f(ir+1);h=f(ir+1).于是, Cq(f(ir+1)∣g(jp))=E(f(ir+1)∣g(jp)). 从而[AW]q,1===p=1∑r+1[A]q,jp(−1)f(ir+1)+g(jp)det(E(f(ir+1)∣g(jp)))p=1∑r+1[Cq]f(ir+1),g(jp)(−1)f(ir+1)+g(jp)det(Cq(f(ir+1)∣g(jp)))det(Cq).
再作一个 r+1 级阵 Dq=A(j1,…,jr,jr+1i1,…,ir,q). 不难看出, 适当地交换 Cq 的行的次序, 即可变 Cq 为 Dq. 根据反称性, det(Cq)=±det(Dq). (具体地, 设 q 在 i1, …, ir, q 中是第 u 小的数. 那么, 当 f(ir+1)=u 时, Cq=Dq. 当 f(ir+1)<u 时, 交换行 f(ir+1) 与 f(ir+1)+1, 再交换行 f(ir+1)+1 与 f(ir+1)+2, ……, 且再交换行 u−1 与 u; 作 u−f(ir+1) 次相邻行的交换, 即可变 Cq 为 Dq. 当 f(ir+1)>u 时, 交换行 f(ir+1) 与 f(ir+1)−1, 再交换行 f(ir+1)−1 与 f(ir+1)−2, ……, 且再交换行 u+1 与 u; 作 f(ir+1)−u 次相邻行的交换, 即可变 Cq 为 Dq.) 因为 Dq 是 A 的一个 r+1 级子阵, 故其行列式为 0. 从而[AW]q,1=det(Cq)=±det(Dq)=0.
综上, 我们找到了一个
n×1 阵
W 使
AW=0, 且
W=0.
设 A 是 m×n 阵. 设 A 有一个行列式非零的 n 级子阵 (此时, A 当然没有行列式非零的 n+1 级子阵). 则 AX=0 只有零解.
证. 设
n×1 阵
C 适合
AC=0. 设
A 的
n 级子阵
K=A(1,2,…,ni1,i2,…,in)的行列式非零, 其中
1⩽i1<i2<⋯<in⩽m. 因为
C 适合
[A]1,1[C]1,1+[A]1,2[C]2,1+⋯+[A]1,n[C]n,1=0,[A]2,1[C]1,1+[A]2,2[C]2,1+⋯+[A]2,n[C]n,1=0,…,[A]m,1[C]1,1+[A]m,2[C]2,1+⋯+[A]m,n[C]n,1=0,故
C 当然也适合
[A]i1,1[C]1,1+[A]i1,2[C]2,1+⋯+[A]i1,n[C]n,1=0,[A]i2,1[C]1,1+[A]i2,2[C]2,1+⋯+[A]i2,n[C]n,1=0,…,[A]in,1[C]1,1+[A]in,2[C]2,1+⋯+[A]in,n[C]n,1=0,即
KC=0. 因为
det(K)=0, 故, 由 Cramer 公式, 有
C=0.
现在, 我们作一个小结.
设 A 是 m×n 阵. 设 A 有一个行列式非零的 r 级子阵, 但没有行列式非零的 r+1 级子阵.
(1) 若 r<n, 则 AX=0 有非零解;
(2) 若 r=n, 则 AX=0 只有零解.
设 A 是 m×n 阵. 设 B 是 m×1 阵. 设 n×1 阵 C 适合 AC=B; 也就是, AX=B 有解. 设 A 有一个行列式非零的 r 级子阵, 但没有行列式非零的 r+1 级子阵.
(1) 若 r<n, 则 AX=B 的解不唯一;
(2) 若 r=n, 则 AX=B 的解唯一.