qutip icon indicating copy to clipboard operation
qutip copied to clipboard

Correlation using v5 solver

Open Ericgig opened this issue 2 years ago • 0 comments

Description Update correlation functions to use v5 solvers. The interface remain the mostly the same, I only made a few changes:

  • Support for mcsolve as a back-end is removed. It was very slow, had a low precision and the saved memory is not as useful as it was 10 years ago. Removing it simplify the code a lot, but i can add it back if there is demand for it.
  • Time-dependent Hamiltonian no longer support numpy array format: some correlation have 2 times list: tlist and taulist. It was not clear which one was to be used when using that format. QobjEvo input are supported, so building it before passing it to the correlation function is the way to go.
  • a_op, b_op, c_op can be QobjEvo.

Spectrum functions have been moved to their own file, but are mostly unchanged.

I added correlation_3op which work as other correlation functions, but take a Solver instead of an Hamiltonian and c_ops. This allows any solver able to evolve density matrices to be used (BRSolver, HEOMSolver). It is only one function that support it directly: adding support of Solver to existing function would make the interface quite complicated, and changing it would break a lot of code and calling them using H is useful.

Fixed a small bugs in brmesolve and heom. I added data type option for the eigen solver of the diag integrator as it would otherwise sometime fail with cases in correlation (system and state not hermitian.)

Ericgig avatar Sep 22 '22 19:09 Ericgig