I'm trying to caculate the inverse Fourier transform of $$ G(\omega) = \dfrac{(\omega+a)^2+b^2}{((\omega-c)^2+b^2)((\omega+c)^2+b^2)} \mathrm{sgn}(\omega-d)$$ It is the product of two Lorentzians and sign function $sgn$. The constants $a,b,c,d$ are all real values.

I'm using complex integration to solve the FT integral by brute force: $$ g(t) = \int_{-\infty}^\infty \dfrac{d\omega}{2\pi} e^{-i\omega t} G(\omega) = \int_{-\infty}^\infty \dfrac{d\omega}{2\pi} e^{-i\omega t}\dfrac{(\omega+a)^2+b^2}{((\omega-c)^2+b^2)((\omega+c)^2+b^2)} \mathrm{sgn}(\omega-d)$$

There are poles at $\omega=c-ib,c+ib,-c-ib,-c+ib$.

One semicircle contour goes anticlockwise on the upper half of the complex plane. The other semicircle contour goes clockwise on the lower half of the complex plane. Then calculating the residues inside each closed contour:

$2\pi i \sum$ (residues in upper half of plane) + $2\pi i \sum$ (residues in lower half of plane)

There are two cases:

  • for $t>0$, $e^{−i\omega t}$ converges to zero at infinity on the lower half plane, so residues are $$ R_1 = 2\pi i \left( e^{-ict-bt} \dfrac{((c+a-ib)^2+b^2)sgn(c-d-ib)}{-2ib((2c-ib)^2+b^2)} \\ + e^{ict-bt} \dfrac{((-c+a-ib)^2+b^2)sgn(-c-d-ib)}{-2ib((-2c-ib)^2+b^2)} \right)$$

  • for $t<0$, $e^{−i\omega t}$ converges to zero at infinity on the upper half plane, so residues are

$$ R_2 = 2\pi i \left(e^{-ict+bt} \dfrac{((c+a+ib)^2+b^2)sgn(c-d+ib)}{2ib((2c+ib)^2+b^2)} \\ + e^{ict+bt} \dfrac{((-c+a+ib)^2+b^2)sgn(-c-d+ib)}{2ib((-2c+ib)^2+b^2)} \right)$$

This means $g(t)=\frac{1}{2\pi}(H(t)R_1 + H(-t)R_2)$ where $H$ is the Heaviside function.

Does my working look correct? Have I missed anything? Below I plot the analytical $g(t)$ alongside the Python IFFT result of $\mathcal{F}^{-1}(G(\omega))$ but they don't agree. (I checked my Python code by performing IFFTs on known FT pairs, so there's nothing wrong with the algorithm.)


  • $\begingroup$ Residue theory works on analytic functions, and I don't think the Lorentzian times a sign function is analytic. What you could do is compute the Lorentzian's IFT first, then use that the (inverse) fourier transform of a product is a convolution of their (inverse) fourier transforms $\endgroup$ – Calvin Khor Jul 18 '18 at 10:19
  • $\begingroup$ Yes, I initially tried to use the FT tables in Wikipedia (en.wikipedia.org/wiki/…) to separately transform the Lorentzian functions and sign function into the time domain, then do convolution on those results (i.e. using property 108: $F(\omega)G(\omega) \to f(t)*g(t)$). But it doesn't seem possible to analytically solve the convolution. I want to calculate a purely analytical result. $\endgroup$ – Medulla Oblongata Jul 18 '18 at 10:30
  • $\begingroup$ I'm not aware of the available tables,literature etc, but you might be able to find something if you note that convolutions against $\mathcal F^{-1} (-i\operatorname{sgn})$ are known as Hilbert transforms. $\endgroup$ – Calvin Khor Jul 18 '18 at 10:35
  • $\begingroup$ @CalvinKhor BTW could you expand on your comment and post it as an answer below? Thanks $\endgroup$ – Medulla Oblongata Jul 18 '18 at 11:04
  • $\begingroup$ Okay, I'll try to do so when I have some time, but if you (or someone else) wants to do it, feel free to so. $\endgroup$ – Calvin Khor Jul 18 '18 at 11:08

Assume that $b \neq 0 \land c \neq 0$. Then the denominator doesn't have multiple roots, and partial fraction decomposition gives a sum of four terms of the form $C/(w \pm c \pm ib)$. Thus it is sufficient to find the Fourier transform of $\operatorname{sgn}(w+d)/(w \pm c \pm i b)$, which reduces to finding the transform of $H(w)/(w+w_0)$, with $w_0$ not on the real axis.

Assume further that $w_0$ is not on the imaginary axis, which is equivalent to $c \neq \pm d$. We have $$I = \int_{-\infty}^\infty \frac {H(w)} {w+w_0} {e^{-itw}} dw = e^{\tau_0} \int_{\tau_0}^{it\infty} \frac {e^{-\tau}} \tau d\tau, \\ \tau_0 = i w_0 t, \; w_0 \notin \mathbb R, \; i w_0 \notin \mathbb R.$$ When the origin is inside the sector bounded by the rays from $\tau_0$ to $it\infty$ and from $\tau_0$ to $\infty$, we'll have $$e^{-\tau_0} I - \Gamma(0, \tau_0) = -2 \pi i \operatorname{sgn} t \operatorname{Res}_{\tau=0} \frac {e^{-\tau}} \tau.$$ Otherwise the difference $e^{-\tau_0} I - \Gamma(0, \tau_0)$ will be zero. The condition for the origin to be inside the sector is $$\operatorname{Re} \tau_0 < 0 \land \\ ((t < 0 \land \operatorname{Im} \tau_0 > 0) \lor (t > 0 \land \operatorname{Im} \tau_0 < 0)),$$ which simplifies to $$\operatorname{Re} w_0 < 0 \land t \operatorname{Im} w_0 > 0,$$ and we obtain $$I = e^{i w_0 t}(\Gamma(0, i w_0 t) - 2 \pi i \operatorname{sgn} t \, H(-\operatorname{Re} w_0) H(t \operatorname{Im} w_0)).$$

  • $\begingroup$ Thanks @Maxim. Just to clarify, does the $\Gamma$ refer to the gamma function en.wikipedia.org/wiki/Gamma_function ? $\endgroup$ – Medulla Oblongata Jul 22 '18 at 7:04
  • $\begingroup$ More precisely, the incomplete gamma function. $\endgroup$ – Maxim Jul 22 '18 at 12:59
  • $\begingroup$ and $w_0=\pm c\pm ib$ I assume $\endgroup$ – Medulla Oblongata Jul 23 '18 at 11:13
  • $\begingroup$ Plus/minus $d$. $H(w)$ is the unit step function; $H(w)/(w - d \pm c \pm i b)$ accounts for the part where $\operatorname{sgn} (w + d) = 1$, and $-H(w)/(-w - d \pm c \pm i b)$ accounts for $\operatorname{sgn} (w + d) = -1$. $\endgroup$ – Maxim Jul 23 '18 at 12:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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