小象实战讲义 · 人工智能数学基础
在求解线性方程组时,我们不仅关心解是否存在,更希望清晰地描述所有解构成的集合。对于齐次线性方程组 Ax=0,其解集具有非常规整的代数结构——它是一个线性子空间。本节将揭示这一结构,并介绍如何通过寻找“基础解系”来完整刻画整个解空间,从而得到方程组的通解表达式。掌握这一方法,是理解线性系统解的理论核心,也是后续学习非齐次方程组、特征值问题的重要基础。
💡 核心导读
- 解空间:齐次线性方程组 Ax=0 的所有解向量构成一个集合 W,它满足线性运算封闭性,是向量空间 Kn 的一个线性子空间,称为该方程组的解空间。
- 基础解系:解空间 W 的一组基,即 W 中的一个极大线性无关向量组。方程组的所有解(即 W 中的所有向量)都可以由这组基线性表出。
- 解空间的维数:若系数矩阵 A 的秩 rank(A)=r,则解空间 W 的维数为 dim(W)=n−r。基础解系恰好包含 n−r 个线性无关的解向量。
- 通解:若 η1,η2,…,ηn−r 是方程组的一个基础解系,则其通解(即所有解的表达式)为 x=k1η1+k2η2+⋯+kn−rηn−r,其中 k1,…,kn−r 为任意常数。
- 求解方法:通过高斯消元法将系数矩阵化为行最简形,确定自由未知量,通过令自由未知量分别取单位坐标向量,即可求得一组基础解系。
从解集到解空间
考虑数域 K(通常为实数域 R)上的 n 元齐次线性方程组: Ax=0 其中 A 是 m×n 矩阵,x=(x1,x2,…,xn)T。
方程组的每一个解都是一个 n 维向量,所有解构成的集合记为 W: W={x∈Kn∣Ax=0}
这个解集 W 具有两个关键性质:
- 加法封闭性:若 γ,δ∈W,则 γ+δ∈W。 验证:A(γ+δ)=Aγ+Aδ=0+0=0。
- 数乘封闭性:若 γ∈W,k∈K,则 kγ∈W。 验证:A(kγ)=k(Aγ)=k0=0。
定义(线性子空间):设 U 是向量空间 Kn 的一个非空子集。如果 U 对向量的加法和数乘运算封闭(即满足上述两条性质),则称 U 是 Kn 的一个线性子空间,简称子空间。
因此,齐次线性方程组的解集 W 是 Kn 的一个子空间。我们特别称 W 为该方程组的解空间。
基础解系与通解
解空间 W 可能只包含零向量(当方程组只有零解时),也可能包含无穷多个向量(当方程组有非零解时)。为了清晰地描述整个无穷解集,我们需要找到解空间的一组“坐标架”。
定义(基础解系):设齐次线性方程组 Ax=0 有非零解。如果解向量组 η1,η2,…,ηt 满足:
- η1,η2,…,ηt 线性无关;
- 方程组的任意一个解 x 都可以由 η1,η2,…,ηt 线性表出, 则称 η1,η2,…,ηt 是方程组 Ax=0 的一个基础解系。
基础解系本质上就是解空间 W 的一组基。根据基的定义,解空间 W 中的任何向量(即方程组的任何解)都可以唯一地表示为基向量的线性组合。
定义(通解):若 η1,η2,…,ηt 是齐次线性方程组 Ax=0 的一个基础解系,则其通解为: x=k1η1+k2η2+⋯+ktηt,k1,k2,…,kt∈K 其中 k1,k2,…,kt 为任意常数。通解表达了方程组的所有解。
如何求基础解系:理论与方法
一个自然的问题是:基础解系是否存在?如果存在,它包含多少个向量?又如何具体找到它们?
定理(基础解系的结构):设 n 元齐次线性方程组 Ax=0 的系数矩阵 A 的秩 rank(A)=r。
- 若 r=n,则方程组只有零解,解空间 W={0},没有基础解系(或说基础解系包含 0 个向量)。
- 若 r<n,则方程组有非零解,且解空间 W 的维数为 dim(W)=n−r。此时,基础解系存在,且任何一个基础解系都恰好包含 n−r 个线性无关的解向量。
求解基础解系的标准步骤:
- 化行最简形:对系数矩阵 A 施行初等行变换,化为行最简形矩阵 B。
- 确定自由未知量:根据行最简形 B,确定 r 个主元(首非零元)所在的列,对应的未知量称为主变量;其余 n−r 个未知量称为自由未知量(或自由变量)。
- 写出一般解:将主变量用自由未知量线性表示,得到方程组的一般解表达式。
- 构造基础解系:分别令自由未知量组取 n−r 维单位坐标向量:
- 第一次:令第一个自由未知量为 1,其余为 0。
- 第二次:令第二个自由未知量为 1,其余为 0。
- ……
- 第 n−r 次:令第 n−r 个自由未知量为 1,其余为 0。 将每一组取值代入一般解,求出对应的主变量值,从而得到 n−r 个解向量 η1,η2,…,ηn−r。这组向量就是原方程组的一个基础解系。
原理剖析:自由未知量可以取任意值,它们张成了一个 n−r 维的向量空间 Kn−r。令其分别取单位坐标向量 (1,0,…,0)T,(0,1,…,0)T,…,相当于取了这个空间的一组标准基。由于主变量由自由未知量唯一确定,这样得到的 n−r 个解向量自然线性无关,并且能线性表出自由未知量取任意组合时对应的解,从而构成了整个解空间的一组基。
实例演示
求下列齐次线性方程组的一个基础解系和通解。 ⎩⎨⎧x1−3x2+5x3−2x4=0−2x1+x2−3x3+x4=0−x1−7x2+9x3−4x4=0
解:
写出系数矩阵并化简为行最简形: A=1−2−1−31−75−39−21−4初等行变换B=10001054−570−51530 这里 rank(A)=2,未知量个数 n=4。
确定主变量与自由未知量:由 B 可知,x1,x2 是主变量,x3,x4 是自由未知量。
写出一般解:由 B 对应的方程组: {x1+54x3−51x4=0x2−57x3+53x4=0 解得: {x1=−54x3+51x4x2=57x3−53x4 其中 x3,x4 为自由未知量。
求基础解系:自由未知量有 2 个 (n−r=2),分别赋值。
- 令 (x3,x4)T=(1,0)T,代入一般解得 (x1,x2)T=(−54,57)T,得解向量 η1=(−54,57,1,0)T。为消除分数,可乘以 5,取 η1=(−4,7,5,0)T。
- 令 (x3,x4)T=(0,1)T,代入一般解得 (x1,x2)T=(51,−53)T,得解向量 η2=(51,−53,0,1)T。乘以 5,取 η2=(1,−3,0,5)T。 则 η1,η2 是方程组的一个基础解系。
写出通解:方程组的通解为: x=k1η1+k2η2=k1−4750+k21−305,k1,k2∈R
我们可以用 Python 验证求得的解向量确实满足原方程组。
import numpy as np
# 定义系数矩阵 A
A = np.array([[1, -3, 5, -2],
[-2, 1, -3, 1],
[-1, -7, 9, -4]], dtype=float)
# 定义求得的基础解系向量
eta1 = np.array([-4, 7, 5, 0])
eta2 = np.array([1, -3, 0, 5])
# 验证 eta1 和 eta2 是解
print("验证 A * eta1 是否为零向量:", np.dot(A, eta1))
print("验证 A * eta2 是否为零向量:", np.dot(A, eta2))
# 验证 eta1 和 eta2 线性无关
# 将它们作为列向量构成矩阵,求秩
V = np.column_stack((eta1, eta2))
print("基础解系向量构成的矩阵 V:\n", V)
print("矩阵 V 的秩(应为2):", np.linalg.matrix_rank(V))
# 生成一个通解示例:取 k1=2, k2=-1
k1, k2 = 2, -1
x_example = k1 * eta1 + k2 * eta2
print(f"\n取 k1={k1}, k2={k2} 时的通解示例 x = {x_example}")
print("验证 A * x 是否为零向量:", np.dot(A, x_example))
📝 动手练一练
求基础解系:求下列齐次线性方程组的一个基础解系和通解。 ⎩⎨⎧2x1+4x2−x3+2x4=0x1+2x2+x3+3x4=03x1+6x2−2x3+x4=0
👉 点击查看参考答案
参考答案: 对系数矩阵 213426−11−2231 作初等行变换:交换第一、二行后,r2−2r1=(0,0,−3,−4),r3−3r1=(0,0,−5,−8),再 3r3−5r2=(0,0,0,−4),得 1002001−303−4−4,故 rank(A)=3(第 2 列与第 1 列成比例,但第 (1,3,4) 列构成的三阶子式非零)。 解空间维数为 n−r=4−3=1,基础解系只含 1 个向量。主变量为 x1,x3,x4,自由未知量为 x2。回代得 x4=0,x3=0,x1=−2x2。令 x2=1,得基础解系 η1=(−2,1,0,0)T,通解为 x=k1η1(k1∈R)。 验证:将 η1 代入三个方程分别得 2×(−2)+4×1=0、−2+2=0、3×(−2)+6×1=0(x3=x4=0,相关项自动为零),故 η1 确为解。
理解解空间维数:已知一个 5 元齐次线性方程组,其系数矩阵的秩为 3。请问其解空间的维数是多少?一个基础解系应包含多少个解向量?若已知该方程组有三个线性无关的解向量 α,β,γ,它们是否一定构成基础解系?
参考答案: 解空间维数 dim(W)=n−r=5−3=2。基础解系应包含 2 个解向量。 三个线性无关的 5 维向量 α,β,γ 不可能同时属于一个 2 维子空间(解空间)。因此,如果它们都是该方程组的解,则它们必定线性相关,不可能线性无关。所以,题目假设的情况不会发生。
本章小结
本节我们深入剖析了齐次线性方程组解集的代数结构,建立了从“解”到“空间”的深刻联系。
要点回顾:
- 解空间:齐次线性方程组 Ax=0 的所有解构成 Kn 的一个线性子空间 W。
- 基础解系:解空间 W 的一组基,是 W 中的一个极大线性无关解向量组。所有解均可由其线性表出。
- 核心定理:若 rank(A)=r,则 dim(W)=n−r。基础解系恰含 n−r 个向量。
- 通解公式:若 η1,…,ηn−r 是基础解系,则通解为 x=∑i=1n−rkiηi。
- 求解步骤:化行最简形 → 定自由未知量 → 写一般解 → 赋单位向量得基础解系。
📋 行动清单
- 掌握标准流程:面对一个具体齐次方程组,熟练运用“化简-赋值”四步法求出其基础解系与通解。
- 理解维度关系:看到系数矩阵的秩 r 和未知量个数 n,能立即反应出解空间的维数 n−r,并判断基础解系中向量的个数。
- 尝试代码验证:使用 NumPy 实现求解基础解系的算法,或至少能用代码验证你手算得到的解向量是否正确满足原方程。
—— 小象教研组