Update: * Dual space is bad. In particular, when you transform a linear operator: What comes out? I cannot represent an operator by a dual-space state and vice versa * Operating in the dual space requires to fulfill consistency conditions to ensure that you stay within the manifold of physically sensible states. * Needs sparse matrices to work at all, for which there is currently not even a ticket.
While working on [#158], it turned out that it is pretty difficult to set up a prototypical Lindblad equation from a simple model (Fermi's golden rule in this case), except for simple toy systems.
A simpler approach, more in line with the Matlab code, would be to go to the dual space. Density operators become simple "wavefunctions" in the dual space, while Liouvillians become linear operators.
Instead of a Lindblad jump operator, we can then set up a quantum master equation by directly specifying the linear operator, which is much simpler to reason about, e.g. ,for a direct rate equation (pure relaxation without dephasing).
The drawback of the dual space is the high dimensionality of all operations: For a representation of size N, Applying a Liouvillian becomes a multiplication with a matrix of dimension N^2 x N^2, for a total of N^4 operations. In contrast, a Liouvillian in the worst case is a set of matrix multiplications between operators and density matrices that scale with N^3 each. This can be alleviated by small dimensions or possibly by sparse matrices for the operators in the dual space.
Diff:
Related
Tickets:
#158