qutip
qutip copied to clipboard
Correlation using v5 solver
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
andtaulist
. 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 beQobjEvo
.
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.)