diff --git a/.documenter-siteinfo.json b/.documenter-siteinfo.json
index d1e448a..d7b34a7 100644
--- a/.documenter-siteinfo.json
+++ b/.documenter-siteinfo.json
@@ -1 +1 @@
-{"documenter":{"julia_version":"1.9.3","generation_timestamp":"2023-10-27T07:37:31","documenter_version":"1.1.2"}}
\ No newline at end of file
+{"documenter":{"julia_version":"1.9.3","generation_timestamp":"2023-10-30T12:35:55","documenter_version":"1.1.2"}}
\ No newline at end of file
diff --git a/about/index.html b/about/index.html
index e5b784d..2955aaa 100644
--- a/about/index.html
+++ b/about/index.html
@@ -1,2 +1,2 @@
-
QInchworm.jl is developed by Igor Krivenko, Hugo U. R. Strand and Joseph Kleinhenz and is distributed under the terms of the GNU General Public License version 3 or later.
Development of this package has been possible thanks to European Research Council's (ERC) support via the grant agreement No. 854843-FASTCORR.
Large scale testing and benchmarking were enabled by resources from the National Academic Infrastructure for Supercomputing in Sweden (NAISS) and the Swedish National Infrastructure for Computing (SNIC) (projects SNIC 2022/21-15, SNIC 2022/13-9, SNIC 2022/6-113, SNIC 2022/1-18) with partial funding by the Swedish Research Council (grant agreements No. 2022-06725 and No. 2018-05973).
Settings
This document was generated with Documenter.jl version 1.1.2 on Friday 27 October 2023. Using Julia version 1.9.3.
ed: Exact diagonalization solution of the local problem.
grid: Contour time grid to define the local propagators on.
interaction_pairs: The list of pair interactions to expand in.
corr_operators: The list of operator pairs used in accumulation of two-point correlation functions.
interpolate_ppgf: Use a quadratic spline interpolation to represent and evaluate the local propagators. Currently works only with the imaginary time propagators.
ed: Exact diagonalization solution of the local problem.
grid: Contour time grid to define the local propagators on.
interaction_pairs: The list of pair interactions to expand in.
corr_operators: The list of operator pairs used in accumulation of two-point correlation functions.
interpolate_ppgf: Use a quadratic spline interpolation to represent and evaluate the local propagators. Currently works only with the imaginary time propagators.
A higher-level constructor of Expansion that solves the local problem defined by a Hamiltonian and internally generates a list of pseudo-particle pair interactions from hybridization and $nn$-interaction functions.
Parameters
hamiltonian: Hamiltonian of the local problem.
soi: An ordered set of indices carried by creation/annihilation operators of the local problem.
grid: Imaginary time grid to define the local propagators on.
hybridization: A matrix-valued hybridization function $\Delta_{ij}(\tau)$. A correspondence between the matrix elements $(i, j)$ and operators $c^\dagger_i, c_j$ is established by soi.
nn_interaction: A matrix-valued $nn$-interaction function $U_{ij}(\tau)$. A correspondence between the matrix elements $(i, j)$ and operators $n_i, n_j$ is established by soi.
corr_operators: The list of operator pairs used in accumulation of two-point correlation functions.
interpolate_ppgf: Use a quadratic spline interpolation to represent and evaluate the local propagators.
Data type for pseudo-particle interactions containing two operators and one scalar propagator.
Indexed access to the operators stored in a pair::InteractionPair is supported: pair[1] and pair[2] are equivalent to pair.operator_i and pair.operator_f respectively.
Fields
operator_f::KeldyshED.Operators.RealOperatorExpr: Final time operator
operator_i::KeldyshED.Operators.RealOperatorExpr: Initial time operator
A higher-level constructor of Expansion that solves the local problem defined by a Hamiltonian and internally generates a list of pseudo-particle pair interactions from hybridization and $nn$-interaction functions.
Parameters
hamiltonian: Hamiltonian of the local problem.
soi: An ordered set of indices carried by creation/annihilation operators of the local problem.
grid: Imaginary time grid to define the local propagators on.
hybridization: A matrix-valued hybridization function $\Delta_{ij}(\tau)$. A correspondence between the matrix elements $(i, j)$ and operators $c^\dagger_i, c_j$ is established by soi.
nn_interaction: A matrix-valued $nn$-interaction function $U_{ij}(\tau)$. A correspondence between the matrix elements $(i, j)$ and operators $n_i, n_j$ is established by soi.
corr_operators: The list of operator pairs used in accumulation of two-point correlation functions.
interpolate_ppgf: Use a quadratic spline interpolation to represent and evaluate the local propagators.
Data type for pseudo-particle interactions containing two operators and one scalar propagator.
Indexed access to the operators stored in a pair::InteractionPair is supported: pair[1] and pair[2] are equivalent to pair.operator_i and pair.operator_f respectively.
Fields
operator_f::KeldyshED.Operators.RealOperatorExpr: Final time operator
operator_i::KeldyshED.Operators.RealOperatorExpr: Initial time operator
Perform a complete qMC inchworm calculation of the bold propagators on the imaginary time segment. Results of the calculation are written into expansion.P.
Parameters
expansion: Strong coupling expansion problem.
grid: Imaginary time grid of the bold propagators.
orders: List of expansion orders to be accounted for during a regular inchworm step.
orders_bare: List of expansion orders to be accounted for during the initial inchworm step.
N_samples: Number of samples to be used in qMC integration. Must be a power of 2.
n_pts_after_max: Maximum number of points in the after-$\tau_w$ region to be taken into account. By default, diagrams with all valid numbers of the after-$\tau_w$ points are considered.
Perform a complete qMC inchworm calculation of the bold propagators on the imaginary time segment. Results of the calculation are written into expansion.P.
Parameters
expansion: Strong coupling expansion problem.
grid: Imaginary time grid of the bold propagators.
orders: List of expansion orders to be accounted for during a regular inchworm step.
orders_bare: List of expansion orders to be accounted for during the initial inchworm step.
N_samples: Number of samples to be used in qMC integration. Must be a power of 2.
n_pts_after_max: Maximum number of points in the after-$\tau_w$ region to be taken into account. By default, diagrams with all valid numbers of the after-$\tau_w$ points are considered.
Calculate value of a two-point correlator $\langle A(\tau) B(0)\rangle$ for one value of the imaginary time argument $\tau$. The pair of operators $(A, B)$ used in the calculation is taken from expansion.corr_operators[A_B_pair_idx].
Calculate value of a two-point correlator $\langle A(\tau) B(0)\rangle$ for one value of the imaginary time argument $\tau$. The pair of operators $(A, B)$ used in the calculation is taken from expansion.corr_operators[A_B_pair_idx].
Calculate a two-point correlator $\langle A(\tau) B(0)\rangle$ on the imaginary time segment. Accumulation is performed for each pair of operators $(A, B)$ in expansion.corr_operators. Only the operators that are a single monomial in $c/c^\dagger$ are supported.
Pseudo-particle Green's functions (propagators) of finite fermionic systems and related tools.
For a system defined by a time-independent Hamiltonian $\hat H$, the pseudo-particle Green's function (PPGF) is
\[P(z, z') = \left\{
+
Calculate a two-point correlator $\langle A(\tau) B(0)\rangle$ on the imaginary time segment. Accumulation is performed for each pair of operators $(A, B)$ in expansion.corr_operators. Only the operators that are a single monomial in $c/c^\dagger$ are supported.
In particular, on the imaginary time segment alone one has $P(\tau) = -i e^{-\hat H \tau}$.
This operator has a block-diagonal structure determined by the symmetry sectors of $\hat H$, and is stored as a vector of GF containers corresponding to the individual diagonal blocks (FullTimePPGF, ImaginaryTimePPGF).
In particular, on the imaginary time segment alone one has $P(\tau) = -i e^{-\hat H \tau}$.
This operator has a block-diagonal structure determined by the symmetry sectors of $\hat H$, and is stored as a vector of GF containers corresponding to the individual diagonal blocks (FullTimePPGF, ImaginaryTimePPGF).
Compute atomic pseudo-particle Green's function on a full contour time grid for a time-independent exact diagonalization problem ed.
As the resulting PPGF $P(z, z')$ is defined up to a multiplier $e^{-i\lambda (z-z')}$, we choose the energy shift $\lambda$ to fulfil the normalization property $\mathrm{Tr}[i P(-i\beta, 0)] = 1$.
Compute atomic pseudo-particle Green's function on a full contour time grid for a time-independent exact diagonalization problem ed.
As the resulting PPGF $P(z, z')$ is defined up to a multiplier $e^{-i\lambda (z-z')}$, we choose the energy shift $\lambda$ to fulfil the normalization property $\mathrm{Tr}[i P(-i\beta, 0)] = 1$.
Compute atomic pseudo-particle Green's function on an imaginary time grid for a time-independent exact diagonalization problem ed.
As the resulting PPGF $P(\tau)$ is defined up to a multiplier $e^{-\lambda\tau}$, we choose the energy shift $\lambda$ to fulfil the normalization property $\mathrm{Tr}[i P(\beta)] = 1$.
Compute atomic pseudo-particle Green's function on an imaginary time grid for a time-independent exact diagonalization problem ed.
As the resulting PPGF $P(\tau)$ is defined up to a multiplier $e^{-\lambda\tau}$, we choose the energy shift $\lambda$ to fulfil the normalization property $\mathrm{Tr}[i P(\beta)] = 1$.
density_matrix(P::Vector{<:Keldysh.AbstractTimeGF}) -> Any
-
Extract the equilibrium density matrix $\rho = i P(-i\beta, 0)$ from a normalized pseudo-particle Green's function P. The density matrix is block-diagonal and is returned as a vector of blocks.
normalize!(P::Vector{<:Keldysh.AbstractTimeGF}, β) -> Any
-
Normalize a pseudo-particle Green's function P by multiplying it by $e^{-i\lambda (z-z')}$ with $\lambda$ chosen such that $\mathrm{Tr}[i P(-i\beta, 0)] = 1$.
Wrapper around a Green's function object that allows for fast cubic spline interpolation on the time grid.
The wrapper supports square bracket access to the wrapped object, direct access to the grid property, eltype(), Keldysh.norbitals() and Keldysh.TimeDomain(). Evaluation at an arbitrary contour time point (via operator ()) is carried out by a stored set of pre-computed B-spline interpolants.
Fields
GF::Any: Wrapped Green's function
interpolants::Any: B-spline interpolants, one object per matrix element of G
density_matrix(P::Vector{<:Keldysh.AbstractTimeGF}) -> Any
+
Extract the equilibrium density matrix $\rho = i P(-i\beta, 0)$ from a normalized pseudo-particle Green's function P. The density matrix is block-diagonal and is returned as a vector of blocks.
normalize!(P::Vector{<:Keldysh.AbstractTimeGF}, β) -> Any
+
Normalize a pseudo-particle Green's function P by multiplying it by $e^{-i\lambda (z-z')}$ with $\lambda$ chosen such that $\mathrm{Tr}[i P(-i\beta, 0)] = 1$.
Wrapper around a Green's function object that allows for fast cubic spline interpolation on the time grid.
The wrapper supports square bracket access to the wrapped object, direct access to the grid property, eltype(), Keldysh.norbitals() and Keldysh.TimeDomain(). Evaluation at an arbitrary contour time point (via operator ()) is carried out by a stored set of pre-computed B-spline interpolants.
Fields
GF::Any: Wrapped Green's function
interpolants::Any: B-spline interpolants, one object per matrix element of G
Make a SplineInterpolatedGF wrapper around GF and compute interpolants of its data from the start of the grid up to τ_max. By default, the entire data array is used.
Make a SplineInterpolatedGF wrapper around GF and compute interpolants of its data from the start of the grid up to τ_max. By default, the entire data array is used.