Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix scale variations scheme B #125

Merged
merged 21 commits into from
Jul 11, 2022
Merged

Fix scale variations scheme B #125

merged 21 commits into from
Jul 11, 2022

Conversation

felixhekhorn
Copy link
Contributor

@felixhekhorn felixhekhorn commented May 31, 2022

closes #121

  • most likely a missing minus sign from Eq. 3.33
  • in scheme B the starting scale has to be kept fixed (so no effective shifting - in practice we might do and undo the thing); in scheme A the current implementation is correct

Originally posted by @felixhekhorn in #121 (comment)

@felixhekhorn
Copy link
Contributor Author

@andreab1997 @giacomomagni please have a look on what I wrote and concluded concerning the minus signs - do you agree?

@codecov
Copy link

codecov bot commented May 31, 2022

Codecov Report

Merging #125 (1cfcf8b) into develop (87e224f) will not change coverage.
The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff            @@
##           develop      #125   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           77        77           
  Lines         3541      3552   +11     
=========================================
+ Hits          3541      3552   +11     
Flag Coverage Δ
isobench 50.25% <53.84%> (+0.07%) ⬆️
unittests 99.97% <98.07%> (-0.03%) ⬇️

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

Impacted Files Coverage Δ
src/eko/harmonics/f_functions/f11.py 100.00% <ø> (ø)
src/eko/harmonics/f_functions/f13.py 100.00% <ø> (ø)
src/eko/harmonics/f_functions/f14_f12.py 100.00% <ø> (ø)
src/eko/harmonics/f_functions/f16.py 100.00% <ø> (ø)
src/eko/harmonics/f_functions/f17.py 100.00% <ø> (ø)
src/eko/harmonics/f_functions/f18.py 100.00% <ø> (ø)
src/eko/harmonics/f_functions/f19.py 100.00% <ø> (ø)
src/eko/harmonics/f_functions/f20.py 100.00% <ø> (ø)
src/eko/harmonics/f_functions/f21.py 100.00% <ø> (ø)
src/eko/harmonics/f_functions/f9.py 100.00% <ø> (ø)
... and 11 more

@felixhekhorn
Copy link
Contributor Author

@giacomomagni you correctly said here: https://github.com/N3PDF/eko/blob/039beec06aec5f14be82b696817bd6b5b4ed2b6f/src/eko/scale_variations/expanded.py#L170
but then why didn't you reflect that? do you agree on my fix in 039beec ?

the unit test is now failing ... I'm not entirely sure on what it should test ... also the non-commutativity in scheme B should now be taken care of ... but actually it seems the discrepency is worse now ... can you please have a look?

@felixhekhorn felixhekhorn added enhancement New feature or request physics new physics features labels May 31, 2022
@giacomomagni
Copy link
Collaborator

giacomomagni commented May 31, 2022

Hi @felixhekhorn,
I'm not really convinced about the motivation of the missing minus sign.

If I look at eq. 3.32 (scale variation exponentiated) you can see that the sign convention holds.
This equations is exactly the same as eq 2.8 of the Pegasus paper and is what we are doing in the code.
However the only term that contains an odd number of beta*gamma occurs at NNLO, so it's still possible that we are missing a sign there, but this would imply that the LHA bench are not enough to check our implementation...

While doing the work I annotated that there is also a minus sign in the definition of k eq 3.5. wrt to the NNPDF paper

@felixhekhorn
Copy link
Contributor Author

  • most likely a missing minus sign from Eq. 3.33

@andreab1997 could you please double check my updated version - @giacomomagni convinced me that he was right in the first place ...

@alecandido
Copy link
Member

@andreab1997 could you please double check my updated version - @giacomomagni convinced me that he was right in the first place ...

I'd recommend implementing the second point (about the starting scale), and once it is in place, check that scheme B and C are actually sufficiently compatible (or that expanded and exponentiated are compatible, using TRN)

@alecandido
Copy link
Member

@felixhekhorn do you have a candidate now, or still investigating?

@andreab1997
Copy link
Contributor

@felixhekhorn do you have a candidate now, or still investigating?

Last time we talked, we noticed again that a change of a minus sign would lead to compatible results with scheme C. However, we checked together basically all the part of the code related to scale variations and we did not find where this minus sign could be wrong. I don't know if @felixhekhorn has news about this.

@felixhekhorn
Copy link
Contributor Author

Let's discuss this later ... (I really need to prepare the meeting later now 🙈 😱 )

@felixhekhorn felixhekhorn added the bug Something isn't working label Jul 11, 2022
@felixhekhorn
Copy link
Contributor Author

Since we're about to close a bunch of PRs, let's close also this one (despite that there is no definite conclusion on scheme B)

Changes should be:

  • many docstrings
  • introduce ModeMixin
  • fix non-commutativity in singlet SV
  • put SV kernel to the very left
  • introduce mur2_shift

this PR does not include the split of the SV kernel from the evolution kernel, but I suggest to postpone this to a separate PR

@felixhekhorn felixhekhorn requested a review from alecandido July 11, 2022 09:56
@alecandido
Copy link
Member

alecandido commented Jul 11, 2022

@giacomomagni may I ask you to review this, please? This week I'll be pretty busy...

Copy link
Collaborator

@giacomomagni giacomomagni left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

okay, looks good. When also the tests are updated we can merge this.

@felixhekhorn felixhekhorn linked an issue Jul 11, 2022 that may be closed by this pull request
@felixhekhorn
Copy link
Contributor Author

okay, looks good. When also the tests are updated we can merge this.

@giacomomagni you're absolutely correct and I should apologize to have asked for a review before the thing was actually finished ... as you can see the merge has been actually non-trivial;

please give me an explicit approval when you're happy (note that (as usual) we get the green tick only after the benchmarks finished)

Copy link
Collaborator

@giacomomagni giacomomagni left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure no problem. Thanks for taking care of updating this.

@felixhekhorn felixhekhorn merged commit 0f6231e into develop Jul 11, 2022
@delete-merged-branch delete-merged-branch bot deleted the feature/fix-sv-b branch July 11, 2022 16:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request physics new physics features
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Stop propagating alpha_s in output
4 participants