专栏名称: 3d tof
为国产ToF崛起奋斗
今天看啥  ›  专栏  ›  3d tof

Eigen的速度为什么这么快?

3d tof  · 公众号  ·  · 2024-09-14 12:00

文章预览

以下内容来自知乎,计算机视觉life整理,如有侵权联系删除 https://www.zhihu.com/question/28571059/answer/3057795309 作者 Sisyphus 欢迎来到C++数值优化的世界!Eigen能写的快和它的设计思路有关,涵盖了算法加速的几个方法。Eigen的设计思路,是把所有能优化的步骤放在编译时去优化。要想运行时变快,写Eigen代码的工程师需要显式地告诉Eigen矩阵的特性,告诉的越多,越能提供空间让编译器在编译时加速算法 比如一个矩阵乘法+ # include   Eigen:: Matrixxd Jacobian_i = Eigen:: MatrixXd:: Random(10, 10); Eigen:: Matrixxd Jacobian_j = Eigen:: Matrixxd:: Random(10, 10); Eigen:: MatrixXd Hessian = Eigen:: Matrixxd:: Zero(10, 10); Hessian += Jacobian_i. transpose() * Jacobian_j; 这个是一个稠密矩阵相乘。首先需要知道的是Eigen并不是一步一步地先做转置,再去乘,而是使用lazy evaluation的方法。Lazy evaluti ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览