gftool.lattice.sc.dos_mp

gftool.lattice.sc.dos_mp(eps, half_bandwidth=1)[source]

Multi-precision DOS of non-interacting 3D simple cubic lattice.

Has a van Hove singularity (continuous but not differentiable) at abs(eps) = D/3.

Implements Eq. 7.37 from [joyce1973] for the special case of eps = 0, otherwise calls gf_z_mp.

Parameters
epsmpmath.mpf or mpf_like

DOS is evaluated at points eps.

half_bandwidthmpmath.mpf or mpf_like

Half-bandwidth of the DOS of the simple cubic lattice. The half_bandwidth corresponds to the nearest neighbor hopping \(t=D/6\).

Returns
dos_mpmpmath.mpf

The value of the DOS.

References

economou2006

Economou, E. N. Green’s Functions in Quantum Physics. Springer, 2006.

joyce1973

G. S. Joyce, Phil. Trans. of the Royal Society of London A, 273, 583 (1973). https://www.jstor.org/stable/74037

katsura1971

S. Katsura et al., J. Math. Phys., 12, 895 (1971). https://doi.org/10.1063/1.1665663

Examples

>>> eps = np.linspace(-1.1, 1.1, num=501)
>>> dos_mp = [gt.lattice.sc.dos_mp(ee, half_bandwidth=1) for ee in eps]
>>> dos_mp = np.array(dos_mp, dtype=np.float64)
>>> import matplotlib.pyplot as plt
>>> _ = plt.axvline(1/3, color="black", linewidth=0.8)
>>> _ = plt.axvline(-1/3, color="black", linewidth=0.8)
>>> _ = plt.plot(eps, dos_mp)
>>> _ = plt.xlabel(r"$\epsilon/D$")
>>> _ = plt.ylabel(r"DOS * $D$")
>>> _ = plt.axvline(0, color="black", linewidth=0.8)
>>> _ = plt.ylim(bottom=0)
>>> _ = plt.xlim(left=eps.min(), right=eps.max())
>>> plt.show()

(png, pdf)

../_images/gftool-lattice-sc-dos_mp-1.png