Git Product home page Git Product logo

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 [email protected]: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

scikit-umfpack's Projects

scikit-umfpack icon scikit-umfpack

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.