From: ".Craig S. MacInnes"
Subject: Re: Fourier Transform of a function within an integration
Date: Sat, 23 Jan 1999 14:09:34 +0000
Newsgroups: sci.math,sci.math.num-analysis,sci.math.symbolic
Keywords: Determining fourier transform with Hermite functions
This may help. First, relabel the function whose Fourier transform is to
be found as J(u). Note that the Hermite functions are eigenfunctions of
the Fourier transform operator, and they are defined on the same interval
that the integral is taken over, i.e. (-inf,inf). Write:
J(u)= sum(n=0)^(inf) c_n H_n(u). Inserting this in the intergral, and
switching the integral and summation sign, you get:
F(w) = sum_(n=0)^(inf) c_n integration(u=-inf,inf) (G(w,u)H_n(u)).
In order to get an approximate solution, discretize w: w_1,...,w_M, and
truncate the summation to 0,...,N.
(So, the numerical integration has to be performed (N+1)(M) times, for
each pair (w_i,n),i=1...,M;n=0,...N.)
Denote the integral as S(i,n) == S(w_i,n). You now have a linear system
for the c_n's,
i.e.:
S(i,n)*[c_0 c_1 ... c_N]' = [F(w_1,w_2,...w_M]'
(using Matlab notation, i.e., the two things in square brackets are column
vectors).
Here, S(i,n) is a rectangular, M x (N+1) matrix. Letting M >=N+1 (for a
square linear system, or least squares problem) you can see if the
c_n's are relatively stable with respect to N and M by increasing them and
watching how
the c_n's vary. The least squares problem can be solved using the normal
equation approach, but there are more stable ways to do this; see any
numerical analysis book.
The final step now follows easily, since, if:
J(u) = sum_(n=1)^(inf) H_n(u), then:
Fourier transform(J(u)) = sum_(n=0)^(inf) (-i)^n H_n(u).
(Performing a Fourier transform of a function by first finding the
decomposition of the function as a weighted sum of eigenfunctions of the
Fourier transform operator is due to N. Wiener, according to Dym and
McKean's book ("Fourier Series and Integrals"), where more stuff on the
Hermite functions is available.)
Regards,
Craig MacInnes
Jean Marc Zanotti wrote:
> Your right like this it does not make sense...
>
> The right formula is:
>
> F(w)=Integration(G(w,u).H(u), u=-infinity, +infinity )
>
> The functions F(w) is known numerically.
> G(w,u) is of the form:
> G(w,u)=Sigma(u)*exp( -(1/sigma(u)^2)*(w+delta(u))^2 )
> where Sigma(u) and delta(u) are two functions of u.
>
> The problem is to find numerically, h(t), the Fourier transform of H.
> It seems difficult to apply the convolution theorem.
>
> JMarc