这篇文章根据 AMA3724 Further Mathematical Methods 中线性代数与微分方程部分的讲义整理。它不是一份公式清单,而是一篇偏推导的教程:先从矩阵、向量空间和投影讲起,再推到特征值、对角化、正定矩阵与 SVD,最后说明为什么这些线性代数工具会自然进入常微分方程和偏微分方程。
如果只把这门课理解成“会算矩阵、会解微分方程”,会很容易碎片化。更好的主线是:
线性代数研究的是线性变换如何作用在空间上;微分方程研究的是一个量如何随时间或空间变化。当变化规律是线性的,线性代数就会变成解微分方程的语言。
原始资料:
1. 矩阵不是表格,而是线性变换
矩阵最初看起来像一张数字表:
A=[a11a21a12a22]
但在线性代数里,更重要的理解是:矩阵表示一个线性变换。它把一个向量 x 变成另一个向量 Ax。
例如二维向量
x=[x1x2]
经过矩阵 A 后变成
Ax=[a11x1+a12x2a21x1+a22x2]
这说明矩阵的每一行都在对输入向量做一次线性组合。
另一种更几何的看法是看 A 对标准基的作用。设
e1=[10],e2=[01]
则
Ae1=[a11a21],Ae2=[a12a22]
也就是说,矩阵的第 1 列就是 e1 被变到哪里,第 2 列就是 e2 被变到哪里。任意向量都可以写成
x=x1e1+x2e2
因为线性变换满足
A(x1e1+x2e2)=x1Ae1+x2Ae2
所以只要知道矩阵把基向量变到哪里,就知道它如何变换整个空间。
这也是后面所有内容的起点:线性组合、基、秩、特征向量、对角化,本质上都在问同一件事:
一个线性变换怎样改变空间中的方向、长度和维度?
2. 向量空间:可以做线性组合的世界
向量空间的定义看起来抽象,但核心很简单:一个集合如果对加法和数乘封闭,并且满足加法、数乘的基本规则,它就是向量空间。
在 Rn 中,两个向量相加还是 Rn 中的向量:
u,v∈Rn⇒u+v∈Rn
一个向量乘以标量也还在 Rn 中:
c∈R, u∈Rn⇒cu∈Rn
这两个性质叫封闭性。它保证我们可以放心地做线性组合:
c1v1+c2v2+⋯+ckvk
如果一个集合 S 中任意向量的线性组合仍然属于 S,那么 S 是一个 subspace。比如一条过原点的直线:
S={tv:t∈R}
任取两个向量 t1v,t2v,它们的线性组合是
a(t1v)+b(t2v)=(at1+bt2)v
仍然是 v 的倍数,所以仍在这条直线上。
注意:直线如果不过原点,就不是子空间。例如
L={(x,y):y=x+1}
它不包含零向量 (0,0),因此不可能是子空间。子空间必须包含零向量,因为令标量 c=0,任何向量 v 都会给出 0v=0。
3. Span:用一组向量能造出多大的空间
给定向量 v1,…,vk,它们所有线性组合组成的集合叫 span:
span{v1,…,vk}={c1v1+⋯+ckvk:ci∈R}
例如在 R2 中,如果
v1=[10],v2=[01]
那么
c1v1+c2v2=[c1c2]
可以得到任意二维向量,所以
span{v1,v2}=R2
但如果
v1=[12],v2=[24]
那么 v2=2v1,两个向量其实只给出同一条方向。它们的 span 是一条过原点的直线,而不是整个平面。
这引出线性无关的概念。
4. 线性无关:没有人是多余的
向量组 v1,…,vk 线性无关,意思是:
c1v1+⋯+ckvk=0
只有平凡解
c1=⋯=ck=0
如果存在不全为零的系数让线性组合等于零,那么这组向量线性相关。
为什么这个定义能表达“没有人是多余的”?假设有一个非平凡关系:
c1v1+⋯+ckvk=0
且 cj=0。那么可以把 vj 解出来:
vj=−cjc1v1−⋯−cjcj−1vj−1−cjcj+1vj+1−⋯−cjckvk
这说明 vj 可以由其他向量线性表示,所以它是多余的。
因此,线性无关可以理解为:
每个向量都提供了一个新的方向。
5. Basis 和 Dimension:坐标系统从哪里来
一个向量空间 V 的 basis 是一组向量,它同时满足两个条件:
- 它们 span 整个 V。
- 它们线性无关。
第一个条件表示“够用”,第二个条件表示“不冗余”。
如果
B={v1,…,vn}
是 V 的一组基,那么 V 中任意向量 x 都可以唯一写成:
x=c1v1+⋯+cnvn
唯一性来自线性无关。假设有两种表示:
x=c1v1+⋯+cnvn
和
x=d1v1+⋯+dnvn
两式相减:
0=(c1−d1)v1+⋯+(cn−dn)vn
由于基向量线性无关,所以
ci−di=0
即 ci=di。所以坐标是唯一的。
维数 dimension 就是基向量的个数。R2 的维数是 2,R3 的维数是 3。更一般地,维数刻画一个空间需要多少个独立方向来描述。
6. 四个基本子空间:矩阵的结构地图
对一个 m×n 矩阵 A,有四个非常重要的子空间:
- Column space: C(A),由 A 的列向量张成。
- Null space: N(A),满足 Ax=0 的所有 x。
- Row space: C(AT),由 A 的行向量张成。
- Left null space: N(AT),满足 ATy=0 的所有 y。
其中最常用的是 column space 和 null space。
线性方程组
Ax=b
是否有解,取决于 b 是否在 A 的 column space 中。因为
Ax=x1a1+x2a2+⋯+xnan
其中 ai 是 A 的第 i 列。也就是说,Ax 是 A 的列向量的线性组合。所以方程 Ax=b 有解当且仅当 b 可以由 A 的列向量线性组合出来:
b∈C(A)
null space 则描述方程 Ax=0 有多少自由度。如果 x0 是 Ax=b 的一个特解,而 z∈N(A),那么
A(x0+z)=Ax0+Az=b+0=b
所以所有解都可以写成:
x=x0+z,z∈N(A)
这说明 null space 描述的是解空间中的“自由移动方向”。
7. Rank-Nullity:维度守恒
设 A 是 m×n 矩阵。rank-nullity theorem 说:
rank(A)+nullity(A)=n
其中
rank(A)=dimC(A)
表示 column space 的维数,而
nullity(A)=dimN(A)
表示 null space 的维数。
为什么这个公式合理?因为 A 的输入空间是 Rn。矩阵 A 把输入方向分成两类:
- 被映射成非零输出、真正影响结果的方向。
- 被映射成零、消失掉的方向。
第一类方向的数量是 rank,第二类方向的数量是 nullity。它们加起来就是输入空间的总维数 n。
这条定理特别重要,因为它把“方程有多少自由变量”和“矩阵有多少独立列”联系起来。
8. 内积与范数:几何进入代数
在 Rn 中,标准内积定义为:
⟨x,y⟩=xTy=x1y1+⋯+xnyn
范数定义为:
∥x∥=⟨x,x⟩=xTx
内积不只是一个公式,它包含角度信息。由余弦公式可得:
⟨x,y⟩=∥x∥∥y∥cosθ
所以当
⟨x,y⟩=0
且 x,y 都非零时,说明
cosθ=0
即 θ=90∘。这就是正交。
正交的意义是:两个方向互不干扰。在线性代数、最小二乘、傅里叶级数和 PDE 中,正交性都是把复杂问题拆成简单问题的关键。
9. 投影:最小二乘的核心推导
假设我们有一个子空间 W,想用 W 中的向量近似一个向量 b。最好的近似应该是 b 在 W 上的投影,记为 b^。
所谓“最好”,通常指误差长度最小:
∥b−b^∥
最小。
几何上,最短距离一定垂直于子空间,所以
b−b^⊥W
如果 W=C(A),那么 b^ 可以写成
b^=Ax^
误差向量是
e=b−Ax^
要求它垂直于 A 的 column space,也就是垂直于 A 的每一列:
AT(b−Ax^)=0
展开:
ATb−ATAx^=0
所以得到 normal equation:
ATAx^=ATb
这就是最小二乘的核心公式。
如果 ATA 可逆,则
x^=(ATA)−1ATb
这条公式不是凭空出现的,它来自一个很简单的几何事实:
最短误差必须与拟合空间正交。
机器学习中的线性回归,本质上也在做这个投影。只不过统计学会进一步讨论噪声、方差、置信区间和模型诊断。
10. Gram-Schmidt:把一组基变成正交基
很多问题如果基向量正交,就会简单很多。Gram-Schmidt 算法的目标是:从一组线性无关向量
v1,…,vn
构造一组正交向量
u1,…,un
并且它们张成同一个空间。
第一步:
u1=v1
第二步,从 v2 中减去它在 u1 方向上的投影:
u2=v2−proju1(v2)
其中
proju1(v2)=⟨u1,u1⟩⟨v2,u1⟩u1
所以
u2=v2−⟨u1,u1⟩⟨v2,u1⟩u1
为什么这样能保证正交?计算内积:
⟨u2,u1⟩=⟨v2−⟨u1,u1⟩⟨v2,u1⟩u1,u1⟩
由内积线性性:
⟨u2,u1⟩=⟨v2,u1⟩−⟨u1,u1⟩⟨v2,u1⟩⟨u1,u1⟩=0
一般地:
uk=vk−j=1∑k−1⟨uj,uj⟩⟨vk,uj⟩uj
如果再归一化:
qk=∥uk∥uk
就得到 orthonormal basis。
11. 特征值与特征向量:矩阵保留哪些方向
矩阵通常会改变向量的方向。但有些特殊方向经过矩阵作用后,方向不变,只是长度缩放。这些方向就是特征向量。
定义:
Av=λv,v=0
其中 v 是 eigenvector,λ 是 eigenvalue。
把式子移到一边:
(A−λI)v=0
因为 v=0,所以这个齐次方程必须有非零解。一个矩阵有非零 null space,当且仅当它不可逆,即 determinant 为零:
det(A−λI)=0
这就是 characteristic equation。
例如
A=[2003]
则
det(A−λI)=det[2−λ003−λ]=(2−λ)(3−λ)
所以特征值是
λ1=2,λ2=3
对应的特征向量分别沿 x 轴和 y 轴。这说明 A 沿第一个方向放大 2 倍,沿第二个方向放大 3 倍。
12. 对角化:换一个坐标系看矩阵
如果 A 有 n 个线性无关的特征向量
v1,…,vn
把它们作为列组成矩阵
P=[v1v2⋯vn]
再令
D=⎣⎢⎢⎢⎢⎡λ10⋮00λ2⋮0⋯⋯⋱⋯00⋮λn⎦⎥⎥⎥⎥⎤
由于
Avi=λivi
所以
AP=[Av1Av2⋯Avn]=[λ1v1λ2v2⋯λnvn]=PD
两边左乘 P−1:
P−1AP=D
等价地:
A=PDP−1
这就是对角化。
为什么它重要?因为对角矩阵非常容易计算幂:
Dk=⎣⎢⎢⎢⎢⎡λ1k0⋮00λ2k⋮0⋯⋯⋱⋯00⋮λnk⎦⎥⎥⎥⎥⎤
如果 A=PDP−1,那么
Ak=(PDP−1)k=PDkP−1
中间的 P−1P 会不断抵消。
这在差分方程、马尔可夫链、递推关系、ODE 系统中都非常有用。
13. 对角化如何解线性 ODE 系统
考虑线性微分方程系统:
x′(t)=Ax(t)
如果 A 是标量 a,方程
x′(t)=ax(t)
的解是
x(t)=Ceat
矩阵版本的自然类比是:
x(t)=eAtx(0)
其中矩阵指数定义为:
eAt=I+At+2!(At)2+3!(At)3+⋯
如果 A=PDP−1,则
eAt=ePDP−1t=PeDtP−1
而
eDt=⎣⎢⎢⎢⎢⎡eλ1t0⋮00eλ2t⋮0⋯⋯⋱⋯00⋮eλnt⎦⎥⎥⎥⎥⎤
所以解变成:
x(t)=PeDtP−1x(0)
这说明特征值控制增长或衰减速度,特征向量控制增长或衰减的方向。
如果 λ<0,对应方向随时间衰减;如果 λ>0,对应方向增长;如果 λ 是复数,则会出现旋转或振荡。
14. 对称矩阵与谱定理
对称矩阵满足:
A=AT
它有一个非常好的性质:实对称矩阵一定可以被正交对角化。也就是说存在正交矩阵 Q 和对角矩阵 Λ,使得
A=QΛQT
其中 Q 的列向量是 A 的一组 orthonormal eigenvectors。
因为 Q 是正交矩阵:
QTQ=I
所以 Q−1=QT。
这比一般对角化
A=PDP−1
更稳定、更漂亮。几何上,正交矩阵表示旋转或反射,不会改变长度。因此实对称矩阵可以理解为:
- 先旋转坐标系。
- 沿正交方向分别缩放。
- 再旋转回来。
这就是 spectral theorem 的直观含义。
15. 正定矩阵:二次型为什么总是正
给定对称矩阵 A,二次型是:
xTAx
如果对所有非零 x 都有
xTAx>0
则 A 是 positive definite。
为什么它和特征值有关?由谱分解:
A=QΛQT
令
y=QTx
由于 Q 正交,x=0 等价于 y=0。于是
xTAx=xTQΛQTx=yTΛy
如果
Λ=diag(λ1,…,λn)
则
yTΛy=λ1y12+⋯+λnyn2
这个表达式对所有非零 y 都大于 0,当且仅当所有特征值都大于 0:
λi>0
所以对称矩阵正定等价于所有特征值为正。
正定矩阵在优化中尤其重要。如果 Hessian 矩阵正定,函数在局部像一个向上开的碗,因此临界点是局部最小值。
16. SVD:不要求方阵的“对角化”
对角化要求矩阵是方阵,而且需要足够多特征向量。SVD 更强:任意 m×n 矩阵 A 都可以分解为
A=UΣVT
其中:
- U 的列是左奇异向量。
- V 的列是右奇异向量。
- Σ 是对角形矩阵,对角线上是 singular values。
SVD 可以从 ATA 推出来。注意
ATA
是对称半正定矩阵。由谱定理,它可以正交对角化:
ATA=VΛVT
其中 Λ 的对角元素非负。令
σi=λi
这就是奇异值。
如果 vi 是 ATA 的单位特征向量:
ATAvi=σi2vi
定义
ui=σiAvi
则
Avi=σiui
把所有这些关系写成矩阵形式,就得到:
AV=UΣ
所以
A=UΣVT
SVD 的几何意义是:
任意线性变换都可以看成:先旋转或反射,再沿坐标轴缩放,再旋转或反射。
它也是 PCA、推荐系统、图像压缩、低秩近似、embedding 分解的基础。
17. 一阶 ODE:从最简单的变化规律开始
常微分方程研究未知函数 y(t) 与其导数之间的关系。例如
dtdy=ky
表示增长速度与当前数量成正比。
分离变量:
y1dy=kdt
两边积分:
∫y1dy=∫kdt
得到
ln∣y∣=kt+C
指数化:
∣y∣=ekt+C=eCekt
把常数吸收进 C1:
y=C1ekt
这就是指数增长或衰减。
如果有初值
y(0)=y0
代入可得
y0=C1
因此
y(t)=y0ekt
这条公式和前面的线性系统
x′(t)=Ax(t)
完全同源。标量 k 的角色,在系统中由矩阵 A 的特征值承担。
18. 一阶线性 ODE:积分因子从哪里来
考虑一阶线性方程:
y′+p(t)y=q(t)
目标是把左边变成某个乘积的导数。我们希望找到函数 μ(t),使得
μ(t)y′+μ(t)p(t)y=(μ(t)y)′
由乘积法则:
(μy)′=μy′+μ′y
因此需要
μ′=p(t)μ
这是一个可分离方程:
μμ′=p(t)
积分:
ln∣μ∣=∫p(t)dt
所以可以取
μ(t)=e∫p(t)dt
原方程两边乘以 μ:
μy′+μpy=μq
左边就是
(μy)′=μq
两边积分:
μy=∫μqdt+C
所以
y=μ1(∫μqdt+C)
积分因子不是技巧记忆,而是为了强行制造乘积导数。
19. 二阶常系数 ODE:为什么要猜指数函数
考虑二阶线性常系数方程:
ay′′+by′+cy=0
为什么通常令
y=ert
因为指数函数求导后只会乘上常数:
y′=rert,y′′=r2ert
代入方程:
ar2ert+brert+cert=0
提取 ert:
(ar2+br+c)ert=0
由于 ert=0,所以
ar2+br+c=0
这就是 characteristic equation。
如果有两个不同实根 r1,r2,解为
y=C1er1t+C2er2t
如果有重根 r,解为
y=(C1+C2t)ert
如果有复根
r=α±iβ
则利用欧拉公式
e(α+iβ)t=eαt(cosβt+isinβt)
实解可以写成:
y=eαt(C1cosβt+C2sinβt)
这解释了为什么复特征根对应振荡,实部 α 控制振幅增长或衰减,虚部 β 控制频率。
20. 非齐次方程:特解加通解
考虑
ay′′+by′+cy=f(t)
设 yp 是一个特解,yh 是对应齐次方程
ay′′+by′+cy=0
的通解。那么
y=yh+yp
是非齐次方程的通解。
为什么?设线性微分算子
L[y]=ay′′+by′+cy
因为 L 是线性的:
L[yh+yp]=L[yh]+L[yp]=0+f(t)=f(t)
所以 yh+yp 是解。
如果 y1,y2 都是非齐次方程的解,那么
L[y1]=f(t),L[y2]=f(t)
两式相减:
L[y1−y2]=0
所以任意两个特解之差都属于齐次解空间。因此非齐次方程的所有解就是:
one particular solution+homogeneous solution space
这和线性方程组
Ax=b
的结构完全一样:
x=xp+z,z∈N(A)
21. 方程组视角:ODE 和线性代数重新合流
高阶 ODE 可以转化为一阶系统。例如二阶方程
y′′+ay′+by=0
令
x1=y,x2=y′
则
x1′=x2
由原方程:
y′′=−ay′−by
所以
x2′=−bx1−ax2
写成矩阵形式:
[x1′x2′]=[0−b1−a][x1x2]
即
x′=Ax
所以二阶 ODE 的解法又回到了矩阵特征值。
这就是为什么线性代数和微分方程经常放在同一门课里:线性 ODE 的核心其实是线性变换的动力学。
22. PDE 入门:为什么分离变量会有效
偏微分方程中,未知函数依赖多个变量。例如热方程:
ut=α2uxx
其中 u(x,t) 表示位置 x、时间 t 下的温度。
分离变量法假设解可以写成:
u(x,t)=X(x)T(t)
代入热方程:
X(x)T′(t)=α2X′′(x)T(t)
两边除以 α2X(x)T(t):
α2T(t)T′(t)=X(x)X′′(x)
左边只依赖 t,右边只依赖 x。如果它们对所有 x,t 都相等,那么它们必须等于同一个常数。通常写成
α2TT′=XX′′=−λ
于是 PDE 被拆成两个 ODE:
T′+α2λT=0
和
X′′+λX=0
这就是分离变量的本质:把多变量问题拆成单变量问题。
为什么会出现特征值 λ?因为边界条件通常只允许某些特殊的空间形状 X(x) 存在。例如在区间 [0,L] 上,如果边界条件是
u(0,t)=0,u(L,t)=0
那么
X(0)=0,X(L)=0
对
X′′+λX=0
若 λ>0,令 λ=μ2,通解为
X(x)=Acosμx+Bsinμx
由 X(0)=0 得
A=0
由 X(L)=0 得
BsinμL=0
要有非零解,需要
sinμL=0
所以
μL=nπ
即
μ=Lnπ
因此
λn=(Lnπ)2
对应的空间函数是
Xn(x)=sinLnπx
时间部分为
Tn(t)=e−α2λnt
所以基本解是
un(x,t)=sinLnπxe−α2(nπ/L)2t
一般解由这些基本模式叠加:
u(x,t)=n=1∑∞bnsinLnπxe−α2(nπ/L)2t
这其实又回到了线性代数的语言:
- sin(nπx/L) 是一组“无限维空间中的基函数”。
- bn 是初始温度在这些基函数上的坐标。
- 每个模式按自己的指数速度衰减。
这和矩阵对角化中的
x(t)=PeDtP−1x(0)
是同一思想的无限维版本。
23. Fourier Series:函数空间里的坐标
在线性代数中,向量可以写成基向量的线性组合:
x=c1v1+⋯+cnvn
在 Fourier series 中,函数也可以写成基函数的线性组合:
f(x)∼2a0+n=1∑∞(ancosnx+bnsinnx)
系数由投影得到。比如在 [−π,π] 上:
an=π1∫−ππf(x)cosnxdx
bn=π1∫−ππf(x)sinnxdx
为什么是这些公式?因为三角函数之间具有正交性:
∫−ππsinmxsinnxdx=0,m=n
∫−ππcosmxcosnxdx=0,m=n
这和普通向量空间中的
⟨vi,vj⟩=0
完全类比。Fourier 系数就是函数在正交基上的坐标。
因此,PDE 里的 Fourier series 不是另一个孤立技巧,而是内积空间、正交投影和基展开的自然延伸。
24. 学习这部分时最重要的几条线
这门课内容看起来横跨线代、ODE 和 PDE,但真正要抓住的是几条结构线:
- 线性组合是基础。Span、subspace、basis、solution space 都围绕线性组合展开。
- 正交性让问题可分解。Projection、least squares、Gram-Schmidt、Fourier series 都依赖正交。
- 特征值描述稳定方向。Diagonalization、ODE system、PDE separation 都在寻找特殊方向或特殊模式。
- 非齐次问题等于特解加齐次通解。这同时适用于线性方程组和线性微分方程。
- 有限维和无限维是同一种思想。矩阵的 eigenvectors 对应 PDE 中的 eigenfunctions。
如果你以后继续学机器学习、优化、推荐系统、图神经网络、信号处理或数值 PDE,这些内容都会反复出现。比如:
- PCA 是用特征值和 SVD 找主要方向。
- 最小二乘是把目标投影到 column space。
- Ridge regression 和正定矩阵、二次型密切相关。
- Transformer 中的 embedding、attention 和矩阵乘法密不可分。
- 扩散模型、连续时间模型和 neural ODE 都需要微分方程直觉。
- Fourier features、spectral methods 和 PDE 分离变量共享同一套正交基思想。
所以这门课最值得带走的不是某个公式,而是一个统一视角:
先找到空间,再找到基;先理解变换,再理解特征方向;先把问题拆到正交方向上,再逐个方向求解。
25. 一个最小复习清单
复习时可以按下面的问题检查自己是否真的理解:
- 为什么矩阵的列向量决定了线性变换?
- 为什么子空间必须包含零向量?
- 为什么线性相关意味着有向量是多余的?
- 为什么 Ax=b 有解等价于 b∈C(A)?
- 为什么最小二乘满足 ATAx^=ATb?
- 为什么特征值来自 det(A−λI)=0?
- 为什么 A=PDP−1 可以快速计算 Ak?
- 为什么 x′=Ax 的解由 eAt 给出?
- 为什么对称矩阵可以正交对角化?
- 为什么正定矩阵等价于特征值全为正?
- 为什么积分因子是 e∫p(t)dt?
- 为什么二阶常系数 ODE 要猜 ert?
- 为什么 PDE 分离变量会产生特征值问题?
- 为什么 Fourier 系数本质上是投影系数?
如果这些问题都能不用背公式讲清楚,这部分内容就真正连起来了。