Skip to main content

Python interface to the Intel MKL Pardiso library to solve large sparse linear systems of equations

Project description

pypardiso-tests

PyPardiso

PyPardiso is a python package to solve large sparse linear systems of equations with the Intel oneAPI Math Kernel Library PARDISO solver, a shared-memory multiprocessing parallel direct sparse solver.

PyPardiso provides the same functionality as SciPy's scipy.sparse.linalg.spsolve for solving the sparse linear system Ax=b. However in many cases it is significantly faster than SciPy's built-in single-threaded SuperLU solver.

PyPardiso is not a python interface to the PARDISO Solver from the PARDISO 7.2 Solver Project and it also doesn't currently support complex numbers. Check out JuliaSparse/Pardiso.jl for these more advanced use cases. For macOS users we recommend scikit-umfpack as an alternative fast solver, since MKL is not available on Apple silicon.

Installation

PyPardiso runs on Linux and Windows. It can be installed with conda or pip. It is recommended to install PyPardiso using a virtual environment.

conda-forge PyPI
conda-forge version PyPI version
conda install -c conda-forge pypardiso pip install pypardiso

Basic usage

How to solve the sparse linear system Ax=b for x, where A is a square, sparse matrix in CSR (or CSC) format and b is a vector (or matrix):

In [1]: import pypardiso

In [2]: import numpy as np

In [3]: import scipy.sparse as sp

In [4]: A = sp.rand(10, 10, density=0.5, format='csr')

In [5]: A
Out[5]:
<10x10 sparse matrix of type '<class 'numpy.float64'>'
	with 50 stored elements in Compressed Sparse Row format>

In [6]: b = np.random.rand(10)

In [7]: x = pypardiso.spsolve(A, b)

In [8]: x
Out[8]:
array([ 0.02918389,  0.59629935,  0.33407289, -0.48788966,  3.44508841,
        0.52565687, -0.48420646,  0.22136413, -0.95464127,  0.58297397])

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pypardiso-0.4.7.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pypardiso-0.4.7-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

Details for the file pypardiso-0.4.7.tar.gz.

File metadata

  • Download URL: pypardiso-0.4.7.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pypardiso-0.4.7.tar.gz
Algorithm Hash digest
SHA256 0f307c749ace576d9de5c63ce39af0e850d8f772697260454f3deb0202a7a92d
MD5 195cc582858860a664cdbb64f1167799
BLAKE2b-256 0af838f3c9983ffc789fa7ddda88cf2ce388a489698ba73edb9e5355a564966e

See more details on using hashes here.

File details

Details for the file pypardiso-0.4.7-py3-none-any.whl.

File metadata

  • Download URL: pypardiso-0.4.7-py3-none-any.whl
  • Upload date:
  • Size: 10.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pypardiso-0.4.7-py3-none-any.whl
Algorithm Hash digest
SHA256 157b2d188d884b4bf2cd90a0cb3efae513b8b6215c29ebb4659e9cc38610c839
MD5 698f3edbdaa29ef88c6caac084eeb48c
BLAKE2b-256 d91180f3b55f77309b1993e68776778510f46195252b5393b967f67d28dbb6b6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page