optimization - Eigen :就位系数乘法

标签 optimization eigen eigen3

如何使用Eigen3在适当位置执行逐元素乘法?


a = a.cwiseProduct(b);

运行到位?或者是
a.array() *= b.array();

在样式和性能方面更好的解决方案?

最佳答案

这两个表达式都应生成相同的代码(使用经过合理优化的编译器),因此这更多是一个品味问题。

如果您主要使用ab进行基于元素的操作,则应将它们声明为Eigen::Array(而不是Eigen::Matrix),而只需编写a*=b;即可。如果以后需要以矩阵形式访问ab,仍然可以使用a.matrix()

关于optimization - Eigen :就位系数乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25328694/

相关文章:

python - 基于cvxopt的python半定嵌入

Java http请求性能不佳

c++ - 来自特征系数明智比较的数字类型

c++ - 为什么我不能在 Eigen3 中消除这个临时变量?

c++ - 如何修复 eigen3 中的 'non-type template argument is not a constant expression'?

python - 优化基于另一个字段从一个字段中提取子字符串的循环

c# - 从字符串列表中获取不同且有序的成员 - linq 或 hashset for unique 哪个更快/更适合

c++ - 用 `alglib::integer_1d_array` 创建 `Eigen::Matrix`

c++ - 什么是 Eigen::array(不是 Eigen::Array)

c++ - Eigen 版本 3.2.0 和 3.3.4 之间的数值差异