In quantum mechanics we often write expression for Green function which have a form similar to

$$ \frac{1}{\omega-\omega_0-i\eta} $$

with $\eta\to0$. Taking the limit one would expect the expression to reduce to:

$$ P.V.\frac{1}{\omega-\omega_0}+i\pi\delta(\omega-\omega_0) $$

where $P.V.$ is the principal value, an $\delta$ is the Dirac delta.

MMA however doesn't no to take this limit apparently, and when taking the limit $\eta\to0$ it doesn't even return a conditional expression which I assumed it would know to return. In fact:

Limit[1/(x - x0 - I \[Eta]), \[Eta] -> 0]

returns the naive:

1/(x - x0)

completely unaware of the possible problem.

Any suggestions on how to improve this behavior?


2 Answers 2


The result above used in quantum mechanics or QFT is named Sokhotski-Plemelj formula and only makes sense when associated to a certain space $\mathcal{D}$ of test functions, i.e. its a functional expression over generalized functions $\phi(x)$. So, the equality stated by the formula needs an arbitrary function to be applied.

$\displaystyle \lim_{\eta \to 0} \int_{-\infty}^{\infty} {\frac{\phi(x)\,dx}{x\pm i\eta}} = \mathcal{P}\int_{-\infty}^{\infty} \phi(x)\left ({\frac{1}{x}}\right ) dx\mp i\pi\int_{-\infty}^{\infty} \phi(x)\,\delta(x)\,dx\,,\quad \text{since} \,x=\omega-\omega_0$.

Unless this distribution $\phi(x)$ is defined its hard to MMA understands this functional relation and produce a symbolic answer. For example, if we put $\phi(x)=1$ the code will look like this

Limit[Integrate[1/(\[Omega] - \[Omega]0 + I \[Eta]),
   {\[Omega], -\[Infinity], \[Infinity]}, PrincipalValue -> True,
   Assumptions -> Re[\[Eta]] > 0 && Im[\[Eta]] == 0  && 
    \[Omega]0 \[Element] Reals], \[Eta] -> 0, Direction -> -1]

which results


  • $\begingroup$ Thanks, does it mean that if I wish to use some relations between these types of expressions (such as relations between types of green functions such as lesser retarded, etc.) the identities hold in the sense of integration over them? $\endgroup$
    – Yair M
    Commented Jun 20, 2017 at 19:36
  • $\begingroup$ Yes. Rigourously one needs to account this implied integration (or a discrete sum) over the space spanned. Take a look for example the Born scattering expansion, we note the Green function always operates over a given wave state. See Vladimirov Mathematical Physics book. $\endgroup$ Commented Jun 20, 2017 at 20:05

You can get Mathematica to produce the desired result in full generality by using its ability to produce distributions as output of Fourier transforms.

Try the following:

spf = Assuming[ω0 ∈ Reals, 
     1/(ω - ω0 - I η), 
    ω, t],
   η -> 0], 
  t, ω]]

$$\frac{1}{\omega -\text{$\omega $0}}+i \pi \delta (\omega -\text{$\omega $0})$$

This is almost what the theorem says. You just have to make sure that you use this result the right way. In particular, since it's meant to be a distribution, it has to be used in an integral. And this integral then must be treated as a principal-value integral. Fortunately, there is an option for this in Integrate:

Take for example a specific choice of function $\phi(\omega)$ and $\phi_0$ to test the result above:

ϕ[ω_] := Sinc[ω - 1]

Block[{ω0 = 0},
 Integrate[ϕ[ω] spf, {ω, -Infinity, Infinity}, PrincipalValue -> True]]

$\pi -\pi \cos (1)$

The trick here was to add the option PrincipalValue -> True. The combination of FourierTransform and its inverse above sandwiches the Limit in which $\eta\to 0$ is taken. This reflects the fact that the naive limit is wrong, and you're intending for that limit to be taken only after the integration.

As mentioned in the comment, it's also important to specify that $\omega0$ is real: I do that in Assuming. The theorem tacitly assumes that our final integration variable $\omega$ is real, and then the result is true only if the pole is on the real axis as well.

  • $\begingroup$ Thanks for the great solution. Just a technical comment if someone would wonder. From playing with the solution, I noticed that if I remove the assumption ω0 ∈ Reals I don't get the delta function in the spf expression. This is of course correct from mathematical point of view, but as MMA doesn't know that we consider real frequencies this assumption must be provided explicitly. $\endgroup$
    – Yair M
    Commented Jun 21, 2017 at 4:49
  • $\begingroup$ @YairM Thanks, that's worth mentioning - I'll add it to my answer for completeness. $\endgroup$
    – Jens
    Commented Jun 21, 2017 at 5:17
  • $\begingroup$ Very clever. It does, however, remind me of the annoyance that while FourierTransform routinely takes you into distribution land, Integrate doesn't unless you're already there. $\endgroup$
    – John Doty
    Commented Jun 21, 2017 at 11:54
  • 1
    $\begingroup$ spf now gives Indeterminate in MMA 13.1. $\endgroup$
    – xiaohuamao
    Commented Jan 18, 2023 at 0:24
  • 1
    $\begingroup$ @xiaohuamao Yes, this appears to be wrong. It can be fixed by replacing Limit by Expand@Limit. It shouldn't be necessary, though. $\endgroup$
    – Jens
    Commented Jan 18, 2023 at 8:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.