-
Notifications
You must be signed in to change notification settings - Fork 982
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
Use gatesets in cirq/ion, cirq/neutral_atoms, cirq_pasqal and cirq_ionq #4513
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I only looked closely at the IonQ part but that looks good modulo one question which I think the answer is yes, but wanted to confirm.
cirq.XXPowGate, | ||
cirq.YYPowGate, | ||
cirq.ZZPowGate, | ||
cirq.MeasurementGate, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this work for cirq.SWAP**3? Reading the gateset code I think it does, but wanted to check.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, it'll work for cirq.SWAP ** 3
because cirq.SWAP ** 3 == cirq.SWAP
and the gateset will use value equality by default for gate instances.
Can we split this up into two separate PRs ? One for |
Sent out Marking this as a draft for now. |
Smaller individual PRs have been sent out and we can close this one now. |
…uantumlib#4517) This PR introduces new common gate families which will be useful to adopt the usage of Gatesets across Cirq. This is split off the larger PR quantumlib#4513 and follow up PRs will use these new gate families. Part of the roadmap item quantumlib#3243
This PR adopts the use of newly added
cirq.GateFamily
andcirq.Gateset
classes incirq/ion
,cirq/neutral_atoms
,cirq_pasqal
andcirq_ionq
.Note that functions
is_native_neutral_atom_op
andis_native_neutral_atom_gate
are now moot, but are part of the public API and hence are not removed. We can deprecate them later -- though, IMO, bothcirq/ion
andcirq/neutral_atoms
modules should be deprecated :)Follow up PRs will further adopt the use of Gatesets in
cirq/optimizers
andcirq_google/
This is part of the roadmap item #3243