Circuit Cutting#
Circuit Cutting (circuit_knitting.cutting
).
Circuit Cutting#
Transform all |
|
Expand observable(s) according to the qubit mapping between |
|
Replace all nonlocal gates belonging to more than one partition with instances of |
|
Separate an input circuit and observable(s). |
|
Transform specified gates into |
|
Transform specified gates into |
|
Generate cutting subexperiments and their associated coefficients. |
|
Generate the sampled circuits, append the observables, and run the sub-experiments. |
|
Reconstruct an expectation value from the results of the sub-experiments. |
The result of decomposing and separating a circuit and observable(s). |
|
Circuit cutting subexperiment results and sampling coefficients. |
|
An instruction for denoting a wire cut location. |
|
A two-qubit instruction representing a reset of the second qubit followed by a swap. |
Quasi-Probability Decomposition (QPD)#
Basis in which to decompose an operation. |
|
Base class for a gate to be decomposed using quasiprobability decomposition. |
|
Single qubit gate to be decomposed using quasiprobability decomposition. |
|
Two qubit gate to be decomposed using quasiprobability decomposition. |
|
Type of weight associated with a QPD sample. |
Generate weights from the joint quasiprobability distribution. |
|
Generate random quasiprobability decompositions. |
|
Replace all QPD instructions in the circuit with local Qiskit operations and measurements. |
|
Generate a |
CutQC#
Execute all provided subcircuits. |
|
Generate all summation terms for the final reconstructions. |
|
Reconstruct the full probability distribution from the subcircuits. |
|
Compare the reconstructed probabilities to the ground truth. |
|
Decompose the circuit into a collection of subcircuits. |
|
Evaluate the subcircuits. |
|
Reconstruct the full probabilities from the subcircuit evaluations. |