-
Notifications
You must be signed in to change notification settings - Fork 624
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
Instrument and operator-sum support #1673
Comments
@cgranade Thank you for the detailed write-up. I have some questions below. I have my own ideas of answers to some of these questions, but I'd like to hear yours.
Given that currently Either way, QobjEvo would need to support this too (probably not a giant amount of work, but some careful checking would be needed) & some other parts of the code might be surprised. @jakelishman had some ideas for revamping dims support in QuTiP. I don't think it's the same idea, but the two definitely overlap in terms of which parts of QuTiP they'd evolve. Jake, would you mind posting the link to your dims proposal here if you have it handy (apologies, I seem to have lost it). Even if dims isn't the right place for this, it would be good for me to reread it. |
I tagged this as QuTiP 5 (which is not to say it will be part of QuTiP 5, but just that if this does happen, QuTiP 5 is the place for it, not 4.7). |
Here is the proposal from Jake: #1476. |
No worries, thanks for giving it a readthrough!
A bit of that is covered in the design draft, but I think to my mind there's two main things that this would enable:
I don't think there is one, per se, in the same sense that there's no strict advantage to superoperators over Choi operators over χ operators — each is useful in different contexts, such that QuTiP supports all three in order to allow users to pick the right representation for their problem. Similarly, operator-sum decompositions of channels are quite common and are useful in some special circumstances (e.g.: expressing a Choi-rank–sparse channel without requiring a 4^n × 4^n matrix). In the Quantum Development Kit, for instance, we use
I'm not sure I entirely follow, sorry?
Perhaps, but at least for the operator-sum decomposition of channels, it would feel a bit weird to me to have superoperators, Choi operators and χ operators all have one Python type, but for Kraus representations to have a fully different Python type. Whether I represent Λ(ρ) by 0.9 𝟙ρ𝟙 + 0.1 𝑋ρ𝑋 or {√(0.9) 𝟙, √(0.1) 𝑋}, they both represent the same function from density operators to density operators.
My thought here would be that an operator-sum decomposition of a channel is just that: a representation of a channel. Thus, if
Fair enough; I guess my thinking there was that the term index is indeed just another kind of index, but if there's a better way to represent that in the metadata for a Qobj than in
Ah, nice, I hadn't realized! I'll take a look, then! |
@cgranade Eric and I discussed this a bit today. Would you like to have a video call to chat through these ideas? @jakelishman Would you like to join in if we can find a suitable time for you? |
@hodgestar @jakelishman I'd be happy to join a call, when works well on your end? |
Yeah, I can join in if that'll help - I'll have to re-read my own proposal (I wrote it nearly a year ago, and I moved on a lot since then!), but that's ok. I don't know exactly what timezones we're going to have, but I'm in the UK - I guess to line up with the west coast of the US, that means we'll meet in my evening. I can't really meet on Thursday or Friday evenings, but I'm usually fine on the other days. |
Call invitation sent. If any readers of this want to join, let me know. |
Quick update for readers: We (@cgranade, @jakelishman, @Ericgig and I) agreed that the best next step is to implement a draft |
@hodgestar @jakelishman @Ericgig Thanks for a fascinating discussion yesterday! I put together a (very) rough draft at #1687 to try and flesh out some of the ideas we discussed. Thank you again! |
Is your feature request related to a problem? Please describe.
It would be helpful to have a Qobj kind to represent operator-sum decompositions of channels (e.g.: Λ(ρ) = Σᵢ 𝐾ᵢρ𝐾ᵢ⁺) and instruments (e.g.: ρ ↦ Λᵢ(ρ) / Tr(Λᵢ(ρ)) with probability Tr(Λᵢ(ρ)), where {Λᵢ} are a set of completely positive trace non-increasing maps).
Describe the solution you'd like
See design draft at https://gist.github.com/cgranade/4a1d525c09745619716507cc3c2adee5.
Describe alternatives you've considered
See design draft at https://gist.github.com/cgranade/4a1d525c09745619716507cc3c2adee5.
The text was updated successfully, but these errors were encountered: