The Qiskit project is an open-source framework for working with quantum circuits and algorithms...
The advent of quantum computers has created the need for a development environment that is both accessible and easy to use. IBM, with its latest open-source software development kit, Qiskit, aims to create a programming environment where the complexity of the underlying technology is no longer a problem for users. In the future, a program will have to employ vast quantum and classical resources, and the solution will therefore have to be optimized at the speed of light.
In an interview with EE Times, Blake Johnson, Quantum Platform Lead at IBM Quantum, pointed out that quantum technology is showing huge success and the software foundation needs to be laid for extensive use in the future. The Qiskit project is an open-source framework for working with quantum circuits and algorithms. This software interface allows developers to program quantum algorithms using Python scripts. In addition, they can group requests for interactions between various quantum computers.
“The power of quantum computing comes from quantum circuits,” said Johnson. “Quantum circuits can calculate quantities that are intractable or inaccessible with classical computers, which is sort of the principal value proposition of quantum computing. And a good circuit isn’t just based on its width or number of qubits but also its depth.”
The goal of the IBM Quantum Experience was to offer added value so that the programming, started through OpenQASM, would offer a representation at the level of logical operations (“gates”) of the underlying qubits, guaranteeing the development of quantum circuits. “Subsequently, we offered researchers the possibility to understand the noise on real hardware and design better gates through error mitigation,” said Johnson. “We recently released the Qiskit optimization module, beginning our journey toward a frictionless quantum experience.”
“In terms of software development, building kernel tools and algorithm developers are part of that process of making higher-quality systems, which involves building better gates or better circuits,” he added. “They allow us to extend the power of systems. The goal is not just to make a nice device, but also to do something that is useful for people to do certain operations. Many software developers today are very productive and do a lot of useful work without ever thinking about transistor physics or thinking about the microcode or assembly code that underlies some abstractions they interact with as programmers. And when quantum computing has a real impact, there will be this same kind of objection that allows productivity on these systems.”
It took more than 50 years to optimize classical computing software to the point where users can build an application or website with a few lines of code. Quantum computing has to go through a similar process in the next two or three years.
Traditional computing work with 0 and 1; quantum computing has qubits that can represent a 1, a 0, or both at the same time. This overlap may allow two of these qubits to behave in ways that cannot be explained by the individual components. This behavior is called entanglement.
The ability to reliably manage the operation and networking of different quantum systems was not possible just a few years ago. Today, we can increase the number of qubits, thanks to extraordinary efforts in science and engineering. These latest advances show that we are rapidly making quantum systems available that could offer significant advantages in solving problems.
As with classical processors, made up of wires that carry the information (the state) of the bits and logical gates that change the state of the bits, a quantum system that you want to use as a computer is also made up of wires, which can indicate the transport of the qubit from one gate to another, or the passage of time, and gates. Logic gates can involve single qubits or multiple systems.
The problem is that it is difficult to keep a quantum system stable, as the smallest outside disturbance tends to interfere and therefore damage the operation of the device. Many researchers have developed protocols to reduce this error and control multiple qubit systems.
IBM aims to build a robust quantum computing ecosystem that also includes open-source software tools, applications for near-term systems, and educational materials for the quantum community.
To increase the ecosystem of quantum researchers and application development, IBM has launched Qiskit project, an open-source software development kit for the programming and use of quantum computers. The software kit continues to grow in functionality and today allows users to create quantum computing programs and run them on one of IBM’s true quantum processors or quantum simulators available online.
The Qiskit optimization module allows simple and efficient modeling of optimization problems using IBM Decision Optimization CPLEX modeling, or DOcplex. Programmers simply need to program as they would normally do. Today’s software developers do not need to worry about electronic components such as logic ports and MOSFETs; on the same level, the new module abstracts a level of programming by optimizing their resources with a standard library of quantum circuits.
Qiskit provides a set of code tools for quantum circuit-level programs, offering execution and management on remote access back ends. The module has been developed to promote the research, development, and benchmarking of quantum computer algorithms in the short term — an interface to solve different types of problems with the help of fundamental quantum algorithms provided by Qiskit.
IBM is making the functions very simple even for those who are not experts in quantum theory or quantum mechanics, which is the basis of a quantum computer. Qiskit lends itself to expanding the quantum development community, and companies will be able to use resources to meet their business’s needs. The web platform offers tutorials that explain how developers can model their optimization problems.
IBM offers a practical approach through a human user interface to the cloud-enabled experimental platform. The interface allows users to work with quantum bits, running algorithms for their own research and exploring tutorials and simulations on quantum technology.
The next challenges, as Johnson points out, essentially concern the development of new application modules to reach different domains. “This work will allow us to accelerate the solution methods for algorithms that are used in many different application spaces, but it will also be a kind of catalyst for other models,” he said.
“Another next innovation is the architectural optimization of our software system to be able to better support classical-quantum workloads, allowing our system to accept a program and not just a circuit,” he added. “And also the way in which the program can use a quantum resource interactively and efficiently.”
In the coming years, quantum computers of 100 or more qubits will be able to perform tasks that exceed the capabilities of today’s classic supercomputers, but noise in quantum architectures will limit the performance. The first challenge is to maintain qubit quality. It will also be the task of researchers to propose new solutions, both in terms of hardware and software, to make the programming “easy.”