Quantum-Classical Path Integral

QCPI provides a rigorous way of coupling a classical-like solvent to a quantum system. The method has been outlined in QCPI1, QCPI2, reference propagators.

API

QuantumDynamics.QCPI.propagateFunction
propagate(; Hamiltonian::Matrix{ComplexF64}, Jw::SpectralDensities.SpectralDensity, solvent::Solvents.Solvent, ρ0::Matrix{ComplexF64}, classical_dt::Real, dt::Real, ntimes::Int, kmax::Int, reference_choice::String, path_integral_routine, extraargs::Utilities.ExtraArgs, svec=[1.0 -1.0], verbose::Bool=false)

Use QCPI to propagate an initial density matrix, ρ0, under a given Hamiltonian with a solvent that is described by solvent and a corresponding spectral density Jw.

source

The solvent shown here is encoded in the Solvents submodule:

The Solvents submodule defines a general Solvent type and an associated PhaseSpace type.

QuantumDynamics.Solvents.SolventType

Abstract type for every solvent. Every solvent needs to implement Base.iterate, which returns the next sample of the phase-space, and a propagate_trajectory method which propagates a given phasespace point using classical mechanics.

source