Eigen官网教程(5) 规约、范数等
1 Reductions
2 范数计算
向量的平方范数由squaredNorm()获得,等价于向量对自身做点积,也等同于所有元素平方和。Eigen也提供了norm()范数,返回的是squaredNorm()的根。这些操作也适用于矩阵。如果想使用其他元素级的范数,使用lpNorm<p>()方法,当求无穷范数时,模板参数p可以取特殊值Infinity,得到的是所有元素的最大绝对值。
矩阵的1范数和无穷范数也可以用下面的方法计算:
3 布尔规约
如下的操作得到的是布尔值
- all()返回真,如果矩阵或数组的所有元素为真
- any()返回真,如果矩阵或数组至少有一个元素为真
- 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) 规约、范数等相关推荐
- Eigen官网教程(1) Matrix相关
1. Eigen库与头文件 Eigen库被分为了一个Core模块和几个其他额外的模块,每个模块都有对应的头文件,使用时需要进行包含.其中通过Dense和Eigen头文件可以很方便的使用其他的模块,因此 ...
- Eigen官网教程(7)geometry几何模块的实践
Eigen的几何模块用来表达空间的旋转.平移等变换.3维空间中刚体的运动有六个自由度,分别是绕3个轴的旋转运动和沿着3个轴的平移运动.对于旋转可以用3x3的旋转矩阵R表示,旋转矩阵描述了刚体经过矩阵作 ...
- Eigen官网教程(6) Map类
0 介绍 有时,您可能希望在Eigen中使用预定义的数字数组作为向量或矩阵.虽然一个选项是复制数据,但最常见的是您可能希望将此内存重新用作特征类型.幸运的是,使用Map类非常容易. 1 映射类型并声明 ...
- Eigen官网教程 (4) 高级初始化
本页讨论了几种用于初始化矩阵的高级方法.它提供了之前介绍的逗号初始化器的更多细节.它还解释了如何获得特殊矩阵,例如单位矩阵和零矩阵. 1 逗号初始化程序 Eigen提供逗号初始化语法,允许用户轻松设置 ...
- Eigen官网教程(2) Array类和元素级操作
0 引言 Array类提供了和Matrix不同的操作,Matrix主要为了线性代数而设计,而Array类是通常用的数组.Array类提供了更方便的元素级的操作,但是没有线性代数方面的意义,比如给每个元 ...
- MNE溯源fieldtrip官网教程
MNE溯源fieldtrip官网教程 Introduction 在本教程中,您可以找到有关如何使用最小范数估计进行源重构的信息,以重构单个主题的事件相关字段(MEG).我们将使用预处理教程中描述的数据 ...
- [pytorch] 官网教程+注释
pytorch官网教程+注释 Classifier import torch import torchvision import torchvision.transforms as transform ...
- Spring Cloud学习笔记—网关Spring Cloud Gateway官网教程实操练习
Spring Cloud学习笔记-网关Spring Cloud Gateway官网教程实操练习 1.Spring Cloud Gateway介绍 2.在Spring Tool Suite4或者IDEA ...
- Gem5模拟器,详解官网教程Event-driven programming(五)
目录 一.解释一下gem5中的event-driven? 二.Creating a simple event callback (1)定义一个新的 C++ 类,并继承自 SimObject 抽象基类 ...
最新文章
- 用Arduino检测环境中的温湿度
- 关闭Eureka的服务自我保护
- RabbitMQ集群、镜像部署配置
- 设置width不生效_关于padding被计算在width中问题——box-sizing相关
- Java BIO、NIO、AIO的区别
- 160 - 19 Brad Soblesky.2
- 云平台需要开发的底层功能
- python中实现多线程的几种方式
- 视觉错觉模型_极具视觉爆发力的影院设计
- Mysql中添加汉字乱码无法识别问题
- Swift 可选(Optionals)类型
- PHP视频网站源码 带APP源代码 支持FFMPEG
- SOUI::SStatic 动态设置属性的值
- Python之网络数据采集入门常用模块初识
- 上传本地项目到码云仓库【图文详解】
- python单例装饰器_python单例模式和装饰器
- 认识了解WMV 9 视频编解码器
- 程序员面试智力题总结
- 直流有刷电机驱动板原理和测试方法
- 数字化技术成为门店的重要推手?
热门文章
- 轻量化网络MobileNet解析
- 从零开始学Pytorch(十八)之kaggle图像分类
- 运行Python时出现SyntaxError: EOL while scanning string literal解决方法
- python分解word文档为多个_用python批量处理word文档
- 变频器说明书_图解变频器接线方法
- 如何让Python网络请求不走系统代*理*
- r语言怎么把txt数据变成一个Rdata格式_甲基化芯片数据下载如何读入到R里面
- Python刷题-3
- Xcode中c语言读键盘,使用Objective-C自定义键盘-Xcode8
- python撩妹代码_Python十行代码让你秒变撩妹达人!想学?