do we have better way to do Fourier Transform now?
Subject: do we have better way to do Fourier Transform now?
From: Edwin Woollett
Date: Sun, 7 Dec 2008 12:13:39 -0800
On Dec. 4, Forrest Sheng Bao wrote:
> (%i1) ft(expr,t,w):=integrate(expr*exp(-%i*w*t),t,-inf,inf);
> (%o1) ft(expr, t, w) := integrate(expr exp((- %i) w t), t, - inf, inf)
> (%i2) ft(exp(-1*a*t),t,w);
> Is a positive, negative, or zero?
> positive;
> Is w positive, negative, or zero?
> positive;
> inf
/
[ - %i t w - a t
(%o2) I %e dt
]
/
- inf
> Sadly, I was wondering why Maxima asked me the sign of w. I think Maxima
> should be able to handle one-variable integral of multi-variable
> expressions
> - at least my calculus professor said "just consider the other variable
> as a
> constant".
I agree that it is curious why integrate(...) is asking about the sign
of the parameter w. However, integrate(...) is trying
to determine the sign of an intermediate expression it is working with
and one should simply bear with the present state of the algorithm
and run the integral twice, once answering positive, and again,
answering negative, noticing that there is no difference in the
result. integrate(...) is super conservative in trying
to never give one the wrong answer, and part of the price of
that approach is your willingness to work with integrate by
supplying answers to its questions.
> Do we have a better way to do Fourier transform in Maxima now?
> PS: I think, Maxima can handle Laplapce Transform well. Then it should not
> be very had to deal Fourier Transform. The Laplace Transform just replaced
> %i*w by s.
You are asking Maxima to find the fourier transform of
g(t) = exp(-a*t) with a > 0.
A necessary condition for this fourier transform to exist
is that integrate( abs(g(t)),t,minf,inf ) converges, which
it does not since g(t) blows up exponentially
as t --> minf.
Since exp(z) is always positive for real z, we can simply
try:
--------------------------------
(%i1) assume(a>0)$
(%i2) integrate(exp(-a*t),t,minf,inf);
Integral is divergent
-- an error. To debug this try debugmode(true);
which confirms the lack of convergence.
------------------------------------
To see some examples of fourier transforms which
Maxima is able to do in terms of elementary
functions, see Ch. 7 of Maxima by Example,
(available on my webpage), Sections 7.12.3 - 6.
Also, Sec. 7.13 gives many examples of
Laplace Transforms.
Ted Woollett
http://www.csulb.edu/~woollett/