The automorphism group (or collineation group) A of a plane P is always presented as a permutation group G acting on the standard support {1, ..v}, where v is the number of points of P. The reasons for this include the fact that if the group is represented as acting on a set of objects relating to the plane, printed permutations are often unreadable.
So the collineation group G of P does not act directly on P. Instead, G--sets are used to transfer the action of G to various sets associated with P. The two most important G--sets, corresponding to action of G on the point set and on the line set, are returned by each of the functions provided for constructing the collineation group or some specified subgroup of it.
In some circumstances, rather than viewing collineations as group elements, it is desirable to view them is as mappings of P into itself. Associated with each incidence structure is a mapping structure, Aut(P), which denotes the set of collineations of P. Note that Aut(P) is the parent of the collineations of G so that the function Aut(P) simply creates a shell structure rather than the actual collineation group of P. A transfer map is provided to convert a permutation of the collineation group G into a mapping belonging to Aut(P).
Construct the collineation group G of the plane P. The group G is returned as a permutation group on the standard support { 1 ... v }, where v is the number of points of P. The function also returns: a G--set Y being the point set of P acted on by G; a G--set W being the line set of P acted on by G; a power structure S; a transfer map t. Given a permutation g from G, one can create a map f = t(g) which represents the automorphism g as a mapping in S from P to P (which maps both point sets and line sets). The G--sets Y and W should be used if one wishes to compute stabilizers or similar such subgroups of G so that the appropriate action is used.
Construct the collineation group G of the plane P in its action on the lines of P. The group G is returned as a permutation group on the standard support { 1 ... l }, where l is the number of lines of P. A power structure S and transfer map t are also returned, so that, given a permutation g from G, one can create a map f = t(g) which represents the automorphism g as a mapping in S from L to L, where L is the line set of P.
A subgroup G of the collineation group of the plane P which stabilizes the first k base points, together with the points G--set, the lines G--set, the power structure A of all automorphisms of P, and the transfer map t from G into A.
A subgroup G of the collineation group of the plane P generated by one element, together with the points G--set, the lines G--set, the power structure A of all automorphisms of P, and the transfer map t from G into A.
The collineation group G of a plane P is given in its action on the standard support. This support may be regarded as the indices of the points of P. The action of G on P is obtained using the G--set mechanism. The two basic G--sets associated with P correspond to the action of G on the set of points V and the set of lines L of P. These two G--sets are given as return values of the function AutomorphismGroup. Additional G--sets associated with P may be built using the G--set constructors. Given a G--set Y for G, the action of G on Y may be studied using the permutation group functions that allow a G--set as an argument. In this section, only a few of the available functions are described: see the chapter on permutation groups for a complete list.
The action of the collineation group on the plane may also be obtained using the ^ operator.
Let G be a subgroup of the collineation group for the plane P and suppose g∈G. Given an element y that is either a point or line of P, return the image of y under g.
Let G be a subgroup of the collineation group for the plane P. Given an element y that is either a point or line of P, return the orbit of y under G.
Let G be a subgroup of the collineation group for the plane P and let Y be a G--set for G. Given an element y belonging either to Y or to a G--set derived from Y, find the image of y under G.
Let G be a subgroup of the collineation group for the plane P and let Y be a G--set for G. Given an element y belonging either to Y or to a G--set derived from Y, construct the orbit of y under G.
Let G be a subgroup of the collineation group for the plane P and let Y be a G--set for G. This function constructs the orbits of the action of G on Y.
Let G be a subgroup of the collineation group for the plane P and let Y be a G--set for G. Given an element y belonging either to Y or to a G--set derived from Y, construct the stabilizer of y in G.
Given a subgroup G of the collineation group of the plane P, and a G--set Y for G, construct the homomorphism φ: G -> L, where the permutation group L gives the action of G on the set Y. The function returns:
- (a)
- The natural homomorphism φ: G -> L;
- (b)
- The induced group L;
- (c)
- The kernel of the action (a subgroup of G).
Given a subgroup G of the collineation group of the plane P, and a G--set Y for G, construct the permutation group L giving the action of G on the set Y.
Given a subgroup G of the collineation group of the plane P, and a G--set Y for G, construct the kernel of the action of G on the set Y.
> P := FiniteProjectivePlane(3); > G, Y, W := CollineationGroup(P);Compute the stabilizer of the first point of P:
> H := Stabilizer(G, Y, Points(P)[1]); > H; Permutation group H acting on a set of cardinality 13 (3, 9)(5, 7)(6, 11)(8, 12) (2, 8, 12)(3, 9)(4, 6, 7, 10, 5, 11) (2, 9)(3, 4)(5, 8)(10, 13) (2, 8)(3, 9)(4, 5)(6, 10) (2, 3)(4, 13)(6, 8)(9, 10) (2, 13, 8)(3, 6, 4)(5, 10, 9) (2, 3)(4, 9)(7, 12)(10, 13) > H eq CollineationGroupStabilizer(P, 1); true > lines := {m : m in Lines(P) | Points(P)[1] in m}; > l := Random(lines); > l ^ H; GSet{ < 0 : 1 : 0 >, < 0 : 0 : 1 >, < 0 : 1 : 2 >, < 0 : 1 : 1 > }Compute the stabilizer of the first line of P:
> Stabilizer(G, W, Lines(P)[1]); Permutation group acting on a set of cardinality 13 (1, 8, 12, 4, 7, 9)(2, 3, 5)(6, 13) (3, 5, 11)(6, 7, 9)(8, 12, 13) (4, 10)(5, 11)(6, 7)(8, 12) (1, 10, 6, 7)(2, 11)(3, 5)(4, 13, 9, 12) (5, 11)(6, 12)(7, 8)(9, 13) (1, 10)(3, 5)(6, 7)(12, 13) (1, 4, 10)(3, 11)(6, 13, 9, 8, 7, 12)
> Bundle := function(q) > K<w> := GF(q^3); > P, V, L := FiniteProjectivePlane(q^3); > G, Y := CollineationGroup(P); > S := Support(P); // normalized vectors > sig := sub< G | > [Index(P, V ! [S[i][1], S[i][2]^q, S[i][3]^q]) : i in [1..#V]]>; > // group of planar collineations of order 3 > p := V ! [1, w^2, w]; > T := Orbit(sig, Y, p); > e2 := V![0, 1, 0]; > e3 := V![0, 0, 1]; > S := Points(SubfieldSubplane(P, GF(q))); > c23 := Conic(P, T join {e2, e3}) meet S; > e1 := Rep(S diff c23); > c12 := (Conic(P, T join {e1, e2}) meet S) diff { e1 }; > c13 := (Conic(P, T join {e1, e3}) meet S) diff { e1 }; > bundle := [ Conic(P, T join {e1, e}) meet S : e in c23 ] cat > [ Conic(P, T join {v1, v2}) meet S : v2 in c13, v1 in c12 ]; > return FiniteProjectivePlane< S | bundle >; > > end function; > > PB := Bundle(3); > PB; Projective Plane of order 3
> BaerDerivation := function(q) > //--------------------------- > // Construct an affine plane by the technique of derivation using > // Baer subplanes > > Fq2< w > := FiniteField(q^2); > V := VectorSpace(Fq2, 3); > Plane, Pts, Lns := FiniteProjectivePlane(V); > G, Y := CollineationGroup(Plane);
Construct a Baer subplane:
> Subplane := SubfieldSubplane(Plane, GF(q));
The Baer segment consists of those points of the Baer subplane that lie on the line at infinity. Take the line x = 0 as the line at infinity.
> LineInf := Lns![1, 0, 0]; > > BaerSeg := Points(Subplane) meet LineInf;
We now find the subgroup of the collineation group that fixes the Baer segment. The translates of the Baer subplane under this subgroup will give us those Baer subplanes that contain the set BaerSeg. We use the G--set Y to specify the action of G on the points of Plane.
> StabSeg := Stabilizer(G, Y, BaerSeg);
Rather than computing the translates of the entire Baer subplane, we compute the translates of Subplane - BaerSeg so that we get exactly those sets which become new affine lines.
> BaerLines := Orbit(StabSeg, Y, Points(Subplane) diff BaerSeg);
We complete the new plane by taking those lines of PG(2, q2) which intersect the line at infinity at points other than those in the Baer segment. Upon removing the intersection point with LineInf, each such line becomes a line of the new affine plane.
> AffLines := BaerLines join { Set(l) diff LineInf : l in Lns | > (BaerSeg meet l) eq }; > return FiniteAffinePlane< SetToIndexedSet(&join(AffLines)) | Setseq(AffLines) > : Check := false >; > end function; /*BaerDerivation*/
Let p be a point and l a line of a projective plane P. A (p, l)--central collineation is a collineation α of P which fixes l pointwise and p linewise. The line l is called the axis of α and the point p is called the centre of α.
The group G of (p, l)--central collineations of a projective plane P. A power structure S and transfer map t are also returned, so that, given a permutation g from G, one can create a map f = t(g) which represents the permutation g as a mapping in S from P to P. (which maps both point sets and line sets).
The group of central collineations with centre p of a projective plane P. A power structure S and transfer map t are also returned, so that, given a permutation g from G, one can create a map f = t(g) which represents the permutation g as a mapping in S from P to P. (which maps both point sets and line sets).
The group of central collineations with axis l of a projective plane P. A power structure S and transfer map t are also returned, so that, given a permutation g from G, one can create a map f = t(g) which represents the permutation g as a mapping in S from P to P. (which maps both point sets and line sets).
Returns true iff the collineation g of the projective plane P is a central collineation; if true, also returns the centre and axis of g. The support of the parent of g must be the point set of P or the standard support { 1 ... v }, where v is the number of points of P.
> P, V, L := FiniteProjectivePlane< 13 | > {1, 2, 3, 4}, {1, 5, 6, 7}, {1, 8, 9, 10}, > {1, 11, 12, 13}, {2, 5, 8, 11}, {2, 6, 9, 12}, > {2, 7, 10, 13}, {3, 5, 9, 13}, {3, 6, 10, 11}, > {3, 7, 8, 12}, {4, 5, 10, 12}, {4, 6, 8, 13}, > {4, 7, 9, 11} >; > p := V!3; > l := L.1; > G := CentralCollineationGroup(P, p, l); > G; Permutation group G acting on a set of cardinality 13 Order = 3 (5, 13, 9)(6, 11, 10)(7, 12, 8) > g := G.1; > g; (5, 9, 13)(6, 10, 11)(7, 8, 12) > is_cent_coll, centre, axis := IsCentralCollineation(P, g); > is_cent_coll; true > centre eq p; true > axis eq l; trueAny line through the centre of a central collineation must be fixed by the collineation.
> lines := {m : m in Lines(P) | p in m}; > m := Random(lines); > m; {3, 7, 8, 12} > m ^ G; GSet{ {3, 7, 8, 12} }
Return true iff the collineation group of the plane P acts transitively on the points of P.
Return true iff the collineation group of the plane P acts transitively on the lines of P.
> P := FiniteAffinePlane(4); > IsPointTransitive(P); true > IsLineTransitive(P); true