diff options
author | markd <markd@pkgsrc.org> | 2013-03-17 19:37:19 +0000 |
---|---|---|
committer | markd <markd@pkgsrc.org> | 2013-03-17 19:37:19 +0000 |
commit | e228ca9bd4bcc4b33705ecebcd2007b8bfdc2559 (patch) | |
tree | bbfb5f1075f874349bf2831b910efd2c7312fa72 /math/eigen3/DESCR | |
parent | cc9f700b082fd2c479ee300c3326115a1b792e50 (diff) | |
download | pkgsrc-e228ca9bd4bcc4b33705ecebcd2007b8bfdc2559.tar.gz |
Add eigen3 version 3.1.2
Eigen 3 is a C++ template library for linear algebra: vectors, matrices, and
related algorithms.
Diffstat (limited to 'math/eigen3/DESCR')
-rw-r--r-- | math/eigen3/DESCR | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/math/eigen3/DESCR b/math/eigen3/DESCR new file mode 100644 index 00000000000..60e78c89451 --- /dev/null +++ b/math/eigen3/DESCR @@ -0,0 +1,31 @@ +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. +* 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 very reasonable compilation times at least with + GCC, compared to other C++ libraries based on expression templates and heavy + metaprogramming. Eigen is also standard C++ and supports various compilers. |