Skip to content

lambe/pysparse

 
 

Repository files navigation

THE SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND "WITH ALL
FAULTS". THE AUTHOR MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND
CONCERNING THE QUALITY, SAFETY OR SUITABILITY OF THE SOFTWARE, EITHER
EXPRESSED OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
NON-INFRINGEMENT.

Overview
--------

PySparse extends the Python interpreter by a set of sparse matrix
types holding double precision values. PySparse also includes modules
that implement

 - iterative methods for solving linear systems of equations
 - a set of standard preconditioners
 - an interface to a direct solver for sparse linear systems of
   equations (SuperLU)
 - a Jacobi-Davidson eigenvalue solver for the symmetric, generalised
   matrix eigenvalue problem (JDSYM)

All these modules are implemented as C extension modules for maximum
performance.

PySparse uses NumPy for handling dense vectors and matrices and makes use of
UMFPACK and SuperLU for factorising sparse matrices.

Installation
------------

1. Install NumPy

   - Download NumPy from http://www.numpy.org/

     PySparse was tested with NumPy up to version 2.0

   - Unpack and Install the NumPy package

     Refer to the documentation provided in the NumPy package for
     installation hints.

2. Customise the site.cfg file

   PySparse is needs to link against the BLAS and LAPACK libraries,
   which must be available on your system.

3. Install PySparse

   Run 'python setup.py install' to install PySparse into the default
   directory of your Python installation. Refer to the Python
   documentation, if you have advanced installation needs.

   Some systems will require usage of a Fortran compiler to link the BLAS
   and/or LAPACK libraries. The Fortran compiler that was used to compile those
   libraries should normally be used. It can be specified at build time using:

   python setup.py config_fc --fcompiler=gfortran build

   (replace gfortran with your compiler; see 'python setup.py config_fc --help'
   for more information.)

4. Testing

   Testing support is only rudimentary.

   Run the scripts in the examples and test directories. Check if the results
   are meaningful :-;

   PySparse was successfully tested on many UNIX brands, including
   Linux, OSX, Solaris (SunOS 5.6), Digital UNIX (OSF1 V4.0) and HP-UX
   11.11, and Windows XP (MinGW).
   PySparse was tested using Python version 2.6.

Documentation
-------------

Some documentation is located in the doc subdirectory.


Acknowledgements
----------------

Major parts of this work was done while I was working as a PhD student at

Institute of Scientific Computing
ETH Zentrum
CH-8092 Zurich, Switzerland

and while I was working as a postdoc at

Paul Scherrer Institute
CH-5232 Villigen, Switzerland


I would like thank the developers of the SuperLU and Umfpack
packages. Both SuperLU and Umfpack are incorporated into the PySparse
software distribution.


Contact
-------

For comments, questions, bug reports, etc. please consult the pysparse-users
mailing list. See http://pysparse.sf.net.

Thank you for using PySparse!

About

A Sparse Matrix Library for Python

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 92.9%
  • Python 4.3%
  • C++ 1.7%
  • Objective-C 1.1%