[BACK]Return to DESCR CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / math / eigen3

File: [cvs.NetBSD.org] / pkgsrc / math / eigen3 / DESCR (download)

Revision 1.2, Sun Apr 7 20:49:37 2013 UTC (7 years, 6 months ago) by rodent
Branch: MAIN
Changes since 1.1: +1 -8 lines

Edited DESCR in the case of:
 File too long (should be no more than 24 lines).
 Line too long (should be no more than 80 characters).
 Trailing empty lines.
 Trailing white-space.
Trucated the long files as best as possible while preserving the most info
contained in them.

Eigen 3 is a C++ template library for linear algebra: vectors, matrices, and
related algorithms. It is:
* Versatile. Eigen handles, without code duplication, and in a completely
  integrated way:
  o both fixed-size and dynamic-size matrices and vectors.
  o both dense and sparse (the latter is still experimental) 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 -- Eigen takes care of this
    automatically and handles aliasing too in most cases.
  o Explicit vectorization is performed for the SSE (2 and later) and AltiVec
    instruction sets, with graceful fallback to non-vectorized code.
    Expression templates allow to perform these optimizations globally for
    whole expressions.
  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.
...and more!