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 \(P\) defined over a field of cardinality \(q^2\), return
trueif \(U\) is a unital.
- AllTangents(P, U): Plane, { PlanePt} -> { PlaneLn}#
Given a unital set of points \(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 set of points \(U\) with the tangents to \(U\) in the plane \(P\) which pass through the point \(p\).
- Example: unital (ex-fe7f50)#
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 := FiniteProjectivePlane(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.1must 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