# Convolution integrals

I want to calculate the following integral

$$\int_{-\infty}^{\infty} d \omega f(\omega) g(\omega'\pm\omega)$$

where $$f$$ has the form $$f(\omega)=\frac{a}{\omega- \omega_0\pm i \eta}$$ and $$g$$ has a similar expression. $$\eta$$ is a infinitesimal positive number.

What is the best way of evaluating (in a symbolic way) the convolution integral?

I tried the following command but it does not work

Integrate[
1/(ω - 3 - I η) 1/(ω' - ω - 6.3 + I η),
{ω, -Infinity, Infinity}
]


Any suggestion?

• Have you tried Integrate? Commented Sep 25, 2019 at 10:26
• Integrate does not work Commented Sep 25, 2019 at 10:41
• Please share the code for what you have tried. Users here don't want to spend time converting the expressions into Mathematica code and it helps to know what has already been tried. Commented Sep 25, 2019 at 11:20
• The following command Integrate[ 1/([Omega] - 3 - I *[Eta])/([Omega]1 - [Omega] - 63/10 + I*[Eta] ), {[Omega], -Infinity, Infinity}] outputs ConditionalExpression[0, Re[[Eta]] > 0 && Im[[Omega]1] + Re[[Eta]] > 0]. I have no time to investigate why. Commented Sep 25, 2019 at 12:51
• Imaginary part is just $\mp \pi a g(\omega\pm\omega_0)$. A standard way to compute the real part is via the Hilbert transform. See here mathematica.stackexchange.com/questions/341/… Commented Sep 25, 2019 at 13:57

The problem is that Mathematica has a specific use for the ' character (namely Derivative). Changing ω' to ωp gives

Integrate[1/(ω - 3 - I η) 1/(ωp - ω - 6.3 + I η), {ω, -Infinity, Infinity}]


ConditionalExpression[0. + 0. I, Im[(0. + 1. I) η + 1. ωp] > 0 && Re[η] > 0]

Or you can use the built in function Convolve as

Convolve[1/(ω - 3 - I η), 1/(ω - 6.3 + I η), ω, ωp]


0.

And if I've generalized correctly with

f[ω_] := a/(ω - ω0 - I η)
g[ω_] := a/(ω - ω1 + I η)


then

Convolve[f[ω], g[ω], ω, ωp]
% /. {a -> 1, ω0 -> 3, ω1 -> 6.3}


a^2 Convolve[1/(-I η + ω - ω0), 1/(I η + ω - ω1), ω, ωp]

0.

Which is not very satisfying because we still have an unevaluated Convolve. But if we allow for conditions

Convolve[f[ω], g[ω], ω, ωp, GenerateConditions -> True]
% /. {a -> 1, ω0 -> 3, ω1 -> 6.3}


ConditionalExpression[0, Im[ω0] + Re[η] > 0 && Im[ω1] < Re[η]]

ConditionalExpression[0, Re[η] > 0]

we get something that agrees with the above, and is a little more satisfying (at least to me).