Thanks for sharing your experiments<div><br></div>at the risk of repeating myself:<div><br></div><div>I do not understand why Eigen could not be considered as a good math library for Ipol.</div><div><br><div><div><a href="http://eigen.tuxfamily.org/index.php?title=Main_Page">http://eigen.tuxfamily.org/index.php?title=Main_Page</a> </div>

<div>With such a library : High Level matrix or some Blas function could be used.</div><div>Using High Level code made the code easier to read, to review and so better for a Research code.</div><div><br></div><div>And unfortunately GSL is not officially supported by windows.</div>

<div> </div><div>-- <br><div><font>Regards/Cordialement,</font></div><div><font>Pierre M</font></div><br><div class="gmail_quote">2012/3/29 Tristan Dagobert <span dir="ltr"><<a href="mailto:tristan.dagobert@cmla.ens-cachan.fr">tristan.dagobert@cmla.ens-cachan.fr</a>></span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
I would like to share my recent experience<br>
about linking cblas and clapack librairies (two of the authorized libraries<br>
in the guidelines 1.00) with a IPOL program, because this leads some remarks and<br>
questions.<br>
<br>
There are currently at least 3 versions of C prototypes for CBLAS and CLAPACK,<br>
linking the C functions with the Fortran binaries :<br>
<br>
(1) the version installed by default, with the ATLAS packages, upon the differents Linux systems<br>
   (like the FUCHSIA server) containing :<br>
  - clapack.h (a file of 149 lines) with only few prototypes to Lapack Fortran binaries;<br>
  - cblas.h containing all prototypes to Fortran routines.<br>
<br>
(2) the version from sources lapack 3.2.1 compatible with Windows :<br>
  - clapack.h (a file of more than 7200 lines) with all the prototypes to Fortran binaries;<br>
  but this does not come with the cblas.h file, which must downloaded too in CBLAS.tgz.<br>
<br>
(3) the version from sources lapack 3.4.0 compatible with Windows :<br>
  - lapacke.h with all the prototypes to Fortran binaries;<br>
  but this does not come with the cblas.h file, which must downloaded too in CBLAS.tgz;<br>
<br>
The problem is these versions do not share the same C prototypes. For<br>
example, to use the Fortran routine of SVD named dsyevd() :<br>
<br>
- (1) --> the prototype simply does not exist in clapack.h<br>
         but binary code is present in libclapack.a (!!);<br>
- (2) --> clapack_dsyevd() is C-prototyped in clapack.h;<br>
- (3) --> LAPACKE_dsyevd() is C-prototyped in lapacke.h;<br>
<br>
According to differents lapack forums, the C prototypes of 3.4.0 version<br>
are intented to replace at mean term, the actual format (1).<br>
<br>
Consequently, stability of C APIs of clapack seems not to be safe.<br>
Building a IPOL program with the current default prototypes (1) will lead to restrict<br>
its portability et its simplicity of installation even upon Linux systems,<br>
from 5 to 10 years.<br>
In addition, the installation from sources, of the (2) and (3) librairies<br>
is quiet subtile and tricky (gfortran compilers, f2c ...) and needs<br>
certainly more time than a final user of an IPOL program should expect.<br>
<br>
So my questions are :<br>
- Is there a reference version of Clapack, Cblas defined in the IPOL guidelines ?<br>
- What about the GSL library, which owns more stable prototypes (it is natively<br>
written in standard C and does not need Fortran conversion)s. Is its integration<br>
planned for the next guidelines as a possible alternative as external library ?<br>
<br>
Regards.<br>
Tristan<br>
<br>
<br>
______________________________<u></u>_________________<br>
discuss mailing list<br>
<a href="mailto:discuss@list.ipol.im" target="_blank">discuss@list.ipol.im</a><br>
<a href="http://tools.ipol.im/mailman/listinfo/discuss" target="_blank">http://tools.ipol.im/mailman/<u></u>listinfo/discuss</a><br>
</blockquote></div><br><br clear="all"><div><br></div><br><br>
</div></div></div>