TEMPLATES
Iterative Solvers
for Linear Systems
TEMPLATES
is a MATLAB library which
implements some common iterative methods of solving a linear system.
Languages:
TEMPLATES is available in
a FORTRAN77 version and
a FORTRAN90 version and
a MATLAB version
Related Data and Programs:
DLAP,
a FORTRAN90 library which
implements iterative methods for solving
linear systems.
HBSMC,
a dataset directory which
contains large sparse matrices stored in the
Harwell-Boeing format.
MM,
a data directory which
describes a file format which
is used for storing large sparse matrices in files, as
well as a web site where many such files can be found.
MM_TO_MSM,
a MATLAB program which
reads a Matrix Market file defining a sparse matrix, and creates
a corresponding MATLAB sparse matrix data structure.
SUPER_LU,
a C program which
applies a fast direct solution method to
a sparse linear system.
TEST_MAT,
a MATLAB library which
defines test matrices.
TEST_MATRIX,
a MATLAB library which
defines test matrices.
Reference:
-
Richard Barrett, Michael Berry, Tony Chan, James Demmel,
June Donato, Jack Dongarra, Victor Eijkhout, Roidan Pozo,
Charles Romine, Henk van der Vorst,
Templates for the Solution of Linear Systems:
Building Blocks for Iterative Methods,
SIAM, 1994.
-
M. Newman and J. Todd,
The evaluation of matrix inversion programs,
Journal of the Society for Industrial and Applied Mathematics,
Volume 6, 1958, pages 466-476.
-
Solutions to problem E710 (proposed by D H Lehmer):
The inverse of a matrix,
American Mathematical Monthly,
Volume 53, 1946, pages 534-535.
-
http://www.netlib.org/templates/index.html
the TEMPLATES web site;
Source Code:
-
bicg.m,
applies the BiConjugate Gradient iteration.
-
bicgstab.m,
applies the BiConjugate Gradient Stabilized iteration.
-
cg.m,
applies the Conjugate Gradient iteration.
-
cgs.m,
applies the Conjugate Gradient Squared iteration.
-
cheby.m,
applies the Chebyshev iteration.
-
gmres.m,
applies the Generalized Minimum Residual iteration.
-
gs.m,
applies the Gauss-Seidel iteration.
-
jacobi.m,
applies the Jacobi iteration.
-
lehmer.m,
generates a Lehmer matrix.
-
mm_to_msm.m,
reads a Matrix Market file and creates a MATLAB sparse matrix.
-
poisson.m,
generates a Poisson matrix.
-
qmr.m,
applies the Quasi-Minimum Residual (QMR) method.
-
r8mat_print.m,
prints an R8MAT.
-
r8mat_print_some.m,
prints some of an R8MAT.
-
s_len_trim.m,
returns the length of a string to the last nonblank.
-
sor.m,
applies the Successive Over-Relaxation (SOR) method.
-
split.m,
returns a splitting of the system matrix for the Jacobi
and SOR methods.
-
timestamp.m,
prints the current YMDHMS date as a timestamp.
-
wathen.m,
returns a large sparse positive definite matrix based on
a 2D grid of 8-node serendipity elements.
Examples and Tests:
-
templates_test.m,
calls all the tests.
-
templates_test_output.txt,
output from a run of all the tests.
-
bicg_test.m,
tests BICG.
-
bicgstab_test.m,
tests BICGSTAB.
-
cg_test.m,
tests CG.
-
cgs_test.m,
tests CGS.
-
cheby_test.m,
tests CHEBY.
-
gmres_test.m,
tests GMRES.
-
gs_test.m,
tests GS.
-
jacobi_test.m,
tests JACOBI.
-
lehmer_test.m,
tests LEHMER.
-
mm_to_msm_test.m,
tests MM_TO_MSM.
-
poisson_test.m,
tests POISSON.
-
qmr_test.m,
tests QMR.
-
sor_test.m,
tests SOR.
-
wathen_test.m,
tests WATHEN.
-
wathen_29_29_adg.txt,
a Matrix Market file containing a 29x29 Wathen Finite Element matrix.
You can go up one level to
the MATLAB source codes.
Last revised on 29 March 2006.