[SciPy-User] integral of oscillatory functions

Juan Fiol fiolj at yahoo.com
Sun Jul 31 03:16:38 EDT 2011


Thanks for all the answers. They were  very helpful. In general, seems that there is no other way that to tackle the specific problem with some analytical work. I'l look more deeply into that, and let you know if something interesting pops out.

Joshua, thanks for the link. I think that the method at what the document refers is the one I've mentioned as "asymptotic". I'd already skimmed over most of the papers cited there but as I said only the surface. I think that this document has an amenable enough presentation that will make it useful to give a try.

Adam: I'll look further into the asymptotic methods. The problem is that the oscillatory part is complicated enough to make it painful to go through the analytical work. I do not plan to do the work in scipy/numpy. I am trying to solve the problem in python but need then to adapt the solution to one of my fortran programs. 

Charles: I apologize for not being specific enough. The integrand itself is quite complicated. Moreover its form may change.  
I am attaching a short pdf with my current definitions, but in python would be something as

# Auxiliary functions and definitions
# These values will be changing
w0= 0.4
dw= 0.1
w=np.array([w0,w0+dw, w0-dw])
A=3.
B=4.

Omega= B - (A*(a/np.square(w))).sum()

def h(t):
  return ((a/w)*(np.cos(w*t))).sum() + C

def G(t):
  return (k_A*(a/np.square(w))*np.sin(w*t)).sum()
# function to integrate
def integrand(t):
  return np.exp(1j* G(t)) * np.exp(1j* Omega*t) * f(t)



--- On Sat, 7/30/11, Charles R Harris <charlesr.harris at gmail.com> wrote:

From: Charles R Harris <charlesr.harris at gmail.com>
Subject: Re: [SciPy-User] integral of oscillatory functions
To: fiolj at yahoo.com, "SciPy Users List" <scipy-user at scipy.org>
Date: Saturday, July 30, 2011, 1:10 AM



On Fri, Jul 29, 2011 at 4:36 PM, Juan Fiol <fiolj at yahoo.com> wrote:

Hi, I have to integrate a *highly* oscilatory function. I've been looking in the literature and found that there some "asymptotic methods" (that work better when oscillations are stronger and cancel most of the integrand), some methods derived from filon's method and other called Levin method. I've had taken quick looks into several mathematical papers on the subject but It will probably take me more than one month (and may be much more) to understand the subject and put it into a routine. Does anybody know if there is anything of the sort implemented in scipy? Otherwise, I would appreciate if I get advice for a more "practical" place where to look.


The integrand is not strictly of the form f(t) e^(iwt).

Any help would be welcome. Thanks

How oscillatory is *highly* oscillatory? Does the function have any particular form? Where does it come from?

Chuck 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.scipy.org/pipermail/scipy-user/attachments/20110731/b695e539/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tempo.pdf
Type: application/pdf
Size: 65680 bytes
Desc: not available
URL: <http://mail.scipy.org/pipermail/scipy-user/attachments/20110731/b695e539/attachment.pdf>


More information about the SciPy-User mailing list