Optimization 特征3:按系数适当乘法
如何使用Eigen3就地执行元素乘法 做 运行到位?或者是Optimization 特征3:按系数适当乘法,optimization,eigen,eigen3,Optimization,Eigen,Eigen3,如何使用Eigen3就地执行元素乘法 做 运行到位?或者是 a.array() *= b.array(); 就风格和性能而言,更好的解决方案是什么?这两个表达式应该生成相同的代码(使用合理优化的编译器),因此这更像是一个品味问题 如果您主要使用a和b执行元素操作,则应将它们声明为Eigen::Array(而不是Eigen::Matrix),只需写入a*=b。如果以后需要以矩阵方式访问a或b,您仍然可以使用a.matrix() a.array() *= b.array();
a.array() *= b.array();
就风格和性能而言,更好的解决方案是什么?这两个表达式应该生成相同的代码(使用合理优化的编译器),因此这更像是一个品味问题 如果您主要使用
a
和b
执行元素操作,则应将它们声明为Eigen::Array
(而不是Eigen::Matrix
),只需写入a*=b代码>。如果以后需要以矩阵方式访问a
或b
,您仍然可以使用a.matrix()
a.array() *= b.array();