The concept of quantum computing has been around since the early 1980s when physicist Paul Benioff proposed a quantum mechanical model of the Turing machine. Benioff’s ideas were built upon by Richard Feynman, Yuri Manin, and others, who suggested that a quantum computer had the potential to simulate things that can’t be done using classical computing. In the 1990’s researchers began developing algorithms for quantum computing such as Peter Shor’s quantum algorithm for factoring integers with the potential to decrypt RSA-encrypted communications, Lov K. Grover’s quantum search algorithm, and more recently, quantum machine learning algorithms. These and other quantum computing algorithms will be discussed more in a later FAQ on “Applications and algorithms for quantum computing.”
Quantum computing continues to become more and more sophisticated with a variety of relatively small-scale quantum computers being demonstrated today. However, the majority of researchers believe that a commercially practical large-scale quantum computer is still relatively far in the future.
Just as quantum mechanics is a more general model of classical physics, quantum computing has the potential to be a disruptive, not an incremental, technology. It’s the potential for quantum disruption of computing that makes this technology compelling and provides motivation and commercial interest.
Quantum computing involves quantum phenomena such as quantum bits (qubits), superposition, entanglement, and decoherence (which is to be avoided). A “bit” in classical computing represents information as a series of discrete 0s and 1s. Bits are very different from qubits which can simultaneously exist in two states. A qubit is a two-level quantum system where the two basic qubit states are usually written as |0⟩ and |1⟩. |0⟩ is the Dirac notation for the quantum state that will always give the result 0 when converted to classical logic by a measurement, and |1⟩ is the state that will always convert to 1. A qubit can be in state |0⟩ or |1⟩, or (unlike a classical bit) in a linear combination of both states.
Physical systems such as the spin of an electron or the orientation of a photon are used to make qubits. These systems can be in many different arrangements all at once, a property known as quantum superposition. Qubits can also be inextricably linked together using a phenomenon called quantum entanglement. The result is that a series of qubits can represent different things simultaneously.
Eight classical bits can be used to represent any single number between 0 and 255. Eight qubits can simultaneously represent every number between 0 and 255. This is the source of the performance advantages of quantum computers compared with classical computers. Where there are a large number of possible combinations, classical computers consider them one-by-one while quantum computers can consider they all at the same time. Unfortunately, qubits are extremely delicate and need to be protected from all external interference in order to maintain their quantum properties of superposition and entanglement.
Superposition and entanglement
Quantum superposition and entanglement are fundamental concepts for quantum mechanics and computing. Superposition states that, similar to waves in classical physics, any two (or more) quantum states can be superposed, or added together, and the result will be valid quantum state. As a result, every quantum state can be represented as a sum of two or more other quantum states. Superposition is a property of the solutions to the Schrödinger equation. And, since the Schrödinger equation is linear, any linear combination of solutions will also be a solution.
In quantum computing, the state of a qubit is a quantum superposition of |0⟩ and |1⟩. This means that the probability of measuring 0 or 1 for a qubit is not 0.0 or 1.0, and multiple measurements made on qubits in identical states will not always give the same result.
The inherent parallelism of quantum computers is a direct result of the superposition of qubits. It enables a quantum computer to perform multiple computations at once, where a classical computer performs them one at a time. Theoretically, a 30-qubit quantum computer could equal the processing power of a conventional computer capable of running at 10 teraflops. But, it’s not that simple.
Quantum entanglement is another factor in quantum computing. Evaluation or measurement of the state of qubits is fraught with problems. Measuring a qubit in superposition to determine its value will cause it to assume a value of either 1 or 0, but not some combination of both. That effectively nullifies the operation of the quantum computer. Indirect measurements are needed to maintain the integrity of a quantum computer. Entanglement provides a possible answer.
In quantum physics, two qubits can become entangled, and the second qubit can take on properties related to the first qubit. If left alone, a qubit will assume multiple quantum states as a result of superposition. If a qubit is disturbed it assumes one value; and at the same time, the second entangled atom will assume the opposite value. This allows engineers to know the value of the qubits without actually looking at them.
In addition, entanglement can be viewed as a computational power multiplier. As more and more qubits become entangled, the computing capabilities of the system grows exponentially. Unfortunately, entanglement is also a weakness. Even minute sources of interference will break the entanglement between two or more qubits. Qubits must only interact and entangle with each other. At the instant they have contact outside forces, they stop working.
Roadblocks: interference and decoherence
Quantum interference is a byproduct of quantum superposition. Interference can be used to bias the measurement of a qubit toward a desired state or group of states. Under quantum interference, not only can an elementary particle be in more than one place at a time (superposition), but an individual particle, such as a photon of light, can cross its own path and interfere with its own trajectory.
Quantum interference can be easily disrupted. This disruption is called quantum decoherence and is a major source of errors when working with quantum computers. Any interaction of qubits with the outside environment in ways that cause disruption to their quantum behavior will result in decoherence.
Qubits are as fragile as they are powerful. The slightest vibration or change in temperature (called noise) will cause them to fall out of superposition and return to a classical physics state, causing the quantum computer to stop functioning.
Vacuum chambers and supercooled environments are used to protect qubits from noise. Unfortunately, qubits are very sensitive, and noise still creeps in causing a large number or errors in quantum calculations. Improved quantum algorithms can help, and adding more qubits for error correction also helps. The bottom line is that is can take thousands of standard qubits to create a single highly-reliable unit called a “logical qubit.” That can offset much of the quantum computer’s computational capacity and advantage compared with classical computers.
One of the concepts used in quantum computing is the Hamiltonian of a quantum system. The Schrödinger equation, which quantifies how the wave function of the system changes given the energy environment that it experiences, governs the evolution of a quantum system. This energy environment is defined by the so-called Hamiltonian of the system, which is a mathematical description of the energies resulting from all forces felt by all elements of the system.
In addition to this difference in architecture (which will be the subject of the next FAQ on “Quantum computing system architectures and algorithms”), since quantum computers operate on different types of values than classical computers, they cannot use the same logical gate abstractions that were developed to manipulate classical bits. New abstractions for computations using qubits are required, providing a way to implement specified changes in quantum states. As with all quantum systems, the state of a qubit can be changed by changing its energy environment, which is the physical manifestation of its Hamiltonian.
How to quantum compute
Quantum computers complete calculations using the probability of a qubit’s state before it’s measured. In quantum computing, operations use the quantum state of qubits. These states are the undefined properties before they’ve been detected, such as the spin of an electron or the polarization of a photon. Instead of having a single definition, unmeasured quantum states occur in superposition. In a quantum computer, these superpositions are entangled with the states of other objects, meaning that their final outcomes are mathematically related, even if they are initially uncertain.
Being able to program a quantum computer is important. There are several tools available. One example is Qiskit, an open-source SDK for working with quantum computers at the level of pulses, circuits, and algorithms that uses Python. For seasoned developers interested in exploring potential applications of quantum computing, the Qiskit element Aqua (algorithms for quantum computing applications) offers a library of algorithms for artificial intelligence, chemistry, finance and optimization.
Even though the concept for quantum computing originated in the early 1980s, this is still a vary nascent field. Quantum computing continues to become more and more sophisticated with a variety of relatively small-scale quantum computers being demonstrated today. However, quantum computers are fragile systems and there are still substantial challenges to be overcome before the goal of “quantum supremacy” is achieved enabling the demonstration of a programmable quantum computer that can solve a problem that no classical computer can solve in any feasible amount of time.
Quantum Computing – Progress and Prospects, The National Academies of Sciences, Engineering, Medicine
Richard Feynman, On quantum physics and computer simulation, courtesy of Los Alamos National Laboratory
What are quantum technologies?, Sirteq