@TechReport{ it:2004-020,
author = {Malin Ljungberg and Krister {\AA}hlander},
title = {Generic Programming Aspects of Symmetry Exploiting
Numerical Software},
institution = {Department of Information Technology, Uppsala University},
department = {Division of Scientific Computing},
year = {2004},
number = {2004-020},
month = may,
note = {To appear in the proceedings of the mini-symposium
``Software Concepts and Free Software for PDEs'' of the
ECCOMAS 2004 congress, Jyv{\"a}skyl{\"a}, Finland, 24-28
July 2004},
abstract = {The use of the generalized Fourier transform as a means to
diagonalize certain types of equivariant matrices, and thus
speeding up the solution of numerical systems, is
discussed. Such matrices may arise in various applications
with geometrical symmetries, for example when the boundary
element method is used to solve an electrostatic problem in
the exterior of a symmetric object. The method is described
in detail for an object with a triangular symmetry, and the
feasibility of the method is confirmed by numerical
experiments.
The design of numerical software for this kind of
applications is a challenge. It is argued that generic
programming is very suitable in this context, mainly
because it is type safe and promotes polymorphism
capabilities in link time.
A generic C++ design of important mathematical abstractions
such as groups, vector spaces, and group algebras, is
outlined, illustrating the potential provided by generative
programming techniques. The integration of explicit support
for various data layouts for efficiency tuning purposes is
discussed. }
}