如何使用Eigen3在适当的位置执行元素级乘法?
有吗?
a = a.cwiseProduct(b);准备好了吗?或者是
a.array() *= b.array();在风格和表现方面,更好的解决方案?
发布于 2016-09-23 13:00:10
这两个表达式都应该生成相同的代码(通过合理的优化编译器),所以这更像是一个品味问题。
如果您主要使用a和b进行元素级操作,则应该将它们声明为Eigen::Array (而不是Eigen::Matrix),只需编写a*=b;。如果以后需要以矩阵方式访问a或b,则仍然可以使用a.matrix()。
https://stackoverflow.com/questions/25328694
复制相似问题