Welcome to Cadabra Q&A, where you can ask questions and receive answers from other members of the community.
+1 vote

Hi everyone!

I have a problem at hand that needs to calculate a series of covariant derivatives like

\nabla_{\alpha} \nabla_{\beta} \nabla_{\gamma} \nabla_{\lambda}\partial_{\nu}\phi 

Where \nabla is the usual covariant derivative in GR and \partial is the usual partial derivative. In fact, this expression is a term of an infinite series, thematically

g^{\mu \nu} \partial_{\mu}\phi (\sum\limits_n \nabla^{2n}) \partial_{\nu}\phi

where I am only interested in the some first terms of the series as follow

(\nabla)^2 = g^{\alpha \beta} \nabla_\alpha \nabla_\beta

(\nabla)^4 = g^{\alpha \beta} g^{\mu \nu} \nabla_\alpha \nabla_\beta  \nabla_\mu \nabla_\nu

(\nabla)^6= ...

Here \nabla is the usual covariant derivative for a covector.

\nabla_\alpha  \partial_{\beta}\phi =  \partial_{\alpha \beta}\phi - \Gamma^\lambda_{\alpha \beta}  \partial_{\lambda}\phi

where \Gamma represents (symmetric) Christoffel symbols.
I have read the the excellent paper written by Leo Brewin but the way that he implements the covariant derivative is not clear for me and I can't generalize it to my case. Can anyone, please, give me a hint how to implant this expression in Cadabra?

in General questions by (1.1k points)
edited by

Can you say a bit more about what you want to do with this expression? Do you want to evaluate its components? Or do you have it contracted with other tensors and you want to reduce it using the fact that covariant derivatives commute to Riemann tensors?

@kasper I edited the question and added more details.

A very long time has passed since you post your question. Is it possible to publish the link to the paper by Leo Brewin? I've seen a couple of them, and I found a definition of the covariant derivative of a metric, but don't find a general definition.

I believe that generalising the definition of covariant derivative should be difficult since it depends on the object its acting upon.

1 Answer

+2 votes

Have a look at the example at the bottom of https://cadabra.science/notebooks/ref_programming.html for a way to handle operators whose expansion depends on the object they act on.

by (71.6k points)