Fermionic Bath

Overview

The FermionBath object describes the interaction between the system ($s$) and a exterior fermionic environment ($f$), which can be modeled by

\[H_{sf}=\sum_k g_k c_k^\dagger d_s + g_k^* c_k d_s^\dagger,\]

where $g_k$ is the coupling strength and $c_k (c_k^\dagger)$ annihilates (creates) a fermion in the $k$-th state of the fermionic environment. Here, $d_s$ refers to the system-interaction operator and should be an odd-parity operator destroying a fermion in the system.

The effects of a fermionic environment (initially in thermal equilibrium and linearly coupled to the system) are completely encoded in the two-time correlation functions, namely

\[C^{\nu}(t_{1},t_{2}) =\frac{1}{2\pi}\int_{-\infty}^{\infty} d\omega J(\omega)\left[\frac{1-\nu}{2}+\nu n(\omega) \right]e^{\nu i\omega (t_{1}-t_{2})}.\]

where $J(\omega)=2\pi\Sigma_k |g_k|^2 \delta(\omega-\omega_k)$ is the spectral density of the bath and $n(\omega)=\{\exp[(\omega-\mu)/k_B T]+1\}^{-1}$ represents the Fermi-Dirac distribution (with chemical potential $\mu$). Here, $\nu=+$ and $\nu=-$ denotes the absorption and emission process of the fermionic system, respectively.

A more practical representation can be found by expressing the correlation function as a sum of exponential terms (Exponent), namely

\[C^{\nu}(t_1, t_2)=\sum_i \eta_i^{\nu} e^{-\gamma_i^{\nu} (t_1-t_2)}.\]

This allows us to define an iterative procedure which leads to the hierarchical equations of motion (HEOM).

Construct FermionBath

One can construct the FermionBath object with the system annihilation operator ds::QuantumObject and the four lists η_absorb::AbstractVector, γ_absorb::AbstractVector, η_emit::AbstractVector and γ_emit::AbstractVector which correspond to the exponential terms $\{\eta_i^{+}\}_i$, $\{\gamma_i^{+}\}_i$, $\{\eta_i^{-}\}_i$ and $\{\gamma_i^{-}\}_i$, respectively.

bath = FermionBath(ds, η_absorb, γ_absorb, η_emit, γ_emit)
Warning

Here, the length of the four lists (η_absorb, γ_absorb, η_emit and γ_emit) should all be the same. Also, all the elements in γ_absorb should be complex conjugate of the corresponding elements in γ_emit.

Note

Instead of analytically solving the correlation function $C^{\nu=\pm}(t_1, t_2)$ to obtain a sum of exponential terms, one can also use the built-in functions (for different spectral densities $J(\omega)$ and spectral decomposition methods, which have been analytically solved by the developers already). See the other categories of the Fermionic Bath in the sidebar for more details.

One can check the information of the FermionBath by the print function, for example:

print(bath)
FermionBath object with 4 exponential-expansion terms

Note that FermionBath always have even number of exponential terms (half for $C^{\nu=+}$ and half for $C^{\nu=-}$)

Calculate the correlation function

To check whether the exponential terms in the FermionBath is correct or not, one can call correlation_function to calculate the correlation function $C(t)$, where $t=t_1-t_2$:

cp_list, cm_list = correlation_function(bath, tlist)

Here, cp_list and cm_list are the lists which contain the value of $C^{\nu=+}(t)$ and $C^{\nu=-}(t)$ correspond to the given time series tlist, respectively.

Exponent

HierarchicalEOM.jl also supports users to access the specific exponential term with brackets []. This returns an Exponent object, which contains the corresponding value of $\eta_i^\nu$ and $\gamma_i^\nu$:

e = bath[2] # the 2nd-term
print(e)
Bath Exponent with types = "fA", η = 0.0 + 3.4090909090909113e-6im, γ = 0.1732050807568877 - 0.005im.

The different types of the (fermionic-bath) Exponent:

  • "fA" : from absorption fermionic correlation function $C^{\nu=+}(t_1, t_2)$
  • "fE" : from emission fermionic correlation function $C^{\nu=-}(t_1, t_2)$

One can even obtain the Exponent with iterative method:

for e in bath
    println(e)
end
Bath Exponent with types = "fA", η = 6.25e-6 - 3.4090909090909113e-6im, γ = 0.05 - 0.005im.

Bath Exponent with types = "fA", η = 0.0 + 3.4090909090909113e-6im, γ = 0.1732050807568877 - 0.005im.

Bath Exponent with types = "fE", η = 6.25e-6 - 3.4090909090909113e-6im, γ = 0.05 + 0.005im.

Bath Exponent with types = "fE", η = 0.0 + 3.4090909090909113e-6im, γ = 0.1732050807568877 + 0.005im.