Fix Clifford.from_operator to fail with non-Clifford diagonal operators #10904
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Fix a bug where
Clifford.from_operator
(from_matrix
) does not fail with non-Clifford diagonal operators (matrices) and return incorrect Clifford objects. This commit corrects it to raise an error as expected.Fix #10903
Details and comments
Each non-zero element of the Pauli matrices computed during the conversion must be one of {1, -1, 1j, -1j} for valid input but that was not fully checked and failed to raise an error against invalid non-Clifford diagonal matrices.