Re: [eigen] Levenberg-marquardt and dogleg minimizer |
[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]
Hello Keir,
thank you this post, it was a very interesting reading. I was trying to find a good way to represent the gradient and the hessian of a function for a convex solver, and I like your way of separating the jacobian from the function object itself.
I have a few suggestions:
- in the Jacobian class, instead of having a boolean as a second template type, you may want a integer, so that different methods can be implemented in the future
- in a function, the typenames XMatrixType and FMatrixType are not so obvious. Maybe InputType and ReturnType?
Best regards
Timothy Hunter
--
On Thursday 19 February 2009 09:12:10 Keir Mierle wrote:
> The API for the LM implementation in libmv is more or less ready; since I
> plan to include it in Eigen at some point, I thought I'd send it along:
>
> http://code.google.com/p/libmv/source/browse/trunk/src/libmv/numeric/levenb
>erg_marquardt.h
> http://code.google.com/p/libmv/source/browse/trunk/src/libmv/numeric/levenb
>erg_marquardt_test.cc
>
> Mostly, I am looking for a review from an API perspective; also, I need to
> support sparse matrices at some point but don't have any experience with
> them; perhaps Gael could comment here as he is the sparse expert. In
> particular, I will need to support sparse Jacobians and solving sparse
> normal equations.
>
> I also have an implementation of Powell's dogleg method, which can be much
> faster than LM:
>
> http://code.google.com/p/libmv/source/browse/trunk/src/libmv/numeric/dogleg
>.h
> http://code.google.com/p/libmv/source/browse/trunk/src/libmv/numeric/dogleg
>_test.cc
>
> Keir
Timothy Hunter
Student (Stanford University)
T. 404 421 3075
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |