Craig Lucas

Director of Numerical Software & Staff Board Member

Craig has over 15 years of experience supporting large High Performance Computing codes as well as writing a range of numerical codes for a diverse range of computing platforms.

He has worked on projects for NAG clients in many science areas, in finance, and in other commercial sectors.

His research and work areas include:

  • High performance software system support and development
  • OpenMP and MPI
  • Linear Algebra
  • Nearest Correlation Matrix Problems

    Specific Technical Experience

    Craig is skilled in the design and development of serial and parallel algorithms and software, for clients; including contribution to a range of commercial and open source libraries and applications.

    Projects for the parallelization of serial codes
    Craig has supported the users of large HPC systems, including a number of national supercomputing services, by helping to improve the way their code works for a particular target platform. Craig works on many projects involving the adapting of serial code to make better use of multi core, many core and large HPC clusters. He also advises and coaches clients on appropriate approaches for writing parallel numerical code. His projects include a focus on shared memory programming and how parallelized code can be made more accessible to novice users, while still maintaining interoperability with the expert user’s own specialist parallel code.

    Design and development of methods for computing nearest covariance and correlation matrices
    Craig has developed and written a number of codes for solving correlation matrix problems. These are used by global financial organisations.

    Training delivery
    Craig has developed and presented training courses on code optimization, Parallel IO, OpenMP, MPI and modern Fortran.

    Craig looks after NAG’s links with academic groups on various projects including Numerical Linear Algebra and new parallel algorithms. He has been long associated with the Numerical Linear Algebra Group ( at the University of Manchester. He regularly gives guest lectures and also acts as an MSc and PhD Supervisor. He has also attended the OpenMP Language Committee, for three years, where he helps to provide users’ perspectives for the design of new features in the language.

    Mathematical Expertise

    • Numerical Linear Algebra
    • Nearest Correlation Matrix Problems
    • Parallel Algorithms

    Computing Expertise

    • Fortran
    • OpenMP
    • MPI
    • MATLAB®


    • PhD, Mathematics (Numerical Analysis), University of Manchester. This involved designing algorithms and software to solve problems in numerical linear algebra
    • MSc, Numerical Analysis and Computing, University of Manchester
    • BSc, Mathematical Science with Computer Science, City University

    Papers & Talks

    LAPACK-style codes for pivoted Cholesky and QR updating 
    S Hammarling, N Higham, C Lucas (2007)
    Applied Parallel Computing. State of the Art in Scientific Computing, 137-146

    Computing nearest covariance and correlation matrices, MSc Thesis
    C Lucas (2001)
    University of Manchester