# 67.45 PermGroupRepresentation

`PermGroupRepresentation( G, limit )`

`PermGroupRepresentation` tries to find a permutation representation of G of degree at most limit. The function either returns a permutation group or `false` if no such representation was found.

Note that `false` does not imply that no such permutation representation exists. If a permutation representation for G is already known it will be returned independent of its degree.

The function tries to find a set of vectors of size at most limit closed under the operation of G such that the set spans the whole vector space; it implements parts of the base-point selection algorithm described in [10].

```    gap> m1 := [[0,1],[1,0]] * Z(9);;
gap> m2 := [[1,1],[1,0]] * Z(9);;
gap> G := Group( m1, m2 );;
gap> P := PermGroupRepresentation( G, 100 );
Group( ( 1,15, 4,21, 2,24, 7,30)( 3,18, 5,12, 6,27, 8, 9)
(10,16,19,22,14,26,29,32)(11,25,20,31,13,17,28,23),
( 1,15,19,31)( 2,24,29,23)( 3,18,22,11)( 4,21,14,17)( 5,12,26,20)
( 6,27,32,13)( 7,30,10,25)( 8, 9,16,28) )

# note that <limit> is ignored if a representation is known
gap> P := PermGroupRepresentation( G, 2 );
Group( ( 1,15, 4,21, 2,24, 7,30)( 3,18, 5,12, 6,27, 8, 9)
(10,16,19,22,14,26,29,32)(11,25,20,31,13,17,28,23),
( 1,15,19,31)( 2,24,29,23)( 3,18,22,11)( 4,21,14,17)( 5,12,26,20)
( 6,27,32,13)( 7,30,10,25)( 8, 9,16,28) ) ```

`OrbitMat( G, vec, base, limit )`

`OrbitMat` computes the orbit of vec under the operation of G. The function will return `false` if this orbit is larger then limit. Otherwise the orbit is return as list of vectors and base, which must be supplied as an empty list, now contains a list of basis vectors spanning the vector space generated by the orbit.

GAP 3.4.4
April 1997