[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