Message Boards Message Boards

Avoid contradiction of the Convolution Theorem?


The Convolution Theorem states that Fourier Transform of (A times B) equals the Convolution of ((Fourier Transform of A) and (Fourier Transform of B)). Here is one article on the Convolution Theorem.

But Mathematica gives results contradicting the Convolution Theorem. To reproduce,

fp = {0, -2 \[Pi]};

sign[t_] := HeavisideTheta[t]*2 - 1

rectangle[t_] := HeavisidePi[t/2]/2

product[t_] := rectangle[t]*sign[t]

transformOfSign[s_] := 
 Evaluate[FourierTransform[sign[t], t, s, FourierParameters -> fp]]

transformOfRectangle[s_] := 
 Evaluate[FourierTransform[rectangle[t], t, s, 
   FourierParameters -> fp]]

transformOfProduct[s_] := 
 Evaluate[FourierTransform[rectangle[t]*sign[t], t, s, 
   FourierParameters -> fp]]

convolution1[s_] := 
 Evaluate[Convolve[transformOfRectangle[x], transformOfSign[x], x, s]]

convolution2[s_] := 
 Evaluate[Convolve[transformOfSign[x], transformOfRectangle[x], x, s]]

The Convolution Theorem implies that "transformOfProduct" should equal "convolution1" and "convolution2", but Mathematica says that they are all different:

In[13]:= With[{testArgument = 1/4}, 
 Arg[{transformOfProduct[testArgument], convolution1[testArgument], 

Out[13]= {-(\[Pi]/2), -(\[Pi]/4), -((3 \[Pi])/4)}

What is causing Mathematica to contradict the Convolution Theorem?

POSTED BY: Joe Donaldson
17 days ago

Group Abstract Group Abstract