qutip solver issues

28 views
Skip to first unread message

Mohamed Ahmed Eltohfa

unread,
Jun 27, 2024, 12:34:12 PMJun 27
to QuTiP: Quantum Toolbox in Python
I thought about this for a while and I cannot find where things go wrong. I am simulating the evolution one atom decaying with a collapse operator destroy(2), and the Hamiltonian is 0. The initial density operator is |e><g| which is, I think, a state that should decay with rate 1/2. However, when I simulate using mesolve, I get the same state at each time step. I feel this is wrong, but I cannot find the buy in my thinking or in qutip!

Paul Menczel

unread,
Jun 27, 2024, 11:53:24 PMJun 27
to QuTiP: Quantum Toolbox in Python
Hello,

I suspect the problem is that |e><g| is not a density operator. A density operator must always have trace one.
Perhaps you mean either the mixed state `(|e><e| + |g><g|) / 2` or the superposition state `(|e> + |g>)(<e| + <g|) / 2`?

Best regards,
Paul

Mohamed Ahmed Eltohfa

unread,
Jun 29, 2024, 10:46:40 AMJun 29
to QuTiP: Quantum Toolbox in Python
Thank you for you answer, Paul. I know that my state is not a valid density operator. But if QuTiP treats the master equation as a matrix differential equation with no constraints on the trace or positivity, then the state |e><g| is an eigenstate with eigenvalue -1/2 meaning it should decay to the zero matrix after a while. 

The reason I was evolving this density operator (which is not a strictly valid one) is related to calculating the time autocorrelation function of the electric field emitted during the decay of |e><e| state. In this case, I learned that I  should act by the sigma + on the right of the excited state, evolve the system, and then evaluate the expectation value of sigma - at each time step. This expectation value should be the time autocorrelation function.

nwla...@gmail.com

unread,
Jun 29, 2024, 9:14:40 PMJun 29
to QuTiP: Quantum Toolbox in Python
hi mohamed,

this sounds like an issue that has come up a few times in v5 with mesolve doing automatic normalization, see https://github.com/qutip/qutip/pull/2427

Try either mesolve(..., options={"normalize_output": False}), or use the latest version of qutip from github that includes the above PR, and see if it resolves the problem

Mohamed Ahmed Eltohfa

unread,
Jun 30, 2024, 11:13:33 AMJun 30
to QuTiP: Quantum Toolbox in Python
Thank you so much. I was about to write my own solver code to bypass this issue. That will save me a lot of time.
Reply all
Reply to author
Forward
0 new messages