Next: Running program Up: hilbert Previous: hilbert


Direct and inverse Hilbert transformations

Within DMFT, the real frequency self-energy can be obtained from the local Green's function by the inversion of the Hilbert transform. Although the implementation is very straightforward, we will briefly mention the algorithm we used. In the high-frequency regime, we can expand the Hilbert transform in terms of moments of the DOS as

\begin{displaymath}
w(z) = \int {D(\varepsilon) d\epsilon\over z-\varepsilon} =
\sum_n {\langle\varepsilon^n\rangle\over z^{n+1}}.
\end{displaymath} (1)

The series can be inverted and solved for $z$
$\displaystyle z(w)$ $\textstyle =$ $\displaystyle {1\over w} +\langle\varepsilon\rangle +
(\langle\varepsilon^2\rangle-\langle\varepsilon\rangle^2) w$  
  $\textstyle +$ $\displaystyle (\langle\varepsilon^3\rangle-3\langle\varepsilon^2\rangle\langle\varepsilon\rangle+
2\langle\varepsilon\rangle^3) w^2 + ...  .$ (2)

For most of the frequency points, the expansion up to some higher power ($\sim w^8$) gives already an accurate estimation for the inverse function. However, when $w$ gets large, we need to use one of the standard root-finding methods to accurately determine the solution. This is however much easier than general root-finding in complex plane since we always have a good starting guess for the solution. We start evaluating the inverse function at high frequency where the absolute value of $G$ is small and we can use the expansion in Eq. (2). Then we use the fact that Green's function is a continuous function of a real frequency and we can follow the solution from frequency point to frequency point by improving it with few steps of a secant (or Newton) method. A special attention, however, must be paid not to cross the branch-cut and get lost in the non-physical complex plane. Therefore, each secant or Newton step has to be shortened if necessary. The self-energy is finally expressed by the inverse of Hilbert transform $w^{-1}$ as
\begin{displaymath}
\Sigma = \omega+\mu-w^{-1}(G).
\end{displaymath} (3)



Next: Running program Up: hilbert Previous: hilbert
Victor Oudovenko 2005-02-01