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

Extend ZMask() to PhaseRootNMask() #876

Open
WrathfulSpatula opened this issue Aug 31, 2021 · 1 comment
Open

Extend ZMask() to PhaseRootNMask() #876

WrathfulSpatula opened this issue Aug 31, 2021 · 1 comment

Comments

@WrathfulSpatula
Copy link
Collaborator

WrathfulSpatula commented Aug 31, 2021

There's an obvious extension of ZMask() to "masked" S, T, and general PhaseRootN gates.ZMask() calculates parity of each masked permutation, and applies a -1 multiplicative factor if the parity is odd, achieving a batched set of masked Pauli Z gates. Similarly, for a general batched PhaseRootN gate, the effective extension of this parity calculation is to a ring with 2^(n+1) phase poles for the n-th root of -1, for a phase factor. (I can explain this in simpler terms, if a volunteer developer wants clarification.)

QEngine types could therefore be generally extended to arbitrary PhaseRootN gate fusion and batching, (along with Pauli X, which it already has). I don't think I'm going to personally take up this implementation immediately, but I might look at it by the weekend.

@WrathfulSpatula
Copy link
Collaborator Author

See the PR #874, for background.

@WrathfulSpatula WrathfulSpatula added the unitaryhack-bounty Unitary Fund Hackathon label May 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant