JERRY M. CHOW HTTPS://ORCID.ORG/0000-0003-1471-1869Authors Info & Affiliations
SCIENCE
20 Feb 2025
Vol 387, Issue 6736
Quantum computing is maturing at a rapid pace, and it is quite plausible that quantum computers capable of solving problems of value to businesses will be available this decade. At the same time, quantum computing likely will not supplant classical computing in the foreseeable future—after all, quantum computing architectures are best equipped to solve certain problems, but not every problem. Quantum computers almost certainly will work in concert with classical processing, where each computing architecture will handle those parts of a calculation that it is best suited to tackle. For that to happen, the quantum computing hardware will require software that combines quantum with classical computing. It also must be devised in a user-friendly way so that nonquantum scientists and software developers working on problems such as modeling molecules with unprecedented accuracy and calculating interesting properties of structured datasets can run quantum computational tasks without having in-depth knowledge of quantum computing.
Briefly, quantum computers solve problems coded in the form of qubits (short for quantum bits; these are units of information). This information is processed by complex hardware consisting of trapped atoms, artificial atoms engineered from superconducting wire—wire that can carry current without resistance—or other physical systems that can be put into quantum states. A qubit chip can look much like a classical computing chip but is capable of different kinds of mathematical operations beyond the binary code and logic operations of classical computing. By incorporating properties of quantum mechanics such as superposition (a set of qubits can be in multiple states at the same time until they are measured), interference (some of those states can cancel out), and entanglement (the ability to create correlations between qubits inaccessible to classical computers), quantum information can be processed in ways that are fundamentally different from how we compute with classical bits, in which the basic units of information exist in one of two distinct states, 1 and 0. This could accelerate the development of computer systems that can exactly predict the behavior of real-world natural systems such as chemical reactions, or perform algebra using a computer with exponentially more computational space than a classical computer (like optimizing energy grids).
The core unit of a quantum computation is the quantum circuit, which refers not to a physical circuit and electronic parts but rather to a computational routine that runs on a quantum processing unit instead of a central processing unit (the core computational unit of a classical computer). A quantum circuit begins when we encode information in qubits, then apply a sequence of operations—the quantum equivalent of a classical computer’s “IF,” “AND,” and “OR— to those qubits. It ends when we “measure” the qubits, receiving the output of the calculation. Measuring a qubit projects it onto classical states (known as “collapsing the wave function”), meaning that quantum circuits can only output a single string of binary code as a result of the execution. A quantum circuit may also include concurrent classical computing. For example, individual qubits might be measured in the midst of a computational procedure with the result stored as classical bits, and then fed back into the same circuit later. Unlike a classical routine, quantum circuits are innately probabilistic—different runs of the same circuit may lead to different output strings of binary digits, based on the probabilities determined at the time of measurement. For example, an algorithm that estimates the energy of a molecule with a quantum computer may result in a distribution of possible energies, which can be averaged into an expectation value.
The complexity of a quantum circuit is determined as a function of the number of qubits (width) and importantly, the number of quantum instructions that the circuit can run before the qubits can no longer accurately store quantum information (depth). In practice, depth is limited by properties such as noise from external sources (a phenomenon known as decoherence), or the process in which qubits “forget” their quantum information. Depth and width are critical for determining the potential types of problems that might be addressed by quantum computers, though these parameters are also moving targets as hardware improves.
On another front, quantum computing researchers are searching for techniques that allow quantum computers to correct errors in real time, called error correction, while working to build hardware less prone to noise and thus capable of running more complex quantum routines. At the same time, thanks to hardware advances and new postprocessing techniques called error mitigation, quantum computers can now use quantum circuits to run calculations that cannot be exactly simulated using more computationally expensive brute-force classical methods for certain types of problems in chemistry. Known as utility-scale problems, these typically require quantum circuits with 100+ qubits and 1000+ quantum gates. Although today’s quantum computers are not mature enough to run certain important quantum tasks such as the famous Shor’s algorithm used to factor numbers, they still have the potential to provide more timely value for research problems with the help of error mitigation. Several such methods are already promising, especially in the field of chemistry, in which techniques such as sample-based quantum diagonalizationmay be used to calculate the properties of molecules. Other algorithms for chemistry, data analysis, and optimization look encouraging for the near future.
These methods necessitate high-performance quantum software. Utility-scale quantum algorithms do not use just one quantum circuit—they typically require running a quantum circuit many times to sufficiently sample from a distribution of possible solutions. Furthermore, most programs incorporating quantum computation require a combination of both quantum and classical processing. Therefore, partitioning problems between quantum and classical processing hardware requires frequent data exchange. This strategy breaks down if the software is too slow. Therefore, software cannot simply be powerful enough to run quantum workloads efficiently on quantum computers. It must also be designed so that it can perform quickly and efficiently when quantum and classical processing are working together.
To make all of this more practical to potential users inside and outside of the field, developers are building and maintaining high-performing quantum software development kits (SDKs) such as IBM’s Qiskit, Quantinuum’s TKET, Google’s Cirq, and others. At the same time, developers have created universal circuits to use as benchmarks in order for these SDKs to track their performance—their ability to run these circuits quickly and efficiently. These benchmarks include QASMBench circuits, Feynman circuits, and Hamiltonian circuits. IBM maintains an open-source package that adapts these circuits to more than 1000 tests for benchmarking the performance of quantum SDKs in order to compare Qiskit to its competitors.
It is important that quantum SDKs remain open and transparent so that users can continue to measure their ability to run these and other circuits. Furthermore, maintainers of these quantum SDKs should use open-source tools for performance comparisons and publish their results publicly, not only so that developers can monitor the continuing development of quantum SDKs, but also so that the quantum community can work together to keep benchmarks relevant.
Software must be more than fast and efficient. In classical computing, software developers don’t have to reach down into the code and program individual bits. They can use a higher-level, more abstract language to harness the computer to carry out the desired tasks. In the same way, maintainers of quantum software development kits must create tools that “abstract away” the details of quantum circuits so that users don’t need to learn the intricacies of quantum computing hardware to write quantum code. These kinds of higher-level abstractions are beginning to emerge in today’s quantum SDK.
Over time, quantum software development kits should broaden their areas of application, moving toward domain-specific libraries of functions akin to those now used in fields such as chemistry simulation, machine learning, and optimization. Again, this will allow domain experts to integrate quantum computing without requiring deep quantum computing knowledge.
All of these requirements are critical in the search for quantum advantage, the point where quantum computers can provide substantial improvement to some problems now only feasible with slower classical computation. It will be then that useful quantum computing is brought to the world.
No single company or individual will bring about this new era. This is a global endeavor requiring a collaboration of physicists, engineers, developers, entrepreneurs, government officials, and more. It’s time to get started.
Article link: https://www.science.org/doi/10.1126/science.adt0019?