pymatsolver:python的矩阵解算器
pymatsolver的Python项目详细描述
python的(稀疏)矩阵解算器。
求解ax=b应该像这样简单:
Ainv=Solver(A)x=Ainv*b
在PyMatoSver中,我为现有的数字包提供了一些包装器。这里没什么特别的。
提供解算器
所有的解算器都使用scipy.sparse
矩阵,并且使用numpy
的单个或多个右手边:
- L/U三角形解
- SCIPY矩阵解算器的包装(直接和间接)
- 帕迪索解算器,现在MKL与康达!
- 带有错误信息的腮腺炎解决方案
安装腮腺炎
由于对Fortran库的多个依赖关系,我无法使PIP安装工作。 然而,linux和mac的安装相对容易。注意你必须预先安装腮腺炎, 目前我只对顺序版本使用这个,所以当你安装时, 你需要指出那个。您还可以查看.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 exportPATH=/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安装腮腺炎时发生的情况。
mpicc --showme
代码: https://github.com/rowanc1/pymatsolver
测试: https://travis-ci.org/rowanc1/pymatsolver
错误和问题: https://github.com/rowanc1/pymatsolver/issues
许可证:麻省理工学院