A long-standing interest in Manchester is the design and implementation of numerical algorithms, in areas such as numerical linear algebra, nonlinear optimisation and differential equations. Members of the group have contributed software to, for example,
and have produced MATLAB toolboxes:
Modern computer architectures, including those in desktop machines, exploit a number of features in order to achieve high performance, including cache memories, hierarchical memories, and the use of multiple processors working in parallel. Algorithms need to be carefully designed and tailored in order to extract high performance, and the group has much experience in this endeavour in the area of matrix computations. For example, recent work by PhD student Craig Lucas has produced Fortran software for Cholesky factorization and updating and downdating of QR factorizations, while the EPSRC-funded project Parallel Computation of Matrix Functions, developed new algorithms, theory and analysis for parallel computation of some matrix functions arising in important application areas. Jack Dongarra and his team are working on a wide variety of different projects concerning algorithms and software for advanced-computer architectures.
A current Knowledge Transfer Partnership with NAG is translating algorithms for matrix functions developed in Manchester into NAG Library routines.
Some of our research in this area is performed in collaboration with the Centre for Novel Computing (CNC) a research group in the Department of Computer Science. For example, the EPSRC-funded project Efficient parallel black-box preconditioners for finite element problems, developed library-quality parallel processor software that is available for off-the-shelf use by the international engineering community.