From e8a3a8bcf8fe7af9d8115c8c9e705d373d6c83af Mon Sep 17 00:00:00 2001 From: tgiani Date: Wed, 23 Oct 2024 16:22:24 +0200 Subject: [PATCH] start as1aem1.rs --- .../unpolarized/spacelike.rs | 1 + .../unpolarized/spacelike/as1aem1.rs | 37 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as1aem1.rs diff --git a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike.rs b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike.rs index 7ff05f431..7a5fc13e8 100644 --- a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike.rs +++ b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike.rs @@ -8,6 +8,7 @@ use num::complex::Complex; use num::Zero; pub mod aem1; pub mod as1; +pub mod as1aem1; pub mod as2; pub mod as3; diff --git a/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as1aem1.rs b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as1aem1.rs new file mode 100644 index 000000000..2c9bef29e --- /dev/null +++ b/crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as1aem1.rs @@ -0,0 +1,37 @@ +//! The $O(a_s^1a_{em}^1)$ Altarelli-Parisi splitting kernels. +use num::complex::Complex; + +use crate::constants::CF; +use crate::harmonics::cache::{Cache, K}; + +/// Compute the $O(a_s^1a_{em}^1)$ photon-quark anomalous dimension. +/// +/// Implements Eq. (36) of +pub fn gamma_phq(c: &mut Cache, _nf: u8) -> Complex { + let N = c.n(); + let S1 = c.get(K::S1); + let S2 = c.get(K::S2); + + #[rustfmt::skip] + let tmp_const = + 2.0 + * ( + -4.0 + - 12.0 * N + - N.powu(2) + + 28.0 * N.powu(3) + + 43.0 * N.powu(4) + + 30.0 * N.powu(5) + + 12.0 * N.powu(6) + ) / ((-1.0 + N) * N.powu(3) * (1.0 + N).powu(3)); + + #[rustfmt::skip] + let tmp_S1 = -4.0 + * (10.0 + 27.0 * N + 25.0 * N.powu(2) + 13.0 * N.powu(3) + 5.0 * N.powu(4)) + / ((-1.0 + N) * N * (1.0 + N).powu(3)); + + let tmp_S12 = 4.0 * (2.0 + N + N.powu(2)) / ((-1.0 + N) * N * (1.0 + N)); + let tmp_S2 = 4.0 * (2.0 + N + N.powu(2)) / ((-1.0 + N) * N * (1.0 + N)); + + CF * (tmp_const + tmp_S1 * S1 + tmp_S12 * S1.powu(2) + tmp_S2 * S2) +}