tempoCollaboration / OQuPy

A Python package to efficiently simulate non-Markovian open quantum systems with process tensors.
https://oqupy.readthedocs.io
Apache License 2.0
71 stars 24 forks source link

Gibbs state tempo #92

Closed aidanstrathearn closed 1 week ago

aidanstrathearn commented 1 year ago

Hi all,

It would be good to have an implementation of TEMPO for finding reduced gibbs states, as in PhysRevA.106.012204.

I think the main requirements are:

  1. A backend that has the initial state state as an optional argument, with the initial input leg left dangling off the side of the propagated mps if no initial state given. This would also allow the standard TEMPO algorithm to have the option to calculate dynamical maps rather than just dynamics of an initial state (though maybe not as efficiently as PT-TEMPO).
  2. A new class in the tempo.py module using the new backend which will output a single density matrix representing the reduced gibbs state. Since the reduced gibbs state is nominally the steady state of standard TEMPO a nicer option might be to implement it as a 'compute_steady_state' method of the existing Tempo class.
  3. A correlations class which can handle imaginary time arguments.

I've made a start by creating a correlations class which lets you pass complex arguments to the bath correlation function, giving the same outputs as CustomSD when restricting to real time arguments. It also calculates the eta coefficients without needing the integrand dictionary that CustomSD uses.

My branch for this: https://github.com/aidanstrathearn/OQuPy/tree/gibbs_state

Aidan

gefux commented 1 year ago

Hi @aidanstrathearn. Yes, as we've discussed, this would be a great addition to the package. Maybe you give us (the maintainers) a ring here when you think you have a first prototype code, then we can look at it together and discuss a bit over some video conference platform. Happy coding!

gefux commented 1 week ago

Implemented with #131