1. Eigen is a C + + Template library for linear algebra:matrices, vectors, numerical solvers, and related algorithms. http://eigen.tuxfamily.org/supports integers, floating-point numbers, and complex numbers, and can provide matrix operations for special data structures using template programming. For example, when using Ceres-solver to do optimization problems (such as bundle adjustment), sometimes you need to use template programming to write a target function, Ceres can automatically replace the template with an internal one can automatically find a special type of double. If you want to do a matrix calculation in this template function, it is very convenient to use Eigen. Matrix operations are supported per element, block, and whole. Includes a large number of matrix decomposition algorithms including LU,LDLT,QR, SVD and so on. Support for support for multithreaded sparse matrices supported with Intel MKL acceleration Some of the new Eigen3.2 has come with Sparselu, SPARSEQR, conjugate gradients (conjugategradient solver), Bi Conjugate gradient stabilized solver to solve the sparse matrix function. The interface of SPQR, umfpack and other external sparse matrix libraries is also provided. Support common geometric operations, including rotation matrix, four-tuple, matrix transformation, Angleaxis (Euler angle and Rodrigues transform) and so on. The update is active, many users (Google, williowgarage), using Eigen's more famous open source projects are ROS (robotic operating system), PCL (Point Cloud Processing Library), Google Ceres (optimization algorithm). The OPENCV is brought to the Eigen interface. 2. Commonly used matrix calculation tools are Blas,
Cublas(Caffe), Atlas,
Openblas(Mxnet),
Eigen, as well as Lapack, MKL (Intel), Armadillo (MATLAB)
3. The Eigen library contains the Eigen module and the unsupported module, where the Eigen module is developed for the official module,unsupported module for open source contributors without official support.
The 4.Eigen self-contained sparse matrix decomposition function includes LDLT, llt decomposition (i.e., Cholesky decomposition, which is LGPL license, not Eigen's MPL license), Lu decomposition, QR decomposition (this is officially released after 3.2), conjugate gradient solution matrix, etc. There are also C + + interfaces to third-party sparse matrix libraries, including the famous Suitesparse series (this series is very powerful and has the opportunity to do a good study) of SPARSEQR, Umfpack, etc.
C + + matrix operation Cubby Large, all learning content, on the understanding.
Learning Links:
Http://eigen.tuxfamily.org/dox/GettingStarted.html
https://eigen.tuxfamily.org/dox/
Http://eigen.tuxfamily.org/index.php?title=Benchmark
https://my.oschina.net/cvnote/blog/166980
http://blog.csdn.net/houjixin/article/details/8490941
http://blog.csdn.net/houjixin/article/details/8492841
http://blog.csdn.net/houjixin/article/details/8494582