# Implementing the basic Fourier-Transformation

Hi there!

I'm currently plaing around with sage and I'm really excited about it.

I'd love to do my computations at university and home with a neat opensource-tool instead of the higly prices closed competitors.

Now, the problem I am facing is the symbolif computation of a fourier transformation.

Below is my current naive approach (I'm still learning fourier and complex mathematics, but with large interest!)

x,w,f_0,t = var("x,w,f_0,t")

w = 2*pi*f_0
x(t) = sin(w*t)

integrate(x*exp(-I*w*t),t, -oo, oo)


which results in the following (obviously equal) result:

integrate(e^(-2*I*pi*f_0*t)*sin(2*pi*f_0*t), t, -Infinity, +Infinity)


My expectiation would be an equation without the t (since it has been substituted through integration) and an floating f_0 which I can set according to my desired sine frequency.

Please, could someone tell me, what exactly I am missing here?

Greetings Jakob

edit retag close merge delete

Sort by ยป oldest newest most voted

Not every function has a wel defined fourier transform, sin(omegat) being an example of those. Try transforming a more 'well-behaved' function, such as exp(-at^2), or 1/(1+t^2). I didn't check, but I bet SAGE will return a correct answer for those.

more

So, as you suggested, I added a numerical Definition for f_0, now I'm getting an error:

x,w,f_0,t = var("x,w,f_0,t")

f_0 = 1
w = 2*pi*f_0

x(t) = sin(w*t)

integrate(x*exp(-I*w*t),t, -oo, oo)


This is the actual result:

Traceback (click to the left of this block for traceback)
...
ValueError: Integral is divergent.

more

numerical_integral returns: TypeError: unable to coerce to a real number

( 2012-10-25 07:39:11 +0200 )edit
1

That's because the integral is actually divergent. The function $\sin(w t)$ is not integrable on $(-\infty, \infty)$.

( 2012-10-27 04:18:01 +0200 )edit

The integral that you want to calculate it is not so simple because as you can see it evolves the imaginary unit.

I would suggest to define f_0 first and then calculate the integral numerically .

more