qucontrol / krotov

Python implementation of Krotov's method for quantum optimal control
https://qucontrol.github.io/krotov
Other
70 stars 29 forks source link

Use stateful solver class in QuTiP 5.0 #119

Open goerz opened 5 months ago

goerz commented 5 months ago

The example at https://qutip.readthedocs.io/en/v5.0.2/guide/dynamics/dynamics-class.html#stepping-through-the-run seems to indicate that in QuTiP 5.0, it is now possible to step through the propagation timestep-by-timestep, and more importantly, to update the control field after each time step.

This should get around the problem first described in https://github.com/qucontrol/krotov/issues/93, and could a major improvement for the krotov package: The overhead from time propagation with the Krotov-specific "sequential update" has always been the bottleneck for this package. If this can be resolved, the krotov package would become applicable to significantly larger systems. For example, a gate optimization for two transmons (not truncated to two levels) has not been feasible, and the equivalent Python example had to restrict itself to a dramatically simplified setup. If everything with QuTiP 5.0 works as it looks it might, I would think that would enable to krotov package to optimize the "full" example.

Obviously, this depends on compatibility with the new QuTiP version (#116)

@BoxiLi @MatthiKrauss