Message Boards Message Boards

1
|
2909 Views
|
3 Replies
|
1 Total Likes
View groups...
Share
Share this post:

Convolution of a Gaussian with a simple pole: incomplete solution

Posted 2 years ago

Mathematica 13.0 does not output the full results of the convolution of a Gaussian with a simple pole.

Integrate[Exp[- x^2 ]/( c - x), {x, -Infinity, Infinity},   PrincipalValue -> True]

gives:

    2 Sqrt[Pi] DawsonF[c] if  Re[c] > 0 && Im[c] = 0

yet this is incomplete as with Im[z] > 0 one gets a compact expression using the well-known Faddeeva function (pervasive in plasma physics among numerous other fields). The expected result is:

-I Pi w[z]

with w[z] the Faddeeva (or Kramp) function. Mathematica 13.0 boasts having all Ambarowitz and Stegun functions on board (formula 7.1.3). Unfortunately I do not see this well-known function as a Mathematica primitive. It is implemented in MATLAB or Octave, though.
Or did I miss something?

POSTED BY: Fab Nicol
3 Replies
Posted 2 years ago

The above can be simplified as follows:

PowerExpand[Log[-(1/c)] + Log[c], Assumptions -> Arg[c] > 0]

which gives:

I Pi

As:

w[z] = Exp[-z^2] (1 + I Erfi[z])

the expected result follows straightforwardly for Im[z] > 0.
Edit:
For plotting and computation, I just found a Resource function contributed by Jan Mangaldan here:
https://resources.wolframcloud.com/FunctionRepository/resources/FaddeevaW/
Being a resource function, it will not be used by the core symbolic integration engine.

POSTED BY: Fab Nicol
Posted 2 years ago

Thanks for your reply. In the meantime, I found the slightly better alternative:

Integrate[Exp[- x^2 ]/( c - x), {x, -Infinity, Infinity},  
 Assumptions -> {}]

which yields:

Exp[-c^2 ](Pi  Erfi[c] - Log[-(1/c)] - Log[c])  if Im[c] != 0

This can be simplified by hand into a Faddeeva/Kramp expression, yet the solution given is this time incomplete, and the complete solution must be obtained by integrating with or without the assumptions / principal value condition.
This leads me to a feature proposal: implement the Fadeeva/Kramp function.

POSTED BY: Fab Nicol
Posted 2 years ago

Yes you are right , as workaround:

 InverseMellinTransform[
  Integrate[
    MellinTransform[Exp[-x^2]/(c - x), c, s] // 
     PowerExpand, {x, -Infinity, Infinity}, PrincipalValue -> True] // 
   Expand, s, c]


(*(-MeijerG[{{0, 1/2}, {}}, {{0, 0, 1/2}, {}}, -c, 1/2] + 
 MeijerG[{{0, 1/2}, {}}, {{0, 0, 1/2}, {}}, c, 1/2])/(2 \[Pi])*)

Only by solution with MeijerG function.

POSTED BY: Updating Name
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract