4.1. InvToPerm

Given an invariant, it is possible to know the permutation it represents using InvToPerm. The result is returned using the head RPerm, which stands for permutation of Riemann invariant.

This is a typical example of a canonical invariant:

In[76]:=

rinv = 7RInv[metric][{0, 4}, 100]

Out[76]=

7 I_04,100

In[77]:=

dualrinv = 3DualRInv[metric][{0, 0, 2}, 1]

Out[77]=

3 D_002,1

And this is the permutation it represents. It is given in cyclic form. The first list identifies the case and whether it contains an epsilon ({case, 1}) or not ({case, 0})

In[78]:=

rperm = InvToPerm[rinv]

Out[78]=

7 RPerm[metric][{{0, 4}, 0}, Cycles[{2, 3, 5}, {4, 7, 9, 10, 6}, {8, 11}]]

In[79]:=

dperm = InvToPerm[dualrinv]

Reading DualInvRules for step 1 and case  {0, 0, 2}

Out[79]=

3 RPerm[metric][{{0, 0, 2}, 1}, Cycles[{2, 3}, {4, 5}, {6, 7, 8, 9}, {10, 11, 12, 13, 15}, {14, 17, 16}]]

The command also works with polynomials, giving one RPerm for each monomial

In[80]:=

InvToPerm[rinv + dualrinv]

Out[80]=

7 RPerm[metric][{{0, 4}, 0}, Cycles[{2, 3, 5}, {4, 7, 9, 10, 6}, {8, 11}]] + 3 RPerm[metric][{{0, 0, 2}, 1}, Cycles[{2, 3}, {4, 5}, {6, 7, 8, 9}, {10, 11, 12, 13, 15}, {14, 17, 16}]]


Created by Mathematica  (May 16, 2008) Valid XHTML 1.1!