🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.fortran
Article #6420

Re: oscillatory integral: help needed

#6420
From: T.R.Hopkins
Date: Tue, 13 Feb 1990 11:02
70 lines
2841 bytes
In article <1395@pacific.mps.ohio-state.edu> sun@pacific.mps.ohio-state.edu (Mingqiu Sun) writes:
>Does anyone have any good routines/ideas of integrating oscillatory
>functions of the form f(x)cos(a*x+b*x*X)?  integration intervals
>can be something like [x1, x2] or [x1, +infinity].
>
>One simple scheme is to transform ax+bxx to a new variable, say u.
>then use routines that can evaluate f(u)cos(u). but unfortunately
>this will introduce a divergent fact into the integrand which
>makes the scheme inefficient and lack of precision.
>
>All response will be appreciated.

The nag library offers two routines for the finite interval case:
1) for oscillating, non-singular intervals it uses an adaptive routine
   using a Gauss 30-point and Kronrod 61 point rule,

2) for f(u)cos(u) - provided f(u) is not violently oscillatory
   a modified Clenshaw-Curtis procedure is used.

For the semi-infinite case it depends on what the integrand
does as x gets large

3) for f(u)cos(u) the method used is the same as for 2) above and
   subintervals are computed for increasing u until they are
   considered negligible. f(u) is is assumed to be positive and
   monotone decreasing.

4) for general oscillating functions an adaptive Gauss 7-point
   and Kronrod 15 point rule is used on a transformed integrand.

in both cases 3 and 4 the epsilon algorithm is used to perform
extrapolation.

The nag routines are based on routines from quadpack

1) QAG
2) QFOUR
3) QAWFE
4) QAGI

These may be obtained from netlib@research.att.com by sending mail of
the form

send qag from quadpack

this also gets you the dependency routines.

References

Piessens, R. et al  QUADPACK, A subroutine package for automatic 
		    integration (1983) Springer verlag

(This tells you how to call the quadpack routines + a little in
the way of general advice)

Davis P.J. and Rabinowitz P.  Methods of Numerical Integration
		     (1975?) Academic Press Second Edition
					    ==============

(Has everything you will ever want to know (and more) on the subject
 of quadrature).

Tim


-- 
Tim Hopkins,                  { trh@ukc.ac.uk
Computing Laboratory,           trh%ukc@cs.ucl.ac.uk
University of Kent,              na.hopkins@score.stanford.edu }
Canterbury CT2 7NF, Kent, UK.
Technical Details
Message-ID: <3833@harrier.ukc.ac.uk>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!usenet.ins.cwru.edu!mephisto!bloom-beacon!eru!luth!sunic!mcsun!ukc!harrier.ukc.ac.uk!trh
References: <1395@pacific.mps.ohio-state.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!usenet.ins.cwru.edu!mephisto!bloom-beacon!eru!luth!sunic!mcsun!ukc!harrier.ukc.ac.uk!trh
From: trh@ukc.ac.uk (T.R.Hopkins)
Newsgroups: comp.lang.fortran
Subject: Re: oscillatory integral: help needed
Message-ID: <3833@harrier.ukc.ac.uk>
Date: 13 Feb 90 11:02:29 GMT
References: <1395@pacific.mps.ohio-state.edu>
Reply-To: trh@ukc.ac.uk (T.R.Hopkins)
Organization: Computing Lab, University of Kent at Canterbury, UK.
Lines: 70