Hi,

I've started implementing the QuickVector and Matrix classes using Eigen. The first draft of the source code is attached. It shoud be cleaned up, added some more comments / documentation to it. When integrating it in the SVN, I want to add the following files in the math library: math_config.h (or similar name), just to define USE_EIGEN_LU_IMPLEMENTATION or not -- to swap between implementations vector_eigen.h -- for QuickVector class (with Eigen it's just a typedef for VectorXd)
 matrix_eigen.h -- header for Matrix
 matrix_eigen.cpp -- implementation for Matrix, in header in this moment

Plus add matrix_eigen_test.cpp to the tests.

For the methods needed by the rest of the code, it would be trivial to modify the code that vectors or matrixes -- and also be able to compile ktechlab using any of the two implementations. If in the long term Eigen works well, it would be logical to remove the other implementation.

Because Eigen is needed, the simplest way is to add it to the repository and distribute it with ktechlab source code.

I'm waiting for input. Any (constructive) comments / notes are welcome. Hopefully by the end of the next week I'll have some code ready to be comitted.



 Half offtopic: KDE might migrate to Git:

"Many developers have found that their development style would be better suited by distributed development tools like Git, Mercurial, and Bazaar. We believe in using the right tool for the job. As such, parts of KDE development will be migrating to Git."

On the same day, the Amarok project (http://amarok.kde.org) became the first KDE project to migrate to Git."

source: http://kdenews.org/2009/07/20/kde-reaches-1000000-commits-its-subversion-repository

 Zoltan

Attachment: eigen-matrix-vector.tar.gz
Description: GNU Zip compressed data

------------------------------------------------------------------------------
_______________________________________________
Ktechlab-devel mailing list
Ktechlab-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ktechlab-devel

Reply via email to