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
Cross Entropy Benchmarking sample and simulate two qubits #3706
Conversation
- Two-qubit generation (no "pattern" argument, can do line qubits - use cirq objects in random circuit construction - Notebook showing the theory for the fidelity function.
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
Co-authored-by: Balint Pato <balopat@users.noreply.github.com>
Co-authored-by: Balint Pato <balopat@users.noreply.github.com>
anything else on this? |
Automerge cancelled: Merging is blocked (I don't understand why). |
@@ -0,0 +1,283 @@ | |||
{ |
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.
This notebook will eventually end up on the site. Please annotate the types with packages, e.g cirq.PhasedFSimGate
- this will create automated links to the names on the reference docs.
Reply via ReviewNB
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.
cool, done
@balopat back at you |
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 would still have to look at the code - though I trust @mrwojtek's review.
I have questions around adding tqdm.
@@ -14,3 +14,4 @@ sortedcontainers~=2.0 | |||
scipy | |||
sympy | |||
typing_extensions | |||
tqdm |
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.
New dependency alert!
In lieu of keeping cirq light, I'm hesitant to add tqdm as a dependency.
- We should check if this is going to break g3
- Can we make this somehow optional so that we reduce the dependency requirements for Cirq? (e.g.
cirq[ui]
orcirq[visualization]
or via making the default value progress bar NoProgress) - do we need to pin this?
- can we abstract it out better in our code instead of directly depending on it? That would help with testing progress logic as well as well as would help making it optional...
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.
If we're going to package our experiments/algorithms code in Cirq, we need to figure this out. For now, I can change it to default to no-progress but I think this hurts usability of this application code
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.
Fair point about if we package this together we'll have to deal with this - and that is the plan.
I'll make a mental note of this. I checked 1.) and we should be fine (though I haven't run tests on that version).
Automerge cancelled: A required status check is not present. Missing statuses: ['cla/google'] |
Very strange. All the commits look like they're authored by googlers (?) |
I've seen this error before when cirqbot gets confused...we should have a look for cases when lack of "cla/google" is blamed for no reason and fix it in CirqBot. |
Following #3669.
This wraps up the sampling and simulation functions teased in the previous notebook. It includes utilities for batching sampler requests and multiprocessing simulation. The notebook walks through how coherent error can cause fidelity to decay. In the next PR, we'll add an optimization loop to characterize the mystery angle.