pymatsolver:python的矩阵解算器

pymatsolver的Python项目详细描述


Latest PyPI versionMIT license.Travis CI build statusCoverage status

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

许可证:麻省理工学院

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java游戏!框架伪造应用程序它实际上做什么?   java如何在JavaFx中显示表视图中的即时更改?   对象类的equals()方法的java重载   xpages介绍如何部署java。IBM Notes中的策略更改   java如何访问侦听器中的另一个视图?   java getDefaultDisplay()的替代方法是什么   java opencv匹配模板   java Android Firebase写入数据时的常量超时   在Java中,如何将包含大量空格的数字字符串转换为一系列Int变量。   带有GUI的swing Java模拟无法运行模拟   java NoSuchElementException在特定的Web端上使用无头铬和硒   java对文件进行迭代,即使文件在目录中也会出现“未找到文件”异常。你能告诉我为什么吗?谢谢   递归Java 8,匿名递归嵌套方法   java为什么我看到枚举常量的字段值会被序列化/反序列化?在哪种情况下,枚举中哪些内容没有序列化?   java在运行sonar scanner和Spotbugs规则时出错,用于单片项目?   java如何检查硬件键盘是否可用?(黑莓)   tile游戏动作侦听器循环中的java错误   sockets Java线程池与高请求场景中的新线程   java如何使用Hibernate注释在联接表上创建索引?