Mirror circuit test suite and debugging
Upon suggestion from the Unitary Fund team, Qrack has been debugged against the newly developed [mirror]
suite of "mirror circuit" (or "Loschmidt echo") integration tests, at all levels of the layer stack. For scope, about 20+ separate logical bugs were fixed. Random mirror circuits were generated to the exhaustion of detecable bugs, mostly at the 6 qubit width by 6-plus-inverse qubit depth level, but also ultimately for 27 qubits width by 6-plus-inverse depth.
In the process of refactoring and debugging, QStabilizerHybrid
has also been extended with single-qubit matrix product state buffers that are commuted around control qubits, which are now effectively "trimmed" like with the Schmidt decomposition techniques of QUnit
, to significantly increase the breadth of circuits which can be handled as Gottesman-Knill sub-states of QUnit
.
Thank you to @paniash for contributing README documentation improvements and GitHub issue discussion, during the Unitary Fund's unitaryHACK!