is a high-performance C++ numerical library for linear algebra. It supports a wide range of operations, including matrix and vector operations, linear system solves, eigenvalues and eigenvectors, and decompositions such as QR and SVD. Eigen
also provides error-free numerical derivatives and Jacobians.
Eigen allows for efficient and reliable computation of complex mathematical operations through its optimized linear algebra library.
Matrix and Vector operations:
Eigen provides efficient operations for vectors and matrices such as multiplication, addition, subtraction, and scalar multiplication. It also supports element-wise operations such as element-wise multiplication and division.
Linear System Solves:
Eigen provides efficient algorithms for solving linear systems of equations. It supports direct methods such as LU and Cholesky decomposition, and iterative methods such as Conjugate Gradient and Bi-Conjugate Gradient.
Eigenvalues and Eigenvectors:
Eigen provides efficient algorithms for finding the eigenvalues and eigenvectors of a matrix. It supports a range of methods, including QR and Jacobi.
Eigen provides efficient algorithms for decomposing matrices into simpler parts. It supports QR, LU, and SVD decompositions.
Error-free Numerical Derivatives:
Eigen provides efficient algorithms for computing numerical derivatives. It supports both forward and central difference methods.
Eigen provides efficient algorithms for computing Jacobians. It supports both forward and central difference methods.
Eigen provides efficient algorithms for handling sparse matrices. It supports operations such as multiplication, addition, and subtraction.
Eigen supports parallelism through OpenMP, which allows taking advantage of multi-core processors.
Eigen provides efficient data structures such as vectors, matrices, and sparse matrices. It also provides a range of algorithms for manipulating these data structures.
Eigen is optimized for performance, providing efficient algorithms and data structures. It is written in modern C++, making use of features such as templates and expression templates to reduce overhead.