Predefined dual Riemann tensor?

25 views
Skip to first unread message

Sukruti

unread,
Aug 20, 2024, 2:55:11 PMAug 20
to xAct Tensor Computer Algebra
Hello,

Is it possible to use an in-built definition of a dual Riemann tensor in xAct?

Defining it on our own, as done in the attached notebook, prevents it from being used with the AllContractions command because of the unwanted creation of dummy indices in the execution of the command.

One obvious solution would be to insert the definition of the dual Riemann tensor inside the AllContractions command, which will be a Levi-Civita tensor times a Riemann tensor. But doing this allows many more index contractions and hence resultant terms than the contraction between a predefined dual Riemann tensor and the Riemann tensor would give.

So it would really help if I could use a dual Riemann tensor with the AllContractions command as how we can use a Riemann tensor.

Kind regards,
Sukruti
dual Riemann.nb

Leo Stein

unread,
Aug 20, 2024, 3:22:11 PMAug 20
to Sukruti, xAct Tensor Computer Algebra
Dear Sukruti,

Please see the attached notebook. Some comments below: one major, a few minor.

The most important comment is that you should not define a tensor T with DefTensor and then create a definition along the lines of 
  T[a_, b_] := ...       (1)
The reason is that a definition like (1) means Mma will *always* replace T[...] with some other expression, and thus there will never be an abstract T[indices] around. We want to keep the abstract T, not replace it with a different expression. This is a very common misunderstanding in xTensor. If you *do* want to do something like (1) — always replacing T[indices] with a different expression — then there is no need to use DefTensor. It's possible to have the best of both worlds: make replacement rules, either manually or with MakeRule. That way, you can manipulate the abstract T[indices] until the point where you want to actually replace it with a different expression. This is demonstrated in the attached notebook.

More minor comments. This is of course only possible in dimension 4, but there are other dimension-specific things in xTensor, so it would be possible to automate this. Next, since we do use DefTensor, we should tell it all the symmetries. The left and right duals of Riemann only have antisymmetry in each pair, without the exchange symmetry, so we have to create the "generating set" for this symmetry ourselves instead of using RiemannSymmetric or a simpler symmetry like Symmetric[] or Antisymmetric[]. Finally, keep in mind that ToCanonical and therefore AllContractions are not aware of multiterm symmetries. You can see in the last line of the notebook that some of the expressions that come out of the computation are automatically vanishing because of R_{[abc]d} = 0, which also implies that traces of the dual Riemann tensor vanish. But, nothing in xTensor knows about this. So, you still have to guide the calculation after this point if you want to make use of multiterm symmetries.

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.
To view this discussion on the web visit https://groups.google.com/d/msgid/xact/d331b0fb-3d39-46a9-a960-cfe74eff2881n%40googlegroups.com.
dual Riemann.nb

Sukruti

unread,
Aug 21, 2024, 6:23:23 AMAug 21
to xAct Tensor Computer Algebra
Reply all
Reply to author
Forward
0 new messages