File: indexsort.tex

package info (click to toggle)
cadabra 1.46-6
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 5,244 kB
  • sloc: cpp: 33,188; ansic: 2,724; makefile: 329; yacc: 180; sh: 157; python: 45; lex: 38; lisp: 19
file content (26 lines) | stat: -rw-r--r-- 703 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
\cdbalgorithm{indexsort}{}

Lexographically sorts indices of all tensors according to their Young
tableau symmetries. This works in simple symmetric or anti-symmetric
cases as expected:
\begin{screen}{1,2}
A_{m n}::AntiSymmetric.
A_{n m};
@indexsort!(%);
(-1) A_{m n};
\end{screen}
It also sorts index groups in tensors with row exchange
symmetries, such as the Riemann tensor,
\begin{screen}{1,2}
R_{a b c d}::RiemannTensor.
R_{d c a b};
@indexsort!(%);
(-1) R_{a b c d};
\end{screen}
For more complicated canonicalisation algorithms,
see \subscommand{canonicalise} as well as \subscommand{reduce}.

\cdbseealgo{canonicalise}
\cdbseealgo{reduce}
\cdbseeprop{AntiSymmetric}
\cdbseeprop{TableauSymmetry}