The goal of the Quantum Computing group is to develop verification and testing solutions that can cope with the ever-increasing complexity of modern systems and the challenges of tomorrow’s computation paradigms.
In this activity, we focus on developing characterization and calibration experiments for quantum computers. An experiment in this context is a quantum program (realized by a set of quantum circuits or pulse schedules). We contribute to the qiskit-experiments module that contains software tools to assist IBM Quantum experimentalists in calibration tasks and noise characterization. This includes construction of experiments, their execution on the device, and analysis of the results. Examples are estimate of T1 and T2, gate error calculation using randomized benchmarking, and computation of quantum volume.
Another aspect we deal with in this activity is noise, which occurs during the final measurement process. During that stage, the N qubits that are located in a complex superposition of all possible states should collapse into one of the 2N possible states. We are seeking to characterize the measurement noise and mitigate it using software post-processing methods. A naïve (and very inefficient) algorithm is to simply prepare each of the 2N possible basis states, immediately measure them, and see what probability exists for each outcome. We investigate advanced, efficient, and robust algorithms for measurement error mitigation, and implement them as part of Qiskit.
Finally, if we check under the hood of a quantum computer, we see that the abstraction of the gate model in terms of digitized operations is in fact realized by a complex dynamical system evolving continuously with time. The continuous dynamics may be modeled in terms of quantum master equations (such as the Lindblad equation) for noisy systems using several approaches. As part of this activity we are focused on enhancing and inventing new quantum dynamic tools in Qiskit for the following:
Modeling and numerically simulating quantum hardware
Analyzing cloud-based experiments on IBM Quantum devices
Characterizing and estimating device parameters
Improving the control of device dynamics, e.g., via gate and pulse operations
Quantum Circuit Synthesis and Optimization
Quantum circuits are the backbone programs in quantum computing. As quantum devices are noisy due to the very nature of quantum computing, which requires creating fragile superposition states of qubits and interactions between them, the depth of quantum circuits is limited in practical applications.
Clifford circuits and CNOT-Dihedral circuits are certain classes of quantum circuits that have several useful properties in quantum computation. They play a prominent role in quantum error correction, benchmarking protocols of the quantum hardware, and the study of entanglement. The Clifford and CNOT-Dihedral circuits employ the mathematical structure of a group, and both groups are generated by a non-universal set of gates. The single-qubit T-gate (pi/4 rotation gate), H-gate (Hadamard), and the two-qubit CNOT gate are a universal set of gates, namely, they can generate any unitary on any arbitrary number of qubits. The Clifford group is generated by the S-gate (pi/2 rotation gate), H-gate, and CNOT gate. The CNOT-Dihedral group is generated by the T-gate, Pauli-X gate, and CNOT gate. The unique feature of both the Clifford and CNOT-Dihedral groups is that they can be efficiently simulated (in polynomial time) on a classical computer.
Our aim is to reduce the depth of the Clifford and CNOT-Dihedral-based circuits to squeeze more useful operations within the circuit depth limits, and in particular the number of two-qubit gates, which are noisier than the single-qubit gates. The research involves using methods from group theory, computing science, and optimization. We perform original research as well as contribute new algorithms to Qiskit.
Quantum Circuit Simulation
The most common approach to implementing simulators stores the statevector as an array of 2^n complex numbers, where n is the number of qubits. This representation describes the quantum state precisely — but clearly, the memory required by this simulator scales exponentially with the number of qubits.
An alternative approach is to represent a circuit with the matrix product state (MPS). Here, every qubit is represented by a tensor, or 3D matrix of complex numbers, with a 1D vector between every two consecutive tensors. These structures are all lined up so that only neighboring qubits can interact, as shown in the figure below.
Here, the boxes represent the 3D tensors and the diamonds represent the entanglement vectors.
The memory requirement of MPS depends primarily on the entanglement level in the circuit. In the worst case, when entanglement is high, the representation becomes exponentially large in the number of qubits. However, in many practical use-cases, MPS enables us to simulate circuits that are considerably larger than those possible with the statevector simulator.
The focus of this activity is to develop advanced and efficient methods for quantum circuit simulation based on the MPS approach, including approximation methods.