Craig Lucas

Senior Technical Consultant - Numerical Algorithms Group

Overview of Experience

Craig has over 10 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
  • Matrix Functions

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. He has also been a visiting lecturer at the University of Southampton where he taught OpenMP on an MSc course.

Craig looks after NAG’s links with academic groups on various projects including Matrix Functions and new parallel algorithms. He regularly gives guest lectures and also acts as a 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

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

Computing Expertise

• Fortran
• OpenMP


  • PhD, Mathematics (Numerical Analysis), University of Manchester '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

Honours & Awards

  • BSc First Class Hons

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