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$.