Python interface to the Intel MKL Pardiso library to solve large sparse linear systems of equations
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

PyPardisoProject

Anaconda-Server Badge

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.

  • Linux/OSX build status: Build Status

  • Windows build status: Build status

Installation

Anaconda-Server Badge

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

Basic usage

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)

Changelog

v0.2.2

  • CSR-matrix format is forced in spsolve and 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).

v0.2.1

  • 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.