IBM T.J. Watson Research Center
Quantum computing has the potential to revolutionize a wide array of industries, from pharmaceuticals and materials research to finance and logistics, by offering a fundamentally different way of processing information using quantum mechanical systems. The promise of quantum computing lies in its ability to store and process information in quantum bits (qubits), which are notoriously fragile (i.e., they can lose their information easily through interactions with their environment). It is also exceedingly difficult to simultaneously isolate a quantum system from noise and to control it precisely.
The idea of quantum computing first arose in the context of quantum simulation. Richard Feynman (1982) proposed that to properly simulate quantum systems, one must use a quantum computer, but quantum computing was considered impractical because of the inability to control qubits without errors.
Quantum computers are made up of individual qubits that are coupled to noisy environments (stray electromagnetic fields or material defects that can exchange energy with qubits). Unlike classical computers, they cannot rely on redundancy to prevent errors. Additionally, the state of a qubit can be a linear superposition of |0〉 and |1〉 and so any error correction must preserve the qubit’s additional phase information (Gottesman 2009).
The field of quantum computing was advanced by discoveries of quantum error correction (QEC) codes in the 1990s (Laflamme et al. 1996; Shor 1995; Steane 1996). These codes, along with others since developed, work by encoding a logical qubit (a fault-tolerant qubit that is fully error corrected) into the space of
many physical qubits (the underlying noisy physical systems). Shor’s error correction code, also called the repetition code, works by encoding a logical qubit into nine physical qubits using the following definitions of the logical states:
A bit flip can then be detected and corrected based on “majority voting,” i.e., the state |100〉+|011〉 with an error on the leftmost qubit is returned to |000〉+|111〉. Similarly, phase flips are detected based on sign changes between the groupings of three qubits.
Quantum error correction codes include stabilizer codes, whose many variants each have different requirements for numbers of qubits and error thresholds.
One typical example of a stabilizer code is the surface code (Bravyi and Kitaev 1998), a topological code defined on a 2D lattice of qubits that is currently popular for those designing hardware around a QEC code architecture. The advantage of the surface code is that it has a relatively high error threshold (the level of errors that can be corrected) and requires only nearest neighbor connectivity.
Recent experiments have demonstrated various building blocks of the surface code architecture (Corcoles et al. 2015; Kelly et al. 2015; Riste et al. 2015; Takita et al. 2016). The number of physical qubits needed to build a logical qubit depends on the type of errors and the error rates present on the physical level. In Shor’s QEC code, the logical qubit consists of nine physical qubits (one data qubit and eight ancillae) and corrects for both phase and bit flip errors on the data qubit. Errors can also occur in the ancilla qubits as well as the data qubit; encoding into a larger number of physical qubits is necessary to correct for those second-order errors.
In the surface code framework, the smallest logical qubit that corrects for both phase (Z) and bit flip (X) errors needs 17 physical qubits. A fully fault-tolerant quantum computer based on the surface code assuming realistic error rates is predicted to require millions of physical qubits.
Figure 1(a) shows a schematic for a single logical qubit in a variation called the rotated surface code. The depicted logical qubit is built out of 49 physical qubits on a 5 × 5 square grid (representing 25 data qubits on the vertices and 24 ancilla qubits on the faces) and is tolerant to up to two general errors; a larger number of qubits would be needed to correct for additional errors using the rotated surface code architecture. Errors are detected by encoding the parity of the data qubits on the four vertices of each square onto the ancilla qubits on each face using the quantum circuits from figure 1(b). An error on the data qubit will
flip the parity of the neighboring ancilla qubits, allowing the error to be triangulated through ancilla qubit measurements. A logical bit flip gate is performed by individual bit flip gates along the logical X boundaries (indicated in pink). Likewise, phase gates along the Z boundaries (in blue) accomplish a logical phase flip. During computation, the physical qubits are initialized as eigenstates of both X and Z stabilizers, operators like XXXX and ZZZZ that track bit flip parity and phase flip parity, respectively, and are maintained in these states by X and Z parity checks performed by the circuits, as shown in figure 1(b).
HYBRID QUANTUM COMPUTING
Quantum computing devices are now available through cloud services both freely to the public and as commercial offerings, including up to 20-qubit devices on superconducting qubit platforms. While these devices mark significant advances in the field of quantum computing and may be referred to as “quantum computers,” they are far from the ultimate goal of fault-tolerant uni-
versal quantum computers. They are noisy and contain small enough numbers of qubits that they can still be simulated classically (although they are quickly approaching the limits of classical simulation).
Near-term devices pose an interesting problem, however: once devices have enough qubits and can perform long enough depth circuits that they cannot be classically simulated but do not have error correction, can they do anything useful? While development of fault-tolerant quantum algorithms remains a vigorous area of active research, the availability of noisy intermediate-scale quantum devices is stimulating new efforts to find applications that do not require fault tolerance. These applications may include quantum chemistry (Kandala et al. 2017; Yung et al. 2014), optimization, and machine learning.
Recent experiments have demonstrated hybrid quantum-classical algorithms, such as variational quantum eigensolvers (VQE) (Farhi et al. 2014; McClean et al. 2016). These experiments are less sensitive to gate errors because they involve a classical optimization step. The procedure is to prepare a trial state on the quantum processor and then measure some observables (how the state is prepared and which observables are measured depend on the problem being solved); then, based on those observables, the state preparation parameters are updated on a classical computer and run again until a minimum value is achieved. For example, Kandala and colleagues (2017) use VQE to find the ground state energy of small molecules.
In chemistry experiments, a fermionic Hamiltonian is mapped to qubits (Bravyi et al. 2017; Kandala et al. 2017). The trial state is prepared by applying a sequence of alternating single qubit gates and entangling steps, where each single-qubit gate is parameterized by three phases that determine the single qubit rotation caused by the gate. Then the observables that correspond to the qubit Hamiltonian are measured and the energy for that state is calculated. The classical computer updates the phase parameters according to a minimization algorithm (simultaneous perturbation stochastic approximation for this work; Spall 1992), and the cycle repeats until a minimum energy is found. The process is depicted in figure 2.
This approach is called hybrid quantum computing or approximate quantum computing. In addition to having inherently looser requirements on error rates thanks to the optimization process, these experiments can be further improved by techniques like error mitigation (Kandala et al. 2018), which works when the errors all scale with the length of the gates applied during the experiment. One can run the original experiment once and then repeat with all operations slowed down. The repeated experiment will have larger errors, but the two sets of data can be used to extrapolate to the zero-noise limit via Richardson (1911) extrapolation.
The outlook for quantum computing involves pursuing both long- and near-term goals. Fault-tolerant universal quantum computing will require improving physical qubits to meet error correction thresholds, building devices with logical
qubits, and developing new codes with less stringent requirements on numbers of physical qubits or error rates. In the meantime, there is hope that hybrid quantum-classical approaches, such as the chemistry experiment described above, will demonstrate a quantum advantage long before fault-tolerant devices are available.
Bravyi SB, Kitaev AY. 1998. Quantum codes on a lattice with boundary. arXiv:quant-ph/9811052v1.
Bravyi S, Gambetta JM, Mezzacapo A, Temme K. 2017. Tapering off qubits to simulate fermionic Hamiltonians. arXiv:1701.08213.
Corcoles AD, Magesan E, Srinivasan SJ, Cross AW, Steffen M, Gambetta JM, Chow JM. 2015. Demonstration of a quantum error detection code using a square lattice of four superconducting qubits. Nature Communications 6:6979.
Farhi E, Goldstone J, Gutmann S. 2014. A quantum approximate optimization algorithm. arXiv:1411.4028.
Feynman RP. 1982. Simulating physics with computers. International Journal of Theoretical Physics 21(6-7):467–488.
Gambetta JM, Chow JM, Steffen M. 2017. Building logical qubits in a superconducting quantum computing system. npj Quantum Information 3:2. arXiv:1510.04375v1.
Gottesman D. 2009. An introduction to quantum error correction and fault-tolerant quantum computation. arXiv:0904.2557.
Kandala A, Mezzacapo A, Temme K, Maika T, Brink M, Chow JM, Gambetta JM. 2017. Hardware-efficient variational quantum eigensolver for small molecules and quantum magnets. Nature 549:242–246.
Kandala A, Temme K, Corcoles AD, Mezzacapo A, Chow JM, Gambetta JM. 2018. Extending the computational reach of a noisy superconducting quantum processor. arXiv:1805.04492.
Kelly J, Barends R, Fowler AG, Megrant A, Jeffrey E, White TC, Sank D, Mutus JY, Campbell B, Chen Y, and 12 others. 2015. State preservation by repetitive error detection in a superconducting quantum circuit. Nature 519:66–69.
Laflamme R, Miquel C, Paz JP, Zurek WH. 1996. Perfect quantum error correcting code. Physical Review Letters 77:198–201.
McClean J, Romero J, Babbush R, Aspuru-Guzik A. 2016. The theory of variational hybrid quantum-classical algorithms. New Journal of Physics 18:023023.
Richardson LF. 1911. The approximate arithmetical solution by finite differences of physical problems including differential equations, with an application to the stresses in a masonry dam. Philosophical Transactions of the Royal Society A 210:307–357.
Riste D, Poletto S, Huang M-Z, Bruno A, Vesterinen V, Saira O-P, DiCarlo L. 2015. Detecting bit-flip errors in a logical qubit using stabilizer measurements. Nature Communications 6:6983.
Shor PW. 1995. Scheme for reducing decoherence in quantum computer memory. Physical Review A 52(4):R2493–R2496.
Spall JC. 1992. Multivariate stochastic approximation using a simultaneous perturbation gradient approximation. IEEE Transactions on Automatic Control 37(3):332–341.
Steane A. 1996. Multiple-particle interference and quantum error correction. Proceedings of the Royal Society of London 452(1954):2551–2577.
Takita M, Corcoles AD, Magesan E, Abdo B, Brink M, Cross AW, Chow JM, Gambetta JM. 2016. Demonstration of weight-four parity measurements in the surface code architecture. Physical Review Letters 117:210505.
Yung M-H, Casanova J, Mezzacapo A, McClean J, Lamata L, Aspuru-Guzik A, Solano E. 2014. From transistor to trapped-ion computers for quantum chemistry. Nature Scientific Reports 4:3589.