[IPOL discuss] SVD for IPOL: which library, and how?
Pascal Monasse
monasse at imagine.enpc.fr
Fri Apr 1 12:16:23 CEST 2011
Hi all,
First, I really regret to have to add a library dependency for such a small
part of the algorithm (SVD), but I could not find an independent and free
implementation, and it seems too complex to do it right by ourselves without a
significant effort.
Now, two of the solutions, LAPACK and GSL, would need to be installed (they
are not by default on general purpose linux distributions), with difficulties
for Mac and Windows users. They are also too large to be included in the
source code.
The advantage I see with eigen, apart from the clean interface, is that it is
not too large to be included in the tarball, though it is still almost 3MB. On
top of that, it is composed of only header files, so no build is necessary and
no library is created. If we isolate the footprint of eigen from our main
code, with a minimal interface to it, it should be easy for a user to replace
it with his preferred alternative while allowing easily a first test without
trouble.
Best,
Pascal
On Friday, April 01, 2011 10:59:05 am Pierre Moulon wrote:
> Hi all,
>
> My opinion (from an integration side).
>
> Lapack and GSL need to be compiled as a library and linked to the code in
> order to be used.
> They are huge and take a long time to compile. On linux they are already
> compiled on the machine so it's easy to use them.
> On windows we have to use pre-compiled libraries (so we have to add in the
> archive the .lib and .dll => Does we want to add 32/64 bits version.... ?)
>
> For Eigen, we use it add a header library.
> So when you compile your application the matrix liibrary and related
> fonction will be compiled on the fly. It makes the compilation more easy
> because the process is the same for all the platform.
>
> I think Pascal "black box" idea is a good one.
> => So code could be personalized for own purpose if someone want to do it.
> A default solution is purposed by the way of (Eigen, ...).
>
> PS : I add the reference over Eigen http://eigen.tuxfamily.org/
>
> Regards,
> Pierre
More information about the discuss
mailing list