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_propagatorFunction
build_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 propagators
  • Jw: array of spectral densities
  • svec: diagonal elements of system operators through which the corresponding baths interact. QuAPI currently only works for baths with diagonal coupling to the system.
  • β: inverse temperature
  • dt: time-step for recording the density matrices
  • ntimes: number of time steps of simulation
  • extraargs: extra arguments for the blip algorithm. Contains the max_blips threshold for number of blips, and the num_changes threshold on the number of blip-to-blip changes.
  • exec: FLoops.jl execution policy
source
QuantumDynamics.Blip.BlipArgsType

Filtration 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.

source