|
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).
AutomorphismGroup(P) : Plane -> GrpPerm, GSet, GSet, PowMap, Map
PointGroup(P) : Plane -> GrpPerm, GSet, GSet, PowMap, Map
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.
We illustrate the use of the G--sets returned by the
CollineationGroup function.
> 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)
The following function Bundle returns a projective bundle in
PG 2(q).
> 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
The function BaerDerivation below uses a Baer subplane to construct
an affine plane.
> 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.
We find a group of central collineations of a plane P, and check that
a generator of the group is in fact a central collineation and has
the correct axis and centre.
> 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;
true
Any 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}
}
IsTransitive(P) : Plane -> BoolElt
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.
|