Triangular Honeycomb Queen Graph

Author

Eric W. Weisstein
December 10, 2024

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

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

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

Source

Wagon (2104)

Figure

3

g=TriangularHoneycombQueenGraph[3]

EdgeLengths[g]//Tally

v=GraphEmbedding[g];

edges=List@@@EdgeList[g];

strightedges=Select[edges,EuclideanDistance@@v[[#]]<1.01&]

curvededges=Complement[edges,strightedges]

Append[#,.5]&/@curvededges

perp[p1_,p2_,x_,y_]:=Module[{u=p2-p1},p1+x u+y{-#2,#}&@@u]

curvededgesandoffsets={{1,4,-0.5},{1,6,0.5},{4,6,-0.5}};
g3=Graphics[{
FaceForm[LightGray],EdgeForm[Black],Polygon[CirclePoints[#,{1/Sqrt[3],Pi/2},6]]&/@v,
Thick,Line[v,strightedges],
BezierCurve[{v[[#]],perp[v[[#]],v[[#2]],.5,#3/2],v[[#2]]}]&@@@curvededgesandoffsets,
FaceForm[White],Disk[v,.1]
},
PlotLabel->"3\[Hyphen]triangular honeycomb queen graph",
LabelStyle->Directive[Black,FontFamily->"Times",14,Italic]]

4

g=TriangularHoneycombQueenGraph[4]

EdgeLengths[g]//Tally

v=GraphEmbedding[g];

edges=List@@@EdgeList[g];

strightedges=Select[edges,EuclideanDistance@@v[[#]]<1.01&]

curvededges=Complement[edges,strightedges]

Append[#,.5]&/@curvededges

perp[p1_,p2_,x_,y_]:=Module[{u=p2-p1},p1+x u+y{-#2,#}&@@u]

curvededgesandoffsets={{1,4,-0.5},{1,6,0.5},{1,7,-0.5},{1,10,0.5},{2,7,-0.5},{2,9,0.5},{3,8,-0.5},{3,10,0.5},{4,6,0.5},{7,9,-0.5},{7,10,-0.5},{8,10,-0.5}};
g4=Graphics[{
FaceForm[LightGray],EdgeForm[Black],Polygon[CirclePoints[#,{1/Sqrt[3],Pi/2},6]]&/@v,
Thick,Line[v,strightedges],
BezierCurve[{v[[#]],perp[v[[#]],v[[#2]],.5,#3/2],v[[#2]]}]&@@@curvededgesandoffsets,
FaceForm[White],Disk[v,.1]
},
PlotLabel->"4\[Hyphen]triangular honeycomb queen graph",
LabelStyle->Directive[Black,FontFamily->"Times",14,Italic]]

Combined

GraphicsRow[{g3,g4},ImageSize->600,Alignment->Top]

Embedding classes

Graphs.m

GraphicsRow[gs=Table[TriangularHoneycombQueenGraph[n,VertexSize->If[n==1,.01,{"Scaled",.05}],System`VertexStyle->Red,System`EdgeStyle->Black],{n,5}],Dividers->All,ImageSize->500]

Edges

GraphicsRow[Table[System`Graph[EdgeList[TriangularHoneycombQueenGraph[n]],VertexSize->If[n==1,.01,{"Scaled",.05}],System`VertexStyle->Red,System`EdgeStyle->Black],{n,5}],Dividers->All,ImageSize->500]

GraphData default

GraphicsRow[Table[GraphData[{"TriangularHoneycombQueen",n}]/.g_System`Graph:>SetProperty[g,{VertexSize->If[n==1,.01,{"Scaled",.05}],System`VertexStyle->Red,System`EdgeStyle->Black}],{n,6}],Dividers->All,ImageSize->500]

GraphData "TriangularGrid" (degenerate)

GraphicsRow[Table[GraphData[{"TriangularHoneycombQueen",n},"Graph","TriangularGrid"][[1]]/.g_System`Graph:>SetProperty[g,{VertexSize->If[n==1,.01,{"Scaled",.05}],System`VertexStyle->Red,System`EdgeStyle->Black}],{n,6}],Dividers->All,ImageSize->500]

Special cases

With[{cl="TriangularHoneycombQueen"},TextGrid[Sort[{cl/.GraphData[#,"NotationRules"],GraphData[#,"Name"]}&/@DeleteCases[GraphData[cl],{cl,_}]],Dividers->All]]

Classes

GraphClassesThatAre["TriangularHoneycombQueen"]

Intersection@@(GraphData[#,"Classes"]&/@GraphData["TriangularHoneycombQueen"])

StringReplace[StringRiffle[GraphData[#,"Description"]&/@%,", "]," graph"->""]

Embeddings

<<MathWorld`Graphs`

With[{cl="TriangularHoneycombQueen"},SlideView[Row[{
Column[Union@{#,{cl,cl/.GraphData[#,"NotationRules"]}},Alignment->Center],
GetGraphData[#,"File"],Grid[Transpose[{GraphData[#,"Graph","All"],GraphData[#,"EmbeddingClasses"]}],Dividers->All]
},Alignment->Top]&/@Sort@GraphData@cl]]

{"TriangularHoneycombQueen", 1} == "SingletonGraph"

GraphData[{"TriangularHoneycombQueen",1},"StandardName"]

{"TriangularHoneycombQueen", 2} == "TriangleGraph"

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

{"TriangularHoneycombQueen", 3} == "OctahedralGraph"

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

{"TriangularHoneycombQueen", 4}

Names

GraphData[{"TriangularHoneycombQueen",4},"StandardName"]

GraphData[{"TriangularHoneycombQueen",4},"StandardNames"]

Primary

GraphData[{"TriangularHoneycombQueen",4}]//StyleGraphs[#,ImageSize->Small]&

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"TriangularHoneycombQueen",4},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"TriangularHoneycombQueen",4},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"TriangularHoneycombQueen",4},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"TriangularHoneycombQueen",4},"Graph","Degenerate"]

Bilateral

GraphData[{"TriangularHoneycombQueen",4},"Graph","Bilateral"]//StyleGraphs

Grid[DeleteCases[Monitor[{g=#,BilateralGraphEmbeddingQ[#],GraphSymmetryGroup[#]}&/@GraphData[{"TriangularHoneycombQueen",4},"Graph","All"],g],{_,_,TransformationGroup[{}]}],Dividers->All,Alignment->{{Center,{Left}}}]

Circular

GraphData[{"TriangularHoneycombQueen",4},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"TriangularHoneycombQueen",4},"Planar"]

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

MinimalCrossing

GraphData[{"TriangularHoneycombQueen",4},{"RCN","CN"}]

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

MinimalCrossing construction

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

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",4}],TimeConstraint->10])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",4}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

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

Table[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",4}],"CrossingNumber"->cn,RandomSeed->i],{i,500}]//Union

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"TriangularHoneycombQueen",4},"Circulant"]

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

Line graph

GraphData[{"TriangularHoneycombQueen",4},"Line"]

LineGraphQ[GraphData[{"TriangularHoneycombQueen",4}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"TriangularHoneycombQueen",4}&]

RootGraph[GraphData[{"TriangularHoneycombQueen",4}]]

Halin

GraphData[{"TriangularHoneycombQueen",4},"Halin"]

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

Rigid

GraphData[{"TriangularHoneycombQueen",4},"Rigid"]

GraphData[{"TriangularHoneycombQueen",4},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"TriangularHoneycombQueen",4},"Flexible"]

GraphData[{"TriangularHoneycombQueen",4},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"TriangularHoneycombQueen",4},"LCF"]

GraphData[{"TriangularHoneycombQueen",4},"HamiltonianCycleCount"]

GraphData[{"TriangularHoneycombQueen",4},"LCFSignature"]

GraphData[{"TriangularHoneycombQueen",4},"LCFNotations"]

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

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

LCF compute all

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

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

(gs=Flatten[{
(* all LCF's with order >1, sorted by order and with bilateral graphs first *)
Join[DeleteCases[#,{_Missing,_}][[All,1]],Cases[#,{_Missing,_}][[All,2]]]&/@Map[{BilateralLCFGraph@#,#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,1}]]}])//Timing

Length[gs]

UnitDistance

GraphData[{"TriangularHoneycombQueen",4},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"TriangularHoneycombQueen",4},"VertexList"],GraphData[{"TriangularHoneycombQueen",4},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"TriangularHoneycombQueen",4},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

LabelGraph@

GraphPlot@

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"TriangularHoneycombQueen",4},"Matchstick"]

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

3D default

Graph3D[GraphData[{"TriangularHoneycombQueen",4},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"TriangularHoneycombQueen",4},"Polyhedral"]

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

{"TriangularHoneycombQueen", 5}

Names

GraphData[{"TriangularHoneycombQueen",5},"StandardName"]

GraphData[{"TriangularHoneycombQueen",5},"StandardNames"]

Primary

GraphData[{"TriangularHoneycombQueen",5}]//StyleGraphs[#,ImageSize->Small]&

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"TriangularHoneycombQueen",5},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"TriangularHoneycombQueen",5},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"TriangularHoneycombQueen",5},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"TriangularHoneycombQueen",5},"Graph","Degenerate"]

Bilateral

GraphData[{"TriangularHoneycombQueen",5},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"TriangularHoneycombQueen",5},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"TriangularHoneycombQueen",5},"Planar"]

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

MinimalCrossing

GraphData[{"TriangularHoneycombQueen",5},{"RCN","CN"}]

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

MinimalCrossing construction

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

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",5}],TimeConstraint->10])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",5}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",5}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"TriangularHoneycombQueen",5},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",5}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"TriangularHoneycombQueen",5},"Circulant"]

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

Line graph

GraphData[{"TriangularHoneycombQueen",5},"Line"]

LineGraphQ[GraphData[{"TriangularHoneycombQueen",5}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"TriangularHoneycombQueen",5}&]

RootGraph[GraphData[{"TriangularHoneycombQueen",5}]]

Halin

GraphData[{"TriangularHoneycombQueen",5},"Halin"]

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

Rigid

GraphData[{"TriangularHoneycombQueen",5},"Rigid"]

GraphData[{"TriangularHoneycombQueen",5},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"TriangularHoneycombQueen",5},"Flexible"]

GraphData[{"TriangularHoneycombQueen",5},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"TriangularHoneycombQueen",5},"LCF"]

GraphData[{"TriangularHoneycombQueen",5},"HamiltonianCycleCount"]

GraphData[{"TriangularHoneycombQueen",5},"LCFSignature"]

GraphData[{"TriangularHoneycombQueen",5},"LCFNotations"]

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

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

LCF compute all

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

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

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"TriangularHoneycombQueen",5},".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

gs=LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

DeleteMissing[BilateralLCFGraph/@gs]

g=LCFGraph[Sequence@@lcf[[1]],3/2]

UnitDistance

GraphData[{"TriangularHoneycombQueen",5},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"TriangularHoneycombQueen",5},"VertexList"],GraphData[{"TriangularHoneycombQueen",5},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"TriangularHoneycombQueen",5},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"TriangularHoneycombQueen",5},"Matchstick"]

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

3D default

Graph3D[GraphData[{"TriangularHoneycombQueen",5},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"TriangularHoneycombQueen",5},"Polyhedral"]

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

{"TriangularHoneycombQueen", 6}

Names

GraphData[{"TriangularHoneycombQueen",6},"StandardName"]

GraphData[{"TriangularHoneycombQueen",6},"StandardNames"]

Primary

GraphData[{"TriangularHoneycombQueen",6}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"TriangularHoneycombQueen",6},"Graph","All"]//StyleGraphs

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"TriangularHoneycombQueen",6},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"TriangularHoneycombQueen",6},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"TriangularHoneycombQueen",6},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"TriangularHoneycombQueen",6},"Graph","Degenerate"]

Bilateral

GraphData[{"TriangularHoneycombQueen",6},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"TriangularHoneycombQueen",6},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"TriangularHoneycombQueen",6},"Planar"]

GraphData[{"TriangularHoneycombQueen",6},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"TriangularHoneycombQueen",6},{"RCN","CN"}]

GraphData[{"TriangularHoneycombQueen",6},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

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

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",6}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",6}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",6}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",6}],TimeConstraint->5 3600])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",6}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",6}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"TriangularHoneycombQueen",6},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",6}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"TriangularHoneycombQueen",6},"Circulant"]

GraphData[{"TriangularHoneycombQueen",6},"Graph","Circulant"]//StyleGraphs

Line graph

GraphData[{"TriangularHoneycombQueen",6},"Line"]

LineGraphQ[GraphData[{"TriangularHoneycombQueen",6}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"TriangularHoneycombQueen",6}&]

RootGraph[GraphData[{"TriangularHoneycombQueen",6}]]

Halin

GraphData[{"TriangularHoneycombQueen",6},"Halin"]

GraphData[{"TriangularHoneycombQueen",6},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"TriangularHoneycombQueen",6},"Rigid"]

GraphData[{"TriangularHoneycombQueen",6},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"TriangularHoneycombQueen",6},"Flexible"]

GraphData[{"TriangularHoneycombQueen",6},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"TriangularHoneycombQueen",6},"LCF"]

GraphData[{"TriangularHoneycombQueen",6},"HamiltonianCycleCount"]

GraphData[{"TriangularHoneycombQueen",6},"LCFSignature"]

GraphData[{"TriangularHoneycombQueen",6},"LCFNotations"]

GraphData[{"TriangularHoneycombQueen",6},"Graph","LCF"]//StyleGraphs

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

LCF compute random

FindRandomLCFNotation[GraphData[{"TriangularHoneycombQueen",6}],TimeConstraint->120]

LCF compute 10^3

Tally[(lcf=LCF[GraphData[{"TriangularHoneycombQueen",6}],10^3])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

(gs=Flatten[{
(* all LCF's with order >1, sorted by order and with bilateral graphs first *)
Join[DeleteCases[#,{_Missing,_}][[All,1]],Cases[#,{_Missing,_}][[All,2]]]&/@Map[{BilateralLCFGraph@#,#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,1}]]}])//Timing

Length[gs]

LCF compute 10^4

Tally[(lcf=LCF[GraphData[{"TriangularHoneycombQueen",6}],10^4])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

(gs=Flatten[{
(* all LCF's with order >1, sorted by order and with bilateral graphs first *)
Join[DeleteCases[#,{_Missing,_}][[All,1]],Cases[#,{_Missing,_}][[All,2]]]&/@Map[{BilateralLCFGraph@#,#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,1}]]}])//Timing

Length[gs]

LCF compute all

Length[FindHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",6}],All][[All,All,1]]]//Timing

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

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"TriangularHoneycombQueen",6},".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

(gs=Flatten[{
(* all LCF's with order >1, sorted by order and with bilateral graphs first *)
Join[DeleteCases[#,{_Missing,_}][[All,1]],Cases[#,{_Missing,_}][[All,2]]]&/@Map[{BilateralLCFGraph@#,#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,1}]]}])//Timing

Length[gs]

UnitDistance

GraphData[{"TriangularHoneycombQueen",6},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"TriangularHoneycombQueen",6}],Debug->True]//Timing

GraphData[{"TriangularHoneycombQueen",6},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"TriangularHoneycombQueen",6},"VertexList"],GraphData[{"TriangularHoneycombQueen",6},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"TriangularHoneycombQueen",6},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"TriangularHoneycombQueen",6},"Matchstick"]

GraphData[{"TriangularHoneycombQueen",6},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"TriangularHoneycombQueen",6},"Edges"]]

3D All

GraphData[{"TriangularHoneycombQueen",6},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"TriangularHoneycombQueen",6},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"TriangularHoneycombQueen",6},"Polyhedral"]

GraphData[{"TriangularHoneycombQueen",6},"Graph",{"3D","Polyhedron"}]

{"TriangularHoneycombQueen", 7}

Names

GraphData[{"TriangularHoneycombQueen",7},"StandardName"]

GraphData[{"TriangularHoneycombQueen",7},"StandardNames"]

Primary

GraphData[{"TriangularHoneycombQueen",7}]//StyleGraphs[#,ImageSize->Small]&

All

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

Configuration

GraphData[{"TriangularHoneycombQueen",7},"Configuration"]

GraphData[{"TriangularHoneycombQueen",7},"Graph","Configuration"]//StyleGraphs

config=%[[1]]

AddAllConfigurationEdges[config]//RecognizeGraph

ConfigurationDiagram[config,2]

lines=ConfigurationLinesFromGraph[config]

r=LeviGraph[lines]//RecognizeGraph

FirstCase[GraphData[r,"StandardNames"],{"Incidence",_}]

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"TriangularHoneycombQueen",7},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"TriangularHoneycombQueen",7},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"TriangularHoneycombQueen",7},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"TriangularHoneycombQueen",7},"Graph","Degenerate"]

Perspective

GraphData[{"TriangularHoneycombQueen",7},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"TriangularHoneycombQueen",7},"Polyhedron"]

PolyhedronGraph[GraphData[{"TriangularHoneycombQueen",7},"Polyhedron"]]

Manipulate[PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",7},"Polyhedron"],{x,y,z}],{x,-1,1},{y,-1,1},{z,-1,1}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",7},"Polyhedron"],{0,.01,.01}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",7},"Polyhedron"],{0,0,1}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",7},"Polyhedron"],{0,1,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",7},"Polyhedron"],{1,0.01,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",7},"Polyhedron"],{1,1,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",7},"Polyhedron"],{1,0,1,-Pi/2}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",7},"Polyhedron"],{1,1,1}]

Bilateral

GraphData[{"TriangularHoneycombQueen",7},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"TriangularHoneycombQueen",7},"Graph","Circular"]//StyleGraphs

Circular construction

GraphData[{"TriangularHoneycombQueen",7},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",7}],All][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",7}],#]&/@hc

Length[bilat=DeleteDuplicatesBy[
DeleteMissing[BilaterallyRotatedGraph/@circ],
CircularCanonicalGraphEmbedding]]//Timing

gs=bilat

Length[quad=DeleteDuplicatesBy[Union@Select[bilat,BilateralGraphEmbeddingQ[#,Axis->"X"]&],CircularCanonicalGraphEmbedding[#,4]&]]

quad

Planar

GraphData[{"TriangularHoneycombQueen",7},"Planar"]

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

MinimalCrossing

GraphData[{"TriangularHoneycombQueen",7},{"RCN","CN"}]

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

MinimalCrossing construction

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

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",7}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",7}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",7}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",7}],TimeConstraint->5 3600])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",7}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",7}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"TriangularHoneycombQueen",7},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",7}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union//Timing

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"TriangularHoneycombQueen",7},"Circulant"]

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

Circulant construction

GraphData[{"TriangularHoneycombQueen",7},"NotationRules","Circulant"]

(ci=CirculantIndices[GraphData[{"TriangularHoneycombQueen",7}]])//Timing

CirculantGraph1@@@ci

Cases[GraphData[{"TriangularHoneycombQueen",7},"StandardNames"],{"Circulant",i_}:>i]

CirculantGraph1@@@%

Complement graph

GraphData[{"TriangularHoneycombQueen",7},"ComplementGraph","Name"]

GraphComplement/@GraphData[%,"Graph","All"]

Line graph

GraphData[{"TriangularHoneycombQueen",7},"Line"]

LineGraphQ[GraphData[{"TriangularHoneycombQueen",7}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"TriangularHoneycombQueen",7}&]

RootGraph[GraphData[{"TriangularHoneycombQueen",7}]]

Halin

GraphData[{"TriangularHoneycombQueen",7},"Halin"]

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

Rigid

GraphData[{"TriangularHoneycombQueen",7},"Rigid"]

GraphData[{"TriangularHoneycombQueen",7},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"TriangularHoneycombQueen",7},"Flexible"]

GraphData[{"TriangularHoneycombQueen",7},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"TriangularHoneycombQueen",7},"LCF"]

GraphData[{"TriangularHoneycombQueen",7},"HamiltonianCycleCount"]

GraphData[{"TriangularHoneycombQueen",7},"LCFSignature"]

GraphData[{"TriangularHoneycombQueen",7},"LCFNotations"]

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

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

LCF compute random

FindRandomLCFNotation[GraphData[{"TriangularHoneycombQueen",7}],TimeConstraint->120]

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"TriangularHoneycombQueen",7}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

nicelcf=LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"TriangularHoneycombQueen",7},{0,Missing["NotAvailable",DeleteCases[nicelcf,{_,XXX}]]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute all

Divisors[GraphData[{"TriangularHoneycombQueen",7},"V"]]

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

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

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"TriangularHoneycombQueen",7},".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

UnitDistance

GraphData[{"TriangularHoneycombQueen",7},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"TriangularHoneycombQueen",7},"VertexList"],GraphData[{"TriangularHoneycombQueen",7},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"TriangularHoneycombQueen",7},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

FindUnitDistanceEmbedding[GraphData[{"TriangularHoneycombQueen",7}],MaxIterations->5000,"ReturnWithMessage"->False]//Quiet//Timing

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

gs=SortBy[UniqueEmbeddings[l],Replace[RectilinearCrossingCount[#],Infinity->0]&]

Matchstick

GraphData[{"TriangularHoneycombQueen",7},"Matchstick"]

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

3D default

Graph3D[GraphData[{"TriangularHoneycombQueen",7},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"TriangularHoneycombQueen",7},"Polyhedral"]

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

{"TriangularHoneycombQueen", 8}

Names

GraphData[{"TriangularHoneycombQueen",8},"StandardName"]

GraphData[{"TriangularHoneycombQueen",8},"StandardNames"]

Primary

GraphData[{"TriangularHoneycombQueen",8}]//StyleGraphs[#,ImageSize->Small]&

All

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

Configuration

GraphData[{"TriangularHoneycombQueen",8},"Configuration"]

GraphData[{"TriangularHoneycombQueen",8},"Graph","Configuration"]//StyleGraphs

config=%[[1]]

AddAllConfigurationEdges[config]//RecognizeGraph

ConfigurationDiagram[config,2]

lines=ConfigurationLinesFromGraph[config]

r=LeviGraph[lines]//RecognizeGraph

FirstCase[GraphData[r,"StandardNames"],{"Incidence",_}]

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"TriangularHoneycombQueen",8},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"TriangularHoneycombQueen",8},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"TriangularHoneycombQueen",8},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"TriangularHoneycombQueen",8},"Graph","Degenerate"]

Perspective

GraphData[{"TriangularHoneycombQueen",8},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"TriangularHoneycombQueen",8},"Polyhedron"]

PolyhedronGraph[GraphData[{"TriangularHoneycombQueen",8},"Polyhedron"]]

Manipulate[PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",8},"Polyhedron"],{x,y,z}],{x,-1,1},{y,-1,1},{z,-1,1}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",8},"Polyhedron"],{0,.01,.01}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",8},"Polyhedron"],{0,0,1}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",8},"Polyhedron"],{0,1,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",8},"Polyhedron"],{1,0.01,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",8},"Polyhedron"],{1,1,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",8},"Polyhedron"],{1,0,1,-Pi/2}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",8},"Polyhedron"],{1,1,1}]

Bilateral

GraphData[{"TriangularHoneycombQueen",8},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"TriangularHoneycombQueen",8},"Graph","Circular"]//StyleGraphs

Circular construction

GraphData[{"TriangularHoneycombQueen",8},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",8}],All][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",8}],#]&/@hc

Length[bilat=DeleteDuplicatesBy[
DeleteMissing[BilaterallyRotatedGraph/@circ],
CircularCanonicalGraphEmbedding]]//Timing

gs=bilat

Length[quad=DeleteDuplicatesBy[Union@Select[bilat,BilateralGraphEmbeddingQ[#,Axis->"X"]&],CircularCanonicalGraphEmbedding[#,4]&]]

quad

Planar

GraphData[{"TriangularHoneycombQueen",8},"Planar"]

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

MinimalCrossing

GraphData[{"TriangularHoneycombQueen",8},{"RCN","CN"}]

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

MinimalCrossing construction

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

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",8}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",8}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",8}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",8}],TimeConstraint->5 3600])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",8}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",8}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"TriangularHoneycombQueen",8},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",8}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union//Timing

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"TriangularHoneycombQueen",8},"Circulant"]

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

Circulant construction

GraphData[{"TriangularHoneycombQueen",8},"NotationRules","Circulant"]

(ci=CirculantIndices[GraphData[{"TriangularHoneycombQueen",8}]])//Timing

CirculantGraph1@@@ci

Cases[GraphData[{"TriangularHoneycombQueen",8},"StandardNames"],{"Circulant",i_}:>i]

CirculantGraph1@@@%

Complement graph

GraphData[{"TriangularHoneycombQueen",8},"ComplementGraph","Name"]

GraphComplement/@GraphData[%,"Graph","All"]

Line graph

GraphData[{"TriangularHoneycombQueen",8},"Line"]

LineGraphQ[GraphData[{"TriangularHoneycombQueen",8}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"TriangularHoneycombQueen",8}&]

RootGraph[GraphData[{"TriangularHoneycombQueen",8}]]

Halin

GraphData[{"TriangularHoneycombQueen",8},"Halin"]

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

Rigid

GraphData[{"TriangularHoneycombQueen",8},"Rigid"]

GraphData[{"TriangularHoneycombQueen",8},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"TriangularHoneycombQueen",8},"Flexible"]

GraphData[{"TriangularHoneycombQueen",8},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"TriangularHoneycombQueen",8},"LCF"]

GraphData[{"TriangularHoneycombQueen",8},"HamiltonianCycleCount"]

GraphData[{"TriangularHoneycombQueen",8},"LCFSignature"]

GraphData[{"TriangularHoneycombQueen",8},"LCFNotations"]

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

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

LCF compute random

FindRandomLCFNotation[GraphData[{"TriangularHoneycombQueen",8}],TimeConstraint->120]

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"TriangularHoneycombQueen",8}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

nicelcf=LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"TriangularHoneycombQueen",8},{0,Missing["NotAvailable",DeleteCases[nicelcf,{_,XXX}]]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute all

Divisors[GraphData[{"TriangularHoneycombQueen",8},"V"]]

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

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

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"TriangularHoneycombQueen",8},".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

UnitDistance

GraphData[{"TriangularHoneycombQueen",8},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"TriangularHoneycombQueen",8},"VertexList"],GraphData[{"TriangularHoneycombQueen",8},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"TriangularHoneycombQueen",8},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

FindUnitDistanceEmbedding[GraphData[{"TriangularHoneycombQueen",8}],MaxIterations->5000,"ReturnWithMessage"->False]//Quiet//Timing

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

gs=SortBy[UniqueEmbeddings[l],Replace[RectilinearCrossingCount[#],Infinity->0]&]

Matchstick

GraphData[{"TriangularHoneycombQueen",8},"Matchstick"]

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

3D default

Graph3D[GraphData[{"TriangularHoneycombQueen",8},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"TriangularHoneycombQueen",8},"Polyhedral"]

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

{"TriangularHoneycombQueen", 9}

Names

GraphData[{"TriangularHoneycombQueen",9},"StandardName"]

GraphData[{"TriangularHoneycombQueen",9},"StandardNames"]

Primary

GraphData[{"TriangularHoneycombQueen",9}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"TriangularHoneycombQueen",9},"Graph","All"]//StyleGraphs

Configuration

GraphData[{"TriangularHoneycombQueen",9},"Configuration"]

GraphData[{"TriangularHoneycombQueen",9},"Graph","Configuration"]//StyleGraphs

config=%[[1]]

AddAllConfigurationEdges[config]//RecognizeGraph

ConfigurationDiagram[config,2]

lines=ConfigurationLinesFromGraph[config]

r=LeviGraph[lines]//RecognizeGraph

FirstCase[GraphData[r,"StandardNames"],{"Incidence",_}]

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"TriangularHoneycombQueen",9},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"TriangularHoneycombQueen",9},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"TriangularHoneycombQueen",9},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"TriangularHoneycombQueen",9},"Graph","Degenerate"]

Perspective

GraphData[{"TriangularHoneycombQueen",9},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"TriangularHoneycombQueen",9},"Polyhedron"]

PolyhedronGraph[GraphData[{"TriangularHoneycombQueen",9},"Polyhedron"]]

Manipulate[PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",9},"Polyhedron"],{x,y,z}],{x,-1,1},{y,-1,1},{z,-1,1}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",9},"Polyhedron"],{0,.01,.01}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",9},"Polyhedron"],{0,0,1}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",9},"Polyhedron"],{0,1,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",9},"Polyhedron"],{1,0.01,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",9},"Polyhedron"],{1,1,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",9},"Polyhedron"],{1,0,1,-Pi/2}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",9},"Polyhedron"],{1,1,1}]

Bilateral

GraphData[{"TriangularHoneycombQueen",9},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"TriangularHoneycombQueen",9},"Graph","Circular"]//StyleGraphs

Circular construction

GraphData[{"TriangularHoneycombQueen",9},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",9}],All][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",9}],#]&/@hc

Length[bilat=DeleteDuplicatesBy[
DeleteMissing[BilaterallyRotatedGraph/@circ],
CircularCanonicalGraphEmbedding]]//Timing

gs=bilat

Length[quad=DeleteDuplicatesBy[Union@Select[bilat,BilateralGraphEmbeddingQ[#,Axis->"X"]&],CircularCanonicalGraphEmbedding[#,4]&]]

quad

Planar

GraphData[{"TriangularHoneycombQueen",9},"Planar"]

GraphData[{"TriangularHoneycombQueen",9},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"TriangularHoneycombQueen",9},{"RCN","CN"}]

GraphData[{"TriangularHoneycombQueen",9},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

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

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",9}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",9}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",9}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",9}],TimeConstraint->5 3600])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",9}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",9}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"TriangularHoneycombQueen",9},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",9}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union//Timing

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"TriangularHoneycombQueen",9},"Circulant"]

GraphData[{"TriangularHoneycombQueen",9},"Graph","Circulant"]//StyleGraphs

Circulant construction

GraphData[{"TriangularHoneycombQueen",9},"NotationRules","Circulant"]

(ci=CirculantIndices[GraphData[{"TriangularHoneycombQueen",9}]])//Timing

CirculantGraph1@@@ci

Cases[GraphData[{"TriangularHoneycombQueen",9},"StandardNames"],{"Circulant",i_}:>i]

CirculantGraph1@@@%

Complement graph

GraphData[{"TriangularHoneycombQueen",9},"ComplementGraph","Name"]

GraphComplement/@GraphData[%,"Graph","All"]

Line graph

GraphData[{"TriangularHoneycombQueen",9},"Line"]

LineGraphQ[GraphData[{"TriangularHoneycombQueen",9}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"TriangularHoneycombQueen",9}&]

RootGraph[GraphData[{"TriangularHoneycombQueen",9}]]

Halin

GraphData[{"TriangularHoneycombQueen",9},"Halin"]

GraphData[{"TriangularHoneycombQueen",9},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"TriangularHoneycombQueen",9},"Rigid"]

GraphData[{"TriangularHoneycombQueen",9},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"TriangularHoneycombQueen",9},"Flexible"]

GraphData[{"TriangularHoneycombQueen",9},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"TriangularHoneycombQueen",9},"LCF"]

GraphData[{"TriangularHoneycombQueen",9},"HamiltonianCycleCount"]

GraphData[{"TriangularHoneycombQueen",9},"LCFSignature"]

GraphData[{"TriangularHoneycombQueen",9},"LCFNotations"]

GraphData[{"TriangularHoneycombQueen",9},"Graph","LCF"]//StyleGraphs

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

LCF compute random

FindRandomLCFNotation[GraphData[{"TriangularHoneycombQueen",9}],TimeConstraint->120]

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"TriangularHoneycombQueen",9}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

nicelcf=LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"TriangularHoneycombQueen",9},{0,Missing["NotAvailable",DeleteCases[nicelcf,{_,XXX}]]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute all

Divisors[GraphData[{"TriangularHoneycombQueen",9},"V"]]

Length[FindHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",9}],All][[All,All,1]]]//Timing

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

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"TriangularHoneycombQueen",9},".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

UnitDistance

GraphData[{"TriangularHoneycombQueen",9},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"TriangularHoneycombQueen",9}],Debug->True]//Timing

GraphData[{"TriangularHoneycombQueen",9},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"TriangularHoneycombQueen",9},"VertexList"],GraphData[{"TriangularHoneycombQueen",9},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"TriangularHoneycombQueen",9},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

FindUnitDistanceEmbedding[GraphData[{"TriangularHoneycombQueen",9}],MaxIterations->5000,"ReturnWithMessage"->False]//Quiet//Timing

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

gs=SortBy[UniqueEmbeddings[l],Replace[RectilinearCrossingCount[#],Infinity->0]&]

Matchstick

GraphData[{"TriangularHoneycombQueen",9},"Matchstick"]

GraphData[{"TriangularHoneycombQueen",9},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"TriangularHoneycombQueen",9},"Edges"]]

3D All

GraphData[{"TriangularHoneycombQueen",9},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"TriangularHoneycombQueen",9},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"TriangularHoneycombQueen",9},"Polyhedral"]

GraphData[{"TriangularHoneycombQueen",9},"Graph",{"3D","Polyhedron"}]

{"TriangularHoneycombQueen", 10}

Names

GraphData[{"TriangularHoneycombQueen",10},"StandardName"]

GraphData[{"TriangularHoneycombQueen",10},"StandardNames"]

Primary

GraphData[{"TriangularHoneycombQueen",10}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"TriangularHoneycombQueen",10},"Graph","All"]//StyleGraphs

Configuration

GraphData[{"TriangularHoneycombQueen",10},"Configuration"]

GraphData[{"TriangularHoneycombQueen",10},"Graph","Configuration"]//StyleGraphs

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"TriangularHoneycombQueen",10},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"TriangularHoneycombQueen",10},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"TriangularHoneycombQueen",10},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"TriangularHoneycombQueen",10},"Graph","Degenerate"]

Perspective

GraphData[{"TriangularHoneycombQueen",10},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"TriangularHoneycombQueen",10},"Polyhedron"]

PolyhedronGraph[GraphData[{"TriangularHoneycombQueen",10},"Polyhedron"]]

Manipulate[PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",10},"Polyhedron"],{x,y,z}],{x,-1,1},{y,-1,1},{z,-1,1}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",10},"Polyhedron"],{0,.01,.01}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",10},"Polyhedron"],{0,0,1}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",10},"Polyhedron"],{0,1,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",10},"Polyhedron"],{1,0.01,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",10},"Polyhedron"],{1,1,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",10},"Polyhedron"],{1,0,1,-Pi/2}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",10},"Polyhedron"],{1,1,1}]

Bilateral

GraphData[{"TriangularHoneycombQueen",10},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"TriangularHoneycombQueen",10},"Graph","Circular"]//StyleGraphs

Circular construction

GraphData[{"TriangularHoneycombQueen",10},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",10}],All][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",10}],#]&/@hc

Length[bilat=DeleteDuplicatesBy[
DeleteMissing[BilaterallyRotatedGraph/@circ],
CircularCanonicalGraphEmbedding]]//Timing

gs=bilat

Length[quad=DeleteDuplicatesBy[Union@Select[bilat,BilateralGraphEmbeddingQ[#,Axis->"X"]&],CircularCanonicalGraphEmbedding[#,4]&]]

quad

Planar

GraphData[{"TriangularHoneycombQueen",10},"Planar"]

GraphData[{"TriangularHoneycombQueen",10},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"TriangularHoneycombQueen",10},{"RCN","CN"}]

GraphData[{"TriangularHoneycombQueen",10},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

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

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

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",10}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",10}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",10}],TimeConstraint->5 3600])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",10}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",10}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"TriangularHoneycombQueen",10},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",10}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union//Timing

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"TriangularHoneycombQueen",10},"Circulant"]

GraphData[{"TriangularHoneycombQueen",10},"Graph","Circulant"]//StyleGraphs

Circulant construction

GraphData[{"TriangularHoneycombQueen",10},"NotationRules","Circulant"]

(ci=CirculantIndices[GraphData[{"TriangularHoneycombQueen",10}]])//Timing

CirculantGraph1@@@ci

Cases[GraphData[{"TriangularHoneycombQueen",10},"StandardNames"],{"Circulant",i_}:>i]

CirculantGraph1@@@%

Complement graph

GraphData[{"TriangularHoneycombQueen",10},"ComplementGraph","Name"]

GraphComplement/@GraphData[%,"Graph","All"]

Line graph

GraphData[{"TriangularHoneycombQueen",10},"Line"]

LineGraphQ[GraphData[{"TriangularHoneycombQueen",10}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"TriangularHoneycombQueen",10}&]

RootGraph[GraphData[{"TriangularHoneycombQueen",10}]]

Halin

GraphData[{"TriangularHoneycombQueen",10},"Halin"]

GraphData[{"TriangularHoneycombQueen",10},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"TriangularHoneycombQueen",10},"Rigid"]

GraphData[{"TriangularHoneycombQueen",10},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"TriangularHoneycombQueen",10},"Flexible"]

GraphData[{"TriangularHoneycombQueen",10},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"TriangularHoneycombQueen",10},"LCF"]

GraphData[{"TriangularHoneycombQueen",10},"HamiltonianCycleCount"]

GraphData[{"TriangularHoneycombQueen",10},"LCFSignature"]

GraphData[{"TriangularHoneycombQueen",10},"LCFNotations"]

GraphData[{"TriangularHoneycombQueen",10},"Graph","LCF"]//StyleGraphs

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

LCF compute random

FindRandomLCFNotation[GraphData[{"TriangularHoneycombQueen",10}],TimeConstraint->120]

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"TriangularHoneycombQueen",10}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

nicelcf=LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"TriangularHoneycombQueen",10},{0,Missing["NotAvailable",DeleteCases[nicelcf,{_,XXX}]]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute all

Divisors[GraphData[{"TriangularHoneycombQueen",10},"V"]]

Length[FindHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",10}],All][[All,All,1]]]//Timing

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

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"TriangularHoneycombQueen",10},".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

UnitDistance

GraphData[{"TriangularHoneycombQueen",10},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"TriangularHoneycombQueen",10}],Debug->True]//Timing

GraphData[{"TriangularHoneycombQueen",10},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"TriangularHoneycombQueen",10},"VertexList"],GraphData[{"TriangularHoneycombQueen",10},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"TriangularHoneycombQueen",10},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

FindUnitDistanceEmbedding[GraphData[{"TriangularHoneycombQueen",10}],MaxIterations->5000,"ReturnWithMessage"->False]//Quiet//Timing

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

gs=SortBy[UniqueEmbeddings[l],Replace[RectilinearCrossingCount[#],Infinity->0]&]

Matchstick

GraphData[{"TriangularHoneycombQueen",10},"Matchstick"]

GraphData[{"TriangularHoneycombQueen",10},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"TriangularHoneycombQueen",10},"Edges"]]

3D All

GraphData[{"TriangularHoneycombQueen",10},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"TriangularHoneycombQueen",10},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"TriangularHoneycombQueen",10},"Polyhedral"]

GraphData[{"TriangularHoneycombQueen",10},"Graph",{"3D","Polyhedron"}]

{"TriangularHoneycombQueen", 11}

Names

GraphData[{"TriangularHoneycombQueen",11},"StandardName"]

GraphData[{"TriangularHoneycombQueen",11},"StandardNames"]

Primary

GraphData[{"TriangularHoneycombQueen",11}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"TriangularHoneycombQueen",11},"Graph","All"]//StyleGraphs

Configuration

GraphData[{"TriangularHoneycombQueen",11},"Configuration"]

GraphData[{"TriangularHoneycombQueen",11},"Graph","Configuration"]//StyleGraphs

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"TriangularHoneycombQueen",11},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"TriangularHoneycombQueen",11},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"TriangularHoneycombQueen",11},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"TriangularHoneycombQueen",11},"Graph","Degenerate"]

Perspective

GraphData[{"TriangularHoneycombQueen",11},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"TriangularHoneycombQueen",11},"Polyhedron"]

PolyhedronGraph[GraphData[{"TriangularHoneycombQueen",11},"Polyhedron"]]

Manipulate[PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",11},"Polyhedron"],{x,y,z}],{x,-1,1},{y,-1,1},{z,-1,1}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",11},"Polyhedron"],{0,.01,.01}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",11},"Polyhedron"],{0,0,1}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",11},"Polyhedron"],{0,1,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",11},"Polyhedron"],{1,0.01,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",11},"Polyhedron"],{1,1,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",11},"Polyhedron"],{1,0,1,-Pi/2}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",11},"Polyhedron"],{1,1,1}]

Bilateral

GraphData[{"TriangularHoneycombQueen",11},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"TriangularHoneycombQueen",11},"Graph","Circular"]//StyleGraphs

Circular construction

GraphData[{"TriangularHoneycombQueen",11},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",11}],All][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",11}],#]&/@hc

Length[bilat=DeleteDuplicatesBy[
DeleteMissing[BilaterallyRotatedGraph/@circ],
CircularCanonicalGraphEmbedding]]//Timing

gs=bilat

Length[quad=DeleteDuplicatesBy[Union@Select[bilat,BilateralGraphEmbeddingQ[#,Axis->"X"]&],CircularCanonicalGraphEmbedding[#,4]&]]

quad

Planar

GraphData[{"TriangularHoneycombQueen",11},"Planar"]

GraphData[{"TriangularHoneycombQueen",11},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"TriangularHoneycombQueen",11},{"RCN","CN"}]

GraphData[{"TriangularHoneycombQueen",11},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

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

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",11}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",11}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",11}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",11}],TimeConstraint->5 3600])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",11}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",11}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"TriangularHoneycombQueen",11},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",11}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union//Timing

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"TriangularHoneycombQueen",11},"Circulant"]

GraphData[{"TriangularHoneycombQueen",11},"Graph","Circulant"]//StyleGraphs

Complement graph

GraphData[{"TriangularHoneycombQueen",11},"ComplementGraph","Name"]

GraphComplement/@GraphData[%,"Graph","All"]

Line graph

GraphData[{"TriangularHoneycombQueen",11},"Line"]

LineGraphQ[GraphData[{"TriangularHoneycombQueen",11}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"TriangularHoneycombQueen",11}&]

RootGraph[GraphData[{"TriangularHoneycombQueen",11}]]

Halin

GraphData[{"TriangularHoneycombQueen",11},"Halin"]

GraphData[{"TriangularHoneycombQueen",11},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"TriangularHoneycombQueen",11},"Rigid"]

GraphData[{"TriangularHoneycombQueen",11},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"TriangularHoneycombQueen",11},"Flexible"]

GraphData[{"TriangularHoneycombQueen",11},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"TriangularHoneycombQueen",11},"LCF"]

GraphData[{"TriangularHoneycombQueen",11},"HamiltonianCycleCount"]

GraphData[{"TriangularHoneycombQueen",11},"LCFSignature"]

GraphData[{"TriangularHoneycombQueen",11},"LCFNotations"]

GraphData[{"TriangularHoneycombQueen",11},"Graph","LCF"]//StyleGraphs

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

LCF compute random

FindRandomLCFNotation[GraphData[{"TriangularHoneycombQueen",11}],TimeConstraint->120]

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"TriangularHoneycombQueen",11}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

nicelcf=LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"TriangularHoneycombQueen",11},{0,Missing["NotAvailable",DeleteCases[nicelcf,{_,XXX}]]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute all

Divisors[GraphData[{"TriangularHoneycombQueen",11},"V"]]

Length[FindHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",11}],All][[All,All,1]]]//Timing

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

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"TriangularHoneycombQueen",11},".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

UnitDistance

GraphData[{"TriangularHoneycombQueen",11},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"TriangularHoneycombQueen",11}],Debug->True]//Timing

GraphData[{"TriangularHoneycombQueen",11},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"TriangularHoneycombQueen",11},"VertexList"],GraphData[{"TriangularHoneycombQueen",11},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"TriangularHoneycombQueen",11},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

FindUnitDistanceEmbedding[GraphData[{"TriangularHoneycombQueen",11}],MaxIterations->5000,"ReturnWithMessage"->False]//Quiet//Timing

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

gs=SortBy[UniqueEmbeddings[l],Replace[RectilinearCrossingCount[#],Infinity->0]&]

Matchstick

GraphData[{"TriangularHoneycombQueen",11},"Matchstick"]

GraphData[{"TriangularHoneycombQueen",11},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"TriangularHoneycombQueen",11},"Edges"]]

3D All

GraphData[{"TriangularHoneycombQueen",11},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"TriangularHoneycombQueen",11},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"TriangularHoneycombQueen",11},"Polyhedral"]

GraphData[{"TriangularHoneycombQueen",11},"Graph",{"3D","Polyhedron"}]

{"TriangularHoneycombQueen", 12}

Names

GraphData[{"TriangularHoneycombQueen",12},"StandardName"]

GraphData[{"TriangularHoneycombQueen",12},"StandardNames"]

Primary

GraphData[{"TriangularHoneycombQueen",12}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"TriangularHoneycombQueen",12},"Graph","All"]//StyleGraphs

Configuration

GraphData[{"TriangularHoneycombQueen",12},"Configuration"]

GraphData[{"TriangularHoneycombQueen",12},"Graph","Configuration"]//StyleGraphs

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"TriangularHoneycombQueen",12},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"TriangularHoneycombQueen",12},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"TriangularHoneycombQueen",12},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"TriangularHoneycombQueen",12},"Graph","Degenerate"]

Perspective

GraphData[{"TriangularHoneycombQueen",12},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"TriangularHoneycombQueen",12},"Polyhedron"]

PolyhedronGraph[GraphData[{"TriangularHoneycombQueen",12},"Polyhedron"]]

Manipulate[PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",12},"Polyhedron"],{x,y,z}],{x,-1,1},{y,-1,1},{z,-1,1}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",12},"Polyhedron"],{0,.01,.01}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",12},"Polyhedron"],{0,0,1}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",12},"Polyhedron"],{0,1,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",12},"Polyhedron"],{1,0.01,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",12},"Polyhedron"],{1,1,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",12},"Polyhedron"],{1,0,1,-Pi/2}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",12},"Polyhedron"],{1,1,1}]

Bilateral

GraphData[{"TriangularHoneycombQueen",12},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"TriangularHoneycombQueen",12},"Graph","Circular"]//StyleGraphs

Circular construction

GraphData[{"TriangularHoneycombQueen",12},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",12}],All][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",12}],#]&/@hc

Length[bilat=DeleteDuplicatesBy[
DeleteMissing[BilaterallyRotatedGraph/@circ],
CircularCanonicalGraphEmbedding]]//Timing

gs=bilat

Length[quad=DeleteDuplicatesBy[Union@Select[bilat,BilateralGraphEmbeddingQ[#,Axis->"X"]&],CircularCanonicalGraphEmbedding[#,4]&]]

quad

Planar

GraphData[{"TriangularHoneycombQueen",12},"Planar"]

GraphData[{"TriangularHoneycombQueen",12},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"TriangularHoneycombQueen",12},{"RCN","CN"}]

GraphData[{"TriangularHoneycombQueen",12},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

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

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",12}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",12}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",12}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",12}],TimeConstraint->5 3600])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",12}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",12}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"TriangularHoneycombQueen",12},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",12}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union//Timing

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"TriangularHoneycombQueen",12},"Circulant"]

GraphData[{"TriangularHoneycombQueen",12},"Graph","Circulant"]//StyleGraphs

Circulant construction

GraphData[{"TriangularHoneycombQueen",12},"NotationRules","Circulant"]

(ci=CirculantIndices[GraphData[{"TriangularHoneycombQueen",12}]])//Timing

CirculantGraph1@@@ci

Cases[GraphData[{"TriangularHoneycombQueen",12},"StandardNames"],{"Circulant",i_}:>i]

CirculantGraph1@@@%

Complement graph

GraphData[{"TriangularHoneycombQueen",12},"ComplementGraph","Name"]

GraphComplement/@GraphData[%,"Graph","All"]

Line graph

GraphData[{"TriangularHoneycombQueen",12},"Line"]

LineGraphQ[GraphData[{"TriangularHoneycombQueen",12}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"TriangularHoneycombQueen",12}&]

RootGraph[GraphData[{"TriangularHoneycombQueen",12}]]

Halin

GraphData[{"TriangularHoneycombQueen",12},"Halin"]

GraphData[{"TriangularHoneycombQueen",12},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"TriangularHoneycombQueen",12},"Rigid"]

GraphData[{"TriangularHoneycombQueen",12},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"TriangularHoneycombQueen",12},"Flexible"]

GraphData[{"TriangularHoneycombQueen",12},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"TriangularHoneycombQueen",12},"LCF"]

GraphData[{"TriangularHoneycombQueen",12},"HamiltonianCycleCount"]

GraphData[{"TriangularHoneycombQueen",12},"LCFSignature"]

GraphData[{"TriangularHoneycombQueen",12},"LCFNotations"]

GraphData[{"TriangularHoneycombQueen",12},"Graph","LCF"]//StyleGraphs

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

LCF compute random

FindRandomLCFNotation[GraphData[{"TriangularHoneycombQueen",12}],TimeConstraint->120]

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"TriangularHoneycombQueen",12}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

nicelcf=LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"TriangularHoneycombQueen",12},{0,Missing["NotAvailable",DeleteCases[nicelcf,{_,XXX}]]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute all

Divisors[GraphData[{"TriangularHoneycombQueen",12},"V"]]

Length[FindHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",12}],All][[All,All,1]]]//Timing

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

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"TriangularHoneycombQueen",12},".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

UnitDistance

GraphData[{"TriangularHoneycombQueen",12},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"TriangularHoneycombQueen",12}],Debug->True]//Timing

GraphData[{"TriangularHoneycombQueen",12},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"TriangularHoneycombQueen",12},"VertexList"],GraphData[{"TriangularHoneycombQueen",12},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"TriangularHoneycombQueen",12},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

FindUnitDistanceEmbedding[GraphData[{"TriangularHoneycombQueen",12}],MaxIterations->5000,"ReturnWithMessage"->False]//Quiet//Timing

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

gs=SortBy[UniqueEmbeddings[l],Replace[RectilinearCrossingCount[#],Infinity->0]&]

Matchstick

GraphData[{"TriangularHoneycombQueen",12},"Matchstick"]

GraphData[{"TriangularHoneycombQueen",12},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"TriangularHoneycombQueen",12},"Edges"]]

3D All

GraphData[{"TriangularHoneycombQueen",12},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"TriangularHoneycombQueen",12},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"TriangularHoneycombQueen",12},"Polyhedral"]

GraphData[{"TriangularHoneycombQueen",12},"Graph",{"3D","Polyhedron"}]

{"TriangularHoneycombQueen", 13}

Names

GraphData[{"TriangularHoneycombQueen",13},"StandardName"]

GraphData[{"TriangularHoneycombQueen",13},"StandardNames"]

Primary

GraphData[{"TriangularHoneycombQueen",13}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"TriangularHoneycombQueen",13},"Graph","All"]//StyleGraphs

Configuration

GraphData[{"TriangularHoneycombQueen",13},"Configuration"]

GraphData[{"TriangularHoneycombQueen",13},"Graph","Configuration"]//StyleGraphs

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"TriangularHoneycombQueen",13},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"TriangularHoneycombQueen",13},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"TriangularHoneycombQueen",13},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"TriangularHoneycombQueen",13},"Graph","Degenerate"]

Perspective

GraphData[{"TriangularHoneycombQueen",13},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"TriangularHoneycombQueen",13},"Polyhedron"]

PolyhedronGraph[GraphData[{"TriangularHoneycombQueen",13},"Polyhedron"]]

Manipulate[PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",13},"Polyhedron"],{x,y,z}],{x,-1,1},{y,-1,1},{z,-1,1}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",13},"Polyhedron"],{0,.01,.01}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",13},"Polyhedron"],{0,0,1}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",13},"Polyhedron"],{0,1,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",13},"Polyhedron"],{1,0.01,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",13},"Polyhedron"],{1,1,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",13},"Polyhedron"],{1,0,1,-Pi/2}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",13},"Polyhedron"],{1,1,1}]

Bilateral

GraphData[{"TriangularHoneycombQueen",13},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"TriangularHoneycombQueen",13},"Graph","Circular"]//StyleGraphs

Circular construction

GraphData[{"TriangularHoneycombQueen",13},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",13}],All][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",13}],#]&/@hc

Length[bilat=DeleteDuplicatesBy[
DeleteMissing[BilaterallyRotatedGraph/@circ],
CircularCanonicalGraphEmbedding]]//Timing

gs=bilat

Length[quad=DeleteDuplicatesBy[Union@Select[bilat,BilateralGraphEmbeddingQ[#,Axis->"X"]&],CircularCanonicalGraphEmbedding[#,4]&]]

quad

Planar

GraphData[{"TriangularHoneycombQueen",13},"Planar"]

GraphData[{"TriangularHoneycombQueen",13},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"TriangularHoneycombQueen",13},{"RCN","CN"}]

GraphData[{"TriangularHoneycombQueen",13},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

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

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",13}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",13}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",13}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",13}],TimeConstraint->5 3600])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",13}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",13}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"TriangularHoneycombQueen",13},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",13}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union//Timing

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"TriangularHoneycombQueen",13},"Circulant"]

GraphData[{"TriangularHoneycombQueen",13},"Graph","Circulant"]//StyleGraphs

Circulant construction

GraphData[{"TriangularHoneycombQueen",13},"NotationRules","Circulant"]

(ci=CirculantIndices[GraphData[{"TriangularHoneycombQueen",13}]])//Timing

CirculantGraph1@@@ci

Cases[GraphData[{"TriangularHoneycombQueen",13},"StandardNames"],{"Circulant",i_}:>i]

CirculantGraph1@@@%

Complement graph

GraphData[{"TriangularHoneycombQueen",13},"ComplementGraph","Name"]

GraphComplement/@GraphData[%,"Graph","All"]

Line graph

GraphData[{"TriangularHoneycombQueen",13},"Line"]

LineGraphQ[GraphData[{"TriangularHoneycombQueen",13}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"TriangularHoneycombQueen",13}&]

RootGraph[GraphData[{"TriangularHoneycombQueen",13}]]

Halin

GraphData[{"TriangularHoneycombQueen",13},"Halin"]

GraphData[{"TriangularHoneycombQueen",13},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"TriangularHoneycombQueen",13},"Rigid"]

GraphData[{"TriangularHoneycombQueen",13},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"TriangularHoneycombQueen",13},"Flexible"]

GraphData[{"TriangularHoneycombQueen",13},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"TriangularHoneycombQueen",13},"LCF"]

GraphData[{"TriangularHoneycombQueen",13},"HamiltonianCycleCount"]

GraphData[{"TriangularHoneycombQueen",13},"LCFSignature"]

GraphData[{"TriangularHoneycombQueen",13},"LCFNotations"]

GraphData[{"TriangularHoneycombQueen",13},"Graph","LCF"]//StyleGraphs

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

LCF compute random

FindRandomLCFNotation[GraphData[{"TriangularHoneycombQueen",13}],TimeConstraint->120]

LCF compute 10^4

Tally[(lcf=LCF[GraphData[{"TriangularHoneycombQueen",13}],10^4])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

nicelcf=LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"TriangularHoneycombQueen",13},{0,Missing["NotAvailable",DeleteCases[nicelcf,{_,XXX}]]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"TriangularHoneycombQueen",13}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

nicelcf=LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"TriangularHoneycombQueen",13},{0,Missing["NotAvailable",DeleteCases[nicelcf,{_,XXX}]]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute all

Divisors[GraphData[{"TriangularHoneycombQueen",13},"V"]]

Length[FindHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",13}],All][[All,All,1]]]//Timing

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

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"TriangularHoneycombQueen",13},".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

UnitDistance

GraphData[{"TriangularHoneycombQueen",13},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"TriangularHoneycombQueen",13}],Debug->True]//Timing

GraphData[{"TriangularHoneycombQueen",13},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"TriangularHoneycombQueen",13},"VertexList"],GraphData[{"TriangularHoneycombQueen",13},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"TriangularHoneycombQueen",13},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

FindUnitDistanceEmbedding[GraphData[{"TriangularHoneycombQueen",13}],MaxIterations->5000,"ReturnWithMessage"->False]//Quiet//Timing

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

gs=SortBy[UniqueEmbeddings[l],Replace[RectilinearCrossingCount[#],Infinity->0]&]

Matchstick

GraphData[{"TriangularHoneycombQueen",13},"Matchstick"]

GraphData[{"TriangularHoneycombQueen",13},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"TriangularHoneycombQueen",13},"Edges"]]

3D All

GraphData[{"TriangularHoneycombQueen",13},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"TriangularHoneycombQueen",13},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"TriangularHoneycombQueen",13},"Polyhedral"]

GraphData[{"TriangularHoneycombQueen",13},"Graph",{"3D","Polyhedron"}]

{"TriangularHoneycombQueen", 14}

Names

GraphData[{"TriangularHoneycombQueen",14},"StandardName"]

GraphData[{"TriangularHoneycombQueen",14},"StandardNames"]

Primary

GraphData[{"TriangularHoneycombQueen",14}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"TriangularHoneycombQueen",14},"Graph","All"]//StyleGraphs

Configuration

GraphData[{"TriangularHoneycombQueen",14},"Configuration"]

GraphData[{"TriangularHoneycombQueen",14},"Graph","Configuration"]//StyleGraphs

config=%[[1]]

AddAllConfigurationEdges[config]//RecognizeGraph

ConfigurationDiagram[config,2]

lines=ConfigurationLinesFromGraph[config]

r=LeviGraph[lines]//RecognizeGraph

FirstCase[GraphData[r,"StandardNames"],{"Incidence",_}]

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"TriangularHoneycombQueen",14},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"TriangularHoneycombQueen",14},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"TriangularHoneycombQueen",14},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"TriangularHoneycombQueen",14},"Graph","Degenerate"]

Perspective

GraphData[{"TriangularHoneycombQueen",14},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"TriangularHoneycombQueen",14},"Polyhedron"]

PolyhedronGraph[GraphData[{"TriangularHoneycombQueen",14},"Polyhedron"]]

Manipulate[PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",14},"Polyhedron"],{x,y,z}],{x,-1,1},{y,-1,1},{z,-1,1}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",14},"Polyhedron"],{0,.01,.01}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",14},"Polyhedron"],{0,0,1}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",14},"Polyhedron"],{0,1,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",14},"Polyhedron"],{1,0.01,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",14},"Polyhedron"],{1,1,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",14},"Polyhedron"],{1,0,1,-Pi/2}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",14},"Polyhedron"],{1,1,1}]

Bilateral

GraphData[{"TriangularHoneycombQueen",14},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"TriangularHoneycombQueen",14},"Graph","Circular"]//StyleGraphs

Circular construction

GraphData[{"TriangularHoneycombQueen",14},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",14}],All][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",14}],#]&/@hc

Length[bilat=DeleteDuplicatesBy[
DeleteMissing[BilaterallyRotatedGraph/@circ],
CircularCanonicalGraphEmbedding]]//Timing

gs=bilat

Length[quad=DeleteDuplicatesBy[Union@Select[bilat,BilateralGraphEmbeddingQ[#,Axis->"X"]&],CircularCanonicalGraphEmbedding[#,4]&]]

quad

Planar

GraphData[{"TriangularHoneycombQueen",14},"Planar"]

GraphData[{"TriangularHoneycombQueen",14},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"TriangularHoneycombQueen",14},{"RCN","CN"}]

GraphData[{"TriangularHoneycombQueen",14},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

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

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",14}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",14}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",14}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",14}],TimeConstraint->5 3600])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",14}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",14}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"TriangularHoneycombQueen",14},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",14}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union//Timing

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"TriangularHoneycombQueen",14},"Circulant"]

GraphData[{"TriangularHoneycombQueen",14},"Graph","Circulant"]//StyleGraphs

Circulant construction

GraphData[{"TriangularHoneycombQueen",14},"NotationRules","Circulant"]

(ci=CirculantIndices[GraphData[{"TriangularHoneycombQueen",14}]])//Timing

CirculantGraph1@@@ci

Cases[GraphData[{"TriangularHoneycombQueen",14},"StandardNames"],{"Circulant",i_}:>i]

CirculantGraph1@@@%

Complement graph

GraphData[{"TriangularHoneycombQueen",14},"ComplementGraph","Name"]

GraphComplement/@GraphData[%,"Graph","All"]

Line graph

GraphData[{"TriangularHoneycombQueen",14},"Line"]

LineGraphQ[GraphData[{"TriangularHoneycombQueen",14}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"TriangularHoneycombQueen",14}&]

RootGraph[GraphData[{"TriangularHoneycombQueen",14}]]

Halin

GraphData[{"TriangularHoneycombQueen",14},"Halin"]

GraphData[{"TriangularHoneycombQueen",14},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"TriangularHoneycombQueen",14},"Rigid"]

GraphData[{"TriangularHoneycombQueen",14},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"TriangularHoneycombQueen",14},"Flexible"]

GraphData[{"TriangularHoneycombQueen",14},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"TriangularHoneycombQueen",14},"LCF"]

GraphData[{"TriangularHoneycombQueen",14},"HamiltonianCycleCount"]

GraphData[{"TriangularHoneycombQueen",14},"LCFSignature"]

GraphData[{"TriangularHoneycombQueen",14},"LCFNotations"]

GraphData[{"TriangularHoneycombQueen",14},"Graph","LCF"]//StyleGraphs

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

LCF compute random

FindRandomLCFNotation[GraphData[{"TriangularHoneycombQueen",14}],TimeConstraint->120]

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"TriangularHoneycombQueen",14}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

nicelcf=LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"TriangularHoneycombQueen",14},{0,Missing["NotAvailable",DeleteCases[nicelcf,{_,XXX}]]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute all

Divisors[GraphData[{"TriangularHoneycombQueen",14},"V"]]

Length[FindHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",14}],All][[All,All,1]]]//Timing

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

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"TriangularHoneycombQueen",14},".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

UnitDistance

GraphData[{"TriangularHoneycombQueen",14},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"TriangularHoneycombQueen",14}],Debug->True]//Timing

GraphData[{"TriangularHoneycombQueen",14},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"TriangularHoneycombQueen",14},"VertexList"],GraphData[{"TriangularHoneycombQueen",14},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"TriangularHoneycombQueen",14},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

FindUnitDistanceEmbedding[GraphData[{"TriangularHoneycombQueen",14}],MaxIterations->5000,"ReturnWithMessage"->False]//Quiet//Timing

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

gs=SortBy[UniqueEmbeddings[l],Replace[RectilinearCrossingCount[#],Infinity->0]&]

Matchstick

GraphData[{"TriangularHoneycombQueen",14},"Matchstick"]

GraphData[{"TriangularHoneycombQueen",14},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"TriangularHoneycombQueen",14},"Edges"]]

3D All

GraphData[{"TriangularHoneycombQueen",14},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"TriangularHoneycombQueen",14},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"TriangularHoneycombQueen",14},"Polyhedral"]

GraphData[{"TriangularHoneycombQueen",14},"Graph",{"3D","Polyhedron"}]

{"TriangularHoneycombQueen", 15}

Names

GraphData[{"TriangularHoneycombQueen",15},"StandardName"]

GraphData[{"TriangularHoneycombQueen",15},"StandardNames"]

Primary

GraphData[{"TriangularHoneycombQueen",15}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"TriangularHoneycombQueen",15},"Graph","All"]//StyleGraphs

Configuration

GraphData[{"TriangularHoneycombQueen",15},"Configuration"]

GraphData[{"TriangularHoneycombQueen",15},"Graph","Configuration"]//StyleGraphs

config=%[[1]]

AddAllConfigurationEdges[config]//RecognizeGraph

ConfigurationDiagram[config,2]

lines=ConfigurationLinesFromGraph[config]

r=LeviGraph[lines]//RecognizeGraph

FirstCase[GraphData[r,"StandardNames"],{"Incidence",_}]

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"TriangularHoneycombQueen",15},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"TriangularHoneycombQueen",15},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"TriangularHoneycombQueen",15},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"TriangularHoneycombQueen",15},"Graph","Degenerate"]

Perspective

GraphData[{"TriangularHoneycombQueen",15},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"TriangularHoneycombQueen",15},"Polyhedron"]

PolyhedronGraph[GraphData[{"TriangularHoneycombQueen",15},"Polyhedron"]]

Manipulate[PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",15},"Polyhedron"],{x,y,z}],{x,-1,1},{y,-1,1},{z,-1,1}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",15},"Polyhedron"],{0,.01,.01}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",15},"Polyhedron"],{0,0,1}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",15},"Polyhedron"],{0,1,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",15},"Polyhedron"],{1,0.01,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",15},"Polyhedron"],{1,1,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",15},"Polyhedron"],{1,0,1,-Pi/2}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",15},"Polyhedron"],{1,1,1}]

Bilateral

GraphData[{"TriangularHoneycombQueen",15},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"TriangularHoneycombQueen",15},"Graph","Circular"]//StyleGraphs

Circular construction

GraphData[{"TriangularHoneycombQueen",15},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",15}],All][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",15}],#]&/@hc

Length[bilat=DeleteDuplicatesBy[
DeleteMissing[BilaterallyRotatedGraph/@circ],
CircularCanonicalGraphEmbedding]]//Timing

gs=bilat

Length[quad=DeleteDuplicatesBy[Union@Select[bilat,BilateralGraphEmbeddingQ[#,Axis->"X"]&],CircularCanonicalGraphEmbedding[#,4]&]]

quad

Planar

GraphData[{"TriangularHoneycombQueen",15},"Planar"]

GraphData[{"TriangularHoneycombQueen",15},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"TriangularHoneycombQueen",15},{"RCN","CN"}]

GraphData[{"TriangularHoneycombQueen",15},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

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

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",15}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",15}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",15}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",15}],TimeConstraint->5 3600])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",15}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",15}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"TriangularHoneycombQueen",15},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",15}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union//Timing

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"TriangularHoneycombQueen",15},"Circulant"]

GraphData[{"TriangularHoneycombQueen",15},"Graph","Circulant"]//StyleGraphs

Circulant construction

GraphData[{"TriangularHoneycombQueen",15},"NotationRules","Circulant"]

(ci=CirculantIndices[GraphData[{"TriangularHoneycombQueen",15}]])//Timing

CirculantGraph1@@@ci

Cases[GraphData[{"TriangularHoneycombQueen",15},"StandardNames"],{"Circulant",i_}:>i]

CirculantGraph1@@@%

Complement graph

GraphData[{"TriangularHoneycombQueen",15},"ComplementGraph","Name"]

GraphComplement/@GraphData[%,"Graph","All"]

Line graph

GraphData[{"TriangularHoneycombQueen",15},"Line"]

LineGraphQ[GraphData[{"TriangularHoneycombQueen",15}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"TriangularHoneycombQueen",15}&]

RootGraph[GraphData[{"TriangularHoneycombQueen",15}]]

Halin

GraphData[{"TriangularHoneycombQueen",15},"Halin"]

GraphData[{"TriangularHoneycombQueen",15},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"TriangularHoneycombQueen",15},"Rigid"]

GraphData[{"TriangularHoneycombQueen",15},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"TriangularHoneycombQueen",15},"Flexible"]

GraphData[{"TriangularHoneycombQueen",15},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"TriangularHoneycombQueen",15},"LCF"]

GraphData[{"TriangularHoneycombQueen",15},"HamiltonianCycleCount"]

GraphData[{"TriangularHoneycombQueen",15},"LCFSignature"]

GraphData[{"TriangularHoneycombQueen",15},"LCFNotations"]

GraphData[{"TriangularHoneycombQueen",15},"Graph","LCF"]//StyleGraphs

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

LCF compute random

FindRandomLCFNotation[GraphData[{"TriangularHoneycombQueen",15}],TimeConstraint->120]

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"TriangularHoneycombQueen",15}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

nicelcf=LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"TriangularHoneycombQueen",15},{0,Missing["NotAvailable",DeleteCases[nicelcf,{_,XXX}]]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute all

Divisors[GraphData[{"TriangularHoneycombQueen",15},"V"]]

Length[FindHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",15}],All][[All,All,1]]]//Timing

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

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"TriangularHoneycombQueen",15},".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

UnitDistance

GraphData[{"TriangularHoneycombQueen",15},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"TriangularHoneycombQueen",15}],Debug->True]//Timing

GraphData[{"TriangularHoneycombQueen",15},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"TriangularHoneycombQueen",15},"VertexList"],GraphData[{"TriangularHoneycombQueen",15},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"TriangularHoneycombQueen",15},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

FindUnitDistanceEmbedding[GraphData[{"TriangularHoneycombQueen",15}],MaxIterations->5000,"ReturnWithMessage"->False]//Quiet//Timing

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

gs=SortBy[UniqueEmbeddings[l],Replace[RectilinearCrossingCount[#],Infinity->0]&]

Matchstick

GraphData[{"TriangularHoneycombQueen",15},"Matchstick"]

GraphData[{"TriangularHoneycombQueen",15},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"TriangularHoneycombQueen",15},"Edges"]]

3D All

GraphData[{"TriangularHoneycombQueen",15},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"TriangularHoneycombQueen",15},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"TriangularHoneycombQueen",15},"Polyhedral"]

GraphData[{"TriangularHoneycombQueen",15},"Graph",{"3D","Polyhedron"}]

{"TriangularHoneycombQueen", 16}

Names

GraphData[{"TriangularHoneycombQueen",16},"StandardName"]

GraphData[{"TriangularHoneycombQueen",16},"StandardNames"]

Primary

GraphData[{"TriangularHoneycombQueen",16}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"TriangularHoneycombQueen",16},"Graph","All"]//StyleGraphs

Configuration

GraphData[{"TriangularHoneycombQueen",16},"Configuration"]

GraphData[{"TriangularHoneycombQueen",16},"Graph","Configuration"]//StyleGraphs

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"TriangularHoneycombQueen",16},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"TriangularHoneycombQueen",16},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"TriangularHoneycombQueen",16},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"TriangularHoneycombQueen",16},"Graph","Degenerate"]

Perspective

GraphData[{"TriangularHoneycombQueen",16},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"TriangularHoneycombQueen",16},"Polyhedron"]

PolyhedronGraph[GraphData[{"TriangularHoneycombQueen",16},"Polyhedron"]]

Manipulate[PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",16},"Polyhedron"],{x,y,z}],{x,-1,1},{y,-1,1},{z,-1,1}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",16},"Polyhedron"],{0,.01,.01}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",16},"Polyhedron"],{0,0,1}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",16},"Polyhedron"],{0,1,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",16},"Polyhedron"],{1,0.01,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",16},"Polyhedron"],{1,1,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",16},"Polyhedron"],{1,0,1,-Pi/2}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",16},"Polyhedron"],{1,1,1}]

Bilateral

GraphData[{"TriangularHoneycombQueen",16},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"TriangularHoneycombQueen",16},"Graph","Circular"]//StyleGraphs

Circular construction

GraphData[{"TriangularHoneycombQueen",16},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",16}],All][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",16}],#]&/@hc

Length[bilat=DeleteDuplicatesBy[
DeleteMissing[BilaterallyRotatedGraph/@circ],
CircularCanonicalGraphEmbedding]]//Timing

gs=bilat

Length[quad=DeleteDuplicatesBy[Union@Select[bilat,BilateralGraphEmbeddingQ[#,Axis->"X"]&],CircularCanonicalGraphEmbedding[#,4]&]]

quad

Planar

GraphData[{"TriangularHoneycombQueen",16},"Planar"]

GraphData[{"TriangularHoneycombQueen",16},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"TriangularHoneycombQueen",16},{"RCN","CN"}]

GraphData[{"TriangularHoneycombQueen",16},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

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

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",16}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",16}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",16}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",16}],TimeConstraint->5 3600])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",16}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",16}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"TriangularHoneycombQueen",16},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",16}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union//Timing

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"TriangularHoneycombQueen",16},"Circulant"]

GraphData[{"TriangularHoneycombQueen",16},"Graph","Circulant"]//StyleGraphs

Circulant construction

GraphData[{"TriangularHoneycombQueen",16},"NotationRules","Circulant"]

(ci=CirculantIndices[GraphData[{"TriangularHoneycombQueen",16}]])//Timing

CirculantGraph1@@@ci

Cases[GraphData[{"TriangularHoneycombQueen",16},"StandardNames"],{"Circulant",i_}:>i]

CirculantGraph1@@@%

Complement graph

GraphData[{"TriangularHoneycombQueen",16},"ComplementGraph","Name"]

GraphComplement/@GraphData[%,"Graph","All"]

Line graph

GraphData[{"TriangularHoneycombQueen",16},"Line"]

LineGraphQ[GraphData[{"TriangularHoneycombQueen",16}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"TriangularHoneycombQueen",16}&]

RootGraph[GraphData[{"TriangularHoneycombQueen",16}]]

Halin

GraphData[{"TriangularHoneycombQueen",16},"Halin"]

GraphData[{"TriangularHoneycombQueen",16},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"TriangularHoneycombQueen",16},"Rigid"]

GraphData[{"TriangularHoneycombQueen",16},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"TriangularHoneycombQueen",16},"Flexible"]

GraphData[{"TriangularHoneycombQueen",16},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"TriangularHoneycombQueen",16},"LCF"]

GraphData[{"TriangularHoneycombQueen",16},"HamiltonianCycleCount"]

GraphData[{"TriangularHoneycombQueen",16},"LCFSignature"]

GraphData[{"TriangularHoneycombQueen",16},"LCFNotations"]

GraphData[{"TriangularHoneycombQueen",16},"Graph","LCF"]//StyleGraphs

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

LCF compute random

FindRandomLCFNotation[GraphData[{"TriangularHoneycombQueen",16}],TimeConstraint->120]

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"TriangularHoneycombQueen",16}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

nicelcf=LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"TriangularHoneycombQueen",16},{0,Missing["NotAvailable",DeleteCases[nicelcf,{_,XXX}]]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute all

Divisors[GraphData[{"TriangularHoneycombQueen",16},"V"]]

Length[FindHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",16}],All][[All,All,1]]]//Timing

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

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"TriangularHoneycombQueen",16},".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

UnitDistance

GraphData[{"TriangularHoneycombQueen",16},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"TriangularHoneycombQueen",16}],Debug->True]//Timing

GraphData[{"TriangularHoneycombQueen",16},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"TriangularHoneycombQueen",16},"VertexList"],GraphData[{"TriangularHoneycombQueen",16},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"TriangularHoneycombQueen",16},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

FindUnitDistanceEmbedding[GraphData[{"TriangularHoneycombQueen",16}],MaxIterations->5000,"ReturnWithMessage"->False]//Quiet//Timing

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

gs=SortBy[UniqueEmbeddings[l],Replace[RectilinearCrossingCount[#],Infinity->0]&]

Matchstick

GraphData[{"TriangularHoneycombQueen",16},"Matchstick"]

GraphData[{"TriangularHoneycombQueen",16},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"TriangularHoneycombQueen",16},"Edges"]]

3D All

GraphData[{"TriangularHoneycombQueen",16},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"TriangularHoneycombQueen",16},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"TriangularHoneycombQueen",16},"Polyhedral"]

GraphData[{"TriangularHoneycombQueen",16},"Graph",{"3D","Polyhedron"}]

{"TriangularHoneycombQueen", 17}

Names

GraphData[{"TriangularHoneycombQueen",17},"StandardName"]

GraphData[{"TriangularHoneycombQueen",17},"StandardNames"]

Primary

GraphData[{"TriangularHoneycombQueen",17}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"TriangularHoneycombQueen",17},"Graph","All"]//StyleGraphs

Configuration

GraphData[{"TriangularHoneycombQueen",17},"Configuration"]

GraphData[{"TriangularHoneycombQueen",17},"Graph","Configuration"]//StyleGraphs

config=%[[1]]

AddAllConfigurationEdges[config]//RecognizeGraph

ConfigurationDiagram[config,2]

lines=ConfigurationLinesFromGraph[config]

r=LeviGraph[lines]//RecognizeGraph

FirstCase[GraphData[r,"StandardNames"],{"Incidence",_}]

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"TriangularHoneycombQueen",17},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"TriangularHoneycombQueen",17},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"TriangularHoneycombQueen",17},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"TriangularHoneycombQueen",17},"Graph","Degenerate"]

Perspective

GraphData[{"TriangularHoneycombQueen",17},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"TriangularHoneycombQueen",17},"Polyhedron"]

PolyhedronGraph[GraphData[{"TriangularHoneycombQueen",17},"Polyhedron"]]

Manipulate[PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",17},"Polyhedron"],{x,y,z}],{x,-1,1},{y,-1,1},{z,-1,1}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",17},"Polyhedron"],{0,.01,.01}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",17},"Polyhedron"],{0,0,1}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",17},"Polyhedron"],{0,1,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",17},"Polyhedron"],{1,0.01,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",17},"Polyhedron"],{1,1,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",17},"Polyhedron"],{1,0,1,-Pi/2}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",17},"Polyhedron"],{1,1,1}]

Bilateral

GraphData[{"TriangularHoneycombQueen",17},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"TriangularHoneycombQueen",17},"Graph","Circular"]//StyleGraphs

Circular construction

GraphData[{"TriangularHoneycombQueen",17},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",17}],All][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",17}],#]&/@hc

Length[bilat=DeleteDuplicatesBy[
DeleteMissing[BilaterallyRotatedGraph/@circ],
CircularCanonicalGraphEmbedding]]//Timing

gs=bilat

Length[quad=DeleteDuplicatesBy[Union@Select[bilat,BilateralGraphEmbeddingQ[#,Axis->"X"]&],CircularCanonicalGraphEmbedding[#,4]&]]

quad

Planar

GraphData[{"TriangularHoneycombQueen",17},"Planar"]

GraphData[{"TriangularHoneycombQueen",17},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"TriangularHoneycombQueen",17},{"RCN","CN"}]

GraphData[{"TriangularHoneycombQueen",17},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

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

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",17}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",17}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",17}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",17}],TimeConstraint->5 3600])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",17}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",17}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"TriangularHoneycombQueen",17},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",17}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union//Timing

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"TriangularHoneycombQueen",17},"Circulant"]

GraphData[{"TriangularHoneycombQueen",17},"Graph","Circulant"]//StyleGraphs

Circulant construction

GraphData[{"TriangularHoneycombQueen",17},"NotationRules","Circulant"]

(ci=CirculantIndices[GraphData[{"TriangularHoneycombQueen",17}]])//Timing

CirculantGraph1@@@ci

Cases[GraphData[{"TriangularHoneycombQueen",17},"StandardNames"],{"Circulant",i_}:>i]

CirculantGraph1@@@%

Complement graph

GraphData[{"TriangularHoneycombQueen",17},"ComplementGraph","Name"]

GraphComplement/@GraphData[%,"Graph","All"]

Line graph

GraphData[{"TriangularHoneycombQueen",17},"Line"]

LineGraphQ[GraphData[{"TriangularHoneycombQueen",17}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"TriangularHoneycombQueen",17}&]

RootGraph[GraphData[{"TriangularHoneycombQueen",17}]]

Halin

GraphData[{"TriangularHoneycombQueen",17},"Halin"]

GraphData[{"TriangularHoneycombQueen",17},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"TriangularHoneycombQueen",17},"Rigid"]

GraphData[{"TriangularHoneycombQueen",17},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"TriangularHoneycombQueen",17},"Flexible"]

GraphData[{"TriangularHoneycombQueen",17},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"TriangularHoneycombQueen",17},"LCF"]

GraphData[{"TriangularHoneycombQueen",17},"HamiltonianCycleCount"]

GraphData[{"TriangularHoneycombQueen",17},"LCFSignature"]

GraphData[{"TriangularHoneycombQueen",17},"LCFNotations"]

GraphData[{"TriangularHoneycombQueen",17},"Graph","LCF"]//StyleGraphs

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

LCF compute random

FindRandomLCFNotation[GraphData[{"TriangularHoneycombQueen",17}],TimeConstraint->120]

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"TriangularHoneycombQueen",17}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

nicelcf=LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"TriangularHoneycombQueen",17},{0,Missing["NotAvailable",DeleteCases[nicelcf,{_,XXX}]]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute all

Divisors[GraphData[{"TriangularHoneycombQueen",17},"V"]]

Length[FindHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",17}],All][[All,All,1]]]//Timing

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

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"TriangularHoneycombQueen",17},".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

UnitDistance

GraphData[{"TriangularHoneycombQueen",17},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"TriangularHoneycombQueen",17}],Debug->True]//Timing

GraphData[{"TriangularHoneycombQueen",17},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"TriangularHoneycombQueen",17},"VertexList"],GraphData[{"TriangularHoneycombQueen",17},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"TriangularHoneycombQueen",17},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

FindUnitDistanceEmbedding[GraphData[{"TriangularHoneycombQueen",17}],MaxIterations->5000,"ReturnWithMessage"->False]//Quiet//Timing

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

gs=SortBy[UniqueEmbeddings[l],Replace[RectilinearCrossingCount[#],Infinity->0]&]

Matchstick

GraphData[{"TriangularHoneycombQueen",17},"Matchstick"]

GraphData[{"TriangularHoneycombQueen",17},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"TriangularHoneycombQueen",17},"Edges"]]

3D All

GraphData[{"TriangularHoneycombQueen",17},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"TriangularHoneycombQueen",17},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"TriangularHoneycombQueen",17},"Polyhedral"]

GraphData[{"TriangularHoneycombQueen",17},"Graph",{"3D","Polyhedron"}]

{"TriangularHoneycombQueen", 18}

Names

GraphData[{"TriangularHoneycombQueen",18},"StandardName"]

GraphData[{"TriangularHoneycombQueen",18},"StandardNames"]

Primary

GraphData[{"TriangularHoneycombQueen",18}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"TriangularHoneycombQueen",18},"Graph","All"]//StyleGraphs

Configuration

GraphData[{"TriangularHoneycombQueen",18},"Configuration"]

GraphData[{"TriangularHoneycombQueen",18},"Graph","Configuration"]//StyleGraphs

config=%[[1]]

AddAllConfigurationEdges[config]//RecognizeGraph

ConfigurationDiagram[config,2]

lines=ConfigurationLinesFromGraph[config]

r=LeviGraph[lines]//RecognizeGraph

FirstCase[GraphData[r,"StandardNames"],{"Incidence",_}]

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"TriangularHoneycombQueen",18},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"TriangularHoneycombQueen",18},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"TriangularHoneycombQueen",18},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"TriangularHoneycombQueen",18},"Graph","Degenerate"]

Perspective

GraphData[{"TriangularHoneycombQueen",18},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"TriangularHoneycombQueen",18},"Polyhedron"]

PolyhedronGraph[GraphData[{"TriangularHoneycombQueen",18},"Polyhedron"]]

Manipulate[PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",18},"Polyhedron"],{x,y,z}],{x,-1,1},{y,-1,1},{z,-1,1}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",18},"Polyhedron"],{0,.01,.01}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",18},"Polyhedron"],{0,0,1}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",18},"Polyhedron"],{0,1,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",18},"Polyhedron"],{1,0.01,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",18},"Polyhedron"],{1,1,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",18},"Polyhedron"],{1,0,1,-Pi/2}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",18},"Polyhedron"],{1,1,1}]

Bilateral

GraphData[{"TriangularHoneycombQueen",18},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"TriangularHoneycombQueen",18},"Graph","Circular"]//StyleGraphs

Circular construction

GraphData[{"TriangularHoneycombQueen",18},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",18}],All][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",18}],#]&/@hc

Length[bilat=DeleteDuplicatesBy[
DeleteMissing[BilaterallyRotatedGraph/@circ],
CircularCanonicalGraphEmbedding]]//Timing

gs=bilat

Length[quad=DeleteDuplicatesBy[Union@Select[bilat,BilateralGraphEmbeddingQ[#,Axis->"X"]&],CircularCanonicalGraphEmbedding[#,4]&]]

quad

Planar

GraphData[{"TriangularHoneycombQueen",18},"Planar"]

GraphData[{"TriangularHoneycombQueen",18},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"TriangularHoneycombQueen",18},{"RCN","CN"}]

GraphData[{"TriangularHoneycombQueen",18},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

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

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",18}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",18}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",18}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",18}],TimeConstraint->5 3600])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",18}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",18}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"TriangularHoneycombQueen",18},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",18}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union//Timing

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"TriangularHoneycombQueen",18},"Circulant"]

GraphData[{"TriangularHoneycombQueen",18},"Graph","Circulant"]//StyleGraphs

Circulant construction

GraphData[{"TriangularHoneycombQueen",18},"NotationRules","Circulant"]

(ci=CirculantIndices[GraphData[{"TriangularHoneycombQueen",18}]])//Timing

CirculantGraph1@@@ci

Cases[GraphData[{"TriangularHoneycombQueen",18},"StandardNames"],{"Circulant",i_}:>i]

CirculantGraph1@@@%

Complement graph

GraphData[{"TriangularHoneycombQueen",18},"ComplementGraph","Name"]

GraphComplement/@GraphData[%,"Graph","All"]

Line graph

GraphData[{"TriangularHoneycombQueen",18},"Line"]

LineGraphQ[GraphData[{"TriangularHoneycombQueen",18}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"TriangularHoneycombQueen",18}&]

RootGraph[GraphData[{"TriangularHoneycombQueen",18}]]

Halin

GraphData[{"TriangularHoneycombQueen",18},"Halin"]

GraphData[{"TriangularHoneycombQueen",18},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"TriangularHoneycombQueen",18},"Rigid"]

GraphData[{"TriangularHoneycombQueen",18},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"TriangularHoneycombQueen",18},"Flexible"]

GraphData[{"TriangularHoneycombQueen",18},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"TriangularHoneycombQueen",18},"LCF"]

GraphData[{"TriangularHoneycombQueen",18},"HamiltonianCycleCount"]

GraphData[{"TriangularHoneycombQueen",18},"LCFSignature"]

GraphData[{"TriangularHoneycombQueen",18},"LCFNotations"]

GraphData[{"TriangularHoneycombQueen",18},"Graph","LCF"]//StyleGraphs

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

LCF compute random

FindRandomLCFNotation[GraphData[{"TriangularHoneycombQueen",18}],TimeConstraint->120]

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"TriangularHoneycombQueen",18}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

nicelcf=LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"TriangularHoneycombQueen",18},{0,Missing["NotAvailable",DeleteCases[nicelcf,{_,XXX}]]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute all

Divisors[GraphData[{"TriangularHoneycombQueen",18},"V"]]

Length[FindHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",18}],All][[All,All,1]]]//Timing

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

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"TriangularHoneycombQueen",18},".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

UnitDistance

GraphData[{"TriangularHoneycombQueen",18},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"TriangularHoneycombQueen",18}],Debug->True]//Timing

GraphData[{"TriangularHoneycombQueen",18},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"TriangularHoneycombQueen",18},"VertexList"],GraphData[{"TriangularHoneycombQueen",18},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"TriangularHoneycombQueen",18},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

FindUnitDistanceEmbedding[GraphData[{"TriangularHoneycombQueen",18}],MaxIterations->5000,"ReturnWithMessage"->False]//Quiet//Timing

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

gs=SortBy[UniqueEmbeddings[l],Replace[RectilinearCrossingCount[#],Infinity->0]&]

Matchstick

GraphData[{"TriangularHoneycombQueen",18},"Matchstick"]

GraphData[{"TriangularHoneycombQueen",18},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"TriangularHoneycombQueen",18},"Edges"]]

3D All

GraphData[{"TriangularHoneycombQueen",18},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"TriangularHoneycombQueen",18},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"TriangularHoneycombQueen",18},"Polyhedral"]

GraphData[{"TriangularHoneycombQueen",18},"Graph",{"3D","Polyhedron"}]

{"TriangularHoneycombQueen", 19}

Names

GraphData[{"TriangularHoneycombQueen",19},"StandardName"]

GraphData[{"TriangularHoneycombQueen",19},"StandardNames"]

Primary

GraphData[{"TriangularHoneycombQueen",19}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"TriangularHoneycombQueen",19},"Graph","All"]//StyleGraphs

Configuration

GraphData[{"TriangularHoneycombQueen",19},"Configuration"]

GraphData[{"TriangularHoneycombQueen",19},"Graph","Configuration"]//StyleGraphs

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"TriangularHoneycombQueen",19},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"TriangularHoneycombQueen",19},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"TriangularHoneycombQueen",19},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"TriangularHoneycombQueen",19},"Graph","Degenerate"]

Perspective

GraphData[{"TriangularHoneycombQueen",19},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"TriangularHoneycombQueen",19},"Polyhedron"]

PolyhedronGraph[GraphData[{"TriangularHoneycombQueen",19},"Polyhedron"]]

Manipulate[PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",19},"Polyhedron"],{x,y,z}],{x,-1,1},{y,-1,1},{z,-1,1}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",19},"Polyhedron"],{0,.01,.01}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",19},"Polyhedron"],{0,0,1}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",19},"Polyhedron"],{0,1,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",19},"Polyhedron"],{1,0.01,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",19},"Polyhedron"],{1,1,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",19},"Polyhedron"],{1,0,1,-Pi/2}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",19},"Polyhedron"],{1,1,1}]

Bilateral

GraphData[{"TriangularHoneycombQueen",19},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"TriangularHoneycombQueen",19},"Graph","Circular"]//StyleGraphs

Circular construction

GraphData[{"TriangularHoneycombQueen",19},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",19}],All][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",19}],#]&/@hc

Length[bilat=DeleteDuplicatesBy[
DeleteMissing[BilaterallyRotatedGraph/@circ],
CircularCanonicalGraphEmbedding]]//Timing

gs=bilat

Length[quad=DeleteDuplicatesBy[Union@Select[bilat,BilateralGraphEmbeddingQ[#,Axis->"X"]&],CircularCanonicalGraphEmbedding[#,4]&]]

quad

Planar

GraphData[{"TriangularHoneycombQueen",19},"Planar"]

GraphData[{"TriangularHoneycombQueen",19},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"TriangularHoneycombQueen",19},{"RCN","CN"}]

GraphData[{"TriangularHoneycombQueen",19},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

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

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",19}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",19}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",19}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",19}],TimeConstraint->5 3600])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",19}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",19}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"TriangularHoneycombQueen",19},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",19}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union//Timing

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"TriangularHoneycombQueen",19},"Circulant"]

GraphData[{"TriangularHoneycombQueen",19},"Graph","Circulant"]//StyleGraphs

Circulant construction

GraphData[{"TriangularHoneycombQueen",19},"NotationRules","Circulant"]

(ci=CirculantIndices[GraphData[{"TriangularHoneycombQueen",19}]])//Timing

CirculantGraph1@@@ci

Cases[GraphData[{"TriangularHoneycombQueen",19},"StandardNames"],{"Circulant",i_}:>i]

CirculantGraph1@@@%

Complement graph

GraphData[{"TriangularHoneycombQueen",19},"ComplementGraph","Name"]

GraphComplement/@GraphData[%,"Graph","All"]

Line graph

GraphData[{"TriangularHoneycombQueen",19},"Line"]

LineGraphQ[GraphData[{"TriangularHoneycombQueen",19}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"TriangularHoneycombQueen",19}&]

RootGraph[GraphData[{"TriangularHoneycombQueen",19}]]

Halin

GraphData[{"TriangularHoneycombQueen",19},"Halin"]

GraphData[{"TriangularHoneycombQueen",19},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"TriangularHoneycombQueen",19},"Rigid"]

GraphData[{"TriangularHoneycombQueen",19},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"TriangularHoneycombQueen",19},"Flexible"]

GraphData[{"TriangularHoneycombQueen",19},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"TriangularHoneycombQueen",19},"LCF"]

GraphData[{"TriangularHoneycombQueen",19},"HamiltonianCycleCount"]

GraphData[{"TriangularHoneycombQueen",19},"LCFSignature"]

GraphData[{"TriangularHoneycombQueen",19},"LCFNotations"]

GraphData[{"TriangularHoneycombQueen",19},"Graph","LCF"]//StyleGraphs

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

LCF compute random

FindRandomLCFNotation[GraphData[{"TriangularHoneycombQueen",19}],TimeConstraint->120]

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"TriangularHoneycombQueen",19}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

nicelcf=LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"TriangularHoneycombQueen",19},{0,Missing["NotAvailable",DeleteCases[nicelcf,{_,XXX}]]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute all

Divisors[GraphData[{"TriangularHoneycombQueen",19},"V"]]

Length[FindHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",19}],All][[All,All,1]]]//Timing

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

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"TriangularHoneycombQueen",19},".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

UnitDistance

GraphData[{"TriangularHoneycombQueen",19},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"TriangularHoneycombQueen",19}],Debug->True]//Timing

GraphData[{"TriangularHoneycombQueen",19},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"TriangularHoneycombQueen",19},"VertexList"],GraphData[{"TriangularHoneycombQueen",19},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"TriangularHoneycombQueen",19},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

FindUnitDistanceEmbedding[GraphData[{"TriangularHoneycombQueen",19}],MaxIterations->5000,"ReturnWithMessage"->False]//Quiet//Timing

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

gs=SortBy[UniqueEmbeddings[l],Replace[RectilinearCrossingCount[#],Infinity->0]&]

Matchstick

GraphData[{"TriangularHoneycombQueen",19},"Matchstick"]

GraphData[{"TriangularHoneycombQueen",19},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"TriangularHoneycombQueen",19},"Edges"]]

3D All

GraphData[{"TriangularHoneycombQueen",19},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"TriangularHoneycombQueen",19},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"TriangularHoneycombQueen",19},"Polyhedral"]

{"TriangularHoneycombQueen", 20}

Names

GraphData[{"TriangularHoneycombQueen",20},"StandardName"]

GraphData[{"TriangularHoneycombQueen",20},"StandardNames"]

Primary

GraphData[{"TriangularHoneycombQueen",20}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"TriangularHoneycombQueen",20},"Graph","All"]//StyleGraphs

Configuration

GraphData[{"TriangularHoneycombQueen",20},"Configuration"]

GraphData[{"TriangularHoneycombQueen",20},"Graph","Configuration"]//StyleGraphs

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"TriangularHoneycombQueen",20},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"TriangularHoneycombQueen",20},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"TriangularHoneycombQueen",20},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"TriangularHoneycombQueen",20},"Graph","Degenerate"]

Perspective

GraphData[{"TriangularHoneycombQueen",20},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"TriangularHoneycombQueen",20},"Polyhedron"]

PolyhedronGraph[GraphData[{"TriangularHoneycombQueen",20},"Polyhedron"]]

Manipulate[PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",20},"Polyhedron"],{x,y,z}],{x,-1,1},{y,-1,1},{z,-1,1}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",20},"Polyhedron"],{0,.01,.01}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",20},"Polyhedron"],{0,0,1}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",20},"Polyhedron"],{0,1,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",20},"Polyhedron"],{1,0.01,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",20},"Polyhedron"],{1,1,0}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",20},"Polyhedron"],{1,0,1,-Pi/2}]

PolyhedronProjectionGraph[GraphData[{"TriangularHoneycombQueen",20},"Polyhedron"],{1,1,1}]

Bilateral

GraphData[{"TriangularHoneycombQueen",20},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"TriangularHoneycombQueen",20},"Graph","Circular"]//StyleGraphs

Circular construction

GraphData[{"TriangularHoneycombQueen",20},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",20}],All][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",20}],#]&/@hc

Length[bilat=DeleteDuplicatesBy[
DeleteMissing[BilaterallyRotatedGraph/@circ],
CircularCanonicalGraphEmbedding]]//Timing

gs=bilat

Length[quad=DeleteDuplicatesBy[Union@Select[bilat,BilateralGraphEmbeddingQ[#,Axis->"X"]&],CircularCanonicalGraphEmbedding[#,4]&]]

quad

Planar

GraphData[{"TriangularHoneycombQueen",20},"Planar"]

GraphData[{"TriangularHoneycombQueen",20},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"TriangularHoneycombQueen",20},{"RCN","CN"}]

GraphData[{"TriangularHoneycombQueen",20},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

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

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",20}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",20}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",20}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"TriangularHoneycombQueen",20}],TimeConstraint->5 3600])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",20}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",20}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"TriangularHoneycombQueen",20},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"TriangularHoneycombQueen",20}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union//Timing

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"TriangularHoneycombQueen",20},"Circulant"]

GraphData[{"TriangularHoneycombQueen",20},"Graph","Circulant"]//StyleGraphs

Circulant construction

GraphData[{"TriangularHoneycombQueen",20},"NotationRules","Circulant"]

(ci=CirculantIndices[GraphData[{"TriangularHoneycombQueen",20}]])//Timing

CirculantGraph1@@@ci

Cases[GraphData[{"TriangularHoneycombQueen",20},"StandardNames"],{"Circulant",i_}:>i]

CirculantGraph1@@@%

Complement graph

GraphData[{"TriangularHoneycombQueen",20},"ComplementGraph","Name"]

GraphComplement/@GraphData[%,"Graph","All"]

Line graph

GraphData[{"TriangularHoneycombQueen",20},"Line"]

LineGraphQ[GraphData[{"TriangularHoneycombQueen",20}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"TriangularHoneycombQueen",20}&]

RootGraph[GraphData[{"TriangularHoneycombQueen",20}]]

Halin

GraphData[{"TriangularHoneycombQueen",20},"Halin"]

GraphData[{"TriangularHoneycombQueen",20},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"TriangularHoneycombQueen",20},"Rigid"]

GraphData[{"TriangularHoneycombQueen",20},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"TriangularHoneycombQueen",20},"Flexible"]

GraphData[{"TriangularHoneycombQueen",20},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"TriangularHoneycombQueen",20},"LCF"]

GraphData[{"TriangularHoneycombQueen",20},"HamiltonianCycleCount"]

GraphData[{"TriangularHoneycombQueen",20},"LCFSignature"]

GraphData[{"TriangularHoneycombQueen",20},"LCFNotations"]

GraphData[{"TriangularHoneycombQueen",20},"Graph","LCF"]//StyleGraphs

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

LCF compute random

FindRandomLCFNotation[GraphData[{"TriangularHoneycombQueen",20}],TimeConstraint->120]

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"TriangularHoneycombQueen",20}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

nicelcf=LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"TriangularHoneycombQueen",20},{0,Missing["NotAvailable",DeleteCases[nicelcf,{_,XXX}]]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute all

Divisors[GraphData[{"TriangularHoneycombQueen",20},"V"]]

Length[FindHamiltonianCycle[GraphData[{"TriangularHoneycombQueen",20}],All][[All,All,1]]]//Timing

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

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"TriangularHoneycombQueen",20},".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

UnitDistance

GraphData[{"TriangularHoneycombQueen",20},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"TriangularHoneycombQueen",20}],Debug->True]//Timing

GraphData[{"TriangularHoneycombQueen",20},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"TriangularHoneycombQueen",20},"VertexList"],GraphData[{"TriangularHoneycombQueen",20},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"TriangularHoneycombQueen",20},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

FindUnitDistanceEmbedding[GraphData[{"TriangularHoneycombQueen",20}],MaxIterations->5000,"ReturnWithMessage"->False]//Quiet//Timing

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

gs=SortBy[UniqueEmbeddings[l],Replace[RectilinearCrossingCount[#],Infinity->0]&]

Matchstick

GraphData[{"TriangularHoneycombQueen",20},"Matchstick"]

GraphData[{"TriangularHoneycombQueen",20},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"TriangularHoneycombQueen",20},"Edges"]]

3D All

GraphData[{"TriangularHoneycombQueen",20},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"TriangularHoneycombQueen",20},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"TriangularHoneycombQueen",20},"Polyhedral"]

GraphData[{"TriangularHoneycombQueen",20},"Graph",{"3D","Polyhedron"}]

Properties

Acyclic

Table[GraphData[{"TriangularHoneycombQueen",n},"Acyclic"],{n,10}]

AdjacencyMatrixCount

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"AdjacencyMatrixCount"],{n,10}]

Table[((Binomial[n+1,2]!)/(Piecewise[{{1,n==1},{48,n==3},{12,n==4}},6])),{n,10}]

Arboricity

Table[GraphData[{"TriangularHoneycombQueen",n},"Arboricity"],{n,10}]

ArcTransitive

Table[GraphData[{"TriangularHoneycombQueen",n},"ArcTransitive"],{n,10}]

ArcTransitivity

Table[GraphData[{"TriangularHoneycombQueen",n},"ArcTransitivity"],{n,10}]

AutomorphismCount

Table[GraphData[{"TriangularHoneycombQueen",n},"AutomorphismCount"],{n,10}]

BalabanIndex

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"BalabanIndex"],{n,10}]

FindSequenceFunction[seq,n]//Factor

Bandwidth

Table[GraphData[{"TriangularHoneycombQueen",n},"Bandwidth"],{n,10}]

BridgeCount

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"BridgeCount"],{n,10}]

BurningNumber

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"BurningNumber"],{n,10}]

CharacteristicPolynomial

(poly=Factor@Table[GraphData[{"TriangularHoneycombQueen",n},"CharacteristicPolynomial"][x],{n,k0=1,kmax=10}])//Column

FindSequenceFunction[poly,n]

ChordlessCycleCount

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"ChordlessCycleCount"],{n,10}]

FindSequenceFunction[seq,n]

ChromaticInvariant

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"ChromaticInvariant"],{n,10}]

FindSequenceFunction[Drop[seq,2],n]

ChromaticNumber

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"ChromaticNumber"],{n,10}]

Monitor[Table[ChromaticNumber[TriangularHoneycombQueenGraph[n]],{n,5}],n]//Timing

ChromaticPolynomial

(poly=Factor@Table[GraphData[{"TriangularHoneycombQueen",n},"ChromaticPolynomial"][x],{n,k0=1,kmax=10}])//Column

coef=Factor/@FindLinearRecurrence[poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

poly2=Table[XXX,{n,10}]

FullSimplify[poly2-poly]

Circumference

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"Circumference"],{n,10}]

FindSequenceFunction[Drop[seq,1],n-1]//Factor

Binomial[n+1,2]

Classes

Intersection@@(GraphData[#,"Classes"]&/@GraphData["TriangularHoneycombQueen"])

CliqueCount

A289864

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"CliqueCount"],{n,10}]

(seq=Monitor[Table[Length@FindAllCliques@TriangularHoneycombQueenGraph[n],{n,15}],n])//Timing

FindLinearRecurrence[seq]

LinearRecurrence[{5,-8,2,7,-7,2},{2,8,27,72,169,367},20]

FindSequenceFunction[seq,n]

gf=x FindGeneratingFunction[seq,x]

ToString[gf,InputForm]

CoefficientList[Series[((-2+2 x-3 (x^2)+3 (x^3)+5 (x^4)-2 (x^5))/((((-1+x))^4) (-1+x+2 (x^2)))),{x,0,20}],x]

FullSimplify[SeriesCoefficient[gf,{x,0,n}],n>0]//Factor

Table[(4n^3-18n^2-68n-79-(-1)^n+3 2^(n+5))/16,{n,50}]

CliqueCoveringNumber

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"CliqueCoveringNumber"],{n,10}]

CliqueNumber

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"CliqueNumber"],{n,10}]

Table[CliqueNumber[TriangularHoneycombQueenGraph[n]],{n,14}]//Timing

CliquePolynomial

(poly=Factor@Table[GraphData[{"TriangularHoneycombQueen",n},"CliquePolynomial"][x],{n,k0=2,10}])//Column

coef=Factor/@FindLinearRecurrence[poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

poly2=Table[XXX,{n,10}]

FullSimplify[poly2-poly]

ComplementOddChordlessCycleCount

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"ComplementOddChordlessCycleCount"],{n,10}]

FindSequenceFunction[Take[seq,{3,5}],n]

ConnectedComponentCount

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"ConnectedComponentCount"],{n,10}]

ConnectedDominatingSetCount

A289865

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"ConnectedDominatingSetCount"],{n,10}]

FindLinearRecurrence[DeleteMissing@seq]

FindSequenceFunction[DeleteCases[seq,_Missing],n]

gf=x FindGeneratingFunction[DeleteMissing[seq],x]

ConnectedDominationNumber

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"ConnectedDominationNumber"],{n,10}]

FindSequenceFunction[seq,n]

ConnectedDominationPolynomial

(poly=Factor@Table[GraphData[{"TriangularHoneycombQueen",n},"ConnectedDominationPolynomial"][x],{n,k0=1,10}]/.f_Function:>f[x])//Column

coef=Factor/@FindLinearRecurrence[DeleteMissing[poly]]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

poly2=Table[XXX,{n,20}]

FullSimplify[poly2-poly]

ConnectedInducedSubgraphCount

A289874

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"ConnectedInducedSubgraphCount"],{n,10}]

FindLinearRecurrence[DeleteMissing[seq]]

FindSequenceFunction[DeleteCases[seq,_Missing],n]

gf=x FindGeneratingFunction[DeleteMissing@seq,x]

ConnectedInducedSubgraphPolynomial

(poly=Factor[Table[GraphData[{"TriangularHoneycombQueen",n},"ConnectedInducedSubgraphPolynomial"],{n,k0=1,kmax=10}]/.f_Function:>f[x]])//Column

coef=Factor/@FindLinearRecurrence[DeleteMissing@poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

poly2=Table[XXX,{n,20}]

FullSimplify[poly2-poly]

CrossingNumber

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"CrossingNumber"],{n,10}]

CycleCount

A289875

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"CycleCount"],{n,10}]

FindLinearRecurrence[DeleteMissing@seq]

FindSequenceFunction[Rest@DeleteCases[seq,_Missing],n-1]

gf=x FindGeneratingFunction[DeleteCases[seq,_Missing],x]

CyclePolynomial

(poly=Factor@Table[GraphData[{"TriangularHoneycombQueen",n},"CyclePolynomial"][x],{n,k0=1,kmax=10}])//Column

coef=Factor/@FindLinearRecurrence[poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

poly2=Table[XXX,{n,10}]

FullSimplify[poly2-poly]

Cyclic

Table[GraphData[{"TriangularHoneycombQueen",n},"Cyclic"],{n,10}]

CyclomaticNumber

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"CyclomaticNumber"],{n,10}]

FindSequenceFunction[seq,n]//Factor

DetourIndex

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"DetourIndex"],{n,10}]

FindSequenceFunction[seq,n]//Factor

3/2Binomial[n+2,4](n+2)(n-1)

DetourMatrix

MatrixForm/@Table[GraphData[{"TriangularHoneycombQueen",n},"DetourMatrix"],{n,10}]

MatrixForm/@Table[SparseArray[{i_,j_}:>Abs[i-j],n],{n,10}]

DetourPolynomial

(poly=Factor@Table[GraphData[{"TriangularHoneycombQueen",n},"DetourPolynomial"][x],{n,k0=1,kmax=10}])//Column

FindSequenceFunction[{4,25,81,196,400,729,1225,1936},n-1]//Factor

FindSequenceFunction[{2,5,9,14,20,27,35,44,54},n-1]//Factor

(poly2=Table[(x-(1/4) (((-1+n))^2) (((2+n))^2))(((x+(1/2) (-1+n) (2+n)))^((1/2) (-1+n) (2+n))),{n,10}])//Column

poly/poly2

Diameter

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"Diameter"],{n,10}]

DistanceMatrix

MatrixForm/@Table[GraphData[{"TriangularHoneycombQueen",n},"DistanceMatrix"],{n,10}]

MatrixForm/@Table[SparseArray[{i_,j_}:>Abs[i-j],n],{n,10}]

DistancePolynomial

(poly=Factor@Table[GraphData[{"TriangularHoneycombQueen",n},"DistancePolynomial"][x],{n,k0=1,kmax=10}])//Column

coef=Factor/@FindLinearRecurrence[poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

poly2=Table[XXX,{n,10}]

FullSimplify[poly2-poly]

DistinguishingNumber

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"DistinguishingNumber"],{n,10}]

DomaticNumber

domatically perfect

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"DomaticNumber"],{n,10}]

Table[GraphData[{"TriangularHoneycombQueen",n},"DominatingSetCount"],{n,10}]

Table[GraphData[{"TriangularHoneycombQueen",n},"MinimalDominatingSetCount"],{n,10}]

Table[2Floor[n/2]+1,{n,10}]

Table[Floor[Divide@@GraphData[{"TriangularHoneycombQueen",n},{"VertexCount","DominationNumber"}]],{n,9}]

DominatingSetCount

A289876

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"DominatingSetCount"],{n,10}]

FindLinearRecurrence[DeleteMissing@seq]

FindLinearRecurrence[DeleteMissing@Drop[seq,2]]

FindSequenceFunction[DeleteMissing@seq]

FindSequenceFunction[DeleteMissing@Drop[seq,2]]

gf=x FindGeneratingFunction[DeleteMissing@seq,x]

DominationNumber

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"DominationNumber"],{n,10}]

DominationPolynomial

(poly=Factor@Table[GraphData[{"TriangularHoneycombQueen",n},"DominationPolynomial"][x],{n,k0=1,kmax=10}])//Column

coef=Factor/@FindLinearRecurrence[poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

poly2=Table[XXX,{n,10}]

FullSimplify[poly2-poly]

EdgeChromaticNumber

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"EdgeChromaticNumber"],{n,10}]

FindSequenceFunction[seq,n]

gf=x FindGeneratingFunction[seq,x]

EdgeConnectivity

Table[GraphData[{"TriangularHoneycombQueen",n},"EdgeConnectivity"],{n,10}]

EdgeCount

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"EdgeCount"],{n,10}]

FindSequenceFunction[seq,n]

3Binomial[n+1,3]

FullSimplify[%-%%]

EdgeCoverCount

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"EdgeCoverCount"],{n,10}]

EdgeCoverNumber

A054925 for n > 1

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"EdgeCoverNumber"],{n,10}]

(seq=Monitor[Table[EdgeCoverNumber[TriangularHoneycombQueenGraph[n]],{n,20}],n])//Timing

FindLinearRecurrence[Rest@seq]

FindSequenceFunction[seq,n]

gf=x FindGeneratingFunction[seq,x]

Table[Piecewise[{{0,n==1}},Ceiling[n(n+1)/4]],{n,10}]

EdgeCoverPolynomial

(poly=Factor@Table[GraphData[{"TriangularHoneycombQueen",n},"EdgeCoverPolynomial"][x],{n,k0=1,kmax=10}])//Column

coef=Factor/@FindLinearRecurrence[poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

poly2=Table[XXX,{n,10}]

FullSimplify[poly2-poly]

EulerianCycleCount

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"EulerianCycleCount"],{n,10}]

FaceCount

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"FaceCount"],{n,10}]

FlowPolynomial

(poly=Factor@Table[GraphData[{"TriangularHoneycombQueen",n},"FlowPolynomial"][x],{n,k0=1,kmax=10}])//Column

coef=Factor/@FindLinearRecurrence[poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

poly2=Table[XXX,{n,10}]

FullSimplify[poly2-poly]

FractionalChromaticNumber

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"FractionalChromaticNumber"],{n,10}]

FractionalEdgeChromaticNumber

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"FractionalEdgeChromaticNumber"],{n,10}]

FindSequenceFunction[Drop[seq,-4],n]

Girth

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"Girth"],{n,10}]

Gonality

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"Gonality"],{n,10}]

HamiltonConnected

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"HamiltonConnected"],{n,10}]

HamiltonDecompositionCount

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"HamiltonDecompositionCount"],{n,10}]

Hamiltonian

Table[GraphData[{"TriangularHoneycombQueen",n},"Hamiltonian"],{n,10}]

HamiltonianCycleCount

A289703

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"HamiltonianCycleCount"],{n,10}]

FindLinearRecurrence[DeleteMissing@seq]

FindSequenceFunction[DeleteMissing@seq,n]

gf=x FindGeneratingFunction[DeleteMissing@seq,x]

HamiltonianNumber

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"HamiltonianNumber"],{n,10}]

FindSequenceFunction[seq,n]

Binomial[n+1,2]

HamiltonianPathCount

A289704

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"HamiltonianPathCount"],{n,10}]

FindSequenceFunction[DeleteMissing@seq,n]

FindSequenceFunction[Rest@DeleteMissing@seq,n]

gf=x FindGeneratingFunction[DeleteMissing@seq,x]

gf=(x^2) FindGeneratingFunction[Rest@DeleteMissing@seq,x]

HamiltonianWalkCount

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"HamiltonianWalkCount"],{n,10}]

HararyIndex

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"HararyIndex"],{n,10}]

FindSequenceFunction[seq,n]//Factor

HexagonCount

A289707

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"HexagonCount"],{n,10}]

(seq=Monitor[Table[CycleCount[TriangularHoneycombQueenGraph[n],6],{n,30}],n])//Timing

coef=FindLinearRecurrence[seq]

Length[coef]

Take[seq,Length[coef]]

LinearRecurrence[{3,1,-10,3,13,-3,-12,-3,13,3,-10,1,3,-1},{0,0,16,911,8013,38130,129932,358272,851710,1815124,3554910,6510729,11289019,18704640},20]

RSolve[Append[Table[a[k]==seq[[k]],{k,Length[coef]}],a[n]==Sum[a[n-k]coef[[k]],{k,Length[coef]}]],a[n],n]

FullSimplify[%270,n∈Integers]//Expand//Together

Factor[(792995+3789081 n-1968939 (n^2)-3033450 (n^3)+3489990 (n^4)-1269366 (n^5)+154014 (n^6)+1440 (n^7))]

Table[(-315(((-1))^n)(-2489+1659 n-297 (n^2)+10 (n^3))-792995+3789081 n-1968939 (n^2)-3033450 (n^3)+3489990 (n^4)-1269366 (n^5)+154014 (n^6)+1440 (n^7)+8960 Cos[((2 n π)/3)]-8960 (Sqrt[3]) Sin[((2 n π)/3)])/40320,{n,20}]

FindSequenceFunction[seq,n]

gf=(x^3)FindGeneratingFunction[Drop[seq,2],x]

IdiosyncraticPolynomial

(poly=Factor@Table[GraphData[{"TriangularHoneycombQueen",n},"IdiosyncraticPolynomial"][x,y],{n,k0=1,kmax=10}])//Column

coef=Factor/@FindLinearRecurrence[poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

poly2=Table[XXX,{n,10}]

FullSimplify[poly2-poly]

IndependenceNumber

A004396

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"IndependenceNumber"],{n,20}]

(seq=Monitor[Table[IndependenceNumber[TriangularHoneycombQueenGraph[n]],{n,16}],n])//Timing

seq=Table[Floor[(2n+1)/3],{n,0,20}]

FindLinearRecurrence[seq]

LinearRecurrence[{1,0,1,-1},{1,1,2,3},{0,20}]

Table[Quotient[2 n+1,3],{n,0,20}]

FindSequenceFunction[seq,n]

Wagon (2104)

IndependencePolynomial

(poly=Factor@Table[GraphData[{"TriangularHoneycombQueen",n},"IndependencePolynomial"][x],{n,k0=1,kmax=10}])//Column

coef=Factor/@FindLinearRecurrence[poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

poly2=Table[XXX,{n,10}]

FullSimplify[poly2-poly]

IndependenceRatio

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"IndependenceRatio"],{n,10}]

FindSequenceFunction[seq,n]

Table[((Floor[(2n+1)/3])/(Binomial[n+1,2])),{n,20}]

IndependentEdgeSetCount

A289708

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"IndependentEdgeSetCount"],{n,10}]

FindLinearRecurrence[DeleteMissing[seq]]

FindSequenceFunction[DeleteMissing[seq],n]

gf=x FindGeneratingFunction[DeleteMissing[seq],x]

IndependentVertexSetCount

A289709

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"IndependentVertexSetCount"],{n,10}]

seq/2

(seq=Monitor[Table[Length@FindAllIndependentVertexSets[TriangularHoneycombQueenGraph[n]],{n,12}],n])//Timing

FindLinearRecurrence[seq]

FindSequenceFunction[seq,n]

gf=x FindGeneratingFunction[seq,x]

IntersectionNumber

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"IntersectionNumber"],{n,10}]

KirchhoffIndex

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"KirchhoffIndex"],{n,10}]

(seq=Monitor[Table[KirchhoffIndex[TriangularHoneycombQueenGraph[n]],{n,15}],n])//Timing

FindSequenceFunction[seq,n]

FindSequenceFunction[Drop[seq,2],n-2]

KirchhoffSumIndex

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"KirchhoffSumIndex"],{n,10}]

(seq=Monitor[Table[KirchhoffSumIndex[TriangularHoneycombQueenGraph[n]],{n,15}],n])//Timing

FindSequenceFunction[seq,n]

FindSequenceFunction[Drop[seq,2],n-2]

LaplacianMatrix

MatrixForm/@Table[GraphData[{"TriangularHoneycombQueen",n},"LaplacianMatrix"],{n,10}]

LaplacianPolynomial

(poly=Factor@Table[GraphData[{"TriangularHoneycombQueen",n},"LaplacianPolynomial"][x],{n,k0=1,kmax=10}])//Column

coef=Factor/@FindLinearRecurrence[Rest@poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

poly2=Table[XXX,{n,10}]

FullSimplify[poly2-poly]

LeafCount

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"LeafCount"],{n,10}]

LongestCycleCount

Same as |HC|

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"LongestCycleCount"],{n,10}]

LovaszNumber

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"LovaszNumber"],{n,10}]

MatchingGeneratingPolynomial

(poly=Factor[Table[GraphData[{"TriangularHoneycombQueen",n},"MatchingGeneratingPolynomial"],{n,k0=1,kmax=10}]/.f_Function:>f[x]])//Column

coef=Factor/@FindLinearRecurrence[DeleteMissing@poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

poly2=Table[XXX,{n,10}]

FullSimplify[poly2-poly]

MatchingNumber

A011848

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"MatchingNumber"],{n,10}]

Table[Floor[Binomial[n+1,2]/2],{n,10}]

FindLinearRecurrence[seq]

MatchingPolynomial

(poly=Factor[Table[GraphData[{"TriangularHoneycombQueen",n},"MatchingPolynomial"],{n,k0=1,kmax=10}]/.f_Function:>f[x]])//Column

coef=Factor/@FindLinearRecurrence[DeleteMissing@poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

poly2=Table[XXX,{n,10}]

FullSimplify[poly2-poly]

MaximalCliqueCount

A289877

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"MaximalCliqueCount"],{n,10}]

(seq=Monitor[Table[Length@FindClique[TriangularHoneycombQueenGraph[n],Infinity,All],{n,20}],n])//Timing

FindLinearRecurrence[seq]

FindLinearRecurrence[Rest@seq]

LinearRecurrence[{3,-2,-2,3,-1},{1,8,19,36,60,93},40]

FindSequenceFunction[seq,n]

FindSequenceFunction[Rest@seq,n-1]//FullSimplify

gf=x FindGeneratingFunction[seq,x]

FullSimplify[SeriesCoefficient[gf,{x,0,n}],n>0]

gf=(x^2) FindGeneratingFunction[Rest@seq,x]

ToString[gf,InputForm]

Series[(((x^2) (1+5 x-3 (x^2)-3 (x^3)+3 (x^4)))/((((-1+x))^4) (1+x))),{x,0,20}]

CoefficientList[Series[((1+5 x-3 (x^2)-3 (x^3)+3 (x^4))/((((-1+x))^4) (1+x))),{x,0,20}],x]

Factor[2 n (22+n (-1+2 n))]

Table[(2 n (22-n+2 (n^2))-95-(((-1))^n))/16,{n,2,20}]

MaximalIndependentEdgeSetCount

A289878

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"MaximalIndependentEdgeSetCount"],{n,10}]

MaximalIndependentVertexSetCount

A289883

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"MaximalIndependentVertexSetCount"],{n,10}]

(seq=Monitor[Table[Length@FindIndependentVertexSet[TriangularHoneycombQueenGraph[n],Infinity,All],{n,13}],n])//Timing

FindLinearRecurrence[seq]

FindLinearRecurrence[Drop[seq,2]]

FindLinearRecurrence[Drop[seq,3]]

FindSequenceFunction[Drop[seq,2],n-2]

gf=x FindGeneratingFunction[seq,x]

MaximumCliqueCount

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"MaximumCliqueCount"],{n,10}]

MaximumIndependentEdgeSetCount

A289884

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"MaximumIndependentEdgeSetCount"],{n,10}]

FindSequenceFunction[DeleteMissing@seq]

gf=x FindGeneratingFunction[DeleteMissing@seq,x]

MaximumIndependentVertexSetCount

A289893

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"MaximumIndependentVertexSetCount"],{n,10}]

(seq=Monitor[Table[Length@FindAllMaximumIndependentVertexSets[TriangularHoneycombQueenGraph[n]],{n,14}],n])//Timing

seq={1,3,3,2,23,18,6,270,166,28,4842,2532,244,120052,49620,2544,3852972};

Looks like A002047

seq1=seq[[1;;All;;3]]

FindLinearRecurrence[seq1]

FindGeneratingFunction[seq1,n]

FindSequenceFunction[A002047={1,2,6,28,244,2544,35600,659632,15106128,425802176,14409526080,577386122880},n]

FindLinearRecurrence[A002047]

gf=x FindGeneratingFunction[A002047,x]

seq2=seq[[2;;All;;3]]

FindLinearRecurrence[seq2]

FindGeneratingFunction[seq2,n]

seq3=seq[[3;;All;;3]]

FindGeneratingFunction[seq3,n]

FindLinearRecurrence[seq3]

MaximumLeafNumber

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"MaximumLeafNumber"],{n,10}]

MaximumVertexDegree

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"MaximumVertexDegree"],{n,10}]

FindSequenceFunction[seq,n]

MeanDistance

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"MeanDistance"],{n,10}]

FindSequenceFunction[seq,n]

MinimalDominatingSetCount

A290717

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"MinimalDominatingSetCount"],{n,10}]

FindLinearRecurrence[DeleteMissing@seq]

FindSequenceFunction[DeleteMissing@seq,n]

MinimumCliqueCoveringCount

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"MinimumCliqueCoveringCount"],{n,10}]

MinimumConnectedDominatingSetCount

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"MinimumConnectedDominatingSetCount"],{n,10}]

FindSequenceFunction[DeleteCases[seq,_Missing],n]

MinimumDistinguishingLabelingCount

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"MinimumDistinguishingLabelingCount"],{n,10}]

FindSequenceFunction[DeleteMissing@seq]

MinimumDominatingSetCount

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"MinimumDominatingSetCount"],{n,10}]

MinimumEdgeCoverCount

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"MinimumEdgeCoverCount"],{n,10}]

MinimumVertexDegree

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"MinimumVertexDegree"],{n,10}]

FindSequenceFunction[seq,n]

MolecularTopologicalIndex

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"MolecularTopologicalIndex"],{n,10}]

FindSequenceFunction[seq,n]//Factor

Nonhamiltonian

Table[GraphData[{"TriangularHoneycombQueen",n},"Nonhamiltonian"],{n,10}]

NormalizedLaplacianMatrix

MatrixForm/@Table[GraphData[{"TriangularHoneycombQueen",n},"NormalizedLaplacianMatrix"],{n,10}]

OddChordlessCycleCount

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"OddChordlessCycleCount"],{n,10}]

PathCount

A289894

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"PathCount"],{n,10}]

PathPolynomial

(poly=Factor[Table[GraphData[{"TriangularHoneycombQueen",n},"PathPolynomial"],{n,k0=1,kmax=10}]/.f_Function:>f[x]])//Column

coef=Factor/@FindLinearRecurrence[DeleteMissing@poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

poly2=Table[XXX,{n,k0,kmax}]

FullSimplify[poly2-poly]

PentagonCount

A289706

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"PentagonCount"],{n,10}]

(seq=Monitor[Table[CycleCount[TriangularHoneycombQueenGraph[n],5],{n,27}],n])//Timing

coef=FindLinearRecurrence[seq]

Take[seq,Length[coef]]

RSolve[Append[Table[a[k]==seq[[k]],{k,Length[coef]}],a[n]==Sum[a[n-k]coef[[k]],{k,Length[coef]}]],a[n],n]//FullSimplify

Factor[(73+2 (-15+n) n)]

Table[(1095-4770 n+934 (n^2)+4680 (n^3)-3170 (n^4)+540 (n^5)+16 (n^6)-15 (((-1))^n) (73-30 n+2 (n^2)))/320,{n,40}]

LinearRecurrence[{4,-3,-8,14,0,-14,8,3,-4,1},{0,0,24,324,1692,5796,15516,35388,71988,134460},20]

FindSequenceFunction[seq,n]

gf=(x^3)FindGeneratingFunction[Drop[seq,2],x]

...wrong; bug(333165)...

gf=(x^4)FindGeneratingFunction[Drop[seq,3],x]

Perfect

Table[GraphData[{"TriangularHoneycombQueen",n},"Perfect"],{n,10}]

ProjectivePlaneCrossingNumber

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"ProjectivePlaneCrossingNumber"],{n,10}]

Radius

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"Radius"],{n,10}]

RankPolynomial

(poly=Factor@Table[GraphData[{"TriangularHoneycombQueen",n},"RankPolynomial"][x,y],{n,k0=1,kmax=10}])//Column

coef=Factor/@FindLinearRecurrence[poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

poly2=Table[XXX,{n,10}]

FullSimplify[poly2-poly]

RectilinearCrossingNumber

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"RectilinearCrossingNumber"],{n,10}]

ReliabilityPolynomial

(poly=Factor@Table[GraphData[{"TriangularHoneycombQueen",n},"ReliabilityPolynomial"][x],{n,k0=1,kmax=10}])//Column

coef=Factor/@FindLinearRecurrence[poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

poly2=Table[XXX,{n,10}]

FullSimplify[poly2-poly]

SigmaPolynomial

(poly=Factor@Table[GraphData[{"TriangularHoneycombQueen",n},"SigmaPolynomial"][x],{n,k0=1,kmax=10}])//Column

coef=Factor/@FindLinearRecurrence[poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

poly2=Table[XXX,{n,10}]

FullSimplify[poly2-poly]

SpanningTreeCount

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"SpanningTreeCount"],{n,10}]

FindSequenceFunction[seq,n]

gf=x FindGeneratingFunction[seq,x]

SquareCount

A289705

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"SquareCount"],{n,10}]

(seq=Monitor[Table[CycleCount[TriangularHoneycombQueenGraph[n],4],{n,20}],n])//Timing

coef=FindLinearRecurrence[seq]

Take[seq,Length[coef]]

LinearRecurrence[coef,{0,0,15,96,330,855,1866,3624},40]

FindSequenceFunction[seq,n]

gf=(x^3)FindGeneratingFunction[Drop[seq,2],x]

ToString[gf,InputForm]

CoefficientList[Series[-((3 (x^2) (-5-12 x-2 (x^2)+7 (x^3)))/((((-1+x))^6) (((1+x))^2))),{x,0,20}],x]

FullSimplify[SeriesCoefficient[gf,{x,0,n}],n>0]//Expand//Factor

Table[(1/320) (24 (n^5)+170 (n^4)-660 (n^3)+160 (n^2)+606 n-165+(((-1))^n)(165-30n)),{n,20}]

FindLinearRecurrence[Drop[seq,3]]

StabilityIndex

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"StabilityIndex"],{n,10}]

FindSequenceFunction[seq,n]

gf=x FindGeneratingFunction[seq,x]

TopologicalIndex

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"TopologicalIndex"],{n,10}]

FindSequenceFunction[seq,n]

FindGeneratingFunction[seq,x]

ToroidalCrossingNumber

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"ToroidalCrossingNumber"],{n,10}]

Traceable

Table[GraphData[{"TriangularHoneycombQueen",n},"Traceable"],{n,10}]

TriangleCount

A105636(n+1)

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"TriangleCount"],{n,10}]

(seq=Monitor[Table[CycleCount[TriangularHoneycombQueenGraph[n],3],{n,20}],n])//Timing

FindLinearRecurrence[seq]

FindSequenceFunction[seq,n]//FullSimplify

Factor[(1-4 (n^2)+2 (n^4))]

Table[(1-4 (n^2)+2 (n^4)-(((-1))^n))/16,{n,20}]

FullSimplify[(1-4 (n^2)+2 (n^4)-(((-1))^n))/16/.n->n+1]

Table[ ((((-1))^n)+2 (n^2)(((n+2))^2) -1)/16,{n,0,20}]

TuttePolynomial

(poly=Factor@Table[GraphData[{"TriangularHoneycombQueen",n},"TuttePolynomial"][x,y],{n,k0=1,kmax=10}])//Column

coef=Factor/@FindLinearRecurrence[poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

poly2=Table[XXX,{n,10}]

FullSimplify[poly2-poly]

Untraceable

Table[GraphData[{"TriangularHoneycombQueen",n},"Untraceable"],{n,10}]

VertexConnectivity

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"VertexConnectivity"],{n,10}]

FindSequenceFunction[seq,n]

VertexCount

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"VertexCount"],{n,10}]

FindSequenceFunction[seq,n]

Binomial[n+1,2]

VertexCoverNumber

n-α

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"VertexCoverNumber"],{n,10}]

FindSequenceFunction[seq,n]//FullSimplify

Table[(1/18) (3 n (-1+3 n)-4 (Sqrt[3]) Sin[((2 n π)/3)]),{n,20}]

gf=x FindGeneratingFunction[seq,x]

FullSimplify[SeriesCoefficient[gf,{x,0,n}],n>0]

Table[3 (2^(-3+n)),{n,10}]

VertexCoverPolynomial

(poly=Factor@Table[GraphData[{"TriangularHoneycombQueen",n},"VertexCoverPolynomial"][x],{n,k0=1,kmax=10}])//Column

coef=Factor/@FindLinearRecurrence[poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

poly2=Table[XXX,{n,10}]

FullSimplify[poly2-poly]

VertexDegrees

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"VertexDegrees"],{n,10}]

VertexTransitive

Table[GraphData[{"TriangularHoneycombQueen",n},"VertexTransitive"],{n,10}]

WienerIndex

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"WienerIndex"],{n,10}]

FindSequenceFunction[seq,n]//Factor

WienerSumIndex

seq=Table[GraphData[{"TriangularHoneycombQueen",n},"WienerSumIndex"],{n,10}]

FindSequenceFunction[seq,n]

GraphData

GraphDataClassString

GraphDataClassString["TriangularHoneycombQueen"]

GraphDataString

file=OpenAppend["~/tri-honeycomb-queen.m"]

Do[
WriteString[file,GraphDataString[TriangularHoneycombQueenGraph[n],
"StandardName"->{"TriangularHoneycombQueen",n},
"Name"->IntegerString[n]<>"\[Hyphen]triangular honeycomb queen graph",
"Classes"->{"TriangularHoneycombQueen"},
"NotationRules"->{"TriangularHoneycombQueen"->n},
"Skip"->{"ABCEnergy","ABCSpectralRadius","ArithmeticGeometricEnergy","ArithmeticGeometricSpectralRadius","Arboricity","BetweennessCentralities","ChordlessCycles","CirculantIndices","ConnectedDominatingSet","ConnectedInducedSubgraphPolynomial","ConnectedInducedSubgraphs","ConstructionNumber","CyclePolynomial","Cycles","CyclicEdgeConnectivity","EdgeChromaticNumber","EdgeCovers","EigenvectorCentralities","HadwigerNumber","HamiltonianPaths","IdiosyncraticPolynomial","IndependenceNumber","IndependencePolynomial","IrredundancePolynomial","MatchingGeneratingPolynomial","MaximalIndependentEdgeSets","MaximalIndependentVertexSet","MaximumIndependentEdgeSetCount","MaximumIndependentEdgeSets","MaximumIndependentVertexSet","MaximumIndependentVertexSetCount","MaximumIndependentVertexSets","MetricDimension","MinimumConnectedDominatingSet","MinimumCyclicEdgeCut","MinimumCyclicEdgeCuts","MinimumDominatingSet","MinimumEdgeColoring","MinimumTotalDominatingSet","MinimumVertexCover","MinimumVertexCut","MinimumWeightFractionalEdgeColoring","MinorCount","Minors","OddChordlessCycles","PageRankCentralities","PathPolynomial","Paths","ProjectivePlanar","RandicEnergy","RectilinearCrossingCount","SomborEnergy","SomborSpectralRadius","UnitDistance","TuttePolynomial"},
TimeConstraint->10,
Debug->True
]],
{n,17,20}]

Close[file]