Scientists have developed a number of quantum computing systems that use ions or electrons as bits of data; mathematical "operations" can be performed on them with beams of light or electrical pulses. Until recently, however, these systems could only perform the specific tasks they were designed to do. But a group of NIST scientists have published a description of a quantum processor that can receive virtually any set of instructions and perform them on a set of inputs—in short, they've made the first programmable quantum processor.

In order to do general calculations, a computer must be able to perform an arbitrary number of unitary transformations, operations that change the state while preserving the structure of the system. Unlike a regular computer, a quantum computer stores information in "qubits," or quantum bits. A regular bit may hold only one piece of data (0 or 1), but a qubit can hold a superposition of 0 and 1; it only adopts a definite value when measured.

That's just one of a number of important differences between quantum and regular computers. Standard computers use logic gates, such as Boolean operators (and, or, not, and so on). Quantum computers use quantum gates, which are always reversible operators, unlike many logic gates.

Finally, qubits can undergo entanglement. "Entanglement" in quantum mechanics means the properties of the qubits can be dependent on each other, even if they are physically separated. For example, in a system where two qubits may only be 0 at the same time or 1 at the same time, measuring one of them as 0 will ensure that the other is 0 as well.

In the case of quantum information science, developing a system that can perform any arbitrary transformation on qubits is actually just as hard as it sounds. To get there, the NIST scientists created a system that has two quantum gates, one that deals with a single qubit at a time, and another entangled two-qubit gate. The physical incarnation of the system used two beryllium ions trapped in a finite region, with the gate operations, or transformations on the states of the ions, performed by stimulating them with ultraviolet lasers.

The experiment used the ions to represent 15 classical inputs using all the possible combinations of 0 and 1 that can be stored in two qubits. Using these starting states, they performed 160 randomly chosen operations. These were analyzed using 100 experimental sequences with nine different analysis settings, for a total of 900 trials for each of the 160 transformations. Each trial run on the qubits took about 37 milliseconds.

Once the sequence of transformations was performed, the scientist compared the output of the operations to the ideal result and found that their operations produced an accurate result about 79 percent of the time. So, the system is by no means perfectly reliable, but the results are enough to demonstrate that the processor is capable of applying all possible combinations of unitary operations to the two qubits.

While previous quantum computing systems could perform certain operations using two-qubit quantum gates, these systems were only suited to performing a limited number of operations; to do anything beyond those, an entirely new system had to be designed. This experiment shows that the combination of a single-qubit and two-qubit gate can simulate all possible unitary operations. This means that we can create a universally programmable quantum computer that can do whatever its users want.

The authors of the article assert that larger-scale problems that deal with more pieces of data will need more qubits, and therefore more gates to represent all of the potential operations. They also concede that the reliability of the calculations will need to improve significantly for such a system to enter regular use.

Nature Physics, DOI: 10.1038/nphys1453