wilson-eft / wilson

A Python package for the running and matching of Wilson coefficients above and below the electroweak scale
https://wilson-eft.github.io
MIT License
26 stars 19 forks source link

full LEFT beta function added #94

Open jasonaebischerGIT opened 2 years ago

jasonaebischerGIT commented 2 years ago

Here the beta function in the LEFT, including all terms.

jasonaebischerGIT commented 2 years ago

Goes together with PR #93

jackypheno commented 2 years ago

Yes maybe its good idea to merge it!

jackypheno commented 2 years ago

@jasonaebischerGIT @peterstangl I think still the shape of the Kronecker delta needs to be adjusted for up-type (2 flavours) and down-type (3-flavours).

jackypheno commented 2 years ago

@jasonaebischerGIT @peterstangl I think still the shape of the Kronecker delta needs to be adjusted for up-type (2 flavours) and down-type (3-flavours).

OK, I probably this can be handled by using pad_C method.

peterstangl commented 2 years ago

@jackypheno yes exactly, you can use the pad_C method. The beta function can be used as follows:

import numpy as np
from wilson.test_wilson import get_random_wc
from wilson.util import wetutil
from wilson.run.wet.beta import beta

# generate some wcxf input
wc = get_random_wc('WET', 'JMS', 90)

# turn WCxf Wilson coefficients into symmetrized arrays (the redundant basis)
C = wetutil.wcxf2arrays_symmetrized(wc.dict)

# add the SM parameters (here I just set them all to 1)
C = {**C,**{k: 1 if v==1 else np.ones(v) for k,v in wetutil._dim4_keys_shape.items()}}

# pad with zeros to bring all arrays to full 3-generation shape (needed for u-type quarks)
C = wetutil.pad_C(C)

# evaluate the beta functions
result = beta(C)

# unpad the result to remove zeros and bring all arrays to their canonical shape
result = wetutil.unpad_C(result)
jackypheno commented 2 years ago

@jackypheno yes exactly, you can use the pad_C method. The beta function can be used as follows:

import numpy as np
from wilson.test_wilson import get_random_wc
from wilson.util import wetutil
from wilson.run.wet.beta import beta

# generate some wcxf input
wc = get_random_wc('WET', 'JMS', 90)

# turn WCxf Wilson coefficients into symmetrized arrays (the redundant basis)
C = wetutil.wcxf2arrays_symmetrized(wc.dict)

# add the SM parameters (here I just set them all to 1)
C = {**C,**{k: 1 if v==1 else np.ones(v) for k,v in wetutil._dim4_keys_shape.items()}}

# pad with zeros to bring all arrays to full 3-generation shape (needed for u-type quarks)
C = wetutil.pad_C(C)

# evaluate the beta functions
result = beta(C)

# unpad the result to remove zeros and bring all arrays to their canonical shape
result = wetutil.unpad_C(result)

Yes! It has been implemented already in #93 !

dvandyk commented 7 months ago

@peterstangl You approved this PR but never merged it. Is there a particular reason?

peterstangl commented 5 months ago

@peterstangl You approved this PR but never merged it. Is there a particular reason?

Sorry @dvandyk I somehow overlooked your message. This PR was originally made to assist fixing issue #54 and was also needed for PR #93. Issue #54 has been fixed without needing to merge this PR and #93 did not have any activity for more than two years. The code in this PR is not used anywhere in wilson, so I think there is not really a point in adding it. It might be useful to have it in the future, so I think we could keep the PR open, but I now marked it as a draft.