向量的范数是一个将向量映射到非负实数的函数,通常表示为 ||x||。它是向量空间中的一种度量,用来衡量向量的大小或长度。范数满足以下性质:
- 非负性:对于任意向量 x,范数 ||x|| 大于等于零,且当且仅当 x 是零向量时等于零。
- 齐次性:对于任意标量 α,范数 ||αx|| 等于 α 与 ||x|| 的乘积。
- 三角不等式:对于任意两个向量 x 和 y,有 ||x + y|| ≤ ||x|| + ||y||。
在数学上,常见的向量范数有多种,如欧几里得范数(也称为 L2 范数)、L1 范数、无穷范数等。这些范数在定义上略有不同,但都是用来衡量向量大小的一种方式。
- 欧几里得范数(L2 范数):||x||₂ = √(Σ|xᵢ|²),表示向量各个元素平方和的平方根。
- L1 范数:||x||₁ = Σ|xᵢ|,表示向量各个元素绝对值的和。
- 无穷范数:||x||ᵢ = max(|x₁|, |x₂|, …, |xᵢ|),表示向量中绝对值最大的元素。
范数的选择取决于具体的应用场景和需要解决的问题,根据需要选择相应的范数进行计算。
Eigen::Vector3d::norm()
函数是 Eigen 库中用于计算向量的范数(模长)的方法,返回一个 double
类型的值,表示向量的长度。