gftool

Collection of commonly used Green’s functions and utilities.

Main purpose is to have a tested base.

Submodules

gftool.basis

Different function bases.

gftool.beb

Blackman, Esterling, and Berk (BEB) approach to off-diagonal disorder.

gftool.cpa

Coherent cluster approximation (CPA) to substitutional disorder.

gftool.fourier

Fourier transformations of Green's functions.

gftool.hermpade

Hermite-Padé approximants from Taylor expansion.

gftool.lattice

Collection of different lattices and their Green's functions.

gftool.linalg

Collection of linear algebra algorithms not contained in numpy or scipy.

gftool.linearprediction

Linear prediction to extrapolated retarded Green's function.

gftool.matrix

Functions to work with Green's functions in matrix from.

gftool.pade

Padé analytic continuation for Green's functions and self-energies.

gftool.polepade

Padé based on robust pole finding.

gftool.siam

Basic functions for the (non-interacting) single impurity Anderson model (SIAM).

Glossary

DOS

Density of States

eps
epsilon
ϵ

(Real) energy variable. Typically used for for the DOS where it replaces the k-dependent Dispersion \(ϵ_k\).

iv
iν_n

Bosonic Matsubara frequencies

iw
iω_n

Fermionic Matsubara frequencies

tau
τ

Imaginary time points

z

Complex frequency variable

Green’s functions and lattices

1D

onedim_dos(eps, half_bandwidth)

DOS of non-interacting 1D lattice.

onedim_dos_moment(m, half_bandwidth)

Calculate the m th moment of the 1D DOS.

onedim_gf_z(z, half_bandwidth)

Local Green's function of the 1D lattice.

onedim_hilbert_transform(xi, half_bandwidth)

Hilbert transform of non-interacting DOS of the 1D lattice.

2D

square_dos(eps, half_bandwidth)

DOS of non-interacting 2D square lattice.

square_dos_moment(m, half_bandwidth)

Calculate the m th moment of the square DOS.

square_gf_z(z, half_bandwidth)

Local Green's function of the 2D square lattice.

square_hilbert_transform(xi, half_bandwidth)

Hilbert transform of non-interacting DOS of the square lattice.

triangular_dos(eps, half_bandwidth)

DOS of non-interacting 2D triangular lattice.

triangular_dos_moment(m, half_bandwidth)

Calculate the m th moment of the triangular DOS.

triangular_gf_z(z, half_bandwidth)

Local Green's function of the 2D triangular lattice.

triangular_hilbert_transform(xi, half_bandwidth)

Hilbert transform of non-interacting DOS of the triangular lattice.

honeycomb_dos(eps, half_bandwidth)

DOS of non-interacting 2D honeycomb lattice.

honeycomb_dos_moment(m, half_bandwidth)

Calculate the m th moment of the honeycomb DOS.

honeycomb_gf_z(z, half_bandwidth)

Local Green's function of the 2D honeycomb lattice.

honeycomb_hilbert_transform(xi, half_bandwidth)

Hilbert transform of non-interacting DOS of the honeycomb lattice.

3D

sc_dos(eps[, half_bandwidth])

Local Green's function of 3D simple cubic lattice.

sc_dos_moment(m, half_bandwidth)

Calculate the m th moment of the simple cubic DOS.

sc_gf_z(z[, half_bandwidth])

Local Green's function of 3D simple cubic lattice.

sc_hilbert_transform(xi[, half_bandwidth])

Hilbert transform of non-interacting DOS of the simple cubic lattice.

bcc_dos(eps, half_bandwidth)

DOS of non-interacting 3D body-centered cubic lattice.

bcc_dos_moment(m, half_bandwidth)

Calculate the m th moment of the body-centered cubic DOS.

bcc_gf_z(z, half_bandwidth)

Local Green's function of 3D body-centered cubic (bcc) lattice.

bcc_hilbert_transform(xi, half_bandwidth)

Hilbert transform of non-interacting DOS of the body-centered cubic lattice.

fcc_dos(eps, half_bandwidth)

DOS of non-interacting 3D face-centered cubic lattice.

fcc_dos_moment(m, half_bandwidth)

Calculate the m th moment of the face-centered cubic DOS.

fcc_gf_z(z, half_bandwidth)

Local Green's function of the 3D face-centered cubic (fcc) lattice.

fcc_hilbert_transform(xi, half_bandwidth)

Hilbert transform of non-interacting DOS of the face-centered cubic lattice.

Miscellaneous

bethe_dos(eps, half_bandwidth)

DOS of non-interacting Bethe lattice for infinite coordination number.

bethe_dos_moment(m, half_bandwidth)

Calculate the m th moment of the Bethe DOS.

bethe_gf_z(z, half_bandwidth)

Local Green's function of Bethe lattice for infinite coordination number.

bethe_gf_d1_z(z, half_bandwidth)

First derivative of local Green's function of Bethe lattice for infinite coordination number.

bethe_gf_d2_z(z, half_bandwidth)

Second derivative of local Green's function of Bethe lattice for infinite coordination number.

bethe_hilbert_transform(xi, half_bandwidth)

Hilbert transform of non-interacting DOS of the Bethe lattice.

pole_gf_z(z, poles, weights)

Green's function given by a finite number of poles.

pole_gf_d1_z(z, poles, weights)

First derivative of Green's function given by a finite number of poles.

pole_gf_moments(poles, weights, order)

High-frequency moments of the pole Green's function.

pole_gf_ret_t(tt, poles, weights)

Retarded time Green's function given by a finite number of poles.

pole_gf_tau(tau, poles, weights, beta)

Imaginary time Green's function given by a finite number of poles.

pole_gf_tau_b(tau, poles, weights, beta)

Bosonic imaginary time Green's function given by a finite number of poles.

hubbard_I_self_z(z, U, occ)

Self-energy in Hubbard-I approximation (atomic solution).

hubbard_dimer_gf_z(z, hopping, interaction)

Green's function for the two site Hubbard model on a dimer.

surface_gf_zeps(z, eps, hopping_nn)

Surface Green's function for stacked layers.

Statistics and particle numbers

fermi_fct(eps, beta)

Return the Fermi function 1/(exp(βϵ)+1).

fermi_fct_d1(eps, beta)

Return the 1st derivative of the Fermi function.

fermi_fct_inv(fermi, beta)

Inverse of the Fermi function.

bose_fct(eps, beta)

Return the Bose function 1/(exp(βϵ)-1).

matsubara_frequencies(n_points, beta)

Return fermionic Matsubara frequencies \(iω_n\) for the points n_points.

matsubara_frequencies_b(n_points, beta)

Return bosonic Matsubara frequencies \(iν_n\) for the points n_points.

pade_frequencies(num, beta)

Return num fermionic Padé frequencies \(iz_p\).

density_iw(iws, gf_iw, beta[, weights, ...])

Calculate the number density of the Green's function gf_iw at finite temperature beta.

chemical_potential(occ_root[, mu0, step0])

Search chemical potential for a given occupation.

density(gf_iw, potential, beta[, ...])

Calculate the number density of the Green's function gf_iw at finite temperature beta.

density_error(delta_gf_iw, iw_n[, noisy])

Return an estimate for the upper bound of the error in the density.

density_error2(delta_gf_iw, iw_n)

Return an estimate for the upper bound of the error in the density.

check_convergence(gf_iw, potential, beta[, ...])

Return data for visual inspection of the density error.

Utilities

Functions

get_versions()

Get version information or return default if unable to do so.

Classes

Result(x, err)