intdeo

I = integral of f(x) over (a,infinity), f(x) has oscillatory factor :

f(x) = g(x) * sin(omega * x + theta) as x -> infinity
void
intdeo
(
Real
Func
)
(
Func f
,
Real a
,
Real omega
,
Real eps
,
Real* i
,
Real* err
)

Parameters

f Func

integrand f(x)

a Real

lower limit of integration

omega Real

frequency of oscillation

eps Real

relative error requested

i Real*

approximation to the integral

err Real*

estimate of the absolute error

Remarks: <pre> function f(x) needs to be analytic over (a,infinity). relative error eps is relative error requested excluding cancellation of significant digits. i.e. eps means : (absolute error) / (integral_a^R |f(x)| dx). eps does not mean : (absolute error) / I. error message err >= 0 : normal termination. err < 0 : abnormal termination (m >= mmax). i.e. convergent error is detected : 1. f(x) or (d/dx)^n f(x) has discontinuous points or sharp peaks over (a,infinity). you must divide the interval (a,infinity) at this points. 2. relative error of f(x) is greater than eps. </pre>

Meta