From 0d1e2160e7c7dabc6574f817d94d859d9d4d8f05 Mon Sep 17 00:00:00 2001 From: giacomomagni Date: Thu, 23 May 2024 13:52:04 +0200 Subject: [PATCH 1/5] add new fhmruvv pgq parametrization --- doc/source/refs.bib | 11 ++ .../unpolarized/space_like/as4/fhmruvv/ggq.py | 131 +++++++++++++----- .../unpolarized/space_like/test_as4_fhmv.py | 4 +- 3 files changed, 106 insertions(+), 40 deletions(-) diff --git a/doc/source/refs.bib b/doc/source/refs.bib index ec3c7d318..769f2e326 100644 --- a/doc/source/refs.bib +++ b/doc/source/refs.bib @@ -1062,3 +1062,14 @@ @article{Ablinger:2024xtt year = "2024", journal = "" } + +@article{Falcioni:2024xyt, + author = "Falcioni, G. and Herzog, F. and Moch, S. and Pelloni, A. and Vogt, A.", + title = "{Four-loop splitting functions in QCD -- The quark-to-gluon case}", + eprint = "2404.09701", + archivePrefix = "arXiv", + primaryClass = "hep-ph", + reportNumber = "ZU-TH 20/24, DESY-24-053, LTH 1367", + month = "4", + year = "2024" +} diff --git a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/ggq.py b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/ggq.py index 312b79c52..f34aea10a 100644 --- a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/ggq.py +++ b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/fhmruvv/ggq.py @@ -2,15 +2,28 @@ import numba as nb +from eko.constants import zeta2 + from ......harmonics import cache as c -from ......harmonics.log_functions import lm12, lm13, lm14, lm15 +from ......harmonics.log_functions import ( + lm11, + lm12, + lm12m1, + lm13, + lm14, + lm14m1, + lm15, + lm15m1, +) @nb.njit(cache=True) def gamma_gq(n, nf, cache, variation): r"""Compute the |N3LO| gluon-quark singlet anomalous dimension. - The routine is taken from :cite:`Moch:2023tdj`. + The routine is taken from :cite:`Falcioni:2024xyt`. + Lower moments were published also in :cite:`Moch:2023tdj`. + Parameters ---------- @@ -40,76 +53,118 @@ def gamma_gq(n, nf, cache, variation): # Known large-x coefficients x1L5cff = 1.3443073 * 10 - 5.4869684 * 0.1 * nf x1L4cff = 3.7539831 * 10**2 - 3.4494742 * 10 * nf + 8.7791495 * 0.1 * nf2 + y1L5cff = 2.2222222 * 10 - 5.4869684 * 0.1 * nf + y1L4cff = 6.6242163 * 10**2 - 4.7992684 * 10 * nf + 8.7791495 * 0.1 * nf2 # Small-x, Casimir scaled from P_gg (approx. for bfkl1) bfkl0 = -8.3086173 * 10**3 / 2.25 bfkl1 = (-1.0691199 * 10**5 - nf * 9.9638304 * 10**2) / 2.25 + # Small-x double-logs with x^0 + x0L6cff = 5.2235940 * 10 - 7.3744856 * nf + x0L5cff = -2.9221399 * 10**2 + 1.8436214 * nf + x0L4cff = 7.3106077 * 10**3 - 3.7887135 * 10**2 * nf - 3.2438957 * 10 * nf2 + # The resulting part of the function P3GQ01 = ( +bfkl0 * (-(6 / (-1 + n) ** 4)) + bfkl1 * 2 / (-1 + n) ** 3 + + x0L6cff * 720 / n**7 + + x0L5cff * -120 / n**6 + + x0L4cff * 24 / n**5 + x1L4cff * lm14(n, S1, S2, S3, S4) + x1L5cff * lm15(n, S1, S2, S3, S4, S5) + + y1L4cff * lm14m1(n, S1, S2, S3, S4) + + y1L5cff * lm15m1(n, S1, S2, S3, S4, S5) ) # The selected approximations for nf = 3, 4, 5 if nf == 3: P3gqApp1 = ( P3GQ01 - + 3.4 * bfkl1 * (-(1 / (-1 + n) ** 2)) - - 161562.0 * 1 / ((-1 + n) * n) - + 36469.0 * 1 / n - + 72317.0 * (-(1 / n**2)) - - 3977.3 * lm12(n, S1, S2) - + 484.4 * lm13(n, S1, S2, S3) + + 6.0 * bfkl1 * (-(1 / (-1 + n) ** 2)) + - 744384.0 * 1 / ((-1 + n) * n) + + 2453640.0 * 1 / n + - 1540404.0 * (2 / (1 + n) + 1 / (2 + n)) + + 1933026.0 * -1 / n**2 + + 1142069.0 * 2 / n**3 + + 162196.0 * -6 / n**4 + - 2172.1 * lm13(n, S1, S2, S3) + - 93264.1 * lm12(n, S1, S2) + - 786973.0 * lm11(n, S1) + + 875383.0 * lm12m1(n, S1, S2) ) P3gqApp2 = ( P3GQ01 - + 5.4 * bfkl1 * (-(1 / (-1 + n) ** 2)) - - 546482.0 * 1 / ((-1 + n) * n) - - 39464.0 * 1 / n - - 401000.0 * (-(1 / n**2)) - + 13270.0 * lm12(n, S1, S2) - + 3289.0 * lm13(n, S1, S2, S3) + + 3.0 * bfkl1 * (-(1 / (-1 + n) ** 2)) + + 142414.0 * 1 / ((-1 + n) * n) + - 326525.0 * 1 / n + + 2159787.0 * ((3 + n) / (2 + 3 * n + n**2)) + - 289064.0 * -1 / n**2 + - 176358.0 * 2 / n**3 + + 156541.0 * -6 / n**4 + + 9016.5 * lm13(n, S1, S2, S3) + + 136063.0 * lm12(n, S1, S2) + + 829482.0 * lm11(n, S1) + - 2359050.0 * (S1 - n * (zeta2 - S2)) / n**2 ) elif nf == 4: P3gqApp1 = ( P3GQ01 - + 3.4 * bfkl1 * (-(1 / (-1 + n) ** 2)) - - 158805.0 * 1 / ((-1 + n) * n) - + 35098.0 * 1 / n - + 87258.0 * (-(1 / n**2)) - - 4834.1 * lm12(n, S1, S2) - + 176.6 * lm13(n, S1, S2, S3) + + 6.0 * bfkl1 * (-(1 / (-1 + n) ** 2)) + - 743535.0 * 1 / ((-1 + n) * n) + + 2125286.0 * 1 / n + - 1332472.0 * (2 / (1 + n) + 1 / (2 + n)) + + 1631173.0 * -1 / n**2 + + 1015255.0 * 2 / n**3 + + 142612.0 * -6 / n**4 + - 1910.4 * lm13(n, S1, S2, S3) + - 80851.0 * lm12(n, S1, S2) + - 680219.0 * lm11(n, S1) + + 752733.0 * lm12m1(n, S1, S2) ) P3gqApp2 = ( P3GQ01 - + 5.4 * bfkl1 * (-(1 / (-1 + n) ** 2)) - - 547215.0 * 1 / ((-1 + n) * n) - - 41523.0 * 1 / n - - 390350.0 * (-(1 / n**2)) - + 12571.0 * lm12(n, S1, S2) - + 3007.0 * lm13(n, S1, S2, S3) + + 3.0 * bfkl1 * (-(1 / (-1 + n) ** 2)) + + 160568.0 * 1 / ((-1 + n) * n) + - 361207.0 * 1 / n + + 2048948.0 * ((3 + n) / (2 + 3 * n + n**2)) + - 245963.0 * -1 / n**2 + - 171312.0 * 2 / n**3 + + 163099.0 * -6 / n**4 + + 8132.2 * lm13(n, S1, S2, S3) + + 124425.0 * lm12(n, S1, S2) + + 762435.0 * lm11(n, S1) + - 2193335.0 * (S1 - n * (zeta2 - S2)) / n**2 ) elif nf == 5: P3gqApp1 = ( P3GQ01 - + 3.4 * bfkl1 * (-(1 / (-1 + n) ** 2)) - - 154336.0 * 1 / ((-1 + n) * n) - + 33889.0 * 1 / n - + 103440.0 * (-(1 / n**2)) - - 5745.8 * lm12(n, S1, S2) - - 128.6 * lm13(n, S1, S2, S3) + + 6.0 * bfkl1 * (-(1 / (-1 + n) ** 2)) + - 785864.0 * 1 / ((-1 + n) * n) + + 285034.0 * 1 / n + - 131648.0 * (2 / (1 + n) + 1 / (2 + n)) + - 162840.0 * -1 / n**2 + + 321220.0 * 2 / n**3 + + 12688.0 * -6 / n**4 + + 1423.4 * lm13(n, S1, S2, S3) + + 1278.9 * lm12(n, S1, S2) + - 30919.9 * lm11(n, S1) + + 47588.0 * lm12m1(n, S1, S2) ) P3gqApp2 = ( P3GQ01 - + 5.4 * bfkl1 * (-(1 / (-1 + n) ** 2)) - - 546236.0 * 1 / ((-1 + n) * n) - - 43421.0 * 1 / n - - 378460.0 * (-(1 / n**2)) - + 11816.0 * lm12(n, S1, S2) - + 2727.3 * lm13(n, S1, S2, S3) + + 3.0 * bfkl1 * (-(1 / (-1 + n) ** 2)) + + 177094.0 * 1 / ((-1 + n) * n) + - 470694.0 * 1 / n + + 1348823.0 * ((3 + n) / (2 + 3 * n + n**2)) + - 52985.0 * -1 / n**2 + - 87354.0 * 2 / n**3 + + 176885.0 * -6 / n**4 + + 4748.8 * lm13(n, S1, S2, S3) + + 65811.9 * lm12(n, S1, S2) + + 396390.0 * lm11(n, S1) + - 1190212.0 * (S1 - n * (zeta2 - S2)) / n**2 ) else: raise NotImplementedError("nf=6 is not available at N3LO") diff --git a/tests/ekore/anomalous_dimensions/unpolarized/space_like/test_as4_fhmv.py b/tests/ekore/anomalous_dimensions/unpolarized/space_like/test_as4_fhmv.py index 8bef494c7..a6671e3b2 100644 --- a/tests/ekore/anomalous_dimensions/unpolarized/space_like/test_as4_fhmv.py +++ b/tests/ekore/anomalous_dimensions/unpolarized/space_like/test_as4_fhmv.py @@ -45,7 +45,7 @@ def test_momentum_conservation(): # total np.testing.assert_allclose( g_singlet[:, 0, 0] + g_singlet[:, 1, 0], - [0.08617, 0.220242, -0.047901], + [0.053441, 0.225674, -0.118792], atol=2e-5, ) np.testing.assert_allclose( @@ -190,7 +190,7 @@ def gq3_moment(N, nf): np.testing.assert_allclose( ggq.gamma_gq(N, nf, cache, variation), gq3_moment(N, nf), - rtol=2e-4, + rtol=4e-4, ) with pytest.raises(NotImplementedError): From 94a7cb28871976d5e7be0d15586128b76315fea1 Mon Sep 17 00:00:00 2001 From: giacomomagni Date: Thu, 23 May 2024 14:10:10 +0200 Subject: [PATCH 2/5] update our Pgq parametrization --- extras/n3lo_bench/plot_msht.py | 2 +- .../unpolarized/space_like/as4/ggq.py | 89 +++++++------------ .../unpolarized/space_like/test_as4.py | 4 +- 3 files changed, 36 insertions(+), 59 deletions(-) diff --git a/extras/n3lo_bench/plot_msht.py b/extras/n3lo_bench/plot_msht.py index 8ddc92d2a..05702729b 100644 --- a/extras/n3lo_bench/plot_msht.py +++ b/extras/n3lo_bench/plot_msht.py @@ -15,7 +15,7 @@ n3lo_vars_dict = { "gg": 19, - "gq": 21, + "gq": 15, "qg": 15, "qq": 6, } diff --git a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/ggq.py b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/ggq.py index b5b7eadbc..2fa0f725d 100644 --- a/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/ggq.py +++ b/src/ekore/anomalous_dimensions/unpolarized/space_like/as4/ggq.py @@ -19,6 +19,7 @@ lm14m1, lm14m2, lm15, + lm15m1, ) @@ -94,49 +95,37 @@ def gamma_gq_nf0(n, cache, variation): S5 = c.get(c.S5, cache, n) common = -22156.31283903764/np.power(-1. + n,4) + 95032.88047770769/np.power(-1. + n,3) - 37609.87654320987/np.power(n,7) - 35065.67901234568/np.power(n,6) - 175454.58483973087/np.power(n,5) - 375.3983146907502*lm14(n,S1,S2,S3,S4) - 13.443072702331962*lm15(n,S1,S2,S3,S4,S5) if variation == 1: - fit = -135325.37409909506/np.power(-1. + n,2) + 107389.69725534944/(-1. + n) - 281247.1594541515/(1. + n) + 145447.60744097419/(2. + n) - 1644.0474725539857*lm13(n,S1,S2,S3) + fit = -190798.78984643394/np.power(-1. + n,2) + 221131.0253655226/(-1. + n) + 648439.242059473/np.power(n,4) - 366347.6184986734/np.power(n,3) - 618607.6917836913/(1. + n) + 429310.45853894716/(2. + n) - 14371.95584746726*lm12(n,S1,S2) - 3733.573405767123*lm13(n,S1,S2,S3) - 2532.2371762381217*lm14m1(n,S1,S2,S3,S4) - 2065.2033221184793*lm15m1(n,S1,S2,S3,S4,S5) elif variation == 2: - fit = -130157.18895885911/np.power(-1. + n,2) + 93282.05706699888/(-1. + n) - 169738.63893980338/(1. + n) + 9212.769374520116*lm12(n,S1,S2) - 223.51479074632925*lm13(n,S1,S2,S3) + fit = -181955.90739273484/np.power(-1. + n,2) + 174079.00572878437/(-1. + n) + 614415.2112591498/np.power(n,4) - 247925.1030423719/np.power(n,3) - 857285.692084171/(1. + n) - 465757.33455764863*lm11(n,S1) - 96058.685995113*lm12(n,S1,S2) - 8155.798140311963*lm13(n,S1,S2,S3) - 28516.09724542403*lm14m1(n,S1,S2,S3,S4) - 954.4182897594625*lm15m1(n,S1,S2,S3,S4,S5) elif variation == 3: - fit = -130767.27520270286/np.power(-1. + n,2) + 94891.36609978844/(-1. + n) - 212410.3233945088/(1. + n) - 32955.07417912945*lm11(n,S1) - 1046.7526219200904*lm13(n,S1,S2,S3) + fit = 1.3256764418997709e6*(1/(-1. + n) - 1./n) - 274084.8755098396/np.power(-1. + n,2) - 562456.7287892306/(-1. + n) + 33100.78620012983/np.power(n,4) - 757963.2228636674/np.power(n,3) + 561634.5180237194/(1. + n) - 10366.577512205613*lm12(n,S1,S2) - 3308.849780595093*lm13(n,S1,S2,S3) + 3594.429612523227*lm14m1(n,S1,S2,S3,S4) - 164.77740102923354*lm15m1(n,S1,S2,S3,S4,S5) elif variation == 4: - fit = -158783.450560317/np.power(-1. + n,2) + 90100.75345693348/(-1. + n) + 412018.22879229486/np.power(n,4) - 129027.27855213353/(1. + n) - 1753.8825871656047*lm13(n,S1,S2,S3) + fit = -407971.0442601025/np.power(-1. + n,2) + 1.6779394404324158e6/(-1. + n) - 1.8508191192624622e6/np.power(n,4) + 556695.4184628404/np.power(n,3) - 2.9603580600296143e6/np.power(n,2) - 1.6991648126491427e6/(1. + n) - 7644.442002706872*lm12(n,S1,S2) - 3016.5770039806234*lm13(n,S1,S2,S3) + 7449.550615450056*lm14m1(n,S1,S2,S3,S4) + 1121.5452001019141*lm15m1(n,S1,S2,S3,S4,S5) elif variation == 5: - fit = -129693.48645695807/np.power(-1. + n,2) + 52876.75483885584/(-1. + n) + 158964.13837584556/np.power(n,3) - 85916.6315255873/(1. + n) - 1690.6720701417717*lm13(n,S1,S2,S3) + fit = -200706.92458750593/np.power(-1. + n,2) + 285544.01297554397/(-1. + n) + 598975.4725951094/np.power(n,4) - 459467.2186763565/np.power(n,3) - 125035.7898269595/(1. + n) - (469579.8213276177*(S1 - 1.*n*(1.6449340668482262 - 1.*S2)))/np.power(n,2) - 19934.92974689708*lm12(n,S1,S2) - 4197.138060641495*lm13(n,S1,S2,S3) - 14354.398949387967*lm14m1(n,S1,S2,S3,S4) - 2780.1172673234187*lm15m1(n,S1,S2,S3,S4,S5) elif variation == 6: - fit = -301210.2328458577/np.power(-1. + n,2) + 811215.7479286905/(-1. + n) - 1.242177631711221e6/np.power(n,2) - 857543.1305664484/(1. + n) - 1833.163010136661*lm13(n,S1,S2,S3) + fit = -213717.81278326/np.power(-1. + n,2) + 343080.67540216126/(-1. + n) + 736622.8254565693/np.power(n,4) - 673275.6329706735/np.power(n,3) + 1.541999929424894e6/(2. + n) + 1.2071530957537233e6*lm11(n,S1) + 197344.29014401618*lm12(n,S1,S2) + 7727.9806356929*lm13(n,S1,S2,S3) + 64812.92407405157*lm14m1(n,S1,S2,S3,S4) - 4944.138652016546*lm15m1(n,S1,S2,S3,S4,S5) elif variation == 7: - fit = -122290.16043542989/np.power(-1. + n,2) + 71807.36048618097/(-1. + n) - 221400.82937350916/(2. + n) + 23236.477404056477*lm12(n,S1,S2) + 1938.8247584430924*lm13(n,S1,S2,S3) + fit = 694835.0487113381*(1/(-1. + n) - 1./n) - 234452.04501713923/np.power(-1. + n,2) - 189575.70173963293/(-1. + n) + 325918.06883470225/np.power(n,4) - 571607.5497870556/np.power(n,3) + 204293.30045438773/(2. + n) - 12272.59203346936*lm12(n,S1,S2) - 3510.9603747819533*lm13(n,S1,S2,S3) + 678.9706859669171*lm14m1(n,S1,S2,S3,S4) - 1069.1212905556267*lm15m1(n,S1,S2,S3,S4,S5) elif variation == 8: - fit = -116702.31643837337/np.power(-1. + n,2) + 56325.17516760884/(-1. + n) - 448808.73529422894/(2. + n) - 134644.78516249143*lm11(n,S1) + 796.324422989612*lm13(n,S1,S2,S3) + fit = -66469.9146192077/np.power(-1. + n,2) - 612876.780153988/(-1. + n) + 2.0792390245041656e6/np.power(n,4) - 894780.384449624/np.power(n,3) + 1.6947745654652142e6/np.power(n,2) + 675086.4242602822/(2. + n) - 18223.392584809953*lm12(n,S1,S2) - 4144.046942562251*lm13(n,S1,S2,S3) - 8246.712776279062*lm14m1(n,S1,S2,S3,S4) - 3889.585992793313*lm15m1(n,S1,S2,S3,S4,S5) elif variation == 9: - fit = -178667.39573180894/np.power(-1. + n,2) + 75445.99644274621/(-1. + n) + 761260.3281816904/np.power(n,4) - 123286.8456395018/(2. + n) - 1846.982948588938*lm13(n,S1,S2,S3) + fit = -203216.93313632446/np.power(-1. + n,2) + 301861.63488653634/(-1. + n) + 586444.881228152/np.power(n,4) - 483057.01613457815/np.power(n,3) - 108756.54115142432/(2. + n) - (588537.6906760911*(S1 - 1.*n*(1.6449340668482262 - 1.*S2)))/np.power(n,2) - 21344.18742499368*lm12(n,S1,S2) - 4314.571987943781*lm13(n,S1,S2,S3) - 17349.286017533777*lm14m1(n,S1,S2,S3,S4) - 2961.2246827676927*lm15m1(n,S1,S2,S3,S4,S5) elif variation == 10: - fit = -127216.28629540099/np.power(-1. + n,2) + 28899.09790707029/(-1. + n) + 228884.9205878143/np.power(n,3) - 63975.501562926234/(2. + n) - 1711.180018456112*lm13(n,S1,S2,S3) + fit = 800949.5231631215*(1/(-1. + n) - 1./n) - 237618.5496992028/np.power(-1. + n,2) - 270922.4474641897/(-1. + n) + 263195.643205183/np.power(n,4) - 556080.8360498395/np.power(n,3) - 184355.25890888766*lm11(n,S1) - 44285.07913209169*lm12(n,S1,S2) - 5227.3604731573405*lm13(n,S1,S2,S3) - 9115.503485867332*lm14m1(n,S1,S2,S3,S4) - 477.33174654807533*lm15m1(n,S1,S2,S3,S4,S5) elif variation == 11: - fit = -54369.324330163065/np.power(-1. + n,2) - 236095.39968148115/(-1. + n) + 606214.4244773745/np.power(n,2) + 216429.75635890095/(2. + n) - 1551.7542579210171*lm13(n,S1,S2,S3) + fit = 48195.59002112752/np.power(-1. + n,2) - 1.3573040106844993e6/(-1. + n) + 3.124766843285419e6/np.power(n,4) - 1.067271569502171e6/np.power(n,3) + 3.014536621053924e6/np.power(n,2) - 940039.2873520318*lm11(n,S1) - 186091.1587357063*lm12(n,S1,S2) - 13389.081966931277*lm13(n,S1,S2,S3) - 65140.019870429314*lm14m1(n,S1,S2,S3,S4) - 3068.3813511505823*lm15m1(n,S1,S2,S3,S4,S5) elif variation == 12: - fit = -127730.39915689365/np.power(-1. + n,2) + 86880.5772952685/(-1. + n) + 131088.0859004977*lm11(n,S1) + 45859.153375434624*lm12(n,S1,S2) + 3051.145461650118*lm13(n,S1,S2,S3) + fit = -203908.76301521514/np.power(-1. + n,2) + 304577.27308896056/(-1. + n) + 596339.0394012802/np.power(n,4) - 495589.18522419676/np.power(n,3) - (549763.1754595829*(S1 - 1.*n*(1.6449340668482262 - 1.*S2)))/np.power(n,2) + 79530.6860231015*lm11(n,S1) - 6936.368263841917*lm12(n,S1,S2) - 3521.174399244307*lm13(n,S1,S2,S3) - 11936.20686787835*lm14m1(n,S1,S2,S3,S4) - 3091.865040882635*lm15m1(n,S1,S2,S3,S4,S5) elif variation == 13: - fit = -249509.19871481528/np.power(-1. + n,2) + 80018.18821849066/(-1. + n) + 1.7178353341095438e6/np.power(n,4) - 29198.20288498338*lm12(n,S1,S2) - 6604.105966476303*lm13(n,S1,S2,S3) + fit = 996347.6558814617*(1/(-1. + n) - 1./n) - 307345.22952632234/np.power(-1. + n,2) - 5890.838164024106/(-1. + n) - 434907.89075372514/np.power(n,4) - 431371.6979604753/np.power(n,3) - 735420.6920727129/np.power(n,2) - 9690.333769848923*lm12(n,S1,S2) - 3236.2421958663294*lm13(n,S1,S2,S3) + 4552.132557305155*lm14m1(n,S1,S2,S3,S4) + 154.77587205927955*lm15m1(n,S1,S2,S3,S4,S5) elif variation == 14: - fit = -129218.19651555142/np.power(-1. + n,2) + 11461.766456848798/(-1. + n) + 321900.6239594061/np.power(n,3) - 9442.986825272894*lm12(n,S1,S2) - 3194.4920722194884*lm13(n,S1,S2,S3) + fit = 241392.41481428457*(1/(-1. + n) - 1./n) - 214068.31142011366/np.power(-1. + n,2) + 131131.54358220598/(-1. + n) + 495935.3419568636/np.power(n,4) - 513820.30789226515/np.power(n,3) - (384073.9851893155*(S1 - 1.*n*(1.6449340668482262 - 1.*S2)))/np.power(n,2) - 18192.626596597966*lm12(n,S1,S2) - 4035.389453017769*lm13(n,S1,S2,S3) - 11086.094113028495*lm14m1(n,S1,S2,S3,S4) - 2303.8893574584527*lm15m1(n,S1,S2,S3,S4,S5) elif variation == 15: - fit = -87944.16009766924/np.power(-1. + n,2) - 83891.96406756257/(-1. + n) + 306548.65313472337/np.power(n,2) + 11486.326691371696*lm12(n,S1,S2) + 173.71945424342616*lm13(n,S1,S2,S3) - elif variation == 16: - fit = -202135.7995740037/np.power(-1. + n,2) + 82687.73905965324/(-1. + n) + 1.0495769899938635e6/np.power(n,4) + 50994.82207509583*lm11(n,S1) - 2848.098505650866*lm13(n,S1,S2,S3) - elif variation == 17: - fit = -128964.1511783234/np.power(-1. + n,2) + 24339.728042797506/(-1. + n) + 266935.24034010764/np.power(n,3) + 22383.637660612447*lm11(n,S1) - 2128.032930969243*lm13(n,S1,S2,S3) - elif variation == 18: - fit = -74648.83981878728/np.power(-1. + n,2) - 140958.82150230306/(-1. + n) + 408987.65266967454/np.power(n,2) - 43805.55005962004*lm11(n,S1) - 787.8265790554562*lm13(n,S1,S2,S3) - elif variation == 19: - fit = -71719.13674652952/np.power(-1. + n,2) - 21308.180757420447/(-1. + n) - 821124.7287279929/np.power(n,4) + 475769.01709201955/np.power(n,3) - 1564.6977442093062*lm13(n,S1,S2,S3) - elif variation == 20: - fit = -133558.27521182265/np.power(-1. + n,2) - 37615.76088185934/(-1. + n) + 484990.68454355566/np.power(n,4) + 220001.80072250665/np.power(n,2) - 1739.8412493001551*lm13(n,S1,S2,S3) - elif variation == 21: - fit = -110595.9812283641/np.power(-1. + n,2) - 31560.381420415717/(-1. + n) + 176663.97543390834/np.power(n,3) + 138310.07359867013/np.power(n,2) - 1674.8064387740321*lm13(n,S1,S2,S3) + fit = -184243.57777612918/np.power(-1. + n,2) + 174943.63966707757/(-1. + n) + 793566.8946787679/np.power(n,4) - 540182.7805370308/np.power(n,3) + 235146.35888011672/np.power(n,2) - (506879.3651168012*(S1 - 1.*n*(1.6449340668482262 - 1.*S2)))/np.power(n,2) - 20911.184664809738*lm12(n,S1,S2) - 4290.912089188934*lm13(n,S1,S2,S3) - 16086.324716319741*lm14m1(n,S1,S2,S3,S4) - 3090.0331415667697*lm15m1(n,S1,S2,S3,S4,S5) else: - fit = -138152.69664751078/np.power(-1. + n,2) + 57913.880829154245/(-1. + n) + 171645.5636615693/np.power(n,4) + 77577.04360900483/np.power(n,3) + 20851.665375796576/np.power(n,2) - 82661.10297298252/(1. + n) - 23599.740384299566/(2. + n) - 330.42208404928425*lm11(n,S1) + 2435.882720720316*lm12(n,S1,S2) - 1327.8017698551957*lm13(n,S1,S2,S3) + fit = -204824.20590456025/np.power(-1. + n,2) + 311630.8552402414/(-1. + n) + 574082.1509765851/np.power(n,4) - 500136.3136750759/np.power(n,3) + 83245.25288646184/np.power(n,2) + 3414.410110455348/n - 182563.96455468299/(1. + n) + 182795.5714351391/(2. + n) - (166588.9358512939*S1)/np.power(n,2) - (166588.9358512939*S2)/n - 20231.20660278288*lm11(n,S1) - 19265.281611102873*lm12(n,S1,S2) - 4023.5797092198227*lm13(n,S1,S2,S3) - 6884.991578205952*lm14m1(n,S1,S2,S3,S4) - 1972.251097587273*lm15m1(n,S1,S2,S3,S4,S5) return common + fit @@ -166,49 +155,37 @@ def gamma_gq_nf1(n, cache, variation): S5 = c.get(c.S5, cache, n) common = 885.6738165500071/np.power(-1. + n,3) + 5309.62962962963/np.power(n,7) + 221.23456790123456/np.power(n,6) + 9092.91243376357/np.power(n,5) + 34.49474165523548*lm14(n,S1,S2,S3,S4) + 0.5486968449931413*lm15(n,S1,S2,S3,S4,S5) if variation == 1: - fit = -4154.154695948995/np.power(-1. + n,2) + 10568.669617295407/(-1. + n) - 17488.846844461823/(1. + n) + 12359.004664911017/(2. + n) + 211.10404507107253*lm13(n,S1,S2,S3) + fit = -4641.830354006266/np.power(-1. + n,2) + 9330.495800110972/(-1. + n) + 14344.09051426101/np.power(n,4) - 1016.4529739723794/np.power(n,3) - 6064.923487611063/(1. + n) - 2205.7352403247382/(2. + n) + 1484.8541015131434*lm12(n,S1,S2) + 431.5031264078472*lm13(n,S1,S2,S3) - 856.5578620911533*lm14m1(n,S1,S2,S3,S4) + 6.61766368570454*lm15m1(n,S1,S2,S3,S4,S5) elif variation == 2: - fit = -3715.00258213197/np.power(-1. + n,2) + 9369.912250526479/(-1. + n) - 8013.721406089578/(1. + n) + 782.8293753310119*lm12(n,S1,S2) + 331.8098466308406*lm13(n,S1,S2,S3) + fit = -4687.263677692064/np.power(-1. + n,2) + 9572.241701801757/(-1. + n) + 14518.90006807081/np.power(n,4) - 1624.8890269149388/np.power(n,3) - 4838.624644014499/(1. + n) + 2392.997784211616*lm11(n,S1) + 1904.549512246748*lm12(n,S1,S2) + 454.2239274477203*lm13(n,S1,S2,S3) - 723.0562074580255*lm14m1(n,S1,S2,S3,S4) + 0.9106508564231698*lm15m1(n,S1,S2,S3,S4,S5) elif variation == 3: - fit = -3766.8429586516354/np.power(-1. + n,2) + 9506.658795852165/(-1. + n) - 11639.62874491426/(1. + n) - 2800.265488570204*lm11(n,S1) + 261.8575086390502*lm13(n,S1,S2,S3) + fit = -6811.138044272443*(1/(-1. + n) - 1./n) - 4213.918161962191/np.power(-1. + n,2) + 13356.458528865467/(-1. + n) + 17505.612074825083/np.power(n,4) + 995.6134783259232/np.power(n,3) - 12128.839771112724/(1. + n) + 1464.2750761708346*lm12(n,S1,S2) + 429.3209612041876*lm13(n,S1,S2,S3) - 888.0357673648941*lm14m1(n,S1,S2,S3,S4) - 3.1464374221968265*lm15m1(n,S1,S2,S3,S4,S5) elif variation == 4: - fit = -6147.4392986647545/np.power(-1. + n,2) + 9099.589851629416/(-1. + n) + 35010.09952148762/np.power(n,4) - 4554.387135843054/(1. + n) + 201.7711126307286*lm13(n,S1,S2,S3) + fit = -3526.0317032445505/np.power(-1. + n,2) + 1845.6312169595117/(-1. + n) + 27184.909343823376/np.power(n,4) - 5758.912493427602/np.power(n,3) + 15209.879770634008/np.power(n,2) - 513.1837033827802/(1. + n) + 1450.2890806227542*lm12(n,S1,S2) + 427.8192994247673*lm13(n,S1,S2,S3) - 907.8428666449199*lm14m1(n,S1,S2,S3,S4) - 9.755401357842457*lm15m1(n,S1,S2,S3,S4,S5) elif variation == 5: - fit = -3675.6007556945196/np.power(-1. + n,2) + 5936.584418528788/(-1. + n) + 13507.53417196719/np.power(n,3) - 891.1801771144223/(1. + n) + 207.1422499668006*lm13(n,S1,S2,S3) + fit = -4590.923684246688/np.power(-1. + n,2) + 8999.550617808409/(-1. + n) + 14598.227915093874/np.power(n,4) - 538.0166438967607/np.power(n,3) - 8600.824838080449/(1. + n) + (2412.6347931026244*(S1 - 1.*n*(1.6449340668482262 - 1.*S2)))/np.power(n,2) + 1513.4359164894108*lm12(n,S1,S2) + 433.88486067694004*lm13(n,S1,S2,S3) - 795.8172214607993*lm14m1(n,S1,S2,S3,S4) + 10.290808757929303*lm15m1(n,S1,S2,S3,S4,S5) elif variation == 6: - fit = -18249.757773649242/np.power(-1. + n,2) + 70374.32470231941/(-1. + n) - 105550.57876215602/np.power(n,2) - 66457.98920891003/(1. + n) + 195.03447986946037*lm13(n,S1,S2,S3) + fit = -4866.531418583069/np.power(-1. + n,2) + 10526.106107096773/(-1. + n) + 15208.65298881981/np.power(n,4) - 4025.6149294747884/np.power(n,3) + 8703.225799886446/(2. + n) + 11835.100931020013*lm11(n,S1) + 3560.5504964992174*lm12(n,S1,S2) + 543.8738525149046*lm13(n,S1,S2,S3) - 196.29613565392873*lm14m1(n,S1,S2,S3,S4) - 21.60775819888546*lm15m1(n,S1,S2,S3,S4,S5) elif variation == 7: - fit = -3343.5834681677507/np.power(-1. + n,2) + 8356.04624598052/(-1. + n) - 10452.80306687096/(2. + n) + 1444.9183960217892*lm12(n,S1,S2) + 433.89848620522463*lm13(n,S1,S2,S3) + fit = 6812.267406043017*(1/(-1. + n) - 1./n) - 5069.813407366513/np.power(-1. + n,2) + 5303.865079802739/(-1. + n) + 11182.04418020281/np.power(n,4) - 3028.851822020746/np.power(n,3) - 4411.837835317581/(2. + n) + 1505.436594939228*lm12(n,S1,S2) + 433.68565968275493*lm13(n,S1,S2,S3) - 825.0746801155074*lm14m1(n,S1,S2,S3,S4) + 16.38340848554099*lm15m1(n,S1,S2,S3,S4,S5) elif variation == 8: - fit = -2996.1134775555597/np.power(-1. + n,2) + 7393.314503624469/(-1. + n) - 24593.753132227568/(2. + n) - 8372.642876397704*lm11(n,S1) + 362.8541655256052*lm13(n,S1,S2,S3) + fit = -3422.891059017386/np.power(-1. + n,2) + 1153.755670292513/(-1. + n) + 28371.871488638357/np.power(n,4) - 6197.289757168041/np.power(n,3) + 16615.82978575513/np.power(n,2) + 203.89110614955672/(2. + n) + 1447.093994233797*lm12(n,S1,S2) + 427.47877749637*lm13(n,S1,S2,S3) - 912.583492582551*lm14m1(n,S1,S2,S3,S4) - 11.268877794713138*lm15m1(n,S1,S2,S3,S4,S5) elif variation == 9: - fit = -6849.300061096075/np.power(-1. + n,2) + 8582.308253713018/(-1. + n) + 47337.59912160785/np.power(n,4) - 4351.762124258069/(2. + n) + 198.4848688754035*lm13(n,S1,S2,S3) + fit = -4763.579488071934/np.power(-1. + n,2) + 10121.98975419346/(-1. + n) + 13736.287660471797/np.power(n,4) - 2160.6868401419974/np.power(n,3) - 7481.025709471715/(2. + n) - (5770.109793538375*(S1 - 1.*n*(1.6449340668482262 - 1.*S2)))/np.power(n,2) + 1416.4974055579276*lm12(n,S1,S2) + 425.80694052284747*lm13(n,S1,S2,S3) - 1001.8262888413067*lm14m1(n,S1,S2,S3,S4) - 2.1670232041395643*lm15m1(n,S1,S2,S3,S4,S5) elif variation == 10: - fit = -3649.905711097048/np.power(-1. + n,2) + 5687.873404469671/(-1. + n) + 14232.795555815104/np.power(n,3) - 663.5932741012635/(2. + n) + 206.92952890585326*lm13(n,S1,S2,S3) + fit = 4520.661520913708*(1/(-1. + n) - 1./n) - 5001.430874802961/np.power(-1. + n,2) + 7060.59716821144/(-1. + n) + 12536.572900553683/np.power(n,4) - 3364.161076731632/np.power(n,3) + 3981.2635172018045*lm11(n,S1) + 2196.7656407758154*lm12(n,S1,S2) + 470.75235872661165*lm13(n,S1,S2,S3) - 613.5570863075435*lm14m1(n,S1,S2,S3,S4) + 3.603350437056353*lm15m1(n,S1,S2,S3,S4,S5) elif variation == 11: - fit = 879.9511001376588/np.power(-1. + n,2) - 10790.331004577562/(-1. + n) + 37696.34952104189/np.power(n,2) + 16772.9014435428/(2. + n) + 216.84313199599924*lm13(n,S1,S2,S3) + fit = -3388.259768452193/np.power(-1. + n,2) + 928.9237521114734/(-1. + n) + 28687.641066076383/np.power(n,4) - 6249.3846772154875/np.power(n,3) + 17014.423803619455/np.power(n,2) - 283.911571480371*lm11(n,S1) + 1396.3944319615423*lm12(n,S1,S2) + 424.6865855575389*lm13(n,S1,S2,S3) - 929.7664379765954*lm14m1(n,S1,S2,S3,S4) - 11.020846683201022*lm15m1(n,S1,S2,S3,S4,S5) elif variation == 12: - fit = -3600.42868484152/np.power(-1. + n,2) + 9067.684803683303/(-1. + n) + 6188.946763244337*lm11(n,S1) + 2512.9829441244183*lm12(n,S1,S2) + 486.41350744844374*lm13(n,S1,S2,S3) + fit = -4811.168299020828/np.power(-1. + n,2) + 10308.789975744723/(-1. + n) + 14416.876062124396/np.power(n,4) - 3022.7356514174053/np.power(n,3) - (3102.930670591721*(S1 - 1.*n*(1.6449340668482262 - 1.*S2)))/np.power(n,2) + 5470.669625759262*lm11(n,S1) + 2407.5666798018997*lm12(n,S1,S2) + 480.3823046452061*lm13(n,S1,S2,S3) - 629.4773212257594*lm14m1(n,S1,S2,S3,S4) - 11.153366255382775*lm15m1(n,S1,S2,S3,S4,S5) elif variation == 13: - fit = -9349.864281360744/np.power(-1. + n,2) + 8743.696850292556/(-1. + n) + 81102.65214258479/np.power(n,4) - 1030.6341504008299*lm12(n,S1,S2) + 30.568594740114495*lm13(n,S1,S2,S3) + fit = 300.91468031027983*(1/(-1. + n) - 1./n) - 3495.6400189196065/np.power(-1. + n,2) + 1337.0787229077632/(-1. + n) + 27612.548291854742/np.power(n,4) - 6057.328428936091/np.power(n,3) + 15881.861322805855/np.power(n,2) + 1449.6712068638715*lm12(n,S1,S2) + 427.75295915863444*lm13(n,S1,S2,S3) - 908.7179226159642*lm14m1(n,S1,S2,S3,S4) - 10.04737351405501*lm15m1(n,S1,S2,S3,S4,S5) elif variation == 14: - fit = -3670.6707559192682/np.power(-1. + n,2) + 5507.002671361118/(-1. + n) + 15197.611675043092/np.power(n,3) - 97.9484707672736*lm12(n,S1,S2) + 191.54370342235256*lm13(n,S1,S2,S3) + fit = 16604.63646140265*(1/(-1. + n) - 1./n) - 5510.0124055938695/np.power(-1. + n,2) - 1622.003211474526/(-1. + n) + 7510.417547162798/np.power(n,4) - 4276.8010810631495/np.power(n,3) + (8294.312330449271*(S1 - 1.*n*(1.6449340668482262 - 1.*S2)))/np.power(n,2) + 1633.28339277492*lm12(n,S1,S2) + 445.0110299002262*lm13(n,S1,S2,S3) - 571.0008823762004*lm14m1(n,S1,S2,S3,S4) + 43.04899480027303*lm15m1(n,S1,S2,S3,S4,S5) elif variation == 15: - fit = -1722.0358945603757/np.power(-1. + n,2) + 1005.1506697978073/(-1. + n) + 14472.81254861761/np.power(n,2) + 890.1688417705905*lm12(n,S1,S2) + 350.5641184465057*lm13(n,S1,S2,S3) - elif variation == 16: - fit = -7677.684552786546/np.power(-1. + n,2) + 8837.926288795223/(-1. + n) + 57514.561003940005/np.power(n,4) + 1800.00821732893*lm11(n,S1) + 163.14762960523643*lm13(n,S1,S2,S3) - elif variation == 17: - fit = -3668.0356413358095/np.power(-1. + n,2) + 5640.580814304368/(-1. + n) + 14627.476889260639/np.power(n,3) + 232.17686518512448*lm11(n,S1) + 202.60567395706914*lm13(n,S1,S2,S3) - elif variation == 18: - fit = -691.6734321623419/np.power(-1. + n,2) - 3417.4240793927916/(-1. + n) + 22411.6434750231/np.power(n,2) - 3394.848223236357*lm11(n,S1) + 276.04609873762405*lm13(n,S1,S2,S3) - elif variation == 19: - fit = -3074.255121846279/np.power(-1. + n,2) + 5167.092611529961/(-1. + n) - 8517.21102404984/np.power(n,4) + 16793.629342505785/np.power(n,3) + 208.44893320267045*lm13(n,S1,S2,S3) - elif variation == 20: - fit = -5257.044527918616/np.power(-1. + n,2) + 4591.469890746334/(-1. + n) + 37585.871230195466/np.power(n,4) + 7765.593309542773/np.power(n,2) + 202.2667418438865*lm13(n,S1,S2,S3) - elif variation == 21: - fit = -3477.5096784512552/np.power(-1. + n,2) + 5060.750476829951/(-1. + n) + 13691.12777479692/np.power(n,3) + 1434.6372023383353/np.power(n,2) + 207.3068180594*lm13(n,S1,S2,S3) + fit = -3458.461150841499/np.power(-1. + n,2) + 1391.69402227194/(-1. + n) + 27983.56958776381/np.power(n,4) - 6090.191530645382/np.power(n,3) + 16174.989824710121/np.power(n,2) - (153.08676471398127*(S1 - 1.*n*(1.6449340668482262 - 1.*S2)))/np.power(n,2) + 1446.2823060910362*lm12(n,S1,S2) + 427.43442970735236*lm13(n,S1,S2,S3) - 914.9511127677407*lm14m1(n,S1,S2,S3,S4) - 11.027364975586181*lm15m1(n,S1,S2,S3,S4,S5) else: - fit = -4659.8548692239365/np.power(-1. + n,2) + 8775.661049395696/(-1. + n) + 11906.360571226945/np.power(n,4) + 4192.865495685177/np.power(n,3) - 1036.6448907424908/np.power(n,2) - 5192.654929396816/(1. + n) - 520.4764518573357/(2. + n) - 302.22022583075585*lm11(n,S1) + 214.3960445752241*lm12(n,S1,S2) + 245.07815446568293*lm13(n,S1,S2,S3) + fit = -4363.18369812144/np.power(-1. + n,2) + 7402.8344620734415/(-1. + n) + 18359.88144598285/np.power(n,4) - 3494.380230313365/np.power(n,3) + 5393.1323005016375/np.power(n,2) - 1612.81199529589/n - 2143.0930962801012/(1. + n) - 346.09879193853544/(2. + n) + (112.05465964718788*S1)/np.power(n,2) + (112.05465964718788*S2)/n + 1559.7413524474882*lm11(n,S1) + 1751.7963891028098*lm12(n,S1,S2) + 445.5744715382606*lm13(n,S1,S2,S3) - 778.3040856988591*lm14m1(n,S1,S2,S3,S4) - 0.6893048255383367*lm15m1(n,S1,S2,S3,S4,S5) return common + fit diff --git a/tests/ekore/anomalous_dimensions/unpolarized/space_like/test_as4.py b/tests/ekore/anomalous_dimensions/unpolarized/space_like/test_as4.py index 13562cd61..7eccd27c0 100644 --- a/tests/ekore/anomalous_dimensions/unpolarized/space_like/test_as4.py +++ b/tests/ekore/anomalous_dimensions/unpolarized/space_like/test_as4.py @@ -18,7 +18,7 @@ n3lo_vars_dict = { "gg": 19, - "gq": 21, + "gq": 15, "qg": 15, "qq": 6, } @@ -132,7 +132,7 @@ def test_momentum_conservation(): np.testing.assert_allclose( gnsp.gamma_nsp_nf0(N, sx_cache) + g_gq[:, 0], 0, - atol=2e-10, + atol=1e-9, ) np.testing.assert_allclose( g_gg[:, 0], From e9aaea714effb4ce9d1268d416b18f98737a9782 Mon Sep 17 00:00:00 2001 From: giacomomagni Date: Thu, 23 May 2024 14:15:03 +0200 Subject: [PATCH 3/5] update docs --- doc/source/theory/N3LO_ad.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/doc/source/theory/N3LO_ad.rst b/doc/source/theory/N3LO_ad.rst index 34030f7e7..a485a8fc8 100644 --- a/doc/source/theory/N3LO_ad.rst +++ b/doc/source/theory/N3LO_ad.rst @@ -264,7 +264,9 @@ The other parts are approximated using some known limits: & \gamma_{qg}(2) + \gamma_{gg}(2) = 0 \\ & \gamma_{qq}(2) + \gamma_{gq}(2) = 0 \\ - For :math:`\gamma_{qq,ps}, \gamma_{qg}` other 5 additional moments are available :cite:`Falcioni:2023luc,Falcioni:2023vqq`. + For + For :math:`\gamma_{qq,ps}, \gamma_{qg},\gamma_{gq}` other 5 additional moments are available + :cite:`Falcioni:2023luc,Falcioni:2023vqq,Falcioni:2024xyt` respectively. making the parametrization of this splitting function much more accurate. The difference between the known moments and the known limits is parametrized @@ -337,7 +339,7 @@ final reduced sets of candidates. * - :math:`f_4(N)` - :math:`\frac{1}{N^4},\ \frac{1}{N^3},\ \frac{1}{N^2},\ \frac{1}{(N+1)},\ \frac{1}{(N+2)},\ \mathcal{M}[\ln^2(1-x)],\ \mathcal{M}[\ln(1-x)]` - Following :cite:`Moch:2023tdj` we have assumed no violation of the scaling with :math:`\gamma_{gg}` + Following :cite:`Moch:2023tdj,Falcioni:2024xyt` we have assumed no violation of the scaling with :math:`\gamma_{gg}` also for the |NLL| small-x term, to help the convergence. We expect that any possible deviation can be parametrized as a shift in the |NNLL| terms which are free to vary independently. From 84f4e1b36bd66c1871f793c89a2dc80f37baba83 Mon Sep 17 00:00:00 2001 From: Giacomo Magni <39065935+giacomomagni@users.noreply.github.com> Date: Thu, 23 May 2024 14:17:08 +0200 Subject: [PATCH 4/5] Update doc/source/theory/N3LO_ad.rst --- doc/source/theory/N3LO_ad.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/source/theory/N3LO_ad.rst b/doc/source/theory/N3LO_ad.rst index a485a8fc8..75918b4bd 100644 --- a/doc/source/theory/N3LO_ad.rst +++ b/doc/source/theory/N3LO_ad.rst @@ -264,7 +264,6 @@ The other parts are approximated using some known limits: & \gamma_{qg}(2) + \gamma_{gg}(2) = 0 \\ & \gamma_{qq}(2) + \gamma_{gq}(2) = 0 \\ - For For :math:`\gamma_{qq,ps}, \gamma_{qg},\gamma_{gq}` other 5 additional moments are available :cite:`Falcioni:2023luc,Falcioni:2023vqq,Falcioni:2024xyt` respectively. making the parametrization of this splitting function much more accurate. From 85c7cbcef1e7960afa5f7e254306d6b861b628c2 Mon Sep 17 00:00:00 2001 From: Giacomo Magni <39065935+giacomomagni@users.noreply.github.com> Date: Thu, 23 May 2024 14:17:55 +0200 Subject: [PATCH 5/5] Update doc/source/theory/N3LO_ad.rst --- doc/source/theory/N3LO_ad.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/source/theory/N3LO_ad.rst b/doc/source/theory/N3LO_ad.rst index 75918b4bd..1fb13a15e 100644 --- a/doc/source/theory/N3LO_ad.rst +++ b/doc/source/theory/N3LO_ad.rst @@ -264,7 +264,7 @@ The other parts are approximated using some known limits: & \gamma_{qg}(2) + \gamma_{gg}(2) = 0 \\ & \gamma_{qq}(2) + \gamma_{gq}(2) = 0 \\ - For :math:`\gamma_{qq,ps}, \gamma_{qg},\gamma_{gq}` other 5 additional moments are available + For :math:`\gamma_{qq,ps}, \gamma_{qg},\gamma_{gq}` other 5 additional moments are available from :cite:`Falcioni:2023luc,Falcioni:2023vqq,Falcioni:2024xyt` respectively. making the parametrization of this splitting function much more accurate.