./math/eigen3, C++ template library for linear algebra

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: pkgsrc-2021Q2, Version: 3.3.9, Package name: eigen3-3.3.9, Maintainer: pkgsrc-users

Eigen 3 is a C++ template library for linear algebra: It is:
* Versatile. Eigen handles and in a completely integrated way:
o both fixed-size and dynamic-size matrices and vectors.
o both dense and sparse matrices and vectors.
o both plain matrices/vectors and abstract expressions.
o both column-major (the default) and row-major matrix storage.
o both basic matrix/vector manipulation and many more advanced, specialized
modules providing algorithms for linear algebra, geometry, quaternions,
or advanced array manipulation.
* Fast.
o Expression templates allow to intelligently remove temporaries and enable
lazy evaluation, when that is appropriate.
o Explicit vectorization is performed for the SSE (2 and later) and AltiVec
instruction sets, with graceful fallback to non-vectorized code.
o With fixed-size objects, dynamic memory allocation is avoided, and the
loops are unrolled when that makes sense.
o For large matrices, special attention is paid to cache-friendliness.
* Elegant. The API is extremely clean and expressive, thanks to expression
templates. Implementing an algorithm on top of Eigen feels like just copying
pseudocode. You can use complex expressions and still rely on Eigen to
produce optimized code: there is no need for you to manually decompose
expressions into small steps.
* Compiler-friendy. Eigen has good compiler support, is standard C++98 and
maintains very reasonable compilation times.


Master sites:

SHA1: 516322dc3d98f7f6d20f11050da43084f68e6c71
RMD160: f100af009a9b72532653d0e90eb81f12379f97a1
Filesize: 1628.155 KB

Version history: (Expand)