[Date Index]
[Thread Index]
[Author Index]
Re: NIntegrate's Method ->Oscillatory option
*To*: mathgroup at smc.vnet.net
*Subject*: [mg67457] Re: NIntegrate's Method ->Oscillatory option
*From*: "antononcube" <antononcube at gmail.com>
*Date*: Mon, 26 Jun 2006 00:12:59 -0400 (EDT)
*References*: <e7lf74$3mm$1@smc.vnet.net>
*Sender*: owner-wri-mathgroup at wolfram.com
john.hawkin at gmail.com wrote:
> Hello all,
>
> I was wondering what exactly the Method -> Oscillatory option of
> Mathematica's NIntegrate function does. In the help it says that it
> uses a transformation to handle certain function, like exponentials.
NIntegrate's Oscillatory method is for functions of the form k[a x^n +
b] f[x] over infinite ranges,
where the oscillatory kernel function k is one of Sin, Cos, BesselJ,
BesselY.
>
> My question is this: Does it use a specific numerical integration
> algorithm designed to work in these cases, or does it just somehow
> transform the integral so that it can be solved using the standard
> method (which it says is the Gauss-Kronrod)?
The algorithm finds (some of) the zeros of the oscillatory kernel
function, and integrates between them using Gauss-Kronrod quadrature.
Then it uses sequence convergence acceleration via NSum to find the
approximate value of the integral.
Below is an example implementation.
w = 20;
k[x_] := Sin[w*x];
f[x_] := 1/(x + 1)^2;
Plot[k[x]*f[x], {x, 0, 10}, PlotPoints -> 1000, PlotRange -> All]
psum[(i_)?NumberQ] := NIntegrate[k[x]*f[x], {x, i*(1/w)*Pi, (i +
1)*(1/w)*Pi}]
res = NSum[psum[i], {i, 0, Infinity}, Method -> SequenceLimit,
VerifyConvergence -> False]
exact = N[Integrate[k[x]*f[x], {x, 0, Infinity}]]
Abs[exact - res]/Abs[exact]
> If it uses a different
> algorithm, what is this algorithm commonly called?
Oscillatory's algorithm is usually called "integration between the
zeros". The name implies extrapolation in the infinite range case.
Anton Antonov,
Wolfram Research, Inc.
Prev by Date:
**Re: Quaternion problem-> conversion**
Next by Date:
**Re: Listing ALL Options for a mathematica Function**
Previous by thread:
**NIntegrate's Method ->Oscillatory option**
Next by thread:
** Integrate the Multivariate normal distribution**
| |