Framework-agnostic circuit knitting for Mitiq
Circuit knitting (wire cutting) enables execution of quantum circuits that are wider than the available hardware. A circuit is decomposed at specified wire locations into smaller subcircuit variants via quasiprobability decomposition (QPD), executed independently, and classically recombined to recover the original expectation value.
mitiq-knitting follows the same API conventions as existing Mitiq
techniques (ZNE, PEC, DDD):
from mitiq_knitting import execute_with_knitting
result = execute_with_knitting(
circuit,
executor,
max_subcircuit_width=3, # auto-find cuts
)execute_with_knitting()— high-level API matchingexecute_with_zne()mitigate_executor()/knitting_decorator()— executor wrappersfind_wire_cuts()— automatic cut location discoverycut_circuit()— QPD into subcircuit variants (8 terms per cut)split_circuit()— physical splitting into smaller fragmentsrecombine_results()— classical expectation value reconstruction
pip install -e ".[dev]"Requires Python >= 3.10, Mitiq >= 0.40, Cirq >= 1.3.
import cirq
from mitiq_knitting import execute_with_knitting, CutLocation
q0, q1 = cirq.LineQubit.range(2)
circuit = cirq.Circuit(cirq.H(q0), cirq.CNOT(q0, q1))
def executor(c):
sim = cirq.DensityMatrixSimulator()
rho = sim.simulate(c).final_density_matrix
return float(rho[0, 0].real)
result = execute_with_knitting(
circuit, executor,
cut_locations=[CutLocation(qubit=q0, moment_index=0)],
)See examples/demo_6qubit.py for a full 6-qubit circuit executed via 3-qubit fragments.
pytest mitiq_knitting/tests/ -v49 tests covering QPD correctness, density matrix reconstruction, API contracts, edge cases, and input validation.
Each wire cut replaces the identity channel with an 8-term QPD: 6 Pauli eigenstate projectors and 2 correction terms.
Subcircuit variants contain non-unitary Kraus channels and require
a density-matrix simulator (e.g. cirq.DensityMatrixSimulator).
The sampling overhead scales as 8^n for n cuts (this implementation). The optimal decomposition with mid-circuit measurement achieves 4^n (Peng et al., 2020).
- T. Peng et al., "Simulating Large Quantum Circuits on a Small Quantum Computer", PRL 125, 150504 (2020)
- K. Mitarai & K. Fujii, "Constructing a virtual two-qubit gate...", PRResearch 3, 033167 (2021)
- W. Tang et al., "CutQC", ASPLOS (2021)
GPL-3.0-or-later