Uppsala University Department of Information Technology

Technical Report 2004-020

Generic Programming Aspects of Symmetry Exploiting Numerical Software

Malin Ljungberg and Krister Åhlander

May 2004


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.

Note: To appear in the proceedings of the mini-symposium "Software Concepts and Free Software for PDEs" of the ECCOMAS 2004 congress, Jyväskylä, Finland, 24-28 July 2004

Available as PDF (225 kB, no cover)

Download BibTeX entry.

Uppsala Universitet