Web Analytics

PyPardiso

⭐ 151 stars Japanese by haasad

pypardiso-tests

PyPardiso

PyPardisoは、Intel oneAPI Math Kernel Library PARDISOソルバーを用いて、大規模な疎線形方程式系を解くためのPythonパッケージです。これは共有メモリマルチプロセッシング並列直接疎ソルバーです。

PyPardisoは、疎線形系 Ax=b を解くためのSciPyのscipy.sparse.linalg.spsolveと同様の機能を提供します。ただし、多くの場合、SciPyの組み込みの単一スレッドのSuperLUソルバーよりも大幅に高速です。

PyPardisoは、PARDISO 7.2 Solver ProjectのPARDISOソルバーのPythonインターフェースではなく、現在複素数には対応していません。これらのより高度なユースケースにはJuliaSparse/Pardiso.jlを参照してください。macOSユーザーには、Appleシリコン上でMKLが利用できないため、代替の高速ソルバーとしてscikit-umfpackを推奨します。

インストール

PyPardisoはLinuxおよびWindowsで動作します。__conda__または__pip__でインストール可能です。仮想環境を使用してPyPardisoをインストールすることを推奨します。

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

基本的な使い方

A がCSR(またはCSC)形式の正方疎行列で、b がベクトル(または行列)のとき、疎線形系 Ax=bx について解く方法:

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 '' 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 ---