[IPOL discuss] SVD for IPOL: which library, and how?

David.Tschumperle at greyc.ensicaen.fr David.Tschumperle at greyc.ensicaen.fr
Fri Apr 1 12:30:39 CEST 2011


There is one SVD available freely in the CImg Library (
It is based on the code from the Numerical Recipies. As CImg is a single
header, you don't need
to install binaries or library files to make it working nicely.


2011/4/1 Pascal Monasse <monasse at imagine.enpc.fr>

> 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
> _______________________________________________
> discuss mailing list
> discuss at list.ipol.im
> http://tools.ipol.im/mailman/listinfo/discuss

David Tschumperlé
CNRS Researcher
GREYC (UMR-CNRS 6072)         E-mail: David.Tschumperle at greyc.ensicaen.fr
6, Bd du Marechal Juin        Tel: +33 (0)2-31-45-29-24
F-14050 CAEN Cedex            Fax: +33 (0)2-31-45-26-98
France                        http://www.greyc.ensicaen.fr/~dtschump
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://tools.ipol.im/mailman/archive/discuss/attachments/20110401/ffd64bc4/attachment.htm>

More information about the discuss mailing list