Mellin Space and Transformations

We solve the equations in Mellin-space as there multiplicative convolution is mapped onto a normal multiplication and thus integro-differential equations, such as DGLAP equations, are instead just normal differential equations.

The Mellin transformation is given by

\[\tilde g(N) = \mathcal{M}[g(x)](N) = \int\limits_{0}^{1} x^{N-1} g(x)\,dx\]

We will denote objects in Mellin-space with an additional tilde if they may appear in both spaces. The inverse Mellin transformation is given by

\[g(x) = \mathcal{M}^{-1}[\tilde g(N)](x) = \frac{1}{2\pi i} \int\limits_{\mathcal{P}} x^{-N} \tilde g(N)\,dN\]

for a suitable path \(\mathcal{P}(t)\) which runs to the right to the right-most pole of \(\tilde g(N)\). For the implementation we will assume that the integration path \(\mathcal P\) is given by

\[\mathcal P : [0,1] \to \mathbb C : t \to \mathcal P(t)\quad \text{with}~\mathcal P(1/2-t) = \mathcal P^*(1/2+t)\]

where \(\mathcal P^*\) denotes complex conjugation. Assuming further \(\tilde g\) to be a holomorphic function along the path, we can rewrite the inversion integral by

\[\begin{split}g(x) &= \frac{1}{2\pi i} \int\limits_{0}^{1} x^{-\mathcal{P}(t)} \tilde g(\mathcal{P}(t)) \frac{d\mathcal{P}(t)}{dt} \,dt\\ &= \frac{1}{\pi} \int\limits_{1/2}^{1} \Re \left( x^{-\mathcal{P}(t)} \tilde g(\mathcal{P}(t)) \frac 1 i \frac{d\mathcal{P}(t)}{dt} \right) \,dt\end{split}\]

Important Examples


\[\begin{split}\mathcal M[x^m](N) &= \frac 1 {N + m}\\ \mathcal M[x^m\Theta(x - x_{min})\Theta(x_{max} - x)](N) &= \frac {x_{max}^{N+m} - x_{min}^{N+m}} {N + m}\end{split}\]


\[\begin{split}\mathcal M[\ln(x)^m](N) &= \frac{d^m}{dN^m}\frac 1 {N}\\ \mathcal M[\ln^m(x)\Theta(x - x_{min})\Theta(x_{max} - x)](N) &= \frac{d^m}{dN^m}\frac {x_{max}^{N} - x_{min}^{N}} {N}\end{split}\]

Note that any derivative to either \(x_m^N\) or \(1/N\) is again proportional to its source.

Plus Distributions

\[\mathcal M[1/(1-x)_+](N) = - S_1(N - 1)\]

with the harmonic sum \(S_1\) (see Harmonic Sums).

Inversion of Factorizable Kernels

If the integration kernel \(\tilde g(N)\) can be factorized

\[\tilde g(N) = x_0^N \cdot \tilde h(N)\]

with \(x_0\) a fixed number in \((0,1]\) and \(\lim_{N\to\infty}h(N)\to 0\), the inversion can be simplified if the inversion point \(x_i\) is above \(x_0\).

\[\begin{split}g(x_i) &= \frac{1}{2\pi i} \int\limits_{\mathcal{P}} x_i^{-N} x_0^N \tilde h(N)\,dN \\ &= \frac{1}{2\pi i} \int\limits_{\mathcal{P}} \exp(-N(\ln(x_i)-\ln(x_0))) \tilde h(N)\,dN\end{split}\]

Now, take the textbook path \(p : \mathbb R \to \mathbb C : t \to p(t) = c + i t\) and consider the limit in which we shift the parameter \(c \to \infty\). As \(x_i > x_0\) it follows immediately \(\ln(x_i)-\ln(x_0) > 0\) and thus

\[|\exp(-N(\ln(x_i)-\ln(x_0)))| \to 0\]

Together with the assumed vanishing of \(\tilde h(N)\) we can conclude \(g(x_i) = 0\).


Mellin space factorizes multiplicative convolution

\[\begin{split}(f \otimes g)(x) &= \int\limits_x^1 \frac{dy}{y} f(x/y) g(y)\\ \mathcal M[(f \otimes g)(x)](N) &= \mathcal M[f(x)](N) \cdot \mathcal M[g(x)](N)\end{split}\]

The convolution integral runs from \(x\) to 1, thus only basis functions which have support above \(x\) may contribute to the integral. This information is encoded in N-space in the following way: Due to the Mellin kernel \(x^{N-1}\) any piecewise polynomial, such as we are doing, are proportional to \(x_{\text{min/max}}^N = \exp(N\ln(x_{\text{min/max}}))\) (see Important Examples). They are thus factorizable is the above sense.

Harmonic Sums

In the computations of the anomalous dimensions and matching conditions, (generalized) harmonic sums [Abl12] appear naturally:

\[\begin{split}S_{m}(N) &= \sum\limits_{j=1}^N \frac{(\text{sign}(m))^j}{j^{|m|}} \\ S_{m_0,m_1\ldots}(N) &= \sum\limits_{j=1}^N \frac{(\text{sign}(m_0))^j}{j^{|m_0|}} S_{m_1\ldots}(j)\end{split}\]

At N3LO the anomalous dimensions contains at maximum weight 7 harmonic sums. We then need to find an analytical continuation of these sums into the complex plain to perform the Mellin inverse.

  • the sums \(S_{m}(N)\) for \(m > 0\) do have a straight continuation:

    \[\begin{split}S_m(N) = \sum\limits_{j=1}^N \frac 1 {j^m} = \frac{(-1)^{m-1}}{(m-1)!} \psi_{m-1}(N+1)+c_m \quad \text{with},\quad c_m = \left\{\begin{array}{ll} \gamma_E, & m=1\\ \zeta(m), & m>1\end{array} \right.\end{split}\]

    where \(\psi_k(N)\) is the \(k\)-th polygamma function (implemented as cern_polygamma()) and \(\zeta\) the Riemann zeta function (using scipy.special.zeta()).

  • for the sums \(S_{-m}(N)\) and m > 0 we use [GRV90]:

    \[S_m'(N) = 2^{m-1}(S_m(N) + S_{-m}(N)) = \frac{1+\eta}{2} S_m\left(\frac{N}{2}\right) + \frac{1-\eta}{2} S_m\left(\frac{N-1}{2}\right)\]
    \[S_{-m}(N) = \frac{1}{2^{m-1}} \left [ \frac{1+\eta}{2} S_m\left(\frac{N}{2}\right) + \frac{1-\eta}{2}S_m\left(\frac{N-1}{2}\right)\right ] - S_m(N)\]

    where formally \(\eta = (-1)^N\) but in all singlet-like quantities it has to be analytically continued with 1 and with -1 elsewise for unpolarized quantities, while the opposite holds for polarized ones. In case the symmetry condition is not given the formal definition of \(\eta\) is used. This relation is equivalent to the standard analytical continuation [Blu09, Mus17]:

    \[\begin{split}S_{-m}(N) &= \frac{\eta}{2^m} \left[ S_m\left(\frac{N}{2}\right) - S_m\left(\frac{N-1}{2}\right) \right] - d_{m} \quad \text{with},\quad d_m = \left\{\begin{array}{ll} \log(2), & m=1\\ \frac{2^{m-1}-1}{2^{m-1}}\zeta(m), & m>1\end{array} \right.\\\end{split}\]

    but it’s faster for \(\eta = \pm 1\).

  • for the sums with greater depth we use the definitions provided in [Blu09, BK99, GRV90, Mus17], which express higher weight sums in terms of simple one \(S_{m}, S_{-m}\) and some irreducible integrals. The above prescription on the analytical continuation of \(\eta\) is applied.

The complete list of harmonics sums available in ekore.harmonics is:

  • weight 1:

    \[S_{1}, S_{-1}\]
  • weight 2:

    \[S_{2}, S_{-2}\]
  • weight 3:

    \[S_{3}, S_{2,1}, S_{2,-1}, S_{-2,1}, S_{-2,-1}, S_{-3}\]

    these sums relies on the integrals ekore.harmonics.g_functions [BK99, Mus17]

  • weight 4:

    \[S_{4}, S_{3,1}, S_{2,1,1}, S_{-2,-2}, S_{-3, 1}, S_{-4}\]

    these sums relies on the integrals ekore.harmonics.g_functions [BK99, Mus17]

  • weight 5:

    \[S_{5}, S_{-5}\]

We have also implemented a recursive computation of simple harmonics (single index), see ekore.harmonics.polygamma.recursive_harmonic_sum()

In the extra folder we provide and additional package harmonics_w5 which compute analytical continuation of weight 5 harmonics, currently not used in ekore:

\[S_{4,1}, S_{3,1,1}, S_{2,3}, S_{2,2,1}, S_{2,1,1,1}, S_{2,1,-2}, S_{2,-3}, S_{-2,3}, S_{-2,2,1}, S_{-2,1,1,1}\]

where these sums rely on the integrals harmonics_w5.f_functions [Blu09]