PyPardiso
PyPardiso es un paquete de Python para resolver grandes sistemas lineales dispersos de ecuaciones con el solucionador PARDISO de Intel oneAPI Math Kernel Library, un solucionador directo paralelo disperso de memoria compartida.
PyPardiso proporciona la misma funcionalidad que scipy.sparse.linalg.spsolve de SciPy para resolver el sistema lineal disperso Ax=b. Sin embargo, en muchos casos es significativamente más rápido que el solucionador SuperLU de un solo hilo incorporado en SciPy.
PyPardiso no es una interfaz de Python para el solucionador PARDISO del Proyecto PARDISO 7.2 Solver y tampoco soporta actualmente números complejos. Consulte JuliaSparse/Pardiso.jl para estos casos de uso más avanzados. Para usuarios de macOS recomendamos scikit-umfpack como un solucionador rápido alternativo, ya que MKL no está disponible en Apple silicon.
Instalación
PyPardiso funciona en Linux y Windows. Se puede instalar con __conda__ o __pip__. Se recomienda instalar PyPardiso usando un entorno virtual.
conda-forge | PyPI
:---:|:---:
|
conda install -c conda-forge pypardiso | pip install pypardiso
Uso básico
Cómo resolver el sistema lineal disperso Ax=b para x, donde A es una matriz cuadrada, dispersa en formato CSR (o CSC) y b es un vector (o matriz):
In [1]: import pypardisoIn [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 ''
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])
--- Tranlated By Open Ai Tx | Last indexed: 2025-12-06 ---