Empirical Approaches

Before jumping into systematic solutions of the dynamics of open quantum systems, let us illustrate a couple of ad-hoc approaches to modeling such systems. The first approach considered here is the celebrated Linblad Master Equations. Thereafter, we also demonstrate how to use QuantumDynamics to simulate the dynamics corresponding to non-Hermitian systems.

For all the examples that are shown here, the following setup remains the same:

using QuantumDynamics
using Plots, LaTeXStrings

dt = 0.125
ntimes = 200

ρ0 = [1.0+0.0im 0.0; 0.0 0.0]

We are using a time-step of $0.125$ and simulating for $200$ time steps. We start the simulation from an initial condition localized on one of the states.

Bare Hermitian System

The Hermitian Hamiltonian considered here is:

H = Utilities.create_tls_hamiltonian(; ϵ=0.0, Δ=2.0)

Now we solve Heisenberg's equation of motion for the reduced density matrix:

times, ρs = Bare.propagate(; Hamiltonian=H, ρ0, dt, ntimes);

Bare Hermitian System

Lindblad Master Equation

The same interface can be used to solve the Lindblad Master Equation by providing an array of non-Hermitian dissipative collapse operators, L.

L = [[0.0+0.0im 0; 0.75 0]]
times, ρs = Bare.propagate(; Hamiltonian=H, ρ0, dt, ntimes, L);

Lindblad Master Equation

Non-Hermitian System

Dynamics described by non-Hermitian systems is heavily dependent on the type of non-Hermitian term. Consider an arbitrary non-PT-symmetric non-Hermitian Hamiltonian.

H = [exp(-1.5im) -0.75; -0.75 exp(0.75im)]
datum = (H[1,1]+H[2,2])/2
H[1,1] -= datum
H[2,2] -= datum

The dynamics is simulated in a way that is identical to that of the bare Hermitian system.

times, ρs = Bare.propagate(; Hamiltonian=H, ρ0, dt, ntimes);
plot(times, real(ρs[:,1,1]), label=L"P_1(t)", lw = 2)
plot!(times, real(ρs[:,2,2]), label=L"P_2(t)", lw = 2)
xlabel!(L"t")
ylabel!("Population")

Non-Hermitian System