Methods in Computational Science


Johan Hoffman
SIAM 2021, 396 PAGES
PRICE (PAPERBACK) £89.00 ISBN 978-1-61197-671-7

A wide and comprehensive journey awaits in Methods in Computational Science. Professor Johan Hoffman of KTH Royal Institute of Technology, Stockholm, deftly outlines modern techniques in analytical maths for the data sciences. Working systematically, Hoffman builds a complete picture of today’s computational science landscape. He brings together traditional techniques with modern implementation and algorithmic approaches. The book indeed covers many areas. The reader will receive primers on methods in matrix manipulation, data structures, methods for solving systems of equations, parallel computing, computational expense, machine learning and much more.

This is a weighty and widely researched book. The level of the text favours advanced undergraduates and postgraduates in the mathematical sciences. There is certainly content that will be difficult to follow for some lay readers. On point throughout, Hoffman will demand your best mathematical game. The book covers advanced concepts in a good level of detail.

The beginning of the book covers matrices, vector forms and basic set theory through vector spaces. This, if a little daunting, is necessary to form the groundwork for later chapters. Accepted theorems and proofs are further expanded. Here the reader will need to develop high school level matrix maths to the level of advanced undergraduate/post graduate level demanded in the book. This could be a tricky task, though Hoffman sets out objectives and learning outcomes well. The purpose here is to make the reader familiar working with vector space of two and three dimensions, with extensions of ideas indicated for higher dimensions if needed. A good level of detail is given to showing typical applications such as translation of vectors using matrices and moving coordinate bases through differing numbers of dimensions.

As the book progresses, more practical applications of computational mathematics are shown, with work on algorithms for high performance computing, matrix factorisation, decomposition and eigenvalues. Later sections of the book become more mathematical again. Advanced calculus, optimisation and machine learning are covered.

While the mathematics is a little dense in places, each chapter is well set out. Chapters are not excessive in length, cover a good level of content and are well paced. The writer provides a clear mission statement for every section, building up mathematical cases. Practical examples are shown with nice figures and clear illustrations that make the concepts a lot clearer. At each step of a developed argument, Hoffman carefully explains the mathematical techniques that are used. Where applicable, Python code – a favourite programming language of data scientists, is provided to show how algorithms may be implemented in the computing space.

To aid the reader every chapter includes two forms of summary. These are in a written form describing the ground covered. There are Notes, with key results as well as further Summary sections, with bullet‐pointed key findings and relevant formulae. The notes area provides further reading and background to the topics covered. These features are a great resource for those using the book as an aid to wider academic research. Students may also undertake Exercises. These are based on each chapter’s content, though it should be noted that answers are not provided.

The book is comprehensive. While the reviewer did not grasp every essence of the formulaic side of things, the general direction of travel could be followed with some attention and background work on the concepts being discussed. I can see the book being a great resource for any applicable course in this area with lots of examples for tutors to develop with students.

At 396 pages, there is a lot of ground covered. Professor Hoffman offers excellent referencing, with further ideas for exploration and reading. Illustrations are well made, both visually and in descriptive text. These provide an extra level of support where some of the mathematical level may be daunting. An excellent Bibliography and Index is also provided.

For those working in the growing areas of computing or data analytic fields, this book will make a fantastic reference and starting point. Importantly the book covers several essential topics in the modern context of distributed computing, artificial intelligence and machine learning. These are becoming especially relevant fields.

At an RRP of £89.00, this book is aimed at an academic market – not general readership – however there is a great level of well organised content for the price point. In summary, a very interesting book that will assist many engaged in this academic sector.

Kenny Green AMIMA

Book review published directly onto IMA website

Published