-
-
Notifications
You must be signed in to change notification settings - Fork 398
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
Add quantum state discrimination tutorial #3250
Conversation
Codecov ReportPatch and project coverage have no change.
Additional details and impacted files@@ Coverage Diff @@
## master #3250 +/- ##
=======================================
Coverage 98.09% 98.09%
=======================================
Files 34 34
Lines 4663 4664 +1
=======================================
+ Hits 4574 4575 +1
Misses 89 89
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
c1415de
to
37a9413
Compare
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.
A POVM is the set of PSD matrices over the states 1:N, not the individual matrices.
Co-authored-by: James Foster <[email protected]>
This all looks great to me. My only last question is whether you wanted to seed the random generation? |
Nah. It'll be okay. |
The task is the following: you are given an unknown quantum state, promised to come from a known set of n states (sampled with uniform probability, for simplicity). You need to find out which quantum state it is. The objective of the SDP is the probability of success, \sum_i p( guess i| state i)/n. The matrices E[i] are the POVM elements, encoding the optimal measurement you can do. |
More specific comments: one is interested in the value of the objective, not on the POVM elements, so I'd print the objective instead. Also, in the problem formulation I'd write the objective as \sum_i \operatorname{tr}(\rho_i E_i)/N instead of \mathbb{E}_i[ \operatorname{tr}(\rho_i E_i)]. Also worth remarking is that for N=2 the problem is trivial, with solution given by 0.5 + 0.25*sum(svdvals(rho[1]-rho[2])). |
In case it’s helpful, I have an example written with Convex.jl here, where I compare to the analytic solution for a simple example |
Updated with @araujoms suggestions. I don't know if we need to go into detail about the theory behind the model. People interested in |
Merging since we seem to have converged on this. Any other changes can happen in a new PR. |
x-ref #2348 (comment)
Also fixes #3245 (comment)
Still a WIP, because I don't really know enough physics to write about the problem we're solving, or what the solution represents.
Preview: https://jump.dev/JuMP.jl/previews/PR3250/tutorials/conic/quantum_discrimination/