From b598f4d83f0bc6c69d06ccef6acae4616e41fb43 Mon Sep 17 00:00:00 2001 From: Felix Hekhorn Date: Thu, 16 Jan 2025 16:45:44 +0200 Subject: [PATCH] Fix size of transferred arrays --- crates/eko/src/lib.rs | 8 ++++---- src/eko/evolution_operator/quad_ker.py | 12 ++++++------ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/crates/eko/src/lib.rs b/crates/eko/src/lib.rs index 13ecf7913..b79cc48b2 100644 --- a/crates/eko/src/lib.rs +++ b/crates/eko/src/lib.rs @@ -44,8 +44,8 @@ fn unravel_qed( re: Vec::::new(), im: Vec::::new(), }; - for obj_ in res.iter().take(order_qcd) { - for obj in obj_.iter().take(order_qed) { + for obj_ in res.iter().take(order_qcd + 1) { + for obj in obj_.iter().take(order_qed + 1) { for col in obj.iter().take(DIM) { for el in col.iter().take(DIM) { target.re.push(el.re); @@ -65,8 +65,8 @@ fn unravel_qed_ns(res: Vec>>, order_qcd: usize, order_qed: usiz re: Vec::::new(), im: Vec::::new(), }; - for col in res.iter().take(order_qcd) { - for el in col.iter().take(order_qed) { + for col in res.iter().take(order_qcd + 1) { + for el in col.iter().take(order_qed + 1) { target.re.push(el.re); target.im.push(el.im); } diff --git a/src/eko/evolution_operator/quad_ker.py b/src/eko/evolution_operator/quad_ker.py index f45d82e26..50f7b8100 100644 --- a/src/eko/evolution_operator/quad_ker.py +++ b/src/eko/evolution_operator/quad_ker.py @@ -422,8 +422,8 @@ def cb_quad_ker_qed( if is_singlet: # reconstruct singlet matrices - re_gamma_singlet = nb.carray(re_gamma_raw, (order_qcd, order_qed, 4, 4)) - im_gamma_singlet = nb.carray(im_gamma_raw, (order_qcd, order_qed, 4, 4)) + re_gamma_singlet = nb.carray(re_gamma_raw, (order_qcd + 1, order_qed + 1, 4, 4)) + im_gamma_singlet = nb.carray(im_gamma_raw, (order_qcd + 1, order_qed + 1, 4, 4)) gamma_singlet = re_gamma_singlet + im_gamma_singlet * 1j # scale var exponentiated is directly applied on gamma @@ -458,8 +458,8 @@ def cb_quad_ker_qed( elif is_valence: # reconstruct valence matrices - re_gamma_valence = nb.carray(re_gamma_raw, (order_qcd, order_qed, 2, 2)) - im_gamma_valence = nb.carray(im_gamma_raw, (order_qcd, order_qed, 2, 2)) + re_gamma_valence = nb.carray(re_gamma_raw, (order_qcd + 1, order_qed + 1, 2, 2)) + im_gamma_valence = nb.carray(im_gamma_raw, (order_qcd + 1, order_qed + 1, 2, 2)) gamma_valence = re_gamma_valence + im_gamma_valence * 1j if sv_mode == sv.Modes.exponentiated: @@ -493,8 +493,8 @@ def cb_quad_ker_qed( else: # construct non-singlet matrices - re_gamma_ns = nb.carray(re_gamma_raw, (order_qcd, order_qed)) - im_gamma_ns = nb.carray(im_gamma_raw, (order_qcd, order_qed)) + re_gamma_ns = nb.carray(re_gamma_raw, (order_qcd + 1, order_qed + 1)) + im_gamma_ns = nb.carray(im_gamma_raw, (order_qcd + 1, order_qed + 1)) gamma_ns = re_gamma_ns + im_gamma_ns * 1j if sv_mode == sv.Modes.exponentiated: gamma_ns = sv_exponentiated.gamma_variation_qed(