The Defining Points of a Plane

Points of a plane have their own special type in Magma (PlanePt). However it may sometimes be necessary to return to the objects used to define the points. These are the elements of the indexed set originally used to create the plane, or, in the case of a classical plane, the vector space elements which define the points of the plane.

The functions listed in this section provide the means to do this.

Support(P) : Plane -> { Elt }
An indexed set E which is the underlying point set of the plane P (i.e. the elements of the set have their "real" types; they are no longer a "PlanePt" of P).
Support(l) : PlaneLn -> SetEnum
The set of underlying points contained in the line l of a plane P (i.e. the elements of the set have their "real" types; they are no longer a "PlanePt" of P).
Support(P, p) : Plane, PlanePt -> .
Support(p) : PlanePt -> .
The Magma object corresponding to the point p of a plane P.

Example Plane_supp (H150E3)

The following code shows the difference between the Points and Support functions.
> A := FiniteAffinePlane< {@ 3, 4, 5, 6 @} | {3, 4}, {3, 5}, {3, 6},
>                                      {4, 5}, {4, 6}, {5, 6} >;
> Pts := Points(A);
> Supp := Support(A);
> Pts, Supp;
{@ 3, 4, 5, 6 @}
{@ 3, 4, 5, 6 @}
These sets look the same, but the elements have different types:
> Universe(Pts);
Point-set of Affine Plane of order 2
> Universe(Supp);
Integer Ring
The classical plane case is slightly different. Here the support is a set of vectors.
> P, V, L := FiniteProjectivePlane(2);
> Points(P);
{@ ( 1 : 0 : 0 ), ( 0 : 1 : 0 ), ( 0 : 0 : 1 ), ( 1 : 1 : 0 ),
   ( 0 : 1 : 1 ), ( 1 : 1 : 1 ), ( 1 : 0 : 1 ) @}
> Support(P);
{@
    (1 0 0),
    (0 1 0),
    (0 0 1),
    (1 1 0),
    (0 1 1),
    (1 1 1),
    (1 0 1)
@}
> Universe(Points(P));
Point-set of Projective Plane PG(2, 2)
> Universe(Support(P));
Full Vector space of degree 3 over GF(2)
> l := Random(L);
> l;
< 0 : 0 : 1 >
> Support(l);
{
    (1 0 0),
    (0 1 0),
    (1 1 0)
}
V2.28, 13 July 2023