Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
* It supports tiny & large dense, and sparse matrices, fully integrated with one another.
* It has no dependency and no binary to compile or link-to.
* It takes full advantage of expression templates to provide a great API, and enable many optimizations including temporary removal, and intelligent explicit vectorization (SSE, AVX, AltiVec, and NEON).
* Performance is on par with the best BLAS implementations.
* It provides linear solvers comparable to LAPACK as well as sparse direct and iterative methods with preconditioners.
* It keeps in mind the real needs of applications, for example the geometry features needed for 3D graphics.