On November 16, during its online Quantum Summit, IBM announced that it had successfully completed initial development of the 127-qubit (quantum bit) Eagle quantum computer. Last year, IBM’s Hummingbird quantum computer handled 65 qubits, and, the year before that, the company’s Falcon quantum computer was handling calculations using 27 qubits. So the company has been steadily increasing the number of qubits that its quantum machines can handle, roughly doubling the number of operational qubits in its quantum machines on an annual basis. However, the Eagle quantum computer is the last member of IBM’s Quantum System One family. Designs have reached the limit of the cryogenic refrigerator used to cool the Josephson Junctions that hold the qubits, so IBM has had to work with Bluefors Cryogenics to develop a new, larger cryogenic platform for bigger machines.
If you don’t understand qubits or how quantum computers work, join the club. Nothing in the binary word of today’s digital computers prepares you to understand quantum computing, although there are some superficial similarities. For example, quantum computers store data in qubits just as digital computers store data in bits. However, a bit can store only a “1” or a “0.” Each qubit stores both a “1” and a “0” at the same time in a state of superposition. Consequently, information density is much higher for qubit storage.
Further, qubits can be entangled, a phenomenon that Albert Einstein once described as “spooky action at a distance.” Quantum entanglement, a property of the quantum world, was once the stuff of science fiction. However, it’s quite real and an important part of quantum computing.
So IBM’s announcement of the Eagle computing hardware is a big deal. An Eagle quantum computer can deal with system models in 2127 states simultaneously. That’s such a large number of states that the Eagle quantum computer cannot be simulated using common digital computers, unlike most previous generations of simpler IBM quantum computers. No more quantum simulators. We’re in a whole new world where only quantum computers can run these quantum calculations. Next year, IBM plans to make its 433-qubit Osprey quantum computer operational, and, the following year, it expects the 1121-qubit computer to be operational.
These avian-named quantum computers are not mere science projects for IBM. The company is putting these machines on the cloud and into institutions such as the University of Tokyo, the Cleveland Clinic, and South Korea’s Yonsei University, among others, for research. In all, IBM has installed 50 or so first-generation quantum computers around the world.
Building an army of quantum programmers
These quantum computing installations are a farsighted plan by IBM to nurture an army of people versed in programming quantum computers, which is currently an arcane art. Programming for quantum computing is very much at the crawling stage for now, although IBM has developed tools with high-level abstractions to make programming more familiar to computer scientists.
At their heart, quantum computers are fundamentally different from digital computers. Quantum computer scientists seem to have intentionally obscured what is actually going on. During IBM’s Quantum Summit in November, there was much talk about quantum gates and circuits. Before I dug into some Google searching, I thought the gates and circuits bore some physical resemblance to electronic gates and circuits.
If you’re a well-tutored electrical engineer, you probably think you know all about gates and circuits. You likely studied Boolean gates and circuits starting in your freshman year at college, or possibly even earlier. However, quantum gates are not gates, they’re operations. Quantum circuits are not circuits, they’re sequences of quantum operations.
Allow me to recommend that you get out your favorite headache remedy right about now.
Gates that aren’t gates. Circuits that aren’t circuits
There are only a few Boolean gates: NOT, AND, and OR gates are really all you need. However, it’s convenient to have some additional compound gates around like NAND, NOR, and exclusive OR gates, although you can certainly get by without those by building them from the simpler gates.
Like photons, there’s a mental duality to Boolean gates that most of us forget or ignore. In one sense, these gates are abstract. They simply define Boolean operations that can be performed on one or more digital inputs. Those digital inputs can be in either a “1” or “0” state, which are also the only states that can be stored in a digital bit. In another, very real, sense, most of us see a transistor-based schematic in our heads when we think of a gate. If you’re of an age, you can see the unique multi-emitter transistors of a TTL gate circuit, for example. Or you might see a CMOS gate implementation. If you’re working on the bleeding edge of Moore’s Law, you might envision FinFETs or RibbonFETs. These are physical realizations of gates. There are no such things in the quantum computing world.
Qubits are not simple zeroes and ones; they are superpositions of zeroes and ones, which are best described with vectors. Quantum gates are operations performed on qubits, vaguely like the operations that abstract Boolean gates perform on binary bits. However, the vague similarity ends there. Because qubits are best expressed as vectors, quantum gates are actually matrix computations that transform these vectors. Digital circuits don’t do this.
Depending on how the qubit is being realized, the quantum gate operation might be performed by zapping the qubits with a microwave or laser pulse. In both cases, an external energy source induces the desired operation on the stored qubit to effect some sort of change to its vector description. How this happens is part of each vendor’s secret sauce of quantum computing.
Here are a few of the many types of quantum gates:
- The Pauli X-gate (analogous to the NOT gate, but for qubits)
- Pauli Y- and Z-gates
- The Hadamard gate
- The Toffoli gate
- The Fredkin gate
- The Deutsch gate
- Swap gate and Swap gate Square Root
- NOT-gate Square Root
- Controlled-NOT gate (C-NOT)
- Other controlled gates
I’m a digital hardware guy. These names are mostly unfamiliar, except for the NOT gate. I won’t even try to explain the quantum gate functions listed above because I know I’ll get them wrong, and I’m not really trying to teach quantum programming in a short article like this one. That would be impossible, based on the short articles I’ve read that attempted the feat. All failed miserably. At least, with me.
The best I can say is that I kind of like the sound of the “Toffoli” gate. Sounds like an Italian frozen dessert. It’s actually the name of an Italian-American professor of electrical and computer engineering at Boston University. Similarly, the Hadamard gate is named for the French mathematician Jacques Hadamard, and the Fredkin gate is named for Edward Fredkin, a distinguished professor at Carnegie Mellon University.
Quantum functions are matrix computations performed on vectors, and thinking in vectors is something I’ve studiously avoided for nearly 50 years. It’s why I became a digital engineer and not a physicist. As soon as I saw Maxwell’s equations, I headed for the door marked “1 0.” (Or was that “I/O”?)
I list the quantum gate functions above to give you a mere taste of the complexity involved with quantum programming, which involves wiring these gates into circuits. But of course, these so-called gates are really abstract mathematical operations, so there are no actual gates and there are no wires in the circuits. Quantum circuits are actually a series of sequential quantum gate operations performed on one or more qubits simultaneously. Although a quantum circuit drawing looks like something you might actually wire up – it does sort of resemble an electronic schematic – it’s actually a program that’s executed step by step over time.
Quantum Circuits Resemble FPGAs
In some ways, I think that quantum circuits resemble FPGA designs from the earliest days of FPGAs. That’s way back in the 1980s, during the schematic days, before all that HDL and logic synthesis stuff. Quantum circuits can operate on multiple qubits at one time using controlled gates.
To me, these quantum circuits evoke the inherent parallelism of an FPGA design because multiple qubits can be operated upon by multiple gates simultaneously. Of course, with IBM’s record-breaking 127-qubit design, there’s not that much parallelism, yet. However, the original Xilinx XC2064 FPGA had only 64 LUTs, so the similarity really does hold. Further, each qubit can have many types of gates applied to it, one after the other, which is somewhat akin to LUT reprogrammability in FPGAs.
Of course, there are many differences between quantum circuits and FPGAs as well. Characteristics like quantum entanglement are totally foreign to the classical digital world, and development tools for quantum circuits do not resemble FPGA design tools of the past or present. Although I find it somewhat helpful to see similarities between what’s happening in a quantum circuit and an FPGA, they’re really very different beasts in so many ways. FPGAs are really 2D devices. Quantum circuits operate in many more dimensions.
IBM’s chief quantum development tool is called Qiskit, an open-source SDK for working with quantum computers at the level of pulses, circuits, and application modules. As of now, all of IBM’s quantum computers to date can be programmed with Qiskit, and the company has developed substantial courses to train people in its use, much as the company once had to train people to program digital computers back in the mid-20th century.
IBM does not envision that you will soon have a quantum computer on or under your desk, and quantum computers will likely always depend on conventional digital computers for input and output. There needs to be some sort of interface between the quantum world and the world of classical physics. Digital computers seem destined for this job. Instead, IBM sees quantum computers as essential data center accelerators, to be used for solving very difficult problems as diverse as drug discovery, computational chemistry, particle physics, fluid dynamics, machine learning, and logistics optimizations.
The cryogenics required for IBM’s approach to quantum computing means these beasts will likely be restricted to data centers. But just as computers evolved from mainframes to desktops, to laptops, to pocketable phones, no one knows what a quantum computer will look like in 50 years.
Welcome to a brave, new, quantum world.