Define integration weights for the KadanoffBaym library.

Data Types

KadanoffBaym.AbstractWeights — Type
AbstractWeights

Abstract weights for numerical interpolation, differentiation, and integration. The purpose of this abstract type is to construct the type system.

KadanoffBaym.calc_gregory_weights — Function
calc_gregory_weights(k::I64, n::I64)

Try to calculate the integration weights based on Gregory quadrature rule for 𝑘-order and 𝑛 + 1 nodes. This function only works for 𝑛 > 𝑘. It just returns a vector with 𝑛 + 1 elements (They are all Rational numbers).

References :

See Remarks.

KadanoffBaym.calc_boundary_convolution — Function
calc_boundary_convolution(k::I64, Wi::Matrix{F64})

Calculate integration weights for boundary convolution.

References :

See [NESSi] Eq.~(104).

KadanoffBaym.trapezoid — Function
trapezoid(n::I64)

Return integration weights based on the trapezoid rule. Note that the return value of this function is a Rational number.

References :

See [REVIEW] Eq.~(A9).

KadanoffBaym.Λ — Function
Λ(k::I64)

Try to calculate the Laplace coefficients Λ. This a recursive function. Note that the return value is a Rational number.

References :

See [MABOOK] Eqs.~(8.4.37), (8.4.50), and (8.4.54).

KadanoffBaym.γⱼ — Function
γⱼ(k::I64)

Try to calculate the 𝑘th order coefficients γⱼ, where 𝑗 ∈ [0,𝑘].

References :

See [QUADRATURE] Eqs.~(2.5) and (2.6).

KadanoffBaym.𝐑 — Function
𝐑(m::I64, a::I64, b::I64)

Try to calculate integration ∫^{m}{0} dx (m-x)ᵃxᵇ. We note that this integration appears in [NESSi] Eq.~(104). This function is called by `calcboundary_convolution()` internally. It should not be exported.

References :

See [NESSi] Eq.~(104).

KadanoffBaym.Γ — Function
Γ(n::I64)

Try to calculate Γ function. This function should not be exported. Note that the function name for the calculation of Γ function is :tgamma, instead of :gamma. This is quite strange.

References :

See [MATABLE] Section 6.21.