I've just posted a new version of my

*Mathematica* package

xTras. It fixes a couple of bugs and introduces some new functions. One of these functions is

MakeTraceless, which takes any tensorial expression and returns its traceless version. For example:

In: **MakeTraceless[RiemannCD[-a,-b,-c,-d]]**

Out: \( R_{abcd} + \frac{2 R \underset{1234}{Sym}(g_{ac} g_{bd})}{2 -3 d + d^2} + - \frac{4 \underset{1234}{Sym}(g_{bd} R_{ac})}{-2 + d} \)

The output uses the implicit symmetrizations of the

SymManipulator package. But we can also symmetrize explicitly by expanding the symmetries:

In: **ToCanonical@ExpandSym@MakeTraceless[RiemannCD[-a, -b, -c, -d]]**

Out: \(- \frac{g_{bd} R_{ac}}{-2 + d} + \frac{g_{bc} R_{ad}}{-2 + d} + \frac{g_{ad} R_{bc}}{-2 + d} - \frac{g_{ac} R_{bd}}{-2 + d} - \frac{g_{ad} g_{bc} R}{2 -3 d + d^2} + \frac{g_{ac} g_{bd} R}{2 -3 d + d^2} + R_{abcd} \)

Of course, this is just the Weyl tensor in

*d* dimensions:

In: **Simplification@**** RiemannToWeyl@ExpandSym@MakeTraceless[RiemannCD[-a, -b, -c, -d]]**

Out: \(W_{abcd} \)

Another new function is

ConstructDDIs, which construct dimensional dependent identities (DDIs). Say we have a two-dimensional manifold. We can then ask for a list of all DDIs which have one curvature tensor and two free indices:

In: **ConstructDDIs[RiemannCD[a,b,c,d],IndexList[a,b]**

Out: \({R^{ab} - \tfrac{1}{2} g^{ab} R} \)

It returns just one DDI, namely the vanishing of the Einstein tensor. This is well know fact, namely that gravity in two dimensions is purely topological, because the Einstein-Hilbert action is equal to the two-dimensional Euler density.

As always, you can grab the newest version of xTras from its

www.xact.es/xtras, or have a look at the

changelog for all the new features.