Annotation of pkgsrc/math/eigen3/DESCR, Revision 1.2
1.1 markd 1: Eigen 3 is a C++ template library for linear algebra: vectors, matrices, and
2: related algorithms. It is:
3: * Versatile. Eigen handles, without code duplication, and in a completely
4: integrated way:
5: o both fixed-size and dynamic-size matrices and vectors.
6: o both dense and sparse (the latter is still experimental) matrices and
8: o both plain matrices/vectors and abstract expressions.
9: o both column-major (the default) and row-major matrix storage.
10: o both basic matrix/vector manipulation and many more advanced, specialized
11: modules providing algorithms for linear algebra, geometry, quaternions,
12: or advanced array manipulation.
13: * Fast.
14: o Expression templates allow to intelligently remove temporaries and enable
15: lazy evaluation, when that is appropriate -- Eigen takes care of this
16: automatically and handles aliasing too in most cases.
17: o Explicit vectorization is performed for the SSE (2 and later) and AltiVec
18: instruction sets, with graceful fallback to non-vectorized code.
19: Expression templates allow to perform these optimizations globally for
20: whole expressions.
21: o With fixed-size objects, dynamic memory allocation is avoided, and the
22: loops are unrolled when that makes sense.
23: o For large matrices, special attention is paid to cache-friendliness.
1.2 ! rodent 24: ...and more!