-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #245 from NNPDF/tlu_ome
Time like matching conditions
- Loading branch information
Showing
13 changed files
with
266 additions
and
79 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
src/ekore/anomalous_dimensions/unpolarized/time_like/__init__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
59 changes: 52 additions & 7 deletions
59
src/ekore/operator_matrix_elements/unpolarized/time_like/__init__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,60 @@ | ||
r"""The polarized, time-like |OME|.""" | ||
r"""The unpolarized, time-like |OME|.""" | ||
|
||
import numba as nb | ||
import numpy as np | ||
|
||
from . import as1 | ||
|
||
|
||
@nb.njit(cache=True) | ||
def A_non_singlet(_matching_order, _n, _sx, _nf, _L): | ||
"""Compute the non-singlet |OME|.""" | ||
raise NotImplementedError("Time-like is not yet implemented") | ||
def A_non_singlet(matching_order, N, L): | ||
r"""Compute the non-singlet |OME|. | ||
Parameters | ||
---------- | ||
matching_order : tuple(int, int) | ||
perturbative matching order | ||
N : complex | ||
Mellin moment | ||
L : float | ||
:math:`\ln(\mu_F^2 / m_h^2)` | ||
Returns | ||
------- | ||
A_non_singlet : numpy.ndarray | ||
non-singlet |OME| | ||
""" | ||
A_ns = np.zeros((matching_order[0], 2, 2), np.complex_) | ||
if matching_order[0] >= 1: | ||
A_ns[0] = as1.A_ns() | ||
if matching_order[0] >= 2: | ||
A_ns[1] = as1.A_ns() | ||
return A_ns | ||
|
||
|
||
@nb.njit(cache=True) | ||
def A_singlet(_matching_order, _n, _sx, _nf, _L, _is_msbar, _sx_ns=None): | ||
"""Compute the singlet |OME|.""" | ||
raise NotImplementedError("Time-like is not yet implemented") | ||
def A_singlet(matching_order, N, L): | ||
r"""Compute the singlet |OME|. | ||
Parameters | ||
---------- | ||
matching_order : tuple(int, int) | ||
perturbative matching order | ||
N : complex | ||
Mellin moment | ||
L : float | ||
:math:`\ln(\mu_F^2 / m_h^2)` | ||
Returns | ||
------- | ||
A_singlet : numpy.ndarray | ||
singlet |OME| | ||
""" | ||
A_singlet = np.zeros((matching_order[0], 3, 3), np.complex_) | ||
if matching_order[0] >= 1: | ||
A_singlet[0] = as1.A_singlet(N, L) | ||
if matching_order[0] >= 2: | ||
A_singlet[1] = as1.A_singlet(N, L) | ||
return A_singlet |
101 changes: 101 additions & 0 deletions
101
src/ekore/operator_matrix_elements/unpolarized/time_like/as1.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
"""The unpolarized, time-like |NLO| matching conditions.""" | ||
|
||
import numba as nb | ||
import numpy as np | ||
|
||
from eko.constants import CF | ||
|
||
|
||
@nb.njit(cache=True) | ||
def A_hg(N, L): | ||
r"""Compute the |NLO| heavy-gluon |OME|. | ||
Implements :eqref:`27` from :cite:`Cacciari:2005ry`. | ||
Parameters | ||
---------- | ||
N : complex | ||
Mellin moment | ||
L : float | ||
:math:`\ln(\mu_F^2 / m_h^2)` | ||
Returns | ||
------- | ||
A_hg : complex | ||
|NLO| heavy-gluon |OME| | ||
:math:`A_{hg}^{S,(1)}` | ||
""" | ||
result = ( | ||
2 | ||
* CF | ||
* ( | ||
(2 + N + N**2) / (N * (N**2 - 1)) * (L - 1) | ||
+ 4 / (N - 1) ** 2 | ||
- 4 / N**2 | ||
+ 2 / (N + 1) ** 2 | ||
) | ||
) | ||
return result | ||
|
||
|
||
@nb.njit(cache=True) | ||
def A_gg(L): | ||
r"""Compute the |NLO| gluon-gluon |OME|. | ||
Implements the Mellin transform of | ||
:eqref:`24` from :cite:`Cacciari:2005ry`. | ||
It is identical to the one in | ||
:class:`~ekore.operator_matrix_elements.unpolarized.space_like.as1`. | ||
Parameters | ||
---------- | ||
L : float | ||
:math:`\ln(\mu_F^2 / m_h^2)` | ||
Returns | ||
------- | ||
A_gg : complex | ||
|NLO| gluon-gluon |OME| :math:`A_{gg,H}^{S,(1)}` | ||
""" | ||
return -2.0 / 3.0 * L | ||
|
||
|
||
@nb.njit(cache=True) | ||
def A_singlet(N, L): | ||
r"""Compute the |NLO| singlet |OME|. | ||
Parameters | ||
---------- | ||
N : complex | ||
Mellin moment | ||
L : float | ||
:math:`\ln(\mu_F^2 / m_h^2)` | ||
Returns | ||
------- | ||
A_singlet : numpy.ndarray | ||
|NLO| singlet |OME| | ||
:math:`A^{S,(1)}` | ||
""" | ||
result = np.array( | ||
[[A_gg(L), 0 + 0j, 0], [0 + 0j, 0, 0], [A_hg(N, L), 0, 0]], np.complex_ | ||
) | ||
return result | ||
|
||
|
||
@nb.njit(cache=True) | ||
def A_ns(): | ||
r"""Compute the |NLO| non-singlet |OME|. | ||
Returns | ||
------- | ||
A_ns : numpy.ndarray | ||
|NLO| non-singlet |OME| | ||
:math:`A^{S,(1)}` | ||
""" | ||
result = np.array([[0, 0], [0, 0]], np.complex_) | ||
return result |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.