Compute an expression that is totally antisymmetric with respect to any permutation of its free indices - Maple Programming Help

Online Help

All Products    Maple    MapleSim

Home : Support : Online Help : Physics : Physics/Symmetrize

Physics[Antisymmetrize] - Compute an expression that is totally antisymmetric with respect to any permutation of its free indices

Physics[Symmetrize] - Compute an expression that is totally symmetric with respect to any permutation of its free indices

Calling Sequence

Antisymmetrize(T, idx, options=value)

Symmetrize(T, idx, options=value)




an algebraic tensorial expression, or a relation, or list, set or Array of them



optional - a set or list with indices to be (anti)symmetrized, expected to be of the same kind: either all covariant or all contravariant (prefixed with ~). Default is all the free indices of T

evaluatetensor = ...


optional - can be true or false (default), to evaluate the tensors in T after (anti)symmetrizing them

simplifytensor = ...


optional - can be true or false (default), to simplify the resulting expression after (anti)symmetrizing the tensors in T with regards to the summation convention for repeated indices and the (anti)symmetry properties of tensors involved



The and Antisymmetrize and Symmetrize commands receive an algebraic expression T involving tensors and returns another algebraic expression that is respectively totally antisymmetric or totally symmetric with respect to any permutation of the free tensorial indices of T.


In the particular case where T is itself a product of totally antisymmetric covariant tensors, the expression returned by Antisymmetrize is also, by definition, the exterior product of these tensors.


When a second argument, idx, is indicated as a set or list of indices, the (anti)symmetrization is performed only with respect to these indices, otherwise, it is performed with regards to all the free indices of T. In either case, to perform the (anti)symmetrization it is necessary that the indices are all of the same kind, that is, all covariant or all contravariant.


By default, the (anti)symmetrization is performed without evaluation the tensors entering the result. However, when there are tensors in T that already have symmetry properties (see Define to define them), it may be convenient to evaluate these tensors (option evaluatetensor) or even simplify the result with regards to the summation convention for repeated indices and taking into account the (anti)symmetry properties of the tensors involved or their products. For these purposes, respectively pass the option evaluatetensor or simplifytensor (the latter supersedes the former).



Setup(mathematicalnotation = true);



Define A, B and C, with respectively 1, 2 and 3 indices, B totally symmetric and C totally antisymmetric


Defined objects with tensor properties



Define(B[mu, nu], symmetric);

Defined objects with tensor properties



Define(C[mu, nu, rho], antisymmetric);

Defined objects with tensor properties



Symmetrize the product AμBα,β

A[mu]*B[alpha, beta];






Check this result using the IsTensorialSymmetric command from the programming library




The symmetrized expression can however be simplified taking into account that B is symmetric; i.e. Bα,β=Bβ,α. This simplification can be achieved using Simplify or passing the option simplifytensor

Symmetrize((5), simplifytensor);



Antisymmetrize now this same product AμBα,β




The result above is expected since Bα,β is symmetric. In the same way, the symmetrization of a product involving an antisymmetric tensor, for instance C, is also zero:

A[mu]*C[alpha, beta, gamma];






The antisymmetrization of this product can be simplified significantly taking into account that C is totally antisymmetric







Make the product Bμ,νCα,β,γ be symmetric with regards to the 1st index of each of them and antisymmetric with regards to the 2nd index of each of them

B[mu, nu]*C[alpha, beta, gamma];



Antisymmetrize(Symmetrize((14), [mu, alpha]), [nu, beta], simplifytensor);



Verify the symmetries of this result with regards to permutations of μ,α and ν,β

Library:-IsTensorialSymmetric((15), [mu, alpha]);



Library:-IsTensorialAntisymmetric((15), [nu, beta]);




See Also

Define, Library[IsTensorialAntisymmetric], Library[IsTensorialSymmetric], Physics, Physics conventions, Physics examples, Physics Updates, Tensors - a complete guide, Mini-Course Computer Algebra for Physicists, Setup



The Physics[Antisymmetrize] and Physics[Symmetrize] commands were introduced in Maple 17.


For more information on Maple 17 changes, see Updates in Maple 17.