HSL.py is a set of Cython/Python interfaces to some of the Harwell Subroutine Library: a collection of state-of-the-art packages for large-scale scientific computation. These packages are written mostly in Fortran and often provide C interfaces but no Python interfaces.
HSL.py provides interfaces to
- ordering methods:
- scaling methods:
- mc29: calculate scaling factors of a sparse (un)symmetric matrix (single and double precision);
- linear solvers:
In order to build previous interfaces, you need to provide source code from the Harwell Subroutine Library. All required packages are available free of charge to academics. Just follow hyperlinks in upper section and fill the licence agreement on their website and you are done!
HSL.py also depends on
- NumPy;
- CySparse;
If you intend to generate the documentation:
- Sphinx;
- sphinx_bootstrap_theme;
To run the tests:
- nose;
-
Clone repository
git clone git@github.com:optimizers/HSL.py.git
-
Install Python dependencies
pip install numpy pip install cysparse (one day ;))
-
Copy
site.template.cfg
tosite.cfg
and adjust it to your needs. -
Install HSL.py
python setup.py install.
cython -I ~/work/VirtualEnvs/nlpy_new/programs/cysparse/ _cyma57.pyx
weird behaviour of Cython, cannot cythonize some .pyx files using setup.py but works when invoking cython from command line ... So I modified setup.py to create c file using command line "cython"
- make it work with CySparse
- create documentation
- add tests
- make it work for single precision (cygenja?)