I tried to make the following numerical integration accurately.
\[Xi]1 = 0.999998 - 0.0053014 I;\[Eta]1 = -1.1196366*^8 + 5.403396*^6 I;e0 = 2*10^9;s1 = -0.0009433 + 2.733469*^-7 I;al = 5.6198;
p1 = {{8011.093134 + 329.781879 I}, {1902.0266450 +
14.797328 I}, {-1045.822299 + 25.025568 I}, {699.714569 -
29.590978 I}, {-515.009091 + 29.013683 I}, {-515.009091 +
29.013683 I}, {401.664020 - 27.428940 I}, {-325.798670 +
25.727027 I}, {271.880762 - 24.130404 I}, {-231.830775 +
22.687591 I}};
w1[x_] := 1/\[Xi]1 + (2*\[Eta]1 - 2)/\[Pi]*1/e0*
NIntegrate[
Sum[(-1)^(n - 1)*p1[[n, 1]]*Cos[u*x]/(1 + s1*Sqrt[u^2 - al^2])*u*
Sin[u/2]/(u^2 - 4*(n - 1)^2*\[Pi]^2), {n, 1, 10}], {u, 0,
al, \[Infinity]}, MaxRecursion -> 100000,
Method -> "GaussKronrodRule"];tab1 = Table[{x, Re[#], Im[#]} &[w1[x]], {x, 5/100, 10, 5/100}];
d1 = ListLinePlot[tab1[[1 ;; -1, {1, 2}]], Frame -> True, BaseStyle -> {FontFamily -> "Times", FontSize -> 16}, FrameLabel -> {"x", "y"}, InterpolationOrder -> 4, PlotRange -> {{0.5, 10}, {-300, 300}}]
I tried many Integrate Rules based on similar problems I found here. Only the GaussKronrodRule gives me quick output but with these errors:
NIntegrate::slwcon: Numerical integration converging too slowly; suspect one of the following: singularity, value of the integration is 0, highly oscillatory integrand, or WorkingPrecision too small.
NIntegrate::eincr: The global error of the strategy GlobalAdaptive has increased more than 400 times. The global error is expected to decrease monotonically after a number of integrand evaluations. Suspect one of the following: the working precision is insufficient for the specified precision goal; the integrand is highly oscillatory or it is not a (piecewise) smooth function; or the true value of the integral is 0. Increasing the value of the GlobalAdaptive option MaxErrorIncreases might lead to a convergent numerical integration. NIntegrate obtained 5028.05 +10712.9 I and 22.916945212347706` for the integral and error estimates.
Is this can be acceptable result? is there any way to improve it?
Method -> "LevinRule"
and got errors? What version are you using? TheNIntegrate::eincr
error casts doubt on the result; I would seek some confirmation, at least at a few spots scattered over1/20 <= x <= 10
. It's possible that at most points you get no error. $\endgroup$