Skip to content

sukru-yalcinkaya/unipoly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Code Coverage Binder

Unipotent element construction

Introduction: This GAP code is prepared to construct a unipotent element in the groups SO(3,q)=PGL(2,q), q odd, as explained in the Journal of Algebra paper “Adjoint representations of black box groups PSL(2,q), q odd” (https://doi.org/10.1016/j.jalgebra.2018.02.022), see also (https://www.mub.eps.manchester.ac.uk/in-abstract/adjoint-representations-of-black-box-groups/). The GAP code is only slightly varies from the justification presented in the paper which results in a slightly faster algorithm.

It is important to note that our code treats the input groups as black box groups, that is, it does not use any specific features of the representation of the input group. Also, our code uses GAP as a black box, that is, our code does not use any specific group theoretic features of GAP, the only group theoretic functionality of GAP used is to do group multiplication, taking inverses and checking whether group elements are same.

Input: Our codes takes a list of generators and an exponent of the groups SO(3,q), q>3 odd as an input. As PGL(2,q) is isomorphic to SO(3,q), one can use the generators of PGL(2,q), q odd, as well. It should be taken into consideration that one can input much bigger fields in GAP when the matrix groups SO(3,q) is used.

We use the order of the group for the exponent of the input group. As the groups in consideration are in GAP Library, their orders are known.

If one uses very small prime fields like q=5,7,11 etc. unipotent elements appear frequently during random computations and therefore our code can return an answer before it does everything it designed to do so to construct a unipotent element.

Output: The output has the following format:

  • It is a list consisting of 4 entries.
  • The first entry of the output is a confirmation that a unipotent element is constructed.
  • The second and the third entry of the list are involutions (elements of order 2).
  • The fourth entry of the list is the unipotent element which is a product of the involutions in the second and third entry.

Demonstration: We demonstrate how our algorithm should be run with the following example.

gap> G:=SO(3,101^2);; S:=GeneratorsOfGroup(G);; exp:=Order(G);;
gap> u:=unipoly(S,exp);
[ true, [ [ Z(101^2)^5944, Z(101^2)^5558, Z(101^2)^8301 ], [ Z(101^2)^8668, Z(101^2)^5944, Z(101^2)^4756 ], 
      [ Z(101^2)^4858, Z(101^2)^8403, Z(101^2)^885 ] ], 
  [ [ Z(101^2)^4628, Z(101^2)^2578, Z(101^2)^6153 ], [ Z(101^2)^6490, Z(101^2)^4628, Z(101^2)^8109 ], 
      [ Z(101^2)^8211, Z(101^2)^6255, Z(101^2)^4352 ] ], 
  [ [ Z(101^2)^9692, Z(101^2)^9480, Z(101^2)^1936 ], [ Z(101^2)^5848, Z(101^2)^8720, Z(101^2)^4734 ], 
      [ Z(101^2)^5322, Z(101^2)^1552, Z(101^2)^4089 ] ] ]
gap> Order(u[2]);
2
gap> Order(u[3]);
2
gap> Order(u[4]);
101
gap> u[2]*u[3]=u[4];
true

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published