eigen相关内容

最有效的方法来求解线性方程组

我有一个(n×n)对称矩阵A和一个(n×1)向量B.基本上,我只需要求解Ax = b。问题是A将潜在是巨大的。所以我正在寻找最有效的算法用于求解C ++中的线性方程。我翻看了Eigen图书馆。显然它有一个SVD方法,但我被告知它的速度很慢。求解x = inverse(A)* b也似乎是次优的。 uBLAS更快?有更有效的方法吗?谢谢。 编辑:矩阵A是正定的且不稀疏。 解决方案 最好的 ..
发布时间:2016-10-22 17:43:56 C/C++开发

C ++在本征库中的性能

我在查看效果基准: http://eigen.tuxfamily.org/index.php?title=Benchmark 我不禁注意到eigen似乎始终优于所有专业供应商库。问题是:怎么可能?我们假设mkl / goto使用处理器专用的调试代码,而eigen则是通用的。 注意这个 http://download.tuxfamily.org/eigen/btl-results- ..
发布时间:2016-10-22 17:32:51 C/C++开发

通过CMake添加外部库(例如,Eigen)

我已经处理这个问题几个星期了。我知道我可能只是错过一个小步,我不知道。所以,任何洞察将非常感激。 我试图添加一些外部库,并在我的C + +项目中使用它们。但是似乎没有能够弄清楚如何。我读了所有在互联网上关于添加外部库的帖子,但我相信我错过了一些东西! 我想说,我想添加一个简单的库,如Eigen标题库)。我复制并粘贴了包含项目中子文件夹中所有文件的文件夹。我调用了子文件夹ThirdPar ..
发布时间:2016-10-20 23:39:11 C/C++开发

成员“已经被声明为”与CUDA和Eigen的误差

我只是一个CUDA和Nsight的初学者,想利用线性代数运算(例如CUBLAS)伟大的GPU性能。我有很多自定义代码,在 Eigen 的帮助下编写是很多矩阵乘法运算,所以我想让我的代码不变,只是做GPU上的操作。 我已经创建了一个示例项目与Visual Studio Nsight和它工作正常,但当我添加 #include 行,我遇到以 ..
发布时间:2016-10-20 23:17:16 C/C++开发

将函数应用于所有特征矩阵元素

我有一个 Eigen :: MatrixXd ,我想通过应用一个组件方面的函数来修改其所有的元素。例如: MatrixXd m = ...; 每个m [i] [j]: m [i] [j] = exp(m [i] [j]);有没有办法实现这个结果? 解决方案 是,使用 Eigen :: MatrixBase :: unaryExpr() 成员函数。示例: ..
发布时间:2016-10-20 09:36:15 C/C++开发

特征如何沿特定维度连接矩阵?

我有两个特征矩阵,我想连接它们,如在matlab中 cat(0,A,B) 在特征中有什么等同的东西吗? 谢谢。 解决方案 您可以使用逗号初始化语法。 水平: MatrixXd C(A.rows(),A.cols()+ B.cols()); C MatrixXd D(A.rows()+ B.rows() ..
发布时间:2016-10-20 09:14:07 C/C++开发

教Google - 测试如何打印特征矩阵

简介 我使用Google的测试框架Google-Mock对Eigen矩阵写测试,如另一个问题。 使用下面的代码,我可以添加一个自定义 Matcher 来匹配Eigen矩阵到给定的精度。 MATCHER_P2(EigenApproxEqual,expect,prec, std :: string(negation?“is not”:“is”)+“approx equal to” ..
发布时间:2016-10-17 09:34:46 C/C++开发

一般产品的特征自动扣除

我有下面的代码(对于稍大的代码 snippet,我这样做是道歉的,这是我能够减少我的问题的最小示例): #include #include #include #include //标量字段上的动态矩阵 template 使用DynMa ..
发布时间:2016-10-14 22:00:53 C/C++开发

cv :: Mat转换为Eigen-Matrix和back

我有几个特征向量存储在 cv :: Mat 其中,每一行都是一个特征向量(像这样的几行: [x1 y1 x2 y2 x3 y3 ....] )。我必须对每个特征向量应用SVD,因此我使用Eigen库。但是,在应用SVD之前,特征矩阵必须转换为 Eigen :: Matrix 形式。 必须将SVD结果转换回 cv :: Mat 。 任何人都可以建议一个好的方法这个?我需要它在 cv :: ..
发布时间:2016-10-14 21:25:10 C/C++开发

特征布尔数组切片

在MATLAB中,通常从矩阵/数组中切出满足一些条件的值(称为逻辑索引)。 vec = [1 2 3 4 5] condition = vec> 3; vec(condition)= 3; 如何在Eigen中执行此操作?到目前为止我有: Eigen :: Matrix 3; ..
发布时间:2016-10-14 20:32:22 C/C++开发

Initialise Eigen :: vector with std :: vector

我已经看过它之前,但我不记得如何有效地初始化 Eigen :: Vector 已知长度的 std :: vector 的长度相同。这是一个很好的例子: std :: vector v1 = {1.0,2.0,3.0}; Eigen :: Vector3d v2; //我把它放在这里:v2(v1)? v2 ..
发布时间:2016-10-14 12:14:24 C/C++开发

Eigen和std :: vector

我有一个矩阵,它给出为: std :: vector>一个; 我想将它映射到Eigen线性代数库,如下所示: Eigen :: Map mat(A.data(),51,51); 但是代码失败了 错误:没有 ..
发布时间:2016-10-14 11:12:19 C/C++开发

映射数组回现有特征矩阵

欲的双阵列映射到现有MatrixXd结构。到目前为止,我已经成功地映射特征矩阵,以一个简单的数组,但我找不到这样做回来的路上。 无效美孚(Matr​​ixXd矩阵,INT N){ 双arrayd =新的双[N * N]; //输入矩阵映射到一个数组 地图< MatrixXd>(arrayd,N,N)=矩阵; //做一些与阵列 ....... //地图数 ..
发布时间:2016-08-18 14:55:25 C/C++开发

使用Boost与蓄电池::本征向量类型

我有一些问题,结合征:: VectorXd 类型使用Boost库蓄电池: 的#include<&iostream的GT; #包括LT&;艾根/酷睿> #包括LT&;升压/累加器/ accumulators.hpp> #包括LT&;升压/累加器/统计/ stats.hpp> #包括LT&;升压/累加器/统计/ mean.hpp>使用空间boost ::蓄电池; 使用本 ..
发布时间:2016-08-12 18:28:05 C/C++开发

C ++检查模板参数的嵌套的typedef,以获取其标量基本类型

考虑下面的指数平滑的模板类。这个类是平滑/过滤指数序列数据(参见更新方法)。 Elemtype可能是一个向量和Floattype通常是一个标量。例如。 ExponentialSmoother<本征:: Vector2f,浮> X(0.1,Vector2f(0.5,0.5)); 在这个例子中可避免第二个模板参数Floattype因为本征的Matrix类包含嵌套的typedef得到 ..
发布时间:2016-08-12 18:14:54 C/C++开发

使用boost :: odeint与本征::矩阵状态向量

我想利用的 ODE集成升压能力利用本征3 作为 Matrix类我状态向量,但我遇到了问题深入升压,我不知道如何解决。 的什么,我试图做一个小例子: 的#include<艾根/酷睿> #包括LT&;升压/数字/ odeint /步进/ runge_kutta_dopri5.hpp> #包括LT&;&iostream的GT;使用本征空间; 使用空间boost ::数字:: o ..
发布时间:2016-08-12 17:40:57 C/C++开发