Generalized Hexagon

Author

Eric W. Weisstein
November 21, 2023

This notebook downloaded from http://mathworld.wolfram.com/notebooks/GraphTheory/GeneralizedHexagon.nb.

For more information, see Eric's MathWorld entry http://mathworld.wolfram.com/GeneralizedHexagon.html.

©2023 Wolfram Research, Inc. except for portions noted otherwise

Table

Many of these are listed in van Dam and Haemers 2003

gh=Select[GraphData["GeneralizedPolygon"],First[GraphData[#,"NotationRules","GeneralizedPolygon"]]==6&]

TextGrid[Sort[
{
GraphData[#,"NotationRules","GeneralizedPolygon"][[2]],
GraphData[#,"V"],
GraphData[#,"Name"],
GraphData[#,"Notation"],
GraphData[#,"Spectrum"]//SpectrumForm
}&/@gh],Dividers->All,Alignment->{{Automatic,Decimal,{Left}}}]

Embeddings

<<MathWorld`Graphs`

{"GeneralizedHexagon", {1, 2}} == "HeawoodGraph"

GraphData[{"GeneralizedHexagon",{1,2}},"StandardName"]

{"GeneralizedHexagon", {1, 3}} == {"Cage", {4, 6}}

GraphData[{"GeneralizedHexagon",{1,3}},"StandardName"]

{"GeneralizedHexagon", {1, 4}} == {"Cage", {5, 6}}

GraphData[{"GeneralizedHexagon",{1,4}},"StandardName"]

{"GeneralizedHexagon", {1, 5}} == {"Cage", {6, 6}}

GraphData[{"GeneralizedHexagon",{1,5}},"StandardName"]

{"GeneralizedHexagon", {1, 7}} == {"Cage", {8, 6}}

GraphData[{"GeneralizedHexagon",{1,7}},"StandardName"]

{"GeneralizedHexagon", {1, 8}} == {"Cage", {9, 6}}

GraphData[{"GeneralizedHexagon",{1,8}},"StandardName"]

{"GeneralizedHexagon", {1, 9}} == {"Cage", {10, 6}}

GraphData[{"GeneralizedHexagon",{1,9}},"StandardName"]

{"GeneralizedHexagon", {2, 1}}

Names

GraphData[{"GeneralizedHexagon",{2,1}},"StandardName"]

GraphData[{"GeneralizedHexagon",{2,1}},"StandardNames"]

Primary

GraphData[{"GeneralizedHexagon",{2,1}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"GeneralizedHexagon",{2,1}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"GeneralizedHexagon",{2,1}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"GeneralizedHexagon",{2,1}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"GeneralizedHexagon",{2,1}},"Edges"]

v=Join[CirclePoints[{1,Pi/2},14],CirclePoints[{x,Pi/2},7]];

Solve[RegionDistance[Line[v[[{1,6}]]],v[[16]]]==0,x]//FullSimplify

N[%]

v=Join[CirclePoints[{1,Pi/2},14],CirclePoints[{(1/(1+2 Sin[((3 π)/14)])),Pi/2},7]];
g=Graph[Range[Length[v]],UndirectedEdge@@@{e[{1,14},1,16,6,19,11,21,2,17,7,19,12,15,3,17,8,20,13,15,4,18,9,20,14,16,5,18,10,21,1]},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"GeneralizedHexagon",{2,1}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"GeneralizedHexagon",{2,1}},"Graph","Degenerate"]

Perspective

GraphData[{"GeneralizedHexagon",{2,1}},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"GeneralizedHexagon",{2,1}},"Polyhedron"]

Bilateral

GraphData[{"GeneralizedHexagon",{2,1}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"GeneralizedHexagon",{2,1}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"GeneralizedHexagon",{2,1}},"Planar"]

GraphData[{"GeneralizedHexagon",{2,1}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"GeneralizedHexagon",{2,1}},{"RCN","CN"}]

GraphData[{"GeneralizedHexagon",{2,1}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"GeneralizedHexagon",{2,1}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"GeneralizedHexagon",{2,1}}],TimeConstraint->10])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"GeneralizedHexagon",{2,1}}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

IGLayoutTutte[g,"OuterFace"->#]&/@faces

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"GeneralizedHexagon",{2,1}}],"CrossingNumber"->cn,RandomSeed->n]],{n,500}],Max[OuterFace[#]]<=GraphData[{"GeneralizedHexagon",{2,1}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"GeneralizedHexagon",{2,1}}],"CrossingNumber"->cn,RandomSeed->i],{i,250}]//Union

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"GeneralizedHexagon",{2,1}},"Graph","Circulant"]//StyleGraphs

CayleyGraph construction

GraphData[{"GeneralizedHexagon",{2,1}},"CayleyGraphGeneratingGroupNames"]

GraphData[{"GeneralizedHexagon",{2,1}},"CayleyGraphGeneratingGroups"]

From Ed Pegg, Jr.
May 29, 2020

group=PermutationGroup[{Cycles[{{1,8,15},{2,12,17},{3,9,19},{4,13,21},{5,10,16},{6,14,18},{7,11,20}}],Cycles[{{1,9,20},{2,13,15},{3,10,17},{4,14,19},{5,11,21},{6,8,16},{7,12,18}}],Cycles[{{1,15,8},{2,17,12},{3,19,9},{4,21,13},{5,16,10},{6,18,14},{7,20,11}}],Cycles[{{1,20,9},{2,15,13},{3,17,10},{4,19,14},{5,21,11},{6,16,8},{7,18,12}}]}];

g=UndirectedGraph@CayleyGraph[group]

RecognizeGraph[g]

Halin

GraphData[{"GeneralizedHexagon",{2,1}},"Halin"]

GraphData[{"GeneralizedHexagon",{2,1}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"GeneralizedHexagon",{2,1}},"LCF"]

GraphData[{"GeneralizedHexagon",{2,1}},"HamiltonianCycleCount"]

GraphData[{"GeneralizedHexagon",{2,1}},"LCFSignature"]

GraphData[{"GeneralizedHexagon",{2,1}},"LCFNotations"]

GraphData[{"GeneralizedHexagon",{2,1}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute all

Length[FindHamiltonianCycle[GraphData[{"GeneralizedHexagon",{2,1}}],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData[{"GeneralizedHexagon",{2,1}}],All])[[All,2]]]//Timing

lcf

LCFGraph@@@lcf//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,2,1])]//Timing

Length[gs]

gs

UnitDistance

GraphData[{"GeneralizedHexagon",{2,1}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"GeneralizedHexagon",{2,1}}],Debug->True]//Timing

GraphData[{"GeneralizedHexagon",{2,1}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

Select[UnitDistanceEmbeddingRefine/@Complement@@(GraphData[{"GeneralizedHexagon",{2,1}},"Graph",#]&/@{"All","UnitDistance"}),UnitDistanceGraphEmbeddingQ]

FindUnitDistanceEmbedding[GraphData[{"GeneralizedHexagon",{2,1}}],MaxIterations->5000,"ReturnWithMessage"->False]//Timing

UnitDistance exact construction 1 and 2

RotateGraph[Annotate[,VertexLabels->Automatic],{10,8}]

v=GraphEmbedding[];

v=(#-Mean[v])&/@v;

{a,b,c}=Norm/@v[[{11,19,8}]]

v=Join[CirclePoints[{a,-Pi/2},7],CirclePoints[{b,Pi/2},7],CirclePoints[{c,Pi/2},7]];

ee=Select[Subsets[Range[21],{2}],Abs[SquaredEuclideanDistance@@v[[#]]-1]<.001&]

ee={{1,10},{1,13},{1,18},{1,19},{2,11},{2,14},{2,19},{2,20},{3,8},{3,12},{3,20},{3,21},{4,9},{4,13},{4,15},{4,21},{5,10},{5,14},{5,15},{5,16},{6,8},{6,11},{6,16},{6,17},{7,9},{7,12},{7,17},{7,18},{8,16},{8,21},{9,15},{9,17},{10,16},{10,18},{11,17},{11,19},{12,18},{12,20},{13,19},{13,21},{14,15},{14,20}};

g=Graph[Range[21],UndirectedEdge@@@ee,VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph@g

Clear[a,b,c]

v=Join[CirclePoints[{a,-Pi/2},7],CirclePoints[{b,Pi/2},7],CirclePoints[{c,Pi/2},7]]

eqn=UnitEdgeEquations[v,ee]

eqn={(b^2) ((Cos[(π/14)])^2)+(((-a+b Sin[(π/14)]))^2)==1,(b^2) ((Cos[(π/14)])^2)+(((-a+b Sin[(π/14)]))^2)==1,(((-a+c Cos[(π/7)]))^2)+(c^2) ((Sin[(π/7)])^2)==1,(((-a+c Cos[(π/7)]))^2)+(c^2) ((Sin[(π/7)])^2)==1,(((a Cos[((3 π)/14)]+b Sin[(π/7)]))^2)+(((b Cos[(π/7)]-a Sin[((3 π)/14)]))^2)==1,(((a Cos[((3 π)/14)]-b Cos[((3 π)/14)]))^2)+(((-a Sin[((3 π)/14)]-b Sin[((3 π)/14)]))^2)==1,(((a Cos[((3 π)/14)]-c Sin[(π/7)]))^2)+(((c Cos[(π/7)]-a Sin[((3 π)/14)]))^2)==1,(((-c Cos[(π/14)]+a Cos[((3 π)/14)]))^2)+(((c Sin[(π/14)]-a Sin[((3 π)/14)]))^2)==1,(a^2) ((Cos[(π/14)])^2)+(((-b+a Sin[(π/14)]))^2)==1,(((b Cos[(π/7)]+a Sin[(π/14)]))^2)+(((a Cos[(π/14)]-b Sin[(π/7)]))^2)==1,(((a Cos[(π/14)]-c Cos[(π/14)]))^2)+(((a Sin[(π/14)]+c Sin[(π/14)]))^2)==1,(((a Cos[(π/14)]-c Cos[((3 π)/14)]))^2)+(((a Sin[(π/14)]-c Sin[((3 π)/14)]))^2)==1,(((b Cos[((3 π)/14)]+a Sin[(π/7)]))^2)+(((a Cos[(π/7)]-b Sin[((3 π)/14)]))^2)==1,(((a Cos[(π/7)]+b Sin[(π/14)]))^2)+(((-b Cos[(π/14)]+a Sin[(π/7)]))^2)==1,(((-c+a Cos[(π/7)]))^2)+(a^2) ((Sin[(π/7)])^2)==1,(((-c Cos[((3 π)/14)]+a Sin[(π/7)]))^2)+(((a Cos[(π/7)]-c Sin[((3 π)/14)]))^2)==1,(((a Cos[(π/7)]+b Sin[(π/14)]))^2)+(((b Cos[(π/14)]-a Sin[(π/7)]))^2)==1,(((-b Cos[((3 π)/14)]-a Sin[(π/7)]))^2)+(((a Cos[(π/7)]-b Sin[((3 π)/14)]))^2)==1,(((-c+a Cos[(π/7)]))^2)+(a^2) ((Sin[(π/7)])^2)==1,(((c Cos[((3 π)/14)]-a Sin[(π/7)]))^2)+(((a Cos[(π/7)]-c Sin[((3 π)/14)]))^2)==1,(a^2) ((Cos[(π/14)])^2)+(((-b+a Sin[(π/14)]))^2)==1,(((b Cos[(π/7)]+a Sin[(π/14)]))^2)+(((-a Cos[(π/14)]+b Sin[(π/7)]))^2)==1,(((-a Cos[(π/14)]+c Cos[((3 π)/14)]))^2)+(((a Sin[(π/14)]-c Sin[((3 π)/14)]))^2)==1,(((-a Cos[(π/14)]+c Cos[(π/14)]))^2)+(((a Sin[(π/14)]+c Sin[(π/14)]))^2)==1,(((-a Cos[((3 π)/14)]+b Cos[((3 π)/14)]))^2)+(((-a Sin[((3 π)/14)]-b Sin[((3 π)/14)]))^2)==1,(((-a Cos[((3 π)/14)]-b Sin[(π/7)]))^2)+(((b Cos[(π/7)]-a Sin[((3 π)/14)]))^2)==1,(((c Cos[(π/14)]-a Cos[((3 π)/14)]))^2)+(((c Sin[(π/14)]-a Sin[((3 π)/14)]))^2)==1,(((-a Cos[((3 π)/14)]+c Sin[(π/7)]))^2)+(((c Cos[(π/7)]-a Sin[((3 π)/14)]))^2)==1,(c^2) ((Cos[((3 π)/14)])^2)+(((b-c Sin[((3 π)/14)]))^2)==1,(c^2) ((Cos[((3 π)/14)])^2)+(((b-c Sin[((3 π)/14)]))^2)==1,(b^2) ((Cos[((3 π)/14)])^2)+(((-c+b Sin[((3 π)/14)]))^2)==1,(((c Cos[(π/14)]-b Cos[((3 π)/14)]))^2)+(((c Sin[(π/14)]+b Sin[((3 π)/14)]))^2)==1,(((-b Cos[(π/14)]+c Cos[((3 π)/14)]))^2)+(((-b Sin[(π/14)]-c Sin[((3 π)/14)]))^2)==1,(((c Cos[(π/7)]-b Sin[(π/14)]))^2)+(((-b Cos[(π/14)]+c Sin[(π/7)]))^2)==1,(((-b Cos[(π/7)]+c Sin[(π/14)]))^2)+(((c Cos[(π/14)]-b Sin[(π/7)]))^2)==1,(((-b Cos[(π/7)]+c Cos[(π/7)]))^2)+(((-b Sin[(π/7)]-c Sin[(π/7)]))^2)==1,(((-b Cos[(π/7)]+c Cos[(π/7)]))^2)+(((b Sin[(π/7)]+c Sin[(π/7)]))^2)==1,(((-b Cos[(π/7)]+c Sin[(π/14)]))^2)+(((-c Cos[(π/14)]+b Sin[(π/7)]))^2)==1,(((c Cos[(π/7)]-b Sin[(π/14)]))^2)+(((b Cos[(π/14)]-c Sin[(π/7)]))^2)==1,(((b Cos[(π/14)]-c Cos[((3 π)/14)]))^2)+(((-b Sin[(π/14)]-c Sin[((3 π)/14)]))^2)==1,(b^2) ((Cos[((3 π)/14)])^2)+(((-c+b Sin[((3 π)/14)]))^2)==1,(((-c Cos[(π/14)]+b Cos[((3 π)/14)]))^2)+(((c Sin[(π/14)]+b Sin[((3 π)/14)]))^2)==1};

Union[eqn]

soln=NSolve[eqn,{a,b,c},Reals]

gs=Graph[Range[21],UndirectedEdge@@@ee,VertexCoordinates->(v/.#),VertexLabels->Automatic]&/@soln

eqn3=Union[FullSimplify[eqn]]

soln=Solve[eqn3,{a,b,c}]

Length[soln]

ToRadicals[a/.soln[[1]]]//RootReduce//Timing

ToRadicals[b/.soln[[1]]]//RootReduce//Timing

b0=b/.soln[[1]];

b1=RootApproximant[N[b0,10^4],12]

N[b0-b1,10^5]//Timing

c0=c/.soln[[1]];

c1=RootApproximant[N[c0,10^4],12]

N[c0-c1,10^5]//Timing

Map[N,soln,{3}]

(solnnew=soln/.HoldPattern[Rule[x_,y_]]:>Rule[x,RootApproximant[N[y,10^4],12]])//Timing

gs=Graph[Range[21],UndirectedEdge@@@ee,VertexCoordinates->(v/.#),VertexLabels->Automatic]&/@solnnew

UnitDistanceGraphEmbeddingQ[#,WorkingPrecision->100]&/@gs

RecognizeGraph/@gs

GraphEmbedding[gs[[1]]]//ToRadicals//RootReduce

gs=gs[[{2,3}]]

eqn2=RootReduce[ToRadicals[eqn]]//FullSimplify

eqn2=Union@{(a^2)+(b^2)+a b (NumericalApproximation[Root, (RowDefault["-0.445", FEExpressionsNumericalApproximationElider]), Root[-1-2 #1+((#1)^2)+((#1)^3)&,2], ])==1,(a^2)+(b^2)+a b (NumericalApproximation[Root, (RowDefault["-0.445", FEExpressionsNumericalApproximationElider]), Root[-1-2 #1+((#1)^2)+((#1)^3)&,2], ])==1,(a^2)+(c^2)+a c (NumericalApproximation[Root, (RowDefault["-1.80", FEExpressionsNumericalApproximationElider]), Root[-1-2 #1+((#1)^2)+((#1)^3)&,1], ])==1,(a^2)+(c^2)+a c (NumericalApproximation[Root, (RowDefault["-1.80", FEExpressionsNumericalApproximationElider]), Root[-1-2 #1+((#1)^2)+((#1)^3)&,1], ])==1,(a^2)+(b^2)+a b (NumericalApproximation[Root, (RowDefault["-0.445", FEExpressionsNumericalApproximationElider]), Root[-1-2 #1+((#1)^2)+((#1)^3)&,2], ])==1,(a^2)+(b^2)+a b (NumericalApproximation[Root, (RowDefault["-0.445", FEExpressionsNumericalApproximationElider]), Root[-1-2 #1+((#1)^2)+((#1)^3)&,2], ])==1,(a^2)+(c^2)+a c (NumericalApproximation[Root, (RowDefault["-1.80", FEExpressionsNumericalApproximationElider]), Root[-1-2 #1+((#1)^2)+((#1)^3)&,1], ])==1,(a^2)+(c^2)+a c (NumericalApproximation[Root, (RowDefault["-1.80", FEExpressionsNumericalApproximationElider]), Root[-1-2 #1+((#1)^2)+((#1)^3)&,1], ])==1,(a^2)+(b^2)+a b (NumericalApproximation[Root, (RowDefault["-0.445", FEExpressionsNumericalApproximationElider]), Root[-1-2 #1+((#1)^2)+((#1)^3)&,2], ])==1,(a^2)+(b^2)+a b (NumericalApproximation[Root, (RowDefault["-0.445", FEExpressionsNumericalApproximationElider]), Root[-1-2 #1+((#1)^2)+((#1)^3)&,2], ])==1,(a^2)+(c^2)+a c (NumericalApproximation[Root, (RowDefault["-1.80", FEExpressionsNumericalApproximationElider]), Root[-1-2 #1+((#1)^2)+((#1)^3)&,1], ])==1,(a^2)+(c^2)+a c (NumericalApproximation[Root, (RowDefault["-1.80", FEExpressionsNumericalApproximationElider]), Root[-1-2 #1+((#1)^2)+((#1)^3)&,1], ])==1,(a^2)+(b^2)+a b (NumericalApproximation[Root, (RowDefault["-0.445", FEExpressionsNumericalApproximationElider]), Root[-1-2 #1+((#1)^2)+((#1)^3)&,2], ])==1,(a^2)+(b^2)+a b (NumericalApproximation[Root, (RowDefault["-0.445", FEExpressionsNumericalApproximationElider]), Root[-1-2 #1+((#1)^2)+((#1)^3)&,2], ])==1,(a^2)+(c^2)+a c (NumericalApproximation[Root, (RowDefault["-1.80", FEExpressionsNumericalApproximationElider]), Root[-1-2 #1+((#1)^2)+((#1)^3)&,1], ])==1,(a^2)+(c^2)+a c (NumericalApproximation[Root, (RowDefault["-1.80", FEExpressionsNumericalApproximationElider]), Root[-1-2 #1+((#1)^2)+((#1)^3)&,1], ])==1,(a^2)+(b^2)+a b (NumericalApproximation[Root, (RowDefault["-0.445", FEExpressionsNumericalApproximationElider]), Root[-1-2 #1+((#1)^2)+((#1)^3)&,2], ])==1,(a^2)+(b^2)+a b (NumericalApproximation[Root, (RowDefault["-0.445", FEExpressionsNumericalApproximationElider]), Root[-1-2 #1+((#1)^2)+((#1)^3)&,2], ])==1,(a^2)+(c^2)+a c (NumericalApproximation[Root, (RowDefault["-1.80", FEExpressionsNumericalApproximationElider]), Root[-1-2 #1+((#1)^2)+((#1)^3)&,1], ])==1,(a^2)+(c^2)+a c (NumericalApproximation[Root, (RowDefault["-1.80", FEExpressionsNumericalApproximationElider]), Root[-1-2 #1+((#1)^2)+((#1)^3)&,1], ])==1,(a^2)+(b^2)+a b (NumericalApproximation[Root, (RowDefault["-0.445", FEExpressionsNumericalApproximationElider]), Root[-1-2 #1+((#1)^2)+((#1)^3)&,2], ])==1,(a^2)+(b^2)+a b (NumericalApproximation[Root, (RowDefault["-0.445", FEExpressionsNumericalApproximationElider]), Root[-1-2 #1+((#1)^2)+((#1)^3)&,2], ])==1,(a^2)+(c^2)+a c (NumericalApproximation[Root, (RowDefault["-1.80", FEExpressionsNumericalApproximationElider]), Root[-1-2 #1+((#1)^2)+((#1)^3)&,1], ])==1,(a^2)+(c^2)+a c (NumericalApproximation[Root, (RowDefault["-1.80", FEExpressionsNumericalApproximationElider]), Root[-1-2 #1+((#1)^2)+((#1)^3)&,1], ])==1,(a^2)+(b^2)+a b (NumericalApproximation[Root, (RowDefault["-0.445", FEExpressionsNumericalApproximationElider]), Root[-1-2 #1+((#1)^2)+((#1)^3)&,2], ])==1,(a^2)+(b^2)+a b (NumericalApproximation[Root, (RowDefault["-0.445", FEExpressionsNumericalApproximationElider]), Root[-1-2 #1+((#1)^2)+((#1)^3)&,2], ])==1,(a^2)+(c^2)+a c (NumericalApproximation[Root, (RowDefault["-1.80", FEExpressionsNumericalApproximationElider]), Root[-1-2 #1+((#1)^2)+((#1)^3)&,1], ])==1,(a^2)+(c^2)+a c (NumericalApproximation[Root, (RowDefault["-1.80", FEExpressionsNumericalApproximationElider]), Root[-1-2 #1+((#1)^2)+((#1)^3)&,1], ])==1,(b^2)+(c^2)+b c (NumericalApproximation[Root, (RowDefault["-1.25", FEExpressionsNumericalApproximationElider]), Root[1-2 #1-((#1)^2)+((#1)^3)&,1], ])==1,(b^2)+(c^2)+b c (NumericalApproximation[Root, (RowDefault["-1.25", FEExpressionsNumericalApproximationElider]), Root[1-2 #1-((#1)^2)+((#1)^3)&,1], ])==1,(b^2)+(c^2)+b c (NumericalApproximation[Root, (RowDefault["-1.25", FEExpressionsNumericalApproximationElider]), Root[1-2 #1-((#1)^2)+((#1)^3)&,1], ])==1,(b^2)+(c^2)+b c (NumericalApproximation[Root, (RowDefault["-1.25", FEExpressionsNumericalApproximationElider]), Root[1-2 #1-((#1)^2)+((#1)^3)&,1], ])==1,(b^2)+(c^2)+b c (NumericalApproximation[Root, (RowDefault["-1.25", FEExpressionsNumericalApproximationElider]), Root[1-2 #1-((#1)^2)+((#1)^3)&,1], ])==1,(b^2)+(c^2)+b c (NumericalApproximation[Root, (RowDefault["-1.25", FEExpressionsNumericalApproximationElider]), Root[1-2 #1-((#1)^2)+((#1)^3)&,1], ])==1,(b^2)+(c^2)+b c (NumericalApproximation[Root, (RowDefault["-1.25", FEExpressionsNumericalApproximationElider]), Root[1-2 #1-((#1)^2)+((#1)^3)&,1], ])==1,(b^2)+(c^2)+b c (NumericalApproximation[Root, (RowDefault["-1.25", FEExpressionsNumericalApproximationElider]), Root[1-2 #1-((#1)^2)+((#1)^3)&,1], ])==1,(b^2)+(c^2)+b c (NumericalApproximation[Root, (RowDefault["-1.25", FEExpressionsNumericalApproximationElider]), Root[1-2 #1-((#1)^2)+((#1)^3)&,1], ])==1,(b^2)+(c^2)+b c (NumericalApproximation[Root, (RowDefault["-1.25", FEExpressionsNumericalApproximationElider]), Root[1-2 #1-((#1)^2)+((#1)^3)&,1], ])==1,(b^2)+(c^2)+b c (NumericalApproximation[Root, (RowDefault["-1.25", FEExpressionsNumericalApproximationElider]), Root[1-2 #1-((#1)^2)+((#1)^3)&,1], ])==1,(b^2)+(c^2)+b c (NumericalApproximation[Root, (RowDefault["-1.25", FEExpressionsNumericalApproximationElider]), Root[1-2 #1-((#1)^2)+((#1)^3)&,1], ])==1,(b^2)+(c^2)+b c (NumericalApproximation[Root, (RowDefault["-1.25", FEExpressionsNumericalApproximationElider]), Root[1-2 #1-((#1)^2)+((#1)^3)&,1], ])==1,(b^2)+(c^2)+b c (NumericalApproximation[Root, (RowDefault["-1.25", FEExpressionsNumericalApproximationElider]), Root[1-2 #1-((#1)^2)+((#1)^3)&,1], ])==1}

soln=Solve[eqn2,{a,b,c},Reals][[{1,3}]]//RootReduce

gs=Graph[Range[21],UndirectedEdge@@@ee,VertexCoordinates->(v/.#),VertexLabels->Automatic]&/@soln

UnitDistanceGraphEmbeddingQ/@gs

RecognizeGraph/@gs

RootReduce[a/.soln[[1]]]//Timing

RootReduce[b/.soln[[1]]]//Timing

gs=gs[[{1,3}]]

gs={,};

UnitDistance exact construction 3

g0=CenterGraph@RotateGraph[Annotate[,VertexLabels->Automatic],{15,17}]

EuclideanDistance@@v0[[{5,20}]]

EuclideanDistance@@v0[[{14,10}]]

v0=GraphEmbedding[g0];

Norm/@v0[[{9,21,16}]]

Norm/@v0[[{5,20}]]

Norm/@v0[[{13,4,11}]]

Norm/@v0[[{1,12}]]

Norm/@v0[[{7,19,18}]]

Clear[e]

{a,b,c,d,e}=Norm/@v0[[{21,4,19,1,20}]]

q=Pi/2+ArcTan@@v0[[14]]

r=Pi/2-ArcTan@@v0[[20]]

EuclideanDistance@@v[[{16,19}]]

v=Join[
CirclePoints[a,3],CirclePoints[{b,-Pi/2},3],CirclePoints[{c,-Pi/2},3],
CirclePoints[{d,-Pi/2+q},3],CirclePoints[{d,-Pi/2-q},3],
CirclePoints[{e,Pi/2+r},3],CirclePoints[{e,Pi/2-r},3]
];
g=Graph[Range[Length[v]],ee=UnitEdges[v,Tolerance->.05],VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph@g

ee={1\[UndirectedEdge]7,1\[UndirectedEdge]8,1\[UndirectedEdge]18,1\[UndirectedEdge]21,2\[UndirectedEdge]8,2\[UndirectedEdge]9,2\[UndirectedEdge]16,2\[UndirectedEdge]19,3\[UndirectedEdge]7,3\[UndirectedEdge]9,3\[UndirectedEdge]17,3\[UndirectedEdge]20,4\[UndirectedEdge]11,4\[UndirectedEdge]15,4\[UndirectedEdge]18,4\[UndirectedEdge]20,5\[UndirectedEdge]12,5\[UndirectedEdge]13,5\[UndirectedEdge]16,5\[UndirectedEdge]21,6\[UndirectedEdge]10,6\[UndirectedEdge]14,6\[UndirectedEdge]17,6\[UndirectedEdge]19,7\[UndirectedEdge]17,7\[UndirectedEdge]21,8\[UndirectedEdge]18,8\[UndirectedEdge]19,9\[UndirectedEdge]16,9\[UndirectedEdge]20,10\[UndirectedEdge]11,10\[UndirectedEdge]12,10\[UndirectedEdge]17,11\[UndirectedEdge]12,11\[UndirectedEdge]18,12\[UndirectedEdge]16,13\[UndirectedEdge]14,13\[UndirectedEdge]15,13\[UndirectedEdge]21,14\[UndirectedEdge]15,14\[UndirectedEdge]19,15\[UndirectedEdge]20};

Clear[a,b,c,d,e,q,r]

v=Join[
CirclePoints[a,3],CirclePoints[{b,-Pi/2},3],CirclePoints[{c,-Pi/2},3],
CirclePoints[{d,-Pi/2+q},3],CirclePoints[{d,-Pi/2-q},3],
CirclePoints[{e,Pi/2+r},3],CirclePoints[{e,Pi/2-r},3]
];

eqn=Union[UnitEdgeEquations[v,ee]//FullSimplify]

eqn2=TrigExpand[eqn]

Length[eqn2]

soln=NSolve[eqn2,{a,b,c,d,e,f,q,r},Reals]

soln=Solve[eqn2,{a,b,c,d,e,f,q,r},Reals]

eqn3=eqn2/.{Cos[q]->qx,Sin[q]->qy,Cos[r]->rx,Sin[r]->ry}

eqn3={(a^2)+(c^2)==1+a c,3 (d^2)==1,(a^2)+(e^2)==1+2 a e rx,(c^2)+(e^2)==1+c e rx+(Sqrt[3]) c e ry,(d^2)+(e^2)==1+d e qx rx-(Sqrt[3]) d e qy rx+(Sqrt[3]) d e qx ry+d e qy ry,(b^2)+(d^2)+b d qx+(Sqrt[3]) b d qy==1,(d^2)+(e^2)+(Sqrt[3]) d e qy rx-(Sqrt[3]) d e qx ry==1+d e qx rx+d e qy ry,(b^2)+(e^2)+(Sqrt[3]) b e ry==1+b e rx};

Ran for a couple hours:

(soln=Solve[eqn3,{a,b,c,d,e,f,q,rx,ry,qx,qy},Reals])//Timing

gbeqn=Join[Subtract@@@eqn3,{rx^2+ry^2-1,qx^2+qy^2-1}]

(gba=GroebnerBasis[gbeqn,a,{b,c,d,e,f,rx,ry,qx,qy},MonomialOrder->EliminationOrder])//Timing

FindInstance[gba==0&&1/10<a<11/10,a]

(gbb=GroebnerBasis[gbeqn,b,{a,c,d,e,f,rx,ry,qx,qy},MonomialOrder->EliminationOrder])//Timing

FindInstance[gbb==0&&53/100<b<54/100,b]

(gbc=GroebnerBasis[gbeqn,c,{a,b,d,e,f,rx,ry,qx,qy},MonomialOrder->EliminationOrder])//Timing

FindInstance[gbc==0&&1<c<105/100,c]

(gbd=GroebnerBasis[gbeqn,d,{a,b,c,e,f,rx,ry,qx,qy},MonomialOrder->EliminationOrder])//Timing

FindInstance[gbd==0&&57/100<d<58/100,d]

(gbe=GroebnerBasis[gbeqn,e,{a,b,c,d,f,rx,ry,qx,qy},MonomialOrder->EliminationOrder])//Timing

FindInstance[gbe==0&&110/100<e<111/100,e]

(gbrx=GroebnerBasis[gbeqn,rx,{a,b,c,d,e,f,ry,qx,qy},MonomialOrder->EliminationOrder])//Timing

FindInstance[gbrx==0&&99/100<rx<1,rx]

(gbqx=GroebnerBasis[gbeqn,ry,{a,b,c,d,e,f,rx,ry,qy},MonomialOrder->EliminationOrder])//Timing

FindInstance[gbqx==0&&98/100<qx<1,qx]

v=Join[
CirclePoints[a,3],CirclePoints[{b,-Pi/2},3],CirclePoints[{c,-Pi/2},3],
CirclePoints[{d,-Pi/2+q},3],CirclePoints[{d,-Pi/2-q},3],
CirclePoints[{e,Pi/2+r},3],CirclePoints[{e,Pi/2-r},3]
]/.{a->(NumericalApproximation[Root, (RowDefault["0.105", FEExpressionsNumericalApproximationElider]), Root[1-120 ((#1)^2)+2673 ((#1)^4)-5859 ((#1)^6)+3969 ((#1)^8)&,3], ]),b->(NumericalApproximation[Root, (RowDefault["0.530", FEExpressionsNumericalApproximationElider]), Root[64-768 ((#1)^2)+4212 ((#1)^4)-9261 ((#1)^6)+3969 ((#1)^8)&,3], ]),c->(NumericalApproximation[Root, (RowDefault["1.05", FEExpressionsNumericalApproximationElider]), Root[64-201 ((#1)^2)+3645 ((#1)^4)-7560 ((#1)^6)+3969 ((#1)^8)&,4], ]),d->(1/(Sqrt[3])),e->(NumericalApproximation[Root, (RowDefault["1.10", FEExpressionsNumericalApproximationElider]), Root[991-5142 ((#1)^2)+11016 ((#1)^4)-10962 ((#1)^6)+3969 ((#1)^8)&,4], ]),r->ArcCos[(NumericalApproximation[Root, (RowDefault["0.997", FEExpressionsNumericalApproximationElider]), Root[15625-28168 ((#1)^2)+249360 ((#1)^4)-490432 ((#1)^6)+253696 ((#1)^8)&,4], ])],q->ArcCos[(NumericalApproximation[Root, (RowDefault["0.988", FEExpressionsNumericalApproximationElider]), Root[9409-6400 ((#1)^2)-6960 ((#1)^4)-8512 ((#1)^6)+12544 ((#1)^8)&,4], ])]}

(v2=RootReduce[v])//Timing

g=Graph[Range[Length[v]],ee,VertexCoordinates->v2,VertexLabels->Automatic]

RecognizeGraph@g

UnitDistanceGraphEmbeddingQ[g]

N[EdgeLengths[g]-1,10000]

UnitDistance FindSubgraphUnitDistanceEmbedding

{{"GeneralizedHexagon",{2,1}},l=FindSubgraphUnitDistanceEmbedding[GraphData[{"GeneralizedHexagon",{2,1}}],TimeConstraint->300,"Results"->All]//Timing}

gs=UniqueEmbeddings[l]

Matchstick

GraphData[{"GeneralizedHexagon",{2,1}},"Matchstick"]

GraphData[{"GeneralizedHexagon",{2,1}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"GeneralizedHexagon",{2,1}},"Edges"]]

3D All

GraphData[{"GeneralizedHexagon",{2,1}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"GeneralizedHexagon",{2,1}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"GeneralizedHexagon",{2,1}},"Polyhedral"]

GraphData[{"GeneralizedHexagon",{2,1}},"Graph",{"3D","Polyhedron"}]

{"GeneralizedHexagonAndDualPointGraph", {{2, 2}, 1}}

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}},"StandardName"]

Primary

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}}]//StyleGraphs

Default embedding

GraphPlot@GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

All

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}},"Graph","All"]//StyleGraphs

Construction from distanceregular.org

g=DistanceRegularGraph["http://www.distanceregular.org/graphdata/point-dualgh22a.am"]

RecognizeGraph[g]

VertexCount[g]

GraphDiameter[g]//Timing

RegularParameters[g]//Timing

DistanceRegularGraphQ[g]//Timing

IntersectionArray[g]//Timing

IntegerSpectrum[g]//SpectrumForm

GroupOrder[GraphAutomorphismGroup[g]]

HamiltonianGraphQ[g]

Planar

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}},"Planar"]

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}},{"RCN","CN"}]

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

CrossingNumber[GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}}],TimeConstraint->10]//AbsoluteTiming

CrossingNumber[GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}}],TimeConstraint->60]//AbsoluteTiming

g=RotateGraph[MinimalCrossingGraph[GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}}],"CrossingNumber"->-1]]

RecognizeGraph[g]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}},"Halin"]

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}},"LCF"]

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}},"LCFSignature"]

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}}],Debug->True]//Timing

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

Select[UnitDistanceEmbeddingRefine/@Complement@@(GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}},"Graph",#]&/@{"All","UnitDistance"}),UnitDistanceGraphEmbeddingQ]

FindUnitDistanceEmbedding[GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}}],MaxIterations->5000,"ReturnWithMessage"->False]//Timing

UnitDistance FindSubgraphUnitDistanceEmbedding

{{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}},l=FindSubgraphUnitDistanceEmbedding[GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}}],TimeConstraint->300,"Results"->All]//Timing}

gs=UniqueEmbeddings[l]

Matchstick

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}},"Matchstick"]

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}},"Edges"]]

3D All

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}},"Polyhedral"]

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}},"Graph",{"3D","Polyhedron"}]

{"GeneralizedHexagonAndDualPointGraph", {{2, 2}, 2}}

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}},"StandardName"]

Primary

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}}]//StyleGraphs

Default embedding

GraphPlot@GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

All

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}},"Graph","All"]//StyleGraphs

Construct from distanceregular.org

g=DistanceRegularGraph["http://www.distanceregular.org/graphdata/point-dualgh22b.am"]

RecognizeGraph[g]

VertexCount[g]

GraphDiameter[g]//Timing

RegularParameters[g]//Timing

DistanceRegularGraphQ[g]//Timing

IntersectionArray[g]//Timing

IntegerSpectrum[g]//SpectrumForm

GroupOrder[GraphAutomorphismGroup[g]]

HamiltonianGraphQ[g]

ToEntity[g]

VertexCount[g]

GraphDiameter[g]//Timing

RegularParameters[g]//Timing

DistanceRegularGraphQ[g]//Timing

IntersectionArray[g]//Timing

Tally[Eigenvalues[AdjacencyMatrix[g]]]

GroupOrder[GraphAutomorphismGroup[g]]

HamiltonianGraphQ[g]

Planar

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}},"Planar"]

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}},{"RCN","CN"}]

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

CrossingNumber[GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}}],TimeConstraint->10]//AbsoluteTiming

CrossingNumber[GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}}],TimeConstraint->60]//AbsoluteTiming

g=RotateGraph[MinimalCrossingGraph[GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}}],"CrossingNumber"->-1]]

RecognizeGraph[g]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}},"Halin"]

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}},"LCF"]

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}},"LCFSignature"]

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}},"Graph","LCF"]//StyleGraphs

LCF compute

Length[FindHamiltonianCycle[GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}}],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}}],All])[[All,2]]]

gs=LCFGraph@@@DeleteCases[lcf,{_,1|2}]

UnitDistance

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}}],Debug->True]//Timing

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

Select[UnitDistanceEmbeddingRefine/@Complement@@(GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}},"Graph",#]&/@{"All","UnitDistance"}),UnitDistanceGraphEmbeddingQ]

FindUnitDistanceEmbedding[GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}}],MaxIterations->5000,"ReturnWithMessage"->False]//Timing

UnitDistance FindSubgraphUnitDistanceEmbedding

{{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}},l=FindSubgraphUnitDistanceEmbedding[GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}}],TimeConstraint->300,"Results"->All]//Timing}

gs=UniqueEmbeddings[l]

Matchstick

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}},"Matchstick"]

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}},"Edges"]]

3D All

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}},"Polyhedral"]

GraphData[{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}},"Graph",{"3D","Polyhedron"}]

{"GeneralizedHexagon", {3, 1}}

GraphData[{"GeneralizedHexagon",{3,1}},"StandardName"]

Primary

GraphData[{"GeneralizedHexagon",{3,1}}]//StyleGraphs

Default embedding

GraphPlot@GraphData[{"GeneralizedHexagon",{3,1}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

All

GraphData[{"GeneralizedHexagon",{3,1}},"Graph","All"]//StyleGraphs

Construct from distanceregular.org

g=DistanceRegularGraph["http://www.distanceregular.org/graphdata/flag-pg23.am"]

RecognizeGraph[g]

Planar

GraphData[{"GeneralizedHexagon",{3,1}},"Planar"]

GraphData[{"GeneralizedHexagon",{3,1}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"GeneralizedHexagon",{3,1}},{"RCN","CN"}]

GraphData[{"GeneralizedHexagon",{3,1}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

CrossingNumber[GraphData[{"GeneralizedHexagon",{3,1}}],TimeConstraint->10]//AbsoluteTiming

CrossingNumber[GraphData[{"GeneralizedHexagon",{3,1}}],TimeConstraint->60]//AbsoluteTiming

g=RotateGraph[MinimalCrossingGraph[GraphData[{"GeneralizedHexagon",{3,1}}],"CrossingNumber"->-1]]

RecognizeGraph[g]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"GeneralizedHexagon",{3,1}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"GeneralizedHexagon",{3,1}},"Halin"]

GraphData[{"GeneralizedHexagon",{3,1}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"GeneralizedHexagon",{3,1}},"LCF"]

GraphData[{"GeneralizedHexagon",{3,1}},"LCFSignature"]

GraphData[{"GeneralizedHexagon",{3,1}},"Graph","LCF"]//StyleGraphs

LCF compute

Length[FindHamiltonianCycle[GraphData[{"GeneralizedHexagon",{3,1}}],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData[{"GeneralizedHexagon",{3,1}}],All])[[All,2]]]

gs=LCFGraph@@@DeleteCases[lcf,{_,1|2}]

UnitDistance

GraphData[{"GeneralizedHexagon",{3,1}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"GeneralizedHexagon",{3,1}}],Debug->True]//Timing

GraphData[{"GeneralizedHexagon",{3,1}},"Graph","UnitDistance"]//StyleGraphs

Matchstick

GraphData[{"GeneralizedHexagon",{3,1}},"Matchstick"]

GraphData[{"GeneralizedHexagon",{3,1}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"GeneralizedHexagon",{3,1}},"Edges"]]

3D All

GraphData[{"GeneralizedHexagon",{3,1}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"GeneralizedHexagon",{3,1}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"GeneralizedHexagon",{3,1}},"Polyhedral"]

GraphData[{"GeneralizedHexagon",{3,1}},"Graph",{"3D","Polyhedron"}]

{"GeneralizedHexagonAndDualPointGraph", {3, 3}}

GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}},"StandardName"]

Primary

GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}}]//StyleGraphs

Default embedding

GraphPlot@GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

All

GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}},"Graph","All"]//StyleGraphs

Construct from distanceregular.org

g=DistanceRegularGraph["http://www.distanceregular.org/graphdata/pointgraph-gh33.am"]

RecognizeGraph[g]

VertexCount[g]

GraphDiameter[g]//Timing

RegularParameters[g]//Timing

DistanceRegularGraphQ[g]//Timing

IntersectionArray[g]//Timing

IntegerSpectrum[g]//SpectrumForm

GroupOrder[GraphAutomorphismGroup[g]]

HamiltonianGraphQ[g]

Planar

GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}},"Planar"]

GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}},{"RCN","CN"}]

GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

CrossingNumber[GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}}],TimeConstraint->10]//AbsoluteTiming

CrossingNumber[GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}}],TimeConstraint->60]//AbsoluteTiming

g=RotateGraph[MinimalCrossingGraph[GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}}],"CrossingNumber"->-1]]

RecognizeGraph[g]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}},"Halin"]

GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}},"LCF"]

GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}},"LCFSignature"]

GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}},"Graph","LCF"]//StyleGraphs

LCF compute

Length[FindHamiltonianCycle[GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}}],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}}],All])[[All,2]]]

gs=LCFGraph@@@DeleteCases[lcf,{_,1|2}]

UnitDistance

GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}}],Debug->True]//Timing

GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

Select[UnitDistanceEmbeddingRefine/@Complement@@(GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}},"Graph",#]&/@{"All","UnitDistance"}),UnitDistanceGraphEmbeddingQ]

FindUnitDistanceEmbedding[GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

UnitDistance FindSubgraphUnitDistanceEmbedding

{{"GeneralizedHexagonAndDualPointGraph",{3,3}},l=FindSubgraphUnitDistanceEmbedding[GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}}],TimeConstraint->300,"Results"->All]//Timing}

gs=UniqueEmbeddings[l]

Matchstick

GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}},"Matchstick"]

GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}},"Edges"]]

3D All

GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}},"Polyhedral"]

GraphData[{"GeneralizedHexagonAndDualPointGraph",{3,3}},"Graph",{"3D","Polyhedron"}]

{"GeneralizedHexagon", {4, 1}}

GraphData[{"GeneralizedHexagon",{4,1}},"StandardName"]

Primary

GraphData[{"GeneralizedHexagon",{4,1}}]//StyleGraphs

Default embedding

GraphPlot@GraphData[{"GeneralizedHexagon",{4,1}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

All

GraphData[{"GeneralizedHexagon",{4,1}},"Graph","All"]//StyleGraphs

Construct from distanceregular.org

g=DistanceRegularGraph["http://www.distanceregular.org/graphdata/flagpg24.am.csv"]

RecognizeGraph[g]

VertexCount[g]

GraphDiameter[g]//Timing

RegularParameters[g]//Timing

DistanceRegularGraphQ[g]//Timing

IntersectionArray[g]//Timing

IntegerSpectrum[g]//SpectrumForm

GroupOrder[GraphAutomorphismGroup[g]]

HamiltonianGraphQ[g]

Planar

GraphData[{"GeneralizedHexagon",{4,1}},"Planar"]

GraphData[{"GeneralizedHexagon",{4,1}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"GeneralizedHexagon",{4,1}},{"RCN","CN"}]

GraphData[{"GeneralizedHexagon",{4,1}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

CrossingNumber[GraphData[{"GeneralizedHexagon",{4,1}}],TimeConstraint->10]//AbsoluteTiming

CrossingNumber[GraphData[{"GeneralizedHexagon",{4,1}}],TimeConstraint->60]//AbsoluteTiming

g=RotateGraph[MinimalCrossingGraph[GraphData[{"GeneralizedHexagon",{4,1}}],"CrossingNumber"->-1]]

RecognizeGraph[g]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"GeneralizedHexagon",{4,1}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"GeneralizedHexagon",{4,1}},"Halin"]

GraphData[{"GeneralizedHexagon",{4,1}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"GeneralizedHexagon",{4,1}},"LCF"]

GraphData[{"GeneralizedHexagon",{4,1}},"LCFSignature"]

GraphData[{"GeneralizedHexagon",{4,1}},"Graph","LCF"]//StyleGraphs

LCF compute

Length[FindHamiltonianCycle[GraphData[{"GeneralizedHexagon",{4,1}}],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData[{"GeneralizedHexagon",{4,1}}],All])[[All,2]]]

gs=LCFGraph@@@DeleteCases[lcf,{_,1|2}]

UnitDistance

GraphData[{"GeneralizedHexagon",{4,1}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"GeneralizedHexagon",{4,1}}],Debug->True]//Timing

GraphData[{"GeneralizedHexagon",{4,1}},"Graph","UnitDistance"]//StyleGraphs

Matchstick

GraphData[{"GeneralizedHexagon",{4,1}},"Matchstick"]

GraphData[{"GeneralizedHexagon",{4,1}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"GeneralizedHexagon",{4,1}},"Edges"]]

3D All

GraphData[{"GeneralizedHexagon",{4,1}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"GeneralizedHexagon",{4,1}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"GeneralizedHexagon",{4,1}},"Polyhedral"]

GraphData[{"GeneralizedHexagon",{4,1}},"Graph",{"3D","Polyhedron"}]

{"GeneralizedHexagon", {5, 1}}

GraphData[{"GeneralizedHexagon",{5,1}},"StandardName"]

Primary

GraphData[{"GeneralizedHexagon",{5,1}}]//StyleGraphs

Default embedding

GraphPlot@GraphData[{"GeneralizedHexagon",{5,1}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

All

GraphData[{"GeneralizedHexagon",{5,1}},"Graph","All"]//StyleGraphs

Planar

GraphData[{"GeneralizedHexagon",{5,1}},"Planar"]

GraphData[{"GeneralizedHexagon",{5,1}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"GeneralizedHexagon",{5,1}},{"RCN","CN"}]

GraphData[{"GeneralizedHexagon",{5,1}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

CrossingNumber[GraphData[{"GeneralizedHexagon",{5,1}}],TimeConstraint->10]//AbsoluteTiming

CrossingNumber[GraphData[{"GeneralizedHexagon",{5,1}}],TimeConstraint->60]//AbsoluteTiming

g=RotateGraph[MinimalCrossingGraph[GraphData[{"GeneralizedHexagon",{5,1}}],"CrossingNumber"->-1]]

RecognizeGraph[g]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"GeneralizedHexagon",{5,1}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"GeneralizedHexagon",{5,1}},"Halin"]

GraphData[{"GeneralizedHexagon",{5,1}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"GeneralizedHexagon",{5,1}},"LCF"]

GraphData[{"GeneralizedHexagon",{5,1}},"LCFSignature"]

GraphData[{"GeneralizedHexagon",{5,1}},"Graph","LCF"]//StyleGraphs

LCF compute

Length[FindHamiltonianCycle[GraphData[{"GeneralizedHexagon",{5,1}}],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData[{"GeneralizedHexagon",{5,1}}],All])[[All,2]]]

gs=LCFGraph@@@DeleteCases[lcf,{_,1|2}]

UnitDistance

GraphData[{"GeneralizedHexagon",{5,1}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"GeneralizedHexagon",{5,1}}],Debug->True]//Timing

GraphData[{"GeneralizedHexagon",{5,1}},"Graph","UnitDistance"]//StyleGraphs

Matchstick

GraphData[{"GeneralizedHexagon",{5,1}},"Matchstick"]

GraphData[{"GeneralizedHexagon",{5,1}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"GeneralizedHexagon",{5,1}},"Edges"]]

3D All

GraphData[{"GeneralizedHexagon",{5,1}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"GeneralizedHexagon",{5,1}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"GeneralizedHexagon",{5,1}},"Polyhedral"]

GraphData[{"GeneralizedHexagon",{5,1}},"Graph",{"3D","Polyhedron"}]

{"GeneralizedHexagon", {7, 1}}

GraphData[{"GeneralizedHexagon",{7,1}},"StandardName"]

Primary

GraphData[{"GeneralizedHexagon",{7,1}}]//StyleGraphs

Default embedding

GraphPlot@GraphData[{"GeneralizedHexagon",{7,1}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

All

GraphData[{"GeneralizedHexagon",{7,1}},"Graph","All"]//StyleGraphs

Planar

GraphData[{"GeneralizedHexagon",{7,1}},"Planar"]

GraphData[{"GeneralizedHexagon",{7,1}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"GeneralizedHexagon",{7,1}},{"RCN","CN"}]

GraphData[{"GeneralizedHexagon",{7,1}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

CrossingNumber[GraphData[{"GeneralizedHexagon",{7,1}}],TimeConstraint->10]//AbsoluteTiming

CrossingNumber[GraphData[{"GeneralizedHexagon",{7,1}}],TimeConstraint->60]//AbsoluteTiming

g=RotateGraph[MinimalCrossingGraph[GraphData[{"GeneralizedHexagon",{7,1}}],"CrossingNumber"->-1]]

RecognizeGraph[g]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"GeneralizedHexagon",{7,1}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"GeneralizedHexagon",{7,1}},"Halin"]

GraphData[{"GeneralizedHexagon",{7,1}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"GeneralizedHexagon",{7,1}},"LCF"]

GraphData[{"GeneralizedHexagon",{7,1}},"LCFSignature"]

GraphData[{"GeneralizedHexagon",{7,1}},"Graph","LCF"]//StyleGraphs

LCF compute

Length[FindHamiltonianCycle[GraphData[{"GeneralizedHexagon",{7,1}}],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData[{"GeneralizedHexagon",{7,1}}],All])[[All,2]]]

gs=LCFGraph@@@DeleteCases[lcf,{_,1|2}]

UnitDistance

GraphData[{"GeneralizedHexagon",{7,1}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"GeneralizedHexagon",{7,1}}],Debug->True]//Timing

GraphData[{"GeneralizedHexagon",{7,1}},"Graph","UnitDistance"]//StyleGraphs

Matchstick

GraphData[{"GeneralizedHexagon",{7,1}},"Matchstick"]

GraphData[{"GeneralizedHexagon",{7,1}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"GeneralizedHexagon",{7,1}},"Edges"]]

3D All

GraphData[{"GeneralizedHexagon",{7,1}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"GeneralizedHexagon",{7,1}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"GeneralizedHexagon",{7,1}},"Polyhedral"]

GraphData[{"GeneralizedHexagon",{7,1}},"Graph",{"3D","Polyhedron"}]

{"GeneralizedHexagon", {8, 1}}

GraphData[{"GeneralizedHexagon",{8,1}},"StandardName"]

Primary

GraphData[{"GeneralizedHexagon",{8,1}}]//StyleGraphs

Default embedding

GraphPlot@GraphData[{"GeneralizedHexagon",{8,1}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

All

GraphData[{"GeneralizedHexagon",{8,1}},"Graph","All"]//StyleGraphs

Planar

GraphData[{"GeneralizedHexagon",{8,1}},"Planar"]

GraphData[{"GeneralizedHexagon",{8,1}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"GeneralizedHexagon",{8,1}},{"RCN","CN"}]

GraphData[{"GeneralizedHexagon",{8,1}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

CrossingNumber[GraphData[{"GeneralizedHexagon",{8,1}}],TimeConstraint->10]//AbsoluteTiming

CrossingNumber[GraphData[{"GeneralizedHexagon",{8,1}}],TimeConstraint->60]//AbsoluteTiming

g=RotateGraph[MinimalCrossingGraph[GraphData[{"GeneralizedHexagon",{8,1}}],"CrossingNumber"->-1]]

RecognizeGraph[g]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"GeneralizedHexagon",{8,1}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"GeneralizedHexagon",{8,1}},"Halin"]

GraphData[{"GeneralizedHexagon",{8,1}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"GeneralizedHexagon",{8,1}},"LCF"]

GraphData[{"GeneralizedHexagon",{8,1}},"LCFSignature"]

GraphData[{"GeneralizedHexagon",{8,1}},"Graph","LCF"]//StyleGraphs

LCF compute

Length[FindHamiltonianCycle[GraphData[{"GeneralizedHexagon",{8,1}}],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData[{"GeneralizedHexagon",{8,1}}],All])[[All,2]]]

gs=LCFGraph@@@DeleteCases[lcf,{_,1|2}]

UnitDistance

GraphData[{"GeneralizedHexagon",{8,1}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"GeneralizedHexagon",{8,1}}],Debug->True]//Timing

GraphData[{"GeneralizedHexagon",{8,1}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

Matchstick

GraphData[{"GeneralizedHexagon",{8,1}},"Matchstick"]

GraphData[{"GeneralizedHexagon",{8,1}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"GeneralizedHexagon",{8,1}},"Edges"]]

...hangs FE trying to display...

3D All

GraphData[{"GeneralizedHexagon",{8,1}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"GeneralizedHexagon",{8,1}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"GeneralizedHexagon",{8,1}},"Polyhedral"]

GraphData[{"GeneralizedHexagon",{8,1}},"Graph",{"3D","Polyhedron"}]

GraphData

GraphDataString

{"GeneralizedHexagonAndDualPointGraph", {{2, 2}, 1}}

file=OpenWrite["~/gh22p1.m"]

GraphData["GeneralizedHexagon*"]

GraphData[{"GeneralizedHexagon",{2,1}},"Name"]

WriteString[file,GraphDataString[g,
"StandardName"->{"GeneralizedHexagonAndDualPointGraph",{{2,2},1}},
"Name"->"point graph of the generalized hexagon (2,2) and its dual 1",
"Embeddings"->None,
"Information"->None,
"Classes"->{"DistanceRegular","DistanceTransitive","Noncirculant","Nongrid"},
Debug->True,
TimeConstraint->10]]

Close[file]

{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}}

file=OpenWrite["~/gh22p2.m"]

WriteString[file,GraphDataString[g2,
"StandardName"->{"GeneralizedHexagonAndDualPointGraph",{{2,2},2}},
"Name"->"point graph of the generalized hexagon (2,2) and its dual 2",
"Embeddings"->None,
"Information"->None,
"Classes"->{"DistanceRegular","DistanceTransitive","Noncirculant","Nongrid"},
Debug->True,
TimeConstraint->10]]

Close[file]

{"GeneralizedHexagonAndDualPointGraph",{3,3}}}

file=OpenWrite["~/ghpointgraph.m"]

WriteString[file,GraphDataString[g2,
"StandardName"->{"GeneralizedHexagonAndDualPointGraph",{3,3}},
"Name"->"point graph of the generalized hexagon (3,3)",
"Embeddings"->None,
"Information"->None,
"Classes"->{"DistanceRegular","DistanceTransitive","Noncirculant","Nongrid"},
Debug->True,
TimeConstraint->10]]

GH(7, 1)

GraphData[{"Cage",{8,6}},"StandardNames"]

lg=LineGraph[Graph[{"Cage",{8,6}}]]

RecognizeGraph[lg]

Print[GraphDataString[lg,
"Name"->"generalized hexagon (7,1)",
"AlternateStandardNames"->{"GH7,1"},
"StandardName"->{"GeneralizedHexagon",{7,1}},
"Classes"->{"DeterminedBySpectrum","GeneralizedPolygon","LineGraph"},
"NotationRules"->{"GeneralizedPolygon"->{6,{7,1}}},
"Skip"->{"ChromaticPolynomial","ClawFree","Perfect"},
Debug->True,
TimeConstraint->10
]]

GH(8, 1)

GetGraphData[{"Cage",{9,6}},"#"]

lg=LineGraph[FromAdjacencyMatrix[Normal[GetGraphData[{"Cage",{9,6}},"AdjacencyMatrix"]]]]

RecognizeGraph[lg]

Print[GraphDataString[lg,
"Name"->"generalized hexagon (8,1)",
"StandardName"->{"GeneralizedHexagon",{8,1}},
"AlternateStandardNames"->{"GH8,1"},
"Classes"->{"DeterminedBySpectrum","GeneralizedPolygon"},
"Skip"->{"ChromaticPolynomial","ClawFree","Perfect"},
"NotationRules"->{"GeneralizedPolygon"->{6,{8,1}}},
Debug->True,
TimeConstraint->10
]]