MUMPS稀疏求解器的绑定和Python接口
项目描述
Python-MUMPS
Python绑定MUMPS:一个并行稀疏直接求解器。
范围
本包针对由conda-forge包装的MUMPS,使用Cython绑定。它旨在提供MUMPS顺序API的完整封装。其主要目标是Linux操作系统。
下一步包括
- 支持Windows和OSX
- 支持分布式(MPI)MUMPS
安装
python-mumps
在Linux、Windows和Mac上与Python 3.10及更高版本兼容。
安装python-mumps
的推荐方法是使用mamba
/conda
。
mamba install -c conda-forge python-mumps
python-mumps
也可以从PyPI安装,但这是一个更复杂的流程,需要单独安装MUMPS库和C编译器。
使用示例
以下示例展示了如何使用Python-MUMPS与Scipy实现稀疏对角化。
import scipy.sparse.linalg as sla
from scipy.sparse import identity
import mumps
def sparse_diag(matrix, k, sigma, **kwargs):
"""Call sla.eigsh with mumps support.
See scipy.sparse.linalg.eigsh for documentation.
"""
class LuInv(sla.LinearOperator):
def __init__(self, A):
inst = mumps.Context()
inst.analyze(A, ordering='pord')
inst.factor(A)
self.solve = inst.solve
sla.LinearOperator.__init__(self, A.dtype, A.shape)
def _matvec(self, x):
return self.solve(x.astype(self.dtype))
opinv = LuInv(matrix - sigma * identity(matrix.shape[0]))
return sla.eigsh(matrix, k, sigma=sigma, OPinv=opinv, **kwargs)
开发
python-mumps
推荐Spin。获取spin
pip install spin
然后构建、测试和安装python-mumps
spin build
spin test -- --lf # (Pytest arguments go after --)
spin install
项目详情
关闭
python_mumps-0.0.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ae19e9242ca1827f10e7e57021a4be0207b8b9c563472752ca7a0edd7700b223 |
|
MD5 | 538ba6a71ae94f7403b0427765d859b2 |
|
BLAKE2b-256 | fba775a0133d201e632f7602603ff343a633271dbdf300fac2abe10cd65403b3 |
关闭
python_mumps-0.0.2-cp311-cp311-manylinux_2_12_x86_64.manylinux2010_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6796a3536a8f79f8a0e777a3c965e5aa4cab2503898eb9461f4e9fe7279f51dd |
|
MD5 | fd09b7661258ac06c2adfc163c09a5b8 |
|
BLAKE2b-256 | e05297eeb80cefac090940566dd6b3dd3264cd50900ebd6d7c0ad33907d05249 |