TensorFlow's Eigen programming

Source: Internet
Author: User
Tags data structures unsupported intel mkl
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

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.