线性代数教程 · 第1章

向量与向量空间

从箭头的直觉到抽象空间的公理化

← Linear Algebra Tutorial

1.1 向量的本质

在线性代数中,向量是有序的数组,更是空间中的箭头。3Blue1Brown 的开篇视频告诉我们:向量可以代表任何东西 —— 物理中的力、计算机图形学中的颜色、经济学中的价格组合。

核心直觉

向量是"有方向和大小的量",但在线性代数中,我们更关注它的代数结构:可以相加、可以数乘。这些操作的几何意义是:相加是首尾相接,数乘是缩放。

Rⁿ 中,一个向量可以写成列的形式:

v = [v₁, v₂, ..., vₙ]ᵀ

向量的几何表示

二维向量可以在平面上画成从原点出发的箭头。三维向量则在空间中延伸。这种几何表示不是装饰 —— 它揭示了向量运算的本质。

示例:RGB 颜色向量

在计算机图形学中,一种颜色可以表示为三维向量 (R, G, B)。例如纯红色是 (255, 0, 0),黄色是 (255, 255, 0)。颜色的"混合"就是向量的加法,"调亮"就是数乘。

图 1-1:二维向量的加法(平行四边形法则)
% MATLAB:向量运算示例 v = [3; 4]; w = [1; 2]; sum_vw = v + w; % [4; 6] dot_vw = v' * w; % 11 norm_v = norm(v); % 5 % 结果可视化 quiver(0,0,v(1),v(2),'r','LineWidth',2); hold on; quiver(0,0,w(1),w(2),'b','LineWidth',2); quiver(0,0,sum_vw(1),sum_vw(2),'g','LineWidth',2); legend('v','w','v+w'); axis equal; grid on;

点积与几何意义

两个向量的点积 ⟨u, v⟩ = u₁v₁ + u₂v₂ + ... + uₙvₙ 有着深刻的几何意义:

⟨u, v⟩ = ||u|| ||v|| cos θ

其中 θ 是两向量之间的夹角。当点积为零时,两向量垂直。点积为正表示夹角小于 90°,为负则表示大于 90°。

1.2 向量空间公理

《Linear Algebra Done Right》强调:向量空间是定义了加法和数乘的集合,且满足八条公理。这些公理不是 arbitrary 的规则,而是确保"空间"行为符合直觉的最小约束。

八条公理可以归纳为四类:

  1. 加法交换律与结合律:u + v = v + u,(u + v) + w = u + (v + w)
  2. 零向量与负向量:存在 0 使得 v + 0 = v,存在 -v 使得 v + (-v) = 0
  3. 数乘的分配与结合:a(u + v) = au + av,(ab)v = a(bv)
  4. 单位元:1v = v
重要提醒

向量空间的元素不一定是"箭头"。函数、多项式、矩阵都可以构成向量空间。线性代数的威力正是来自这种抽象。

示例:多项式空间 Pₙ

次数不超过 n 的多项式集合 Pₙ 是一个向量空间。两个多项式相加仍是多项式,多项式乘以标量仍是多项式。这个空间是 n+1 维 的,基可以是 {1, x, x², ..., xⁿ}。

1.3 子空间

子空间是向量空间的"子集",但本身也必须是向量空间。判断子空间只需验证三件事:包含零向量、对加法封闭、对数乘封闭

常见的子空间包括:

示例:R³ 中的子空间

考虑 R³ 中满足 x + y + z = 0 的所有向量。这是一个过原点的平面,维数为 2。基向量可以取 v₁ = (1, -1, 0) 和 v₂ = (1, 0, -1)。

基与维数

向量空间的一组是线性无关且能张成整个空间的向量集合。基中向量的个数就是空间的维数

dim(V) = 基中向量的个数

维数是向量空间最核心的不变量。两个向量空间"相同"(同构)当且仅当它们维数相同。

1.4 综合例题

例1:已知 u = (2, 3, 1), v = (1, -1, 4),求 u+v、3u-2v、||u||、⟨u,v⟩ 和两向量夹角
第一步:向量加法
u + v = (2+1, 3+(-1), 1+4) = (3, 2, 5)
第二步:线性组合
3u - 2v = 3(2,3,1) - 2(1,-1,4) = (6,9,3) - (2,-2,8) = (4, 11, -5)
第三步:向量的范数
||u|| = √(2² + 3² + 1²) = √(4 + 9 + 1) = √14
第四步:点积
⟨u, v⟩ = 2×1 + 3×(-1) + 1×4 = 2 - 3 + 4 = 3
第五步:两向量夹角
||v|| = √(1² + (-1)² + 4²) = √(1+1+16) = √18
cos θ = ⟨u,v⟩ / (||u|| · ||v||) = 3 / (√14 · √18) = 3/√252 ≈ 0.189
θ = arccos(0.189) ≈ 79.1°
u+v = (3, 2, 5),3u-2v = (4, 11, -5),||u|| = √14,⟨u,v⟩ = 3,θ ≈ 79.1°
例2:验证集合 W = {(x,y,z) | x+y+z=0} 是否为 R³ 的子空间
第一步:验证零向量
零向量 (0, 0, 0):0 + 0 + 0 = 0 ✓,零向量属于 W
第二步:验证加法封闭性
若 u = (u₁, u₂, u₃) ∈ W,则 u₁+u₂+u₃ = 0;若 v = (v₁, v₂, v₃) ∈ W,则 v₁+v₂+v₃ = 0
u + v = (u₁+v₁, u₂+v₂, u₃+v₃),其分量之和 = (u₁+u₂+u₃) + (v₁+v₂+v₃) = 0 + 0 = 0 ✓
第三步:验证数乘封闭性
若 u = (u₁, u₂, u₃) ∈ W,则 u₁+u₂+u₃ = 0
au = (au₁, au₂, au₃),其分量之和 = a(u₁+u₂+u₃) = a · 0 = 0 ✓
W 是 R³ 的二维子空间,一组基为 {(1, -1, 0), (1, 0, -1)}
例3:判断向量组 {(1,2,3), (4,5,6), (7,8,9)} 是否线性相关
第一步:建立线性关系方程
设 a(1,2,3) + b(4,5,6) + c(7,8,9) = (0, 0, 0)
第二步:列出方程组
a + 4b + 7c = 0
2a + 5b + 8c = 0
3a + 6b + 9c = 0
第三步:消元求解
由第一个方程减第二个方程:-a - b - c = 0,即 a = -b - c
代入第一个方程:-b - c + 4b + 7c = 0 → 3b + 6c = 0 → b = -2c
第四步:确定非零解
取 c = 1,则 b = -2,a = -(-2) - 1 = 1
验证:1·(1,2,3) + (-2)·(4,5,6) + 1·(7,8,9) = (1-8+7, 2-10+8, 3-12+9) = (0,0,0) ✓
非零解存在,向量组线性相关
向量组线性相关(注意:(1,2,3) + (7,8,9) = 2·(4,5,6),即第三个向量可由前两个线性表示)

1.5 工程应用:信号空间

在信号处理中,离散信号就是向量。一个长度为 N 的离散信号 x[n] 可以看作 Rᴺ 中的一个向量。信号处理中的滤波、卷积、傅里叶变换,本质上都是线性代数操作。

工程实例:音频信号的向量表示

一段 1 秒、采样率 44.1kHz 的音频信号是一个 44100 维的向量。"混合两首歌曲"就是向量加法,"调节音量"就是数乘。均衡器(EQ)则是将信号投影到不同频率子空间上。

滤波器设计:数字滤波器可以看作一个线性映射,将输入信号向量映射为输出信号向量。FIR 滤波器的系数就是映射矩阵的行。

% MATLAB:音频信号作为向量 % 生成两个正弦波信号 fs = 44100; t = 0:1/fs:1; s1 = sin(2*pi*440*t); % A4 音符 s2 = sin(2*pi*880*t); % A5 音符 mixed = 0.5*s1 + 0.5*s2; % 向量加法(混音) % 计算信号能量(范数的平方) energy_s1 = norm(s1)^2; % ≈ 22050 % 可视化前 1000 个采样点 plot(t(1:1000), s1(1:1000), 'b'); hold on; plot(t(1:1000), mixed(1:1000), 'r'); legend('原信号','混音后'); xlabel('时间(s)');