/scikit-umfpack

The umfpack scikit provides wrapper of UMFPACK sparse direct solver to SciPy.

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

scikit-umfpack

scikit-umfpack provides wrapper of UMFPACK sparse direct solver to SciPy.

Usage:

>>> from scikits.umfpack import spsolve, splu
>>> lu = splu(A)
>>> x = spsolve(A, b)

Installing scikits.umfpack also enables using UMFPACK solver via some of the scipy.sparse.linalg functions, for SciPy >= 0.14.0. Note you will need to have installed UMFPACK before hand. UMFPACK is parse of SuiteSparse.

Dependencies

scikit-umfpack depends on NumPy, SciPy, SuiteSparse, and swig is a build-time dependency.

Building SuiteSparse

SuiteSparse may be available from your package manager or as a prebuilt shared library. If that is the case use that if possible. Installation on Ubuntu 14.04 can be achieved with

sudo apt-get install libsuitesparse-dev

Otherwise, you will need to build from source. Unfortunately, SuiteSparse's makefiles do not support building a shared library out of the box. You may find Stefan Fuertinger instructions helpful.

Furthmore, building METIS-4.0, an optional but important compile time dependency of SuiteSparse, has problems on newer GCCs. This patch and instructions from Nadir Soualem are helpful for getting a working METIS build.

Otherwise, I commend you to the documentation.

Installation

Releases of scikit-umfpack can be installed using pip. For a system-wide installation run:

pip install --upgrade scikit-umfpack

or for a user installation run

pip install --upgrade --user scikit-umfpack

To install scikit-umfpack from its source code directory, run in that directory (--user means a user installation):

pip install --upgrade --user .

Development

Code

You can check the latest sources with the command:

git clone https://github.com/scikit-umfpack/scikit-umfpack.git

or if you have write privileges:

git clone git@github.com:scikit-umfpack/scikit-umfpack.git

Testing

After installation, you can launch the test suite from outside the source directory (you will need to have the nose package installed):

nosetests -v scikits.umfpack