Using xAct to calculate contractions of the torsion tensor in terms of its irreducible components

64 views
Skip to first unread message

Giorgos

unread,
Mar 3, 2025, 7:10:32 PM3/3/25
to xAct Tensor Computer Algebra
For clarity purposes, I have formulated my problem/question into the attached PDF file. I'd appreciate any and all help!
QUESTION. Using xAct to calculate contractions of the torsion tensor in terms of its irreducible components.pdf

Jose

unread,
Mar 3, 2025, 8:49:18 PM3/3/25
to xAct Tensor Computer Algebra
Hi,

There are two problems in your code:

1. You have TorsionCD (which is zero, because it is the torsion of the Levi-Civita connection) instead of TorsionCDT in a couple of places.

2. Indexed assignments need IndexSet and patterns.

So the code would be something like this:

<< xAct`xTensor`
$PrePrint = ScreenDollarIndices;
DefManifold[M, 4, {a, b, c, d, e, f, h, i, j}];
DefMetric[-1, g[-a, -b], CD];

DefCovD[CDT[-a], SymbolOfCovD -> {"#", "D"}, Torsion -> True, FromMetric -> g];

DefTensor[T[-a], M];
IndexSet[T[a_], 1/3 TorsionCDT[b, a, -b]]

DefTensor[S[-a], M]
IndexSet[S[a_], 1/6 epsilong[b, c, d, a] TorsionCDT[-b, -c, -d]]

DefTensor[q[-a, -b, -c], M]
IndexSet[q[a_, b_, c_], TorsionCDT[a, b, c] - (T[b] g[a, c] - T[c] g[a, b]) + epsilong[a, b, c, d] S[-d]]

Delta = -TorsionCDT[a, -a, -b] TorsionCDT[c, -c, b] - 1/2 TorsionCDT[a, b, c] TorsionCDT[-b, -c, -a] + 1/4 TorsionCDT[c, a, b] TorsionCDT[-c, -a, -b]

Then we can check your relation:

-Delta + (-6 T[-a] T[a] + 3/2 S[-a] S[a] + 1/2 q[a, b, c] q[-a, -b, -c]) // ContractMetric // ToCanonical
(* 0 *)

Cheers,
Jose.

Giorgos

unread,
Mar 4, 2025, 1:55:08 AM3/4/25
to xAct Tensor Computer Algebra
Thank you! I totally missed those CDT's, and I wasn't familiar with IndexSet. Is there any way to get Mathematica to output  Delta = (-6 T[-a] T[a] + 3/2 S[-a] S[a] + 1/2 q[a, b, c] q[-a, -b, -c])? The command


Delta = -TorsionCDT[a, -a, -b] TorsionCDT[c, -c, b] - 1/2 TorsionCDT[a, b, c] TorsionCDT[-b, -c, -a] + 1/4 TorsionCDT[c, a, b] TorsionCDT[-c, -a, -b]

outputs

-(1/2)  TorsionCDT[a, b, c]   TorsionCDT[-b, -c, -a] + 1/4  TorsionCDT[-c, -a, -b]   TorsionCDT[c, a, b] - TorsionCDT[a, -a, -b]   TorsionCDT[c, -c, b]

which is basically the relation we put in. That's why you then manually check that Delta is the wanted quantity (-6 T[-a] T[a] + 3/2 S[-a] S[a] + 1/2 q[a, b, c] q[-a, -b, -c]). However, in other cases, we may not have an expression for Delta readily available.
Reply all
Reply to author
Forward
0 new messages