Thread Subject: How to numerically integrate a highly oscillatory function like fourier integral?

Subject: How to numerically integrate a highly oscillatory function like fourier integral?

From: Nirmal

Date: 20 Nov, 2009 05:25:19

Message: 1 of 9

Hi,
I am trying to numerically integrate a highly oscillatory function. I am looking for the technique to integrate such a highly oscillatory function. I am actually trying to find the inverse fourier integral (The integrand is a highly osciallatory).

My integrand is like: [cosh(w)*exp(i*w*x)] dw .... i have to integrate it from -infinity to infinity.
Can anyone suggest me some idea or refer some material where I can get some ideas to solve this problem.

Thanks !!!
Nirmal

Subject: How to numerically integrate a highly oscillatory function like fourier integral?

From: Nasser M. Abbasi

Date: 20 Nov, 2009 05:31:51

Message: 2 of 9


"Nirmal " <nirmal323@yahoo.com> wrote in message
news:he597v$pv8$1@fred.mathworks.com...
> Hi,
> I am trying to numerically integrate a highly oscillatory function. I am
> looking for the technique to integrate such a highly oscillatory function.
> I am actually trying to find the inverse fourier integral (The integrand
> is a highly osciallatory).
>
> My integrand is like: [cosh(w)*exp(i*w*x)] dw .... i have to integrate it
> from -infinity to infinity.
> Can anyone suggest me some idea or refer some material where I can get
> some ideas to solve this problem.
>
> Thanks !!!
> Nirmal

If you want the inverse fourier transform for a function, why not use
ifourier() on it?

--Nasser

Subject: How to numerically integrate a highly oscillatory function like fourier integral?

From: Nirmal

Date: 20 Nov, 2009 06:19:02

Message: 3 of 9

"Nasser M. Abbasi" <nma@12000.org> wrote in message <6RpNm.4538$kY2.948@newsfe01.iad>...
>
> "Nirmal " <nirmal323@yahoo.com> wrote in message
> news:he597v$pv8$1@fred.mathworks.com...
> > Hi,
> > I am trying to numerically integrate a highly oscillatory function. I am
> > looking for the technique to integrate such a highly oscillatory function.
> > I am actually trying to find the inverse fourier integral (The integrand
> > is a highly osciallatory).
> >
> > My integrand is like: [cosh(w)*exp(i*w*x)] dw .... i have to integrate it
> > from -infinity to infinity.
> > Can anyone suggest me some idea or refer some material where I can get
> > some ideas to solve this problem.
> >
> > Thanks !!!
> > Nirmal
>
> If you want the inverse fourier transform for a function, why not use
> ifourier() on it?
>
> --Nasser

Hi Nasser and all,
Actually, my function to integrate looks more complicated:
Integrate the following complicated function from -infinity to infinity.

Integrate [exp(t/2*w)*w^4*heaviside(-w)*cosh(r*y)]*exp(i*w*x)
                  ----------------------------------------------------------------------------------- dw
                                  [w*cosh(r*t/2)+r*sinh(r*t/2)]

r=sqrt(w^2+j*mu(we+v*w));
Here , r is also a function of 'w' and I am integrating with respect to 'w'
where; t, mu, we, v ,y are known. Now I have to integrate the following function with respect to 'w' and get the result for different value of x.


I hope to get the suggestion .
Thanks
Nirmal

Subject: How to numerically integrate a highly oscillatory function like fourier integral?

From: Nasser M. Abbasi

Date: 20 Nov, 2009 06:39:33

Message: 4 of 9


"Nirmal " <nirmal323@yahoo.com> wrote in message
news:he5ccm$9ni$1@fred.mathworks.com...
> "Nasser M. Abbasi" <nma@12000.org> wrote in message
> <6RpNm.4538$kY2.948@newsfe01.iad>...
>>
>> "Nirmal " <nirmal323@yahoo.com> wrote in message
>> news:he597v$pv8$1@fred.mathworks.com...
>> > Hi,
>> > I am trying to numerically integrate a highly oscillatory function. I
>> > am
>> > looking for the technique to integrate such a highly oscillatory
>> > function.
>> > I am actually trying to find the inverse fourier integral (The
>> > integrand
>> > is a highly osciallatory).
>> >
>> > My integrand is like: [cosh(w)*exp(i*w*x)] dw .... i have to integrate
>> > it
>> > from -infinity to infinity.
>> > Can anyone suggest me some idea or refer some material where I can get
>> > some ideas to solve this problem.
>> >
>> > Thanks !!!
>> > Nirmal
>>
>> If you want the inverse fourier transform for a function, why not use
>> ifourier() on it?
>>
>> --Nasser
>


> Hi Nasser and all,
> Actually, my function to integrate looks more complicated:
> Integrate the following complicated function from -infinity to infinity.
>
> Integrate [exp(t/2*w)*w^4*heaviside(-w)*cosh(r*y)]*exp(i*w*x)
> -----------------------------------------------------------------------------------
> dw
> [w*cosh(r*t/2)+r*sinh(r*t/2)]
>
> r=sqrt(w^2+j*mu(we+v*w));

Is 'j' above supposed to be sqrt(-1) also? like 'i' above?

> Here , r is also a function of 'w' and I am integrating with respect to
> 'w'
> where; t, mu, we, v ,y are known. Now I have to integrate the following
> function with respect to 'w' and get the result for different value of x.
>

> I hope to get the suggestion .
> Thanks
> Nirmal

Subject: How to numerically integrate a highly oscillatory function like fourier integral?

From: Nasser M. Abbasi

Date: 20 Nov, 2009 06:55:32

Message: 5 of 9


"Nirmal " <nirmal323@yahoo.com> wrote in message
news:he5ccm$9ni$1@fred.mathworks.com...
>
> Hi Nasser and all,
> Actually, my function to integrate looks more complicated:
> Integrate the following complicated function from -infinity to infinity.
>
> Integrate [exp(t/2*w)*w^4*heaviside(-w)*cosh(r*y)]*exp(i*w*x)
> -----------------------------------------------------------------------------------
> dw
> [w*cosh(r*t/2)+r*sinh(r*t/2)]
>
> r=sqrt(w^2+j*mu(we+v*w));
> Here , r is also a function of 'w' and I am integrating with respect to
> 'w'
> where; t, mu, we, v ,y are known. Now I have to integrate the following
> function with respect to 'w' and get the result for different value of x.
>

You should post the function itself (i.e. F(w) ) that you want to obtain its
inverse Fourier transform.

In the above, you seem to be trying to perform the operation yourself.
(becuase you have the exp(I*w*x) in there.)

You should really use better notations. You say 't' is known. 't' normally
is used for independent variable, not a constant. This is very confusing. if
it is constant, use alpha or beta. And your 'j' there is confusing with 'i'.
If it is constant, then also same applied.

The function inv. fourier transform, can sometime do things more smartly
than you could by doing direct integration.

So, again, what is the function itself you are trying to find its inverse
fourier transform?

--Nasser

Subject: How to numerically integrate a highly oscillatory function like

From: TideMan

Date: 20 Nov, 2009 07:48:19

Message: 6 of 9

On Nov 20, 7:55 pm, "Nasser M. Abbasi" <n...@12000.org> wrote:
> "Nirmal " <nirmal...@yahoo.com> wrote in message
>
> news:he5ccm$9ni$1@fred.mathworks.com...
>
>
>
>
>
> > Hi Nasser and all,
> > Actually, my function to integrate looks more complicated:
> > Integrate the following complicated function from -infinity to infinity.
>
> > Integrate        [exp(t/2*w)*w^4*heaviside(-w)*cosh(r*y)]*exp(i*w*x)
> >                  -----------------------------------------------------------------------------------
> > dw
> >                                  [w*cosh(r*t/2)+r*sinh(r*t/2)]
>
> > r=sqrt(w^2+j*mu(we+v*w));
> > Here , r is also a function of 'w' and I am integrating with respect to
> > 'w'
> > where; t, mu, we, v ,y are known. Now I have to integrate the following
> > function with respect to 'w' and get the result for different value of x.
>
> You should post the function itself (i.e. F(w) ) that you want to obtain its
> inverse Fourier transform.
>
> In the above, you seem to be trying to perform the operation yourself.
> (becuase you have the exp(I*w*x) in there.)
>
> You should really use better notations. You say 't' is known. 't' normally
> is used for independent variable, not a constant. This is very confusing. if
> it is constant, use alpha or beta. And your 'j' there is confusing with 'i'.
> If it is constant, then also same applied.
>
> The function inv. fourier transform, can sometime do things more smartly
> than you could by doing direct integration.
>
> So, again, what is the function itself you are trying to find its inverse
> fourier transform?
>
> --Nasser

Nasser: it's a homework problem.
" Integrate the following complicated function from -infinity to
infinity."
No one with a real problem would explain it that way.
Let the bugger flounder.

Subject: How to numerically integrate a highly oscillatory function like

From: Nirmal

Date: 20 Nov, 2009 14:32:19

Message: 7 of 9



> > You should post the function itself (i.e. F(w) ) that you want to obtain its
> > inverse Fourier transform.
> >
> > In the above, you seem to be trying to perform the operation yourself.
> > (becuase you have the exp(I*w*x) in there.)
> >
> > You should really use better notations. You say 't' is known. 't' normally
> > is used for independent variable, not a constant. This is very confusing. if
> > it is constant, use alpha or beta. And your 'j' there is confusing with 'i'.
> > If it is constant, then also same applied.
> >
> > The function inv. fourier transform, can sometime do things more smartly
> > than you could by doing direct integration.
> >
> > So, again, what is the function itself you are trying to find its inverse
> > fourier transform?
> >
> > --Nasser

Hi Nasser and all,
Nasser, Thank you for your suggestion. I have written it again to make it clear.
This is not a homework but a real world problem. This function is a vector potential of the electrodynamic wheel for magnetic levitation in Fourier domain. I am trying to get the function in the rectangular coordinate system, f(x). F(w) is a function in fourier domain. I want to find the function f(x) which is a fourier inverse of F(w).
I tried Mathematica, Maple and MATLAB to get the straight foruier inverse, but could not get the result.
I am wondering if there is any way to get the inverse fourier of F(w). I did not get any idea , so I am thinking of integrating it by Numerical Technique. But, I still do not know which of the numerical technique works well for the highly oscillatory function like this (i.e. For the Integrand: 1/(2*pi)*F(w)*exp(i*w*x)).

           [exp(t/2*w)*w^4*heaviside(-w)*cosh(r*y)]
F(w)= ---------------------------------------------------------------
                  [w*cosh(r*t/2)+r*sinh(r*t/2)]

Where, r=sqrt(w^2+i*mu(we+v*w)), here r is a function of w as well.
mu=permeability of the surface
y=distance along y-axis, we=angular velocity of the wheel, t=thickness of the guide way, v=translational velocity of the wheel, x=distance in x-axis (which is a variable)
Now,
f(x)=Integration(-Inf,Inf,1/(2*pi)*F(w)*exp(i*w*x)*dw)

Could you please suggest me some ideas to find the Inverse Fourier of F(w) or Integrate by Numerical Technique (suggest me the best method for highly oscillatory Integrand).

Thank you !!!
~Nirmal

Subject: How to numerically integrate a highly oscillatory function like

From: Nasser M. Abbasi

Date: 20 Nov, 2009 16:15:05

Message: 8 of 9


"Nirmal " <nirmal323@yahoo.com> wrote in message
news:he699j$m3j$1@fred.mathworks.com...
>
>
>> > You should post the function itself (i.e. F(w) ) that you want to
>> > obtain its
>> > inverse Fourier transform.
>> >
>> > In the above, you seem to be trying to perform the operation yourself.
>> > (becuase you have the exp(I*w*x) in there.)
>> >
>> > You should really use better notations. You say 't' is known. 't'
>> > normally
>> > is used for independent variable, not a constant. This is very
>> > confusing. if
>> > it is constant, use alpha or beta. And your 'j' there is confusing with
>> > 'i'.
>> > If it is constant, then also same applied.
>> >
>> > The function inv. fourier transform, can sometime do things more
>> > smartly
>> > than you could by doing direct integration.
>> >
>> > So, again, what is the function itself you are trying to find its
>> > inverse
>> > fourier transform?
>> >
>> > --Nasser
>
> Hi Nasser and all,
> Nasser, Thank you for your suggestion. I have written it again to make it
> clear.
> This is not a homework but a real world problem. This function is a vector
> potential of the electrodynamic wheel for magnetic levitation in Fourier
> domain. I am trying to get the function in the rectangular coordinate
> system, f(x). F(w) is a function in fourier domain. I want to find the
> function f(x) which is a fourier inverse of F(w).
> I tried Mathematica, Maple and MATLAB to get the straight foruier inverse,
> but could not get the result.
> I am wondering if there is any way to get the inverse fourier of F(w). I
> did not get any idea , so I am thinking of integrating it by Numerical
> Technique. But, I still do not know which of the numerical technique works
> well for the highly oscillatory function like this (i.e. For the
> Integrand: 1/(2*pi)*F(w)*exp(i*w*x)).
>
> [exp(t/2*w)*w^4*heaviside(-w)*cosh(r*y)]
> F(w)= ---------------------------------------------------------------
> [w*cosh(r*t/2)+r*sinh(r*t/2)]
>
> Where, r=sqrt(w^2+i*mu(we+v*w)), here r is a function of w as well.
> mu=permeability of the surface
> y=distance along y-axis, we=angular velocity of the wheel, t=thickness of
> the guide way, v=translational velocity of the wheel, x=distance in x-axis
> (which is a variable)
> Now,
> f(x)=Integration(-Inf,Inf,1/(2*pi)*F(w)*exp(i*w*x)*dw)
>

> Could you please suggest me some ideas to find the Inverse Fourier of F(w)
> or Integrate by Numerical Technique (suggest me the best method for
> highly oscillatory Integrand).
>
> Thank you !!!
> ~Nirmal

I assume you tried Gauss quadrature and tried Mathematica NIntergrate[]
(where you would integrate to some fixed upper range, then look what happens
to the limit as this upper range become infinity, and you tried symbolic
integration, and nothing works, then I am not sure now, may be an
integration expert is what you need. Check in the numerical analysis group
or the math news group. May be there is some transformation you can do on
the function to make the integration easier.

Other than that, may be wait for Mathematica 8 to try that, since as Wolfram
says below, they have special algorithms developed for exactly this sort of
highly oscillatory functions:

"Oh, yes, another algorithm breakthrough area: NIntegrate. We've developed a
whole bunch of new algorithms for handling functions that oscillate."

http://blog.wolfram.com/2009/11/12/the-rd-pipeline-for-mathematica/#more-2172

good luck,
--Nasser

Subject: How to numerically integrate a highly oscillatory function like

From: Bruno Luong

Date: 20 Nov, 2009 19:29:20

Message: 9 of 9

"Nasser M. Abbasi" <nma@12000.org> wrote in message <JEzNm.46042$Wf2.200@newsfe23.iad>...

>
> "Oh, yes, another algorithm breakthrough area: NIntegrate. We've developed a
> whole bunch of new algorithms for handling functions that oscillate."
>
> http://blog.wolfram.com/2009/11/12/the-rd-pipeline-for-mathematica/#more-2172
>

Woaah, I know virtually nothing about Mathematica (I'm never very fond of symbolic calculation), but after watching this video I want to drop everything I have in Matlab and rush out to buy a Mathematica license just for fun.

Bruno

Tags for this Thread

Add a New Tag:

Separated by commas
Ex.: root locus, bode

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

rssFeed for this Thread

Contact us at files@mathworks.com