define traceless tensor

971 views
Skip to first unread message

Sjoerd

unread,
Oct 4, 2012, 5:34:04 AM10/4/12
to xa...@googlegroups.com
Dear all,

Is it possible to define traceless tensors in xAct? I.e. specify that a tensor is traceless? Of that certain traces vanish?
And can VarD handle variations with respect to traceless tensors?

Best,
Sjoerd

Leo Stein

unread,
Oct 4, 2012, 8:40:48 AM10/4/12
to Sjoerd, xa...@googlegroups.com
Hi Sjoerd,

Yes, you can teach Mma that a tensor should be traceless—or that the
trace is something else, or whatever you can put into rule form. A
very easy approach is, for example,
DefTensor[ T[-a,-b], M ];
TFRule = MakeRule[ { T[a,-a], 0 }, PatternIndices->All, MetricOn->All ];
and you can have this automatically applied with
AutomaticRules[ T, TFRule ];
It should be apparent how to generalize this to higher rank tensors.
NB It's kind of overkill to use MakeRule for a vanishing trace, since
it's such a simple rule. You could accomplish the above with
T/: T[a_, -a_] = 0
T/: T[-a_, a_] = 0
You would have to always apply ContractMetric to get these rules to
apply to the form met[a,b] T[-a,-b]. If you wanted, you could also
write rules for those forms.

I'm not sure I understand your question about VarD and tracefree
tensors. Why should VarD need to know about the trace of some tensor?

Best
Leo
> --
>
>

Sjoerd

unread,
Oct 4, 2012, 10:30:32 AM10/4/12
to xa...@googlegroups.com, Sjoerd
Hi Leo,

Thank you for help.

The variation of a an expression must have the same symmetries as the tensor you vary. If you vary an action with respect to a symmetric traceless tensor, then the equations of motion should be symmetric and traceless. From your answer I guess varD does not take care of the symmetries automatically.

Symmetrising the equations of motion can easily be done with Symmetrize[]. I think I can also mange to write a rule that subtracts all traces (I work with3-tensors, so there are 3 traces that have to be subtracted).

Best,
Sjoerd

Leo Stein

unread,
Oct 4, 2012, 10:33:40 AM10/4/12
to Sjoerd, xa...@googlegroups.com
That's right, VarD doesn't do anything special with
symmetries/antisymmetries or other algebraic properties of tensors.

Notice that xTensor has the function STFPart precisely for taking the
symmetric, tracefree part of expressions.
> --
>
>

Jose

unread,
Oct 4, 2012, 7:24:10 PM10/4/12
to xAct Tensor Computer Algebra
Hi,

On Oct 4, 9:33 am, Leo Stein <leo.st...@gmail.com> wrote:
> That's right, VarD doesn't do anything special with
> symmetries/antisymmetries or other algebraic properties of tensors.

Well, it does take into account index-symmetries, but not trace-
symmetries. For example, if g[-a,-b] is symmetric and u[a] and v[b]
are vectors then

VarD[ g[-a, -b] ][ g[-a, -b] u[a] v[b] ]

detects that g is symmetric and returns

1/2 u[a] v[b] + 1/2 u[b] v[a]

which is symmetric in a, b. Returning u[a] v[b] would be wrong.

I'm not sure how to attack in general the problem of variational
derivatives with respect to traceless tensors. What happens if the
tensor has several traceless pairs? Is this related to some other
discussion we have had in the past about IndexCoefficient?

Best,
Jose.

Leo Stein

unread,
Oct 4, 2012, 8:46:18 PM10/4/12
to Jose, xAct Tensor Computer Algebra
Whoops, sorry about that ... I didn't realize that VarD imposed
symmetries, even though I recently looked at the code! I should have
scrolled down farther.

Regarding having several distinct traces: it seems to me you need to
be able to decompose some tensor into its irreps in order to do so. Is
that something the group theory part of xTensor knows how to do? I
know that the spinors package knows how to do this.
> --
>
>

Thomas Bäckdahl

unread,
Oct 5, 2012, 2:36:00 AM10/5/12
to xa...@googlegroups.com
Hi!

On 2012-10-05 02:46, Leo Stein wrote:
> Whoops, sorry about that ... I didn't realize that VarD imposed
> symmetries, even though I recently looked at the code! I should have
> scrolled down farther.
>
> Regarding having several distinct traces: it seems to me you need to
> be able to decompose some tensor into its irreps in order to do so. Is
> that something the group theory part of xTensor knows how to do? I
> know that the spinors package knows how to do this.
The spinors package only gives a template for the irreducible
decomposition, but the SymManipulator package does the complete
irreducible decomposition for spinors. Unfortunately this is much more
difficult with tensors. We have been working on it and discussed things,
but nothing is released. I think this is what is needed: The first part
you have to do is to write the expression in terms of Young
symmetrizers, then you have to split all these into trace and trace-free
parts with respect to the symmetric indices. Then you have to consider
Hodge duals of all sets of antisymmetric indices larger than half the
dimension. Finally if your space is even dimensional you have to
consider all antisymmetric index sets with number of indices equal to
half the dimension. You have to split these tensors into self dual and
anti self dual parts.
I am not even sure that this would give you a unique splitting -- if not
we can at least hope for a canonical splitting.
The most difficult part of this is to construct tools to handle the
Young symmetrizers. I wrote the entire SymManipulator package to handle
symmetrized tensor expressions so I could do the irreducible
decomposition of spinors. I suppose something similar has to be written
for Young symmetrizers to do this for tensors.

Regards
Thomas
>>>>> Yes, you can teach Mma that a tensor should be traceless�or that the
Reply all
Reply to author
Forward
0 new messages