MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

Precision available with NIntegrate {Method -> Oscillatory}


Hi.  I'm helping someone with a scientific programming problem, and I
wanted to get a high accuracy result to use as a reference solution.
I am able to get 15 digits of accuracy for a non-oscillatory integral,
but it appears that when I specify the option Method -> Oscillatory
for NIntegrate, it ignores my precision request:

--------------------------------------------------------------------
a = 0;
b = 6706902 * 10^\(-7);
c = 589300 * 10^(-6);
d = 9802874 * 10^(-7);
t = -5026548 * 10^(-6);
=CE=B1 = 0;

Iint = NIntegrate[(b^2 - 2 d Cos[t + x] b + d^2 + (a + b c
x)^2)^(-3/2), {x, =CE=B1, Infinity}, {PrecisionGoal -> 15, WorkingPrecision
-> 30, MaxRecursion -> 200}]


NIntegrate::slwcon :
Numerical integration converging too slowly; suspect one of the
following: singularity, value of the integration being 0, oscillatory
integrand, or insufficient WorkingPrecision. If your integrand is
oscillatory try using the option Method->Oscillatory in NIntegrate.
More...

1=2E46869038002327

Cint = NIntegrate[Cos[x]/(b^2 - 2 d Cos[t + x] b + d^2 + (a + b c
x)^2)^(3/2), {x, =CE=B1, Infinity}, {PrecisionGoal -> 15, WorkingPrecision -
> 25, MaxRecursion -> 300, Method -> Oscillatory}]

0=2E2592156

--------------------------------------------------------------------

I'm not concerned about the slow convergence warning on the first
integral, Iint.  Rather, the second integral, Cint, is only evaluated
to a precision of 8 digits, despite the explicit request for more in
the call to Nintegrate.  Does anyone have a suggestion to obtain 15
digits of precision on the second integral?

Thanks,
Peter



  • Prev by Date: Integrate
  • Next by Date: Efficient repeated use of FindRoot
  • Previous by thread: Re: Integrate
  • Next by thread: Re: Precision available with NIntegrate {Method -> Oscillatory}