[IPOL discuss] use of Eigen for PCA/SVD computation in demo blm_color_dimensional_filtering

eml ellopis at gmail.com
Mon May 23 16:06:42 CEST 2011

> * "source" is a bash command, not a sh command. In recent Debian
>  distributions (and others), sh is a strict minimal Bourne shell. You
>  can replace "source xx" by ". ./xx"

Sure.  In any case, please note that this script is not intended for
portability, but for readability by the humans who may integrate this
code into their program.  I find shell scripts easier to read than

> * If I understand correctly, this code uses a builtin blas
>  implementation. Is there a possibility to use another implementation
>  (CPU-optimized, like Atlas or Intel MKL) already installed on the
>  system?

Only five functions from blas are used by the SVD code (daxpy, ddot,
dgemv, dnrm2,  and dscal).  They are accessed through the (optional)
file "miniblas.c" in the zip, file, which can be trivially changed to
call another blas library.  However, I'm not sure whether using
cpu-optimized code for dot products would make a difference in running
time in that case.

The current "isolation", is done by copying the relevant files from
the GSL source tree and providing the build scripts.  I commented out
some #includes which were not needed, but a lot of further
simplification can be done (e.g., putting all the files into a single
"svd" subdirectory, or even copying all the code into a single C file,
where only the "gsl_linalg_SV_decomp" function is non-static).  If
anybody needs this sort of thing, please ask me before losing too much
time.  I've messed a bit with the gsl code, and I can probably do it
without much effort.


More information about the discuss mailing list