A C++ template library for linear algebra (vectors, matrices, and related algorithms).
Slot | Version | Repository | Platforms | ||||
---|---|---|---|---|---|---|---|
3 | 3.4.0 | scientific | ~amd64 | arm? | armv7? | ~armv8 | ~x86 |
Homepage | ( https://gitlab.com/libeigen/eigen https://eigen.tuxfamily.org ) |
---|---|
Summary | A C++ template library for linear algebra (vectors, matrices, and related algorithms) |
Description | Eigen is a C++ template library for linear algebra (vectors, matrices, and related algorithms). It is: * Versatile. Eigen handles both fixed-size and dynamic-size matrices and vectors, without code duplication, and in a completely integrated way. It aims to provide not only vectors and matrices but also many algorithms. * Fast. Expression templates remove temporaries and enable lazy evaluation. Explicit vectorization is performed for the SSE (2 and later) and AltiVec instruction sets, with graceful fallback to non-vectorized code. With fixed-size objects, dynamic memory allocation is avoided, and the loops are unrolled when that makes sense. For large matrices, special attention is paid to cache-friendliness. * Good API. Expression templates allow for a very clean and expressive API. Implementing an algorithm on top of Eigen feels like just copying pseudocode. |
Upstream changelog | ( https://gitlab.com/libeigen/eigen https://eigen.tuxfamily.org/index.php?title=ChangeLog#Eigen_3.4.0 ) |
Dependencies | ( ( build: sys-devel/cmake[>=3.24.0] ) ( build: sparse? ( sci-libs/SuiteSparse ) test: sci-libs/fftw ) ) |
Downloads | https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.tar.bz2 -> eigen-3.4.0.tar.bz2 |
Licences | ( LGPL-3 || ( GPL-2 GPL-3 ) ) |
sparse | Use SuiteSparse (Cholmod, UMFPACK) for sparse computations |
---|