CanonDefine.mws

Function: Canon[CanonDefine] - Define symmetries of a tensor (or an indexed object)

Calling Sequence:
CanonDefine(tensor, rank, symmetries, base);

Parameters:
tensor - the tensor name (without indices)

rank - the number of indices

symmetries - a set of permutations (signed or not) representing the tensor symmetries or the names Symmetric or AntiSymmetric

base - (optional) base for the the generating set.

Description:

Examples:

> with(Canon):

The following defines a tensor of rank 3 symmetric in the last 2 indices:

> CanonDefine(T, 3, {[[2,3]]});

CanonSymmetryTable[T,3][0] = {[[2, 3]]}, [2]

The following defines the symmetries of the Riemann tensor:

> CanonDefine(R, 4, {[-1,[[1,2]]],[-1,[[3,4]]],[[1,3],[2,4]]});

CanonSymmetryTable[R,4][0] = {[-1, [[1, 2]]], [[1, ...

The following defines a totally symmetric tensor of rank 5:

> CanonDefine(S, 5, Symmetric);

CanonSymmetryTable[S,5][0] = {[[4, 5]], [[2, 3]], [...

Checking the symmetries:

> print(CanonSymmetryTable);

TABLE([(R, 4) = TABLE([0 = ({[-1, [[1, 2]]], [[1, 3...
TABLE([(R, 4) = TABLE([0 = ({[-1, [[1, 2]]], [[1, 3...
TABLE([(R, 4) = TABLE([0 = ({[-1, [[1, 2]]], [[1, 3...
TABLE([(R, 4) = TABLE([0 = ({[-1, [[1, 2]]], [[1, 3...

Next command is equivalent to state: T[b,a]=-T[b,a], which implies a vanishing tensor.

> CanonDefine(Z, 2, {[[1,2]],[-1,[[1,2]]]});

0

See Also: CanonPrint , CanonUnPrint , Canonical , CanonicalOne