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

Measure using StabilizerStateChForm #3564

Merged
merged 10 commits into from
Dec 15, 2020
Merged

Conversation

smitsanghavi
Copy link
Collaborator

@smitsanghavi smitsanghavi commented Dec 2, 2020

Going through the paper, there is a way to simulate measurements without using the tableau.

Previous discussion at #2423 (comment).

@smitsanghavi smitsanghavi requested review from cduck, vtomole and a team as code owners December 2, 2020 08:50
@google-cla google-cla bot added the cla: yes Makes googlebot stop complaining. label Dec 2, 2020
@smitsanghavi
Copy link
Collaborator Author

The CliffordTableau is still not being removed from the CliffordSimulator because direct_fidelity_estimation still relies on the availability of stabilizers from CliffordState. We can move that to use the tableau directly

@tonybruguier
Copy link
Contributor

Hi,
I opened:
#3567

Copy link
Contributor

@balopat balopat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks simple enough - I do have to dig in myself and understand it before I can approve it.
In the meantime, do you mind adding a test for this?

@smitsanghavi
Copy link
Collaborator Author

smitsanghavi commented Dec 14, 2020

Looks simple enough - I do have to dig in myself and understand it before I can approve it.
In the meantime, do you mind adding a test for this?

I have added a test (not really a unit test since it's pretty error prone to initialize the detailed internal state before measurement by hand). Let me know if it looks good. My plan after this PR:

  • Add measurement support to ActOnStabilizerChFormArgs and update MeasurementGate to use this _measure method for that case
  • Update the test added here to use act_on instead of going through CliffordSimulator
  • Resume Perform CliffordState measurements via method dispatch #3503 but this time with StabilizerStateChForm instead of CliffordTableau
  • Remove CliffordTableau from CliffordSimulator

@smitsanghavi smitsanghavi requested a review from balopat December 14, 2020 02:04
@balopat balopat added the automerge Tells CirqBot to sync and merge this PR. (If it's running.) label Dec 15, 2020
@CirqBot CirqBot added the front_of_queue_automerge CirqBot uses this label to indicate (and remember) what's being merged next. label Dec 15, 2020
@CirqBot CirqBot merged commit 56160e4 into quantumlib:master Dec 15, 2020
@CirqBot CirqBot removed automerge Tells CirqBot to sync and merge this PR. (If it's running.) front_of_queue_automerge CirqBot uses this label to indicate (and remember) what's being merged next. labels Dec 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla: yes Makes googlebot stop complaining.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants