The July 2022 issue of IEEE Spectrum is here!

Close bar

How to Build a Fault-Tolerant Quantum Computer

New study flags some clever tricks but still only hits 16-qubit size

3 min read
Connected silver hexagons, with two shapes of 7 collected hexagons in red, blue and green, connected by seven beams of white.

This artist’s impression shows the conceptual framework behind an error-correction method whereby quantum bits (qubits) are shielded from faults through their gate operations.

Johannes Knünz

Quantum computers theoretically can solve problems no regular computer ever could within the lifetime of the universe. However, there’s a lot of engineering and tech needed to turn that “theoretically” into a working quantum device that actually begins to deliver on that promise. For starters, quantum computers have to be able to overcome their own fragility to errors. But now, in a new study, researchers have successfully developed a technique for performing any possible quantum computation in what’s called a “fault-tolerant” manner.

Whereas classical computers switch transistors either on or off to symbolize data as ones or zeroes, quantum computers use quantum bits, or “qubits,” which, because of the fuzzy nature of quantum physics, can exist in a state of superposition where they are both 1 and 0 at the same time. This essentially lets each qubit perform multiple calculations at once.

In theory, qubits can get connected together into universal quantum computers that can perform any potential quantum computation. The more qubits that are quantum-mechanically linked, or entangled, the more calculations they can perform at the same time.

According to researchers publishing in the 25 May issue of the journal Nature, present-day, state-of-the-art quantum computers typically suffer roughly one error every 1,000 operations. However, many practical applications demand error rates lower by a billionfold or more.

Scientists often hope to compensate for these high error rates by spreading quantum information across many redundant qubits. This would help quantum computers detect and correct errors, so that a cluster of a thousand or so “physical qubits,” the kinds that researchers have developed to date, can make up one useful “logical qubit.” Importantly, a “logical qubit” is something of an abstraction, not consisting of a single trapped atom or photon or whatever the medium of quantum computation—but as an entity that is able to perform actual computations and is stretched across multiple physical qubits.

However, building a fault-tolerant quantum computer will require more than scaling up to many thousands of physical qubits. Quantum computers will also need a variety of auxiliary qubits as well.

When two logical qubits are connected in a quantum logic gate—the quantum computing version of the logic gates that conventional computers use to perform computations—scientists want to make sure that each physical qubit in a logical qubit interacts with only one physical qubit in the other logical qubit. This limits the disruption that could happen if a physical qubit experienced an error. Doing so requires auxiliary qubits to monitor these potential errors, increasing the complexity of these systems.

Now, scientists have for the first time developed a quantum computer that can perform universal operations in a fault-tolerant manner. In the new study, the researchers experimented with a quantum computer featuring 16 physical qubits, each consisting of an electrically trapped calcium ion. The quantum information was stored in two logical qubits, each spread over seven physical qubits.

These logical qubits were connected by what’s called a transversal logical CNOT gate, which linked each physical qubit in one logical qubit with its counterpart physical qubit in the other logical qubit. The researchers also used two auxiliary qubits in a “T gate,” which helped monitor for errors.

The kind of auxiliary qubits the researchers employed are called “flag qubits.” These qubits focus on detecting events where minor errors can grow to major uncorrectable errors. In theory, flag qubits should reduce the number of auxiliary qubits needed in fault-tolerant quantum computers, says study lead author Lukas Postler, a quantum physicist at the University of Innsbruck, in Austria.

“I think the most exciting aspect of this work is that we see an improvement in the quality of fault-tolerant logical operations compared to their non-fault-tolerant counterparts, despite the higher complexity of the circuits,” Postler says. Such findings may help pave the way for fault-tolerant universal quantum computers, the researchers note.

The Conversation (0)

The First Million-Transistor Chip: the Engineers’ Story

Intel’s i860 RISC chip was a graphics powerhouse

21 min read
Twenty people crowd into a cubicle, the man in the center seated holding a silicon wafer full of chips

Intel's million-transistor chip development team

In San Francisco on Feb. 27, 1989, Intel Corp., Santa Clara, Calif., startled the world of high technology by presenting the first ever 1-million-transistor microprocessor, which was also the company’s first such chip to use a reduced instruction set.

The number of transistors alone marks a huge leap upward: Intel’s previous microprocessor, the 80386, has only 275,000 of them. But this long-deferred move into the booming market in reduced-instruction-set computing (RISC) was more of a shock, in part because it broke with Intel’s tradition of compatibility with earlier processors—and not least because after three well-guarded years in development the chip came as a complete surprise. Now designated the i860, it entered development in 1986 about the same time as the 80486, the yet-to-be-introduced successor to Intel’s highly regarded 80286 and 80386. The two chips have about the same area and use the same 1-micrometer CMOS technology then under development at the company’s systems production and manufacturing plant in Hillsboro, Ore. But with the i860, then code-named the N10, the company planned a revolution.

Keep Reading ↓Show less
{"imageShortcodeIds":[]}