Hi everybody,
Is there any convenient way to define self dual tensors in mathematica?
The best I could come up with is defining an antisymmetric tensor and summing it with its Hodge dual.
But then Mathematica doesn’t know that the tensor is self dual and thinks it has more degrees of freedom than it actually has, for example:
sa4 = SymmetrizedArray[pos_ :> Subscript[a, pos], {8, 8, 8, 8}, Antisymmetric[All]];
(*This should be 1 + 70, the number of D.O.F 's of a rank 4 antysymmetric tensor in 8 dimensions:*)
Length[SymmetrizedArrayRules[sa4]]
71
sa4star = HodgeDual[sa4];
sa4sum = sa4 + sa4star;
sa4sum == HodgeDual[sa4sum]
True
(*This should be 1 + 35, the number of D.O.F 's of a ~self-dual~ rank 4 antysymmetric tensor in 8 dimensions:*)
Length[SymmetrizedArrayRules[sa4sum]]
71
Is there a smarter way to define it?
Thanks a lot,
Ofri