Skip to content

micmitch/pymatsolver

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pymatsolver

Latest PyPI version Number of PyPI downloads MIT license. Travis CI build status Coverage status

A sparse matrix solver for python.

Solving Ax = b should be as easy as:

Ainv = Solver(A)
x = Ainv * b

In pymatsolver I provide a number of wrappers to existing numerical packages. Nothing fancy here.

Solvers Available

All solvers work with scipy.sparse matricies, and a single or multiple right hand sides using numpy:

  • L/U Triangular Solves (done in fortran)
  • Wrapping of SciPy matrix solvers (direct and indirect)
  • MUMPS (http://mumps.enseeiht.fr/) for real and imaginary components (fortran wrapper, mac/linux supported, with nice error messages!)

Installing

I have not been able to get the pip install to work because of multiple dependencies on fortran libraries. However, the linux and mac installs are relatively easy. Note that you must have mumps pre-installed, currently I have only got this working for the sequential version, so when you are installing, you will need to point to that one. You can also look at the .travis.yml file for how to get it working on TravisCI.

Linux

From a clean install on 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
python setup.py install

Mac

This assumes that you have Brew and some python installed (numpy, scipy):

brew install mumps --with-scotch5 --without-mpi

git clone https://github.com/rowanc1/pymatsolver.git
cd pymatsolver
python setup.py install

Code: https://github.com/rowanc1/pymatsolver

Tests: https://travis-ci.org/rowanc1/pymatsolver

Bugs & Issues: https://github.com/rowanc1/pymatsolver/issues

License: MIT

About

Solve matrix equations in python.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 50.9%
  • Fortran 43.1%
  • Makefile 6.0%