问题标签 [eigen3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
153 浏览

r - R和eigen3之间的区别

我在 R 中执行以下操作:

在 eigen3 中使用以下 c++ 代码:

我得到以下值:

为什么 eigen3 中的顺序与 R 中的顺序不同?我正在寻找特征版本以“最高特征值和相应的特征向量”格式存储和打印信息,这似乎是这样做的,但是为什么特征向量中的 R 存在差异,因为它似乎将向量打印为列向量而不是行向量,通过乘以 -1 来关闭值?

如果我将 R 的 evs 输出和 Eigen 的 evs 输出相乘,如果它们相等,我应该得到单位矩阵 I,不是吗?

0 投票
1 回答
46 浏览

eigen3 - Eigen3:作为比率向量条目的矩阵

在 R 中,给定一个向量 G

我可以像这样形成 G 中所有条目的比率:

在 eigen3 中是否有一种简单的方法可以做到这一点?

所以我可以用 C++ 做

但我做不到

你会认为既然 a / b = a * (1 / b) 就会有一个简单的方法来做到这一点。

0 投票
1 回答
948 浏览

c++ - Eigen3:矩阵行和列名

在 R 中,我可以命名矩阵的行和列:

如何从 C++ 为 Eigen3 矩阵提供行名和列名?

0 投票
1 回答
1084 浏览

c++ - Eigen3 矩阵随机

我想将 Eigen3 库与随机数生成器 Mersenne Twister 一起使用,有没有一种简单的方法来扩展 eigen(简单)?

我在 eigen 的文档中找不到他们正在使用什么随机数生成器以及它的线程是否安全?

0 投票
0 回答
1586 浏览

c++ - 错误:使用 Eigen3 库和 PCL 的数字常量之前预期的不合格 ID

我正在使用点云库。该库将 Eigen3 库用于某些方法。我尝试编译我的项目,但有一些我无法解决的编译错误。错误是:

我已经在这里搜索了解决方案,但我的条件不同。错误堆栈是:

有问题的代码如下:

最有问题的是这段代码不是我的,几周前它运行了。前几天做了一些自动更新,不知道是不是和这个错误有关。

有什么建议吗?

先感谢您。

0 投票
2 回答
572 浏览

c++ - 使用 Cmake 编译并使用仅标头库

这个问题是前一个问题的延续/重复问题,它没有解决我遇到的问题。

在 Cmake 中使用 Eigen

使用 make 文件编译 Eigen 是一步任务。但是在 Cmake 中,如何添加仅标头库(基本上我只使用 Eigen 网站中提取的存档文件夹中的 Eigen 文件夹,而忽略其余部分。)注意:Eigen 文件夹有自己的 CMakeLists.txt

0 投票
1 回答
865 浏览

c++ - 如何在 Eigen 中对稀疏矩阵的行和列进行迭代?

如何在 Eigen 中对稀疏矩阵的行和列进行迭代?

我有一个行主要稀疏矩阵,我想在它上面执行这些 matlab 命令:

r=总和(H,1)

r2=总和(H,2)

其中 H 是稀疏矩阵(0,1), r 和 r2 是整数向量。我认为我必须能够在 row 和 col 上进行迭代才能做到这一点。任何建议将不胜感激。

提前致谢。

0 投票
1 回答
44 浏览

matrix - “a2 = a1-a1.mean();”有什么问题?获得居中的数据?

我正在使用Eigen 3.2.4来获取列向量中的居中数据

但是gcc给出的错误是与运算符不匹配 - ...这里的错误是什么?

0 投票
1 回答
32 浏览

new-operator - eigen3:将 Map 的新语法放置到 const 值

大家好:我对 Eigen3 和新的放置语法有点困惑,因为这段代码有效:

如果 mUseless 现在指向一个 const double,为什么这段代码有效?

0 投票
2 回答
9022 浏览

c++ - 使用 Eigen::Map作为 Eigen::MatrixXd 类型的函数参数

简而言之,问题是如何通过

对象期望一个函数

目的。


更长的故事:

我有这个 C++ 函数声明

连同这个实现

我想使用 numpy.array 作为参数从 python 调用这个函数。为此,我使用了一个用 c++ 编写的包装函数

它接受指向数据的指针、数据数组的大小、指向结果的指针以及结果数组的大小。数据指针指向一个 const 内存块,因为当为结果保留的内存块是可写的时,数据不会被更改。函数的实现

分别为数据和结果定义了一个 Eigen::Map。Eigen::Map 允许将原始内存作为一种 Eigen::Matrix 访问。dataMap 的类型

因为相关的内存是只读的;相比之下,resultMap 是类型

因为它必须是可写的。线

显示,resultMap 确实是可写的。在将 dataMap 传递给预期 const Eigen::MatrixXd 工作的 npMatrix() 时,我找不到以相同方式传递 resultMap 的方法。我敢肯定,麻烦来自这样一个事实,npMatrix 的第一个参数是 const,而第二个不是。我发现的一个可能的解决方案是定义

并将这个 resutlMatrix 传递给 npMatrix()。但是,我想,这会创建一个副本,因此会破坏 Eigen::Map 的良好内存映射。所以我的问题是。

有没有办法将 Eigen:Map 传递给一个需要非常量 Eigen::MatrixXd 的函数?

附带说明:我可以将 npMatrix 更改为期望 Eigen::Map,但由于在实际项目中,函数已经存在并经过测试,因此我宁愿不使用它们。

为了完成这个问题,这里是调用 pyMatrix() 的 python 文件