# How to get a difference of two contour integrals depending on integer parameter?

I have two following functions:

h[x_, a_, e_] :=
Integrate[(6^(a/2) (1 – (t + I*e))^(-a/2 – 1) Gamma[(2 + a)/2])/
Gamma[a/2] E^(-x*(t + I*e)), {t, 0, Infinity},
Assumptions -> {Im[e] == 0, Re[e] > 0, Re[e] < 1, Re[x] > 0, a > 0,
a âˆˆ Integers}]

and

g[x_, a_, e_] :=
Integrate[(6^(a/2) (1 – (t – I*e))^(-a/2 – 1) Gamma[(2 + a)/2])/
Gamma[a/2] E^(-x*(t – I*e)), {t, 0, Infinity},
Assumptions -> {Im[e] == 0, Re[e] > 0, Re[e] < 1, Re[x] > 0, a > 0,
a âˆˆ Integers}]

Basically, they are integrations over two different contours(2 lateral Laplace transforms). Since, there is a pole on the real axis, at t=1, the integrals should differ. But, when I check for the limit, when e goes to 0, I get

Limit[h[x, a, e] – g[x, a, e], e -> 0]
0

But, if I plug in, for example a=10, I get

Limit[h[x, 10, e] – g[x, 10, e], e -> 0]
648 I E^-x Ï€ x^5

which is also expected. How could I get a function depending generally on parameter a, without getting 0?

=================

2

If you do FullSimplify[h[x, 10, e] – g[x, 10, e], Assumptions -> {0 < e < 1, Re[x] > 0}] and then take the limit it seems to return what you expect.
– b.gatessucks
Aug 4 ’15 at 14:14

@b.gatessucks for a=10 worked already before, my problem is to get function for any a.
– Resurger
Aug 4 ’15 at 14:23

=================

1

=================

When parameters to a integral are integers, I often fall back to calculating the “general” result, make a table where the parameter is explicitly given integer values, and then feed to FindSequenceFunction.

In this case:

table = Table[h[x, a, e] – g[x, a, e], {a, 1, 11}];
limits = Limit[#, e -> 0] & /@ table;
f = FindSequenceFunction[limits];

f[a]
(* (I 2^(1 + a/2) 3^(a/2) E^-x Ï€ x^(a/2))/(-1 + a/2)! *)

f[10]
(* 648 I E^-x Ï€ x^5 *)

Wow, this is a nice workaround! Thank you!
– Resurger
Aug 4 ’15 at 14:39