setMandelstam([k1:m1, k2:m2, k3:m3, k4:m4])
generates a list of Mandelstam and mass shell substitutions for incoming particles with momentums k1
and k2
with masses m1
and m2
and outcoming particles with momentums k3
and k4
with masses m3
and m4
.setMandelstam([k1:m1, k2:m2, k3:m3, k4:m4], s, t, u)
generates a list of Mandelstam substitutions with specified notation for Mandelstam s, t and u variables.setMandelstam
uses the following definition of Mandelstam variables:\begin{gather*} s = (p_1 + p_2)^2 = (p_3+p_4)^2\\ t = (p_1 - p_3)^2 = (p_2 - p_4)^2\\ u = (p_1 - p_4)^2 = (p_2 - p_3)^2 \end{gather*}
Generate a list of Mandelstam and mass shell substitutions:
def mandelstam = setMandelstam([k1_a: 'm1', k2_a: 'm2', k3_a: 'm3', k4_a: 'm4']) println mandelstam
> k1_{a}*k1^{a} = m1**2 > k2_{a}*k2^{a} = m2**2 > k3_{a}*k3^{a} = m3**2 > k4_{a}*k4^{a} = m4**2 > 2*k1_{a}*k2^{a} = s-m2**2-m1**2 > 2*k4^{a}*k3_{a} = s-m3**2-m4**2 > -2*k3^{a}*k1_{a} = t-m3**2-m1**2 > -2*k4^{a}*k2_{a} = t-m4**2-m2**2 > -2*k4^{a}*k1_{a} = -m4**2-m1**2+u > -2*k3^{a}*k2_{a} = -m3**2-m2**2+u
Same when some particles are massless:
def mandelstam = setMandelstam([k1_a: '0', k2_a: 'm2', k3_a: 'm3', k4_a: '0']) println mandelstam
> k1_{a}*k1^{a} = 0 > k2_{a}*k2^{a} = m2**2 > k3_{a}*k3^{a} = m3**2 > k4_{a}*k4^{a} = 0 > 2*k2^{a}*k1_{a} = -m2**2+s > 2*k4^{a}*k3_{a} = -m3**2+s > -2*k3^{a}*k1_{a} = -m3**2+t > -2*k4^{a}*k2_{a} = t-m2**2 > -2*k4^{a}*k1_{a} = u > -2*k2_{a}*k3^{a} = -m3**2+u-m2**2
Specify custom notation for Mandelstam variables:
def mandelstam = setMandelstam( [k1_a: 'm1', k2_a: 'm2', k3_a: 'm3', k4_a: 'm4'], 'hS', 'hT', 'hU') println mandelstam
> k1_{a}*k1^{a} = m1**2 > k2_{a}*k2^{a} = m2**2 > k3_{a}*k3^{a} = m3**2 > k4_{a}*k4^{a} = m4**2 > 2*k2^{a}*k1_{a} = -m1**2+hS-m2**2 > 2*k3_{a}*k4^{a} = -m3**2+hS-m4**2 > -2*k3^{a}*k1_{a} = -m3**2-m1**2+hT > -2*k2_{a}*k4^{a} = hT-m4**2-m2**2 > -2*k1_{a}*k4^{a} = -m1**2+hU-m4**2 > -2*k2_{a}*k3^{a} = -m3**2+hU-m2**2