Почему Integrate ошибается?

Sep 24 2020

Почему Integrateэто не так?

b = 2;

NIntegrate[E^(-x^2) HypergeometricU[-b/2, 1/2, x^2], {x, -Infinity, Infinity},
           AccuracyGoal -> 4]
(* -7.67473*10^-9 *)

Clear[b];

Integrate[E^(-x^2) HypergeometricU[-b/2, 1/2, x^2], {x, -Infinity, Infinity}]
(* ConditionalExpression[-(((-2 + b) Sqrt[π] Hypergeometric2F1[1, (1 - b)/2, 1/2, 1])/
                           Gamma[1 - b/2]), Re[b] > 0] *)

f[b_] := ConditionalExpression[-(((-2 + b) Sqrt[π]
                                  Hypergeometric2F1[1, (1 - b)/2, 1/2, 1])/
                                 Gamma[1 - b/2]), Re[b] > 0]

f[2]
(* Indeterminate *)

Ответы

1 Andreas Sep 24 2020 at 01:19

Mathematica не может определить предел f [b] для b-> 2.

Если вы не интегрируетесь в Infinity, а только до отсечки c, вы получите

c = 10; Table[{NIntegrate[Exp[-x^2] HypergeometricU[-b/2, 1/2, x^2], {x, -c, c}],c MeijerG[{{1/2}, {(1 - b)/2}}, {{0, 1/2}, {-(1/2)}}, c^2]}, {b, 0,
3, 0.2}] // N

с хорошим согласием.