Redberry is an open source computer algebra system designed for algebraic manipulations with tensors. Redberry is a computer algebra system which considers both tensors and indexless expressions in a common way.

Key features:
  • Programming language with internal support of symbolic algebra
  • Tensor symmetries, multiple index types, dummy indices handling, $\LaTeX$-style I/O, mappings of tensor indices
  • A wide range of tensor-specific transformations and simplification routines
  • Tools for calculations in High Energy Physics: Feynman diagrams and one-loop counterterms
  • Extensive API for developers

Example: one-loop counterterms
This code calcultes one-loop counterterms of the minimal fourth order operator: \[ D_i{}^j = \delta_i{}^j \Box^2 + W^{\mu\nu}{}_{i}{}^j \nabla_\mu\nabla_\nu + M_i{}^{j} \]
import cc.redberry.groovy.Redberry import static cc.redberry.groovy.RedberryPhysics* import static cc.redberry.groovy.RedberryStatic.* /* * One-loop counterterms for minimal fourth order operator */ use(Redberry) { addSymmetry('W_lmab', 1, 0, 2, 3) def iK = 'iK_a^b = d_a^b'.t def K = ('K^lmcd_a^b = d_a^b*1/3*(g^lm*g^cd + g^lc*g^md + g^ld*g^mc)').t def S = 'S^lmpab = 0'.t def W = 'W^lm_a^b = W^lm_a^b'.t def N = 'N^pab=0'.t def M = 'M_a^b = M_a^b'.t def F = 'F_lmab = F_lmab'.t def div = oneloopdiv4(iK, K, S, W, N, M, F) def counterterms = EliminateDueSymmetries >> div.counterterms counterterms = 'M^l_l = M'.t >> counterterms counterterms = 'W_lm^a_a = W_lm'.t >> counterterms counterterms = 'W^a_a = W'.t >> counterterms println counterterms }
Multiplying the produced result by $1\left/16\pi(d-4)\right.$ and integrating over the space-time volume gives: \begin{multline*} \Gamma^{(1)}_{\infty} = \frac{1}{16\pi(d-4)} \int d^4 x \sqrt{-g} \left( \,-M\,+\,\frac{2}{3} F_{\nu\beta}{}^{\epsilon}{}_{\rho} F^{\nu\beta\rho}{}_{\epsilon} \right.\\ -\frac{32}{135} R_{\mu\nu} R^{\mu\nu} + \frac{44}{135} R^2+\frac{1}{9} R W - \frac{1}{9} R_{\mu\nu}W^{\mu\nu}\\ \left.+\frac{1}{24} W^{\epsilon\delta\alpha}{}_{\rho} W_{\epsilon\delta}{}^{\rho}{}_{\alpha}+\frac{1}{48} W_{\delta}{}^{\delta\alpha}{}_{\rho} W_{\beta}{}^{\beta\rho}{}_{\alpha} \right), \end{multline*} where $F_{\mu\nu\alpha\beta}$ is a curvature tensor with respect to the principal bundle, $R_{\mu\nu}$ is a Ricci tensor, $R$ is a Riemann scalar curvature, $M_{\mu}{}^{\mu} = M$, $W_{\mu\nu}{}^\alpha{}_\alpha = W_{\mu\nu}$ and $W^\alpha{}_\alpha = W$.