[Next] [Prev] [Right] [Left] [Up] [Index] [Root]
Unitals

Unitals

A unital in the classical projective plane PG_2(q^2) is a set of q^3 + 1 points such that every line meeting two of these points meets exactly q + 1 of them.

IsUnital(P, U) : Plane, { PlanePt } -> BoolElt
Given a set of points U belonging to a projective plane defined over a field of cardinality q^2, return true if U is a unital.
AllTangents(P, U) : Plane, { PlanePt } -> { PlaneLn }
Given a unital U in the projective plane P, return the set of tangents to the points of U.
UnitalFeet(P, U, p) : Plane, { PlanePt }, PlanePt -> { PlanePt }
The set of intersections of the unital U with the tangents to U which pass through the point p.

Example Plane_unital (H57E11)

The following code computes the Hermitian unital given by the equation x^(q + 1) + y^(q + 1) + z^(q + 1) = 0 in PG_2(q^2) for q = 3.

> q := 3;
> F<w> := GaloisField(q ^ 2);
> P, V, L := ProjectivePlane(F);
> 
> hu := { V | [x,y,z] : x, y, z in F |                                     
>                x^(q+1) + y^(q+1) + z^(q+1) eq 0 and {x, y, z} ne {0} };
> 
> IsUnital(P, hu);
true
> UnitalFeet(P, hu, V.1);    
{  ( 0 : 1 : w ), ( 0 : 1 : w^3 ), ( 0 : 1 : w^5 ), ( 0 : 1 : w^7 ) }
Since this set has more than one element, V.1 must not be in hu:

> V.1 in hu;
false
For a point in hu:

> UnitalFeet(P, hu, Rep(hu));
{  ( 1 : 0 : w^7 ) }
Now we construct the design given by hu.

> blks := [blk : lin in L | #blk eq (q+1) where blk is lin meet hu ];
> D := Design< 2, SetToIndexedSet(hu) | blks >;
> D;
2-(28, 4, 1) Design with 63 blocks

[Next] [Prev] [Right] [Left] [Up] [Index] [Root]