# Implementation of the Riesz transform

Implementing the Hilbert transformation

\begin{equation}H(f)(x) = \frac{1}{\pi}\lim_{\varepsilon \to 0} \int_{|x-y|>\varepsilon} \frac{1}{x-y}f(y) \, dy,\end{equation} appropriate for 1-dimensional cases, is quite easy in Mathematica. For example, a direct implementation of the convolution with the tempered distribution p.v. $1/(\pi u)$ is given here:

hilbertTransform[f_, u_, t_] :=  FullSimplify[Convolve[f, 1/u, u, t, PrincipalValue -> True]/\[Pi]]

hilbertTransform[#, v, w] & /@ Sin[v]

out: -Cos[w]


I am interested in the extension of the Hilbert transform into higher dimensions, for my purposes given by the Riesz transform: \begin{equation} \begin{split} R_jf(x)&=\pi^{\frac{-(n+1)}{2}}\Gamma(\frac{n+1}{2})\lim_{\epsilon\to 0}\int_{|y|>\epsilon}\frac{y_jf(x-y)}{|y|^{n+1}}dy\\ &=\pi^{\frac{-(n+1)}{2}}\Gamma(\frac{n+1}{2})\lim_{\epsilon\to 0}\int_{\mathbf{R}^n\backslash B_\epsilon(x)}\frac{(y_j-x_j)f(y)}{|x-y|^{n+1}}\,dy, \end{split} \end{equation} where $j = 1, \ldots, n$ and $y_j$ is the $j$th component of $y$ in $\mathbf{R}^n$. Also $x \in \mathbf{R}^n$, and for simplicity we can take $n = 2$. I have tried to use the Convolve function in 2D with the option PrincipalValue -> True, but Mathematica does not evaluate it. Even a numerical evaluation of the Riesz transformation would be more than enough and quite informative.