向量的几何与代数

向量的几何与代数

学习目标

完成本节后,你将能够: - 用几何和代数两种观点理解向量 - 掌握加法、数乘、线性组合三大运算 - 理解线性组合与张成的空间 - 用 NumPy 实现向量操作

1. 向量的三种视角

### 1.1 物理学视角

物理学家眼中的向量是**有大小和方向的量**——力、速度、位移。你可以在纸上画出带箭头的线段,箭头的长度代表大小,指向代表方向。两个向量相加就是"首尾相接"。这个视角很直观,但推广到高维时不够用。

### 1.2 计算机科学视角

程序员眼中的向量是**有序的数字列表**。比如一个学生的成绩单 \([95, 87, 92, 78]\) 就是一个四维向量。你可以在 Python 中直接用数组表示它。这个视角便于计算操作,但缺乏几何意义。

### 1.3 数学家的视角

数学家将这两种视角统一起来:**向量是向量空间中的元素**。二维向量 \(\begin{bmatrix}2\\3\end{bmatrix}\) 既可以看作平面上从原点指向 (2,3) 的箭头,也可以看作"向右2步、向上3步"的指令集合。

> **核心思维**:向量 = 带箭头的数字列表。你可以随时在几何直观和代数计算之间切换。

2. 向量的基本运算

### 2.1 向量加法

几何意义:平行四边形法则。把两个向量首尾相接,从起点到终点的对角线就是和向量。

代数计算:对应位置相加。

\[\begin{bmatrix} 1 \\ 2 \end{bmatrix} + \begin{bmatrix} 3 \\ -1 \end{bmatrix} = \begin{bmatrix} 1+3 \\ 2+(-1) \end{bmatrix} = \begin{bmatrix} 4 \\ 1 \end{bmatrix}\]

> **直觉**:想象你走了"右1上2",又走了"右3下1",最终位置是"右4上1"。

### 2.2 数乘

几何意义:拉伸或压缩向量。正数保持方向,负数反转方向。

\[3 \cdot \begin{bmatrix} 2 \\ 1 \end{bmatrix} = \begin{bmatrix} 6 \\ 3 \end{bmatrix}, \quad -1 \cdot \begin{bmatrix} 2 \\ 1 \end{bmatrix} = \begin{bmatrix} -2 \\ -1 \end{bmatrix}\]

> **直觉**:3 倍就是将向量延伸到原来的三倍长,-1 倍就是掉头。

### 2.3 线性组合——最重要的概念

线性组合 = 缩放 + 相加

\[c_1\mathbf{v}_1 + c_2\mathbf{v}_2 + \cdots + c_n\mathbf{v}_n\]

这是线性代数的核心运算。**线性代数本质上就是研究线性组合的学科**。

\[2\begin{bmatrix} 1 \\ 0 \end{bmatrix} + 3\begin{bmatrix} 0 \\ 1 \end{bmatrix} = \begin{bmatrix} 2 \\ 3 \end{bmatrix}\]

你看,\(\begin{bmatrix}2\\3\end{bmatrix}\) 就是标准基 \(\mathbf{e}_1, \mathbf{e}_2\) 的一个线性组合。

### 2.4 Python 实践

# 定义向量 v = np.array([2, 3]) w = np.array([-1, 1])

# 加法 print(f"v + w = {v + w}")

# 数乘 print(f"3 * v = {3 * v}")

# 线性组合 print(f"2*v + 0.5*w = {2*v + 0.5*w}")

# 向量长度 print(f"||v|| = {np.linalg.norm(v):.2f}") print(f"||w|| = {np.linalg.norm(w):.2f}") ```

3. 张成的空间 (Span)

给定一组向量,它们的**张成空间**是所有线性组合的集合。

> **直觉**:想象你有一个"向量遥控器"。对每个向量都有一个旋钮来控制缩放倍数。所有能到达的点的集合就是张成空间。

  • 一个非零向量 \(\mathbf{v}\) 的张成空间是一条过原点的直线
  • 两个不共线的向量 \(\mathbf{v}, \mathbf{w}\) 的张成空间是一个平面
  • 三个不共面的向量的张成空间是整个三维空间

4. 点积——衡量向量的相似性

### 4.1 定义和几何

\[\mathbf{v} \cdot \mathbf{w} = \sum_{i=1}^n v_i w_i = \|\mathbf{v}\|\|\mathbf{w}\|\cos\theta\]

几何解释:点积 = 一个向量的长度 × 另一个向量的投影长度

> **直觉**:点积衡量两个向量的"对齐程度"。方向相同时最大,垂直时为零,方向相反时最小。

### 4.2 关键应用

  • **判断垂直**:\(\mathbf{v} \perp \mathbf{w} \iff \mathbf{v} \cdot \mathbf{w} = 0\)
  • **投影长度**:\(\mathbf{b}\) 在 \(\mathbf{a}\) 方向上的投影长度 = \((\mathbf{a} \cdot \mathbf{b}) / \|\mathbf{a}\|\)
  • **柯西-施瓦茨不等式**:\(|\mathbf{v} \cdot \mathbf{w}| \leq \|\mathbf{v}\| \|\mathbf{w}\|\)
# 点积的几何意义
v = np.array([1, 0])

dot = np.dot(v, w) cos_theta = dot / (np.linalg.norm(v) * np.linalg.norm(w)) print(f"cosθ = {cos_theta:.3f}") # 约为 0.707,即 cos(45°)

# 判断垂直 v1 = np.array([1, 0]) v2 = np.array([0, 1]) print(f"垂直? {np.dot(v1, v2) == 0}") # True ```

5. 本节习题

  1. 设 \(\mathbf{v} = [2, -1, 3]\),\(\mathbf{w} = [1, 0, -2]\),计算 \(3\mathbf{v} - 2\mathbf{w}\)
  2. 证明 \(\|\mathbf{v} + \mathbf{w}\|^2 = \|\mathbf{v}\|^2 + \|\mathbf{w}\|^2 + 2\mathbf{v} \cdot \mathbf{w}\)
  3. 用这个公式推导:当 \(\mathbf{v} \perp \mathbf{w}\) 时勾股定理成立
  4. 三点 \((0,0), (1,2), (2,4)\) 是否共线?(提示:看张成空间)
  5. 编写 Python 函数验证三角不等式和柯西-施瓦茨不等式

总结

- 向量是理解线性代数的基本单元 - 线性组合 = 缩放 + 相加,是贯穿全书的运算 - Span 描述了一组向量能表达的所有可能结果 - 点积将几何(角度)和代数(求和)联系了起来