Skip to main contentIBM Quantum Documentation Preview
This is a preview build of IBM Quantum® documentation. Refer to quantum.cloud.ibm.com/docs for the official documentation.

Operator backpropagation

Operator backpropagation (OBP) is a technique for propagating an observable backward through gates at the end of a quantum circuit. This results in a more shallow circuit at the cost of an increase in observable measurement bases. As one backpropagates an operator further through a circuit, the size of the observable grows exponentially, resulting in both a classical and quantum resource overhead. However, for some circuits, the resulting distribution of Pauli observables is more concentrated than the worst-case exponential scaling, meaning that some terms in the Hamiltonian with small coefficients can be truncated to reduce the quantum overhead. The error incurred by doing this can be controlled to find a suitable tradeoff between precision and efficiency.

There are a number of ways in which operator backpropagation can be performed, this package uses a method based on Clifford perturbation theory, which has the benefit that the overhead incurred by backpropagating various gates is determined by the non-Cliffordness of that gate. This leads to an increased efficiency for some families of circuits relative to tensor-network based methods for OBP, which currently have high classical overheads even in cases where the quantum overhead remains tame.

This package is suitable for estimating expectation values of general quantum circuits and Pauli observables; however, for high-magic (very non-Clifford) circuits the observable error incurred from truncation will likely become prohibitive before the observable has been propagated through a meaningful portion of the circuit. For near-Clifford circuits, it may be possible to propagate through much more of the circuit while maintaining relatively small error bounds.


Getting started

A simple guide to help you get started quickly with this package is available in the quick start guide.


Use case examples

This technique has been used to implement lower-depth Trotter circuits for the time-evolution of a 2D spin model [1].


Technical discussion

  • A single entry point: the backpropagate function performs OBP.

  • Two independent controls over the depth ↔ accuracy tradeoff:

    • OperatorBudget bounds how large the observable may grow during backpropagation.
    • TruncationErrorBudget bounds how much error may be incurred during backpropagation.
  • Effectiveness depends on how Clifford the circuit is: for high-magic circuits (i.e. very non-Clifford), terms added to the observable tend to have larger coefficients, so one incurs more truncation error earlier, limiting the depth savings under a fixed error budget. Near-Clifford circuits can be truncated more aggressively and backpropagated deeper under the same budget.

  • Fully introspectable: each run returns an OBPMetadata object recording per-slice Pauli counts, QWC-group counts, and accumulated truncation error, with plot_* helpers to visualize operator growth and error against circuit depth — useful for tuning budgets before committing QPU time.


Contributing

The developer guide is located at CONTRIBUTING.md in the root of this project’s repository. By participating, you are expected to uphold Qiskit’s code of conduct.

We use GitHub issues for tracking requests and bugs.


Citing this package

If you use this package in your research, use the CITATION.bib file in this project’s repository to cite the appropriate reference(s).


License

Apache License 2.0


Deprecation policy

This package follows semantic versioning. We may occasionally make breaking changes in order to improve the user experience. When possible, we will keep old interfaces and mark them as deprecated, as long as they can co-exist with the new ones. Each substantial improvement, breaking change, or deprecation will be documented in the release notes.


References

    1. Fuller et al., “Improved quantum computation using operator backpropagation,” npj Quantum Inf. 12, 51 (2026). [arXiv]