Python interface to the Intel MKL Pardiso library to solve large sparse linear systems of equations
More documentation is coming soon. In the meantime, refer to the comments and docstrings in the source code.
Use PyPardiso with the anaconda python distribution (use miniconda if you need to install it). PyPardiso makes use of the Intel Math Kernel Library that is included for free with conda and therefore doesn't work with other distributions (at least for the moment).
To install PyPardiso:
conda install -c haasad pypardiso
PyPardiso provides a
spsolve and a
factorized method that are significantly faster than their counterparts in scipy.sparse.linalg.
>>> from pypardiso import spsolve >>> x = spsolve(A,b)
- CSR-matrix format is forced in
factorized. This fixes a serious compatibility issue with brightway2, where a technosphere matrix in CSC-format produces wrong results, due to the bad conditioning of the matrix (see details in issue #7).
- Switched from zero- to one-based indexing for the call to the pardiso library. This brings performance of the factorization phase back to the level of v0.1.0, v0.2.0 is much slower.