Ssesolve/smesolve integration method

7 views
Skip to first unread message

Salvatore Di Lorenzo

unread,
Apr 7, 2025, 9:25:31 AMApr 7
to QuTiP: Quantum Toolbox in Python
Hi everybody,
I'm a Master's student at Copenhagen University and I'm doing simulations of two particles on a Hubbard chain and with measurements on site occupation involved and I'm using ssesolve for that. I tried to simulate the same system but using a stochastic solver I built myself, and what I noticed is that, in order to reproduce the qutip results I need way bigger number of instants give a certain time. So if I put T=100, N_times=10000 with ssesolve, I need to do T=100, N_times = 500000 with my solver (otherwise I get weird stuff like the two particles getting on the same site despite a repulsive potential).
So I was wondering which numerical integration method does Qutip use to solve the Stocahstic Schrödinger/master equation. I've tried to read the documentation but it wasn't that easy and I found many references to other functions maybe defined elsewhere, that I don't know how to find.

Éric Giguère

unread,
Apr 7, 2025, 10:04:04 AMApr 7
to QuTiP: Quantum Toolbox in Python
Qutip has multiple SODE method available. 
But most of them only support smesolve...

The default method for ssesolve is "platen",  "euler", "explicit1.5" and "rouchon" are also supported.

I am not sure what you mean by N_times, but if you created your tlist with `np.linspace(0, T, N_times)`, this N_times does not affect the step length of the solver.
The options `dt` controls it, the default is `0.001`. So you are probably using 100000 steps with qutip.

qutip.ssesolve(
    H, 
    psi_0, 
    tlist=np.linspace(0, 2, 11),
    sc_ops=
sc_ops,
    e_ops=e_ops,
    options={"method": "rouchon", "dt": 0.0005},
    ntraj=1,
)

Hope this help
Reply all
Reply to author
Forward
0 new messages