tensor(deprecated)/symmetrize - Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : tensor(deprecated)/symmetrize

tensor

  

symmetrize

  

symmetrize the components of a tensor over any of its indices

  

antisymmetrize

  

antisymmetrize the components of a tensor over any of its indices

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

symmetrize(T, [i1, i2, ... ])

antisymmetrize(T, [i1, i2, ... ])

Parameters

T

-

object whose components are being symmetrized/antisymmetrized

i1, i2, ...

-

indices of T of identical index character to symmetrize/antisymmetrize over

Description

Important: The tensor package has been deprecated. Use the superseding commands DifferentialGeometry[Tensor][SymmetrizeIndices], Physics[Symmetrize], and Physics[Antisymmetrize] instead.

• 

Given any tensor_type, T, of rank 2 or more, and a list of indices (positive integers) of T of identical covariant/contravariant character, [i1,i2,...], the command symmetrize(T, [i1, i2, ... ]) computes the components of T symmetrized over the indices i1,....  Similarly, the command antisymmetrize(T, [i1, i2, ... ]) computes the components of T antisymmetrized over the indices i1,....

• 

Note that it is imperative that the indices given in the list all be of identical index character.  It is not possible to symmetrize/antisymmetrize over indices of mixed type.

• 

Also note that T must be of rank 2 or greater and that the number of indices given in the list must not exceed the rank of T and must be at least two.

• 

For example, if T is a rank 3 tensor with index character 1,1,1, then symmetrize (T, [1,3]) would compute:

T(a| |c)b=12Tacb+Tcab

  

for each component a,b,c, and antisymmetrize(T, [1,3]) would compute:

T[a| |c]b=12TacbTcab

  

for each component a,b,c.  The call symmetrize(T,[1,2]) would generate an error since the first and second indices of T are of opposite index character.

• 

If all of the indices of T are specified, then the result will be totally symmetric/antisymmetric.  In this case, the components of the result are declared using the Maple symmetric/antisymmetric indexing function.

• 

Simplification: Because these operations involve merely taking linear combinations of the components of T, the routine `tensor/lin_com/simp` is used once on each component of the result after all of the terms have been added.

• 

This function is part of the tensor package, and so can be used in the form symmetrize(..) only after performing the command with(tensor) or with(tensor, symmetrize).  The function can always be accessed in the long form tensor[symmetrize](..).

Examples

Important: The tensor package has been deprecated. Use the superseding commands DifferentialGeometry[Tensor][SymmetrizeIndices], Physics[Symmetrize], and Physics[Antisymmetrize] instead.

withtensor:

Define a rank 3 tensor_type with "symbolic" components.

T_comptsarray1..3,1..3,1..3:

forito3doforjto3doforkto3doT_comptsi,j,kcat'T',i,j,kend doend doend do:Tcreate1,1,1,evalT_compts

Ttablecompts=ARRAY1..3,1..3,1..3,1,1,1=T111,1,1,2=T112,1,1,3=T113,1,2,1=T121,1,2,2=T122,1,2,3=T123,1,3,1=T131,1,3,2=T132,1,3,3=T133,2,1,1=T211,2,1,2=T212,2,1,3=T213,2,2,1=T221,2,2,2=T222,2,2,3=T223,2,3,1=T231,2,3,2=T232,2,3,3=T233,3,1,1=T311,3,1,2=T312,3,1,3=T313,3,2,1=T321,3,2,2=T322,3,2,3=T323,3,3,1=T331,3,3,2=T332,3,3,3=T333,index_char=1,1,1

(1)

Symmetrize T over its first two indices.

symmetrizeT,1,2

tablecompts=ARRAY1..3,1..3,1..3,1,1,1=T111,1,1,2=T112,1,1,3=T113,1,2,1=12T121+12T211,1,2,2=12T122+12T212,1,2,3=12T123+12T213,1,3,1=12T131+12T311,1,3,2=12T132+12T312,1,3,3=12T133+12T313,2,1,1=12T121+12T211,2,1,2=12T122+12T212,2,1,3=12T123+12T213,2,2,1=T221,2,2,2=T222,2,2,3=T223,2,3,1=12T231+12T321,2,3,2=12T232+12T322,2,3,3=12T233+12T323,3,1,1=12T131+12T311,3,1,2=12T132+12T312,3,1,3=12T133+12T313,3,2,1=12T231+12T321,3,2,2=12T232+12T322,3,2,3=12T233+12T323,3,3,1=T331,3,3,2=T332,3,3,3=T333,index_char=1,1,1

(2)

Anti-symmetrize T over all of its indices -- note that the result is totally antisymmetric.

antisymmetrizeT,1,2,3

tablecompts=ARRAYantisymmetric,1..3,1..3,1..3,1,1,1=0,1,1,2=0,1,1,3=0,1,2,1=0,1,2,2=0,1,2,3=16T12316T13216T213+16T231+16T31216T321,1,3,1=0,1,3,2=16T123+16T132+16T21316T23116T312+16T321,1,3,3=0,2,1,1=0,2,1,2=0,2,1,3=16T123+16T132+16T21316T23116T312+16T321,2,2,1=0,2,2,2=0,2,2,3=0,2,3,1=16T12316T13216T213+16T231+16T31216T321,2,3,2=0,2,3,3=0,3,1,1=0,3,1,2=16T12316T13216T213+16T231+16T31216T321,3,1,3=0,3,2,1=16T123+16T132+16T21316T23116T312+16T321,3,2,2=0,3,2,3=0,3,3,1=0,3,3,2=0,3,3,3=0,index_char=1,1,1

(3)

Now define a symmetric rank 2 tensor (again with symbolic components).

g_comptsarraysymmetric,1..3,1..3:

forito3doforjfromito3dog_comptsi,jcat'g',i,jend doend do:gcreate1,1,evalg_compts

gtablecompts=g11g12g13g12g22g23g13g23g33,index_char=1,1

(4)

Because g it totally symmetric, if you antisymmetrize it, you should get zero.

antisymmetrizeg,1,2

tablecompts=000000000,index_char=1,1

(5)

See Also

DifferentialGeometry[SymmetrizeIndices]

Physics[Antisymmetrize]

Physics[Symmetrize]

tensor(deprecated)

tensor(deprecated)/lin_com