Multigrid can be formulated as an algorithm for an abstract problem that is independent of the partial di erential equation, domain, discretization method, and number of processors. In such an abstract setting, problems not arising from partial di erential equations can be treated also (c.f. aggregation-disaggregation methods). Quite general theory exists for linear problems, e.g., C. C. Douglas and J. Douglas, SIAM J. Numer. Anal., 30 (1993), pp. 136{158. The general theory was motivated by a series of abstract solvers (Madpack). The latest version (5) was motivated by the theory and user feedback. Madpack now provides a wide variety of iterative and direct solvers, preconditioners, and interpolation and projection schemes, including user call back ones. It allows for matrices to be stored in sparse, dense, and stencil formats. The matrices can be symmetric or nonsymmetric with real, complex, or user de ned data types. The type of solvers and design decisions (including language, data structures, external library support, and call backs) are discussed here. Based on the author's experiences with two versions of Madpack, a better approach is proposed here. This is based on a mixed language formulation (C and Fortran+preprocessor). Reasons for not just using Fortran, C, or C++ are given.
[1]
J. Douglas,et al.
A unified convergence theory for abstract multigrid or multilevel algorithms, serial and parallel
,
1993
.
[2]
Stanley C. Eisenstat,et al.
The (New) Yale Sparse Matrix Package
,
1984
.
[3]
W. Miranker,et al.
Acceleration by aggregation of successive approximation methods
,
1982
.
[4]
Stanley C. Eisenstat,et al.
Yale sparse matrix package I: The symmetric codes
,
1982
.
[5]
Craig C. Douglas.
MGNet: a multigrid and domain decomposition network
,
1992,
SGNM.
[6]
Craig Carl Douglas,et al.
Multi-grid algorithms for elliptic boundary-value problems
,
1982
.
[7]
R. K. Smith,et al.
General sparse elimination requires no permanent integer storage
,
1987
.
[8]
C. Douglas.
Multi-Grid Algorithms with Applications to Elliptic Boundary Value Problems
,
1984
.
[9]
Craig C. Douglas,et al.
Some remarks on completely vectorizing point Gauss-Seidel while using the natural ordering
,
1994,
Adv. Comput. Math..
[10]
Craig C. Douglas,et al.
A tupleware approach to domain decomposition methods
,
1991
.
[11]
W. Miranker,et al.
Constructive interference in parallel algorithms
,
1988
.