MathGroup Archive 2002

[Date Index] [Thread Index] [Author Index]

Search the Archive

fourier transform time


For my PDE class we have been calculating Fourier transforms. The instructor
arrived today with a printout of two plots of a certain Fourier transform,
done with a different CAS. The first plot was to 30 terms, the second was to
120 terms.
    Curious, I translated the functions into Mathematica (4.0 on Windows2000
on a PIII 700) to see how much time this required to process. I was
Staggered at how much time it took. Here's the code:

L = 2;
f[x_] := UnitStep[x - 1];
b[n_] := (2/L)*Integrate[f[x]*Sin[n*Pi*x/L], {x, 0, L}];

FS[N_, x_] := Sum[b[n]*Sin[n*Pi*x/L], {n, 1, N}];

Timing[Plot[FS[30, x], {x, 0, 2}]]

Out[23]=
{419.713 Second, \[SkeletonIndicator]Graphics\[SkeletonIndicator]}

In this case the number of terms is 30.

The time required per number of terms seems to fit the following polynomial:

y = 0.3926x^2 + 2.2379x

This is a large amount of time. I understand that the code is not optimized,
and was more or less copied from the code in the other CAS, but is this a
reasonable amount of time, or is something going wrong?  I don't use Mathematica
because of the speed, but should it be this slow?

Just curious,

Steve Story





  • Prev by Date: $Post vs. $PrePrint
  • Next by Date: RE: Re: Generating Two Unit Orthogonal Vectors to a 3D Vector
  • Previous by thread: Re: $Post vs. $PrePrint
  • Next by thread: Re: fourier transform time