Hi Stefan,
Please see the following thread on the mailing list with this same topic:
That rule, however, only works when contracted with the epsilon tensor, not any general antisymmetric expression.
If you drop the epsilon and don't canonicalize, this rule would rewrite all double derivatives in terms of a symmetrized double derivative plus Riemann terms.
There is a more general procedure which will work on any number of indices but has not been implemented (to my knowledge):
Consider some tensor expression with d derivatives acting on a tensor T,
\nabla_{a_1} \nabla_{a_2} \ldots \nabla_{a_d} T^{b\ldots}_{c\ldots}
We can take the slots labeled by a_1 through a_d and decompose into irreducible representations. Whenever an antisymmetrizer acts on two derivative slots, it reduces the derivative order by two and introduces Riemann terms. Thus an expression with d derivatives can be rewritten as a sum of terms: d symmetrized derivatives, Riemann times d-2 symmetrized derivatives, Rieman^2 times d-4 symmetrized derivatives, etc.
However, AFAIK there is no code to do this more general calculation.
Maybe Thomas Backdahl (CCed) knows the answer. Thomas, is any of the above accomplished in SymManipulator?
Best
Leo