(Sponsored: Author Nir Minerbi, Co-Founder and CEO of Classiq) Quantum computing has been discussed since the ‘80s. Yet, only in the last few years have quantum computers transitioned from dream to reality.
Hardware development is reaching new heights. And an increasing number of enterprises are entering the quantum computing field, establishing software teams to experiment and develop novel quantum algorithms to benefit from this revolution.
There is no doubt that to deliver the true benefits of quantum computers, quantum hardware needs to scale to hundreds, thousands and even millions of coherent qubits. And if IBM, Honeywell, IonQ and other brave hardware providers deliver on their promises, in early 2022 we’ll have machines with over 100 qubits, growing to thousands of qubits in two to three years.
Are we collectively ready for such a computer? And is hardware scale-up the only thing that might delay the quantum spring? I believe the answer is: NO. Here are three reasons why:
- So far, we can run as well as simulate quantum circuits of up to 50 qubits. No one really knows what a 1000-qubit (noisy) quantum computer will be able to do. Will VQE bring a quantum advantage or be stuck in the barren plateau? Will QML bring real value or lag behind powerful classical methods? That’s part of the mystery and magic of quantum. We’ll soon find out.
- Have you ever designed a circuit for 1000 qubits? I’m sure you haven’t. Even if you tried to design it, you could not simulate or run it on real hardware today.
- Can you even design a quantum circuit for 1000 qubits? We will also tackle this question.
Today, quantum software developers face two major challenges. The number of quantum information experts that can design useful quantum circuits is very small. I would estimate that there are no more than a couple of thousands of these experts. Even these experts are struggling, finding the design of large quantum circuits almost impossible. That’s because the programming is mostly limited to explicitly connecting qubits to quantum gates or to using predefined building blocks.
The term “building blocks” is a little bit misleading because by themselves, they are not enough to create a useful quantum circuit. For instance, if you use a VQE building block, you’ll need to manually build an ansatz that is sufficiently entangled – with a level of entanglement that you can’t simulate. This is very difficult to do. As another example, if we want to build a search, we can use the Grover algorithm building block. But can we design a complex oracle to be used as part of this algorithm? Similarly, speaking of complex oracles, if you ever want to mine bitcoin, you’ll need to create an oracle implementation of the SHA256 algorithm. Good luck doing that with existing tools!
This is not to downplay the incredible progress made in the quantum software stack over the last few years. Excellent environments such as Qiskit, Cirq, Q# and others are helping with the adoption of quantum computing. But if we dive into the details, it becomes clear that we have a problem. Let’s illustrate this through a small demonstration:
This is the average circuit most people can design, the size of the largest circuit in the 2021 IBM Quantum Challenge.
This is the size of the largest circuit you’d probably find in the most sophisticated scientific papers.
And this is a 300-qubit quantum circuit. Have you ever seen such a circuit? In a year, you’ll probably want to design one.
Designing at the gate level does not scale. Just like we can’t design a chip with millions of transistors at the gate level, we won’t be able to design sophisticated quantum circuits this way. Just like VHDL and Verilog solved this problem for chip design, a high-level abstraction language for quantum circuits is the missing piece.
Such a high-level language would allow the designer to specify the desired functional behavior of the circuit, as well as constraints that are important to the designer. A constraint might be the number of qubits, the gates to be used, the depth of the circuit and much more. Changing the constraints or the desired behavior would quickly generate an alternative circuit and allow the designer to explore various tradeoffs.
This is exactly what Classiq does. By providing a high-level modeling and constraint language, we allow enterprises to build sophisticated quantum circuits they could not build otherwise. This dramatically shortens the time to build working circuits to unblock the bottleneck in the quantum development process.
The quantum revolution is on. In a few years, we’ll have large-scale quantum computers ready for use. The quantum software developers community must — and can — make sure we’re ready.