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 and it does not act directly on 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 or may be constructed directly. 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.
Image(g, Y, y) : GrpPermElt, GSet, Elt -> Elt
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 phi: G -> L, where the permutation group L gives the action of G on the set Y. The function returns:
- The natural homomorphism phi: G -> L;
- The induced group L;
- 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 := ProjectivePlane(3); > G, Y, W := CollineationGroup(P);Compute the stabilizer of the first point of P:
> Stabilizer(G, Y, Points(P)[1]); Permutation group 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) > Stabilizer(G, Y, Points(P)[1]) eq CollineationGroupStabilizer(P, 1); trueCompute 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 := ProjectivePlane(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 ProjectivePlane< 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 := ProjectivePlane(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, q^2) 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 AffinePlane< 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 alpha
of P which fixes l pointwise and p linewise. The line l
is called the axis of alpha and the point p is called
the centre of alpha.
CentralCollineationGroup(P, p, l) : Plane, PlanePt, PlaneLn -> GrpPerm, PowMap, Map
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).
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 := ProjectivePlane< 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 := Random(G); > 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; true
IsPointTransitive(P) : Plane -> BoolElt
True iff the collineation group of the plane P acts transitively on the points of P.
True iff the collineation group of the plane P acts transitively on the lines of P.
> P := AffinePlane(4); > IsPointTransitive(P); true > IsLineTransitive(P); true