# Anurag Bishnoi, anurag.2357@gmail.com, ORCID http://orcid.org/0000-0003-0232-428X # GAP code for the paper titled ``On generalized hexagons of order (3, t) and (4, t) containing a subhexagon'' by Anurag Bishnoi and Bart De Bruyn # run this code before main.sage to generate the points, lines and automorphism groups of the geometries H(2), H(2)^D, H(3) and H(4) WriteListToFile := function(L, name) # writes a list L to the file name local f, l, p; f := OutputTextFile(name, false); for l in L do for p in l do AppendTo(f, p , " "); od; AppendTo(f, "\n"); od; CloseStream(f); end; WriteGroupToFile := function(G, name) # writes the group G to the file name local f, g; f := OutputTextFile(name, false); PrintTo(f, String(G)); CloseStream(f); end; get_lines := function(v, G, s, t) # returns the set of lines of a partial linear space of order (s, t) that has [1..v] as point set, no triangles and G as its full automorphism group acting distance transitively on the points, and transitively on the lines, such that there is only one suborbit of size s(t+1) local points, orbs, dist1, perp, line, lines; points := [1..v]; orbs := Orbits(Stabilizer(G,1),points);; dist1 := Filtered(orbs, x -> Size(x) = s*(t+1))[1];; perp := Union([1],dist1);; line := Intersection(perp,OnSets(perp,RepresentativeAction(G,1,dist1[1])));; lines := Orbit(G,line,OnSets); return lines; end; # H(2) q := 2; deg := (1+q)*(1 + q^2 + q^4); order := q^6*(q^6 - 1)*(q^2 - 1); G := AllPrimitiveGroups(DegreeOperation,deg,Size,order)[2];; lines := get_lines(deg, G, q, q); WriteListToFile(lines, "H2_lines"); WriteGroupToFile(G, "H2_group"); # H(2)^D q := 2; deg := (1+q)*(1 + q^2 + q^4); order := q^6*(q^6 - 1)*(q^2 - 1); G := AllPrimitiveGroups(DegreeOperation,deg,Size,order)[1];; lines := get_lines(deg, G, q, q); WriteListToFile(lines, "H2D_lines"); WriteGroupToFile(G, "H2D_group"); # H(3) q := 3; deg := (1+q)*(1 + q^2 + q^4); order := q^6*(q^6 - 1)*(q^2 - 1); G := AllPrimitiveGroups(DegreeOperation,deg,Size,order)[1];; lines := get_lines(deg, G, q, q); WriteListToFile(lines, "H3_lines"); WriteGroupToFile(G, "H3_group"); # H(4) q := 4; deg := (1+q)*(1 + q^2 + q^4); order := 2*q^6*(q^6 - 1)*(q^2 - 1); # the full automorphism is G_2(4):2 G := AllPrimitiveGroups(DegreeOperation,deg,Size,order)[1];; lines := get_lines(deg, G, q, q);; WriteListToFile(lines, "H4_lines"); WriteGroupToFile(G, "H4_group"); # H(4)^D q := 4; deg := (1+q)*(1 + q^2 + q^4); order := 2*q^6*(q^6 - 1)*(q^2 - 1); G := AllPrimitiveGroups(DegreeOperation,deg,Size,order)[2];; lines := get_lines(deg, G, q, q);; WriteListToFile(lines, "H4D_lines"); WriteGroupToFile(G, "H4D_group");