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

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 7: vectors. 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!

CVSweb <webmaster@jp.NetBSD.org>