什么是向量范数?
向量范数用来衡量一个向量的"长度"或大小。本计算器可以计算实向量最常用的三种范数:L1 范数(也称曼哈顿范数或出租车范数)、L2 范数(即我们熟悉的欧几里得长度),以及 L∞ 范数(绝对值最大的那个分量)。它们在机器学习、最优化、统计学、信号处理和物理学中无处不在。
使用方法
在输入框中每行填入向量的一个分量,例如一个含有 3、-4、12 三个元素的向量。计算器完全支持负数和小数,空行会被自动忽略。点击计算后,三种范数会一次性全部给出,同时还会显示识别到的分量个数。
公式详解
设向量 \(\vec{x}\) 的各分量为 \(x_1\)、\(x_2\)、……、\(x_n\):
- L1 = \(|x_i|\) 之和——把所有分量取绝对值后相加。
- L2 = \(x_i^2\) 之和再开平方根——也就是从原点出发的直线距离。
- L∞ = \(|x_i|\) 的最大值——绝对值最大的那个分量。
三种范数的定义如下:
$$\|\vec{v}\|_1 = \sum_{i=1}^{n} |x_i| \qquad \|\vec{v}\|_2 = \sqrt{\sum_{i=1}^{n} x_i^{2}} \qquad \|\vec{v}\|_\infty = \max_i |x_i|$$一个实用的检验技巧:对任意向量,不等式 \(\|\vec{v}\|_\infty \le \|\vec{v}\|_2 \le \|\vec{v}\|_1\) 总是成立。
实例演算
以向量 [3, -4, 12] 为例。L1 范数为
$$\|\vec{v}\|_1 = |3| + |-4| + |12| = 3 + 4 + 12 = 19$$L2 范数为
$$\|\vec{v}\|_2 = \sqrt{3^2 + (-4)^2 + 12^2} = \sqrt{9 + 16 + 144} = \sqrt{169} = 13$$L∞ 范数为
$$\|\vec{v}\|_\infty = \max(3, 4, 12) = 12$$常见问题
输入为空会怎样? 如果没有填入任何分量,三种范数都会显示为 0。
分量的正负号有影响吗? 三种范数都基于绝对值或平方运算,因此一个分量和它的相反数对结果的贡献完全相同。
为什么有些结果不是整数? L2 范数需要开平方根,除非平方和恰好是完全平方数,否则结果是无理数,会以约十位有效数字的形式四舍五入显示。