An open-source (BSD) library for sparse linear algebra and associated algorithms. It is primarily developed by the Numerical Analysis group at STFC Rutherford Appleton Laboratory ([email protected]).
For detailed information about the SPRAL packages and API see Fortran documentation or C documentation.
- LSMR - Solves sparse least squares problems using LSMR algorithm.
- RANDOM - Pseudo-random number generator.
- RANDOM_MATRIX - Generates random matrices for testing purposes.
- RUTHERFORD_BOEING - Read and write matrices in Rutherford-Boeing format.
- SCALING - Calculates matrix scalings through a variety of algorithms
- SSIDS - Sparse Symmetric Indefinite Direct Solver.
- SSMFE - Sparse Symmetric Matrix-Free Eigensolver. Uses Jacobi-conjugate preconditioned gradients method.
If the functionality you are looking for is not support, it may be offered by our proprietary licenced HSL Library (free to academics).
We use a standard autotools-based build:
./autogen.sh # If compiling from fresh git checkout
./configure
make
make install
When using SSIDS, ensure the following environment variables are set:
export OMP_CANCELLATION=TRUE
export OMP_NESTED=TRUE
export OMP_PROC_BIND=TRUE