> < ^ From:

< ^ Subject:

Dear Forum,

Dima Pasechnik wrote

I came across a necessity to convert a mapping defined by

MappingByFunction into a permutation. Is there any GAP-function to do

it?My particular example arises when I want to define the group

$G=P\Gamma L(n,q)$

in its action on the points of projective space $PG(n,q)$.

It is straightforward to get $PGL(n,q)$ and the extra mapping

f (Frobenius automorphism) needed to generate $G$.

However f is given as MappingByFunction and I don't see a regular

way to convert f into a permutation.

Here is one way to solve this problem.

gap> # We act on the lines of a two-dimensional space over GF(4). gap> elms:= NormedVectors( GF(4)^2 ); [ [ 0*Z(2), Z(2)^0 ], [ Z(2)^0, 0*Z(2) ], [ Z(2)^0, Z(2)^0 ], [ Z(2)^0, Z(2^2) ], [ Z(2)^0, Z(2^2)^2 ] ] gap> gap> # Get the general linear group. gap> g:= GL(2,4); GL(2,4) gap> gap> # Define the Frobenius automorphism, acting on lines. gap> normedfrob2:= MappingByFunction( elms, elms, > x -> NormedVector( List( x, y -> y^2 ) ) );; gap> gap> # Compute the permutations induced by the generators of GL(2,4). gap> p1:= Permutation( g.1, elms, OnLines ); (3,5,4) gap> p2:= Permutation( g.2, elms, OnLines ); (1,2,3) gap> gap> # Compute the permutation induced by the Frobenius automorphism. gap> p3:= GroupElementsOps.Permutation( normedfrob2, elms, OnPoints ); (4,5) gap> gap> # We have constructed a permutation representation of gap> # the group is P\GammaL(2,4). gap> Group( p3, p2, p1 ); Group( (4,5), (3,5,4), (1,2,3) )

Maybe in a forthcoming version of GAP 'Permutation' will also work for

computing the permutation action of mappings (that are bijections).

For the moment the method sketched above should suffice.

Kind regards

Thomas Breuer

> < [top]