ARTICLES
 
COLUMNS
 
OP-EDS
 
SOURCE CODE
 
MAILING LISTS
 
DEVSEARCHER
 
TECHNETCAST
 
BOOK REVIEWS
 
COMMUNITY UNIVERSITY
 
MICROPROCESSOR RESOURCES
 
PROGRAMMER'S VAULT
 
MACINTOSH DEVELOPER
 
SOFTWARE CAREERS
 
DR. DOBB'S STORE
 
CUSTOMER SERVICE
 

Welcome to BREW 2001

HOME | ABOUT US | SUBSCRIBE TO DDJ | ADVERTISE WITH DDJ



Computing With Quantum Physics

Dr. Dobb's Special Report December 2000

Quantum computing offers great promise for very powerful systems

By David Cory and Raymond Laflamme

David is a professor of nuclear engineering at MIT and can be reached at mailto:dcory@%20mit.edu. Raymond is a physicist at Los Alamos National Laboratory and can be reached at laf@t6-serv.lanl.gov.
The Magic of Quantum Computers

All of today's computers obey the laws of classical mechanics -- the laws ruling the macroscopic world. With these rules, you can classify the difficulty of solving mathematical problems and discover that some of them are essentially intractable. These hard to solve problems can be put to use. For example, RSA encryption, used in most secure Internet transactions, relies on the fact that the code cannot be broken without great difficulty using classical computers. But can you change the rules of computing? Quantum mechanics is the theory that reigns at the microscopic level and it might allow much more efficient algorithms. Indeed, for selective problems, quantum computing has been shown to be exponentially more powerful than known classical algorithms. Over the last few years, small prototype quantum computers have even been built, and we are slowly learning how to program them.

Bits and Qubits

All information on a classical computer is translated into strings of bits. They are physically implemented by the presence or absence of charges in capacitors and can be represented by strings of 0 and 1. In today's computer, the storage of each bit of information requires roughly 1 million electrons. In a quantum computer, each bit is replaced by a qubit (quantum bit): a two-level state of a single particle that obeys the rules of quantum mechanics such as in the magnetic state of a single electron. One of the characteristic rules of quantum mechanics is that the state can exist in a superposition (see Figure 1), where the particle simultaneously exists in both computational states; that is, 0 and 1. In many respects, it then acts as though there were two copies, and a type of computational parallelism unique to quantum mechanics results.

Technetcast

As in Figure 1, a qubit can be represented by an arrow from the origin to the surface of a unit sphere. There are two angular degrees of freedom for a qubit corresponding to the longitude or superposition () and the latitude or quantum phase, (). The two extreme states (oriented along the vertical z-axis) may be compared to classical states, and the superposition states are those where the vector is positioned in between these and can be represented by the equation cos|0>+ei sin|1>.

Simultaneous Computational States

Part of the reason that a quantum computer would be so powerful is the way quantum parallelism scales with the number of qubits. There are 2n distinct computational states for n classical bits, and, as in Figure 2, all of these can be created simultaneously with only n qubits. To classically run through all 2n possible values of n bits requires a straightforward set of 2n trials; but with a quantum processor, a superposition state that simultaneously contains all 2n states can be created through only n rotations, and using only n qubits.

The magnitude of this exponential scaling is seen most easily through a comparison between the resources necessary to create all possible computational states of an n-bit classical system and an n-qubit quantum system. Figure 3 compares the ability of classical and quantum processors to manipulate information for very large systems. As the size of quantum processors increases, the size of their computational space increases exponentially. The result is that quantum computers of only a few tens of qubits cannot be simulated on even the most powerful classical computers. The horizontal axis is the number of qubits in the quantum computer, and the vertical axis is the required size for a classical computer that could contain the same amount of information. The Earth example is of course a fiction; the assumed sample is a volume of water the size of the Earth from which the two protons in each molecule are used as classical bits.

A surprising point is that for certain problems, the largest classical computers are unable to simulate the dynamics of quantum computers containing only tens of qubits. Indeed, a general simulation of a 100-qubit quantum computer will probably always remain out of reach for classical computers. The ability of a quantum system to simultaneously span an exponentially large number of states following a linear number of manipulations is one important component of the power of quantum computers.

Probability and Interference

A second characteristic of quantum mechanics is the probabilistic nature of measurement. A measurement of a qubit (described in Figure 1, for instance) would give a random answer of either up or down. The probability of each result is dependent on the angle describing the superposition (q). For our n-qubit superposition of Figure 2, the probabilistic result is one number from the classical list, each element of the list having probability 1/2n. The design of quantum algorithms not only takes advantage of quantum parallelism, but also requires making the desired information available with high probability. Thus, a critical part is to ensure that the answer will be in a classical state at the end of the computation. This is achieved through a third characteristic of quantum mechanics -- quantum interference. This permits the manipulation not only of strings of qubits, but also of the sum of strings of qubits, and, therefore, allows the simultaneous calculation of many classical problems at once. Superposition of states can contain a large amount of information, but only a small part of this information can be extracted in a single experiment. Quantum interference is used to give high probability to measure the desired information corresponding to the computational result.

Parallelism and Interference

The interplay of quantum parallelism and quantum interference for efficient computations is best seen through an example. In the accompanying text box entitled "The Magic of Quantum Computers," we describe how factoring large integers can be accomplished on a quantum computer by finding the periodicity of the function ya mod n. Although each number ya mod n is present in the superposition, they can be known only through a measurement that would destroy this superposition. The periodicity can, however, be determined by a Fourier transform without an intermediate step of observing any of these numbers. This transform generates constructive interference of the correct value of the periodicity and destructive interference for others. This also shows another puzzling feature of a quantum computer: You cannot look at intermediate computations without destroying the delicate quantum superpositions that so efficiently contain the computation.

Toffoli Gates

We can understand all classical algorithms through a set of universal gates -- fundamental building blocks generating any desired logic operation. Indeed, the NAND gate by itself is universal for classical computation. It turns out that NAND gates are irreversible: Knowledge of the output state is not sufficient to know the input. This seems to create an incompatibility with the rules of quantum mechanics, which are reversible. However, classical logic can be embedded in reversible gates. For example, Toffoli gates, which keep track of all the information (see Figure 4), can be used to implement the actions of more common logic operations. On a quantum computer, these gates act on quantum superpositions as well as classical states. Toffoli gates and rotations of single qubits are universal for quantum computation.

Challenges Ahead

Although a quantum processor is potentially exponentially more efficient at manipulating information, a quantum computer does not speed up every computation, and it has been proven not to improve algorithms of certain problems. To date, there are three general areas where a quantum computer would be significantly more powerful than a classical computer:

  • Factoring large numbers.
  • Unordered searches.
  • Efficient simulation of quantum dynamics.

Peter Shor's integer factorization algorithm is justifiably the most famous of these, both because it solves an important problem (breaking RSA encryption) and because it offers an exponential speedup. This is the algorithm that is explained in "The Magic of Quantum Computers."

Unfortunately, even though we know some of the areas where a quantum computer is more powerful than a classical computer, we still do not have one. To date, there has been a variety of small quantum processors made in research laboratories with complexities reaching 7 qubits. The challenge is that we do not yet have sufficient control over quantum systems to keep them from losing the quantum correlations and reverting back to classical systems. Initially, there was a great deal of doubt as to whether the fragility of quantum systems would permit quantum computation. Fortunately, progress in understanding how to make quantum information robust through quantum error correcting codes has given hope that we might scale up devices superseding their classical counterparts. It has even been shown that an accuracy threshold exists (approximately one error per 10,000 gates), so there is a reasonable expectation that the quantum processing of information can be made robust. Today, there are many laboratories pursuing a wide range of quantum transducers that with improved engineering, may yet become quantum computers. This is still a long road, but the first steps have been taken.

More Information

Brown, Julian. Mind, Machine and Multiverse: The Quest for the Quantum Computer, Simon & Schuster, 1999.

Bennett, Charles H. and David P. DiVincenzo. Nature, 404, 247-255, 2000.

Cory, D., et al., "NMR-based Quantum Information Processing: Achievements and Prospects." http://xxx.lanl.gov/abs/quantph0004104/.

Lloyd, S. "Quantum Mechanical Computers." Scientific American, April, 1995.

Steane, A. "Quantum Computing," Progress in Physics, 61, 117-173, 1998.

Also, for an extensive list of publications in the field, see Quantum Physics archives on the Web at http://xxx.lanl.gov/.

DDJ


Advertisement
Visit Dr. Dobb's Programmer's Resources
Copyright © 2001 Dr. Dobb's Journal
Dr. Dobb's Journal Privacy Policy
Comments: webmaster@www.ddj.com
CMP's Software Development Media Group