QuickstartΒΆ

Assume you want to prove that the following two circuits are equivalent:

1from qiskit import QuantumCircuit
2
3qc1 = QuantumCircuit(2)
4qc1.cx(0, 1)
5qc1.draw(output="mpl", style="iqp")
_images/fb918d05d4c0dda6730dcbb71e4d36676e59efe78b3b5e41d48c7de3776d4dff.png
1from qiskit import QuantumCircuit
2
3qc2 = QuantumCircuit(2)
4qc2.h(0)
5qc2.h(1)
6qc2.cx(1, 0)
7qc2.h(1)
8qc2.h(0)
9qc2.draw(output="mpl", style="iqp")
_images/1f4b3d54a1bc9919a984e9d9230d62e8f66c50a0a87b8ccc0c0c77de7b6249b6.png

Then, using QCEC to check the equivalence of these two circuits is as easy as

1from mqt import qcec
2
3qcec.verify(qc1, qc2)
<EquivalenceCheckingManager.Results: equivalent>

Check out the reference documentation for more information.