# Quantum Circuit Compiler Research

## Overview

Compilation of quantum circuits in the near-term era is an important and challenging task. Quantum hardware today is noisy and running complex circuits does not lead to meaningful results. In addition, the connectivity of the quantum device is restricted (such as 2D-grid or heavy-hex), which requires adding swaps to the circuit to perform long-ranged operations between qubits.

In our project, we explore several approaches.

- One approach consists of creating circuits with a small number of gates and depth. As each gate is noisy and two-qubit gates are significantly noisier than single-qubit gates, one key objective is to decrease the total number of two-qubit gates in the circuit.
- Another key objective is to minimize the two-qubit depth of the circuit, defined as the total number of two-qubit layers, as this quantity closely correlates with the circuit's runtime.
- Yet another key objective is to maximize the fidelity of the circuit, which is an even better way to estimate how close the computed results are to the expected results.

We investigate and implement algorithms that reduce the number of two-qubit gates or the circuit depth in certain cases (e.g., Clifford circuit, CNOT-dihedral circuits, linear circuits, stabilizer states, etc.).

Another approach is to find new compilation techniques that enable the suppression of quantum noise, or efficiently incorporate advanced mitigation techniques (such as dynamical decoupling, zero noise extrapolation, and probabilistic error cancellation) into the quantum circuit. The compiler research involves using methods from linear algebra, group theory, optimization, and many more. We perform original research and contribute algorithms to the Qiskit synthesis library.