本文是3B1B 《线性代数的本质》系列视频之 点积与对偶性 的学习笔记,理解点积的几何意义,揭示点积背后的线性代数本质。
1、点积的传统定义与几何意义
通常这样定义两个向量的点积:
v⃗⋅w⃗=v1w1+v2w2+⋯+vnwn \vec{v} \cdot \vec{w} = v_1 w_1 + v_2 w_2 + \cdots + v_n w_n v ⋅w =v1w1+v2w2+⋯+vnwn
同时,点积也有一个几何公式:
v⃗⋅w⃗=∥v⃗∥∥w⃗∥cosθ \vec{v} \cdot \vec{w} = \|\vec{v}\| \|\vec{w}\| \cos\theta v ⋅w =∥v ∥∥w ∥cosθ
其中 θ 是两向量夹角。这个公式告诉我们:点积衡量的是两个向量在方向上的相似(对齐)程度。
- 当夹角为0°,点积最大
- 当夹角为90°,点积为0
- 当夹角为180°,点积最小(负值)
它等于向量v⃗\vec{v}v 在向量 w⃗\vec{w}w 方向上的投影长度(∥v⃗∥cosθ\|\vec{v}\| \cos\theta∥v ∥cosθ)乘以向量 w⃗\vec{w}w 的长度(∥w⃗∥\|\vec{w}\|∥w ∥),反之亦然。
3B1B给了一个非常直观的几何解释:
将一个向量投影到另一个向量的方向上,然后将投影长度与被投影向量的长度相乘,就得到了点积。
2、点积 ↔ 线性变换
3B1B 的核心洞见:
每一个点积操作,本质上都对应一个从高维空间到一维数轴的线性变换。
任何从 Rn→R\mathbb{R}^n \to \mathbb{R}Rn→R 的线性变换都可以用一个 1×n1 \times n1×n 的矩阵(行向量)来表示。
例如,投影到单位向量 u^=[u1u2]\hat{u} = \begin{bmatrix} u_1 \\ u_2 \end{bmatrix}u^=[u1u2] 的变换,对应的矩阵就是:
u1u2\] \\begin{bmatrix} u_1 \& u_2 \\end{bmatrix} \[u1u2
于是:
u1u2\]\[v1v2\]=u1v1+u2v2=v⃗⋅u\^ \\begin{bmatrix} u_1 \& u_2 \\end{bmatrix} \\begin{bmatrix} v_1 \\\\ v_2 \\end{bmatrix} = u_1 v_1 + u_2 v_2 = \\vec{v} \\cdot \\hat{u} \[u1u2\]\[v1v2\]=u1v1+u2v2=v ⋅u\^ ## 3、对偶性 这里的"对偶性"是一种几何与代数之间的对应关系,尤其体现在向量与线性函数之间的一一对应。 每一个线性变换到标量(从向量空间到一维实数的线性函数),都可以唯一地对应一个向量,这个向量通过点积的方式实现该变换。 假设在二维实数空间 R2\\mathbb{R}\^2R2 中: 有一个线性函数 f:R2→Rf: \\mathbb{R}\^2 \\to \\mathbb{R}f:R2→R,它把每个二维向量 (x,y)(x, y)(x,y) 映射成一个实数: f(x,y)=3x+4y f(x, y) = 3x + 4y f(x,y)=3x+4y 这个函数是线性的,因为满足: * f(v⃗+w⃗)=f(v⃗)+f(w⃗)f(\\vec{v} + \\vec{w}) = f(\\vec{v}) + f(\\vec{w})f(v +w )=f(v )+f(w ) * f(cv⃗)=cf(v⃗)f(c\\vec{v}) = c f(\\vec{v})f(cv )=cf(v ) 现在的问题是:这个线性函数 f 能不能用"点积"的方式表达? 我们观察: f(x,y)=3x+4y=\[34\]⋅\[xy\] f(x, y) = 3x + 4y = \\begin{bmatrix}3 \\\\ 4\\end{bmatrix} \\cdot \\begin{bmatrix}x \\\\ y\\end{bmatrix} f(x,y)=3x+4y=\[34\]⋅\[xy
也就是说,这个线性函数 fff 等价于和向量 v⃗=(3,4)\vec{v} = (3, 4)v =(3,4) 做点积。
3Blue1Brown 所说的"对偶性":
每一个从 Rn\mathbb{R}^nRn 到 R\mathbb{R}R 的线性函数(也叫线性泛函),都唯一对应一个向量,使得这个函数的作用等同于与该向量做点积。
换句话说:
- 给你一个向量 w⃗\vec{w}w ,你可以定义一个函数 fw⃗(v⃗)=w⃗⋅v⃗f_{\vec{w}}(\vec{v}) = \vec{w} \cdot \vec{v}fw (v )=w ⋅v
- 反过来,给你任意一个线性函数 f:Rn→Rf: \mathbb{R}^n \to \mathbb{R}f:Rn→R,总能找到唯一的向量 w⃗\vec{w}w ,使得 f(v⃗)=w⃗⋅v⃗f(\vec{v}) = \vec{w} \cdot \vec{v}f(v )=w ⋅v
这种"函数 ↔ 向量"的一一对应,就是对偶性。
"对偶性"告诉我们:一个线性函数本质上就是一个向量,只不过我们用点积的方式来"执行"它。
💡这就像有两种语言描述同一个东西:
- 一种是"向量语言":箭头、长度、方向
- 一种是"函数语言":输入向量,输出数字