Re: [eigen] New Levenberg Marquardt stuff |

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

*To*: "Radu B. Rusu" <radu.b.rusu@xxxxxxxxx>*Subject*: Re: [eigen] New Levenberg Marquardt stuff*From*: Sameer Agarwal <sameeragarwal@xxxxxxxxxx>*Date*: Fri, 7 Dec 2012 23:23:03 -0800*Cc*: eigen <eigen@xxxxxxxxxxxxxxxxxxx>*Dkim-signature*: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=TPHQhLsmlzXa8StMJ9f4lYDCG6HC+GF2m3aRcDy4eo0=; b=Zif8nJkP6Qted1aU7CDknNVhaGuvl3eTw7oRAnI27vIZXtl3nTzHtVjb3AZPZMIsNW A4KNWJsZOF9nUXvPamPF3c8LNPPV7izfeGqnFyRfVfrtSYEJ2YBlfYgx9x91PUOFkJJS LpFKPcgMiowgV+y6Ja7Jpno1qSLxuu+ZC5CZ3/4+wwxOcMHa6TCl0pP/5knkIaySgNdp l6C5dQFC1iAXvfHop7OPyVdB5gn1C5izeINv32+QPn9B6FzW/neN+OsMn+HfEXI+qcTl oO7b3NYEWADob9tjJSIurFr9t0Z4XnUJVWCagTFCxMSwO0SxfzLq3SSa4aQXhQbIfyYE mBsQ==

On Fri, Dec 7, 2012 at 6:57 PM, Radu B. Rusu <radu.b.rusu@xxxxxxxxx> wrote:

Dear Sameer,

Is there a particular reason why you'd like to remove the current LM implementation that Eigen has from the library? We have been using it for a long time, and are quite happy with it. There might be other implementations which are better, but there are use cases where the number of dependencies has to be very low, and one of our applications fits perfectly in this scenario. Eigen has a proven track record of being cross compilable on all the architectures that I can think of, with excellent unit tests, documentation, and really a fantastic user support, while other libraries are/do not. I'm bowing my hat every time I have a chance to the Eigen team, as they are an inspiration for other open source movements such as ours.

I am a huge fan of Eigen. But it is a question of scope. The arguments that you are making are arguments in favour of a simple to use and well crafted nonlinear least squares library, but not necessarily in favour of keeping one inside Eigen. Unless of course the plan is to turn Eigen into a general purpose numerical analysis library.

I know Keir's original email mentioned Ceres so this may come across as self serving, but let me say this quite clearly and I know Keir will agree with me -- this is not about promoting one solver over another, but just addressing the issue as to what are the boundaries of a linear algebra library. I for one would not like to see more solvers in Eigen. I'd rather Eigen focus on on providing exceptional support for various advanced linear algebra algorithms.

I think we can all agree that what Eigen did in the past few years changed the game completely for us C++-ers, as they made us move away from that ugly C code that we were using in the past while dealing with matrix operations / decompositions. That being said, I'd be more happy to see more solvers available in Eigen, either as part of the core or maybe the Eigen maintainers/developers can start adding additional modules ("libraries") alongside the core that deal with non-linear LS solvers. If there is code in CERES that is generally purpose and fits in the Eigen paradigm, it would be great to have it included it there. Why not have "libeigen-core", "libeigen-nonlinear", etc if adding more to the existing Eigen library is a problem?

Your argument essentially boils down to -- eigen is awesome. we need X, so lets add X to eigen, and X will be awesome too.

I strongly disagree with this point of view.

Sameer

On 12/07/2012 03:07 PM, Sameer Agarwal wrote:Dear Christoph,------------------------------

I think that discussion about releasing ceres is best had elsewhere rather than the eigen mailinglist.

Have you considered punting on the LM library entirely?

Ceres is almost uniformly better than what's there now, is heavily battle

tested in production both large (Street View) and small (Android, in every

Nexus 4), is BSD licensed, uses Eigen internally, has extensive sparse

support.

Well, it might use Eigen internally, but ceres' interface dealing a lot with double-pointers is far away from the

clearity of Eigen ...

It's not clear that Eigen dev's time is best spent working on LM when Ceres

exists.

As mentioned already by others, Eigen's LM module existed way longer than Ceres, and there existed a bunch of LM

implementations before that.

Furthermore, I agree with opinions raised by others that including a generic non-linear LS solver into Eigen

might/should not be the goal of Eigen, which IMHO should basically be a *linear* algebra package.

As long as no further dependencies are introduced (neither for compiling nor for licensing), I don't mind if some

small extensions are added, though (clearly not the case for ceres having 2--5 more dependencies).

Keir and I are arguing exactly that, please do not add more stuff into eigen which has nothing to do with linear

algebra. We are not arguing for adding Ceres to eigen, but to remove nonlinear optimization code from eigen.

Sameer

Christoph

--__----------------Tel: +49 (421) 218-64252 <tel:%2B49%20%28421%29%20218-

Dipl.-Inf. Christoph Hertzberg

Cartesium 0.049

Universität Bremen

Enrique-Schmidt-Straße 5

28359 Bremen

64252>

------------------------------__----------------

**Follow-Ups**:**Re: [eigen] New Levenberg Marquardt stuff***From:*Gael Guennebaud

**Re: [eigen] New Levenberg Marquardt stuff***From:*Radu B. Rusu

**References**:**[eigen] New Levenberg Marquardt stuff***From:*Thomas Capricelli

**Re: [eigen] New Levenberg Marquardt stuff***From:*Christoph Hertzberg

**Re: [eigen] New Levenberg Marquardt stuff***From:*Gael Guennebaud

**Re: [eigen] New Levenberg Marquardt stuff***From:*Keir Mierle

**Re: [eigen] New Levenberg Marquardt stuff***From:*Christoph Hertzberg

**Re: [eigen] New Levenberg Marquardt stuff***From:*Sameer Agarwal

**Re: [eigen] New Levenberg Marquardt stuff***From:*Radu B. Rusu

**Messages sorted by:**[ date | thread ]- Prev by Date:
**Re: [eigen] New Levenberg Marquardt stuff** - Next by Date:
**Re: [eigen] New Levenberg Marquardt stuff** - Previous by thread:
**Re: [eigen] New Levenberg Marquardt stuff** - Next by thread:
**Re: [eigen] New Levenberg Marquardt stuff**

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