
Hi Frederick, I refer to the ATLAS library: http://math-atlas.sourceforge.net/ Some versions of octave use it. I have not yet linked the GSL library with it, you must compile it yourself to take advantage of the optimizations for your architecture, but I think that it must be easy. It is in my TO DO list... :) Curiously, I am just now working in a new (and hopefully improved) version of the GSL wrappers. A first and preliminary approximation to the documentation can be found at: http://dis.um.es/~alberto/GSLHaskell/doc/ The code will be available in two or three days in a darcs repository. I have simplified the wrapper infrastructure and the user interface. Now we can freely work both with real and complex vectors or matrices, still with static type checking. There are also some bug corrections (the eigensystem wrapper destroys its argument!). I made some run time comparisons, precisely in the PCA example with the big matrix. I don't remember the exact difference, but I think that 5 times faster is too much... I will check it as soon as possible. Of course our goal is to have something like a functional "octave" with the same performance (and a much nicer language :) Many thanks for your message! Alberto On Thursday 16 March 2006 18:13, Frederik Eaton wrote:
Hi Alberto,
I'm sorry if this has been discussed before...
I'm reading your paper, at one point it says (re. the PCA example): "Octave achieves the same result, slightly faster. (In this experiment we have not used optimized BLAS libraries which can improve efficiency of the GSL)"
That seems to imply that there is a way to use optimized BLAS libraries? How can I do that?
Also, in my experiments (with matrix inversion) it seems, subjectively, that Octave is about 5 or so times faster for operations on large matrices. Presumably you've tested this as well, do you have any comparison results?
Thanks,
Frederik