How can I implement a negative loss rate in QuTip

129 views
Skip to first unread message

Diego Alejandro Rasero Causil

unread,
Mar 23, 2022, 3:23:16 PM3/23/22
to QuTiP: Quantum Toolbox in Python
Hi all,

I am trying to do a master equation calculation with a negative loss rate.
For example, let the cavity decay rate be equal to the negative of the spontaneous emission rate (kappa = - gamma). See the paper: Zero eigenvalues of a photon blockade induced by a non-Hermitian Hamiltonian with a gain cavity. Physical Review A 97, 043819 (2018).

However in QuTip the collapse operators are defined in terms of the square root of the loss rates. For example, for cavity loss: sqrt(kappa)*a, where a is the annihilation operator.
Using numpy, np.sqrt(kappa)*a, it gives me error.
I tried with cmath.sqrt(kappa)*a and it gives me the same result that I get when taking positive kappa.
So my question is: How can I implement a negative loss rate in QuTip?

Simon Cross

unread,
Apr 13, 2022, 9:28:09 AM4/13/22
to qu...@googlegroups.com
Hi Diego,

You didn't mention what error you received, but the initial error was
likely because your kappa was of type float rather than complex.

If you examine the Lindblad master equation, you will see that adding
a factor of i to a C_n doesn't alter any of the terms in the equation
(because i * conj(i) == 1) so the same result is expected.

It sounds like your use case goes beyond the standard master equation
formalism and I don't think this particular extension is supported
currently (although it's possible it could be described using another
QuTiP solver -- I don't know all of them in detail and I haven't read
the paper you mentioned).

Regards,
Simon

Neill Lambert

unread,
Apr 13, 2022, 9:43:21 AM4/13/22
to qu...@googlegroups.com
hi diego,

just to add to simon's comment, you can construct arbitrary Liouvillians yourself, e.g., something like

L  = - 1j * (spre(H) - spost(H)) +  kappa*(sprepost(c,c.dag()) - 0.5*spre(c.dag() * c) - 0.5*spost(c.dag() * c))

and use those with mesolve(L, psi0, times,[],[])
However, yeah its not guaranteed to give you physical results for arbitrary negative rates!

All the best
neill

--
You received this message because you are subscribed to the Google Groups "QuTiP: Quantum Toolbox in Python" group.
To unsubscribe from this group and stop receiving emails from it, send an email to qutip+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/qutip/CAD5NRCEq5VbKXhY_D3sWU%2B1m3O0hQu0AHkEeo7%2B-BGy1gr2eWQ%40mail.gmail.com.


--
-----------------------------------
Senior Research Scientist
RIKEN, Japan
Research Homepage

Simon Cross

unread,
Apr 13, 2022, 10:24:58 AM4/13/22
to qu...@googlegroups.com
Neill: Thank you for chiming in with the suggestion -- I should have
thought of that too. Doh!

DIEGO ALEJANDRO RASERO CAUSIL

unread,
Apr 13, 2022, 5:36:33 PM4/13/22
to QuTiP: Quantum Toolbox in Python
Thanks for the indication.
I am testing with the Liouvillian that Neil sent me and I have managed to reproduce some graphs of the mentioned paper.
To simulate the negative kappa rate I made the change: kappa*(- sprepost(c,c.dag()) + 0.5*spre(c.dag() * c) + 0.5*spost(c.dag() * c)) and it worked.
Thanks, again.

Simon Cross

unread,
Apr 13, 2022, 5:37:10 PM4/13/22
to qu...@googlegroups.com
Great to hear it worked! :D

mehrosadat ebrahimi

unread,
Aug 11, 2022, 12:30:19 AM8/11/22
to QuTiP: Quantum Toolbox in Python
Hi neil,

What about if one wants to consider the thermal noise of the mode c that you have considered in the Liouvillians ?
In other words, how should we change the Liouvillians such that the effect of thermal noise also be included?


Bests
Mehri
Reply all
Reply to author
Forward
0 new messages