(CLASSIQ#2) Quantum software development - past, present , and future
This is Terabe from QX Project. This is the second article in a series by CLASSIQ, an Israeli company.
In the previous article, we were introduced to the challenges of using gated quantum computers in terms of hardware, software, and human resources. In this article, we will see how the technology developed by CLASSIQ will solve these issues.
Quantum software development - past, present , and future Part2 / Nir Minerbi, CEO of CLASSIQ
In the previous post, we discussed the three areas in which we need to see improvements to realize the tectonic benefits of quantum computing: hardware, software, and people.
The pace of hardware progress is impressive: IBM, for instance, offers a high-end quantum machine with 65 qubits but expects a 433-qubit version next year and over 1000 qubits in 2023. More quantum bits allow for more sophisticated algorithms as well as error correction circuitry to dramatically reduce the error rates of quantum machines.
Given the progress in hardware, the critical chokepoint is software. Current quantum development environments primarily operate at the gate level, meaning that users must specify the exact sequence of interconnections between qubits and quantum gates. This process might be acceptable when there are no more than a few dozens of qubits but is practically impossible to scale to thousands of qubits or beyond.
What are the key requirements from next-generation quantum software platforms?
A high-level description language.
Just like VHDL allows electronic circuit designers to express the desired behavior of a circuit, quantum engineers want to provide a high-level description of what they want to achieve, and then have this description automatically synthesized into a quantum circuit.
A definition of the constraints.
Sometimes, a quantum engineer wishes to create a circuit with the least amount of qubits, or at least put a ceiling on the number of qubits that can be used. In other cases, the depth of the circuit - the number of steps in the algorithm - is important. In others, a certain accuracy is desired and in others lower accuracy is acceptable. Quantum software engineers need to be able to specify these constraints and meet them.
Before embarking on an extensive quantum project, teams want an estimate of what kind of quantum computers will be required to run them. How many qubits are required to run a particular option pricing algorithm? Is our quantum computer powerful enough to simulate a complex molecule? Estimation of quantum computing resources can be a great way to identify dead-end projects before embarking on them.
Debugging and analysis.
Quantum circuits are complex and are going to become even more so. Even the most powerful classical supercomputer today is limited to simulating no more than about 40 qubits. Software platforms need to help designers debug, analyze and modify existing circuits.
Promote code reuse.
Complex software projects are built like tall buildings: each floor rests on the one below it. By creating an environment where quantum programmers can reuse existing code instead of starting from ground level every time, more sophisticated efforts can be completed in less time.
Support hybrid classic/quantum code.
Quantum computing is great, but there are many things that classical computers do better. The ideal approach is to allow classical and quantum processors to work in tandem, and thus a development environment that can create these hybrid algorithms is desired.
Fortunately, software platforms that fulfill these requirements are coming to market.
For instance, the new platform from Classiq Technologies (www.classiq.io) provides a high-level language that allows engineers to define the desired behavior as well as the required constraints and then synthesizes a circuit that meets both requirements and constraints.
Customers are reporting that with the Classiq platform, they are able to solve real-life problems with circuits that were previously impossible - or at least highly impractical - to design
A key benefit of this approach is that it also helps the people problem - the need to integrate domain-specific experts into quantum teams. By providing high-level modeling language, experts can focus on the problem at hand instead of getting bogged down with gate-level coding.
The quantum future is very bright, and recent advancements in hardware and software are making it closer and closer to delivering significant value in solving real-world problems.