# About Error Mitigation¶

This is intended as a primer on quantum error mitigation, providing a collection of up-to-date resources from the academic literature, as well as other external links framing this topic in the open-source software ecosystem.

## What is quantum error mitigation¶

Quantum error mitigation refers to a series of modern techniques aimed at
reducing (*mitigating*) the errors that occur in quantum computing algorithms.
Unlike software bugs affecting code in usual computers, the errors which we
attempt to reduce with mitigation are due to the hardware.

Quantum error mitigation techniques try to *reduce* the impact of noise in
quantum computations. They generally do not completely remove it. Alternative nomenclature refers to error mitigation as (approximate) error
suppression or approximate quantum error correction, but it is worth noting
that it is different from error correction. Among the ideas that have been developed so far for quantum error mitigation,
a leading candidate is zero-noise extrapolation.

### Zero-noise extrapolation¶

The crucial idea behind zero-noise extrapolation is that, while some minimum
strength of noise is unavoidable in the system, quantified by a quantity \(\lambda\), it is still possible to
*increase* it to a value \(\lambda'=c\lambda\), with \(c>1\), so that
it is then possible to extrapolate the zero-noise limit. This is done in practice by running a quantum circuit (simulation) and
calculating a given expectation variable, \(\langle X\rangle_\lambda\),
then re-running the calculation (which is indeed a time evolution) for
\(\langle X\rangle_{\lambda'}\), and then extracting
\(\langle X\rangle_{0}\).
The extraction for \(\langle X\rangle_{0}\) can occur with several
statistical fitting models, which can be linear or non-linear. These methods
are contained in the `mitiq.zne.inference`

and `mitiq.zne`

modules.

In theory, one way zero-noise extrapolation can be simulated, also with `mitiq`

,
is by picking an underlying noise model, e.g., a memoryless bath such that the system dissipates with Lindblad dynamics. Likewise, zero-noise extrapolation can be applied also to non-Markovian noise models [1]. However, it is important to point out that zero-noise extrapolation is a very general method in which one is free to scale and extrapolate almost whatever parameter one wishes to, even if the underlying noise model is unknown.

In experiments, zero-noise extrapolation has been performed with pulse
stretching [2]. In this way, a difference between the effective time that a gate is affected by decoherence during its execution on the hardware
was introduced by controlling only the gate-defining pulses. The effective noise of a quantum circuit can be scaled also at a gate-level, i.e., without requiring a direct control of the physical hardware. For example this can be achieved with the unitary folding technique, a method which is present in the `mitiq`

toolchain.

### Other error mitigation techniques¶

Other examples of error mitigation techniques include injecting noisy gates for randomized compiling and probabilistic error cancellation, or the use of subspace reductions and symmetries. A collection of references on this cutting-edge implementations can be found in the Research articles subsection.

## Why is quantum error mitigation important¶

The noisy intermediate scale quantum computing (NISQ) era is characterized by short or medium-depth circuits in which noise affects state preparation, gate operations, and measurement [4]. Current short-depth quantum circuits are noisy, and at the same time it is not possible to implement quantum error correcting codes on them due to the needed qubit number and circuit depth required by these codes.

Error mitigation offers the prospects of writing more compact quantum circuits
that can estimate observables with more precision, i.e. increase the
performance of quantum computers. By implementing quantum optics tools (such as the modeling noise and open quantum systems) [5][6][7][8], standard as well as cutting-edge statistics and inference
techniques, and tweaking them for the needs of the quantum computing community,
`mitiq`

aims at providing the most comprehensive toolchain for error
mitigation.

## External References¶

Here is a list of useful external resources on quantum error mitigation, including software tools that provide the possibility of studying quantum circuits.

### Research articles¶

A list of research articles academic resources on error mitigation:

- On
**randomization methods**: Randomized compiling with twirling gates, J. Wallman

*et al.*,*Phys. Rev. A*, 2016 [14]Porbabilistic error correction, K. Temme

*et al.*,*Phys. Rev. Lett.*, 2017 [1]Practical proposal, S. Endo

*et al.*,*Phys. Rev. X*, 2018 [15]Experiment on trapped ions, S. Zhang

*et al.*,*Nature Comm.*2020 [16]Experiment with gate set tomography on a supeconducting circuit device, J. Sun

*et al.*, 2019 arXiv [17]

- On
- On
**subspace expansion**: By hybrid quantum-classical hierarchy introduction, J. McClean

*et al.*,*Phys. Rev. A*, 2017 [18]By symmetry verification, X. Bonet-Monroig

*et al.*,*Phys. Rev. A*, 2018 [19]With a stabilizer-like method, S. McArdle

*et al.*,*Phys. Rev. Lett.*, 2019, [20]Exploiting molecular symmetries, J. McClean

*et al.*,*Nat. Comm.*, 2020 [21]Experiment on a superconducting circuit device, R. Sagastizabal

*et al.*,*Phys. Rev. A*, 2019 [22]

- On
- On
**other error-mitigation techniques**such as: Approximate error-correcting codes in the generalized amplitude-damping channels, C. Cafaro

*et al.*,*Phys. Rev. A*, 2014 [23]:Extending the variational quantum eigensolver (VQE) to excited states, R. M. Parrish

*et al.*,*Phys. Rev. Lett.*, 2017 [24]Quantum imaginary time evolution, M. Motta

*et al.*,*Nat. Phys.*, 2020 [25]Error mitigation for analog quantum simulation, J. Sun

*et al.*, 2020, arXiv [17]

- On
For an extensive introduction: S. Endo,

*Hybrid quantum-classical algorithms and error mitigation*, PhD Thesis, 2019, Oxford University (Link).

### Software¶

Here is a (non-comprehensive) list of open-source software libraries related to quantum computing, noisy quantum dynamics and error mitigation:

**IBM Q**’s Qiskit provides a stack for quantum computing simulation and execution on real devices from the cloud. In particular,`qiskit.Aer`

contains the`NoiseModel`

object, integrated with`mitiq`

tools. Qiskit’s OpenPulse provides pulse-level control of qubit operations in some of the superconducting circuit devices.`mitiq`

is integrated with`qiskit`

, in the`qiskit_utils`

and`conversions`

modules.**Goole AI Quantum**’s Cirq offers quantum simulation of quantum circuits. The`cirq.Circuit`

object is integrated in`mitiq`

algorithms as the default circuit.**Rigetti Computing**’s PyQuil is a library for quantum programming. Rigetti’s stack offers the execution of quantum circuits on superconducting circuits devices from the cloud, as well as their simulation on a quantum virtual machine (QVM), integrated with`mitiq`

tools in the`pyquil_utils`

module.QuTiP, the quantum toolbox in Python, contains a quantum information processing module that allows to simulate quantum circuits, their implementation on devices, as well as the simulation of pulse-level control and time-dependent density matrix evolution with the

`qutip.Qobj`

object and the`Processor`

object in the`qutip.qip`

module.Krotov is a package implementing Krotov method for optimal control interfacing with QuTiP for noisy density-matrix quantum evolution.

PyGSTi allows to characterize quantum circuits by implementing techniques such as gate set tomography (GST) and randomized benchmarking.

This is just a selection of open-source projects related to quantum error mitigation. A more comprehensinve collection of software on quantum computing can be found here and on Unitary Fund’s list of supported projects.