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