Blip decomposition of the path integral
The blip decomposition of the path integral, as described in Blip1 and Blip2, is a different representation of the path integral that significantly reduces the number of "paths" that need to be considered.
API
QuantumDynamics.Blip.build_augmented_propagator
— Functionbuild_augmented_propagator(; fbU::AbstractArray{ComplexF64,3}, Jw::Vector{T}, β::Real, dt::Real, ntimes::Int, kmax::Union{Int,Nothing}=nothing, extraargs::BlipArgs=BlipArgs(), svec=[1.0 -1.0], reference_prop=false, verbose::Bool=false, output::Union{Nothing,HDF5.Group}=nothing, from_TTM::Bool=false, exec=ThreadedEx()) where {T<:SpectralDensities.SpectralDensity}
Builds the propagators, augmented with the influence of the harmonic baths defined by the spectral densities Jw
, upto ntimes
time-steps without iteration using the blip decomposition in a shared memory parallel manner. The paths are, consequently, generated in the space of unique blips and not stored. So, while the space requirement is minimal and constant, the time complexity for each time-step grows by an additional factor of $b$, where $b$ is the number of unique blip-values. The i^th bath, described by Jw[i]
, interacts with the system through the diagonal operator with the values of svec[j,:]
.
Arguments:
fbU
: time-series of forward-backward propagatorsJw
: array of spectral densitiessvec
: diagonal elements of system operators through which the corresponding baths interact. QuAPI currently only works for baths with diagonal coupling to the system.β
: inverse temperaturedt
: time-step for recording the density matricesntimes
: number of time steps of simulationextraargs
: extra arguments for the blip algorithm. Contains themax_blips
threshold for number of blips, and thenum_changes
threshold on the number of blip-to-blip changes.exec
: FLoops.jl execution policy
QuantumDynamics.Blip.BlipArgs
— TypeFiltration parameters for blips. Currently has the maximum number of blips allowed, which by default is -1 (implying all blips are allowed), and the maximum allowed number of changes in the state of the system along the forward backward path that takes it between two different blip states.