CONCEPT / linear-algebra
向量:从箭头到高维空间
从位移箭头、坐标与线性组合出发,理解向量如何成为描述方向、状态和高维数据的统一语言。
本页目标
- 区分几何向量、坐标表示与抽象向量本身。
- 计算向量的线性组合、长度、内积和投影。
- 解释高维向量为何不依赖可视化仍然有明确含义。
本页目录
学习目标
学习完成后,应能把“箭头”“一列数”和“空间中的元素”看作同一个数学对象的不同表示,并能用长度、内积与线性组合回答可复算的问题。
先修知识与记号
本章只要求熟悉实数加减乘除、平方根和直角坐标系。粗体小写字母表示向量,普通字母表示标量;上标 表示把横向书写的坐标改成列向量。零向量记为 ,它的每个分量都为零。除非另行说明,长度和夹角都采用标准欧氏内积。
坐标必须附着在一组有序基上才有意义。写出 时,默认使用平面的标准基;若改用另一组基,同一个向量的坐标会改变。后文会始终区分“向量本身”“所选基”和“该基下的坐标列”。
为什么需要向量
一个温度可以用一个数表示,但风同时有大小和方向;一张灰度图像可以展开成许多像素值;一个模型也可能由数百万个参数共同决定。它们的物理含义不同,却都需要同时处理一组有顺序的量。向量提供了这种共同语言。
箭头是很好的入口,却不是定义的全部。箭头适合二维和三维几何;当维数变成 784、4096 或更高时,我们仍能做相同的加法、缩放和内积,只是不再试图把每个坐标画出来。
直觉:允许平移的箭头
在平面中,向量可以想成一支有方向、有长度的箭头。只要方向与长度不变,箭头从哪里画起并不影响它代表的向量。把箭头首尾相接,就得到向量加法;把长度乘以一个实数,就得到标量乘法。
这个直觉有明确边界:并非所有向量都是物理位移,坐标也不是向量本身。选择另一组基后,同一个向量会有不同坐标,但它与其他向量之间的线性关系不变。
定义与坐标
先研究实数空间 。其中一个向量写作
两个向量逐分量相加,标量 逐分量相乘:
更一般地,向量空间是一个配备加法和标量乘法的集合,并满足封闭性、结合律、交换律、零元、逆元及分配律等公理。函数、矩阵和多项式也能组成向量空间,因此“向量必须是一列数”同样只是有限维坐标表示下的说法。
向量 的线性组合是 ,其中系数 是标量。所有线性组合构成这些向量的张成空间。
线性组合回答的是“给定方向能否合成目标”。若存在系数使 ,则称 位于这些向量的张成空间中。系数是否唯一取决于生成向量是否线性无关。若存在不全为零的系数使
这组向量线性相关;否则线性无关。一组既能张成整个空间又线性无关的向量称为基。基为同一空间选择一套不冗余的坐标语言,并未增加空间中的向量。
示例一:判断张成关系
设 、 ,判断 是否能由它们线性组合得到。令
第一、三分量给出 ,代入第二分量得到 ,条件一致。因此 。若目标改为 ,前后两分量仍迫使 ,但中间分量只能等于 ,所以新目标不在该张成平面内。
基变换为何不改变向量
设二维空间的一组基为 ,向量在此基下的坐标是 。按坐标定义,
把两支基向量作为矩阵列组成 ,则标准坐标满足 。若两支基线性无关, 可逆,于是
这里变化的是描述用的数字,而不是空间中的对象。向量相等、线性组合关系和线性无关性都不因换基改变;长度与夹角则还要说明内积如何随坐标表示转换,不能只比较两列坐标的普通点积。
换基时可以做一个对象—坐标检查:先把新坐标按新基还原为空间中的向量,再把该向量按旧基展开。若两次还原得到的对象不同,错误通常来自把基矩阵方向写反,或把基向量误放成了行。这个检查比死记公式更可靠,因为它直接回到坐标定义。还应注意,坐标分量可以随基的缩放而变大或变小,不能据此断言向量本身变长;长度必须由空间选定的内积计算。对于非正交基,坐标平方和一般不等于向量长度平方。
长度、内积与投影
欧氏内积定义为
它同时编码长度和夹角。欧氏长度为
非零向量之间的夹角满足
若 ,把 投影到 所在直线,结果是
这个公式来自一个正交条件。设投影为 ,要求残差 与 垂直,则 ,解得上式中的 。这是一段代数推导,不依赖“看起来垂直”的图形判断。
示例二:正交分解
取
有 ,且
残差为 。它与 的内积为零,因此分解确实满足正交条件。注意投影长度可以大于某个单独坐标,这并不矛盾;坐标分量不是向量的整体长度。
柯西—施瓦茨不等式与夹角公式
夹角公式需要保证右侧落在 。这由柯西—施瓦茨不等式
保证。给出一个直接证明:若 ,对任意实数 都有
取使右侧二次式最小的 ,整理后便得到不等式。等号成立当且仅当残差为零,即两向量线性相关。这个结论把代数上的线性相关与几何上的同向或反向连接起来。
设 , 。两者长度都为 ,内积为 ,因此夹角余弦为 。若只比较坐标和,会得到二者都等于 ,却无法区分方向相似度;归一化内积消除了整体尺度。若各分量具有不同物理单位或方差,则应先建立合适的缩放或内积,不能机械地把 解释为语义相似度。
常见误区
“向量就是从原点出发的箭头。”从原点画箭头只是标准坐标下的方便表示。自由向量允许平移;位置向量则额外选择了原点。两者不应混为一谈。
“维数越高,向量就越难定义。”高维主要让直接绘图失效,并不改变代数规则。真正需要警惕的是量纲、尺度和内积选择:把摄氏温度、米和无量纲概率直接放入同一欧氏距离,往往没有合理含义。
代码:可复算的基本运算
下面的 TypeScript 只实现有限维欧氏向量运算。它会显式检查维数,避免静默截断。
function assertSameLength(a: readonly number[], b: readonly number[]): void {
if (a.length !== b.length) {
throw new Error("Vector dimensions must match.");
}
}
export function dot(a: readonly number[], b: readonly number[]): number {
assertSameLength(a, b);
return a.reduce((sum, value, index) => sum + value * b[index], 0);
}
export function norm(a: readonly number[]): number {
return Math.sqrt(dot(a, a));
}
export function project(vector: readonly number[], direction: readonly number[]): number[] {
const denominator = dot(direction, direction);
if (denominator === 0) {
throw new Error("Cannot project onto the zero vector.");
}
const scale = dot(vector, direction) / denominator;
return direction.map((value) => scale * value);
}
代码中的严格相等判断只用于拒绝零向量;在带测量误差或数值迭代的程序中,应根据问题尺度选取容差。
参数实验
不用画图也可以做一个小实验。固定 ,依次令 、、 :
- 计算三次内积与投影。
- 比较 平行、部分对齐和正交时投影的变化。
- 将 换成 ,验证投影结果不变。
第三步说明投影依赖的是方向张成的直线,而不是方向向量采用了多长的坐标表示。
练习
概念检查:同一个几何向量在两组不同基下的坐标不同。哪些量一定不变?请区分“无需额外结构就不变”和“在保持同一内积时才不变”。
查看解答
向量之间的线性依赖关系不依赖坐标。长度、夹角与正交性还依赖所选内积;若换基只是同一内积下的坐标变换,这些量不变,若连度量也改变则未必不变。
计算:设 、 。计算内积、两者长度和夹角的余弦。
查看解答
, , ,所以夹角余弦为 ,两向量正交。
迁移应用:一张 灰度图展平为 784 维向量。解释为什么两个图像的欧氏距离可计算,却不一定等同于人的视觉相似度。
查看解答
欧氏距离只比较对应像素的数值差。轻微平移可能让许多像素同时变化,距离很大,但人仍认为图像相似;反之,某些语义差异可能只改变少数像素。距离可算不代表它就是任务需要的度量。
与其他知识的关系
- 矩阵 把多组向量组织成列,并以矩阵乘法同时计算多个线性组合。
- 线性变换 研究保持线性组合的映射。
- 张成、线性无关与基 系统研究坐标存在性与唯一性。
- 梯度 把多方向变化率组织成向量。
- 注意力机制 用向量内积构造相关性分数。
资源
MIT 18.06SC Linear Algebra
Gilbert Strang
提供线性代数核心概念的完整课程顺序、例题、习题和考试材料。
打开官方来源MIT OpenCourseWare 18.06SC 系统覆盖向量、子空间、基、正交性和线性映射,可用于继续练习本章的线性组合与投影计算。
MIT 18.02SC Multivariable Calculus
Denis Auroux
把线性代数对象用于几何与多变量问题,并提供例题、习题和解答。
打开官方来源MIT OpenCourseWare 18.02SC 在空间向量、点积、直线与平面以及多变量几何中使用同一套向量语言,适合核对向量运算在微积分中的具体应用。它不是抽象向量空间理论的替代材料。