Hi Jose and Comer,
I would like to comment on Jose's point (1). I would think the right
syntax for a TraceFree or Traceless option would really be something
like
DefTensor[ T[a,-b,-c,D,LI[e]], ..., TraceFree:> { delta[-a,b],
firstmetric[b,c], metric2Inv[b,c] } ]
Here the points are:
1. You must ensure that two slots may be contracted. For example there
would be an error detected with metric1[c,-D] if c is in TangentM and
D is in some internal VBundle, because those indices don't match the
slots for metric1.
2. Some indices do not need a metric for contraction, which can be
specified with delta[-a,b].
3. You may choose which metric you use for some contraction, as Jose
pointed out. Maybe you want a different metric for contractions of
different slots. In the example above, the indices (+a,-b) may be
contracted without a metric. If there is a firstmetric on that Tangent
bundle then that index pair should also be TraceFree w.r.t. the
firstmetric on those same indices. Then the indices (-b,-c) are
declared to be TraceFree w.r.t. the firstmetric, which should also
declare that T[a,b,-b,D,LI[e]] vanishes. Maybe you have a conformally
related (frozen, not first) metric called metric2. Then you could
further declare that T[a,-b,-c,D,LI[e]] metric2Inv[b,c] also vanishes
(and expressions related through the firstmetric).
It's probably straightforward to turn these ideas into an xTension, if
there is a good idea on the syntax for the above.
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/groups/opt_out.