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

Deprecate PauliTransform? #4088

Closed
bichengying opened this issue May 6, 2021 · 3 comments · Fixed by #5498
Closed

Deprecate PauliTransform? #4088

bichengying opened this issue May 6, 2021 · 3 comments · Fixed by #5498
Assignees
Labels
area/clifford-group kind/health For CI/testing/release process/refactoring/technical debt items

Comments

@bichengying
Copy link
Collaborator

Under the ops.clifford_gate, there is a data structure PauliTransform, which is just a named tuple

PauliTransform = NamedTuple('PauliTransform', [('to', Pauli), ('flip', bool)])
document(PauliTransform, """+X, -X, +Y, -Y, +Z, or -Z.""")

The reason I suggest deprecation is

  1. It is only used in SingleQubitCliffordGate.
  2. For multiple qubits Clifford gate, this named structure doesn't fit.
  3. We have a replacement now -- DensePauliString.
  4. The stabilizers and destabilizers of Clifford Tableau return as DensePauliString anyway.

The benefit of keeping PauliTransform is it is much more light-weighted than DensePauliString. But I think the benefits is marginal.

@bichengying bichengying added the kind/health For CI/testing/release process/refactoring/technical debt items label May 6, 2021
@Strilanc
Copy link
Contributor

Agreed, should deprecate because obsoleted by DensePauliString and not widely used.

CirqBot pushed a commit that referenced this issue Sep 28, 2021
…rdTableau (#4165)

The current implementation of SingleQubitCliffordGate is based on `rotation_map` and `inverse_rotation_map`. It is concise for SingleQubitCliffordGate but hard to extend into any number of qubits clifford gates. For generalization, this PR replaces them by the `CliffordTableau`.  All functionalities and interfaces of SingleCliffordGate should be the same after the replacement. [WIP for #3639].

I didn't deprecate PauliTransform (#4088) in this PR for minimize the PR's responsibility. But after this PR, it will be easy to do it.
@MichaelBroughton
Copy link
Collaborator

@ybc1991 can we close this ?

@dabacon
Copy link
Collaborator

dabacon commented Jun 9, 2022

@MichaelBroughton I think this still exists. This is one to deprecate before 0.15?

@dstrain115 dstrain115 self-assigned this Jun 13, 2022
dstrain115 added a commit to dstrain115/Cirq-1 that referenced this issue Jun 13, 2022
- PauliTransform is only used with SingleQubitCliffordGate,
is not easily extensible for multi-qubit gates, and has
been obsoleted by DensePauliString

Fixes: quantumlib#4088
CirqBot pushed a commit that referenced this issue Jun 16, 2022
- PauliTransform is only used with SingleQubitCliffordGate,
is not easily extensible for multi-qubit gates, and has
been obsoleted by DensePauliString

Fixes: #4088
rht pushed a commit to rht/Cirq that referenced this issue May 1, 2023
…rdTableau (quantumlib#4165)

The current implementation of SingleQubitCliffordGate is based on `rotation_map` and `inverse_rotation_map`. It is concise for SingleQubitCliffordGate but hard to extend into any number of qubits clifford gates. For generalization, this PR replaces them by the `CliffordTableau`.  All functionalities and interfaces of SingleCliffordGate should be the same after the replacement. [WIP for quantumlib#3639].

I didn't deprecate PauliTransform (quantumlib#4088) in this PR for minimize the PR's responsibility. But after this PR, it will be easy to do it.
rht pushed a commit to rht/Cirq that referenced this issue May 1, 2023
- PauliTransform is only used with SingleQubitCliffordGate,
is not easily extensible for multi-qubit gates, and has
been obsoleted by DensePauliString

Fixes: quantumlib#4088
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/clifford-group kind/health For CI/testing/release process/refactoring/technical debt items
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants