Eigen (C++ library)

Eigen is a high-level C++ library of template headers for linear algebra, matrix and vector operations, geometrical transformations, numerical solvers and related algorithms.

Earlier versions were licensed under the GNU Lesser General Public License.

[3] Eigen is implemented using the expression templates metaprogramming technique, meaning it builds expression trees at compile time and generates custom code to evaluate these.

Using expression templates and a cost model of floating point operations, the library performs its own loop unrolling and vectorization.

[4] Eigen itself can provide BLAS and a subset of LAPACK interfaces.