Circuit Knitting is the process of decomposing a larger quantum circuit into many smaller circuits, executing those circuits on a quantum processor(s), and then knitting their results into a reconstruction of the original circuit's outcome.
The toolbox currently contains the following tools:
- Circuit Cutting [1-5]
For a more detailed discussion on circuit cutting, check out our technical guide.
All CKT documentation is available at https://qiskit-extensions.github.io/circuit-knitting-toolbox/.
We encourage installing CKT via pip
, when possible.
pip install 'circuit-knitting-toolbox'
For information on installing from source, running CKT in a container, and platform support, refer to the installation instructions in the CKT documentation.
This project is meant to evolve rapidly and, as such, does not follow 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.
[1] Kosuke Mitarai, Keisuke Fujii, Constructing a virtual two-qubit gate by sampling single-qubit operations, New J. Phys. 23 023021.
[2] Kosuke Mitarai, Keisuke Fujii, Overhead for simulating a non-local channel with local channels by quasiprobability sampling, Quantum 5, 388 (2021).
[3] Christophe Piveteau, David Sutter, Circuit knitting with classical communication, arXiv:2205.00016 [quant-ph].
[4] Lukas Brenner, Christophe Piveteau, David Sutter, Optimal wire cutting with classical communication, arXiv:2302.03366 [quant-ph].
[5] K. Temme, S. Bravyi, and J. M. Gambetta, Error mitigation for short-depth quantum circuits, Physical Review Letters, 119(18), (2017).