Eigen is a simple matrix and vector package with some linear algebra and geometric stuff added for convenience. Eigen is not designed to be a high performance library, but rather be optimised for size - the current size of the library is 26kb, compared to several megabytes for familiar external ones. We do not expect the final size of eigen to exceed 100kb. This is not going to be an ever growing library with loads of features.
So far we've finished (but not written tests for) 3D vectors of doubles and matrixes. The next step is adding a lot of geometric helper functions and also do arbitrary size matrix - the arbitrary size stuff will use templates, so it could be used for complex numbers, for instance - and vector handling. Then there will be some additional linear algebra like eigenvalues, eigenvectors and solving of mequation systems and quaternions.
Anyway, whilst we have several things left to do, but the first vector and matrix implementation is done. It's all very simple, but as far as we know there are a lot of potential users within KDE - examples of applications that would benefit from using eigen include:
- KChart (for implementing 3d charts as defined in the OpenDocument standard)
- and an exciting new application from kde-edu (to be announced next week).
Note: we want to add test code before it's "official", so those who start to use it now should be regarded as testers. However, join us as #eigen (irc.freenode.net) and give us feedback!