Closed JLTastet closed 5 years ago
Hi, you are right and this is in fact not intentional.
Okay, I will prepare a PR then. How can I run the test suite locally?
Great. I was planning to release version 1.5 later today, do you think you can make it for that?
To run the tests, you need the nose
package, then you can just run nostests
in the source directory. (For development I would suggest to install the cloned repository in development mode with pip3 install -e . --user
).
Yes, I can surely make it. I already fixed the code, so I just need to write new tests with loop != 3
. I am using nose
as well, so there should be no technical difficulties here.
There are still two failing tests, which give a slightly different answer from the Mathematica version. This might be an issue with my validation code. Hopefully I will figure it out today.
Partial progress here (do not merge yet): https://github.com/Element-126/wilson/tree/fix-23
I have found what is causing the failures, but I am still not sure what is the proper way to fix it. I'll read the relevant part of the RunDec paper again and this will hopefully clarify everything.
Hmm... this might just be a numerical issue in the end. Decoupling up and then down causes an error which can be larger than the current deltam=1e-5
threshold.
I still don't fully understand the results from RunDec, and the documentation is a bit ambiguous (the input parameters for Dec{As|Mq}DownXX
list the number of light quarks nl
as a parameter, while the examples seem to imply that nf = nl+1
should be used instead).
So for now I will just raise the threshold a bit, but I would definitely like to understand the results better.
The
loop
kwarg inm_b
,m_c
andm_s
from thewilson.util.qcd
module is not forwarded toalpha_s
, resulting in the default valueloop=3
always being used to evaluate the strong coupling constant.This leads to a small discrepancy with respect to the Mathematica version of RunDec.
The tests in
wilson.util.test_qcd
currently only cover the default (loop=3
) case.Not sure if this is actually an issue, since the difference is small and the docstring explicitly specifies "3-loop computation", but it surprised me a bit so I prefer to report it just in case. Feel free to close if this is intended :-)
https://github.com/wilson-eft/wilson/blob/131f2730f7fe5490da825288f254904cb11fe703/wilson/util/qcd.py#L20
m_b
https://github.com/wilson-eft/wilson/blob/131f2730f7fe5490da825288f254904cb11fe703/wilson/util/qcd.py#L58 https://github.com/wilson-eft/wilson/blob/131f2730f7fe5490da825288f254904cb11fe703/wilson/util/qcd.py#L64
https://github.com/wilson-eft/wilson/blob/131f2730f7fe5490da825288f254904cb11fe703/wilson/util/qcd.py#L67
https://github.com/wilson-eft/wilson/blob/131f2730f7fe5490da825288f254904cb11fe703/wilson/util/qcd.py#L83
m_c
https://github.com/wilson-eft/wilson/blob/131f2730f7fe5490da825288f254904cb11fe703/wilson/util/qcd.py#L95 https://github.com/wilson-eft/wilson/blob/131f2730f7fe5490da825288f254904cb11fe703/wilson/util/qcd.py#L102
https://github.com/wilson-eft/wilson/blob/131f2730f7fe5490da825288f254904cb11fe703/wilson/util/qcd.py#L104
m_s
https://github.com/wilson-eft/wilson/blob/131f2730f7fe5490da825288f254904cb11fe703/wilson/util/qcd.py#L121 https://github.com/wilson-eft/wilson/blob/131f2730f7fe5490da825288f254904cb11fe703/wilson/util/qcd.py#L128
https://github.com/wilson-eft/wilson/blob/131f2730f7fe5490da825288f254904cb11fe703/wilson/util/qcd.py#L130
https://github.com/wilson-eft/wilson/blob/131f2730f7fe5490da825288f254904cb11fe703/wilson/util/qcd.py#L146
Also, small typo: https://github.com/wilson-eft/wilson/blob/131f2730f7fe5490da825288f254904cb11fe703/wilson/util/qcd.py#L21