1 | initial version |
After the comment of FrédéricC i took at the generalized hexagon graphs that sage may construct for some small values of the $(s, t)$ parameters, in case $s=t$. In each of the cases i want to see the number of vertices, and the number of edges.
Note that these graphs have no supplementary structure, so that a polarity $\pi$ (sending lines to points and preserving incidence relations) cannot be constructed by using any geometric origin.
for s in [2..7]:
try:
G = graphs.GeneralisedHexagonGraph(s, s)
print(f"The GeneralisedHexagonGraph({s}, {s}) has {len(G.vertices())} vertices and {len(G.edges())} edges")
except:
import traceback
traceback.print_exc()
The above produces:
The GeneralisedHexagonGraph(2, 2) has 63 vertices and 189 edges
The GeneralisedHexagonGraph(3, 3) has 364 vertices and 2184 edges
The GeneralisedHexagonGraph(4, 4) has 1365 vertices and 13650 edges
The GeneralisedHexagonGraph(5, 5) has 3906 vertices and 58590 edges
and for the next values we get errors:
$s=6$
ValueError: No generalised hexagon of order (6, 6) is known
$s=7$
NotImplementedError: Graph would be too big
But ok, we have some few toy examples to work with. For instance, let us work with the second graph, the one with $364$ vertices.
sage: G = graphs.GeneralisedHexagonGraph(3, 3)
sage: G.vertices()[:10]
[52, 40, 3, 22, 4, 17, 5, 30, 6, 23]
sage: # The vertices of the graphs have thus integers as labels...
sage: # Above sage shows the first ten vertices, as they are stored in some awkward order...
sage: G.edges()[:10]
[(52, 352, None),
(1, 52, None),
(25, 52, None),
(52, 339, None),
(13, 52, None),
(52, 341, None),
(52, 324, None),
(52, 140, None),
(52, 113, None),
(18, 52, None)]
sage: # here are some first few edges, so 52 is connected to 352, 1, 25, 339, 13, 341, ...
This is definitively what you need.
On the other side, one can construct as in the literature the one or the other structure.
You may want to take a look at the GAP-implementations...
https://docs.gap-system.org/pkg/fining/doc/chap12_mj.html
(Sage can work with some GAP-objects, but this is an other story.)