线性代数交互式教程 · 第1章

向量与向量空间

理解向量的本质——有方向的量,而非仅仅是箭头

1.1

向量的本质

在线性代数中,向量是最基本的对象。但什么是向量?很多人第一次学习向量时,脑海中浮现的是"带箭头的线段"。这个直觉虽然有用,却掩盖了向量更深刻的本质。

核心洞察:向量是"有方向的量"

向量的本质不是"箭头",而是具有大小和方向的量。箭头只是向量的一种几何表示。同一向量可以用不同位置、不同长度的箭头表示——真正重要的是它的分量(坐标)。在 Rⁿ 中,一个向量就是 n 个有序数的组合。

向量的多种表示

向量可以用多种等价的方式表示:

在严格定义中,向量是向量空间的元素。只要满足向量空间的8条公理,任何对象都可以是向量——包括函数、矩阵、甚至无限维空间中的对象。

工程应用:向量的物理本质

力的合成(物理学):力是经典的向量。两个力 F₁ 和 F₂ 同时作用于物体,其合效果不是简单的数值相加,而是向量相加——遵循平行四边形法则。这正是向量加法的物理根源。

颜色空间 RGB(计算机图形学):一张图片的每个像素可以表示为三维向量 (R, G, B),分别代表红、绿、蓝三个通道的强度。图像处理中的滤镜操作,本质上是对这些颜色向量进行线性变换。

状态空间(控制工程):在控制系统中,系统的状态可以用状态向量 x(t) = [x₁(t), x₂(t), ..., xₙ(t)]ᵀ 表示。状态空间方法将微分方程转化为一阶向量方程,是现代控制理论的基石。

词向量 NLP:在自然语言处理中,单词被嵌入为高维向量(如 Word2Vec、GloVe)。语义相近的词在向量空间中距离较近,"国王 - 男人 + 女人 ≈ 女王"这样的向量运算揭示了语言的线性结构。

1.2

Rⁿ 空间

Rⁿ 是所有 n 元实数组构成的集合,是线性代数中最基本、最重要的向量空间。理解 Rⁿ 的几何结构,是理解整个线性代数的起点。

Rⁿ = { (x₁, x₂, ..., xₙ) | xᵢ ∈ R, i = 1, 2, ..., n }

低维空间的几何直觉

高维空间的存在意义

虽然人类无法直观想象四维以上的空间,但高维向量在工程中无处不在:一张 1000×1000 的灰度图片是 R¹⁰⁰⁰⁰⁰⁰ 中的向量;一个包含 5 万个词汇的文本词袋模型是 R⁵⁰⁰⁰⁰ 中的向量。线性代数让我们能在任意维度上进行统一运算。

图 1-1:R² 与 R³ 中的向量表示
1.3

向量的线性运算

向量有两种基本运算:加法数乘。这两种运算构成了线性代数的核心——"线性"一词正来源于此。

向量加法

两个向量相加,对应分量相加:

u + v = (u₁ + v₁, u₂ + v₂, ..., uₙ + vₙ)

几何上,向量加法遵循平行四边形法则:以 u 和 v 为邻边作平行四边形,对角线就是 u + v。也可以理解为"首尾相接":将 v 的起点移动到 u 的终点,从 u 的起点到 v 的终点的向量就是 u + v。

数乘(标量乘法)

一个实数 c 与向量 v 相乘,每个分量都乘以 c:

c · v = (c·v₁, c·v₂, ..., c·vₙ)

几何上,数乘改变向量的长度(|c| 倍),同时当 c < 0 时翻转方向。当 c = 0 时,结果为零向量 0 = (0, 0, ..., 0)。

向量运算的基本性质

对于任意向量 u, v, w ∈ Rⁿ 和任意标量 a, b ∈ R:

  • 交换律:u + v = v + u
  • 结合律:(u + v) + w = u + (v + w)
  • 零向量:v + 0 = v
  • 负向量:v + (-v) = 0
  • 分配律:a(u + v) = au + av
  • 结合律:a(bv) = (ab)v
  • 单位元:1·v = v
图 1-2:向量加法的平行四边形法则与数乘的几何意义
1.4

向量空间公理

向量空间(Vector Space)是线性代数的核心结构。严格来说,向量空间是一个集合 V 加上两种运算(加法和数乘),满足以下8条公理。

向量空间的8条公理

设 V 是向量空间,u, v, w ∈ V,a, b 为标量:

  1. 加法封闭性:u + v ∈ V
  2. 加法交换律:u + v = v + u
  3. 加法结合律:(u + v) + w = u + (v + w)
  4. 零向量存在:存在 0 ∈ V,使得 v + 0 = v
  5. 负向量存在:对每个 v,存在 -v,使得 v + (-v) = 0
  6. 数乘封闭性:a·v ∈ V
  7. 数乘分配律:a(u + v) = au + av,(a + b)v = av + bv
  8. 数乘结合律:a(bv) = (ab)v,且 1·v = v
为什么需要公理化?

公理化让线性代数从具体的"有箭头的量"上升到抽象的"满足规则的结构"。函数空间、矩阵空间、多项式空间、无限序列空间——它们看似完全不同,却都满足相同的8条公理。这意味着我们为 Rⁿ 证明的所有定理,自动适用于所有这些空间。这是数学抽象的强大之处。

1.5

子空间

如果 V 是一个向量空间,W 是 V 的一个子集,且 W 本身也构成向量空间(使用 V 的运算),则称 W 是 V 的子空间(Subspace)。

子空间判别法

判断 W 是否是 V 的子空间,不需要验证全部8条公理。只需验证三条:

子空间判别三条件

设 W 是向量空间 V 的非空子集,W 是子空间当且仅当:

  1. 包含零向量:0 ∈ W
  2. 加法封闭:若 u, v ∈ W,则 u + v ∈ W
  3. 数乘封闭:若 v ∈ W,c 是标量,则 c·v ∈ W

这三条条件可以合并为一条:线性组合封闭——若 u, v ∈ W,则对任意标量 a, b,都有 au + bv ∈ W。

重要的子空间例子

注意:子空间必须过原点

在 R² 中,不经过原点的直线(如 y = x + 1)不是子空间!因为它不包含零向量,且对加法和数乘不封闭。子空间的几何直觉是"过原点的平坦子集"——直线、平面、超平面。

计算方法:判断子空间

判断给定集合是否为子空间的标准流程:

  1. 检查集合是否非空(通常验证 0 是否在集合中)
  2. 任取两个元素,验证它们的和是否仍在集合中
  3. 任取一个元素和一个标量,验证数乘结果是否仍在集合中

如果三步都通过,则是子空间;任何一步失败,则不是子空间。

Ex

例题精讲

例1:判断集合是否为 R² 的子空间

判断以下集合是否是 R² 的子空间:

(a) W₁ = { (x, y) ∈ R² | y = 2x }

(b) W₂ = { (x, y) ∈ R² | y = x + 1 }

(c) W₃ = { (x, y) ∈ R² | x ≥ 0, y ≥ 0 }

(a) 解:y = 2x 是子空间

① 零向量:(0, 0) 满足 y = 2x,所以 0 ∈ W₁。

② 加法封闭:设 u = (x₁, 2x₁),v = (x₂, 2x₂),则 u + v = (x₁+x₂, 2x₁+2x₂) = (x₁+x₂, 2(x₁+x₂)),满足 y = 2x。

③ 数乘封闭:设 v = (x, 2x),c 为标量,则 c·v = (cx, 2cx),满足 y = 2x。

(b) 解:y = x + 1 不是子空间

零向量检验:(0, 0) 不满足 0 = 0 + 1,所以 0 ∉ W₂。

不满足子空间的必要条件,直接判定不是子空间。

(c) 解:第一象限(含边界)不是子空间

零向量检验通过:(0, 0) ∈ W₃。

加法封闭通过:两个非负数之和仍为非负数。

但数乘不封闭:取 v = (1, 1) ∈ W₃,令 c = -1,则 c·v = (-1, -1) ∉ W₃。

(a) 是子空间;(b) 不是子空间;(c) 不是子空间
例2:向量运算

设 u = (1, 2, 3),v = (4, -1, 2),w = (0, 1, -1),计算:

(a) u + v

(b) 2u - 3v

(c) 验证 (u + v) + w = u + (v + w)

(a) 向量加法

u + v = (1+4, 2+(-1), 3+2) = (5, 1, 5)

(b) 线性组合

2u = (2, 4, 6),3v = (12, -3, 6)

2u - 3v = (2-12, 4-(-3), 6-6) = (-10, 7, 0)

(c) 结合律验证

左边:(u + v) + w = (5, 1, 5) + (0, 1, -1) = (5, 2, 4)

右边:u + (v + w) = (1, 2, 3) + (4, 0, 1) = (5, 2, 4)

左边 = 右边,结合律成立。

(a) (5, 1, 5);(b) (-10, 7, 0);(c) 结合律验证通过
例3:R³ 中的子空间判断

判断 W = { (x, y, z) ∈ R³ | x + y + z = 0 } 是否是 R³ 的子空间。

第一步:检查零向量

0 + 0 + 0 = 0,所以 (0, 0, 0) ∈ W。

第二步:检查加法封闭性

设 u = (x₁, y₁, z₁),v = (x₂, y₂, z₂) 都属于 W。

u + v = (x₁+x₂, y₁+y₂, z₁+z₂)

分量之和:(x₁+x₂)+(y₁+y₂)+(z₁+z₂) = (x₁+y₁+z₁)+(x₂+y₂+z₂) = 0+0 = 0

所以 u + v ∈ W。

第三步:检查数乘封闭性

设 v = (x, y, z) ∈ W,c 为标量。

c·v = (cx, cy, cz),分量之和:cx+cy+cz = c(x+y+z) = c·0 = 0

所以 c·v ∈ W。

W 是 R³ 的子空间。几何上,它是过原点且法向量为 (1,1,1) 的平面。
例4:向量的几何表示

在 R² 中,给定向量 u = (3, 1) 和 v = (1, 2)。

(a) 用平行四边形法则求 u + v

(b) 求 2u 和 -0.5v 的几何意义

(a) 平行四边形法则

u + v = (3+1, 1+2) = (4, 3)

几何上,以 u 和 v 为邻边构造平行四边形,从原点出发的对角线就是 (4, 3)。

(b) 数乘的几何意义

2u = (6, 2):长度变为原来的 2 倍,方向不变。

-0.5v = (-0.5, -1):长度变为原来的一半,方向相反(指向第三象限)。

(a) u + v = (4, 3);(b) 2u 同向伸长,-0.5v 反向缩短
ML

MATLAB 代码演示

以下 MATLAB 代码帮助你直观理解向量的定义、运算和几何表示。建议在 MATLAB 或 Octave 中运行这些代码。

vector_operations.m
% 第1章:向量的定义与线性运算 % 目标:掌握 MATLAB 中向量的创建和基本运算 % 定义列向量 u = [1; 2; 3]; v = [4; -1; 2]; w = [0; 1; -1]; % 向量加法 disp('u + v ='); disp(u + v); % 数乘与线性组合 disp('2u - 3v + w ='); disp(2*u - 3*v + w); % 转置 disp('u 的转置 ='); disp(u');
plot_vectors_2d.m
% 第1章:绘制二维向量及其运算 u = [3; 1]; v = [1; 2]; figure('Position', [100 100 900 450]); subplot(1,2,1); quiver(0,0,u(1),u(2),0,'LineWidth',2,'Color',[0.77 0.36 0.24]); hold on; quiver(0,0,v(1),v(2),0,'LineWidth',2,'Color',[0.18 0.49 0.43]); xlim([-1 5]); ylim([-1 5]); grid on; axis equal; title('向量 u=(3,1) 和 v=(1,2)'); legend('u','v'); subplot(1,2,2); s = u+v; quiver(0,0,u(1),u(2),0,'LineWidth',1.5,'Color',[0.77 0.36 0.24]); hold on; quiver(0,0,v(1),v(2),0,'LineWidth',1.5,'Color',[0.18 0.49 0.43]); quiver(0,0,s(1),s(2),0,'LineWidth',2.5,'Color',[0.3 0.4 0.8]); plot([u(1) s(1)],[u(2) s(2)],'k--'); plot([v(1) s(1)],[v(2) s(2)],'k--'); xlim([-1 5]); ylim([-1 5]); grid on; axis equal; title('u + v = (4,3)'); legend('u','v','u+v');
plot_vectors_3d.m
% 第1章:绘制三维向量 a = [2; 3; 1]; b = [1; -1; 2]; figure; quiver3(0,0,0,a(1),a(2),a(3),0,'LineWidth',2.5,'Color',[0.77 0.36 0.24]); hold on; quiver3(0,0,0,b(1),b(2),b(3),0,'LineWidth',2.5,'Color',[0.18 0.49 0.43]); xlabel('X'); ylabel('Y'); zlabel('Z'); title('R^3 中的向量'); legend('a','b'); grid on; axis equal; view(30,20);
上一章:无(这是第一章) 下一章:第2章 线性组合与张成空间 →