Antisymmetric Covariant Derivatives to Curvature Tensors

147 views
Skip to first unread message

ste...@web.de

unread,
Dec 3, 2015, 7:37:16 AM12/3/15
to xAct Tensor Computer Algebra
Hi,

is there a standard way to get xAct to note the following:

When covariant derivatives are contracted with an antisymmetric tensor, then they are only curvature tensors.

E.g., define

DefManifold[ M , 4 , IndexRange[ a , l ] ]
DefMetric[ 1 , metric[ -a , -b ] , CD , {";" , "D"} , PrintAs -> "g" ]
DefTensor[ testvec[ a ] , M]

is there a way to get the expression

epsilonmetric[ -a , -b , -c , -d ] CD[ c ]@CD[ d ]@testvec[ e ]

evaulated to the corresponding curvature tensor?

1/2 epsilonmetric[ -a , -b , -c , -d ] RiemannCD[ c , d , e , -f ] testvec[ f ]

Thanks a lot.
Stefan

Leo Stein

unread,
Dec 3, 2015, 12:31:05 PM12/3/15
to ste...@web.de, Thomas Bäckdahl, xAct Tensor Computer Algebra
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

--
You received this message because you are subscribed to the Google Groups "xAct Tensor Computer Algebra" group.
To unsubscribe from this group and stop receiving emails from it, send an email to xact+uns...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Thomas Bäckdahl

unread,
Dec 3, 2015, 12:47:36 PM12/3/15
to Leo Stein, ste...@web.de, xAct Tensor Computer Algebra
Hi!

Irreducible decompositions of tensor expressions are not implemented yet, but for spinors it is implemented in SymManipulator. The point of view is slightly different because in that setting it is most convenient to make irreducible decompositions of both the spinors and the differential operators (what is called fundamental spinor operators in that package). Still one needs to cummute the operators in that setting, but these commutators are implemented.

Regarding derivatives of tensors one can solve some of the problems with "Symmetric covariant derivatives". See the thread with that title and the implementation in xTras.

Regards
Thomas


ste...@web.de

unread,
Dec 7, 2015, 9:14:52 AM12/7/15
to xAct Tensor Computer Algebra, leo....@gmail.com, ste...@web.de
Hi!

Thank you very much for your answers. I also thought about a rule construction at first. Unfortunately it is hard to write a small set of generic rules, which also works if the contracted covariant derivatives are, e.g. inside, further covariant derivatives. In the mentioned post there seems to be a code snippet which goes in that direction. But unfortunately I don't understand what the code is doing:

quoted from: https://groups.google.com/forum/#!msg/xact/yw1N8FzA9-w/GDPOzPkdYMQJ
2) allow dd to be buried inside a more complicated expression by instead writing (lots of stuff omitted):
    ... (eps: epsilonmet[___, a_, ___, b_, ___]) (ddexpr_) :> ... /; !FreeQ[ ddexpr, CD[ChangeIndex[a]]@CD[ChangeIndex[b]]@_ ] ...

Concerning the symmetrization. I also tried this, but this however gets pretty quick very expensive in CPU time, since I don't know a way to only symmetrize the antisymmetrized covariant derivatives... so once again, if there are a few more covariant derivatives involved the code gets useless...

But anyhow, thank you very much. If I find a convenient way I'll let you know.

Best,
Stefan
Reply all
Reply to author
Forward
0 new messages