EigenGate equality does not account for exponent when comparing global phase #7052
Labels
kind/bug-report
Something doesn't seem to work.
triage/discuss
Needs decision / discussion, bring these up during Cirq Cynque
Description of the issue
global phase should be multiplied by the exponent and normalized when comparing eigen gates.
How to reproduce the issue
https://github.com/quantumlib/Cirq/blob/main/cirq-core/cirq/ops/common_gates_test.py#L247-L249 has
ZPowGate(phase=-0.5)**5
, and https://github.com/quantumlib/Cirq/blob/main/cirq-core/cirq/ops/common_gates_test.py#L252 has aZPowGate(phase=-0.1)**5
in a different equality group. These are equal gates with the same unitary though, and should be in the same equality group. In the first, the exponentiated phase causes a -5/4 rotation, and in the second it causes a -1/4 rotation, so both end up at the same spot.Unitaries:
The text was updated successfully, but these errors were encountered: