csc-pysparse

A fast sparse matrix library for Python (Commonsense Computing version)

OTHER License

Downloads
181
Stars
10
Committers
2

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!

Package Rankings
Top 15.24% on Pypi.org