Open ritu-thombre99 opened 3 months ago
Have you actually tried the suggestion from the very first warning message:
[QCEC] Warning: at least one of the circuits has garbage qubits, but partial equivalence checking is turned off. In order to take into account the garbage qubits, enable partial equivalence checking. Consult the documentation for more information.
When measuring all qubits, there is perfect information on where the individual qubits of the circuit end up at the end of the circuit. This allows the equivalence check to succeed.
When only parts of the circuit are measured, this becomes a much tougher problem because one has to make sure that the "right" qubits are being compared and the other qubits are ignored for the equivalence check.
Maybe you could try with the above suggestion and come back here with the results. Happy to investigate further, once these results are here.
Environment information
OS: MacOS MQT version: 2.6.0 Compiler: C++
Description
Running Steane code for bit-flip detection. When transpiled using Qiskit transpile and custom backend:
Backend
Measure all:
Input Circuit:
Transpiled Circuit
Equivalence:
Output:
equivalent
Measure 3 qubits:
Input Circuit:
Transpiled Circuit
Equivalence:
Code 1:
Output:
Code 2:
Output:
Code 3:
Output:
Code 4:
Output:
Expected behavior
Should be equivalent in both cases.
How to Reproduce
Import qiskit, mqt.qcec and the run the code blocks mentioned above.