QCut to Three Parts

QCut to Three Parts#

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(4)
circuit.h(0)
circuit.cx(0,1)
circuit.cx(1,2)
circuit.cx(2,3)

circuit.draw("mpl")
../_images/286793101e0cc9bed80f4d37be366c38ef9dbcfbb9a6358efdabc3792d061361.png
#insert cuts

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

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