GAP (MajoranaAlgebras) - Chapter 7: Signed Permutations

Goto Chapter: Top 1 2 3 4 5 6 7 Ind
[Top of Book] [Contents] [Previous Chapter] [Next Chapter]

[MathJax on]

7 Signed Permutations
7.1 Different Representations
7.2 Low-Level Descriptions
7.2-1 IsSignedPerm
7.2-2 ListSignedPerm
7.2-3 ListSignedPerm
7.2-4 SignedPerm
7.2-5 NewSignedPerm
7.2-6 NewSignedPerm
7.2-7 IsSignedPermRep
7.2-8 IsSignedPermListRep
7.2-9 OnPosPoints
7.2-10 LargestMovedPoint
7.2-11 RandomSignedPermList
7.2-12 RandomSignedPerm

### 7 Signed Permutations

We provide signed permutations, that is permutations that can additionally change the sign of their result.

Assume n ∈ N, then a signed permutation on n points is a permutation π on { 1 ... n } together with signs sgn : { 1 .. n } → {-1,1}. A signed permutation on n points acts on the set { -n ... 1, 1 ... n } by ω ^ (π, sgn) = sgn(ω)⋅ sgn(|ω|^π) ⋅ (|ω|^π).

We provide two representations of signed permutations, one as a list of images `IsSignedPermListRep` (7.2-8) and one formed as pair of a permutation and a sign map `IsSignedPermRep` (7.2-7). Our benchmarks indicate that a list of images is the better representation, and hence this is the default.

To get started with signed permutations consider the following example

    gap> s := SignedPerm([2,-1]);
    <signed permutation in list rep>
    gap> 1 ^ s;
    2
    gap> 2 ^ s;
    -1
    gap> OnPoints(2, s);
    -1

One can form groups out of signed permutations

    gap> r := SignedPerm([-1,3,-2,4]);; t := SignedPerm([3,1,4,2]);;
    gap> G := Group(r,t);
    <group with 2 generators>
    gap> Size(G);
    32
    gap> Orbit(G, 1, OnPoints);
    [ 1, -1, 3, -3, -2, 4, 2, -4 ]
    gap> Stabilizer(G, 1, OnPoints);
    <group of size 4 with 9 generators>

Note that currently the package does not make an effort to exploit the special structure of signed permutation groups as permutation groups.

#### 7.1 Different Representations

To create signed permutations in the different representations, we provide a constructor.

    gap> r := NewSignedPerm(IsSignedPermRep, [-1,3,-2,4]);;
    gap> t := SignedPerm(IsSignedPermRep, [3,1,4,2]);;
    gap> G := Group(r,t);
    <group with 2 generators>
    gap> Size(G);
    32
    gap> r := NewSignedPerm(IsSignedPermListRep, [-1,3,-2,4]);;
    gap> t := SignedPerm(IsSignedPermListRep, [3,1,4,2]);;
    gap> G := Group(r,t);
    <group with 2 generators>
    gap> Size(G);
    32

#### 7.2 Low-Level Descriptions

##### 7.2-1 IsSignedPerm

`‣ IsSignedPerm`( arg ) | ( filter )

Returns: `true` or `false`

Category of signed permutations

##### 7.2-2 ListSignedPerm

`‣ ListSignedPerm`( perm ) | ( operation )

Convert a signed permutation into a list of images, equivalent to List([1..LargestMovedPoint(s)], x -> x^s);

##### 7.2-3 ListSignedPerm

`‣ ListSignedPerm`( arg1, arg2 ) | ( operation )

Convert a signed permutation to a list of images of length len. Arguments perm, len

##### 7.2-4 SignedPerm

`‣ SignedPerm`( arg ) | ( function )

Given a list of signed images create a signed permutation object in `IsSignedPermListRep` (7.2-8).

##### 7.2-5 NewSignedPerm

`‣ NewSignedPerm`( arg1, arg2 ) | ( constructor )

##### 7.2-6 NewSignedPerm

`‣ NewSignedPerm`( arg1, arg2, arg3 ) | ( constructor )

##### 7.2-7 IsSignedPermRep

`‣ IsSignedPermRep`( arg ) | ( filter )

Returns: `true` or `false`

Representation of signed permutations as a permutation and a vector of signs.

##### 7.2-8 IsSignedPermListRep

`‣ IsSignedPermListRep`( arg ) | ( filter )

Returns: `true` or `false`

Representation of signed permutations as a list of signed images

##### 7.2-9 OnPosPoints

`‣ OnPosPoints`( arg ) | ( function )

Only act as a permutation on { 1... n}

##### 7.2-10 LargestMovedPoint

`‣ LargestMovedPoint`( arg ) | ( attribute )

The largest point that is moved by the signed permutation, where moving includes changing the sign.

##### 7.2-11 RandomSignedPermList

`‣ RandomSignedPermList`( arg ) | ( function )

Create a random list of images that can be used to create a signed permutation.

##### 7.2-12 RandomSignedPerm

`‣ RandomSignedPerm`( arg ) | ( function )

Create a random signed permutation

[Top of Book] [Contents] [Previous Chapter] [Next Chapter]
Goto Chapter: Top 1 2 3 4 5 6 7 Ind

generated by GAPDoc2HTML