Besides general features for manipulation with tensors and a wide range of general-purpose transformations, Redberry provides a set of transformations and functions required for high energy physics (HEP).
Redberry provides a set of tools for calculation of one-loop counterterms in curved space-time. These tools allow to calculate one-loop counterterms of an arbitrary theory (with second or fourth order operator in Lagrangian quadratic form) and background in four dimensions in curved space-time in the dimensional regularization.
For details see Calculating one-loop counterterms and the following tutorials:
Tensorial equations are often occur for example when one need to calculate propagator or find a projector operator etc. Redberry provides a function Reduce which reduces a system of tensorial equations to a system of symbolic equations and allows to solve the last one with external “scalar” CAS.
For examples, see tutorials:
Redberry provides a set of common transformations needed for simplification expressions with Dirac and SU(N) matrices.
evaluates trace of gamma matrices:
defineMatrices 'G_m', 'G5', Matrix1.matrix println DiracTrace[[Gamma: 'G_m']] >> 'Tr[G_m*G_n]'.t
> 4*g_{mn}See DiracTrace.
simplifies Dirac spinors:
defineMatrices 'G_a', 'G5', Matrix1.matrix, 'cu', Matrix1.covector def sSimplify = SpinorsSimplify[[uBar: 'cu', Momentum: 'p_a', Mass: 'm']] println sSimplify >> 'cu*G^a*p_a'.t
> -m*cu*G_{b}+2*cu*p_{b}See SpinorsSimplify.
simplifies products of gamma matrices:
defineMatrices 'G_a', 'G5', Matrix1.matrix println DiracSimplify >> 'G5*G_a*G5*G_b*G^a*G^b'.t
> -8See DiracSimpllify.
order products of gamma matrices:
defineMatrices 'G_a', 'G5', Matrix1.matrix println DiracOrder >> 'G5*G_c*G_b*G_a'.t
> G_{a}*G_{b}*G_{c}*G5+2*G_{b}*G5*g_{ca}-2*G_{c}*G5*g_{ba}-2*G_{a}*G5*g_{cb}See DiracOrder.
simplifies combinations with Levi-Civita tensors:
println LeviCivitaSimplify.minkowski['e_abcd'.t] >> 'e_abcm*e^abcn'.t
> -6*d_{m}^{n}See LeviCivitaSimplify.
generates a list of mass shell and Mandelstam substitutions:
def mandelstam = setMandelstam([k1_a: 'm1', k2_a: 'm2', k3_a: 'm3', k4_a: 'm4']) println mandelstam >> 'k1_a*k2^a + k3_b*k1^b'.t
> (1/2)*(-m2**2-m1**2+s)-(1/2)*(t-m3**2-m1**2)See setMandelstam.
generates a list of mass shell and general Mandelstam substitutions for 2→3 processes:
def mandelstam = setMandelstam5([k1_a: 'm1', k2_a: 'm2', k3_a: 'm3', k4_a: 'm4', k5_a: 'm5']) println mandelstam >> 'k1_a*k2^a + k3_b*k1^b + k5_a*k1^a'.t
> (1/2)*(s-m2**2-m1**2)+(1/2)*(-t1+m3**2+m1**2)+(1/2)*(s+t1-m4**2-m2**2-m3**2+t2-m1**2)See setMandelstam5.
simplifies combinations of unitary matrices and SU(N) structural and $d$-constants
defineMatrices 'T_A', Matrix2.matrix println UnitarySimplify[[Matrix: 'T_A']] >> 'T_A*T^A'.t
> (1/2)*N**(-1)*(N**2-1)See UnitarySimplify.
evaluates trace of unitary matrices:
defineMatrices 'T_A', Matrix2.matrix println UnitaryTrace[[Matrix: 'T_A']] >> 'Tr[T_A*T_B]'.t
> (1/2)*g_{BA}See UnitaryTrace.
For examples, see tutorials: