QCut: Multiple cuts on single wire

QCut: Multiple cuts on single wire#

import QCut as ck
from QCut import cut, cutGate
from qiskit import QuantumCircuit, transpile
from qiskit.circuit.library import CXGate
from qiskit.quantum_info import SparsePauliOp
from qiskit.circuit.library import CXGate
from qiskit_aer import AerSimulator
from qiskit.primitives import Estimator, BackendEstimator
from iqm.qiskit_iqm import IQMFakeAdonis
#define initial circuit

circuit = QuantumCircuit(3)
circuit.h(0)
circuit.cx(0,1)
circuit.cx(1,2)
circuit.cx(0,1)

circuit.draw("mpl")
../_images/78b001b549f3d082674d3369632b77604647febd445f575be31a74841b70de5a.png
#insert cuts

cut_circuit = QuantumCircuit(5)
cut_circuit.h(0)
cut_circuit.cx(0,1)
cut_circuit.append(cut, [1])
cut_circuit.cx(1,2)
cut_circuit.append(cut, [1])
cut_circuit.cx(0,1)

cut_circuit.draw("mpl")
../_images/e3788f1a4aad00600cba165f29e648da755fcb2e166552d7bc32e85fd6f220a2.png
# Now one can continue as in othrer examples