-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Global phase in SingleQubitCliffordGate #2847
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I came up with this idea while working on PR #2803. As @Strilanc suggested, I added a factory method In other words, Practical reasons to do this
To be honest, real problem is that |
Another option would be to output a GlobalPhaseOperaton with the appropriate additional phase from |
Filing to continue discussion started in the meeting by @fedimser.
Background
Clifford gates are often said to be the unitaries that map Paulis to other Paulis under conjugation. This yields an infinite group(*). However, there really is only a finite number of interesting classes of elements in this group, so the actual definition of the Clifford group generally involves the quotient of the above by U(1), i.e. we ignore the global phase. This yields a set of 24 elements in the single-qubit case.
Interestingly, it can be shown that the Clifford group is generated by Hadamard, phase and CNOT gates. Note that if you take this as the definition of the Clifford group then you end up with more elements than above, e.g. 192 in the single-qubit case. However, once again taking the quotient by U(1) saves the day yielding the same group as above.
This means that the fact that the global phase is ignored is important for some well-known properties of the Clifford group to hold.
Issue
In cirq, we don't keep track of the global phase of Clifford gates. By the statements above, this is the right thing to do. @fedimser pointed out that this may be misleading for the user. @fedimser what particular methods/functions did you have in mind? @Strilanc said we can either rename them to be clear about the loss of global phase or we can return a tuple (Clifford, phase). Is there a use-case in which the knowledge of the global phase is useful?
@cduck
(*) For example, multiples of identity
exp(i theta) I
satisfy the condition for a Clifford gate for any real theta.The text was updated successfully, but these errors were encountered: