[Matrix-SIG] Adding a Sparse matrix object

John Turner turner@blueskystudios.com
Tue, 18 May 1999 17:44:04 -0400 (EDT)


>>>>> "TO" == Travis Oliphant <Oliphant.Travis@mayo.edu> writes:

TO> I had the necessity of iteratively inverting a large linear system
TO> with the conjugate gradient method and wanted to use Python, but
TO> there is only rudimentary sparse matrix support.  (I couldn't find
TO> anything to solve my problem (without extra coding in C)).  So I
TO> had to use MATLAB, which has a rather nice sparse matrix
TO> implementation.
TO>
TO> Is there an interest in developing a sparse matrix object with
TO> appropriate methods and functions defined to complement the array
TO> object?  I suppose to be symmetric it should be a sparse array
TO> object... I'm interested in generating some discussion on this
TO> topic if there are any takers.

I've been thinking of doing just this for a while as a "first
significant Python project", since it's something I know a little
about.  I've written a series of packages to solve linear systems by
preconditioned Krylov subspace methods (CG, GMRES, TFQMR, etc.) that
progressed from horrible Fortran 77 to fully object-based modern
Fortran (F90/F95).  I've fooled around a little with C++
implementations, but not to as great an extent as with Fortran.

There are many design decisions to be made when developing such a
package, such as how to support the plethora of sparse storage
formats.  Some more "researchy" packages simply support a single
storage scheme and provide routines to translate from a wide variety
of formats into that one, but of course that can have serious memory
and performance penalties.

And note that most of the solvers themselves are pretty easy to
implement; the difficult part is the preconditioning, which is
almost always necessary for "real" problems.

Anyway, there's lots we could talk about... I'm not sure if it should
be done here or offline or in a separate list or what.  But I'd like
to be involved in such an effort.

-- 
John A. Turner, Ph.D.                Senior Research Associate
Blue Sky Studios                     http://www.blueskystudios.com/
One South Road, Harrison, NY 10528   http://www.lanl.gov/home/turner/
Phone: 914-381-8400                  http://john.turner.org/

Info on Blue Sky's fully computer-generated, Oscar-winning short film:
    http://bunny.blueskystudios.com/