
======== = === ========== ======= ========= === ====
pure-gsl - GNU Scientific Library interface for Pure
======== = === ========== ======= ========= === ====

Building on Pure's GSL matrix support, this module aims to provide a complete
wrapper for the GNU Scientific Library which provides a wide range of
mathematical routines useful for scientific programming, number crunching and
signal processing applications.

This is still work in progress, only a small part of the interface is finished
right now. Here is a brief summary of the operations which are implemented:

- Matrix-scalar and matrix-matrix arithmetic. This is fairly complete and
  includes matrix multiplication, as well as element-wise exponentiation (^)
  and integer operations (div, mod, bit shifts and bitwise logical operations)
  which aren't actually in the GSL API.

- SVD (singular value decomposition), as well as the corresponding solvers,
  pseudo inverses and left and right matrix division. This is only available
  for real matrices right now, as GSL doesn't implement complex SVD.

- Random distributions and statistic functions.

- Polynomial evaluation and roots.

- Linear least-squares fitting. Multi-fitting is not available yet.

Installation instructions: Run 'make' to compile the module and 'make install'
(as root) to install it in the Pure library directory. This requires GNU make,
and of course you need to have Pure and GSL installed. The 'make install' step
is only necessary for system-wide installation.

'make' tries to guess your Pure installation directory and platform-specific
setup. If it gets this wrong, you can set some variables manually. In
particular, 'make install prefix=/usr' sets the installation prefix, and 'make
PIC=-fPIC' or some similar flag might be needed for compilation on 64 bit
systems. Please see the Makefile for details.

The current release requires Pure >= 0.45 and GSL >= 1.11. Older GSL versions
might still work, but then some operations may be missing. The latest and
greatest GSL version is always available from http://www.gnu.org/software/gsl.

See the 'examples' folder in the sources for some examples.

If you'd like to contribute, please mail the authors or contact us at
http://groups.google.com/group/pure-lang.

Authors
=======

Albert Graef <aggraef@gmail.com>
Robert E. Rucker <erucker@bmc.edu>
