Bug in indexing of coloration result fixed
In the previous version, for circuits of all QLDPC codes, there were several instances where CX gates in the same layer are applied on more than one qubits. This was due to a bug in how the indices of the keys (nodes in the rev_graph) are shuffled after networkx's greedy_color is applied. The coloration itself was done correctly, so the circuit depth (syndrome extraction depth) is correct; the part where colors are assigned to CX gates (edges of the Tanner graph) is done incorrectly.
The bug is now fixed, and now all CX gates in the same layer are applied to different qubits, as expected. We also added a check function check_overlapping_CX in src/quits/circuit.py (see doc/intro.ipynb for usage).
Full Changelog: https://github.com/mkangquantum/quits/commits/v0.1.0