The C++ Multigrid Generator Toolkit
This page is out of date. [Some additional information].
MG++ is a multigrid generator written in C++. At its heart is "MGLIB",
a MultiGrid class LIBrary, constituting a grid generator, a generator
[of gauge field configurations], and a multilevel update generator
[for relaxation, coarse-grid correction and determination of intergrid
The library is being worked on, version 0.0 being scheduled
some time in spring 1994, under the
GNU Library Public License.
It will simplify and shorten time for coding, testing and maintenance of
multigrid algorithms, including an easy-to-use User's Manual, prepared
using the literate programming paradigm.
MG++ will allow for easy implementation and change of grid geometries
and physical input (such as a lattice gauge group). Hopefully, from this
starting point, C++ will make its way into
Lattice Field Theory
[The possibility of using C++ "aiming at major improvements in scientific
software methodology" was first mentioned by K.G. Wilson in his talk at the
Lattice Symposium in 1989].
Work in progress will be made public here, in newsgroup
and through the
There are similar approaches known already, for example the
tool (coded in C), developed at FNAL, some features of
a programming language (dynamical parser) of the
parallel computer from Rome, and
Data Abstraction Techniques
used in finite-element
multigrid programming [PostScript]. In parallel computing, K. Decker has pleaded for the use
of literate programming techniques in a
Algorithm design [PostScript].
Toby Burnett's pages on the development version of
are a nice example of how WWW can be used to present a C++ Library.
Here is part of the
Inheritance Graph for MGLIB for illustration
how it also could be done.
Here is more information on
C++ (and its applications in HEP), and here is more on
Marcus Speh, 22-12-94
Martin Heilmann, 27-02-95