1. 方程组的三种解的情形
上一节我们已经见过三个例子。重新放在一起:
(I) {2x1+x2=0x1−x2=1(II) {x1+x2=12x1+2x2=1(III) x1−3x2=0 \text{(I)}\ \begin{cases} 2x_1 + x_2 = 0 \\ x_1 - x_2 = 1 \end{cases} \qquad \text{(II)}\ \begin{cases} x_1 + x_2 = 1 \\ 2x_1 + 2x_2 = 1 \end{cases} \qquad \text{(III)}\ x_1 - 3x_2 = 0 (I) {2x1+x2=0x1−x2=1(II) {x1+x2=12x1+2x2=1(III) x1−3x2=0
验证 (I) 的解。 声称 x1=1/3x_1 = 1/3x1=1/3,x2=−2/3x_2 = -2/3x2=−2/3 是解。代入第一个方程:
2⋅13+(−23)=23−23=0 ✓ 2 \cdot \frac{1}{3} + \left(-\frac{2}{3}\right) = \frac{2}{3} - \frac{2}{3} = 0 \ \checkmark 2⋅31+(−32)=32−32=0 ✓
代入第二个方程:
13−(−23)=13+23=1 ✓ \frac{1}{3} - \left(-\frac{2}{3}\right) = \frac{1}{3} + \frac{2}{3} = 1 \ \checkmark 31−(−32)=31+32=1 ✓
两个方程都成立,所以 (1/3,−2/3)(1/3, -2/3)(1/3,−2/3) 确实是 (I) 的解。后面会看到它还是唯一的解。
验证 (II) 无解。 用第二个方程减去第一个方程的 2 倍:
(2x1+2x2)−2(x1+x2)=1−2⋅1 (2x_1 + 2x_2) - 2(x_1 + x_2) = 1 - 2 \cdot 1 (2x1+2x2)−2(x1+x2)=1−2⋅1
左边 = 2x1+2x2−2x1−2x2=02x_1 + 2x_2 - 2x_1 - 2x_2 = 02x1+2x2−2x1−2x2=0,右边 = −1-1−1。得到 0=−10 = -10=−1,矛盾。因此 (II) 无解。
列出 (III) 的部分解。 方程 x1−3x2=0x_1 - 3x_2 = 0x1−3x2=0 等价于 x1=3x2x_1 = 3 x_2x1=3x2。随便取 x2x_2x2:
| x2x_2x2 | x1=3x2x_1 = 3x_2x1=3x2 | 解 |
|---|---|---|
| 0 | 0 | (0,0)(0, 0)(0,0) |
| 1 | 3 | (3,1)(3, 1)(3,1) |
| −2-2−2 | −6-6−6 | (−6,−2)(-6, -2)(−6,−2) |
| π\piπ | 3π3\pi3π | (3π,π)(3\pi, \pi)(3π,π) |
每行都是一个解,可以一直列下去。所有解构成集合 {(3t,t):t∈R}\{(3t, t) : t \in \mathbb{R}\}{(3t,t):t∈R}。
几何上,在 R2\mathbb{R}^2R2 中每个方程 ax1+bx2=cax_1 + bx_2 = cax1+bx2=c(a,ba, ba,b 不同时为零)定义一条直线。方程组的解就是这些直线的公共点。两条直线在平面上只有三种相对位置:

- 相交于一点:唯一公共点,方程组唯一解。
- 平行不相交:无公共点,方程组无解。
- 完全重合:公共点是整条直线,方程组无穷解。
这个分类在二维下是完全的。但如果把方程数量和未知数数量都提高到 m,nm, nm,n,直觉就跟不上了。我们需要一套抽象的判定工具。
2. 一般形式
定义 1. nnn 个未知数 x1,...,xnx_1, \ldots, x_nx1,...,xn 的 mmm 个线性方程组成的线性方程组 具有如下形式:
{a11x1+a12x2+⋯+a1nxn=b1a21x1+a22x2+⋯+a2nxn=b2⋮am1x1+am2x2+⋯+amnxn=bm(1) \begin{cases} a_{11} x_1 + a_{12} x_2 + \cdots + a_{1n} x_n = b_1 \\ a_{21} x_1 + a_{22} x_2 + \cdots + a_{2n} x_n = b_2 \\ \quad\vdots \\ a_{m1} x_1 + a_{m2} x_2 + \cdots + a_{mn} x_n = b_m \end{cases} \tag{1} ⎩ ⎨ ⎧a11x1+a12x2+⋯+a1nxn=b1a21x1+a22x2+⋯+a2nxn=b2⋮am1x1+am2x2+⋯+amnxn=bm(1)其中 aij,bi∈Fa_{ij}, b_i \in \mathbb{F}aij,bi∈F(通常 F=R\mathbb{F} = \mathbb{R}F=R 或 C\mathbb{C}C)为已知的系数 与常数项 。称数组 (s1,...,sn)∈Fn(s_1, \ldots, s_n) \in \mathbb{F}^n(s1,...,sn)∈Fn 为该方程组的一个解 ,若将 xjx_jxj 替换为 sjs_jsj 后所有方程同时成立。所有解构成的集合称为解集。
例 1. 用方程组 (I) 对照定义。这里 m=n=2m = n = 2m=n=2:
{2x1+1⋅x2=01⋅x1+(−1)x2=1 \begin{cases} 2x_1 + 1 \cdot x_2 = 0 \\ 1 \cdot x_1 + (-1) x_2 = 1 \end{cases} {2x1+1⋅x2=01⋅x1+(−1)x2=1
对照记号:
- a11=2, a12=1, a21=1, a22=−1a_{11} = 2,\ a_{12} = 1,\ a_{21} = 1,\ a_{22} = -1a11=2, a12=1, a21=1, a22=−1
- b1=0, b2=1b_1 = 0,\ b_2 = 1b1=0, b2=1
关于下标的约定 :aija_{ij}aij 的第一个下标 iii 指方程编号 (行),第二个下标 jjj 指未知数编号 (列)。比如 a21a_{21}a21 表示"第 2 个方程里 x1x_1x1 前的系数",在本例中 a21=1a_{21} = 1a21=1。
例 2. 再看一个 3 个方程、4 个未知数的情形(m=3,n=4m = 3, n = 4m=3,n=4):
{x1+2x2−2x3+3x4=22x1+4x2−3x3+4x4=55x1+10x2−8x3+11x4=12 \begin{cases} x_1 + 2x_2 - 2x_3 + 3x_4 = 2 \\ 2x_1 + 4x_2 - 3x_3 + 4x_4 = 5 \\ 5x_1 + 10x_2 - 8x_3 + 11x_4 = 12 \end{cases} ⎩ ⎨ ⎧x1+2x2−2x3+3x4=22x1+4x2−3x3+4x4=55x1+10x2−8x3+11x4=12
对照记号:a11=1,a12=2,a13=−2,a14=3a_{11} = 1, a_{12} = 2, a_{13} = -2, a_{14} = 3a11=1,a12=2,a13=−2,a14=3,b1=2b_1 = 2b1=2,以此类推。m≠nm \ne nm=n 时,方程数和未知数数不等,几何上对应"三个四维超平面的公共部分"------光靠直觉看不出来,但代数上照样可以严格处理。
要回答的两个核心问题:
- 解集是否非空?(存在性)
- 若非空,解集的结构是什么?(唯一性与参数化)
3. 抽象为函数方程
把方程组 (1) 写成函数形式。定义映射
f:Fn→Fm,f(x1,...,xn)=(∑j=1na1jxj, ..., ∑j=1namjxj)(2) f: \mathbb{F}^n \to \mathbb{F}^m, \qquad f(x_1, \ldots, x_n) = \left(\sum_{j=1}^n a_{1j} x_j,\ \ldots,\ \sum_{j=1}^n a_{mj} x_j\right) \tag{2} f:Fn→Fm,f(x1,...,xn)=(j=1∑na1jxj, ..., j=1∑namjxj)(2)
令 b=(b1,...,bm)b = (b_1, \ldots, b_m)b=(b1,...,bm),则方程组 (1) 等价于
f(x)=b(3) f(x) = b \tag{3} f(x)=b(3)
例 3. 把方程组 (I) 按 (2) 式写出 fff。这里 n=m=2n = m = 2n=m=2:
f(x1,x2)=( 2x1+1⋅x2⏟第 1 个方程左边, 1⋅x1+(−1)x2⏟第 2 个方程左边 )=(2x1+x2, x1−x2) f(x_1, x_2) = \bigl(\,\underbrace{2 x_1 + 1 \cdot x_2}{\text{第 1 个方程左边}},\ \underbrace{1 \cdot x_1 + (-1) x_2}{\text{第 2 个方程左边}}\,\bigr) = (2 x_1 + x_2,\ x_1 - x_2) f(x1,x2)=(第 1 个方程左边 2x1+1⋅x2, 第 2 个方程左边 1⋅x1+(−1)x2)=(2x1+x2, x1−x2)
验算几个输入:
| 输入 (x1,x2)(x_1, x_2)(x1,x2) | f(x1,x2)f(x_1, x_2)f(x1,x2) |
|---|---|
| (0,0)(0, 0)(0,0) | (0,0)(0, 0)(0,0) |
| (1,0)(1, 0)(1,0) | (2,1)(2, 1)(2,1) |
| (0,1)(0, 1)(0,1) | (1,−1)(1, -1)(1,−1) |
| (1/3,−2/3)(1/3, -2/3)(1/3,−2/3) | (0,1)(0, 1)(0,1) |
最后一行就是 f(1/3,−2/3)=(0,1)=bf(1/3, -2/3) = (0, 1) = bf(1/3,−2/3)=(0,1)=b。换言之,解方程组 f(x)=bf(x) = bf(x)=b 就是找 b=(0,1)b = (0, 1)b=(0,1) 在 fff 下的原像。
4. 线性映射
映射 fff 满足两条性质:
f(x+y)=f(x)+f(y)(加法) f(x + y) = f(x) + f(y) \tag{加法} f(x+y)=f(x)+f(y)(加法)
f(c⋅x)=c⋅f(x)(数乘) f(c \cdot x) = c \cdot f(x) \tag{数乘} f(c⋅x)=c⋅f(x)(数乘)
例 4(验证加法)。 仍取 f(x1,x2)=(2x1+x2,x1−x2)f(x_1, x_2) = (2 x_1 + x_2, x_1 - x_2)f(x1,x2)=(2x1+x2,x1−x2)。任意取两个输入 x=(1,0)x = (1, 0)x=(1,0),y=(0,1)y = (0, 1)y=(0,1):
- f(x)=f(1,0)=(2,1)f(x) = f(1, 0) = (2, 1)f(x)=f(1,0)=(2,1)
- f(y)=f(0,1)=(1,−1)f(y) = f(0, 1) = (1, -1)f(y)=f(0,1)=(1,−1)
- f(x)+f(y)=(2+1,1+(−1))=(3,0)f(x) + f(y) = (2 + 1, 1 + (-1)) = (3, 0)f(x)+f(y)=(2+1,1+(−1))=(3,0)
- 另一边:x+y=(1,1)x + y = (1, 1)x+y=(1,1),f(1,1)=(2+1,1−1)=(3,0)f(1, 1) = (2 + 1, 1 - 1) = (3, 0)f(1,1)=(2+1,1−1)=(3,0) ✓
两边相等。
例 5(验证数乘)。 取 c=3c = 3c=3,x=(1,2)x = (1, 2)x=(1,2):
- f(x)=f(1,2)=(2⋅1+2,1−2)=(4,−1)f(x) = f(1, 2) = (2 \cdot 1 + 2, 1 - 2) = (4, -1)f(x)=f(1,2)=(2⋅1+2,1−2)=(4,−1)
- 3f(x)=(12,−3)3 f(x) = (12, -3)3f(x)=(12,−3)
- 另一边:3x=(3,6)3 x = (3, 6)3x=(3,6),f(3,6)=(2⋅3+6,3−6)=(12,−3)f(3, 6) = (2 \cdot 3 + 6, 3 - 6) = (12, -3)f(3,6)=(2⋅3+6,3−6)=(12,−3) ✓
两边相等。
满足这两条的映射 fff 称为线性映射 。上面验证不是巧合------(2) 式定义的任何 fff 都是线性映射,原因是系数 aija_{ij}aij 对未知数的作用方式(乘法 + 求和)直接继承 F\mathbb{F}F 上加法和乘法的分配律。
5. 非线性对照
要理解"线性"的便利,对照非线性方程。
例 6(二次方程)。 x2+x−2=0x^2 + x - 2 = 0x2+x−2=0 有两个实解:
x=−1±1+82=−1±32=1 或 −2 x = \frac{-1 \pm \sqrt{1 + 8}}{2} = \frac{-1 \pm 3}{2} = 1 \text{ 或 } -2 x=2−1±1+8 =2−1±3=1 或 −2
例 7(实数范围内无解的二次方程)。 x2+x+2=0x^2 + x + 2 = 0x2+x+2=0 判别式 1−8=−7<01 - 8 = -7 < 01−8=−7<0,实数无解,但复数有两个解 12(−1±i7)\frac{1}{2}(-1 \pm i \sqrt{7})21(−1±i7 )。
例 8(超越方程解的个数无法事先预测)。
- sinx=1/2\sin x = 1/2sinx=1/2 有无穷多个 解 x=π/6+2kπx = \pi/6 + 2k\pix=π/6+2kπ 或 5π/6+2kπ5\pi/6 + 2k\pi5π/6+2kπ(k∈Zk \in \mathbb{Z}k∈Z)
- ex=0e^x = 0ex=0 没有解(指数函数恒为正)
- xx=2x^x = 2xx=2 只有一个实数解 x≈1.5596x \approx 1.5596x≈1.5596(需要用 Lambert W 函数才能表达)
每类非线性方程几乎都要单独研究。
而线性方程组不是这样。无论 m,nm, nm,n 和系数取什么:
- 解的情形只有三种:唯一解、无解、无穷多解
- 存在一个系统性算法(Gauss 消元)在有限步内判定属于哪种情形
- 若解集非空,它必定能写成"特解 + 齐次解空间"的形式
例 9(非齐次解的结构)。 设方程组 f(x)=bf(x) = bf(x)=b 的一个特解是 x∗=(1/3,−2/3)x^* = (1/3, -2/3)x∗=(1/3,−2/3)(来自 (I) 的解)。如果还有解 x=(x1,x2)x = (x_1, x_2)x=(x1,x2),那么令 v=x−x∗v = x - x^*v=x−x∗,利用线性性:
f(v)=f(x−x∗)=f(x)−f(x∗)=b−b=0 f(v) = f(x - x^*) = f(x) - f(x^*) = b - b = 0 f(v)=f(x−x∗)=f(x)−f(x∗)=b−b=0
也就是 vvv 是齐次方程 f(v)=0f(v) = 0f(v)=0 的解。反过来也对。所以方程组 (I) 的全部解可以写成
{x∗+v:f(v)=0} \{x^* + v : f(v) = 0\} {x∗+v:f(v)=0}
这就是为什么解空间要么是一个点(齐次方程只有 v=0v = 0v=0),要么是一整条直线/平面(齐次方程有非零解)------不会出现只有 2 个解、或者 17 个解这种中间情况。
6. R2\mathbb{R}^2R2 上的线性变换
R2\mathbb{R}^2R2 上的线性映射 f:R2→R2f: \mathbb{R}^2 \to \mathbb{R}^2f:R2→R2 有明确的几何含义------保持原点的"刚性"或"仿射"运动。
例 10(反射)。 f(x1,x2)=(x1,−x2)f(x_1, x_2) = (x_1, -x_2)f(x1,x2)=(x1,−x2),沿 x1x_1x1 轴翻转。
| 输入 | 输出 |
|---|---|
| (3,2)(3, 2)(3,2) | (3,−2)(3, -2)(3,−2) |
| (−1,5)(-1, 5)(−1,5) | (−1,−5)(-1, -5)(−1,−5) |
| (4,0)(4, 0)(4,0) | (4,0)(4, 0)(4,0)(在轴上的点不动) |
例 11(旋转 90°)。 f(x1,x2)=(−x2,x1)f(x_1, x_2) = (-x_2, x_1)f(x1,x2)=(−x2,x1)。
| 输入 | 输出 |
|---|---|
| (1,0)(1, 0)(1,0) | (0,1)(0, 1)(0,1)(xxx 轴正方向→yyy 轴正方向) |
| (0,1)(0, 1)(0,1) | (−1,0)(-1, 0)(−1,0) |
| (3,4)(3, 4)(3,4) | (−4,3)(-4, 3)(−4,3) |
可以看出每个点都逆时针转了 90°90°90°。
例 12(伸缩)。 f(x1,x2)=(2x1,3x2)f(x_1, x_2) = (2 x_1, 3 x_2)f(x1,x2)=(2x1,3x2)。xxx 轴方向放大 2 倍、yyy 轴方向放大 3 倍:(1,1)↦(2,3)(1, 1) \mapsto (2, 3)(1,1)↦(2,3)。
例 13(剪切)。 f(x1,x2)=(x1+x2,x2)f(x_1, x_2) = (x_1 + x_2, x_2)f(x1,x2)=(x1+x2,x2)。水平方向按 yyy 的大小"错切":(0,1)↦(1,1)(0, 1) \mapsto (1, 1)(0,1)↦(1,1),(0,2)↦(2,2)(0, 2) \mapsto (2, 2)(0,2)↦(2,2)。
反例:平移不是线性的。 令 f(x1,x2)=(x1+1,x2)f(x_1, x_2) = (x_1 + 1, x_2)f(x1,x2)=(x1+1,x2)。取 c=2c = 2c=2,x=(1,0)x = (1, 0)x=(1,0):
- f(cx)=f(2,0)=(3,0)f(c x) = f(2, 0) = (3, 0)f(cx)=f(2,0)=(3,0)
- cf(x)=2⋅f(1,0)=2⋅(2,0)=(4,0)c f(x) = 2 \cdot f(1, 0) = 2 \cdot (2, 0) = (4, 0)cf(x)=2⋅f(1,0)=2⋅(2,0)=(4,0)
(3,0)≠(4,0)(3, 0) \ne (4, 0)(3,0)=(4,0),数乘性质不成立。原因在于 f(0,0)=(1,0)≠(0,0)f(0, 0) = (1, 0) \ne (0, 0)f(0,0)=(1,0)=(0,0)------任何线性映射必须把原点映到原点,平移不满足。
第 2 章把复数 C\mathbb{C}C 引入后,旋转可以统一用复数乘法描述。这是极坐标形式的威力。
7. 小结
- 线性方程组的解只有三种情形:唯一、无、无穷多。
- nnn 个未知数 mmm 个方程的方程组写作 f(x)=bf(x) = bf(x)=b,其中 fff 是线性映射。
- "线性"具体指 f(x+y)=f(x)+f(y)f(x+y) = f(x)+f(y)f(x+y)=f(x)+f(y) 和 f(cx)=cf(x)f(cx) = c f(x)f(cx)=cf(x) 两条性质。可以通过代入具体数字直接验证。
- 线性映射必满足 f(0)=0f(0) = 0f(0)=0,因此平移不是线性的。
- 相比非线性方程,线性方程组解的结构完全由 fff 决定,且有统一的判定算法。全部解 = 特解 + 齐次方程的全部解。
- R2\mathbb{R}^2R2 上的线性映射对应几何上的反射、旋转、伸缩、剪切。