 |
SPARSLAB Software
Introduction
This page is devoted to Sparslab software.
Sparslab is a package which covers
codes developed for the experimental parts of
the papers written by Michele Benzi and Miroslav Tůma
and some other collaborators
and for some related projects.
Most of these projects were partially supported by grants of the Grant Agency
of the Academy of Sciences of the Czech Republic.
A substantial part of all the software are iterative
solvers preconditioned by AINV, SAINV, RIF and others were concieved,
made and tested by Michele Benzi and Miroslav Tůma.
Most of the codes is written in a very conservative f90
and can be easily compiled.
The development was motivated not by
a need to provide a complete package covering
some parts of numerical linear
algebra but mainly by the need to test various algorithmic ideas
in the field of preconditioned iterative solvers.
Currently available
Currently we present only a small fraction of the whole package
as independent units with all dependencies.
The codes are assembled from a large pool of various subroutines,
functions and auxiliary routines written over the years.
We concentrate on making available some of nontrivial implementations
based on sparse data structures.
In the future we assume to make the whole package
available. The files are typically stored in DOS format and might be
converted into the unix using the attached utility or by some other way.
So far, no other documentation than that provided in the source
codes is available.
Using the codes
The codes can be freely used for research purposes provided the
Sparslab package is cited. Other use should be consulted
at tuma(at)cs(dot)cas(dot)cz.
Preconditioners with MATLAB interfaces
These codes are first attepts to generate some basic preconditioners
as mex-f90 sources with an corresponding m-file interface.
The codes were tested only slightly up to now.
-
Right-looking RIF preconditioner and its MATLAB interface:
RIF preconditioner for solving systems of linear algebraic equations
with positive definite matrices
rifmex.tar.gz
-
Right-looking RIF preconditioner for normal systems
and its MATLAB interface:
RIF code for solving normal equations
avoiding explicit forming A'*A
rifnrimex.tar.gz
-
Right-looking SAINV preconditioner
and its MATLAB interface:
right-looking SAINV preconditioner for MATLAB in f90,
dll executable for Win XP
sainvmex.tar.gz
-
Left-looking AINV preconditioner
and its MATLAB interface:
f90 code, dll executable for Win XP
ainvlmex.tar.gz
-
ICAJ preconditioner (Incomplete Cholesky, Ajiz-Jennings
strategy, and its MATLAB interface:
code in f90, right-looking
icajmex.tar.gz
Preconditioners in Fortran with Fortran drivers
-
SAINV for a symmetric and positive definite
matrix and evaluation of x \approx inv(A)*b.
Test driver with all its dependencies, simple makefile.
sainvsr.tar.gz
-
RIF for a symmetric and positive definite
matrix and evaluation of x \approx inv(A)*b.
Test driver with all its dependencies, simple makefile.
rifsr.tar.gz
-
RIF for solving normal equations (explicit)
(right-looking RIF code in fixed format f90 covering a simple driver
and the necessary subroutines)
rifsrnre.tar.gz
-
RIF for solving normal equations without forming A^T*A (i.e., implicit)
(right-looking RIF code in fixed format f90 covering a simple driver
and the necessary subroutines)
rifsrnri.tar.gz
-
All the following AISM codes were prepared jointly with Rafael Bru,
Jose Marin and Jose Mas in fall 2005 and has been updated
since.
-
Left-looking AISM preconditioner
for a nonsymmetric matrix.
Test driver with all its dependencies, simple makefile.
aisml_subs.tar.gz
-
Left-looking infinite AISM preconditioner
for a nonsymmetric matrix
(having two triangular factors).
Test driver with all its dependencies, simple makefile.
aismli_subs.tar.gz
-
Left-looking AISM preconditioner for a nonsymmetric matrix
with recurrences based on three vectors.
Test driver with all its dependencies, simple makefile.
aisml3v_subs.tar.gz
-
Right-looking AISM preconditioner for a nonsymmetric matrix
(having two triangular factors).
Test driver with all its dependencies, simple makefile.
aismli_subs.tar.gz
Third party utilities
perl script
for converting files from dos format
into the unix one
dos2unixpl
Acknowledgement
The project which initiated
opening this web page was
A1030103 of Grant Agency of the Academy of Sciences
of the Czech Republic. This project was devoted to scalable solvers.
The need to develop their substantial building blocks
was one of our motivations for making the codes publicly
available.
Currently, development of SPARSLAB codes is supported by
the MWEB project from the program "Information Society"
under No. 1ET400300415
of the Czech Republic.
Some specialized routines were
developed for solving special augmented systems and were intended
as production codes. Their
current development is supported by the project of the
Faculty of Mechatronics and Interdisciplinary Engineering
Studies, Technical University in Liberec.
We would appreciate any comments, bug reports etc. Note that this is really
only an initial release of most of the interfaces wrapped around the codes.