diff options
Diffstat (limited to 'math/eigen2/DESCR')
-rw-r--r-- | math/eigen2/DESCR | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/math/eigen2/DESCR b/math/eigen2/DESCR index 38332b7f76d..f6a63080ae5 100644 --- a/math/eigen2/DESCR +++ b/math/eigen2/DESCR @@ -8,24 +8,17 @@ related algorithms. It is: 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. + 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. + 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. +...and more! |