eigen相关内容

动态向量的特征库内存使用

我有一个二进制文件存储float32对象(9748422 * 5)。从这样一个集合(190MB大致大小),我创建了一套本征:: VectorXd 向量(每5组件),从而将它们的9748422。底层类型是 double ,因此大约是存储它们的输入大小的两倍。 但是,运气好的话,这个过程总共需要2.5GB。这是 PROCESS_MEMORY_COUNTERS 的日志: PageFault ..
发布时间:2016-10-25 15:29:12 C/C++开发

如何将Eigen :: SparseMatrix包装在超过3标准压缩行/ colum数组

注意:我已经提出这个问题,但它被关闭,因为“太广泛”没有多少解释。我不能看到这个问题可能更具体(它处理特定类的一个特定的库的具体用法...),所以我认为它是一个像“主持人的错误”,并再次问。 .. 我想使用Eigen对稀疏矩阵进行稀疏矩阵/矩阵乘法。这些矩阵已经在我在标准3阵列压缩行/列strorage中工作的代码中定义。 然后我想使用Eigen :: SparseMatrix类作为这 ..
发布时间:2016-10-25 15:04:40 C/C++开发

RcppEigen - 从内联到包中的.cpp函数,“Map”

一切似乎都在我的包,但我想检查是否步骤,使它是正确的和关于内存使用“地图”。 (这是一个简单的例子,在内联示例和 fastLm()示例之间。) 是一个内联函数,它获得一个矩阵的每一列的最大值: library(Rcpp); library(inline); library(RcppEigen); maxOverColCpp ..
发布时间:2016-10-25 15:04:12 C/C++开发

如何将Eigen :: SparseMatrix包装在超过3标准压缩行/ colum数组

注意:我已经提出这个问题,但它被关闭,因为“太广泛”没有多少解释。我不能看到这个问题可能更具体(它处理特定类的一个特定的库的具体用法...),所以我认为它是一个像“主持人的错误”,并再次问。 .. 我想使用Eigen对稀疏矩阵进行稀疏矩阵/矩阵乘法。这些矩阵已经在我在标准3阵列压缩行/列strorage中工作的代码中定义。 然后我想使用Eigen :: SparseMatrix类作为这 ..
发布时间:2016-10-25 14:50:34 C/C++开发

从Eigen :: VectorXd获取矩阵视图/块,无需复制(共享内存)

有谁知道一个很好的方式如何我可以从一个Eigen :: VectorXf提取块,可以解释为一个特定的Eigen :: MatrixXf,而不复制数据? (向量应该包含几个扁平矩阵) 例如。 (伪代码): VectorXd W = VectorXd :: Zero //使用来自W的数据并从前四个元素创建矩阵视图 块 A = W.blockFromIndex(0,2, ..
发布时间:2016-10-25 14:42:21 C/C++开发

在Eigen中创建重塑函数

这里是Eigen中的重塑函数的代码。它工作。 typedef MatrixXd mat; typedef VectorXd vec; 地图重构(vec b,const uint n,const uint m){ return Map(b.data(),n,m); } 我试图为第一个参数决定正确的类型。 vec& b 仍然 ..
发布时间:2016-10-25 13:54:46 C/C++开发

对RGB图像使用特征数组阵列

我试图使用Eigen库进行一些简单的图像处理。我将使用Array3f的RGB三元组和一个数组来保存一个RGB图像。这似乎部分工作,我可以方便地做图像的分量加法,乘法和除法。但某些操作(特别涉及减法或否定)似乎会产生编译错误。这里是一个最小示例: #include ..
发布时间:2016-10-24 13:04:14 C/C++开发

对RGB图像使用特征数组阵列

我试图使用Eigen库进行一些简单的图像处理。我将使用Array3f的RGB三元组和一个数组来保存一个RGB图像。这似乎部分工作,我可以方便地做图像的分量加法,乘法和除法。但某些操作(特别涉及减法或否定)似乎会产生编译错误。这里是一个最小示例: #include ..
发布时间:2016-10-24 12:56:32 C/C++开发

对RGB图像使用特征数组阵列

我试图使用Eigen库进行一些简单的图像处理。我将使用Array3f的RGB三元组和一个数组来保存一个RGB图像。这似乎部分工作,我可以方便地做图像的分量加法,乘法和除法。但某些操作(特别涉及减法或否定)似乎会产生编译错误。这里是一个最小示例: #include ..
发布时间:2016-10-24 12:43:06 C/C++开发

MATLAB find()/ Nigen非零成语为Eigen

很可能这是一个非常愚蠢的问题,但我花了相当荒谬的时间寻找它的文档,没有效果。 在MATLAB中, find()函数给我一个非零元素的索引数组。 Numpy的np.nonzero函数做类似的事情。 如何在C ++ Eigen库中做这个?我有一个布尔数组 typedef ..
发布时间:2016-10-23 21:07:16 C/C++开发

MATLAB find()/ Nigen非零成语为Eigen

很可能这是一个非常愚蠢的问题,但我花了相当荒谬的时间寻找它的文档,没有效果。 在MATLAB中, find()函数给我一个非零元素的索引数组。 Numpy的np.nonzero函数做类似的事情。 如何在C ++ Eigen库中做这个?我有一个布尔数组 typedef ..
发布时间:2016-10-23 20:48:58 C/C++开发

使用Eigen的子矩阵和索引

我目前正在开发一个MATLAB项目,我想使用C ++和Eigen重新实现最重要的计算部分。 我想知道是否有一种方法来执行以下操作(MATLAB语法): B = A(A 对于那些不熟悉MATLAB的人,上述命令初始化一个由 我从特征论坛,可以使用以下方式获取感兴趣的指数: MatrixXi indices =(A.array() ..
发布时间:2016-10-23 12:33:25 C/C++开发

如何将稀疏矩阵转换为密集矩阵

有没有一种简单快捷的方法将稀疏矩阵转换为双精度矩阵? 因为我的 SparseMatrix 不再稀疏,但在一些矩阵产品后变得密集。 我有另一个问题:Eigen库有优异的性能,这是怎么可能的?我不明白为什么,因为只有头文件,没有编译源。 解决方案 让我们声明两个矩阵: p> SparseMatrix spMat; MatrixXd dMat; ..
发布时间:2016-10-23 12:00:48 C/C++开发

计算包含高维矢量的两个矩阵之间的最小欧氏距离的最快方法

我在另一个线程,但后来我专注于如何使用OpenCV。无法实现我最初想要的,我会在这里询问我想要什么。 我有两个矩阵。矩阵a是2782x128,矩阵b是4000x128,都是无符号的char值。这些值存储在单个数组中。对于a中的每个向量,我需要b中的向量的索引与最接近的欧几里得距离。 好,现在我的代码实现这一点: #include #include ..
发布时间:2016-10-22 18:47:26 C/C++开发

从2d std :: vector初始化一个Eigen :: MatrixXd

这应该是很简单,但我不能找到一个办法在Eigen文档。 说我有一个2D向量,即 std :: vector > data 假设它填充有 10 x 4 数据集。 如何使用此数据填写 Eigen :: MatrixXd mat 。 显而易见的方法是使用如下的for循环: #伪代码 Eigen :: MatrixXd ..
发布时间:2016-10-22 18:43:26 C/C++开发