-
Notifications
You must be signed in to change notification settings - Fork 110
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
How to choose a right algorithm in stochastic.schroedinger() #291
Comments
Hi! It really depends on your problem. In the example where the atom dephases the stochastic Hamiltonian is taken in the Stratonovich sense (hence the |
Thanks for your reply @david-pl ! Well my purpose is to simulate a master equation using stochastic Schrödinger equation. The jump operators are still sigmax, sigmaz and sigmay or sum of them which are always Hermitian. To some extent, it is a "generalized dephase process". So it should also be taken in the Stratonovich sense as your example. But I don't know why Stratonovich is a better choice. |
As I said before, this really depends on your problem. If you have a master equation that can be mapped to a stochastic Hamiltonian where the noise is to be taken in the Stratonovich sense ("normal" calculus), then you can only use algorithms that work in the Stratonovich sense, otherwise you will get different results (Ito calculus works differently). Since you mentioned you get better agreement between the master equation and the Stratonovich stochastic Schrödinger equation, I assume that this is sort of a numerical proof that your master equation maps to a Stratonovich stochastic equation.
I don't understand what you mean here. Did you try to discretize the integration using a fixed time step? |
Thanks for your detailed explanation to my questions. I also note the following words in the example
Does it mean that the corresponding master equation can be obtained from Ito calculus? Is there any conflict? It maybe a stupid question since I am not very familiar with stochastic equation.
|
The master equation can be obtained by averaging the stochastic Von-Neumann equation over the noise. In principle, it does not matter whether you write the stochastic equation down in Ito or Stratonovich sense, the average should give the same result (the same master equation). The reason for transforming the equation to Ito is that the averaging is easier since the average over the density operator times the noise vanishes for a Markovian density operator. See Appendix A of this paper: https://arxiv.org/pdf/1605.00874.pdf This means that the master equation can be obtained from either Ito or Stratonovich. The result is the same master equation, but the stochastic VN equation has a different form depending on whether it is written in Ito or Stratonovich. The averaging over the noise is tricky in the Stratonovich sense and the easiest way is really to transform to Ito, which is why I wrote that comment in the example.
Just to sure I'm not adding into the confusion here, let me clarify once more: The master equation is the same, regardless of whether you write your stochastic Hamiltonian in the Ito or Stratonovich sense. However, depending on which you choose the stochastic Hamiltonian will be different. Therefore, once you specify your stochastic Hamiltonian you can only solve it with either in the Stratonovich sense or the Ito (depending on which form of the Hamiltonian you have). Otherwise you will get wrong results, that differ from the master equation results. In the example where an atom dephases, the Hamiltonian is written in the Stratonovich sense and thus is solve with In principle I suppose that also means you could find an Ito form of the stochastic Hamiltonian. But if your Hamiltonian is the same as the one in the dephasing example, it is to be taken in the Stratonovich sense. Also, I actually don't know how that Hamiltonian would look when written in Ito calculus, and I'm not sure how you would go about finding that form. |
Thanks for your comprehensive replies! It helps me a lot. The last question is about the integration of stochastic equation using a fixed time step. The relative error increases quickly as time goes by. It should be caused by the first-order approximation. Thanks for your help again. |
You're welcome.
Okay so I guess you're basically using a Euler method to solve? The |
Hi, I feel puzzled about the usage of
stochastic.schroedinger
in example "dephase of atom", where you use a different algorithm in the packageStochasticDiffEq
. I can't see why we need another algorithm here. The stochastic Hamiltonian in the example looks as same as the one in the section "Stochastic Schrödinger equation". I compare the results of two algorithms and find that the results ofRKMil(:Stratonovich)
are indeed better agreement with the results of master equation. So does the right algorithm should beRKMil(:Stratonovich)
? Can you tell me how to choose the right one? Thanks!The text was updated successfully, but these errors were encountered: