0
$\begingroup$

Consider

F[x_, n_, m_] := 2^{n/2}*WaveletPsi[HaarWavelet[], 2^{n}*x - m]

A paper I am reading uses a different convention of the Fourier transform than Mathematica's default setting, so I decided to compute a certain Fourier transform manually with the integrate command. However, when I try to run

FullSimplify[Integrate[F[x, n, m]*Exp[-I*w*x], {x, -Infinity, Infinity},Assumptions -> {Element[{n, m}, Integers], Element[w, Reals]}]]

the only output I get is Mathematica inserting the definition of F to the integral and LaTeXfying the Element commands. This is a bit odd since the Transform most certainly exists. What is going on?

Edit: The output I get is

{Integrate[2^(n/2) E^(-I w x) ( \!\(\*
TagBox[GridBox[{
{"\[Piecewise]", GridBox[{
{
RowBox[{"-", "1"}], 
RowBox[{
FractionBox["1", "2"], "<", 
RowBox[{"{", 
RowBox[{
RowBox[{"-", "m"}], "+", 
RowBox[{
SuperscriptBox["2", "n"], " ", "x"}]}], "}"}], "<", "1"}]},
{"1", 
RowBox[{"0", "<", 
RowBox[{"{", 
RowBox[{
RowBox[{"-", "m"}], "+", 
RowBox[{
SuperscriptBox["2", "n"], " ", "x"}]}], "}"}], "<", 
FractionBox["1", "2"]}]},
{"0", 
TagBox["True",
"PiecewiseDefault",
AutoDelete->True]}
},
AllowedDimensions->{2, Automatic},
Editable->True,
GridBoxAlignment->{"Columns" -> {{Left}}, "Rows" -> {{Baseline}}},
GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{1.}}},
GridBoxSpacings->{"Columns" -> {
Offset[
               0.27999999999999997`], {
Offset[0.84]}, 
Offset[0.27999999999999997`]}, "Rows" -> {
Offset[0.2], {
Offset[0.4]}, 
Offset[0.2]}},
Selectable->True]}
},
GridBoxAlignment->{"Columns" -> {{Left}}, "Rows" -> {{Baseline}}},
GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{1.}}},
GridBoxSpacings->{"Columns" -> {
Offset[
            0.27999999999999997`], {
Offset[0.35]}, 
Offset[0.27999999999999997`]}, "Rows" -> {
Offset[0.2], {
Offset[0.4]}, 
Offset[0.2]}}],
"Piecewise",
DeleteWithContents->True,
Editable->False,
SelectWithContents->True,
Selectable->False,
StripWrapperBoxes->True]\) ), {x, -\[Infinity], \[Infinity]}, 
  Assumptions -> (n | m) \[Element] Integers && w \[Element] Reals]}
$\endgroup$
3
  • $\begingroup$ First, you shouldn't use curly brackets because they represent a List, use round brackets (). Second, you should use FourierTransform, not Integrate (there are several question on StackExchange about this). Third, it works if you explicitly specify m and n, for example: f[x_, n_, m_] := 2^(n/2)*WaveletPsi[HaarWavelet[], 2^n*x - m]; FourierTransform[f[x, n, m] /. {n -> 3, m -> 2}, x, w] returns (2 I E^((I w)/4) (-1 + E^((I w)/16))^2)/(Sqrt[\[Pi]] w) $\endgroup$
    – Domen
    Mar 10 at 17:43
  • $\begingroup$ @Domen I changed the curly brackets to to round brackets, but the issue does not go away. I am just curios on knowing why Mathematica cannot calculate the integral when even I can do it for generic $m,n$ with pen and paper. Lastly, like I said, I am using the regular integrate because of the differing convention. $\endgroup$ Mar 10 at 17:47
  • $\begingroup$ Why not change the default Fourier Transform setting? $\endgroup$
    – 1729taxi
    Mar 10 at 18:56

1 Answer 1

2
$\begingroup$

Without loss of generality we may assume m==0 (see the translation property). Then in 13.2 on Windows 10 both

m=0;1/Sqrt[2*Pi]*Integrate[ 2^(n/2)*WaveletPsi[HaarWavelet[], 2^n*x - m]*
Exp[I*w*x], {x, -Infinity, Infinity}, 
Assumptions -> {Element[{n, m}, Integers], Element[w, Reals]}]

and

m = 0; FourierTransform[2^(n/2)*WaveletPsi[HaarWavelet[], 2^n*x - m], x, w, 
 Assumptions -> n \[Element] Integers]

result in

(I 2^(-(1/2) + n/2) (-1 + E^(I 2^(-1 - n) w))^2)/(Sqrt[\[Pi]] w)

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.