IBM has demonstrated the flexibility of its Qiskit open-source quantum computing framework by extending the platform to support hardware that uses ion traps to perform quantum computations.
Qiskit was developed by staff at IBM Research in order to provide developer access to its online quantum processor hardware. It was intended from the outset to be extensible, and to support research beyond IBM’s own quantum systems that are based on superconducting qubits.
The latest Qiskit 0.13 release is the first version to actually realise this goal by adding support for transpilation between superconducting and trapped ion gate sets. IBM has also built in the support needed to provide developers with access to a working five-qubit trapped ion system at the University of Innsbruck in Austria.
Quantum computing is still at an early stage in its development, and various companies and research organisations are using wildly different approaches to produce systems capable of performing computations using quantum behaviour. Many are based on superconducting Josephson junctions to create quantum bits (qubits), but other approaches use spin to encode quantum states, while Microsoft is trying an unusual approach based on exotic quasiparticles.
Programming tools are also fairly primitive, and implementing an algorithm typically involves building a circuit out of different quantum gates.
IBM’s achievement is to demonstrate that Qiskit can be extended to support different quantum systems with minimal additions to its code base, and how a developer using Qiskit can create a circuit once then seamlessly execute it on any supported quantum computer.
As detailed by IBM researchers in a blog post, supporting a new qubit platform in Qiskit requires two components. Firstly, the gates used by the new quantum system may need to be defined. For the case of trapped ions, this involved the definition of Mølmer-Sørenson (MS) gates. Once defined, the decomposition rules between different type of gates must be added, to allow the Qiskit transpiler to take an input circuit defined in one system, and output the same circuit rewritten in any other supported gate set.
The second component is to enable a link to the target system. In Qiskit, this entails writing a ‘provider’ that handles the API connections, authentication, as well as job submission and retrieval between Qiskit and the host backend, IBM said. However, despite this apparent complexity, the IBM researchers state that it took just three days to implement this for the quantum computer at the University of Innsbruck.