diff --git a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml index e253c5701f..33997ef9c7 100644 --- a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml +++ b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml @@ -11,4 +11,4 @@ '9 point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)', '(2, 0.5)', '(0.5, 2)'] 'n3lo ad covmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)',] 'n3lo ihou': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)','(-1, -1)','(1, 1)',] -'n3lo full thcovmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)', '(2, 0.5)', '(0.5, 2)','(-1, -1)','(1, 1)'] +'n3lo full thcovmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)','(-1, -1)','(1, 1)'] diff --git a/validphys2/src/validphys/theorycovariance/construction.py b/validphys2/src/validphys/theorycovariance/construction.py index 8d7b783c7c..8d17aec188 100644 --- a/validphys2/src/validphys/theorycovariance/construction.py +++ b/validphys2/src/validphys/theorycovariance/construction.py @@ -347,7 +347,8 @@ def covmat_n3lo_ad(name1, name2, deltas1, deltas2): * \prod{n_s} = degeneracy factor (in this case we have 18 * 21 * 24 * 17) * n_is = number of independent scales (in this case 4) """ - norm = (71 - 1) * 1 + n_var = len(deltas1) + norm = (n_var - 1) * 1 if name1 == name2: s = sum(np.outer(d, d) for d in deltas1) else: @@ -423,10 +424,10 @@ def covs_pt_prescrip( s_cf = covmat_3pt(name1, name2, deltas1[-2:], deltas2[-2:]) s = s_ad + s_cf # n3lo full covmat prescriprion - elif l == 80: + elif l == 78: # spit deltas and compose thcovmat - s_ad = covmat_n3lo_ad(name1, name2, deltas1[:-10], deltas2[:-10]) - s_mhou = covmat_9pt(name1, name2, deltas1[-10:-2], deltas2[-10:-2]) + s_ad = covmat_n3lo_ad(name1, name2, deltas1[:-8], deltas2[:-8]) + s_mhou = covmat_7pt(name1, name2, deltas1[-8:-2], deltas2[-8:-2]) s_cf = covmat_3pt(name1, name2, deltas1[-2:], deltas2[-2:]) s = s_ad + s_cf + s_mhou start_locs = (start_proc[name1], start_proc[name2]) diff --git a/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py b/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py index 3c95eb534a..584fbd6d30 100644 --- a/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py +++ b/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py @@ -18,7 +18,7 @@ def check_correct_theory_combination_internal( """Checks that a valid theory combination corresponding to an existing prescription has been inputted""" l = len(theoryids) - check(l in {3, 5, 7, 9, 70, 72, 80}, f"Expecting exactly 3, 5, 7, 9, 70, 72 or 80 theories, but got {l}.") + check(l in {3, 5, 7, 9, 70, 72, 78}, f"Expecting exactly 3, 5, 7, 9, 70, 72 or 78 theories, but got {l}.") opts = {"bar", "nobar"} xifs = [theoryid.get_description()["XIF"] for theoryid in theoryids] xirs = [theoryid.get_description()["XIR"] for theoryid in theoryids] @@ -53,7 +53,7 @@ def check_correct_theory_combination_internal( elif l == 7: correct_xifs = [1.0, 2.0, 0.5, 1.0, 1.0, 2.0, 0.5] correct_xirs = [1.0, 1.0, 1.0, 2.0, 0.5, 2.0, 0.5] - elif l in [70, 72, 80]: + elif l in [70, 72, 78]: # check Anomalous dimensions variations n3lo_vars_dict = { "P_gg": 17, @@ -64,8 +64,8 @@ def check_correct_theory_combination_internal( # TODO: for the moment fish the n3lo_ad_variation from the comments n3lo_vars_list = [] id_max = None - if l == 80: - id_max = -10 + if l == 78: + id_max = -8 elif l == 72: id_max = -2 for theoryid in theoryids[:id_max]: @@ -80,14 +80,14 @@ def check_correct_theory_combination_internal( n3lo_vars_list == full_var_list, f"Theories do not include the full list of N3LO variation but {n3lo_vars_list}" ) - if l == 80: + if l == 78: # check Scale variations varied_xifs = [xifs[0]] varied_xirs = [xirs[0]] - varied_xifs.extend(xifs[-10:-2]) - varied_xirs.extend(xirs[-10:-2]) - correct_xifs = [1.0, 2.0, 0.5, 1.0, 1.0, 2.0, 0.5, 2.0, 0.5] - correct_xirs = [1.0, 1.0, 1.0, 2.0, 0.5, 2.0, 0.5, 0.5, 2.0] + varied_xifs.extend(xifs[-8:-2]) + varied_xirs.extend(xirs[-8:-2]) + correct_xifs = [1.0, 2.0, 0.5, 1.0, 1.0, 2.0, 0.5] + correct_xirs = [1.0, 1.0, 1.0, 2.0, 0.5, 2.0, 0.5] check( varied_xifs == correct_xifs and varied_xirs == correct_xirs, "Choice of input theories does not correspond to a valid "