Plug - in quantum software


In principle, quantum computers could solve problems that conventional digital computers could never solve. In practice, quantum hardware is in its infancy, and has far to go before quantum computers can realize their promise. Perhaps someday, as suggested on page 390 of this issue by Daniel Gottesman of Microsoft Research and Isaac Chuang of the IBM Almaden Research Center, the capabilities of quantum computers will be significantly extended by ‘quantum software’ that can be prepared offline and shipped to users over the ‘quantum Internet’. Whereas conventional computers process information encoded in bits, a quantum computer processes information encoded in quantum states, such as the internal electronic states of individual atoms, or the spin states of atomic nuclei. Existing quantum computers contain just a few atoms, and can perform only very simple computations. But because the inherent complexity of a quantum state rises very steeply as the number of atoms increases, a quantum computer acting on thousands of atoms could have staggering power. For example, today’s digital supercomputers would take billions of years to find the prime factors of a number that is hundreds of digits long, whereas a quantum computer of the future might perform that task in seconds. Constructing large-scale quantum computers will be a formidable technological challenge, so it is not yet possible to predict when this revolutionary technology might become reality. A quantum software program is a particular quantum state that enables a quantum computer to perform a specific task. If that quantum state is difficult or inconvenient to prepare, the user of a quantum computer might prefer to acquire the state from a vendor, rather than prepare it herself. The user’s hardware then acts on the quantum state according to a standard protocol, but the outcome varies depending on the version of the software. Unfortunately for the user (but to the delight of the vendor) quantum software would be a consumable product, unavoidably damaged after a single use (Fig. 1). Thus we can foresee the flourishing of a quantum software industry. A manufacturer can design a valuable quantum state, and use a special-purpose device to churn out multiple copies of the state; these can be tested to assure quality and stored until needed. Consumers can download the state for a fee and plug it into their own quantum computers to achieve improved performance. One important application for quantum software will be to ensure that quantum computers function reliably. A quantum computer is equipped to execute a standard set of unitary transformations, called its quantum gates. By executing many gates in succession, a computer applies a complex unitary transformation to an input quantum state, yielding an output state that is ultimately measured. The set of standard gates may be finite, but a well-chosen gate set is universal, enabling the computer to simulate any specified unitary transformation to any desired accuracy. Because complex quantum states are extraordinarily fragile, the quantum-computing hardware that implements the gates needs to meet very demanding specifications. But even with superb hardware, a computer could achieve acceptable reliability only by applying the recently discovered principles of quantum-error correction: if quantum information is cleverly encoded, it can be protected both from the destructive effects of uncontrolled interactions with the environment, and from the cumulative effect of the inevitable small imperfections in the hardware. Furthermore, for a given coding scheme, particular quantum gates that are well matched to the structure of the code can be executed fault tolerantly — that is, even though the hardware that implements the gate is imperfect, the action on the encoded quantum information is highly accurate. Fault-tolerant gates that form a universal set allow a quantum computation to be executed with good reliability. For each of the known quantum-error correction schemes, some of the gates in the fault-tolerant universal set are easy to perform, whereas others are hard. These ‘hard’ gates would be most conveniently executed with quantum software that can be prepared ahead of time and then consumed during the operation of the gate. Realizing the gate with software rather than hardware is preferable because we could verify before use that the software has been prepared according to specifications, and we can discard or repair it if it is found to be faulty. In contrast, if our hardware fails badly during the execution of a quantum gate, it might be difficult to recover from the damage. The idea of preparing special states offline to allow fault-tolerant quantum computation is not new. But Gottesman and Chuang now propose a novel and more systematic approach to the preparation, use and classification of these states. Their central idea is that applying a quantum software routine can be viewed as a generalized form of

2 Figures and Tables

Cite this paper

@inproceedings{Preskill1999PlugI, title={Plug - in quantum software}, author={John Preskill}, year={1999} }