![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
eigen
ancy_i_cv
start...
展开
-
eigen之eigen中文文档
GitHub - growinguptogether/EigenDocInChinese: Eigen3.3.7 Doc中文版原创 2022-04-08 11:13:08 · 604 阅读 · 0 评论 -
Eigen教程(10)之混淆
转载于:https://www.cnblogs.com/houkai/p/6349990.html混淆在Eigen中,当变量同时出现在左值和右值,赋值操作可能会带来混淆问题。这一篇将解释什么是混淆,什么时候是有害的,怎么使用做。例子MatrixXi mat(3,3); mat << 1, 2, 3, 4, 5, 6, 7, 8, 9;cout << "Here is the matrix mat:\n" << mat << en.原创 2020-12-09 11:57:11 · 282 阅读 · 1 评论 -
Eigen教程(7)之归约、迭代器和广播
转载于:https://www.cnblogs.com/houkai/p/6351609.html归约、迭代器和广播归约在Eigen中,有些函数可以统计matrix/array的某类特征,返回一个标量。int main(){ Eigen::Matrix2d mat; mat << 1, 2, 3, 4; cout << "Here is mat.sum(): " << mat.sum() <.原创 2020-12-09 11:47:13 · 706 阅读 · 0 评论 -
Eigen教程(6)之高级初始化方法
转载于:https://www.cnblogs.com/houkai/p/6351358.html高级初始化方法本篇介绍几种高级的矩阵初始化方法,重点介绍逗号初始化和特殊矩阵(单位阵、零阵)。逗号初始化Eigen提供了逗号操作符允许我们方便地为矩阵/向量/数组中的元素赋值。顺序是从左上到右下:自左到右,从上至下。对象的尺寸需要事先指定,初始化的参数也应该和要操作的元素数目一致。Matrix3f m;m << 1, 2, 3, 4, 5, 6, 7, .原创 2020-12-09 11:45:30 · 2759 阅读 · 0 评论 -
Eigen教程(11)之存储顺序
转载于:https://www.cnblogs.com/houkai/p/6349991.html存储顺序对于矩阵和二维数组有两种存储方式,列优先和行优先。假设矩阵:按行优先存储,内存中形式如下:8 2 2 9 9 1 4 4 3 5 4 5列优先,内存格式:8 9 3 2 1 5 2 4 4 9 4 5Matrix<int, 3, 4, ColMajor> Acolmajor;Acolmajor << 8, 2, 2, 9, ..原创 2020-12-09 11:44:31 · 397 阅读 · 0 评论 -
Eigen教程(9)之Reshape,Slicing介绍
转载于:https://www.cnblogs.com/houkai/p/6349988.htmlEigen并没有为matrix提供直接的Reshape和Slicing的API,但是这些特性可以通过Map类来实现。Reshapereshape操作是改变matrix的尺寸大小但保持元素不变。采用的方法是创建一个不同“视图” Map。MatrixXf M1(3,3); // Column-major storageM1 << 1, 2, 3, 4, 5, 6,.原创 2020-12-09 11:43:59 · 662 阅读 · 0 评论 -
Eigen教程(8)之Map类
转载于:https://www.cnblogs.com/houkai/p/6349981.html原生缓存的接口:Map类这篇将解释Eigen如何与原生raw C/C++ 数组混合编程。简介Eigen中定义了一系列的vector和matrix,相比copy数据,更一般的方式是复用数据的内存,将它们转变为Eigen类型。Map类很好地实现了这个功能。Map类型Map的定义Map<Matrix<typename Scalar, int RowsAtCompileTim.原创 2020-12-09 11:43:04 · 1511 阅读 · 1 评论 -
Eigen教程(5)之块操作
转载于:https://www.cnblogs.com/houkai/p/6349974.html块操作块是matrix或array中的矩形子部分。使用块函数.block(),有两种形式operation 构建一个动态尺寸的block 构建一个固定尺寸的block 起点(i,j)块大小(p,q) .block(i,j,p,q) .block< p,q >(i,j) Eigen中,索引从0开始。两个版本都可以用于固定尺寸和动态尺寸的matr.原创 2020-12-09 11:41:15 · 461 阅读 · 0 评论 -
Eigen教程(3)之矩阵和向量的运算
转载于:https://www.cnblogs.com/houkai/p/6348044.html矩阵和向量的运算提供一些概述和细节:关于矩阵、向量以及标量的运算。介绍Eigen提供了matrix/vector的运算操作,既包括重载了c++的算术运算符+/-/*,也引入了一些特殊的运算比如点乘dot、叉乘cross等。对于Matrix类(matrix和vectors)这些操作只支持线性代数运算,比如:matrix1*matrix2表示矩阵的乘机,vetor+scalar是不允许的。如果你原创 2020-12-09 11:39:17 · 3484 阅读 · 0 评论 -
Eigen教程(4)之Array类和元素级操作
转载于:https://www.cnblogs.com/houkai/p/6349970.htmlArray类和元素级操作为什么使用Array相对于Matrix提供的线性代数运算,Array类提供了更为一般的数组功能。Array类为元素级的操作提供了有效途径,比如点加(每个元素加值)或两个数据相应元素的点乘。ArrayArray是个类模板(类似于Matrx),前三个参数是必须指定的,后三个是可选的,这点和Matrix是相同的。Array<typename Scalar, i.原创 2020-12-09 11:37:39 · 786 阅读 · 0 评论 -
Eigen教程(2)之Matrix,Vectors, Dynamic介绍
转载于:https://www.cnblogs.com/houkai/p/6347648.htmlMatrix类在Eigen,所有的矩阵和向量都是Matrix模板类的对象,Vector只是一种特殊的矩阵(一行或者一列)。Matrix有6个模板参数,主要使用前三个参数,剩下的有默认值。Matrix<typename Scalar, int RowsAtCompileTime, int ColsAtCompileTime>Scalar是表示元素的类型,RowsAtCompil原创 2020-11-20 08:19:38 · 6482 阅读 · 2 评论 -
Eigen教程(1)之简介
Eigen是一个用于矩阵运算的跨平台C++库。安装下载eigen:https://gitlab.com/libeigen/eigen/-/releasesEigen只包含头文件,因此它不需要实现编译,只需要你include到你的项目,指定好Eigen的头文件路径,编译项目即可.方案一下载后,解压得到文件夹中,Eigen子文件夹便是我们需要的全部;如果你想使用Eigen暂不支持的特性,可以使用unsupported子文件夹。可以把Eigen/unsupported复制到任何你需要的地方。原创 2020-11-19 17:07:51 · 1343 阅读 · 2 评论