Quantum computer programmers will be left wondering how to get started as quantum computers become more common and easier to use. This guide is a comprehensive introduction to quantum algorithms and how they can be implemented on existing hardware.

Writing quantum algorithms is very different to writing traditional computing programs. It requires a deep understanding of quantum principles and their mathematics.” Andrey Y. Lovhov is a scientist at Los Alamos National Laboratory. He is also the lead author of the ACM Transactions on Quantum Computing guide. “Our guide assists quantum programmers in getting started in this field which will only grow as more quantum computers are available with more qubits.”

This book covers 20 quantum algorithms in short, standalone parts. It also includes well-known fundamental algorithms such as Grover’s Algorithm to search databases and Shor’s Algorithm to factor integers. The tutorial shows programmers how to use several quantum computers, including IBM’s public 5-qubit IBMQX4 computer, to connect with the real world. The authors explain the differences between simulators and actual hardware runs in each case.

Stephan Eidenbenz, a senior scientist in quantum computing at Los Alamos and the director of ISTI at the time that work began, stated, “This article was created as a result of a rapid response effort by the Information Science and Technology Institute Los Alamos. About 20 Lab staff members self selected to learn about and implement standard quantum algorithms on the IBM Q quantum systems.”

Eidenbenz explains that the program was designed to teach employees with little or no experience in quantum computing how to use a real-world computer to implement a quantum algorithm. This would prepare Los Alamos workers for the new era of quantum computing.

Eidenbenz stated that these staff members include students and established quantum experts. Eidenbenz also mentioned the lengthy author list for this “crowd-sourced overview article”.

Before we move on to more complicated topics like unitary transformations, gates, quantum circuits and quantum algorithms, this guide’s first section explains the basics of programming a quantum machine, including qubits and systems, superposition and entanglement.

The section on the IBM quantum computer includes information about the available gates for algorithms, actual physical gates, how qubits are connected and sources of noise or errors.

A second section examines the different types of quantum algorithms. The guide then dives into 20 algorithms. It includes a description of the problem and steps to implement each algorithm on the IBM and, in some cases, other computers.

The guide ends with extensive references that will allow interested readers to explore quantum algorithms in greater detail.

Through the Laboratory Directed Research and Development program, the Information Science and Technology Institute at Los Alamos National Laboratory funded the study.