Triangular Grid Graph

Author

Eric W. Weisstein
July 2, 2024

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

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

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

Graphics

Graphs.m

GraphicsRow[Table[Show[TriangularGridGraph[n]//StyleGraphs,PlotLabel->Style[Subscript[Style["T",Italic],n],Directive[Black,16,FontFamily->"Times"]]],{n,0,4}],ImageSize->500,Dividers->All]

Special cases

TextGrid[DeleteCases[
With[{r=RecognizeGraph[#]},{GraphData[r,"NotationRules","TriangularGrid"],r}]&/@Table[TriangularGridGraph[n],{n,0,20}],
{_,{"TriangularGrid",_}}],Dividers->All]

Classes

Classes

GraphClassesThatAreClass["TriangularGrid"]

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

Embeddings

<<MathWorld`Graphs`

{"TriangularGrid", 0} == "SingletonGraph"

Names

GraphData[{"TriangularGrid",0},"StandardName"]

GraphData[{"TriangularGrid",0},"StandardNames"]

{"TriangularGrid", 1} == "TriangleGraph"

Names

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

GraphData[{"TriangularGrid",1},"StandardNames"]

{"TriangularGrid", 2}

Names

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

GraphData[{"TriangularGrid",2},"StandardNames"]

Primary

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

All

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

Configuration

GraphData[{"TriangularGrid",2},"Configuration"]

GraphData[{"TriangularGrid",2},"Graph","Configuration"]//StyleGraphs

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"TriangularGrid",2},"EdgeList"]]

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

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

Perspective

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

Perspective construction

GraphData[{"TriangularGrid",2},"Polyhedron"]

PolyhedronGraph[GraphData[{"TriangularGrid",2},"Polyhedron"]]

Bilateral

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

Circular

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

Planar

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

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

MinimalCrossing

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

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

Circulant

GraphData[{"TriangularGrid",2},"Circulant"]

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

Complement graph

GraphData[{"TriangularGrid",2},"ComplementGraph","Name"]

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

Line graph

GraphData[{"TriangularGrid",2},"Line"]

LineGraphQ[GraphData[{"TriangularGrid",2}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"TriangularGrid",2}&]

(LineGraph/@GraphData[#,"Graph","All"])&/@%

RootGraph[GraphData[{"TriangularGrid",2}]]

Halin

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

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

Rigid

GraphData[{"TriangularGrid",2},"Rigid"]

GraphData[{"TriangularGrid",2},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"TriangularGrid",2},"Flexible"]

GraphData[{"TriangularGrid",2},"Graph","Flexible"]//StyleGraphs

LCF

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

GraphData[{"TriangularGrid",2},"HamiltonianCycleCount"]

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

GraphData[{"TriangularGrid",2},"LCFNotations"]

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

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

UnitDistance

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

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"TriangularGrid",2},"VertexList"],GraphData[{"TriangularGrid",2},"EdgeList"]],MaxIterations->500]

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

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"TriangularGrid", 3}

Names

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

GraphData[{"TriangularGrid",3},"StandardNames"]

Primary

GraphData[{"TriangularGrid",3}]//StyleGraphs[#,ImageSize->Small]&

All

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

Polyiamond

GraphData[{"TriangularGrid",3},"Graph","Polyiamond"]//StyleGraphs

Configuration

GraphData[{"TriangularGrid",3},"Configuration"]

GraphData[{"TriangularGrid",3},"Graph","Configuration"]//StyleGraphs

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"TriangularGrid",3},"EdgeList"]]

Default embedding

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

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

RecognizeGraph[g]

Degenerate

GraphData[{"TriangularGrid",3},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"TriangularGrid",3},"Graph","Degenerate"]

Perspective

GraphData[{"TriangularGrid",3},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"TriangularGrid",3},"Polyhedron"]

PolyhedronGraph[GraphData[{"TriangularGrid",3},"Polyhedron"]]

Bilateral

GraphData[{"TriangularGrid",3},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"TriangularGrid",3},"Graph","Circular"]//StyleGraphs

Circular construction

GraphData[{"TriangularGrid",3},"Hamiltonian"]

GraphData[{"TriangularGrid",3},"HamiltonianCycleCount"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",3}],All][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularGrid",3}],#]&/@hc

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

gs=bilat

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

quad

Planar

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

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

MinimalCrossing

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

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

Circulant

GraphData[{"TriangularGrid",3},"Circulant"]

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

Complement graph

GraphData[{"TriangularGrid",3},"ComplementGraph","Name"]

Line graph

GraphData[{"TriangularGrid",3},"Line"]

LineGraphQ[GraphData[{"TriangularGrid",3}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"TriangularGrid",3}&]

RootGraph[GraphData[{"TriangularGrid",3}]]

Halin

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

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

Rigid

GraphData[{"TriangularGrid",3},"Rigid"]

GraphData[{"TriangularGrid",3},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"TriangularGrid",3},"Flexible"]

GraphData[{"TriangularGrid",3},"Graph","Flexible"]//StyleGraphs

LCF

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

GraphData[{"TriangularGrid",3},"HamiltonianCycleCount"]

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

GraphData[{"TriangularGrid",3},"LCFNotations"]

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

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

UnitDistance

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

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"TriangularGrid",3},"VertexList"],GraphData[{"TriangularGrid",3},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"TriangularGrid", 4}

Names

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

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

Primary

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

All

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

GraphData[{"TriangularGrid",3},"EmbeddingClasses"]

Polyiamond

GraphData[{"TriangularGrid",4},"Graph","Polyiamond"]//StyleGraphs

Configuration

GraphData[{"TriangularGrid",4},"Configuration"]

GraphData[{"TriangularGrid",4},"Graph","Configuration"]//StyleGraphs

Inexact

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

Embedding types

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

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

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

Perspective

GraphData[{"TriangularGrid",4},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"TriangularGrid",4},"Polyhedron"]

PolyhedronGraph[GraphData[{"TriangularGrid",4},"Polyhedron"]]

Bilateral

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

Circular

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

Circular construction

GraphData[{"TriangularGrid",4},"Hamiltonian"]

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

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",4}],All][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularGrid",4}],#]&/@hc

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

gs=bilat

Planar

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

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

MinimalCrossing

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

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

Circulant

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

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

Complement graph

GraphData[{"TriangularGrid",4},"ComplementGraph","Name"]

Line graph

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

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

RootGraph

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

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

Halin

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

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

Rigid

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

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

Flexible

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

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

LCF

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

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

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

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

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

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

UnitDistance by refinement

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

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"TriangularGrid", 5}

Names

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

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

Primary

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

All

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

Configuration

GraphData[{"TriangularGrid",5},"Configuration"]

GraphData[{"TriangularGrid",5},"Graph","Configuration"]//StyleGraphs

Inexact

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

Embedding types

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

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

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

Perspective

GraphData[{"TriangularGrid",5},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"TriangularGrid",5},"Polyhedron"]

PolyhedronGraph[GraphData[{"TriangularGrid",5},"Polyhedron"]]

Bilateral

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

Circular

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

Circular construction

GraphData[{"TriangularGrid",5},"Hamiltonian"]

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

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",5}],All][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularGrid",5}],#]&/@hc

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

Planar

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

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

MinimalCrossing

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

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

Circulant

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

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

Complement graph

GraphData[{"TriangularGrid",5},"ComplementGraph","Name"]

Line graph

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

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

RootGraph

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

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

Halin

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

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

Rigid

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

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

Flexible

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

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

LCF

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

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

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

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

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

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

UnitDistance

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

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

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

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

UnitDistance by refinement

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

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"TriangularGrid", 6}

Names

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

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

Primary

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

Polyiamond

GraphData[{"TriangularGrid",6},"Graph","Polyiamond"]//StyleGraphs

All

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

Configuration

GraphData[{"TriangularGrid",6},"Configuration"]

GraphData[{"TriangularGrid",6},"Graph","Configuration"]//StyleGraphs

Inexact

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

Embedding types

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

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

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

Perspective

GraphData[{"TriangularGrid",6},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"TriangularGrid",6},"Polyhedron"]

PolyhedronGraph[GraphData[{"TriangularGrid",6},"Polyhedron"]]

Bilateral

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

Circular

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

Circular construction

GraphData[{"TriangularGrid",6},"Hamiltonian"]

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

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",6}],All][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularGrid",6}],#]&/@hc;//Timing

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

Planar

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

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

MinimalCrossing

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

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

Circulant

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

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

Complement graph

GraphData[{"TriangularGrid",6},"ComplementGraph","Name"]

Line graph

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

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

RootGraph

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

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

Halin

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

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

Rigid

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

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

Flexible

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

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

LCF

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

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

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

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

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

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

UnitDistance

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

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

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

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

UnitDistance by refinement

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

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"TriangularGrid", 7}

Names

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

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

Primary

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

Polyiamond

GraphData[{"TriangularGrid",7},"Graph","Polyiamond"]//StyleGraphs

All

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

Configuration

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

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

Inexact

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

Embedding types

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

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

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

Perspective

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

Perspective construction

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

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

Bilateral

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

Circular

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

Circular construction 10^3

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

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

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",7}],10^3][[All,All,1]]]

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

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

gs=bilat

Circular construction 10^4

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

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

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",7}],10^4][[All,All,1]]]

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

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

Circular construction all

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

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

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

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

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

34+ GB

MaxMemoryUsed[]/10^9.

gs=bilat

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

quad

Planar

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

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

MinimalCrossing

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

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

Circulant

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

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

Complement graph

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

Line graph

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

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

RootGraph

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

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

Halin

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

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

Rigid

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

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

Flexible

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

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

LCF

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

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

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

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

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

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

UnitDistance

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

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

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

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

UnitDistance by refinement

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

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"TriangularGrid", 8}

Names

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

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

Primary

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

Polyiamond

GraphData[{"TriangularGrid",8},"Graph","Polyiamond"]//StyleGraphs

All

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

Configuration

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

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

Inexact

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

Embedding types

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

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

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

Perspective

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

Perspective construction

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

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

Bilateral

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

Circular

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

Circular construction 10^3

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

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

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",8}],10^3][[All,All,1]]]

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

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

gs=bilat

Circular construction 10^4

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

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

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",8}],10^4][[All,All,1]]]

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

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

Planar

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

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

MinimalCrossing

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

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

Circulant

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

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

Complement graph

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

Line graph

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

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

RootGraph

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

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

Halin

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

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

Rigid

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

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

Flexible

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

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

LCF

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

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

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

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

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

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

UnitDistance

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

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

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

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

UnitDistance by refinement

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

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"TriangularGrid", 9}

Names

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

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

Primary

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

Polyiamond

GraphData[{"TriangularGrid",9},"Graph","Polyiamond"]//StyleGraphs

All

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

Configuration

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

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

Inexact

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

Embedding types

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

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

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

Perspective

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

Perspective construction

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

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

Bilateral

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

Circular

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

Circular construction 10^3

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

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",9}],10^3][[All,All,1]]]

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

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

gs=bilat

Circular construction 10^4

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

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",9}],10^4][[All,All,1]]]

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

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

Planar

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

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

MinimalCrossing

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

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

Circulant

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

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

Complement graph

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

Line graph

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

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

RootGraph

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

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

Halin

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

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

Rigid

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

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

Flexible

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

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

LCF

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

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

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

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

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

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

UnitDistance

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

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

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

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

UnitDistance by refinement

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

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"TriangularGrid", 10}

Names

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

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

Primary

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

Polyiamond

GraphData[{"TriangularGrid",10},"Graph","Polyiamond"]//StyleGraphs

All

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

Configuration

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

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

Inexact

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

Embedding types

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

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

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

Perspective

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

Perspective construction

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

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

Bilateral

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

Circular

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

Circular construction 10^3

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

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",10}],10^3][[All,All,1]]]

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

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

gs=bilat

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

quad

Circular construction 10^4

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

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",10}],10^4][[All,All,1]]]

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

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

Planar

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

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

MinimalCrossing

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

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

Circulant

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

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

Complement graph

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

Line graph

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

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

RootGraph

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

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

Halin

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

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

Rigid

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

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

Flexible

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

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

LCF

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

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

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

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

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

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

UnitDistance

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

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

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

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

UnitDistance by refinement

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

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"TriangularGrid", 11}

Names

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

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

Primary

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

Polyiamond

GraphData[{"TriangularGrid",11},"Graph","Polyiamond"]//StyleGraphs

All

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

GraphData[{"TriangularGrid",11},"EmbeddingClasses"]

Configuration

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

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

Inexact

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

Embedding types

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

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

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

Perspective

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

Perspective construction

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

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

Bilateral

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

Circular

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

Circular construction 10^3

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

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

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid", 11}],10^3][[All,All,1]]]

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

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

gs=bilat

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

quad

Circular construction 10^4

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

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

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid", 11}],10^4][[All,All,1]]]

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

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

Planar

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

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

MinimalCrossing

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

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

Circulant

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

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

Complement graph

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

Line graph

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

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

RootGraph

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

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

Halin

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

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

Rigid

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

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

Flexible

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

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

LCF

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

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

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

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

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

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

UnitDistance

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

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

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

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

UnitDistance by refinement

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

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"TriangularGrid", 12}

Names

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

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

Primary

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

Polyiamond

GraphData[{"TriangularGrid",12},"Graph","Polyiamond"]//StyleGraphs

All

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

Configuration

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

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

Inexact

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

Embedding types

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

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

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

Perspective

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

Perspective construction

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

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

Bilateral

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

Circular

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

Circular construction 10^3

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

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

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",12}],10^3][[All,All,1]]]

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

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

Circular construction 10^4

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

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

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",12}],10^4][[All,All,1]]]

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

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

gs=bilat

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

quad

Planar

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

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

MinimalCrossing

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

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

Circulant

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

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

Complement graph

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

Line graph

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

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

RootGraph

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

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

Halin

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

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

Rigid

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

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

Flexible

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

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

LCF

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

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

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

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

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

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

UnitDistance

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

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

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

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

UnitDistance by refinement

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

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"TriangularGrid", 13}

Names

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

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

Primary

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

All

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

Configuration

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

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

Inexact

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

Embedding types

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

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

DegenerateGraphEmbeddingTypes/@GraphData[{"TriangularGrid",13},"Graph","Degenerate"]

Perspective

GraphData[{"TriangularGrid",13},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"TriangularGrid",13},"Polyhedron"]

PolyhedronGraph[GraphData[{"TriangularGrid",13},"Polyhedron"]]

Bilateral

GraphData[{"TriangularGrid",13},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"TriangularGrid",13},"Graph","Circular"]//StyleGraphs

Circular construction 10^3

GraphData[{"TriangularGrid",13},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",13}],10^3][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularGrid",13}],#]&/@hc;//Timing

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

Circular construction 10^4

GraphData[{"TriangularGrid",13},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",13}],10^4][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularGrid",13}],#]&/@hc;//Timing

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

gs=bilat

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

quad

Planar

GraphData[{"TriangularGrid",13},"Planar"]

GraphData[{"TriangularGrid",13},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"TriangularGrid",13},{"RCN","CN"}]

GraphData[{"TriangularGrid",13},"Graph","MinimalCrossing"]//StyleGraphs

Circulant

GraphData[{"TriangularGrid",13},"Circulant"]

GraphData[{"TriangularGrid",13},"Graph","Circulant"]//StyleGraphs

Complement graph

GraphData[{"TriangularGrid",13},"ComplementGraph","Name"]

Line graph

GraphData[{"TriangularGrid",13},"Line"]

LineGraphQ[GraphData[{"TriangularGrid",13}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"TriangularGrid",13}&]

RootGraph[GraphData[{"TriangularGrid",13}]]

Halin

GraphData[{"TriangularGrid",13},"Halin"]

GraphData[{"TriangularGrid",13},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"TriangularGrid",13},"Rigid"]

GraphData[{"TriangularGrid",13},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"TriangularGrid",13},"Flexible"]

GraphData[{"TriangularGrid",13},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"TriangularGrid",13},"LCF"]

GraphData[{"TriangularGrid",13},"HamiltonianCycleCount"]

GraphData[{"TriangularGrid",13},"LCFSignature"]

GraphData[{"TriangularGrid",13},"LCFNotations"]

GraphData[{"TriangularGrid",13},"Graph","LCF"]//StyleGraphs

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

UnitDistance

GraphData[{"TriangularGrid",13},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"TriangularGrid",13}],Debug->True]//Timing

GraphData[{"TriangularGrid",13},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"TriangularGrid",13},"VertexList"],GraphData[{"TriangularGrid",13},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

GraphData[{"TriangularGrid",13},"Matchstick"]

GraphData[{"TriangularGrid",13},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"TriangularGrid",13},"Edges"]]

3D All

GraphData[{"TriangularGrid",13},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"TriangularGrid",13},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"TriangularGrid",13},"Polyhedral"]

GraphData[{"TriangularGrid",13},"Graph",{"3D","Polyhedron"}]

{"TriangularGrid", 14}

Names

GraphData[{"TriangularGrid",14},"StandardName"]

GraphData[{"TriangularGrid",14},"StandardNames"]

Primary

GraphData[{"TriangularGrid",14}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"TriangularGrid",14},"Graph","All"]//StyleGraphs

Configuration

GraphData[{"TriangularGrid",14},"Configuration"]

GraphData[{"TriangularGrid",14},"Graph","Configuration"]//StyleGraphs

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"TriangularGrid",14},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"TriangularGrid",14},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"TriangularGrid",14},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"TriangularGrid",14},"Graph","Degenerate"]

Perspective

GraphData[{"TriangularGrid",14},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"TriangularGrid",14},"Polyhedron"]

PolyhedronGraph[GraphData[{"TriangularGrid",14},"Polyhedron"]]

Bilateral

GraphData[{"TriangularGrid",14},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"TriangularGrid",14},"Graph","Circular"]//StyleGraphs

Circular construction 10^3

GraphData[{"TriangularGrid",14},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",14}],10^3][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularGrid",14}],#]&/@hc;//Timing

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

gs=bilat

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

quad

Circular construction 10^4

GraphData[{"TriangularGrid",14},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",14}],10^4][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularGrid",14}],#]&/@hc;//Timing

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

gs=bilat

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

quad

Planar

GraphData[{"TriangularGrid",14},"Planar"]

GraphData[{"TriangularGrid",14},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"TriangularGrid",14},{"RCN","CN"}]

GraphData[{"TriangularGrid",14},"Graph","MinimalCrossing"]//StyleGraphs

Circulant

GraphData[{"TriangularGrid",14},"Circulant"]

GraphData[{"TriangularGrid",14},"Graph","Circulant"]//StyleGraphs

Complement graph

GraphData[{"TriangularGrid",14},"ComplementGraph","Name"]

Line graph

GraphData[{"TriangularGrid",14},"Line"]

LineGraphQ[GraphData[{"TriangularGrid",14}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"TriangularGrid",14}&]

RootGraph[GraphData[{"TriangularGrid",14}]]

Halin

GraphData[{"TriangularGrid",14},"Halin"]

GraphData[{"TriangularGrid",14},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"TriangularGrid",14},"Rigid"]

GraphData[{"TriangularGrid",14},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"TriangularGrid",14},"Flexible"]

GraphData[{"TriangularGrid",14},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"TriangularGrid",14},"LCF"]

GraphData[{"TriangularGrid",14},"HamiltonianCycleCount"]

GraphData[{"TriangularGrid",14},"LCFSignature"]

GraphData[{"TriangularGrid",14},"LCFNotations"]

GraphData[{"TriangularGrid",14},"Graph","LCF"]//StyleGraphs

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

UnitDistance

GraphData[{"TriangularGrid",14},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"TriangularGrid",14}],Debug->True]//Timing

GraphData[{"TriangularGrid",14},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"TriangularGrid",14},"VertexList"],GraphData[{"TriangularGrid",14},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

GraphData[{"TriangularGrid",14},"Matchstick"]

GraphData[{"TriangularGrid",14},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"TriangularGrid",14},"Edges"]]

3D All

GraphData[{"TriangularGrid",14},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"TriangularGrid",14},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"TriangularGrid",14},"Polyhedral"]

GraphData[{"TriangularGrid",14},"Graph",{"3D","Polyhedron"}]

{"TriangularGrid", 15}

Names

GraphData[{"TriangularGrid",15},"StandardName"]

GraphData[{"TriangularGrid",15},"StandardNames"]

Primary

GraphData[{"TriangularGrid",15}]//StyleGraphs[#,ImageSize->Small]&

Polyiamond

GraphData[{"TriangularGrid",15},"Graph","Polyiamond"]//StyleGraphs

All

GraphData[{"TriangularGrid",15},"Graph","All"]//StyleGraphs

Configuration

GraphData[{"TriangularGrid",15},"Configuration"]

GraphData[{"TriangularGrid",15},"Graph","Configuration"]//StyleGraphs

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"TriangularGrid",15},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"TriangularGrid",15},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"TriangularGrid",15},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"TriangularGrid",15},"Graph","Degenerate"]

Perspective

GraphData[{"TriangularGrid",15},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"TriangularGrid",15},"Polyhedron"]

PolyhedronGraph[GraphData[{"TriangularGrid",15},"Polyhedron"]]

Bilateral

GraphData[{"TriangularGrid",15},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"TriangularGrid",15},"Graph","Circular"]//StyleGraphs

Circular construction 10^3

GraphData[{"TriangularGrid",15},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",15}],10^3][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularGrid",15}],#]&/@hc;//Timing

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

gs=bilat

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

quad

Circular construction 10^4

GraphData[{"TriangularGrid",15},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",15}],10^4][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularGrid",15}],#]&/@hc;//Timing

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

gs=bilat

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

quad

Planar

GraphData[{"TriangularGrid",15},"Planar"]

GraphData[{"TriangularGrid",15},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"TriangularGrid",15},{"RCN","CN"}]

GraphData[{"TriangularGrid",15},"Graph","MinimalCrossing"]//StyleGraphs

Circulant

GraphData[{"TriangularGrid",15},"Circulant"]

GraphData[{"TriangularGrid",15},"Graph","Circulant"]//StyleGraphs

Complement graph

GraphData[{"TriangularGrid",15},"ComplementGraph","Name"]

Line graph

GraphData[{"TriangularGrid",15},"Line"]

LineGraphQ[GraphData[{"TriangularGrid",15}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"TriangularGrid",15}&]

RootGraph[GraphData[{"TriangularGrid",15}]]

Halin

GraphData[{"TriangularGrid",15},"Halin"]

GraphData[{"TriangularGrid",15},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"TriangularGrid",15},"Rigid"]

GraphData[{"TriangularGrid",15},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"TriangularGrid",15},"Flexible"]

GraphData[{"TriangularGrid",15},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"TriangularGrid",15},"LCF"]

GraphData[{"TriangularGrid",15},"HamiltonianCycleCount"]

GraphData[{"TriangularGrid",15},"LCFSignature"]

GraphData[{"TriangularGrid",15},"LCFNotations"]

GraphData[{"TriangularGrid",15},"Graph","LCF"]//StyleGraphs

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

UnitDistance

GraphData[{"TriangularGrid",15},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"TriangularGrid",15}],Debug->True]//Timing

GraphData[{"TriangularGrid",15},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"TriangularGrid",15},"VertexList"],GraphData[{"TriangularGrid",15},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

GraphData[{"TriangularGrid",15},"Matchstick"]

GraphData[{"TriangularGrid",15},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"TriangularGrid",15},"Edges"]]

3D All

GraphData[{"TriangularGrid",15},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"TriangularGrid",15},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"TriangularGrid",15},"Polyhedral"]

GraphData[{"TriangularGrid",15},"Graph",{"3D","Polyhedron"}]

{"TriangularGrid", 16}

Names

GraphData[{"TriangularGrid",16},"StandardName"]

GraphData[{"TriangularGrid",16},"StandardNames"]

Primary

GraphData[{"TriangularGrid",16}]//StyleGraphs[#,ImageSize->Small]&

Polyiamond

GraphData[{"TriangularGrid",16},"Graph","Polyiamond"]//StyleGraphs

All

GraphData[{"TriangularGrid",16},"Graph","All"]//StyleGraphs

Configuration

GraphData[{"TriangularGrid",16},"Configuration"]

GraphData[{"TriangularGrid",16},"Graph","Configuration"]//StyleGraphs

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"TriangularGrid",16},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"TriangularGrid",16},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"TriangularGrid",16},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"TriangularGrid",16},"Graph","Degenerate"]

Perspective

GraphData[{"TriangularGrid",16},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"TriangularGrid",16},"Polyhedron"]

PolyhedronGraph[GraphData[{"TriangularGrid",16},"Polyhedron"]]

Bilateral

GraphData[{"TriangularGrid",16},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"TriangularGrid",16},"Graph","Circular"]//StyleGraphs

Circular construction 10^3

GraphData[{"TriangularGrid",16},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",16}],10^3][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularGrid",16}],#]&/@hc;//Timing

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

Circular construction 10^4

GraphData[{"TriangularGrid",16},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",16}],10^4][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularGrid",16}],#]&/@hc;//Timing

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

gs=bilat

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

quad

Planar

GraphData[{"TriangularGrid",16},"Planar"]

GraphData[{"TriangularGrid",16},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"TriangularGrid",16},{"RCN","CN"}]

GraphData[{"TriangularGrid",16},"Graph","MinimalCrossing"]//StyleGraphs

Circulant

GraphData[{"TriangularGrid",16},"Circulant"]

GraphData[{"TriangularGrid",16},"Graph","Circulant"]//StyleGraphs

Complement graph

GraphData[{"TriangularGrid",16},"ComplementGraph","Name"]

Line graph

GraphData[{"TriangularGrid",16},"Line"]

LineGraphQ[GraphData[{"TriangularGrid",16}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"TriangularGrid",16}&]

RootGraph[GraphData[{"TriangularGrid",16}]]

Halin

GraphData[{"TriangularGrid",16},"Halin"]

GraphData[{"TriangularGrid",16},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"TriangularGrid",16},"Rigid"]

GraphData[{"TriangularGrid",16},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"TriangularGrid",16},"Flexible"]

GraphData[{"TriangularGrid",16},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"TriangularGrid",16},"LCF"]

GraphData[{"TriangularGrid",16},"HamiltonianCycleCount"]

GraphData[{"TriangularGrid",16},"LCFSignature"]

GraphData[{"TriangularGrid",16},"LCFNotations"]

GraphData[{"TriangularGrid",16},"Graph","LCF"]//StyleGraphs

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

UnitDistance

GraphData[{"TriangularGrid",16},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"TriangularGrid",16}],Debug->True]//Timing

GraphData[{"TriangularGrid",16},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"TriangularGrid",16},"VertexList"],GraphData[{"TriangularGrid",16},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

GraphData[{"TriangularGrid",16},"Matchstick"]

GraphData[{"TriangularGrid",16},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"TriangularGrid",16},"Edges"]]

3D All

GraphData[{"TriangularGrid",16},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"TriangularGrid",16},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"TriangularGrid",16},"Polyhedral"]

GraphData[{"TriangularGrid",16},"Graph",{"3D","Polyhedron"}]

{"TriangularGrid", 17}

Names

GraphData[{"TriangularGrid",17},"StandardName"]

GraphData[{"TriangularGrid",17},"StandardNames"]

Primary

GraphData[{"TriangularGrid",17}]//StyleGraphs[#,ImageSize->Small]&

Polyiamond

GraphData[{"TriangularGrid",17},"Graph","Polyiamond"]//StyleGraphs

All

GraphData[{"TriangularGrid",17},"Graph","All"]//StyleGraphs

Configuration

GraphData[{"TriangularGrid",17},"Configuration"]

GraphData[{"TriangularGrid",17},"Graph","Configuration"]//StyleGraphs

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"TriangularGrid",17},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"TriangularGrid",17},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"TriangularGrid",17},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"TriangularGrid",17},"Graph","Degenerate"]

Perspective

GraphData[{"TriangularGrid",17},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"TriangularGrid",17},"Polyhedron"]

PolyhedronGraph[GraphData[{"TriangularGrid",17},"Polyhedron"]]

Bilateral

GraphData[{"TriangularGrid",17},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"TriangularGrid",17},"Graph","Circular"]//StyleGraphs

Circular construction 10^3

GraphData[{"TriangularGrid",17},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",17}],10^3][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularGrid",17}],#]&/@hc;//Timing

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

gs=bilat

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

quad

Circular construction 10^4

GraphData[{"TriangularGrid",17},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",17}],10^4][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularGrid",17}],#]&/@hc;//Timing

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

gs=bilat

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

quad

Planar

GraphData[{"TriangularGrid",17},"Planar"]

GraphData[{"TriangularGrid",17},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"TriangularGrid",17},{"RCN","CN"}]

GraphData[{"TriangularGrid",17},"Graph","MinimalCrossing"]//StyleGraphs

Circulant

GraphData[{"TriangularGrid",17},"Circulant"]

GraphData[{"TriangularGrid",17},"Graph","Circulant"]//StyleGraphs

Complement graph

GraphData[{"TriangularGrid",17},"ComplementGraph","Name"]

Line graph

GraphData[{"TriangularGrid",17},"Line"]

LineGraphQ[GraphData[{"TriangularGrid",17}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"TriangularGrid",17}&]

RootGraph[GraphData[{"TriangularGrid",17}]]

Halin

GraphData[{"TriangularGrid",17},"Halin"]

GraphData[{"TriangularGrid",17},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"TriangularGrid",17},"Rigid"]

GraphData[{"TriangularGrid",17},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"TriangularGrid",17},"Flexible"]

GraphData[{"TriangularGrid",17},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"TriangularGrid",17},"LCF"]

GraphData[{"TriangularGrid",17},"HamiltonianCycleCount"]

GraphData[{"TriangularGrid",17},"LCFSignature"]

GraphData[{"TriangularGrid",17},"LCFNotations"]

GraphData[{"TriangularGrid",17},"Graph","LCF"]//StyleGraphs

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

UnitDistance

GraphData[{"TriangularGrid",17},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"TriangularGrid",17}],Debug->True]//Timing

GraphData[{"TriangularGrid",17},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"TriangularGrid",17},"VertexList"],GraphData[{"TriangularGrid",17},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

GraphData[{"TriangularGrid",17},"Matchstick"]

GraphData[{"TriangularGrid",17},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"TriangularGrid",17},"Edges"]]

3D All

GraphData[{"TriangularGrid",17},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"TriangularGrid",17},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"TriangularGrid",17},"Polyhedral"]

GraphData[{"TriangularGrid",17},"Graph",{"3D","Polyhedron"}]

{"TriangularGrid", 18}

Names

GraphData[{"TriangularGrid",18},"StandardName"]

GraphData[{"TriangularGrid",18},"StandardNames"]

Primary

GraphData[{"TriangularGrid",18}]//StyleGraphs[#,ImageSize->Small]&

Polyiamond

GraphData[{"TriangularGrid",18},"Graph","Polyiamond"]//StyleGraphs

All

GraphData[{"TriangularGrid",18},"Graph","All"]//StyleGraphs

Configuration

GraphData[{"TriangularGrid",18},"Configuration"]

GraphData[{"TriangularGrid",18},"Graph","Configuration"]//StyleGraphs

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"TriangularGrid",18},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"TriangularGrid",18},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"TriangularGrid",18},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"TriangularGrid",18},"Graph","Degenerate"]

Perspective

GraphData[{"TriangularGrid",18},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"TriangularGrid",18},"Polyhedron"]

PolyhedronGraph[GraphData[{"TriangularGrid",18},"Polyhedron"]]

Bilateral

GraphData[{"TriangularGrid",18},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"TriangularGrid",18},"Graph","Circular"]//StyleGraphs

Circular construction 10^3

GraphData[{"TriangularGrid",18},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",18}],10^3][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularGrid",18}],#]&/@hc;//Timing

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

gs=bilat

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

quad

Circular construction 10^4

GraphData[{"TriangularGrid",18},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",18}],10^4][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularGrid",18}],#]&/@hc;//Timing

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

gs=bilat

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

quad

Planar

GraphData[{"TriangularGrid",18},"Planar"]

GraphData[{"TriangularGrid",18},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"TriangularGrid",18},{"RCN","CN"}]

GraphData[{"TriangularGrid",18},"Graph","MinimalCrossing"]//StyleGraphs

Circulant

GraphData[{"TriangularGrid",18},"Circulant"]

GraphData[{"TriangularGrid",18},"Graph","Circulant"]//StyleGraphs

Complement graph

GraphData[{"TriangularGrid",18},"ComplementGraph","Name"]

Line graph

GraphData[{"TriangularGrid",18},"Line"]

LineGraphQ[GraphData[{"TriangularGrid",18}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"TriangularGrid",18}&]

RootGraph[GraphData[{"TriangularGrid",18}]]

Halin

GraphData[{"TriangularGrid",18},"Halin"]

GraphData[{"TriangularGrid",18},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"TriangularGrid",18},"Rigid"]

GraphData[{"TriangularGrid",18},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"TriangularGrid",18},"Flexible"]

GraphData[{"TriangularGrid",18},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"TriangularGrid",18},"LCF"]

GraphData[{"TriangularGrid",18},"HamiltonianCycleCount"]

GraphData[{"TriangularGrid",18},"LCFSignature"]

GraphData[{"TriangularGrid",18},"LCFNotations"]

GraphData[{"TriangularGrid",18},"Graph","LCF"]//StyleGraphs

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

UnitDistance

GraphData[{"TriangularGrid",18},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"TriangularGrid",18}],Debug->True]//Timing

GraphData[{"TriangularGrid",18},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"TriangularGrid",18},"VertexList"],GraphData[{"TriangularGrid",18},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

GraphData[{"TriangularGrid",18},"Matchstick"]

GraphData[{"TriangularGrid",18},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"TriangularGrid",18},"Edges"]]

3D All

GraphData[{"TriangularGrid",18},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"TriangularGrid",18},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"TriangularGrid",18},"Polyhedral"]

GraphData[{"TriangularGrid",18},"Graph",{"3D","Polyhedron"}]

{"TriangularGrid", 19}

Names

GraphData[{"TriangularGrid",19},"StandardName"]

GraphData[{"TriangularGrid",19},"StandardNames"]

Primary

GraphData[{"TriangularGrid",19}]//StyleGraphs[#,ImageSize->Small]&

Polyiamond

GraphData[{"TriangularGrid",19},"Graph","Polyiamond"]//StyleGraphs

All

GraphData[{"TriangularGrid",19},"Graph","All"]//StyleGraphs

Configuration

GraphData[{"TriangularGrid",19},"Configuration"]

GraphData[{"TriangularGrid",19},"Graph","Configuration"]//StyleGraphs

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"TriangularGrid",19},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"TriangularGrid",19},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"TriangularGrid",19},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"TriangularGrid",19},"Graph","Degenerate"]

Perspective

GraphData[{"TriangularGrid",19},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"TriangularGrid",19},"Polyhedron"]

PolyhedronGraph[GraphData[{"TriangularGrid",19},"Polyhedron"]]

Bilateral

GraphData[{"TriangularGrid",19},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"TriangularGrid",19},"Graph","Circular"]//StyleGraphs

Circular construction 10^3

GraphData[{"TriangularGrid",19},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",19}],10^3][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularGrid",19}],#]&/@hc;//Timing

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

gs=bilat

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

quad

Circular construction 10^4

GraphData[{"TriangularGrid",19},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",19}],10^4][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularGrid",19}],#]&/@hc;//Timing

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

gs=bilat

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

quad

Planar

GraphData[{"TriangularGrid",19},"Planar"]

GraphData[{"TriangularGrid",19},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"TriangularGrid",19},{"RCN","CN"}]

GraphData[{"TriangularGrid",19},"Graph","MinimalCrossing"]//StyleGraphs

Circulant

GraphData[{"TriangularGrid",19},"Circulant"]

GraphData[{"TriangularGrid",19},"Graph","Circulant"]//StyleGraphs

Complement graph

GraphData[{"TriangularGrid",19},"ComplementGraph","Name"]

Line graph

GraphData[{"TriangularGrid",19},"Line"]

LineGraphQ[GraphData[{"TriangularGrid",19}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"TriangularGrid",19}&]

RootGraph[GraphData[{"TriangularGrid",19}]]

Halin

GraphData[{"TriangularGrid",19},"Halin"]

GraphData[{"TriangularGrid",19},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"TriangularGrid",19},"Rigid"]

GraphData[{"TriangularGrid",19},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"TriangularGrid",19},"Flexible"]

GraphData[{"TriangularGrid",19},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"TriangularGrid",19},"LCF"]

GraphData[{"TriangularGrid",19},"HamiltonianCycleCount"]

GraphData[{"TriangularGrid",19},"LCFSignature"]

GraphData[{"TriangularGrid",19},"LCFNotations"]

GraphData[{"TriangularGrid",19},"Graph","LCF"]//StyleGraphs

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

UnitDistance

GraphData[{"TriangularGrid",19},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"TriangularGrid",19}],Debug->True]//Timing

GraphData[{"TriangularGrid",19},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"TriangularGrid",19},"VertexList"],GraphData[{"TriangularGrid",19},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

GraphData[{"TriangularGrid",19},"Matchstick"]

GraphData[{"TriangularGrid",19},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"TriangularGrid",19},"Edges"]]

3D All

GraphData[{"TriangularGrid",19},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"TriangularGrid",19},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"TriangularGrid",19},"Polyhedral"]

GraphData[{"TriangularGrid",19},"Graph",{"3D","Polyhedron"}]

{"TriangularGrid", 20}

Names

GraphData[{"TriangularGrid",20},"StandardName"]

GraphData[{"TriangularGrid",20},"StandardNames"]

Primary

GraphData[{"TriangularGrid",20}]//StyleGraphs[#,ImageSize->Small]&

Polyiamond

GraphData[{"TriangularGrid",20},"Graph","Polyiamond"]//StyleGraphs

All

GraphData[{"TriangularGrid",20},"Graph","All"]//StyleGraphs

Configuration

GraphData[{"TriangularGrid",20},"Configuration"]

GraphData[{"TriangularGrid",20},"Graph","Configuration"]//StyleGraphs

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"TriangularGrid",20},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"TriangularGrid",20},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"TriangularGrid",20},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"TriangularGrid",20},"Graph","Degenerate"]

Perspective

GraphData[{"TriangularGrid",20},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"TriangularGrid",20},"Polyhedron"]

PolyhedronGraph[GraphData[{"TriangularGrid",20},"Polyhedron"]]

Bilateral

GraphData[{"TriangularGrid",20},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"TriangularGrid",20},"Graph","Circular"]//StyleGraphs

Circular construction 10^3

GraphData[{"TriangularGrid",20},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",20}],10^3][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularGrid",20}],#]&/@hc;//Timing

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

gs=bilat

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

quad

Circular construction 10^4

GraphData[{"TriangularGrid",20},"Hamiltonian"]

Length[hc=FindHamiltonianCycle[GraphData[{"TriangularGrid",20}],10^4][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"TriangularGrid",20}],#]&/@hc;//Timing

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

gs=bilat

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

quad

Planar

GraphData[{"TriangularGrid",20},"Planar"]

GraphData[{"TriangularGrid",20},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"TriangularGrid",20},{"RCN","CN"}]

GraphData[{"TriangularGrid",20},"Graph","MinimalCrossing"]//StyleGraphs

Circulant

GraphData[{"TriangularGrid",20},"Circulant"]

GraphData[{"TriangularGrid",20},"Graph","Circulant"]//StyleGraphs

Complement graph

GraphData[{"TriangularGrid",20},"ComplementGraph","Name"]

Line graph

GraphData[{"TriangularGrid",20},"Line"]

LineGraphQ[GraphData[{"TriangularGrid",20}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"TriangularGrid",20}&]

RootGraph[GraphData[{"TriangularGrid",20}]]

Halin

GraphData[{"TriangularGrid",20},"Halin"]

GraphData[{"TriangularGrid",20},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"TriangularGrid",20},"Rigid"]

GraphData[{"TriangularGrid",20},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"TriangularGrid",20},"Flexible"]

GraphData[{"TriangularGrid",20},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"TriangularGrid",20},"LCF"]

GraphData[{"TriangularGrid",20},"HamiltonianCycleCount"]

GraphData[{"TriangularGrid",20},"LCFSignature"]

GraphData[{"TriangularGrid",20},"LCFNotations"]

GraphData[{"TriangularGrid",20},"Graph","LCF"]//StyleGraphs

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

UnitDistance

GraphData[{"TriangularGrid",20},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"TriangularGrid",20}],Debug->True]//Timing

GraphData[{"TriangularGrid",20},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"TriangularGrid",20},"VertexList"],GraphData[{"TriangularGrid",20},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

GraphData[{"TriangularGrid",20},"Matchstick"]

GraphData[{"TriangularGrid",20},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"TriangularGrid",20},"Edges"]]

3D All

GraphData[{"TriangularGrid",20},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"TriangularGrid",20},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"TriangularGrid",20},"Polyhedral"]

GraphData[{"TriangularGrid",20},"Graph",{"3D","Polyhedron"}]

Properties

<<MathWorld`Graphs`

Acyclic

Table[GraphData[{"TriangularGrid",n},"Acyclic"],{n,0,20}]

AdjacencyMatrixCount

seq=Table[GraphData[{"TriangularGrid",n},"AdjacencyMatrixCount"],{n,0,20}]

Table[((Binomial[n+2,2]!)/(Piecewise[{{1,n==0}},6])),{n,0,20}]

Arboricity

Table[GraphData[{"TriangularGrid",n},"Arboricity"],{n,0,20}]

ArcTransitive

Table[GraphData[{"TriangularGrid",n},"ArcTransitive"],{n,0,20}]

ArcTransitivity

Table[GraphData[{"TriangularGrid",n},"ArcTransitivity"],{n,0,20}]

AutomorphismCount

Table[GraphData[{"TriangularGrid",n},"AutomorphismCount"],{n,0,20}]

BalabanIndex

Table[GraphData[{"TriangularGrid",n},"BalabanIndex"],{n,0,20}]

Bandwidth

Table[GraphData[{"TriangularGrid",n},"Bandwidth"],{n,0,20}]

BridgeCount

seq=Table[GraphData[{"TriangularGrid",n},"BridgeCount"],{n,0,20}]

BurningNumber

seq=Table[GraphData[{"TriangularGrid",n},"BurningNumber"],{n,0,20}]

CharacteristicPolynomial

(poly=Factor@Table[GraphData[{"TriangularGrid",n},"CharacteristicPolynomial"],{n,k0=0,kmax=20}]/.f_Function:>f[x])//Column

FindLinearRecurrence[Rest@DeleteMissing@poly]//Head//Timing

FindGeneratingFunction[DeleteMissing@poly,z]//Head//Timing

ChordCount

A297675

seq=Table[GraphData[{"TriangularGrid",n},"EdgeCount"],{n,0,20}]

seq=Table[GraphData[{"TriangularGrid",n},"ChordCount"],{n,0,20}]

FindSequenceFunction[Drop[seq,2],n-1]//Factor

ChordlessCycleCount

A297671

seq=Table[GraphData[{"TriangularGrid",n},"ChordlessCycleCount"],{n,0,20}]

FindSequenceFunction[DeleteMissing@Drop[seq,4],n]//Head//Timing

FindLinearRecurrence[DeleteMissing@Drop[seq,4]]//Head//Timing

FindGeneratingFunction[DeleteMissing@seq,x]//Head//Timing

ChromaticInvariant

A295190

seq=Table[GraphData[{"TriangularGrid",n},"ChromaticInvariant"],{n,0,20}]

FindLinearRecurrence[DeleteMissing@Drop[seq,2]]//Head//Timing

FindSequenceFunction[DeleteMissing@Drop[seq,3],n]//Head//Timing

FindGeneratingFunction[DeleteMissing@seq,x]//Head//Timing

FindGeneratingFunction[DeleteMissing@seq,x]//Head//Timing

ChromaticNumber

seq=Table[GraphData[{"TriangularGrid",n},"ChromaticNumber"],{n,0,20}]

ChromaticPolynomial

(poly=Table[GraphData[{"TriangularGrid",n},"ChromaticPolynomial"],{n,k0=0,kmax=20}]/.f_Function:>f[x])//Column

Length@DeleteMissing@poly

FindLinearRecurrence[DeleteMissing@Drop[poly,4]]//Head//Timing

FindGeneratingFunction[DeleteMissing@poly,z]//Head//Timing

Circumference

seq=Table[GraphData[{"TriangularGrid",n},"Circumference"],{n,0,20}]

FindSequenceFunction[Rest@seq,n]//Factor

Binomial[n+2,2]

Classes

GraphClassesThatAreClass["TriangularGrid"]

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

CliqueCount

seq=Table[GraphData[{"TriangularGrid",n},"CliqueCount"],{n,0,20}]

FindSequenceFunction[seq,n+1]//Factor

CliqueCoveringNumber

A301752

seq=Table[GraphData[{"TriangularGrid",n},"CliqueCoveringNumber"],{n,0,20}]

FindSequenceFunction[Rest@seq,n]

gf=FindGeneratingFunction[seq,x]

FullSimplify[SeriesCoefficient[gf,{x,0,n}],n>=0]

Table[(Sqrt[3] (16+3 n (3+n))-9 Cos[n Pi/6]+2 Sqrt[3] Cos[2 n Pi/3]+9 Cos[5 n Pi/6]+9 Sin[n Pi/6]-9 Sin[5 n Pi/6])/(18 Sqrt[3]),{n,0,20}]==seq

CliqueNumber

seq=Table[GraphData[{"TriangularGrid",n},"CliqueNumber"],{n,0,20}]

CliquePolynomial

(poly=Table[GraphData[{"TriangularGrid",n},"CliquePolynomial"],{n,k0=0,kmax=20}]/.f_Function:>f[x])//Column

Factor/@%

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,0,20}]

FullSimplify[poly2-poly]

ComplementOddChordlessCycleCount

seq=Table[GraphData[{"TriangularGrid",n},"ComplementOddChordlessCycleCount"],{n,0,20}]

ConnectedComponentCount

seq=Table[GraphData[{"TriangularGrid",n},"ConnectedComponentCount"],{n,0,20}]

ConnectedDominatingSetCount

A288721

seq=Table[GraphData[{"TriangularGrid",n},"ConnectedDominatingSetCount"],{n,0,20}]

Length@DeleteMissing@seq

FindSequenceFunction[DeleteMissing@seq,n+1]//Head//Timing

FindLinearRecurrence[DeleteMissing@Drop[seq,1]]//Head//Timing

FindGeneratingFunction[DeleteMissing@seq,z]//Head//Timing

ConnectedDominationNumber

Inferred for n > 6:

seq=Table[GraphData[{"TriangularGrid",n},"ConnectedDominationNumber"],{n,0,20}]

ConnectedInducedSubgraphCount

A288722

seq=Table[GraphData[{"TriangularGrid",n},"ConnectedInducedSubgraphCount"],{n,0,20}]

FindLinearRecurrence[DeleteMissing@seq]//Head//Timing

FindSequenceFunction[Rest@DeleteMissing[seq],n]//Head//Timing

FindGeneratingFunction[DeleteMissing[seq],x]//Head//Timing

ConnectedInducedSubgraphPolynomial

(poly=Table[GraphData[{"TriangularGrid",n},"ConnectedInducedSubgraphPolynomial"],{n,k0=0,kmax=20}]/.f_Function:>f[x])//Column

FindLinearRecurrence[DeleteMissing@Rest@poly]//Head//Timing

FindGeneratingFunction[DeleteMissing@Rest@poly,z]//Head//Timing

CrossingNumber

seq=Table[GraphData[{"TriangularGrid",n},"CrossingNumber"],{n,0,20}]

CycleCount

A266513

seq=Table[GraphData[{"TriangularGrid",n},"CycleCount"],{n,0,20}]

FindLinearRecurrence[DeleteMissing@Rest@seq]//Head//Timing

FindSequenceFunction[Rest@seq,n]//Head//Timing

FindGeneratingFunction[seq,x]//Head//Timing

CyclePolynomial

(poly=Factor[Table[GraphData[{"TriangularGrid",n},"CyclePolynomial"],{n,k0=0,kmax=20}]/.f_Function:>f[x]])//Column

CoefficientList[Take[poly,5],x]//Column

Cyclic

Table[GraphData[{"TriangularGrid",n},"Cyclic"],{n,0,20}]

CyclomaticNumber

seq=Table[GraphData[{"TriangularGrid",n},"CyclomaticNumber"],{n,0,20}]

FindSequenceFunction[seq,n+1]

DetourIndex

A288719

seq=Table[GraphData[{"TriangularGrid",n},"DetourIndex"],{n,0,20}]

FindLinearRecurrence[Drop[seq,4]]

Join[{0,6,69,399},LinearRecurrence[{7,-21,35,-35,21,-7,1},{3,72,402,1467,4197,10203,22047},{4,20}]]==seq

LinearRecurrence[{7,-21,35,-35,21,-7,1},{1467,4197,10203,22047,43557,80187,139422},{-2,1}]

FindSequenceFunction[DeleteMissing[seq],n+1]

gf=FindGeneratingFunction[DeleteMissing[seq],x]//Factor

CoefficientList[Series[-((3 x (2+9 x+14 (x^2)-29 (x^3)+34 (x^4)-15 (x^5)-8 (x^6)+13 (x^7)-6 (x^8)+(x^9)))/(((-1+x))^7)),{x,0,20}],x]

FullSimplify[SeriesCoefficient[gf,{x,0,n}],n>0]

Table[Piecewise[{{0,n==0},{6,n==1},{69,n==2},{399,n==3}}, (n^2) (n+1) (n+2) (((n+3))^2)/16-3],{n,0,20}]==seq

Table[Piecewise[{{0,n==0},{6,n==1},{69,n==2},{399,n==3}},3(Binomial[n+3,4]n(n+3)/2-1)],{n,0,20}]==seq

DetourMatrix

MatrixForm/@Table[GraphData[{"TriangularGrid",n},"DetourMatrix"],{n,0,20}]

MatrixForm/@Table[SparseArray[{i_,j_}:>Abs[i-j],n],{n,0,20}]

DetourPolynomial

(poly=Factor/@Table[GraphData[{"TriangularGrid",n},"DetourPolynomial"],{n,k0=0,kmax=20}]/.f_Function:>f[x])//Column

FindGeneratingFunction[DeleteMissing@Rest@poly,z]//Head//Timing

FindSequenceFunction[{19,26,34,43},n-4]//Factor

Table[(1/2) (-2+3 n+(n^2)),{n,5,8}]

Factor[Times@@Table[(x+(1/2) (-2+3 n+(n^2))+k),{k,0,2}]]

FindSequenceFunction[{14,21,29,38},n-4]//Factor

FullSimplify[1/(32 (2^(((n^2)+3n-12)/2)))]

Table[Factor[(2^(1-(1/2) n (3+n))) (((-2+3 n+(n^2)+2 x))^3) (((3 n+(n^2)+2 x))^(((n^2)+3n-12)/2)) (((2+3 n+(n^2)+2 x))^2)(X-Y x+(x^2))],{n,4,10}]//Column

FindSequenceFunction[{181,379,701,1189,1891},n]

FindSequenceFunction[{2856,8280,20250,43890,86856},n]

Diameter

seq=Table[GraphData[{"TriangularGrid",n},"Diameter"],{n,0,20}]

DistanceMatrix

MatrixForm/@Table[GraphData[{"TriangularGrid",n},"DistanceMatrix"],{n,0,20}]

MatrixForm/@Table[SparseArray[{i_,j_}:>Abs[i-j],n],{n,0,20}]

DistancePolynomial

(poly=Factor@Table[GraphData[{"TriangularGrid",n},"DistancePolynomial"],{n,k0=0,kmax=20}]/.f_Function:>f[x])//Column

FindLinearRecurrence[DeleteMissing@Rest@poly]//Head//Timing

FindGeneratingFunction[DeleteMissing@Rest@poly,z]//Head//Timing

DistinguishingNumber

Probably 2

seq=Table[GraphData[{"TriangularGrid",n},"DistinguishingNumber"],{n,0,20}]

DomaticNumber

seq=Table[GraphData[{"TriangularGrid",n},"DomaticNumber"],{n,0,20}]

DominatingSetCount

A287064

seq=Table[GraphData[{"TriangularGrid",n},"DominatingSetCount"],{n,0,20}]

FindLinearRecurrence[DeleteMissing@seq]//Head//Timing

FindSequenceFunction[DeleteMissing@Rest@seq,n]//Head//Timing

gf=FindGeneratingFunction[DeleteMissing@seq,x]//Head//Timing

DominationNumber

A251419

seq=Table[GraphData[{"TriangularGrid",n},"DominationNumber"],{n,0,20}]

For for n >= 14, conjectured to equal

Table[Floor[((n+1)^2+7(n+1)-23)/14],{n,0,20}]

DominationPolynomial

(poly=Table[GraphData[{"TriangularGrid",n},"DominationPolynomial"],{n,k0=0,kmax=20}]/.f_Function:>f[x])//Column

FindLinearRecurrence[poly]

EdgeChromaticNumber

seq=Table[GraphData[{"TriangularGrid",n},"EdgeChromaticNumber"],{n,0,20}]

EdgeConnectivity

Table[GraphData[{"TriangularGrid",n},"EdgeConnectivity"],{n,0,20}]

EdgeCount

seq=Table[GraphData[{"TriangularGrid",n},"EdgeCount"],{n,0,20}]

FindSequenceFunction[seq,n+1]

3Binomial[n+1,2]

EdgeCoverCount

A297061

seq=Table[GraphData[{"TriangularGrid",n},"EdgeCoverCount"],{n,0,20}]

Length@DeleteMissing@seq

FindSequenceFunction[DeleteMissing@Rest@seq,n]

EdgeCoverNumber

A054925

seq=Table[GraphData[{"TriangularGrid",n},"EdgeCoverNumber"],{n,0,20}]

Table[Ceiling[(((n+1)(n+2))/4)],{n,0,20}]

gf=FindGeneratingFunction[seq,x]

FullSimplify[SeriesCoefficient[gf,{x,0,n}],n>0]

Table[Piecewise[{{0,n==0}},Ceiling[(n+1)(n+2)/4]],{n,0,20}]

EdgeCoverPolynomial

(poly=Table[GraphData[{"TriangularGrid",n},"EdgeCoverPolynomial"],{n,k0=0,kmax=20}]/.f_Function:>f[x])//Column

coef=Factor/@FindLinearRecurrence[Rest@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,0,20}]

FullSimplify[poly2-poly]

EulerianCycleCount

A297387

seq=Table[GraphData[{"TriangularGrid",n},"EulerianCycleCount"],{n,0,20}]

Length@DeleteMissing@seq

FaceCount

seq=Table[GraphData[{"TriangularGrid",n},"FaceCount"],{n,0,20}]

gf=FindGeneratingFunction[seq,x]

FullSimplify[SeriesCoefficient[gf,{x,0,n}],n≥0]

FlowPolynomial

(poly=Table[GraphData[{"TriangularGrid",n},"FlowPolynomial"],{n,k0=0,kmax=20}]/.f_Function:>f[x])//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,0,20}]

FullSimplify[poly2-poly]

FractionalChromaticNumber

seq=Table[GraphData[{"TriangularGrid",n},"FractionalChromaticNumber"],{n,0,20}]

FractionalEdgeChromaticNumber

seq=Table[GraphData[{"TriangularGrid",n},"FractionalEdgeChromaticNumber"],{n,0,20}]

Girth

seq=Table[GraphData[{"TriangularGrid",n},"Girth"],{n,0,20}]

Gonality

seq=Table[GraphData[{"TriangularGrid",n},"Gonality"],{n,0,20}]

HamiltonConnected

seq=Table[GraphData[{"TriangularGrid",n},"HamiltonConnected"],{n,0,20}]

HamiltonDecompositionCount

seq=Table[GraphData[{"TriangularGrid",n},"HamiltonDecompositionCount"],{n,0,20}]

Hamiltonian

Table[GraphData[{"TriangularGrid",n},"Hamiltonian"],{n,0,20}]

HamiltonianCycleCount

A112676

seq=Table[GraphData[{"TriangularGrid",n},"HamiltonianCycleCount"],{n,0,20}]

HamiltonianNumber

seq=Table[GraphData[{"TriangularGrid",n},"HamiltonianNumber"],{n,0,20}]

FindSequenceFunction[seq,n+1]

HamiltonianPathCount

A308144

seq=Table[GraphData[{"TriangularGrid",n},"HamiltonianPathCount"],{n,0,20}]

HamiltonianWalkCount

Same as HamiltonianCycleCount

seq=Table[GraphData[{"TriangularGrid",n},"HamiltonianWalkCount"],{n,0,20}]

HararyIndex

seq=Table[GraphData[{"TriangularGrid",n},"HararyIndex"],{n,0,20}]

FindSequenceFunction[seq,n+1]//Factor

HexagonCount

seq=Table[GraphData[{"TriangularGrid",n},"HexagonCount"],{n,0,20}]

FindSequenceFunction[Drop[seq,2],n-1]//Factor

Table[Piecewise[{{0,n==0||n==1}},(1/2) (32-45 n+15 (n^2))],{n,0,20}]

IdiosyncraticPolynomial

(poly=Table[GraphData[{"TriangularGrid",n},"IdiosyncraticPolynomial"],{n,k0=0,kmax=20}]/.f_Function:>f[x,y])//Column

IndependenceNumber

A239438

seq=Table[GraphData[{"TriangularGrid",n},"IndependenceNumber"],{n,0,20}]

gf=FindGeneratingFunction[seq,x]

FullSimplify[SeriesCoefficient[gf,{x,0,n}],n>4]

Table[Piecewise[{{3,n==2},{6,n==4}},(1/18) (10+3 n (3+n)+8 Cos[((2 n π)/3)])],{n,0,20}]==seq

Table[(Piecewise[{{28,n==2||n==4}},10]+3 n (3+n)+8 Cos[((2 n π)/3)])/18,{n,0,20}]==seq

IndependencePolynomial

A239567

(poly=Table[GraphData[{"TriangularGrid",n},"IndependencePolynomial"],{n,k0=0,kmax=20}]/.f_Function:>f[x])//Column

CoefficientList[Take[poly,5],x]

FindLinearRecurrence[Drop[poly,2]]

IndependenceRatio

seq=Table[GraphData[{"TriangularGrid",n},"IndependenceRatio"],{n,0,20}]

FindSequenceFunction[seq,n+1]

Table[(1/(18Binomial[n+2,2])) (Piecewise[{{28,n==2||n==4}},10]+3 n (3+n)+8 Cos[((2 n π)/3)]),{n,0,20}]

IndependentEdgeSetCount

A269869

seq=Table[GraphData[{"TriangularGrid",n},"IndependentEdgeSetCount"],{n,0,20}]

Length@DeleteMissing@seq

Poly from MatchingGeneratingPolynomial

Length[seq]

FindLinearRecurrence[seq]//Head//Timing

FindSequenceFunction[Rest@seq,n]//Head//Timing

FindGeneratingFunction[seq,x]//Head//Timing

FindGeneratingFunction[OEISBFile[269869],x]//Head//Timing

IndependentVertexSetCount

A027740

seq=Table[GraphData[{"TriangularGrid",n},"IndependentVertexSetCount"],{n,0,20}]

Length@DeleteMissing@seq-1

FindSequenceFunction[Rest@seq,n]//Head//Timing

FindLinearRecurrence[seq]//Head//Timing

FindGeneratingFunction[seq,x]//Head//Timing

IntersectionNumber

Inferred for n > 5:

seq=Table[GraphData[{"TriangularGrid",n},"IntersectionNumber"],{n,0,20}]

FindSequenceFunction[DeleteMissing@seq,n+1]

Table[Binomial[n+1,2],{n,0,20}]==seq

IrregularityStrength

seq=Table[GraphData[{"TriangularGrid",n},"IrregularityStrength"],{n,0,20}]

KirchhoffIndex

seq=Table[GraphData[{"TriangularGrid",n},"KirchhoffIndex"],{n,0,20}]

FindSequenceFunction[Rest@seq,n]//Head//Timing

FindGeneratingFunction[seq,x]//Head//Timing

seq=Table[KirchhoffIndex[TriangularGridGraph[n]],{n,15}]

KirchhoffSumIndex

seq=Table[GraphData[{"TriangularGrid",n},"KirchhoffSumIndex"],{n,0,20}]

FindSequenceFunction[Rest@seq,n]//Head//Timing

FindGeneratingFunction[seq,x]//Head//Timing

seq=Table[KirchhoffSumIndex[TriangularGridGraph[n]],{n,15}]

LaplacianMatrix

MatrixForm/@Table[GraphData[{"TriangularGrid",n},"LaplacianMatrix"],{n,0,20}]

LaplacianPolynomial

(poly=Table[GraphData[{"TriangularGrid",n},"LaplacianPolynomial"],{n,k0=0,kmax=20}]/.f_Function:>f[x])//Column

FindLinearRecurrence[Rest@poly]//Head//Timing

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,0,20}]

FullSimplify[poly2-poly]

LeafCount

seq=Table[GraphData[{"TriangularGrid",n},"LeafCount"],{n,0,20}]

LocalCrossingNumber

seq=Table[GraphData[{"TriangularGrid",n},"LocalCrossingNumber"],{n,0,20}]

LongestCycleCount

A112676

==HamiltonianCycleCount

seq=Table[GraphData[{"TriangularGrid",n},"LongestCycleCount"],{n,0,20}]

LovaszNumber

seq=Table[GraphData[{"TriangularGrid",n},"LovaszNumber"],{n,0,20}]

LovaszNumber[GraphData[{"TriangularGrid",5}],Debug->True]//Timing//AbsoluteTiming

MatchingGeneratingPolynomial

A288852

(poly=Table[GraphData[{"TriangularGrid",n},"MatchingGeneratingPolynomial"],{n,k0=0,kmax=20}]/.f_Function:>f[x])//Column

poly/.x->1

CoefficientList[Take[poly,5],x]//Column

Import["https://oeis.org/A288852/b288852.txt","Table"][[-1]]//InputForm

rows=DeleteCases[Import["https://oeis.org/A288852/b288852.txt","Table"],{}][[All,2]]

Split[rows,#2≠1&]

(poly=Take[poly=Expand@Total[# x^Range[0,Length[#]-1]]&/@Split[Rest@rows,#2≠1&],All])//Column

coef=Factor/@FindLinearRecurrence[DeleteMissing@Drop[poly,2]]

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,0,20}]

FullSimplify[poly2-poly]

MatchingNumber

A011848(n-2)

seq=Table[GraphData[{"TriangularGrid",n},"MatchingNumber"],{n,0,20}]

FindSequenceFunction[seq,n+1]//FullSimplify

Table[Floor[Binomial[n+2,2]/2],{n,0,20}]

gf=x FindGeneratingFunction[seq,x]

FullSimplify[SeriesCoefficient[gf,{x,0,n}],n>0]

MatchingPolynomial

(poly=Table[GraphData[{"TriangularGrid",n},"MatchingPolynomial"],{n,k0=0,kmax=20}]/.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,0,20}]

FullSimplify[poly2-poly]

MaximalCliqueCount

seq=Table[GraphData[{"TriangularGrid",n},"MaximalCliqueCount"],{n,0,20}]

FindSequenceFunction[Rest@seq,n]

MaximalIndependentEdgeSetCount

A297485

seq=Table[GraphData[{"TriangularGrid",n},"MaximalIndependentEdgeSetCount"],{n,0,20}]

FindSequenceFunction[Rest@DeleteMissing@seq,n]//Head//Timing

FindGeneratingFunction[Rest@DeleteMissing@seq,x]//Head//Timing

MaximalIndependentVertexSetCount

A197564

seq=Table[GraphData[{"TriangularGrid",n},"MaximalIndependentVertexSetCount"],{n,0,20}]

FindLinearRecurrence[DeleteMissing@Rest@seq]//Head//Timing

FindSequenceFunction[DeleteMissing@Rest@seq,n]//Head//Timing

FindGeneratingFunction[DeleteMissing@seq,x]//Head//Timing

MaximumCliqueCount

seq=Table[GraphData[{"TriangularGrid",n},"MaximumCliqueCount"],{n,0,20}]

FindSequenceFunction[Rest@seq,n]

MaximumIndependentEdgeSetCount

A271610

seq=Table[GraphData[{"TriangularGrid",n},"MaximumIndependentEdgeSetCount"],{n,0,20}]

FindGeneratingFunction[DeleteMissing@seq,x]//Head//Timing

FindLinearRecurrence[DeleteMissing@Rest@seq]//Head//Timing

MaximumIndependentVertexSetCount

A297557

seq=Table[GraphData[{"TriangularGrid",n},"MaximumIndependentVertexSetCount"],{n,0,20}]

MaximumLeafNumber

seq=Table[GraphData[{"TriangularGrid",n},"MaximumLeafNumber"],{n,0,20}]

MeanDistance

seq=Table[GraphData[{"TriangularGrid",n},"MeanDistance"],{n,0,20}]

FindSequenceFunction[seq,n+1]//FullSimplify

MinimumCliqueCoveringCount

seq=Table[GraphData[{"TriangularGrid",n},"MinimumCliqueCoveringCount"],{n,0,20}]

MinimumDistinguishingLabelingCount

seq=Table[GraphData[{"TriangularGrid",n},"MinimumDistinguishingLabelingCount"],{n,0,20}]

MinimumDominatingSetCount

A297572

seq=Table[GraphData[{"TriangularGrid",n},"MinimumDominatingSetCount"],{n,0,20}]

FindGeneratingFunction[DeleteMissing@seq,x]//Head//Timing

MinimumEdgeCoverCount

seq=Table[GraphData[{"TriangularGrid",n},"MinimumEdgeCoverCount"],{n,0,20}]

MinimumEdgeCutCount

seq=Table[GraphData[{"TriangularGrid",n},"MinimumEdgeCutCount"],{n,0,20}]

MolecularTopologicalIndex

seq=Table[GraphData[{"TriangularGrid",n},"MolecularTopologicalIndex"],{n,0,20}]

FindSequenceFunction[seq,n+1]//Factor

Nonhamiltonian

Table[GraphData[{"TriangularGrid",n},"Nonhamiltonian"],{n,0,20}]

NormalizedLaplacianMatrix

MatrixForm/@Table[GraphData[{"TriangularGrid",n},"NormalizedLaplacianMatrix"],{n,0,20}]

OddChordlessCycleCount

A362514

seq=Table[GraphData[{"TriangularGrid",n},"OddChordlessCycleCount"],{n,0,20}]

FindGeneratingFunction[DeleteMissing@seq,x]//Head//Timing

PathCount

A288148

seq=Table[GraphData[{"TriangularGrid",n},"PathCount"],{n,0,20}]

Length@DeleteMissing@seq

FindLinearRecurrence[Rest@DeleteMissing@seq]//Head//Timing

FindSequenceFunction[Rest@DeleteMissing@seq,n]//Head//Timing

FindGeneratingFunction[DeleteMissing@seq,x]//Head//Timing

PathPolynomial

(poly=Factor[Table[GraphData[{"TriangularGrid",n},"PathPolynomial"],{n,k0=0,kmax=20}]/.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

seq=Table[GraphData[{"TriangularGrid",n},"PentagonCount"],{n,0,20}]

FindSequenceFunction[Drop[seq,2],n-1]

Table[3(((n-1))^2),{n,0,20}]

FindLinearRecurrence[seq]

Perfect

Table[GraphData[{"TriangularGrid",n},"Perfect"],{n,0,20}]

ProjectivePlaneCrossingNumber

seq=Table[GraphData[{"TriangularGrid",n},"ProjectivePlaneCrossingNumber"],{n,0,20}]

Radius

A004523

seq=Table[GraphData[{"TriangularGrid",n},"Radius"],{n,0,20}]

FindSequenceFunction[Rest@seq,n]//FullSimplify

RankPolynomial

(poly=Table[GraphData[{"TriangularGrid",n},"RankPolynomial"],{n,k0=0,kmax=20}]/.f_Function:>f[x,y])//Column

coef=Factor/@FindLinearRecurrence[DeleteMissing@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,0,20}]

FullSimplify[poly2-poly]

RectilinearCrossingNumber

seq=Table[GraphData[{"TriangularGrid",n},"RectilinearCrossingNumber"],{n,0,20}]

ReliabilityPolynomial

(poly=Table[GraphData[{"TriangularGrid",n},"ReliabilityPolynomial"],{n,k0=0,20}]/.f_Function:>f[x])//Column

coef=Factor/@FindLinearRecurrence[DeleteMissing@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,0,20}]

FullSimplify[poly2-poly]

SigmaPolynomial

(poly=Factor@Table[GraphData[{"TriangularGrid",n},"SigmaPolynomial"],{n,k0=0,20}]/.f_Function:>f[x])//Column

SpanningTreeCount

A174579

seq=Table[GraphData[{"TriangularGrid",n},"SpanningTreeCount"],{n,0,20}]

FindSequenceFunction[Rest@seq,n]//Head//Timing

FindGeneratingFunction[seq,x]//Head//Timing

SquareCount

seq=Table[GraphData[{"TriangularGrid",n},"SquareCount"],{n,0,20}]

FindSequenceFunction[Rest@seq,n]

FindLinearRecurrence[Drop[seq,3]]

StabilityIndex

seq=Table[GraphData[{"TriangularGrid",n},"StabilityIndex"],{n,0,20}]

FindSequenceFunction[Rest@seq,n]//Head//Timing

FindGeneratingFunction[seq,x]//Head//Timing

TopologicalIndex

seq=Table[GraphData[{"TriangularGrid",n},"TopologicalIndex"],{n,0,20}]

FindSequenceFunction[Rest@seq,n]//Head//Timing

FindGeneratingFunction[seq,x]//Head//Timing

ToroidalCrossingNumber

seq=Table[GraphData[{"TriangularGrid",n},"ToroidalCrossingNumber"],{n,0,20}]

Traceable

Table[GraphData[{"TriangularGrid",n},"Traceable"],{n,0,20}]

TriangleCount

seq=Table[GraphData[{"TriangularGrid",n},"TriangleCount"],{n,0,20}]

FindSequenceFunction[seq,n+1]

TuttePolynomial

(poly=Table[GraphData[{"TriangularGrid",n},"TuttePolynomial"],{n,k0=0,6}]/.f_Function:>f[x,y])//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,0,20}]

FullSimplify[poly2-poly]

Untraceable

Table[GraphData[{"TriangularGrid",n},"Untraceable"],{n,0,20}]

VertexConnectivity

Table[GraphData[{"TriangularGrid",n},"VertexConnectivity"],{n,0,20}]

VertexCount

seq=Table[GraphData[{"TriangularGrid",n},"VertexCount"],{n,0,20}]

FindSequenceFunction[seq,n+1]

Binomial[n+2,2]

VertexCoverNumber

Related to but not the same as IndependenceNumber

seq=Table[GraphData[{"TriangularGrid",n},"VertexCoverNumber"],{n,0,20}]

Table[Binomial[n+2,2]-(1/18) (Piecewise[{{28,n==2||n==4}},10]+3 n (3+n)+8 Cos[((2 n π)/3)]),{n,0,20}]

FindSequenceFunction[Rest@seq,n]

gf=FindGeneratingFunction[seq,x]

FullSimplify[SeriesCoefficient[gf,{x,0,n}],n>=0]

VertexCoverPolynomial

(poly=Table[GraphData[{"TriangularGrid",n},"VertexCoverPolynomial"],{n,k0=0,20}]/.f_Function:>f[x])//Column

FindLinearRecurrence[Rest@poly]//Head//Timing

FindGeneratingFunction[DeleteMissing@poly,z]//Head//Timing

VertexDegreePolynomial

(poly=Table[GraphData[{"TriangularGrid",n},"VertexDegreePolynomial"],{n,0,20}]/.f_Function:>f[x])//Column

FindLinearRecurrence[Rest@poly]

gf=FindGeneratingFunction[poly,z]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

VertexTransitive

Table[GraphData[{"TriangularGrid",n},"VertexTransitive"],{n,0,20}]

WienerIndex

A112851

seq=Table[GraphData[{"TriangularGrid",n},"WienerIndex"],{n,0,20}]

FindSequenceFunction[seq,n+1]//Factor

seq=Table[(1/40) n (1+n) (2+n) (3+n) (3+2 n),{n,20}]

FindLinearRecurrence[seq]

gf=FindGeneratingFunction[seq,x]

WienerSumIndex

seq=Table[GraphData[{"TriangularGrid",n},"WienerSumIndex"],{n,0,20}]

FindSequenceFunction[seq,n+1]

GraphData

<<MathWorld`Graphs`

GraphDataString

file=OpenAppend["~/trigrid.m"]

Do[WriteString[file,GraphDataString[TriangularGridGraph[n],
"Name"->ToString[n]<>"\[Hyphen]triangular grid graph",
"AlternateNames"->{ToString[n+1]<>"\[Hyphen]triangular honeycomb king graph"},
"StandardName"->{"TriangularGrid",n},
"AlternateStandardNames"->{{"TriangularHoneycombKing",n+1}},
"Classes"->{"Matchstick","Polyiamond","TriangularGrid","TriangularHoneycombKing","UnitDistance"},
"EmbeddingClasses"->{"Integral","MinimalCrossing","MinimalIntegral","Planar","Primary","UnitDistance"},
"NotationRules"->{"Matchstick"->Missing["NotAvailable"],"Polyiamond"->Missing["NotAvailable"],"TriangularGrid"->n,"TriangularHoneycombKing"->n+1},
"Information"->"TriangularGridGraph",
"Notation"->Subscript["T",n],
"Bandwidth"->n+1,
"Skip"->{"ABCEnergy","ABCSpectralRadius","Arboricity","ArithmeticGeometricEnergy","ArithmeticGeometricSpectralRadius","BurningNumber","ConnectedDominatingSet","ConnectedInducedSubgraphPolynomial","ConstructionNumber","CoolingNumber","Cycles","CyclicEdgeConnectivity","EdgeBetweennessCentralities","EigenvectorCentralities","EmbeddingClasses","HadwigerNumber","HITSCentralities","IdiosyncraticPolynomial","IndependencePolynomial","IntersectionNumber","IrredundancePolynomial","KatzCentralities","LongestCycles","MatchingGeneratingPolynomial","MatchingPolynomial","MaximalIndependentEdgeSets","MaximalIndependentVertexSets","MaximumIndependentEdgeSetCount","MaximumIndependentEdgeSets","MaximumIndependentVertexSets","MinimalPlanarIntegral","MinimumConnectedDominatingSet","MinimumCyclicEdgeCut","MinimumCyclicEdgeCuts","MinimumTotalDominatingSet","Minors","RandicEnergy","SomborEnergy","SomborSpectralRadius","TotalDominationPolynomial","TuttePolynomial"},
Debug->True,
TimeConstraint->10
]],{n,19,20}]

Close[file]