[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