Skip to content

N3LO msbar and alpha_s#85

Merged
giacomomagni merged 30 commits into
developfrom
feature/N3LO_msbar
Feb 20, 2022
Merged

N3LO msbar and alpha_s#85
giacomomagni merged 30 commits into
developfrom
feature/N3LO_msbar

Conversation

@giacomomagni
Copy link
Copy Markdown
Collaborator

@giacomomagni giacomomagni commented Jan 17, 2022

@giacomomagni giacomomagni added physics new physics features documentation Improvements or additions to documentation enhancement New feature or request labels Jan 17, 2022
Comment thread doc/source/theory/pQCD.rst Outdated
Comment thread doc/source/theory/pQCD.rst Outdated
@felixhekhorn
Copy link
Copy Markdown
Collaborator

Tests will fail until N3LO alpha_s is not allowed.

I'd say maybe let's merge on top of #83 instead of develop and maybe even rebase on that

@giacomomagni
Copy link
Copy Markdown
Collaborator Author

giacomomagni commented Jan 17, 2022

Tests will fail until N3LO alpha_s is not allowed.

I'd say maybe let's merge on top of #83 instead of develop and maybe even rebase on that

I thought #83 was already big enough and better have small PR...
What if we add also N3LO alpha_s here? I have to add beta_3 in any case to complete this and we are missing only these expression:

  • matching_coeffs_up (if available..., I checked the refs quickly but was not able to find them straight )
  • the expanded solution at N3LO

@felixhekhorn
Copy link
Copy Markdown
Collaborator

felixhekhorn commented Jan 17, 2022

I thought #83 was already big enough and better have small PR... What if we add also N3LO alpha_s here? I have to add beta_3 in any case to complete this and we are missing only these expression:

* [matching_coeffs_up](https://github.com/N3PDF/eko/blob/feature/N3LO_msbar/src/eko/strong_coupling.py#:~:text=def%20compute_matching_coeffs_up(mass_scheme)%3A) (if available..., I checked the refs quickly but was not able to find them straight )

* the expanded solution at N3LO

maybe that's a good idea (and it even makes the other PR smaller ...)

re: matching coeffs: maybe try to ask to Juan or simply search a bit more (following the authors e.g., Chetyrkin et al., if I remember corrrectly ...)

@codecov
Copy link
Copy Markdown

codecov Bot commented Jan 18, 2022

Codecov Report

Merging #85 (c8a52c1) into develop (175672d) will not change coverage.
The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff            @@
##           develop       #85   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           32        32           
  Lines         2375      2431   +56     
=========================================
+ Hits          2375      2431   +56     
Flag Coverage Δ
unittests 100.00% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
src/eko/anomalous_dimensions/harmonics.py 100.00% <100.00%> (ø)
src/eko/anomalous_dimensions/lo.py 100.00% <100.00%> (ø)
src/eko/anomalous_dimensions/nlo.py 100.00% <100.00%> (ø)
src/eko/anomalous_dimensions/nnlo.py 100.00% <100.00%> (ø)
src/eko/beta.py 100.00% <100.00%> (ø)
src/eko/gamma.py 100.00% <100.00%> (ø)
src/eko/msbar_masses.py 100.00% <100.00%> (ø)
src/eko/runner.py 100.00% <100.00%> (ø)
src/eko/strong_coupling.py 100.00% <100.00%> (ø)

@giacomomagni
Copy link
Copy Markdown
Collaborator Author

giacomomagni commented Jan 18, 2022

Hi @felixhekhorn,
I found the values in this two references: Chetyrkin:1997sg (eq 6 for MSbar and eq 9 for pole, there is a factor of 4 (and 4^2 ...) ) and in Vogt:2004ns (eq 2.43).
Furthermore this values were also reported in apfel.
However while I was double checking the values I found that there might be some inconsistencies: what do you think?

I attach here my understanding of the situation:

matching_coeffs_up = np.zeros((4, 4))
    if mass_scheme == "MSBAR":
        matching_coeffs_up[2, 0] = -22.0 / 9.0
        
        # TODO: here apfel and Chetyrkin:1997sg (eq 6) do not agree...
        # Apfel has: matching_coeffs_up[2, 1] = 22.0 / 3.0 while the other report same coeff for pole and |MSbar|
        
        matching_coeffs_up[3, 0] = (
            (82043.0 / 27648.0) * zeta3 - 564731.0 / 124416.0 + 2633.0 / 31104.0 * nf
        ) * 4 ** 3
        matching_coeffs_up[3, 1] = 6793.0 / 27.0 - 281.0 / 27.0 * nf

    elif mass_scheme == "POLE":
        matching_coeffs_up[2, 0] = 14.0 / 3.0
      
        # TODO: this value is not in agreement between Chetyrkin:1997sg and  Vogt:2004ns
        # Chetyrkin:1997sg: matching_coeffs_up[3, 1] = 8512.0 / 27.0 - 409.0 / 27.0 * nf
        matching_coeffs_up[3, 1] = 8941.0 / 27.0 - 409.0 / 27.0 * nf
        # TODO: same here, the part prop to nf is in agreement the other no...
        matching_coeffs_up[3, 0] = 340.729 - 16.7981 * nf

    matching_coeffs_up[1, 1] = 4.0 / 3.0 * constants.TR
    matching_coeffs_up[2, 1] = 38.0 / 3.0
    matching_coeffs_up[2, 2] = 4.0 / 9.0
    matching_coeffs_up[3, 3] = 8.0 / 27.0

    # TODO: this value is not in agreement between Chetyrkin:1997sg and  Vogt:2004ns
    # Chetyrkin:1997sg: matching_coeffs_up[3, 2] = 131.0 / 9.0
    matching_coeffs_up[3, 2] = 511.0 / 9.0

Edit: solution, Chetyrkin:1997sg is writing the backward relation while, Vogt:2004ns the forward one, now the values are in agreement except for this:

# TODO: here apfel and Chetyrkin:1997sg (eq 6) do not agree...
# Apfel has: matching_coeffs_up[2, 1] = 22.0 / 3.0 while the other report same coeff for pole and |MSbar|

I believe it's better to follow the paper rather than Apfel.

Final solution:

  • The most recent and we believe correct reference is: Schroder:2005hy see eq 3.1 for Msbar and App A for pole mass. Our values will agree with this reference. Note that in the papar is presented the backward matching
  • Apfel is in agreement with the correct reference
  • Pegasus pole coefficients are correct
  • PDG suggest that up to NNLO the only difference between MSbar and pole mass is the coefficient c_20 pdg, eq 9.4, but this is not true, so this is not fully correct.
  • Chetyrkin:1997sg eq 6 and 9 are not correct, as they contain typos for c21, c32, c31 both for pole and Msbar coefficients

@giacomomagni giacomomagni changed the title N3LO msbar N3LO msbar and alpha_s Jan 19, 2022
Comment thread src/eko/strong_coupling.py Outdated
Comment thread doc/source/theory/pQCD.rst Outdated
@felixhekhorn felixhekhorn linked an issue Jan 25, 2022 that may be closed by this pull request
@felixhekhorn
Copy link
Copy Markdown
Collaborator

@felixhekhorn
Copy link
Copy Markdown
Collaborator

Actually, is it a version problem, because we need banana@develop?

@alecandido
Copy link
Copy Markdown
Collaborator

For sure we need develop at the moment, but I'll make soon another release (as soon as I'll have the time to implement a proper solution, instead of a temporary hack).

If we're not in a hurry to merge this, let's wait a second :)

@giacomomagni
Copy link
Copy Markdown
Collaborator Author

For sure we need develop at the moment, but I'll make soon another release (as soon as I'll have the time to implement a proper solution, instead of a temporary hack).

If we're not in a hurry to merge this, let's wait a second :)

Sure, no problem. Thanks for your review and inputs, @alecandido , @felixhekhorn

Comment thread src/eko/strong_coupling.py Outdated
Comment thread tests/benchmark_msbar_evolution.py Outdated
Comment thread tests/test_interpolation.py Outdated
@giacomomagni
Copy link
Copy Markdown
Collaborator Author

Shall we merge ?

@alecandido
Copy link
Copy Markdown
Collaborator

If you're done, I'll re-review as soon as possible (worst case tomorrow morning during the PC) and we can merge :)

@felixhekhorn
Copy link
Copy Markdown
Collaborator

Actually, is it a version problem, because we need banana@develop?

For sure we need develop at the moment, but I'll make soon another release (as soon as I'll have the time to implement a proper solution, instead of a temporary hack).

If we're not in a hurry to merge this, let's wait a second :)

@alecandido
Copy link
Copy Markdown
Collaborator

As of NNPDF/banana@1e1b576 banana has been merged, we don't need develop any longer.

@felixhekhorn
Copy link
Copy Markdown
Collaborator

Can we then merge?

@alecandido
Copy link
Copy Markdown
Collaborator

I would revert src/eko/output.py (personally, I prefer to preserve original names, where possible).

I checked everything else, and I'm fine with it.

@giacomomagni
Copy link
Copy Markdown
Collaborator Author

giacomomagni commented Feb 18, 2022

I would revert src/eko/output.py (personally, I prefer to preserve original names, where possible).

I checked everything else, and I'm fine with it.

then we keep pylint complaining?

@alecandido
Copy link
Copy Markdown
Collaborator

I don't see it complaining on CodeFactor: if it were, it shoud be listed here https://www.codefactor.io/repository/github/n3pdf/eko/pull/fixed/85

Which version of pylint do you have? What is complaining about?

@giacomomagni
Copy link
Copy Markdown
Collaborator Author

I don't see it complaining on CodeFactor: if it were, it shoud be listed here https://www.codefactor.io/repository/github/n3pdf/eko/pull/fixed/85

Which version of pylint do you have? What is complaining about?

Indeed codeFactor is complaining about import. yaml:
third party import "import yaml" should be placed before "import lz4.frame
that's why I originally modified this. see here

@alecandido
Copy link
Copy Markdown
Collaborator

alecandido commented Feb 18, 2022

Okay, then the solution is not to change the name: we need to reconcile isort with pylint (otherwise this problem might come back over and over).

There are two possible ways of doing it:

  • we select/define an isort profile that is compliant with pylint (but we already selected one that is compatible with black, and we change too much we have to maintain ourselves), i.e. configure isort
  • we prevent pylint to complain, whatever isort does is fine: we're giving up on the check, but on the other hand we are all using isort, so we can also configure pylint and give up on the double check

@alecandido
Copy link
Copy Markdown
Collaborator

alecandido commented Feb 18, 2022

At the end of the day, they come from the same place pylint-dev/pylint#3817 (comment)

@giacomomagni
Copy link
Copy Markdown
Collaborator Author

At the end of the day, they come from the same place PyCQA/pylint#3817 (comment)

Yes I agree this is the origin of this issue, so may solution was just a workaround. I can revert it and we solve this on a later stage properly.

@felixhekhorn
Copy link
Copy Markdown
Collaborator

Yes I agree this is the origin of this issue, so may solution was just a workaround. I can revert it and we solve this on a later stage properly.

agreed - after that you can merge 👍

@giacomomagni giacomomagni merged commit c8a52c1 into develop Feb 20, 2022
@delete-merged-branch delete-merged-branch Bot deleted the feature/N3LO_msbar branch February 20, 2022 15:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request physics new physics features

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Call anomalous mass dimension \gamma_m

3 participants