-
Notifications
You must be signed in to change notification settings - Fork 165
Description
Dynamical evolution under a time-independent Hamiltonian and bath-interaction solves the master equation as
|rho(t)> = exp(L t) |rho(0)>
where L is a superoperator form of the Linbladian (containing the Hamiltonian and jump operators), and |rho> vectorises the density matrix.
See Sec 3.2.2 "The Markovian quantum master equation" of Breuer and Petruccione's 'The Theory of Open Quantum Systems' helpfully linked by Truman Yu Ng!
The term exp(L t) can be Trotterised into a series of tractable super-operators which QuEST can individually simulate. This permits noisy simulation without integrating the differential master equation.
Explore whether this is robust and suitable for QuEST! One could imagine interfaces like
applyUnitaryTimeEvolution(
Qureg qureg, PauliStrSum hamiltonian, qreal time, int order, int reps);
applyImaginaryTimeEvolution(
Qureg qureg, PauliStrSum hamiltonian, qreal tau, int order, int reps);
applyNoisyTimeEvolution(
Qureg qureg, PauliStrSum hamiltonian, CompMatr* jumps, int numJumps, qreal time, int order, int reps);where the first two wrap (for convenience) the existing apply(NonUnitary)TrotterizedPauliStrSumGadget() and the final uses an extension of the internal Trotter functions to "mix-in" non-Pauli-gadgets (the matrix exponential of the jumps operators must be found). We could alternatively restrict to only jump operators expressed in the Pauli basis (limited but still interesting), express L entirely as a non-Hermitian weighted sum of Pauli strings, and trotterise exclusively with the existing functions.