There is a lot of interest and excitement in the field of quantum computing, with major players such as IBM, Google, Amazon and Microsoft investing heavily in research relating to the creation of quantum devices capable of fault-tolerant universal operation. Start-up companies are being created every day and IonQ, an early start-up appears to be the first new quantum company to float, with a valuation in the region of one or two billion dollars.Footnote 1 Quantum computing promises to unlock some problems that are believed to be intractable on current digital devices. The most well-known is Shor's algorithm which promises polynomial time integer factorization, although there are many problems in simulation, material science and chemistry that will also benefit from such devices. For instance, relatively small quantum computers could be used to help solve the open problem of biological nitrogen fixing, which will have an enormous impact on fertilizer production.Footnote 2 While currently the state of the art is devices that have dozens of quantum bits (qubits), such devices are noisy. In theory it is possible to error correct such devices (this is one of the factors distinguishing quantum devices from, say, analogue computers) but such 'fault-tolerant' devices are still a work-in-progress. In the interim there is a lot of focus on what can be done with current noisy intermediate scale devices (NISQFootnote 3). Aside from a few well-known algorithms there currently appears to be a dearth of quantum algorithms that provide an advantage over digital computing. Such algorithms may, in fact, be different manifestations of the same underlying technique.Footnote 4 The creation of quantum algorithms appears to be very difficult (possibly because of the absence of relevant tools). If useful work is to be done using current noisy devices, noise tolerant algorithms need to be found. This in turn will require better ways of simulating quantum devices and novel approaches to designing circuits, mapping them to qubits and reducing the gate count of these circuits. Problems like this, such as the synthesis of optimal circuits are hard problems, and it is this subject area that Zulehner and Wille address.

The first part of the book serves as an introduction to quantum computing and design automation methods. Zulehner and Wille introduce the minimum concepts required to grasp how quantum computing works, as a functional approach i.e., without getting embroiled in any details of the hardware or why it works. As is typical throughout the book, the detail is explained by simple examples which helps avoid misunderstanding. While the English could be improved with a bit of copy editing, it does not get in the way of concepts being explained. Although brief, any reader with an understanding of matrix multiplication should be able to follow this circuit model of quantum computing, and it serves as a refresher for those with a passing familiarity with the field. No attempt is made, for instance, to explain why certain quantum algorithms work, such expositions being outside the scope of the introduction. Readers searching for this knowledge would be better advised to read books such as the text by Nielsen and Chuang.Footnote 5

The next three parts form the body of the book. Part II deals with the simulation of quantum circuits. It explains current approaches and discusses an alternative approach using Decision Diagrams that, in most relevant circumstances, offers advantages in terms of space and time compared to other commonly used methods of simulating quantum devices. Zulehner and Wille discuss the software package “JKQ DDSIM”Footnote 6 that implements their decision diagram methodology and analyse the limitations of such simulations, for instance the trade-off between accuracy and compactness of representation. Part III looks at the design of elements of quantum circuits. Quantum computing requires all elements of the circuit to be reversible. While it is simple enough to embed non-reversible components in larger reversible circuits, designing such larger circuits to be as compact as possible is a hard problem, but one which has to be attempted where, as is currently the case, qubits are a scarce resource. The book shows how Decision Diagrams can be used to approach this problem, introduces new one-pass methodologies and outlines the open problems. The final substantive part looks at the currently relevant problem of mapping quantum circuits to current NISQ devices. While an abstract quantum circuit assumes that all qubits are equally good, and that any qubit might interact with any other qubit, for a large class of current quantum devices neither of these assumptions is true. Being able to map a circuit so that most of the gates run on higher fidelity qubits and to minimise the number of ‘long distance’ gates required might be the difference between an algorithm succeeding or failing (at least until we achieve fault-tolerance). This part introduces the problems, concepts and current state-of-art relating to this area and proposes and evaluates some heuristic approaches. This is an active research area and, once again, open problems are discussed.

Although “Introducing Design Automation for Quantum Computing” serves as a vehicle for introducing Zulehner and Wille’s work, the areas of concern and the proposed approaches are all well explained and illustrated. While machine learning in general is a hot topic among physics researchers working in this area, the limitations on current simulators and the difficulties of providing good mappings of circuits to currently noisy devices limits the types of activity for which it can be used. For readers interested in methodologies of quantum simulation or current proposals for using today's noisy quantum devices, then “Introducing Design Automation for Quantum Computing” provides a sound vehicle for learning the open problems and existing solutions.