Skip to content
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

YPowGate has no dimension #5647

Closed
95-martin-orion opened this issue Jun 29, 2022 · 5 comments · Fixed by #5814
Closed

YPowGate has no dimension #5647

95-martin-orion opened this issue Jun 29, 2022 · 5 comments · Fixed by #5814
Labels
area/gates area/qudits kind/feature-request Describes new functionality triage/discuss Needs decision / discussion, bring these up during Cirq Cynque

Comments

@95-martin-orion
Copy link
Collaborator

95-martin-orion commented Jun 29, 2022

Follow-up to #4782: we added a dimension property for X and Z, but Y remains locked to qubits. This seems like an oversight - can we finish out the pauli trio by adding dimensions to YPowGate?

@95-martin-orion 95-martin-orion added triage/discuss Needs decision / discussion, bring these up during Cirq Cynque kind/feature-request Describes new functionality area/gates area/qudits time/after-1.0 labels Jun 29, 2022
@95-martin-orion
Copy link
Collaborator Author

CC @daxfohl

@95-martin-orion
Copy link
Collaborator Author

When this is implemented we'll also need to update its docstring, as seen in #5648.

@daxfohl
Copy link
Contributor

daxfohl commented Jun 29, 2022

X and Z have standard generalizations to higher dimensions https://en.wikipedia.org/wiki/Generalizations_of_Pauli_matrices#Construction:_The_clock_and_shift_matrices

I wasn't able to find a standard for Y. Probably the relation Y**k = X**0.5 * Z**k * X**-0.5 (or something like that) holds in higher dimensions? If so, we could define Y in higher dimensions via decomposition. (Unless someone with more linear algebra background than me can figure out the actual eigencomponents).

@dabacon
Copy link
Collaborator

dabacon commented Jul 1, 2022

Yeah I don't think there is a canonical definition of a higher order Y operator. Consider for exampleX Z and X**(-1)Z. In d=2 these are the same, but in d>2 they are different. So which one are we to chose?

@daxfohl
Copy link
Contributor

daxfohl commented Jul 1, 2022

(Except in other contexts where Y is the canonical higher order operator https://en.m.wikipedia.org/wiki/Fixed-point_combinator#Fixed-point_combinators_in_lambda_calculus) :)

CirqBot pushed a commit that referenced this issue Jul 8, 2022
As advertised. Everything except the "dimension" part is copied from the EigenGate constructor docstring.

Also opened #5647 for adding similar functionality + docs to YPowGate.
rht pushed a commit to rht/Cirq that referenced this issue May 1, 2023
As advertised. Everything except the "dimension" part is copied from the EigenGate constructor docstring.

Also opened quantumlib#5647 for adding similar functionality + docs to YPowGate.
harry-phasecraft pushed a commit to PhaseCraft/Cirq that referenced this issue Oct 31, 2024
As advertised. Everything except the "dimension" part is copied from the EigenGate constructor docstring.

Also opened quantumlib#5647 for adding similar functionality + docs to YPowGate.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/gates area/qudits kind/feature-request Describes new functionality triage/discuss Needs decision / discussion, bring these up during Cirq Cynque
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants