|
def symmetrize_8(b): |
|
"""Symmetrize class-8 coefficients. |
|
|
|
Note that this function does not correctly take into account the |
|
translation between a basis where Wilson coefficients are symmetrized |
|
like the operators and the non-redundant WCxf basis! |
|
""" |
|
a = np.array(b, copy=True, dtype=complex) |
|
a[1, 0, 0, 0] = a[0, 0, 1, 0] |
|
a[1, 0, 0, 1] = a[0, 0, 1, 1] |
|
a[1, 0, 0, 2] = a[0, 0, 1, 2] |
|
a[1, 1, 0, 0] = a[0, 1, 1, 0] |
|
a[1, 1, 0, 1] = a[0, 1, 1, 1] |
|
a[1, 1, 0, 2] = a[0, 1, 1, 2] |
|
a[2, 0, 0, 0] = a[0, 0, 2, 0] |
|
a[2, 0, 0, 1] = a[0, 0, 2, 1] |
|
a[2, 0, 0, 2] = a[0, 0, 2, 2] |
|
a[2, 0, 1, 0] = a[1, 2, 0, 0] + a[1, 0, 2, 0] - a[0, 2, 1, 0] |
|
a[2, 0, 1, 1] = a[1, 2, 0, 1] + a[1, 0, 2, 1] - a[0, 2, 1, 1] |
|
a[2, 0, 1, 2] = a[1, 2, 0, 2] + a[1, 0, 2, 2] - a[0, 2, 1, 2] |
|
a[2, 1, 0, 0] = a[0, 2, 1, 0] + a[0, 1, 2, 0] - a[1, 2, 0, 0] |
|
a[2, 1, 0, 1] = a[0, 2, 1, 1] + a[0, 1, 2, 1] - a[1, 2, 0, 1] |
|
a[2, 1, 0, 2] = a[0, 2, 1, 2] + a[0, 1, 2, 2] - a[1, 2, 0, 2] |
|
a[2, 1, 1, 0] = a[1, 1, 2, 0] |
|
a[2, 1, 1, 1] = a[1, 1, 2, 1] |
|
a[2, 1, 1, 2] = a[1, 1, 2, 2] |
|
a[2, 2, 0, 0] = a[0, 2, 2, 0] |
|
a[2, 2, 0, 1] = a[0, 2, 2, 1] |
|
a[2, 2, 0, 2] = a[0, 2, 2, 2] |
|
a[2, 2, 1, 0] = a[1, 2, 2, 0] |
|
a[2, 2, 1, 1] = a[1, 2, 2, 1] |
|
a[2, 2, 1, 2] = a[1, 2, 2, 2] |
|
return a |
According to arXiv:1405.0486, Eqs. (10) and (13), the SMEFT Wilson coefficient
C_qqqlshould satisfyThe code below sets all non-redundant
qqqlcoefficients to 1, usessmeftutil.wcxf2arrays_symmetrizedto obtain the symmetrized coefficient in the redundant basis, and then evaluates the difference between the LHS and RHS in the equation above:The result should be close to 0, but is actually
0.5. There might be a bug insmeftutil.scale_8,wilson/wilson/util/common.py
Lines 814 to 851 in bae6624
and/or
smeftutil.symmetrize_8,wilson/wilson/util/common.py
Lines 779 to 811 in bae6624
used in
smeftutil.symmetrize_nonred,wilson/wilson/util/common.py
Lines 936 to 977 in bae6624