qutip / qutip

QuTiP: Quantum Toolbox in Python
https://qutip.org
BSD 3-Clause "New" or "Revised" License
1.69k stars 635 forks source link

Request to add a steadystate solver for periodic driven systems #1659

Closed albertomercurio closed 2 years ago

albertomercurio commented 3 years ago

Is your feature request related to a problem? Please describe. The current steadystate solver requires a time-independent Hamiltonian. This is obvious because a time-dependent Hamiltonian cannot have a steadystate. However, if the Hamiltonian can be decomposed in a time-independent part H_0 and a periodic time-dependent part cos(w t) * H_i, the system reaches a stroboscopic steadystate. If the perturbation is small, this stroboscopic steadystate fluctuates so slightly that it can be considered as a real steadystate.

Describe the solution you'd like I rewrote the Matrix Continued Fractions method implemented in the Quantum Toolbox for Matlab to fit with python and qutip objects. It is 100% working, with running times lower than the second with an Hamiltonian 40 x 40. I'm ready to do a pull request (this is my first time). I understood that I have to write an issue first right?

Ericgig commented 3 years ago

Hi albertomercurio, it's not needed to open an issue first but always nice to know it's coming. The feature seems interesting, thank you for contributing.

I took a quick look at your steadystate-floquet branch, the function look good. Have you added new tests for it? Please open the PR when you have time, it does not have to be final.

albertomercurio commented 3 years ago

Hi Ericgig, i tested it with a Rabi Hamiltonian. It returns the steadystate immediately! This is the plot of the master equation time evolution with the direct steadystate expectation value.