Numerical Algorithms
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. 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. Computations with large or complex data frequently rely on fast, accurate algorithms for linear systems, eigenvalues, singular values, or functions of matrices, ranging from huge sparse matrices arising in networks to dense, highly structures matrices from time series.