Skip to content

Commit

Permalink
rust: Use QCD ads also in QED
Browse files Browse the repository at this point in the history
  • Loading branch information
felixhekhorn committed Jan 14, 2025
1 parent 7bed428 commit 680dae8
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 43 deletions.
53 changes: 51 additions & 2 deletions crates/ekore/src/anomalous_dimensions/unpolarized/spacelike.rs
Original file line number Diff line number Diff line change
Expand Up @@ -126,8 +126,44 @@ pub fn gamma_singlet_qed(
];
let mut gamma_s = vec![col; order_qed + 1];

gamma_s[1][0] = as1::gamma_singlet_qed(c, nf);
// QCD corrections
let gamma_qcd_s = gamma_singlet_qcd(order_qcd, c, nf);
let gamma_qcd_nsp = gamma_ns_qcd(order_qcd, PID_NSP, c, nf);
for j in 0..order_qcd {
let s = gamma_qcd_s[j];
gamma_s[1 + j][0] = [
[
s[1][1],
Complex::<f64>::zero(),
s[1][0],
Complex::<f64>::zero(),
],
[
Complex::<f64>::zero(),
Complex::<f64>::zero(),
Complex::<f64>::zero(),
Complex::<f64>::zero(),
],
[
s[0][1],
Complex::<f64>::zero(),
s[0][0],
Complex::<f64>::zero(),
],
[
Complex::<f64>::zero(),
Complex::<f64>::zero(),
Complex::<f64>::zero(),
gamma_qcd_nsp[j],
],
];
}
// QED corrections
gamma_s[0][1] = aem1::gamma_singlet(c, nf);
if order_qed >= 2 {
gamma_s[0][2] = aem2::gamma_singlet(c, nf);
}
// QCDxQED corrections
gamma_s[1][1] = as1aem1::gamma_singlet(c, nf);
gamma_s
}
Expand All @@ -142,8 +178,21 @@ pub fn gamma_valence_qed(
let col = vec![[[Complex::<f64>::zero(), Complex::<f64>::zero(),]; 2]; order_qcd + 1];
let mut gamma_v = vec![col; order_qed + 1];

gamma_v[1][0] = as1::gamma_valence_qed(c, nf);
// QCD corrections
let gamma_qcd_nsv = gamma_ns_qcd(order_qcd, PID_NSV, c, nf);
let gamma_qcd_nsm = gamma_ns_qcd(order_qcd, PID_NSM, c, nf);
for j in 0..order_qcd {
gamma_v[1 + j][0] = [
[gamma_qcd_nsv[j], Complex::<f64>::zero()],
[Complex::<f64>::zero(), gamma_qcd_nsm[j]],
];
}
// QED corrections
gamma_v[0][1] = aem1::gamma_valence(c, nf);
if order_qed >= 2 {
gamma_v[0][2] = aem2::gamma_valence(c, nf);
}
// QCDxQED corrections
gamma_v[1][1] = as1aem1::gamma_valence(c, nf);
gamma_v
}
Expand Down
41 changes: 0 additions & 41 deletions crates/ekore/src/anomalous_dimensions/unpolarized/spacelike/as1.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
//! |LO| |QCD|.
use num::complex::Complex;
use num::Zero;

use crate::constants::{CA, CF, TR};
use crate::harmonics::cache::{Cache, K};
Expand Down Expand Up @@ -53,46 +52,6 @@ pub fn gamma_singlet(c: &mut Cache, nf: u8) -> [[Complex<f64>; 2]; 2] {
]
}

/// Compute the singlet anomalous dimension matrix
/// for the unified evolution basis.
pub fn gamma_singlet_qed(c: &mut Cache, nf: u8) -> [[Complex<f64>; 4]; 4] {
[
[
gamma_gg(c, nf),
Complex::<f64>::zero(),
gamma_gq(c, nf),
Complex::<f64>::zero(),
],
[
Complex::<f64>::zero(),
Complex::<f64>::zero(),
Complex::<f64>::zero(),
Complex::<f64>::zero(),
],
[
gamma_qg(c, nf),
Complex::<f64>::zero(),
gamma_ns(c, nf),
Complex::<f64>::zero(),
],
[
Complex::<f64>::zero(),
Complex::<f64>::zero(),
Complex::<f64>::zero(),
gamma_ns(c, nf),
],
]
}

/// Compute the valence anomalous dimension matrix
/// for the unified evolution basis.
pub fn gamma_valence_qed(c: &mut Cache, nf: u8) -> [[Complex<f64>; 2]; 2] {
[
[gamma_ns(c, nf), Complex::<f64>::zero()],
[Complex::<f64>::zero(), gamma_ns(c, nf)],
]
}

#[cfg(test)]
mod tests {
use super::*;
Expand Down

0 comments on commit 680dae8

Please sign in to comment.