Understanding and compensating for noise on IBM quantum computers

Abstract
Quantum algorithms offer efficient solutions to computational problems that are expensive to solve classically. Publicly available quantum computers, such as those provided by IBM, can now be used to run small quantum circuits that execute quantum algorithms. However, these quantum computers are highly prone to noise. Here, we introduce important concepts of quantum circuit noise and connectivity that must be addressed to obtain reliable results on quantum computers. We utilize several examples to show how noise scales with circuit depth. We present Simon's algorithm, a quantum algorithm for solving a computational problem of the same name, explain how to implement it in IBM's Qiskit platform, and compare the results of running it both on a noiseless simulator and on physical hardware subject to noise. We discuss the impact of Qiskit's transpiler, which adapts ideal quantum circuits for physical hardware with limited connectivity between qubits. We show that even circuits of only a few qubits can have their success rate significantly reduced by quantum noise unless specific measures are taken to minimize its impact.