[IPOL discuss] the problem with Eigen (and other embedded libraries)

Miguel Colom Miguel.Colom at cmla.ens-cachan.fr
Tue Nov 8 11:26:35 CET 2011


> My point of view is that the simplest tools should be used, even if
> this results in longer or more verbose code.  For example, if I want
> to solve a quadratic equation aX^2 + bX + c = 0, I think it is much
> better to write down the explicit formula, than to call a full-fledged
> root-finding library.  The matrix decompositions are a similar case in
> my view (at least for the small dimensional case, say n=20).  It is
> easier to find a trivial bug in a naive implementation, than to keep
> up to date with a large library.
>
> Now, if you need fancier or high dimensional linear algebra, the
> problem is still unresolved, and difficult choices need to be made.  I
> think a compromise solution is best: provide lapack, gsl, which are
> stable, and allow programs that use other solutions, e.g., eigen, with
> a specific version embedded.

In my opinion, authors should have the freedom to:
1) Write all the auxiliar algorithms they need, by themselves. If they
consider they need to re-code again the routines to sort arrays, to
compute SVD decompositions, etc, they should be able to do it.

2) On the other hand, I think that most of the authors don't need to
re-write again those auxiliar routines that aren't a relevant part of
their algorithm. For example, if a sorting routine is needed, it should be
enough to say that you're using some algorithm that haves a O(n log(N))
eficiency, for example, to understand the article.

In my opinion, a general library with the most common operations should be
available to avoid forcing authors to re-write common operations and to
help code to be more understandable.

Best,
Miguel




More information about the discuss mailing list