In this case it's not a big deal, this
Table[{a,
Integrate[E^(I a x + I b Cos[x]), {x, 0, 2 Pi},
Assumptions -> b \[Element] Reals]}, {a, 0, 12}]
{{0, 2 \[Pi] BesselJ[0, Abs[b]]}, {1, 2 I \[Pi] BesselJ[1, b]}, {2, -2 \[Pi] BesselJ[2, Abs[b]]},
{3, -2 I \[Pi] BesselJ[3, b]}, {4, (2 \[Pi] (b (-24 + b^2) BesselJ[0, b] - 8 (-6 + b^2) BesselJ[1, b]))/b^3},
{5, (2 I \[Pi] (b (-48 + b^2) BesselJ[1, b] -
12 (-16 + b^2) BesselJ[2, b]))/b^3}, {6, (
2 \[Pi] (b (1920 - 144 b^2 + b^4) BesselJ[0, b] -
6 (640 - 128 b^2 + 3 b^4) BesselJ[1, b]))/b^5}, {7, (
2 I \[Pi] (b (5760 - 240 b^2 + b^4) BesselJ[1, b] -
24 (960 - 80 b^2 + b^4) BesselJ[2, b]))/b^5}, {8,
1/b^7 2 \[Pi] (b (-322560 + 28800 b^2 - 480 b^4 + b^6) BesselJ[0,
b] - 32 (-20160 + 4320 b^2 - 150 b^4 + b^6) BesselJ[1,
b])}, {9,
1/b^7 2 I \[Pi] (b (-1290240 + 67200 b^2 - 720 b^4 + b^6) BesselJ[1,
b] - 40 (-129024 + 12096 b^2 - 240 b^4 + b^6) BesselJ[2,
b])}, {10,
1/b^9 2 \[Pi] (b (92897280 - 9031680 b^2 + 201600 b^4 - 1200 b^6 +
b^8) BesselJ[0, b] -
10 (18579456 - 4128768 b^2 + 169344 b^4 - 1920 b^6 +
5 b^8) BesselJ[1, b])}, {11,
1/b^9 2 I \[Pi] (b (464486400 - 27095040 b^2 + 403200 b^4 -
1680 b^6 + b^8) BesselJ[1, b] -
60 (30965760 - 3096576 b^2 + 75264 b^4 - 560 b^6 + b^8) BesselJ[
2, b])}, {12,
1/b^11 2 \[Pi] (b (-40874803200 + 4180377600 b^2 - 108380160 b^4 +
940800 b^6 - 2520 b^8 + b^10) BesselJ[0, b] -
24 (-3406233600 + 774144000 b^2 - 34836480 b^4 + 501760 b^6 -
2450 b^8 + 3 b^10) BesselJ[1, b])}}
shows that up to
$a=3$ inclusively the a
appears as index of BesselJ
. For bigger a
seemingly a representation of the result in terms of BesselJ[0,b], BesselJ[1,b]
or in terms of BesselJ[1,b], BesselJ[2,b]
has been performed. So one tests that
In[34]:= Table[{a,
FullSimplify[Integrate[E^(I a x + I b Cos[x]), {x, 0, 2 Pi},
Assumptions -> b \[Element] Reals] - 2 \[Pi] I^a BesselJ[a, b]]}, {a, 0, 12}]
Out[34]= {{0, 2 \[Pi] (-BesselJ[0, b] + BesselJ[0, Abs[b]])}, {1, 0},
{2, 2 \[Pi] (BesselJ[2, b] - BesselJ[2, Abs[b]])}, {3, 0}, {4, 0},
{5, 0}, {6, 0}, {7, 0}, {8, 0}, {9, 0}, {10, 0}, {11, 0}, {12, 0}}
In general, this is not instructive
In[39]:= FullDefinition[BesselJ]
Out[39]= Attributes[BesselJ] ={Listable, NumericFunction, Protected, ReadProtected}
Usually a user should and must not become aware of the internals of a product. But you have the product installed and may have a look into where the magic is done, as far as you guess the file names ...
In[49]:= FileNames[{"*Bessel*", "*Integrate*"}, $InstallationDirectory, \[Infinity]] // Length
Out[49]= 64
most of them are tutorials, help system, reference pages, configuration.