gftool.pade_frequencies
- gftool.pade_frequencies(num: int, beta)[source]
Return num fermionic Padé frequencies \(iz_p\).
The Padé frequencies are the poles of the approximation of the Fermi function with 2*num poles [ozaki2007]. This gives an non-equidistant mesh on the imaginary axis.
- Parameters:
- numint
Number of positive Padé frequencies.
- betafloat
The inverse temperature \(beta = 1/k_B T\).
- Returns:
- izp(num) complex np.ndarray
Positive Padé frequencies.
- resids(num) float np.ndarray
Residue of the Fermi function corresponding to izp. The residue is given relative to the true residue of the Fermi function -1/beta corresponding to the poles at Matsubara frequencies. This allows to use Padé frequencies as drop-in replacement. The actual residues are -resids/beta.
References
[ozaki2007]Ozaki, Taisuke. Continued Fraction Representation of the Fermi-Dirac Function for Large-Scale Electronic Structure Calculations. Physical Review B 75, no. 3 (January 23, 2007): 035123. https://doi.org/10.1103/PhysRevB.75.035123.
[hu2010]J. Hu, R.-X. Xu, and Y. Yan, “Communication: Padé spectrum decomposition of Fermi function and Bose function,” J. Chem. Phys., vol. 133, no. 10, p. 101106, Sep. 2010, https://doi.org/10.1063/1.3484491
Examples
Comparing Padé frequency to Matsubara frequencies:
>>> izp, rp = gt.pade_frequencies(5, beta=1) >>> izp.imag array([ 3.14159265, 9.42478813, 15.76218003, 24.87650795, 70.52670981]) >>> gt.matsubara_frequencies(range(5), beta=1).imag array([ 3.14159265, 9.42477796, 15.70796327, 21.99114858, 28.27433388])
Relative residue:
>>> rp array([ 1. , 1.00002021, 1.04839303, 2.32178225, 22.12980451])