Here we consider alternative ways to represent a permutation type such as:

Since they all have pros and cons we need to consider the coding for both and how to convert between them.


PermutationGroup uses vectors as an alternative coding to represent permutations (generators and elements of the group). The elements of these vectors use indexes to represent points. I guess vector terminology makes sense because they transform one set of points into another set of points. However I don't think they are vectors in the sense of being elements of a vector space, that is, operations of vector addition and scalar multipication don't seem to be appropriate. d3 vectors

The use of the Vector domain for this does seem to be streaching the FriCAS type system a bit. For instance elements of subgroup are coded as a vector of a vector (Vector Vector NNI) which would not be valid if the type system were fully checked but presumably gets away with it because vectors are defined over Type.

So for example:

If a permutation is say (1 2 3) the vector is [2,3,1] this means:

  • point 1 maps to point 2
  • point 2 maps to point 3
  • point 3 maps to point 1

If a permutation is say (1 2) the vector is [2,1,3] this means:

  • point 1 maps to point 2
  • point 2 maps to point 1
  • point 3 maps to point 3

The local function 'perm_to_vec' creates vectors from permutations.

Note on terminology: The word 'index' is overloaded on this page. Here we mean replacing underlying set with NNI values but the word 'index' can also have a different meaning when we define number of cosets like this: [G : H].

Preim-im to vector conversion

We can translate a permutation using 'preimage-image' coding to 'vector' coding like this:

perm to vec

metadata block
see also:
Correspondence about this page

Book Shop - Further reading.

Where I can, I have put links to Amazon for books that are relevant to the subject, click on the appropriate country flag to get more details of the book or to buy it from them.

flag flag flag flag flag flag Permutation Group Algorithms - by Ákos Seress - Presentation to permutation algorithm is described in this book as mentioned by Waldek but book may not be freely available


This site may have errors. Don't use for critical systems.

Copyright (c) 1998-2021 Martin John Baker - All rights reserved - privacy policy.