\cdbalgorithm{acanonicalorder}{}

Orders the indicated objects in the expression in canonical order,
taking care of permutation signs. On a simple product of objects it
works as a partial product sort for anti-commuting objects,
\begin{screen}{1,2}
C B E D F A ;
@acanonicalorder!(%)(A, B, E, F);
(-1) C A B D E F;
\end{screen}
It can, however, also be used to sort indices. Thereby, it facilitates
imposing index symmetry on a tensor with open indices, as the
following example illustrates.
\begin{screen}{1,2}
A^{m n p} B^{q r} + A^{q m} B^{n p r};
@acanonicalorder!(%)( ^{m}, ^{n}, ^{p}, ^{r}, ^{q} );
- A^{m n p} B^{r q} + A^{m n} B^{p r q};
\end{screen}
A similar type of canonical ordering but without the permutation signs
is provided for by \subscommand{canonicalorder}.
~

\cdbseealgo{canonicalorder}
\cdbseealgo{prodsort}
\cdbseealgo{canonicalise}
