Qiskit addon: circuit cutting¶
Qiskit addons are a collection of modular tools for building utility-scale workloads powered by Qiskit.
This package implements circuit cutting. In this technique, a handful of gates and/or wires are cut, resulting in smaller circuits that are better suited for execution on hardware. The result of the original circuit can then be reconstructed; however, the trade-off is that the overall number of shots must be increased by a factor exponential in the number of cuts.
For a more detailed discussion on circuit cutting, check out our technical guide.
We follow semantic versioning and are guided by the principles in Qiskit’s deprecation policy. 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.
Note
This package was known as the Circuit Knitting Toolbox prior to September 2024.
Citing this project¶
If you use this package in your research, please cite it according to CITATON.bib
file included in this repository:
@misc{qiskit-addon-cutting,
author = {
Agata M. Bra\'{n}czyk
and Almudena {Carrera Vazquez}
and Daniel J. Egger
and Bryce Fuller
and Julien Gacon
and James R. Garrison
and Jennifer R. Glick
and Caleb Johnson
and Saasha Joshi
and Edwin Pednault
and C. D. Pemmaraju
and Pedro Rivero
and Ibrahim Shehzad
and Stefan Woerner
},
title = {{Qiskit addon: circuit cutting}},
howpublished = {\url{https://github.com/Qiskit/qiskit-addon-cutting}},
year = {2024},
doi = {10.5281/zenodo.7987997}
}
If you are using the entanglement forging tool in Circuit Knitting Toolbox version 0.5 or earlier, please use an older version of the citation file which includes the authors of that tool.
If you are using the CutQC tool in Circuit Knitting Toolbox version 0.7 or earlier, please use an older version of the citation file which includes the authors of that tool.
Developer guide¶
The source code to this package is available on GitHub.
The developer guide is located at CONTRIBUTING.md in the root of this project’s repository.
Contents¶
- Documentation Home
- Installation Instructions
- Tutorials
- Explanatory Material
- Overview of circuit cutting
- Key terms
- Circuit cutting as a quasiprobability decomposition (QPD)
- An example: cutting a
RZZGate
- More general cut two-qubit gates via the KAK decomposition
- Wire cutting phrased as a two-qubit
Move
operation - Sample weights in the Qiskit addon for circuit cutting
- Sampling overhead reference table
- Current limitations
- References
- How-To Guides
- API References
- Circuit cutting (
qiskit_addon_cutting
) - Instructions (
qiskit_addon_cutting.instructions
) - Quasi-Probability Decomposition (QPD) (
qiskit_addon_cutting.qpd
) - Bitwise utilities (
qiskit_addon_cutting.utils.bitwise
) - Iteration utilities (
qiskit_addon_cutting.utils.iteration
) - Observable grouping (
qiskit_addon_cutting.utils.observable_grouping
) - Simulation utilities (
qiskit_addon_cutting.utils.simulation
) - Transforms (
qiskit_addon_cutting.utils.transforms
) - Transpiler passes (
qiskit_addon_cutting.utils.transpiler_passes
)
- Circuit cutting (
- GitHub
- Release Notes