07 点积

点积

这是关于3Blue1Brown "线性代数的本质"的学习笔记。

基本运算

两个维数相同的向量 [ 2 , 7 , 1 ] T , [ 8 , 2 , 8 ] T [2, 7, 1]^{T},[8, 2, 8]^{T} [2,7,1]T,[8,2,8]T,求它们的点积,就是将对应坐标配对,求出每一对坐标的乘积,并将结果相加。

图1 点积的运算

几何解释



图2 点积的几何解释

几何解释:求两个向量 v ⃗ \vec{v} v 和 w ⃗ \vec{w} w 的点积,就是将向量 w ⃗ \vec{w} w 朝着过原点和向量 v ⃗ \vec{v} v 终点的直线上投影,将投影的长度与向量 v ⃗ \vec{v} v 的长度相乘;或者反过来,将向量 v ⃗ \vec{v} v 朝着过原点和向量 w ⃗ \vec{w} w 终点的直线上投影,将投影的长度与向量 w ⃗ \vec{w} w 的长度相乘。

如果 w ⃗ \vec{w} w 投影方向和 v ⃗ \vec{v} v 的方向相反,点积为负值。

当 v ⃗ \vec{v} v 和 w ⃗ \vec{w} w 相互垂直,点积为零。

投影运算和基本运算的联系

多维空间到一维空间的投影

将2维向量投影到一维空间(数轴)上,需要做合适的线性变换,即找出合适的变换矩阵;而我们知道,线性变换矩阵的列是基向量变换后的位置,所以,问题就转换为求二维空间基向量 i ⃗ \vec{i} i 和 j ⃗ \vec{j} j 在一维空间上的位置。

对于从二维空间变换到一维空间来说,变换矩阵就是1×2的矩阵。

为了找到这个矩阵的各列值,我们假设一维空间数轴0点和二维平面原点重合,数轴是二维平面上的这样一条线,如图3所示。

图3 数轴是二维平面上、零点和原点重合的一条线

如图3,现在假设二维平面上一个单位向量 u ⃗ \vec{u} u 碰巧落在这条数轴上。

现在,我们的目的是找到二维平面的基向量 i ⃗ \vec{i} i 和 j ⃗ \vec{j} j 在一维空间,即数轴上的位置。因为基向量变换后的位置就是线性变换矩阵的两个列。


图4 二维平面的基向量 i ⃗ \vec{i} i 和 j ⃗ \vec{j} j 在数轴上的位置
也就是说,现在要求 i ⃗ \vec{i} i 和 j ⃗ \vec{j} j 向 u ⃗ \vec{u} u 所在直线的投影。我们可以做如图5所示的对称轴来进行。


图5 利用对称性求 i ⃗ \vec{i} i 变换后在数轴上的位置

由于 i ⃗ \vec{i} i 和 u ⃗ \vec{u} u 都是单位向量,则将 i ⃗ \vec{i} i 向 u ⃗ \vec{u} u 所在直线的投影,与将 u ⃗ \vec{u} u 向 i ⃗ \vec{i} i 所在直线的投影,是完全对称的。

如果要知道 i ⃗ \vec{i} i 向 u ⃗ \vec{u} u 所在直线的投影后落在哪个数上,答案就是 u ⃗ \vec{u} u 向 x ⃗ \vec{x} x 轴投影得到的数。

而 u ⃗ \vec{u} u 向 x ⃗ \vec{x} x 轴投影得到的数就是 u ⃗ \vec{u} u 的横坐标。

因此,根据对称性,将 i ⃗ \vec{i} i 向 u ⃗ \vec{u} u 所在直线(即斜着的数轴)上投影所得到的数就是 u ⃗ \vec{u} u 的横坐标。

同理,可以得到将 j ⃗ \vec{j} j 在数轴上投影就是 u ⃗ \vec{u} u 的纵坐标。因此,可以求得 i ⃗ \vec{i} i 和 j ⃗ \vec{j} j 变换后的位置,即转换矩阵的各列,如图6所示。

图6 二维平面的基向量 i ⃗ \vec{i} i 和 j ⃗ \vec{j} j 变换后在数轴上的位置
所以,描述投影变换的1×2矩阵的两列,就分别是 u ⃗ \vec{u} u 的两个坐标。

这个二维平面内任意向量向这个数轴进行投影变换的结果,就是投影矩阵与这个向量相乘。这和这个向量与 u ⃗ \vec{u} u 的点积在计算上完全相同。
图7 投影运算与点积基本运算的关系
投影运算就是用线性变换矩阵与向量相乘,这和点积基本运算是等价的。

点积的作用

点积是理解投影的有利几何工具,可以很方便地检验两个向量的指向是否相同(指向相同,点积结果大于0)。

更深入地,两个向量点乘,就是将一个向量转化为线性变换。

图8 两个向量点乘,就是将一个向量转化为线性变换

相关推荐
郝学胜-神的一滴6 小时前
Qt6 + OpenGL 3.3 渲染环境搭建全指南:从空白窗口到专属渲染画布的优雅实现
数据结构·c++·线性代数·算法·系统架构·图形渲染
计算机安禾7 小时前
【数据结构与算法】第18篇:数组的压缩存储:对称矩阵、三角矩阵与稀疏矩阵
c语言·开发语言·数据结构·c++·线性代数·算法·矩阵
适应规律7 小时前
强化学习笔记(赵世钰)
笔记·线性代数·概率论
Book思议-9 小时前
【数据结构】数组与特殊矩阵
数据结构·算法·矩阵
Eloudy11 小时前
线性算子 A 的迹为 A 的任意矩阵表示的迹
机器学习·矩阵
net3m3312 小时前
可微分结构搜索, 可微分算子选择 —— 让程序“结构”也可学习 , 具体怎么实现结构的轮询穷举
人工智能·线性代数·矩阵
人道领域13 小时前
LeetCode【刷题日记】:螺旋矩阵逆向全过程,边界缩进优化
算法·leetcode·矩阵
甄心爱学习14 小时前
【word2vec】为什么要维护两套词向量矩阵?
机器学习·矩阵·word2vec
再卷也是菜1 天前
第一章、线性代数(2)高斯消元法
线性代数·算法
爱丽_1 天前
SQL 事务主线:ACID、隔离级别、MVCC 与一致性读
jvm·矩阵