Software for computation
Software for computation in algebra and discrete mathematics
Programming languages can be specifically designed to make it easy to handle particular problems. For example, the GAP (Groups, Algorithms, Programming) system is designed for computational discrete algebra. It provides a programming interface in which mathematicians working on Group Theory can naturally and straightforwardly express their problems.
EPCC work with mathematicians at the University of St Andrews to help to improve the GAP system. The GAP system, together with the SymGridPar middleware, provides flexible and effective computation on single processors and small clusters. The aim of the GAP project is to re-engineer the GAP system to use larger clusters of multi-core processors to perform increasingly complex computations.