Fix harmonics#110
Conversation
|
@giacomomagni thank you very much for taking care of properly dealing with harmonics. Actually, @niclaurenti was asking me about:
this same afternoon. It seems like cached is not used at all in NLO QCD. The moment you finish, please ask for a review also @niclaurenti. |
Codecov Report
@@ Coverage Diff @@
## feature/N3LO_matching #110 +/- ##
=======================================================
Coverage 100.00% 100.00%
=======================================================
Files 59 65 +6
Lines 2965 3060 +95
=======================================================
+ Hits 2965 3060 +95
Flags with carried forward coverage won't be shown. Click here to find out more.
|
Just to confirm, this is true - moreover this is(/was) because NLO is also a special case inside PEGASUS - and I didn't wanted to duplicate that structure |
|
I guess at that time there was no point in worrying about a different and slower NLO, we had to write NNLO in the first place. But now that we have It might be an optimization for the NLO runs. |
definitely we want them! (Something we wanted to do since long ago ...) (I was just explaining why I decided like this back then) |
|
If I may suggest a crazy idea - and you can tell me whether you like it or not and whether it's feasable ... we could go even a more radical step and enforce more the caching of harmonics (which we do believe is our biggest time consumer):
|
If you don't tell You can do one of three things:
|
|
@giacomomagni in 44759d0 I wanted to add a few tests to check the and again: https://github.com/N3PDF/eko/blob/44759d0ba93db67d8addf796f251dc5764ed7252/src/eko/harmonics/w1.py#L62 Please double check the mathematics in this branch! Actually even looking at #83 I can see some (-1)**n |
|
I thought we discussed this in the past and we agreed that the factors |
I will review, but I would tick also the last item before merging. You were right in putting it in :) |
alecandido
left a comment
There was a problem hiding this comment.
Tests are mostly good (I'm just suggesting some aesthetic and readability), they even run in a reasonable amount of time (even though ome takes a bit, but that's fine).
| # due to the approximations of F functions. | ||
| np.testing.assert_allclose( | ||
| aS3[1, 1], ref_val_qqNS[L][idx] + ref_val_qqPS[L][idx], rtol=3e-2 | ||
| aS3[1, 1], ref_val_qqNS[L][idx] + ref_val_qqPS[L][idx], rtol=8e-2 |
There was a problem hiding this comment.
This approximation looks really bad...
There was a problem hiding this comment.
So here the difference it's from the fact that we are testing even moments, but in A_qqNS we have replaced all the occurrences of (-1)^N -> -1 (explicit and implicit in the harmonics). This is not fully possible in Mathematica unless you expand all the harmonics also there...
On top of this effect there is even the approximation of the F functions, but the former should be the leading,
so I'd say this difference is expected.
There was a problem hiding this comment.
Ok, I get the technical limitation. At this point I just wonder if we should drop the test.
However, we're always in time to do it.
felixhekhorn
left a comment
There was a problem hiding this comment.
I didn't re-review everything, but I hope it is fine - and we need this stuff soonish in develop ...
mellin_g3calls, need to rewrite all the ad expressions probably not worth... )mellin_g3calls )