The PrincipalValue option of Convolve is used in this question to define the Hilbert transform. However, in Mathematica 9.0.1, the convolution version gives a wrong answer, while the Fourier transform based version still works.
(* Fourier transform version *)
hilbertTransform = Function[{f,u,t},
Module[{fp = FourierParameters -> {1, -1}, x},
FullSimplify@InverseFourierTransform[-I (2 HeavisideTheta[x] - 1)
FourierTransform[f, u, x, fp], x, t, fp]
]
];
hilbertTransform[#, v, w] & /@ {Sin[v], Cos[v], 1/(1 + v^2), Sinc[v], DiracDelta[v]}
(* {-Cos[w],Sin[w],w/(1+w^2),(1-Cos[w])/w,1/(π w)} *)
(* Convolve based version which failed for DiracDelta *)
hilbertTransform2[f_, u_, t_] :=
FullSimplify[Convolve[f, 1/u, u, t, PrincipalValue -> True]/π]
hilbertTransform2[#, v, w] & /@ {Sin[v], Cos[v], 1/(1 + v^2), Sinc[v], DiracDelta[v]}
(* {-Cos[w],Sin[w],Log[(-1)^(-(1/(1+w^2))) E^(π/(-I+w))]/π,(1-Cos[w])/w,0} *)
Is this a bug?
{}button in the editor), you can highlight them properly. You can view my edit to see how it is done. Secondly, please do not add the [tag:bugs] tag until it has been decided/confirmed by users here that it is indeed a bug. This blanket restriction is because a lot of people incorrectly use the bugs tag when it is the result of a typo or something similar. – rm -rf Jul 25 '13 at 00:16