1 Reductions

2 范数计算

向量的平方范数由squaredNorm()获得,等价于向量对自身做点积,也等同于所有元素平方和。Eigen也提供了norm()范数,返回的是squaredNorm()的根。这些操作也适用于矩阵。如果想使用其他元素级的范数,使用lpNorm<p>()方法,当求无穷范数时,模板参数p可以取特殊值Infinity,得到的是所有元素的最大绝对值。

矩阵的1范数和无穷范数也可以用下面的方法计算:

3 布尔规约

如下的操作得到的是布尔值

  1. all()返回真,如果矩阵或数组的所有元素为真
  2. any()返回真,如果矩阵或数组至少有一个元素为真
  3. count()返回元素为真的个数

4 迭代

当需要获得元素在矩阵或数组中的位置时使用迭代。Index  索引

maxCoeff(&x,&y) and minCoeff(&x,&y),

5 部分规约

部分规约指的是对矩阵或数组按行或列进行的操作,对每一列或者行进行规约操作时得到的是一个列或者行向量。如下例子得到矩阵每一列的最大值并存入一个行向量中

上:按列         下:按行

6 部分规约和其他操作的结合

使用部分规约操作得到的结果去做其他的操作也是可以的,如下例子用于得到矩阵中元素和最大的一列

7 结合广播和其他操作

广播也可以和其他操作结合,比如矩阵或数组的运算、规约和部分规约操作。下面介绍一个更加复杂的例子,演示了在矩阵中找到和给定向量最接近的一列,使用到了欧氏距离。

这句话做的工作是:

1)m.colwise()-v是一个广播操作,矩阵m的每一列减去v,得到一个新的矩阵

2)(m.colwise() - v).colwise().squareNorm()是部分规约操作,按列计算矩阵的平方范数,得到一个行向量

3)最终minCoeff(&index)根据欧氏距离获得矩阵中最接近v的一列的索引。

Eigen官网教程(5) 规约、范数等相关推荐

  1. Eigen官网教程(1) Matrix相关

    1. Eigen库与头文件 Eigen库被分为了一个Core模块和几个其他额外的模块,每个模块都有对应的头文件,使用时需要进行包含.其中通过Dense和Eigen头文件可以很方便的使用其他的模块,因此 ...

  2. Eigen官网教程(7)geometry几何模块的实践

    Eigen的几何模块用来表达空间的旋转.平移等变换.3维空间中刚体的运动有六个自由度,分别是绕3个轴的旋转运动和沿着3个轴的平移运动.对于旋转可以用3x3的旋转矩阵R表示,旋转矩阵描述了刚体经过矩阵作 ...

  3. Eigen官网教程(6) Map类

    0 介绍 有时,您可能希望在Eigen中使用预定义的数字数组作为向量或矩阵.虽然一个选项是复制数据,但最常见的是您可能希望将此内存重新用作特征类型.幸运的是,使用Map类非常容易. 1 映射类型并声明 ...

  4. Eigen官网教程 (4) 高级初始化

    本页讨论了几种用于初始化矩阵的高级方法.它提供了之前介绍的逗号初始化器的更多细节.它还解释了如何获得特殊矩阵,例如单位矩阵和零矩阵. 1 逗号初始化程序 Eigen提供逗号初始化语法,允许用户轻松设置 ...

  5. Eigen官网教程(2) Array类和元素级操作

    0 引言 Array类提供了和Matrix不同的操作,Matrix主要为了线性代数而设计,而Array类是通常用的数组.Array类提供了更方便的元素级的操作,但是没有线性代数方面的意义,比如给每个元 ...

  6. MNE溯源fieldtrip官网教程

    MNE溯源fieldtrip官网教程 Introduction 在本教程中,您可以找到有关如何使用最小范数估计进行源重构的信息,以重构单个主题的事件相关字段(MEG).我们将使用预处理教程中描述的数据 ...

  7. [pytorch] 官网教程+注释

    pytorch官网教程+注释 Classifier import torch import torchvision import torchvision.transforms as transform ...

  8. Spring Cloud学习笔记—网关Spring Cloud Gateway官网教程实操练习

    Spring Cloud学习笔记-网关Spring Cloud Gateway官网教程实操练习 1.Spring Cloud Gateway介绍 2.在Spring Tool Suite4或者IDEA ...

  9. Gem5模拟器,详解官网教程Event-driven programming(五)

    目录 一.解释一下gem5中的event-driven? 二.Creating a simple event callback (1)定义一个新的 C++ 类,并继承自 SimObject 抽象基类 ...

最新文章

  1. 用Arduino检测环境中的温湿度
  2. 关闭Eureka的服务自我保护
  3. RabbitMQ集群、镜像部署配置
  4. 设置width不生效_关于padding被计算在width中问题——box-sizing相关
  5. Java BIO、NIO、AIO的区别
  6. 160 - 19 Brad Soblesky.2
  7. 云平台需要开发的底层功能
  8. python中实现多线程的几种方式
  9. 视觉错觉模型_极具视觉爆发力的影院设计
  10. Mysql中添加汉字乱码无法识别问题
  11. Swift 可选(Optionals)类型
  12. PHP视频网站源码 带APP源代码 支持FFMPEG
  13. SOUI::SStatic 动态设置属性的值
  14. Python之网络数据采集入门常用模块初识
  15. 上传本地项目到码云仓库【图文详解】
  16. python单例装饰器_python单例模式和装饰器
  17. 认识了解WMV 9 视频编解码器
  18. 程序员面试智力题总结
  19. 直流有刷电机驱动板原理和测试方法
  20. 数字化技术成为门店的重要推手?

热门文章

  1. 轻量化网络MobileNet解析
  2. 从零开始学Pytorch(十八)之kaggle图像分类
  3. 运行Python时出现SyntaxError: EOL while scanning string literal解决方法
  4. python分解word文档为多个_用python批量处理word文档
  5. 变频器说明书_图解变频器接线方法
  6. 如何让Python网络请求不走系统代*理*
  7. r语言怎么把txt数据变成一个Rdata格式_甲基化芯片数据下载如何读入到R里面
  8. Python刷题-3
  9. Xcode中c语言读键盘,使用Objective-C自定义键盘-Xcode8
  10. python撩妹代码_Python十行代码让你秒变撩妹达人!想学?