[eigen] How far along is the sparse module?

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Hi all,
first of all, thanks for a terrific library, so far I'm loving it!
I'm implementing the Levenberg-Marquardt algorithm using Eigen and
I've come to the point where I need to optimize the central piece of
the update:
(see http://www.ics.forth.gr/~lourakis/levmar/levmar.pdf appendix for
pseudo-code)

    Scalar mu;    //damping factor
    MatrixNxM J; //Jacobian
    MatrixNxN H = 2*J*J.transpose();//pseudo Hessian
    static const MatrixNxN I = MatrixNxN::Identity();

    MatrixNxN H_i;
    (H+mu*I).computeInverse(&H_i);// TODO: something more intelligent

I need to take advantage of the fact that H is sparse, symmetric and
positive definite.
I understand, that I could use LU, Cholesky, QR, or SVD.
I want to try out all combinations for dense and sparse Matrices, but
I'm wondering how mature the Sparse module is. I tried
the SparseLU class, but realized that the decomposition isn't implemented yet.

I'm thankful for any suggestion, including tips of third party
libraries(googling "sparse, symmetric and positive definite" gives
quite a few hits), but I would definitely prefer to stay within Eigen.

greets
BP



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/