Dom::SymmetricGroup – symmetric groups

Dom::SymmetricGroup(n) creates the symmetric group of order math, that is, the domain of all the permutations of math elements.

→ Examples

Creating the Type

Dom::SymmetricGroup(n)

Parameters:

n

positive integer

Details:

Creating Elements

Dom::SymmetricGroup(n)(l)

Parameters:

l

list or array consisting of the first math integers in some order.

Superdomain

Dom::PermutationGroup

Categories

Cat::Group

Axioms

Ax::canonicalRep

Related Domains:

Dom::PermutationGroup

Details:

The domain element Dom::SymmetricGroup(n)(l) represents the bijective mapping of the first math positive integers that maps the integer math to l[i], for math.

Entries

"one"

the identical mapping of the set math to itself.

Mathematical Methods

_mult – product of permutations

(Dom::SymmetricGroup(n))::_mult(dom a1, ...)

The product math of permutations is defined to be the mapping that assigns, to every integer i between math and math, the integer a1(a2(...ak(i)...)).

This method overloads the function _mult.

_invert – inverse of a permutation

(Dom::SymmetricGroup(n))::_invert(dom a)

This method computes a permutation b such that a*b is the identity mapping.

This method overloads the function _invert.

func_call – function value of a permutation at a point

(Dom::SymmetricGroup(n))::func_call(dom a, integer i)

This method overloads the round brackets (...), i.e. it may be called in the form a(i).

It computes the function value of a at i, i.e., the integer that i is mapped to by the permutation a; i must be an integer between math and math.

cycles – cycle representation of a permutation

(Dom::SymmetricGroup(n))::cycles(dom a)

This method computes a cycle representation of a. A cycle representation is a list [orbit1, ... , orbitk]; each of the orbits is a list of integers of the form [i, a(i), a(a(i)), ...] with just as many elements such that i does not occur in it for a second time; each integer between math and math appears in exactly one of the orbits.

order – order of a permutation

(Dom::SymmetricGroup(n))::order(dom a)

The order of a is defined to be the least positive integer k for which math is the identity.

inversions – number of inversions

(Dom::SymmetricGroup(n))::inversions(dom a)

This method computes the number of all pairs math of integers for which math but math.

sign – sign of a permutation

(Dom::SymmetricGroup(n))::sign(dom a)

This method returns the sign of the permutation a. The sign of a permutation is defined to be math if its number of inversions is even, and math otherwise.

random – random permutation

(Dom::SymmetricGroup(n))::random()

This method returns a random element of the permutation group.

charactersTable – computation of the characters table

(Dom::SymmetricGroup(n))::charactersTable()

Returns the character table for the symmetric group (the computation uses SgCharTable from the Symmetrica module). The returned table has entries indexed by couples of partitions: the first coordinate corresponds to a conjugancy class and the second one to an irreductible representation.

Access Methods

allElements – return all elements of the group

(Dom::SymmetricGroup(n))::allElements()

This method returns the list of the elements of the group.

size – return the size of the group

(Dom::SymmetricGroup(n))::size()

This method returns the size of the group.

Conversion Methods

convert – conversion of an object into a permutation

(Dom::SymmetricGroup(n))::convert(any x)

This method tries to convert x into a permutation. This is only possible if x is a list or an array in which each of the integers math through math occurs exactly once.

convert_to – conversion of a permutation into another type

(Dom::SymmetricGroup(n))::convert_to(dom a, any T)

Tries to convert a into type T. Currently, only a conversion into a list of type DOM_LIST is possible.

expr – convert a permutation into a list

(Dom::SymmetricGroup(n))::expr(dom a)

This method returns a list such that generating a permutation from that list would result in a.

Example 1:

Consider the group of permutations of the first seven positive integers:

G := Dom::SymmetricGroup(7)

math

We create an element of G by providing the image of math, math, etc.:

a:=G([2,4,6,1,3,5,7])

math

a(3)

math

Example 2:

Computation of the characters table for the symmetric group math:

G := Dom::SymmetricGroup(3)

math

t := G::charactersTable()

math