EXAMPLES:

sage: GQ
Incidence structure with 325 points and 1105 blocks
sage: GQ2
Incidence structure with 1105 points and 325 blocks
sage: GQ3 = GQ.dual()
sage: set(GQ3._points) == set(GQ2._points)
True
sage: GQ2.is_isomorphic(GQ3) # long time
True

REFERENCES:

AUTHORS:

• Ivo Maffei (2020-07-26): initial version

Compute the dual incidence structure of GQ and return the image of $$O$$ under the dual map

INPUT:

• GQ – IncidenceStructure; the generalised quadrangle we want the dual of

• O – iterable; the iterable of blocks we want to compute the dual

OUTPUT:

A pair (D, S) where D is the dual of GQ and S is the dual of O

EXAMPLES:

....: dual_GQ_ovoid
(9, 3)
sage: t = dual_GQ_ovoid(*t)
(3, 9)
sage: all([x in t for x in t])
True

Construct the generalised quadrangle $$H(3,q^2)$$ with an ovoid.

The GQ has order $$(q^2,q)$$.

INPUT:

• q – integer; a prime power

OUTPUT:

A pair (D, O) where D is an IncidenceStructure representing the generalised quadrangle and O is a list of points of D which constitute an ovoid of D

EXAMPLES:

sage: t
Incidence structure with 1105 points and 325 blocks
sage: len(t)
65
sage: G = t.intersection_graph()  # line graph
sage: G.is_strongly_regular(True)
(325, 68, 3, 17)
sage: set(t.block_sizes())
{17}

REFERENCES:

For more on $$H(3,q^2)$$ and the construction implemented here see [PT2009] or [TP1994].

Construct a generalised quadrangle GQ of order $$(s,t)$$ with a spread S.

INPUT:

• s, t – integers; order of the generalised quadrangle

• existence – boolean;

• check – boolean; if True, then Sage checks that the object built is correct. (default: True)

OUTPUT:

A pair $$(GQ, S)$$ where $$GQ$$ is a IncidenceStructure representing the generalised quadrangle and $$S$$ is a list of blocks of $$GQ$$ representing the spread of $$GQ$$.

EXAMPLES:

sage: t
Incidence structure with 112 points and 280 blocks
True
Incidence structure with 325 points and 1105 blocks
False

REFERENCES:

For more on generalised quadrangles and their spread see [PT2009] or [TP1994].

Check if GQ is a generalised quadrangle of order $$(s,t)$$ and check that S is a spread of GQ

INPUT:

• GQ – IncidenceStructure; the incidence structure that is supposed to be a generalised quadrangle

• S – iterable; the spread of GQ as an iterable of the blocks of GQ

• s, t – integers (optional); if $$(s,t)$$ are given, then we check that GQ has order $$(s,t)$$

EXAMPLES: