Python interface to UMFPACK sparse direct solver.
Project description
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 a part of SuiteSparse.
References
Installation
Releases of scikit-umfpack can be installed from source using pip, or with a package manager like conda . To install from source, first ensure the dependencies described in the next section are installed, then run:
pip install scikit-umfpack
To install scikit-umfpack from its source code directory, run in the root of a clone of the Git repository:
pip install .
Dependencies
scikit-umfpack depends on NumPy, SciPy, and SuiteSparse.
To build scikit-umfpack, the following are needed: - a C compiler - a BLAS library with CBLAS symbols (e.g., OpenBLAS, Accelerate on macOS, or reference BLAS) - NumPy - SuiteSparse (which contains UMFPACK) - SWIG
pkg-config is an optional dependency, if it’s installed it may be used to detect a BLAS library.
SuiteSparse cannot be installed from PyPI, however it will likely be available from your package manager of choice. E.g., installing on Ubuntu 22.04 can be achieved with:
sudo apt-get install libsuitesparse-dev
or from Conda-forge on any supported OS with:
conda install suitesparse
SuiteSparse can also be built from source, see the instructions in the README of the SuiteSparse repository.
Detection of UMFPACK
During the build, scikit-umfpack tries to automatically detect the UMFPACK shared library and headers. In case SuiteSparse is installed in a non-standard location, this autodetection may fail. If that happens, it is possible to provide the paths to the library and include directories in a config file (a Meson machine file). This file should contain absolute paths. For example, for a conda env on Windows, it may look like:
[properties]
umfpack-libdir = 'C:\Users\micromamba\envs\scikit-umfpack-dev\Library\lib'
umfpack-includedir = 'C:\Users\micromamba\envs\scikit-umfpack-dev\Library\include\suitesparse'
If that file is named nativefile.ini, then the pip invocation should look like (note that $PWD ensures an absolute path to the native file is used):
pip install . -Csetup-args=--native-file=$PWD/nativefile.ini
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 pytest package installed):
pip install pytest pytest --pyargs scikits.umfpack
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file scikit_umfpack-0.4.1.tar.gz
.
File metadata
- Download URL: scikit_umfpack-0.4.1.tar.gz
- Upload date:
- Size: 31.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23a16750fbf866d32341ab3885fd59687bc9d5fbb9d372e50f6a968059604d59 |
|
MD5 | 19e55127b1cf985f4e90bce865a6735d |
|
BLAKE2b-256 | 9e2c0f3158c39a2212ce90c4e2da38178bbe7520449e9ff0c01cf9346bb498ef |