(Updated on 1-7-02)
This is a link to some Fortran
codes for matrix products, explicit iterations, Gauss elimination, SOR methods,
conjugate gradient and GMRES methods.
The codes are in F90, MPI (message passing interface), HPF (high
performance Fortran) and OMP (open
message passing) so that the IBM SP multiprocessor at the North Carolina Supercomputing Center (NCSC) can
be used. The emphasis is on MPI
codes. Students should have a basic
understanding of numerical linear algebra such as in MA 402,
or MA/CSC 428 or MA/CSC
580. Getting started information
for MPI can be found at the links to the NCSC and to chapter 2 in MA 402. This
collection of codes is for educational purposes, and they are not robust enough
for general use. More sophisticated
software and additional references can be found at Netlib.
Fortran Codes:
I. Matrix Products
1. Basic MPI (trape.f),
(envrmpi8)
2.
Matrix-vector product (matvecmo.f)
3.
Matrix-matrix product (mmmo.f), (foxm1.f)
II. Explicit Methods
4.
Heat and flow (heat2d.f90 and flow2d.f90)
5.
2D heat (heat2dm.f)
6.
2D flow (poll2dm.f)
III. Gaussian Elimination
7.
SPD version (ge.f90)
8.
HPF version (ge.hpf)
9.
Domain decomposition (gedd.m), (ges.f90),
(geddm7.f )
IV. SOR Methods
10.
Classical order (sor2d.f90)
11.
Red-black order (sorrb.f), (sorrb.hpf)
12.
Domain decomposition order (sorddm.f)
V. Minimization Methods
13. Conjugate gradient (cg.f90)
14. SSOR preconditioner (cgssor.f90), (cgssorm.f)
15. Gmres(m) (GMRESm.f90) , (gmresmm1.f)