pymatsolver: Python矩阵求解器
项目描述
一个用于Python的(稀疏)矩阵求解器。
解Ax = b应该像这样简单:
Ainv = Solver(A)
x = Ainv * b
在pymatsolver中,我们为现有的数值软件包提供了一些封装。这里没有什么特别的地方。
可用的求解器
所有求解器都与scipy.sparse
矩阵以及单个或多个使用numpy
的右手边一起工作。
L/U三角求解
SciPy矩阵求解器的封装(直接和间接)
由于MKL随conda一起提供,现在Pardiso求解器可用!
带有良好错误信息的Mumps求解器
安装Mumps
由于对fortran库有多个依赖,我们无法使pip安装工作。然而,Linux和mac的安装相对简单。请注意,您必须预先安装mumps,目前我们只为顺序版本实现了这一点,因此您在安装时需要指向它。您还可以查看.travis.yml文件了解如何在TravisCI上实现。
Linux
从Ubuntu的全新安装
apt-get update
apt-get -y install gcc gfortran git libopenmpi-dev libmumps-seq-dev libblas-dev liblapack-dev
# Install all the python you need!
wget http://repo.continuum.io/miniconda/Miniconda-3.8.3-Linux-x86_64.sh -O miniconda.sh;
chmod +x miniconda.sh
./miniconda.sh -b
export PATH=/root/anaconda/bin:/root/miniconda/bin:$PATH
conda update --yes conda
conda install --yes numpy scipy matplotlib cython ipython nose
git clone https://github.com/rowanc1/pymatsolver.git
cd pymatsolver
make mumps
Mac
这假设您已安装Brew和一些Python(numpy,scipy)
brew install mumps --with-scotch5 --without-mpi
git clone https://github.com/rowanc1/pymatsolver.git
cd pymatsolver
make mumps_mac
如果您遇到问题,可能需要进入Makefile并更新各种库的Lib和Include指针。
此命令有助于查找依赖项。您还应关注brew安装mumps时发生的情况。
mpicc --showme
代码: https://github.com/simpeg/pymatsolver
测试: https://travis-ci.org/simpeg/pymatsolver
错误 & 问题: https://github.com/simpeg/pymatsolver/issues
许可: MIT
项目详情
关闭
pymatsolver-0.2.0.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | df9e0444f3c7fadf57b226d7d90b7be1dea9e24718575b458ba50429736d6c45 |
|
MD5 | b6ffba7bdebf49a47eaa81c942bb7650 |
|
BLAKE2b-256 | c82f31206d73ec4ce85746532bd96a6a369ecab4d5f8efcebc301ebc3364ebfb |