def test_alphas_6(self): self.assertAlmostEqual(alpha_s(500, 6), 0.095517575136454583087, delta=delta) # crazy values self.assertAlmostEqual(alpha_s(50, 6), 0.12785358110125187370, delta=delta)
def test_alphas_3(self): self.assertAlmostEqual(alpha_s(0.9, 3), 0.527089, delta=1e-5) self.assertAlmostEqual(alpha_s(0.9, 3, alphasMZ=0.1181, loop=5), 0.517328, delta=1e-5) # crazy values self.assertAlmostEqual(alpha_s(1000, 3), 0.076593079980776995496, delta=delta)
def test_alphas_4(self): self.assertAlmostEqual(alpha_s(3, 4), 0.25604161478941490576, delta=delta) # crazy values self.assertAlmostEqual(alpha_s(1, 4), 0.46414770696020787020, delta=delta) self.assertAlmostEqual(alpha_s(1000, 4), 0.082139482683335368979, delta=delta)
def test_alphas_6(self): self.assertAlmostEqual(alpha_s(500, 6), 0.095517575136454583087, delta=delta) self.assertAlmostEqual(alpha_s(500, 6, alphasMZ=0.1181, loop=5), 0.095272906877950202894, delta=delta) # crazy values self.assertAlmostEqual(alpha_s(50, 6), 0.12785358110125187370, delta=delta)
def test_alphas_5(self): self.assertAlmostEqual(alpha_s(100, 5), 0.11686431884237730186, delta=delta) self.assertAlmostEqual(alpha_s(10, 5), 0.17931693160062720703, delta=delta) # crazy values self.assertAlmostEqual(alpha_s(1, 5), 0.40957053067188524193, delta=delta) self.assertAlmostEqual(alpha_s(1000, 5), 0.087076948997751428458, delta=delta)
def test_alphas_4(self): self.assertAlmostEqual(alpha_s(3, 4), 0.25604161478941490576, delta=delta) self.assertAlmostEqual(alpha_s(3, 4, alphasMZ=0.1181, loop=5), 0.25391329528950183050, delta=delta) # crazy values self.assertAlmostEqual(alpha_s(1, 4), 0.46414770696020787020, delta=delta) self.assertAlmostEqual(alpha_s(1000, 4), 0.082139482683335368979, delta=delta)
def _get_sm_left(self, scale, f, loop=3): C_in_SM = {} parameters = default_parameters.copy() m_d = qcd.m_s(parameters['m_d'], scale, f, parameters['alpha_s'], loop=loop) m_s = qcd.m_s(parameters['m_s'], scale, f, parameters['alpha_s'], loop=loop) m_b = qcd.m_b(parameters['m_b'], scale, f, parameters['alpha_s'], loop=loop) m_u = qcd.m_s(parameters['m_u'], scale, f, parameters['alpha_s'], loop=loop) m_c = qcd.m_c(parameters['m_c'], scale, f, parameters['alpha_s'], loop=loop) # running ignored for alpha_e and lepton mass m_e = parameters['m_e'] m_mu = parameters['m_mu'] m_tau = parameters['m_tau'] C_in_SM['gs'] = sqrt( 4 * pi * qcd.alpha_s(scale, f, parameters['alpha_s'], loop=loop)) C_in_SM['e'] = sqrt(4 * pi * parameters['alpha_e']) C_in_SM['Me'] = np.array([[m_e, 0, 0], [0, m_mu, 0], [0, 0, m_tau]]) C_in_SM['Md'] = np.array([[m_d, 0, 0], [0, m_s, 0], [0, 0, m_b]]) C_in_SM['Mu'] = np.array([[m_u, 0], [0, m_c]]) C_in_SM['Mnu'] = np.array([[0, 0, 0], [0, 0, 0], [0, 0, 0]]) # update? return C_in_SM
def _get_running_parameters(self, scale, f, loop=3): """Get the running parameters (e.g. quark masses and the strong coupling at a given scale.""" p = {} p['alpha_s'] = qcd.alpha_s(scale, self.f, self.parameters['alpha_s'], loop=loop) p['m_b'] = qcd.m_b(self.parameters['m_b'], scale, self.f, self.parameters['alpha_s'], loop=loop) p['m_c'] = qcd.m_c(self.parameters['m_c'], scale, self.f, self.parameters['alpha_s'], loop=loop) p['m_s'] = qcd.m_s(self.parameters['m_s'], scale, self.f, self.parameters['alpha_s'], loop=loop) p['m_u'] = qcd.m_s(self.parameters['m_u'], scale, self.f, self.parameters['alpha_s'], loop=loop) p['m_d'] = qcd.m_s(self.parameters['m_d'], scale, self.f, self.parameters['alpha_s'], loop=loop) # running ignored for alpha_e and lepton mass p['alpha_e'] = self.parameters['alpha_e'] p['m_e'] = self.parameters['m_e'] p['m_mu'] = self.parameters['m_mu'] p['m_tau'] = self.parameters['m_tau'] return p
def test_alphas_5(self): self.assertAlmostEqual(alpha_s(100, 5), 0.11686431884237730186, delta=delta) self.assertAlmostEqual(alpha_s(10, 5), 0.17931693160062720703, delta=delta) self.assertAlmostEqual(alpha_s(100, 5, alphasMZ=0.1181, loop=5), 0.1164747252483566, delta=delta) self.assertAlmostEqual(alpha_s(10, 5, alphasMZ=0.1181, loop=5), 0.17846838859679, delta=delta) # crazy values self.assertAlmostEqual(alpha_s(1, 5), 0.40957053067188524193, delta=delta) self.assertAlmostEqual(alpha_s(1000, 5), 0.087076948997751428458, delta=delta)
def test_alphas_3(self): self.assertAlmostEqual(alpha_s(0.9, 3), 0.527089, delta=1e-5) # crazy values self.assertAlmostEqual(alpha_s(1000, 3), 0.076593079980776995496, delta=delta)
def test_alphas_invalid(self): with self.assertRaises(ValueError): alpha_s(100, 7) with self.assertRaises(ValueError): alpha_s(100, 2) with self.assertRaises(ValueError): alpha_s(100, 7) with self.assertRaises(ValueError): alpha_s(0, 6) with self.assertRaises(ValueError): alpha_s(-1, 6) with self.assertRaises(TypeError): alpha_s("1.0", 6)
def get_alpha_s(par, scale, nf_out=None): r"""Get the running $\overline{\mathrm{MS}}$ QCD coupling constant $\alpha_s$ at the specified scale.""" nf = nf_out or get_nf(scale) return qcd.alpha_s(scale=scale, f=nf, alphasMZ=par['alpha_s'])