Eigen之norm函数

向量的范数是一个将向量映射到非负实数的函数,通常表示为 ||x||。它是向量空间中的一种度量,用来衡量向量的大小或长度。范数满足以下性质:

  1. 非负性:对于任意向量 x,范数 ||x|| 大于等于零,且当且仅当 x 是零向量时等于零。
  2. 齐次性:对于任意标量 α,范数 ||αx|| 等于 α 与 ||x|| 的乘积。
  3. 三角不等式:对于任意两个向量 x 和 y,有 ||x + y|| ≤ ||x|| + ||y||。

在数学上,常见的向量范数有多种,如欧几里得范数(也称为 L2 范数)、L1 范数、无穷范数等。这些范数在定义上略有不同,但都是用来衡量向量大小的一种方式。

  • 欧几里得范数(L2 范数):||x||₂ = √(Σ|xᵢ|²),表示向量各个元素平方和的平方根。
  • L1 范数:||x||₁ = Σ|xᵢ|,表示向量各个元素绝对值的和。
  • 无穷范数:||x||ᵢ = max(|x₁|, |x₂|, …, |xᵢ|),表示向量中绝对值最大的元素。
    在这里插入图片描述

范数的选择取决于具体的应用场景和需要解决的问题,根据需要选择相应的范数进行计算。

Eigen::Vector3d::norm() 函数是 Eigen 库中用于计算向量的范数(模长)的方法,返回一个 double 类型的值,表示向量的长度。

用法示例:

#include <iostream>
#include <Eigen/Dense>

int main() {
    Eigen::Vector3d v(1.0, 2.0, 3.0);
    double vector_norm = v.norm(); // 计算向量 v 的范数
    std::cout << "Norm of vector v: " << vector_norm << std::endl;

    return 0;
}

在上面的示例中,我们首先创建了一个三维向量 v,然后调用 v.norm() 计算了向量 v 的范数,并将结果打印输出。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值