Skip to content

Explore Trotterisation of the super-Linbladian to simulate noisy dynamics #651

@TysonRayJones

Description

@TysonRayJones

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions