`AbstractOperator` operations necessary for Lindblad Master Equation
Created by: PhilipVinc
When working with the lindblad master equation the user typically specifies an hamiltonian and a set of loss operators L_i, which are in general non-hermitian. L_i
and usually local, though it might be interesting to see what happens with nonlocal dissipation (even if there is not much literature on the subject, e.g. a system that dissipates only from the k=0 mode).
What we need is a way to construct, given an AbstractOperator
L_i, the AbstractOperator
L_i^\dagger L_i. Therefore we need to support the following three operations:
-
Transpose -
Conjugation -
Product
Defining those as virtual methods on the abstract base class would require that all AbstractOperators
, even those not really relevant to Loss Operators, support this operation.
To keep things simple, I propose we start by only supporting LocalOperator
s as loss operators, and implement those 3 operations there. In the future we might relax this constraint.
@gcarleo What do you think?