Fiveleaper Graph

Author

Eric W. Weisstein
January 11, 2024

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

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

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

Graphics

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

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

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

Special cases

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

Embeddings

<<MathWorld`Graphs`

{"Fiveleaper", {1, 1}} == "SingletonGraph"

Names

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

{"Fiveleaper", {2, 2}} == {"Empty", 4}

Names

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

{"Fiveleaper", {3, 3}} == {"Empty", 9}

Names

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

{"Fiveleaper", {4, 4}} == {"Empty", 16}

Names

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

{"Fiveleaper", {5, 5}} == "4P3+13K1"

Names

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

{"Fiveleaper", {6, 6}}

Names

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

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

Primary

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

Configuration

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

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

All

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

Grid

GraphData[{"Fiveleaper",{6,6}},"Graph","Grid"]//StyleGraphs

Inexact

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

Embedding types

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

Default embedding

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

v[[#,1]]&/@{6,11}

2v[[14,2]]/Sqrt[2]

N[%]

v=Join[CirclePoints[8],CirclePoints[{5/2,0},1,8],CirclePoints[{5/2,0},(Sqrt[2]) Sin[(π/8)],4],Most@Subdivide[{-Cos[(π/8)],-3/2},{5/2+Cos[(π/8)],-3/2},4]];
v=Join[v,Subdivide[v[[8]],v[[5]],5][[2;;-2]],Subdivide[v[[1]],v[[4]],5][[2;;-2]]];
v=Join[v,Subdivide[v[[26]],v[[30]],3][[2;;-2]],Subdivide[v[[27]],v[[31]],3][[2;;-2]]];
g=Graph[Range[Length[v]],UndirectedEdge@@@{e[{1,8},1,29,30,31,32,4],e[14,19,18,11],e[15,20,17,10],e[16,20,19,13],e[9,17,18,12],e[8,25,26,27,28,5],e[27,35,36,31],e[26,33,34,30]},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

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

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

Perspective

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

Bilateral

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

Circular

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

Circular construction

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

Planar

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

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

ConnectedComponents

cc=IndexGraph/@ConnectedGraphComponents[GraphData[{"Fiveleaper",{6,6}}]]

RecognizeGraph/@cc

g1=MyGraphUnion@@Take[cc,2]

emb=GraphEmbedding[g1];

MinMax/@Transpose[emb]

v=Join[GraphEmbedding[g1],Most@Subdivide[{0,-1/4},{23/10,-1/4},4]];
g=Graph[Range@Length@v,EdgeList[g1],VertexCoordinates->v]

RecognizeGraph@g

MinimalCrossing

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

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

MinimalCrossing construction

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

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

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

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

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

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

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

Complement graph

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

Line graph

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

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

RootGraph

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

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

Halin

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

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

Rigid

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

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

Flexible

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

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

LCF

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

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

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

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

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

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

UnitDistance

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

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

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

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

UnitDistance by refinement

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

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

cc=ConnectedGraphComponents[GraphData[{"Fiveleaper",{6,6}}]]

{{"FiveleaperComponent1",{6,6}},l=FindSubgraphUnitDistanceEmbedding[cc[[1]],TimeConstraint->300,"Results"->All]//Timing}

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

c1=IndexGraph/@{,,,};

{{"FiveleaperComponent2",{6,6}},l=FindSubgraphUnitDistanceEmbedding[cc[[2]],TimeConstraint->300,"Results"->All]//Timing}

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

v=Join[UnitCirclePoints[4]];
v=Join[v,#+RotationMatrix[Pi/5].(#2-#)&@@@Partition[v,2,1,1],{
v[[3]]+RotationMatrix[Pi/5].(v[[2]]-v[[3]]),v[[2]]+RotationMatrix[Pi-Pi/5].(v[[2]]-v[[3]]),
v[[4]]+RotationMatrix[-Pi/5].(v[[1]]-v[[4]]),v[[1]]+RotationMatrix[Pi/5].(v[[4]]-v[[1]])
}];
g=Graph[Range@Length@v,UndirectedEdge@@@{e[1,2,3,4,1,5],{4,8},{2,6},{3,7},{2,10},{3,9},{4,11},{1,12}},VertexCoordinates->v,VertexLabels->Automatic]

IsomorphicGraphQ[,g]

c2=IndexGraph/@{,,};

Flatten[Outer[MyGraphUnion[##,"Scaling"->False]&, c1,c2],1]

UnitDistanceGraphEmbeddingQ/@%

Matchstick

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

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

3D default

Graph3D[Range@GraphData[{"Fiveleaper",{6,6}},"V"],GraphData[{"Fiveleaper",{6,6}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"Fiveleaper", {7, 7}}

Names

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

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

Primary

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

Configuration

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

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

All

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

Grid

GraphData[{"Fiveleaper",{7,7}},"Graph","Grid"]//StyleGraphs

Inexact

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

Embedding types

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

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

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

Perspective

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

Bilateral

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

Circular

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

Circular construction

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

Planar

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

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

MinimalCrossing

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

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

MinimalCrossing construction

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

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

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

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

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

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

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

Complement graph

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

Line graph

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

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

RootGraph

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

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

Halin

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

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

Rigid

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

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

Flexible

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

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

LCF

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

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

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

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

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

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

UnitDistance

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

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

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

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

UnitDistance by refinement

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

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"Fiveleaper", {8, 8}}

Names

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

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

Primary

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

Configuration

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

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

All

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

Grid

GraphData[{"Fiveleaper",{8,8}},"Graph","Grid"]//StyleGraphs

Inexact

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

Embedding types

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

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

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

Perspective

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

Bilateral

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

Circular

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

Planar

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

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

MinimalCrossing

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

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

MinimalCrossing construction

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

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

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

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

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

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

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

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

Complement graph

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

Line graph

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

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

RootGraph

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

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

Halin

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

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

Rigid

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

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

Flexible

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

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

LCF

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

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

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

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

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

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

LCF compute random

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

LCF compute 10^5

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

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

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

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

LCF compute 10^6

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

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

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

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

gs={,};

LCF compute 10^7

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

MaxMemoryUsed[]/10.^9 "GB"

nicelcf=DeleteCases[lcf,{_,1}]

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

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

gs={,,,};

LCF compute all

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

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

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

MaxMemoryUsed[]/10.^9 "GB"

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

DeleteCases[lcf,{_,1}]

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

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

UnitDistance

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

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

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

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

UnitDistance by refinement

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

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"Fiveleaper", {9, 9}}

Names

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

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

Primary

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

Configuration

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

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

All

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

Grid

GraphData[{"Fiveleaper",{9,9}},"Graph","Grid"]//StyleGraphs

Inexact

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

Embedding types

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

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

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

Perspective

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

Bilateral

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

Circular

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

Circular construction

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

Planar

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

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

MinimalCrossing

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

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

MinimalCrossing construction

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

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

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

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

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

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

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

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

Complement graph

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

Line graph

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

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

RootGraph

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

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

Halin

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

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

Rigid

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

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

Flexible

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

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

LCF

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

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

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

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

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

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

UnitDistance

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

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

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

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

UnitDistance by refinement

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

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"Fiveleaper", {10, 10}}

Names

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

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

Primary

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

Configuration

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

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

All

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

Grid

GraphData[{"Fiveleaper",{10,10}},"Graph","Grid"]//StyleGraphs

Inexact

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

Embedding types

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

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

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

Perspective

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

Bilateral

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

Circular

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

Circular construction (10^3)

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

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

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

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

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

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[{"Fiveleaper",{10,10}},"Hamiltonian"]

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

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

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

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

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

gs=bilat

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

quad

Planar

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

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

MinimalCrossing

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

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

MinimalCrossing construction

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

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

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

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

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

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

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

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

Complement graph

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

Line graph

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

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

RootGraph

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

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

Halin

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

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

Rigid

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

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

Flexible

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

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

LCF

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

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

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

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

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

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

UnitDistance

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

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

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

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

UnitDistance by refinement

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

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"Fiveleaper", {11, 11}}

Names

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

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

Primary

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

Configuration

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

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

All

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

Grid

GraphData[{"Fiveleaper",{11,11}},"Graph","Grid"]//StyleGraphs

Inexact

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

Embedding types

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

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

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

Perspective

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

Bilateral

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

Circular

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

Circular construction

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

Planar

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

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

MinimalCrossing

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

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

MinimalCrossing construction

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

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

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

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

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

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

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

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

Complement graph

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

Line graph

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

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

RootGraph

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

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

Halin

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

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

Rigid

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

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

Flexible

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

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

LCF

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

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

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

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

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

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

UnitDistance

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

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

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

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

UnitDistance by refinement

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

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"Fiveleaper", {12, 12}}

Names

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

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

Primary

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

Configuration

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

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

All

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

Grid

GraphData[{"Fiveleaper",{12,12}},"Graph","Grid"]//StyleGraphs

Inexact

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

Embedding types

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

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

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

Perspective

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

Bilateral

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

Circular

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

Circular construction (10^3)

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

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

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

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

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

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[{"Fiveleaper",{12,12}},"Hamiltonian"]

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

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

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

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

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

gs=bilat

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

quad

Planar

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

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

MinimalCrossing

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

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

MinimalCrossing construction

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

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

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

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

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

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

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

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

Complement graph

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

Line graph

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

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

RootGraph

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

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

Halin

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

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

Rigid

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

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

Flexible

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

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

LCF

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

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

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

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

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

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

UnitDistance

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

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

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

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

UnitDistance by refinement

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

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"Fiveleaper", {13, 13}}

Names

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

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

Primary

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

Configuration

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

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

All

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

Grid

GraphData[{"Fiveleaper",{13,13}},"Graph","Grid"]//StyleGraphs

Inexact

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

Embedding types

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

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

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

Perspective

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

Bilateral

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

Circular

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

Circular construction

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

Planar

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

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

MinimalCrossing

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

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

MinimalCrossing construction

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

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

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

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

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

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

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

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

Complement graph

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

Line graph

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

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

RootGraph

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

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

Halin

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

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

Rigid

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

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

Flexible

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

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

LCF

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

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

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

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

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

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

UnitDistance

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

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

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

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

UnitDistance by refinement

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

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"Fiveleaper", {14, 14}}

Names

GraphData[{"Fiveleaper",{14,14}},"StandardName"]

GraphData[{"Fiveleaper",{14,14}},"StandardNames"]

Primary

GraphData[{"Fiveleaper",{14,14}}]//StyleGraphs[#,ImageSize->Small]&

Configuration

GraphData[{"Fiveleaper",{14,14}},"Configuration"]

GraphData[{"Fiveleaper",{14,14}},"Graph","Configuration"]//StyleGraphs

All

GraphData[{"Fiveleaper",{14,14}},"Graph","All"]//StyleGraphs

Grid

GraphData[{"Fiveleaper",{14,14}},"Graph","Grid"]//StyleGraphs

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Fiveleaper",{14,14}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Fiveleaper",{14,14}},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"Fiveleaper",{14,14}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"Fiveleaper",{14,14}},"Graph","Degenerate"]

Perspective

GraphData[{"Fiveleaper",{14,14}},"Graph","Perspective"]//StyleGraphs

Bilateral

GraphData[{"Fiveleaper",{14,14}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"Fiveleaper",{14,14}},"Graph","Circular"]//StyleGraphs

Circular construction (10^3)

GraphData[{"Fiveleaper",{14,14}},"Hamiltonian"]

GraphData[{"Fiveleaper",{14,14}},"HamiltonianCycleCount"]

GraphData[{"Fiveleaper",{14,14}},"LCF"]

Length[hc=FindHamiltonianCycle[GraphData[{"Fiveleaper",{14,14}}],(10^3)][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"Fiveleaper",{14,14}}],#]&/@hc;

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[{"Fiveleaper",{14,14}},"Hamiltonian"]

GraphData[{"Fiveleaper",{14,14}},"HamiltonianCycleCount"]

GraphData[{"Fiveleaper",{14,14}},"LCF"]

Length[hc=FindHamiltonianCycle[GraphData[{"Fiveleaper",{14,14}}],(10^4)][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"Fiveleaper",{14,14}}],#]&/@hc;

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

gs=bilat

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

quad

Planar

GraphData[{"Fiveleaper",{14,14}},"Planar"]

GraphData[{"Fiveleaper",{14,14}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"Fiveleaper",{14,14}},{"RCN","CN"}]

GraphData[{"Fiveleaper",{14,14}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

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

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

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

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

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

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"Fiveleaper",{14,14}},"Circulant"]

GraphData[{"Fiveleaper",{14,14}},"Graph","Circulant"]//StyleGraphs

Complement graph

GraphData[{"Fiveleaper",{14,14}},"ComplementGraph","Name"]

Line graph

GraphData[{"Fiveleaper",{14,14}},"Line"]

LineGraphQ[GraphData[{"Fiveleaper",{14,14}}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"Fiveleaper",{14,14}}&]

RootGraph[GraphData[{"Fiveleaper",{14,14}}]]

Halin

GraphData[{"Fiveleaper",{14,14}},"Halin"]

GraphData[{"Fiveleaper",{14,14}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"Fiveleaper",{14,14}},"Rigid"]

GraphData[{"Fiveleaper",{14,14}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"Fiveleaper",{14,14}},"Flexible"]

GraphData[{"Fiveleaper",{14,14}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"Fiveleaper",{14,14}},"LCF"]

GraphData[{"Fiveleaper",{14,14}},"HamiltonianCycleCount"]

GraphData[{"Fiveleaper",{14,14}},"LCFSignature"]

GraphData[{"Fiveleaper",{14,14}},"LCFNotations"]

GraphData[{"Fiveleaper",{14,14}},"Graph","LCF"]//StyleGraphs

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

UnitDistance

GraphData[{"Fiveleaper",{14,14}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"Fiveleaper",{14,14}}],Debug->True]//Timing

GraphData[{"Fiveleaper",{14,14}},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Fiveleaper",{14,14}},"VertexList"],GraphData[{"Fiveleaper",{14,14}},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

GraphData[{"Fiveleaper",{14,14}},"Matchstick"]

GraphData[{"Fiveleaper",{14,14}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"Fiveleaper",{14,14}},"Edges"]]

3D All

GraphData[{"Fiveleaper",{14,14}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"Fiveleaper",{14,14}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"Fiveleaper",{14,14}},"Polyhedral"]

GraphData[{"Fiveleaper",{14,14}},"Graph",{"3D","Polyhedron"}]

{"Fiveleaper", {15, 15}}

Names

GraphData[{"Fiveleaper",{15,15}},"StandardName"]

GraphData[{"Fiveleaper",{15,15}},"StandardNames"]

Primary

GraphData[{"Fiveleaper",{15,15}}]//StyleGraphs[#,ImageSize->Small]&

Configuration

GraphData[{"Fiveleaper",{15,15}},"Configuration"]

GraphData[{"Fiveleaper",{15,15}},"Graph","Configuration"]//StyleGraphs

All

GraphData[{"Fiveleaper",{15,15}},"Graph","All"]//StyleGraphs

Grid

GraphData[{"Fiveleaper",{15,15}},"Graph","Grid"]//StyleGraphs

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Fiveleaper",{15,15}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Fiveleaper",{15,15}},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"Fiveleaper",{15,15}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"Fiveleaper",{15,15}},"Graph","Degenerate"]

Perspective

GraphData[{"Fiveleaper",{15,15}},"Graph","Perspective"]//StyleGraphs

Bilateral

GraphData[{"Fiveleaper",{15,15}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"Fiveleaper",{15,15}},"Graph","Circular"]//StyleGraphs

Circular construction

GraphData[{"Fiveleaper",{15,15}},"Hamiltonian"]

Planar

GraphData[{"Fiveleaper",{15,15}},"Planar"]

GraphData[{"Fiveleaper",{15,15}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"Fiveleaper",{15,15}},{"RCN","CN"}]

GraphData[{"Fiveleaper",{15,15}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

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

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

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

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

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

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"Fiveleaper",{15,15}},"Circulant"]

GraphData[{"Fiveleaper",{15,15}},"Graph","Circulant"]//StyleGraphs

Complement graph

GraphData[{"Fiveleaper",{15,15}},"ComplementGraph","Name"]

Line graph

GraphData[{"Fiveleaper",{15,15}},"Line"]

LineGraphQ[GraphData[{"Fiveleaper",{15,15}}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"Fiveleaper",{15,15}}&]

RootGraph[GraphData[{"Fiveleaper",{15,15}}]]

Halin

GraphData[{"Fiveleaper",{15,15}},"Halin"]

GraphData[{"Fiveleaper",{15,15}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"Fiveleaper",{15,15}},"Rigid"]

GraphData[{"Fiveleaper",{15,15}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"Fiveleaper",{15,15}},"Flexible"]

GraphData[{"Fiveleaper",{15,15}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"Fiveleaper",{15,15}},"LCF"]

GraphData[{"Fiveleaper",{15,15}},"HamiltonianCycleCount"]

GraphData[{"Fiveleaper",{15,15}},"LCFSignature"]

GraphData[{"Fiveleaper",{15,15}},"LCFNotations"]

GraphData[{"Fiveleaper",{15,15}},"Graph","LCF"]//StyleGraphs

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

UnitDistance

GraphData[{"Fiveleaper",{15,15}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"Fiveleaper",{15,15}}],Debug->True]//Timing

GraphData[{"Fiveleaper",{15,15}},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Fiveleaper",{15,15}},"VertexList"],GraphData[{"Fiveleaper",{15,15}},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

GraphData[{"Fiveleaper",{15,15}},"Matchstick"]

GraphData[{"Fiveleaper",{15,15}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"Fiveleaper",{15,15}},"Edges"]]

3D All

GraphData[{"Fiveleaper",{15,15}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"Fiveleaper",{15,15}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"Fiveleaper",{15,15}},"Polyhedral"]

GraphData[{"Fiveleaper",{15,15}},"Graph",{"3D","Polyhedron"}]

{"Fiveleaper", {16, 16}}

Names

GraphData[{"Fiveleaper",{16,16}},"StandardName"]

GraphData[{"Fiveleaper",{16,16}},"StandardNames"]

Primary

GraphData[{"Fiveleaper",{16,16}}]//StyleGraphs[#,ImageSize->Small]&

Configuration

GraphData[{"Fiveleaper",{16,16}},"Configuration"]

GraphData[{"Fiveleaper",{16,16}},"Graph","Configuration"]//StyleGraphs

All

GraphData[{"Fiveleaper",{16,16}},"Graph","All"]//StyleGraphs

Grid

GraphData[{"Fiveleaper",{16,16}},"Graph","Grid"]//StyleGraphs

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Fiveleaper",{16,16}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Fiveleaper",{16,16}},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"Fiveleaper",{16,16}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"Fiveleaper",{16,16}},"Graph","Degenerate"]

Perspective

GraphData[{"Fiveleaper",{16,16}},"Graph","Perspective"]//StyleGraphs

Bilateral

GraphData[{"Fiveleaper",{16,16}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"Fiveleaper",{16,16}},"Graph","Circular"]//StyleGraphs

Circular construction (10^3)

GraphData[{"Fiveleaper",{16,16}},"Hamiltonian"]

GraphData[{"Fiveleaper",{16,16}},"LCF"]

Length[hc=FindHamiltonianCycle[GraphData[{"Fiveleaper",{16,16}}],(10^3)][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"Fiveleaper",{16,16}}],#]&/@hc;

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[{"Fiveleaper",{16,16}},"Hamiltonian"]

GraphData[{"Fiveleaper",{16,16}},"LCF"]

Length[hc=FindHamiltonianCycle[GraphData[{"Fiveleaper",{16,16}}],(10^4)][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"Fiveleaper",{16,16}}],#]&/@hc;

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

gs=bilat

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

quad

Planar

GraphData[{"Fiveleaper",{16,16}},"Planar"]

GraphData[{"Fiveleaper",{16,16}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"Fiveleaper",{16,16}},{"RCN","CN"}]

GraphData[{"Fiveleaper",{16,16}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

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

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

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

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

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

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"Fiveleaper",{16,16}},"Circulant"]

GraphData[{"Fiveleaper",{16,16}},"Graph","Circulant"]//StyleGraphs

Complement graph

GraphData[{"Fiveleaper",{16,16}},"ComplementGraph","Name"]

Line graph

GraphData[{"Fiveleaper",{16,16}},"Line"]

LineGraphQ[GraphData[{"Fiveleaper",{16,16}}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"Fiveleaper",{16,16}}&]

RootGraph[GraphData[{"Fiveleaper",{16,16}}]]

Halin

GraphData[{"Fiveleaper",{16,16}},"Halin"]

GraphData[{"Fiveleaper",{16,16}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"Fiveleaper",{16,16}},"Rigid"]

GraphData[{"Fiveleaper",{16,16}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"Fiveleaper",{16,16}},"Flexible"]

GraphData[{"Fiveleaper",{16,16}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"Fiveleaper",{16,16}},"LCF"]

GraphData[{"Fiveleaper",{16,16}},"HamiltonianCycleCount"]

GraphData[{"Fiveleaper",{16,16}},"LCFSignature"]

GraphData[{"Fiveleaper",{16,16}},"LCFNotations"]

GraphData[{"Fiveleaper",{16,16}},"Graph","LCF"]//StyleGraphs

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

UnitDistance

GraphData[{"Fiveleaper",{16,16}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"Fiveleaper",{16,16}}],Debug->True]//Timing

GraphData[{"Fiveleaper",{16,16}},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Fiveleaper",{16,16}},"VertexList"],GraphData[{"Fiveleaper",{16,16}},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

GraphData[{"Fiveleaper",{16,16}},"Matchstick"]

GraphData[{"Fiveleaper",{16,16}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"Fiveleaper",{16,16}},"Edges"]]

3D All

GraphData[{"Fiveleaper",{16,16}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"Fiveleaper",{16,16}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"Fiveleaper",{16,16}},"Polyhedral"]

GraphData[{"Fiveleaper",{16,16}},"Graph",{"3D","Polyhedron"}]

{"Fiveleaper", {17, 17}}

Names

GraphData[{"Fiveleaper",{17,17}},"StandardName"]

GraphData[{"Fiveleaper",{17,17}},"StandardNames"]

Primary

GraphData[{"Fiveleaper",{17,17}}]//StyleGraphs[#,ImageSize->Small]&

Configuration

GraphData[{"Fiveleaper",{17,17}},"Configuration"]

GraphData[{"Fiveleaper",{17,17}},"Graph","Configuration"]//StyleGraphs

All

GraphData[{"Fiveleaper",{17,17}},"Graph","All"]//StyleGraphs

Grid

GraphData[{"Fiveleaper",{17,17}},"Graph","Grid"]//StyleGraphs

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Fiveleaper",{17,17}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Fiveleaper",{17,17}},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"Fiveleaper",{17,17}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"Fiveleaper",{17,17}},"Graph","Degenerate"]

Perspective

GraphData[{"Fiveleaper",{17,17}},"Graph","Perspective"]//StyleGraphs

Bilateral

GraphData[{"Fiveleaper",{17,17}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"Fiveleaper",{17,17}},"Graph","Circular"]//StyleGraphs

Circular construction

GraphData[{"Fiveleaper",{17,17}},"Hamiltonian"]

Planar

GraphData[{"Fiveleaper",{17,17}},"Planar"]

GraphData[{"Fiveleaper",{17,17}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"Fiveleaper",{17,17}},{"RCN","CN"}]

GraphData[{"Fiveleaper",{17,17}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

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

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

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

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

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

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"Fiveleaper",{17,17}},"Circulant"]

GraphData[{"Fiveleaper",{17,17}},"Graph","Circulant"]//StyleGraphs

Complement graph

GraphData[{"Fiveleaper",{17,17}},"ComplementGraph","Name"]

Line graph

GraphData[{"Fiveleaper",{17,17}},"Line"]

LineGraphQ[GraphData[{"Fiveleaper",{17,17}}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"Fiveleaper",{17,17}}&]

RootGraph[GraphData[{"Fiveleaper",{17,17}}]]

Halin

GraphData[{"Fiveleaper",{17,17}},"Halin"]

GraphData[{"Fiveleaper",{17,17}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"Fiveleaper",{17,17}},"Rigid"]

GraphData[{"Fiveleaper",{17,17}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"Fiveleaper",{17,17}},"Flexible"]

GraphData[{"Fiveleaper",{17,17}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"Fiveleaper",{17,17}},"LCF"]

GraphData[{"Fiveleaper",{17,17}},"HamiltonianCycleCount"]

GraphData[{"Fiveleaper",{17,17}},"LCFSignature"]

GraphData[{"Fiveleaper",{17,17}},"LCFNotations"]

GraphData[{"Fiveleaper",{17,17}},"Graph","LCF"]//StyleGraphs

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

UnitDistance

GraphData[{"Fiveleaper",{17,17}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"Fiveleaper",{17,17}}],Debug->True]//Timing

GraphData[{"Fiveleaper",{17,17}},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Fiveleaper",{17,17}},"VertexList"],GraphData[{"Fiveleaper",{17,17}},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

GraphData[{"Fiveleaper",{17,17}},"Matchstick"]

GraphData[{"Fiveleaper",{17,17}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"Fiveleaper",{17,17}},"Edges"]]

3D All

GraphData[{"Fiveleaper",{17,17}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"Fiveleaper",{17,17}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"Fiveleaper",{17,17}},"Polyhedral"]

GraphData[{"Fiveleaper",{17,17}},"Graph",{"3D","Polyhedron"}]

{"Fiveleaper", {18, 18}}

Names

GraphData[{"Fiveleaper",{18,18}},"StandardName"]

GraphData[{"Fiveleaper",{18,18}},"StandardNames"]

Primary

GraphData[{"Fiveleaper",{18,18}}]//StyleGraphs[#,ImageSize->Small,VertexSize->.02]&

Configuration

GraphData[{"Fiveleaper",{18,18}},"Configuration"]

GraphData[{"Fiveleaper",{18,18}},"Graph","Configuration"]//StyleGraphs

All

GraphData[{"Fiveleaper",{18,18}},"Graph","All"]//StyleGraphs

Grid

GraphData[{"Fiveleaper",{18,18}},"Graph","Grid"]//StyleGraphs

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Fiveleaper",{18,18}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Fiveleaper",{18,18}},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"Fiveleaper",{18,18}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"Fiveleaper",{18,18}},"Graph","Degenerate"]

Perspective

GraphData[{"Fiveleaper",{18,18}},"Graph","Perspective"]//StyleGraphs

Bilateral

GraphData[{"Fiveleaper",{18,18}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"Fiveleaper",{18,18}},"Graph","Circular"]//StyleGraphs

Circular construction (10^3)

GraphData[{"Fiveleaper",{18,18}},"Hamiltonian"]

GraphData[{"Fiveleaper",{18,18}},"LCF"]

Length[hc=FindHamiltonianCycle[GraphData[{"Fiveleaper",{18,18}}],(10^3)][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"Fiveleaper",{18,18}}],#]&/@hc;

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[{"Fiveleaper",{18,18}},"Hamiltonian"]

GraphData[{"Fiveleaper",{18,18}},"LCF"]

Length[hc=FindHamiltonianCycle[GraphData[{"Fiveleaper",{18,18}}],(10^4)][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"Fiveleaper",{18,18}}],#]&/@hc;

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

gs=bilat

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

quad

Planar

GraphData[{"Fiveleaper",{18,18}},"Planar"]

GraphData[{"Fiveleaper",{18,18}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"Fiveleaper",{18,18}},{"RCN","CN"}]

GraphData[{"Fiveleaper",{18,18}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

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

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

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

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

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

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"Fiveleaper",{18,18}},"Circulant"]

GraphData[{"Fiveleaper",{18,18}},"Graph","Circulant"]//StyleGraphs

Complement graph

GraphData[{"Fiveleaper",{18,18}},"ComplementGraph","Name"]

Line graph

GraphData[{"Fiveleaper",{18,18}},"Line"]

LineGraphQ[GraphData[{"Fiveleaper",{18,18}}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"Fiveleaper",{18,18}}&]

RootGraph[GraphData[{"Fiveleaper",{18,18}}]]

Halin

GraphData[{"Fiveleaper",{18,18}},"Halin"]

GraphData[{"Fiveleaper",{18,18}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"Fiveleaper",{18,18}},"Rigid"]

GraphData[{"Fiveleaper",{18,18}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"Fiveleaper",{18,18}},"Flexible"]

GraphData[{"Fiveleaper",{18,18}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"Fiveleaper",{18,18}},"LCF"]

GraphData[{"Fiveleaper",{18,18}},"HamiltonianCycleCount"]

GraphData[{"Fiveleaper",{18,18}},"LCFSignature"]

GraphData[{"Fiveleaper",{18,18}},"LCFNotations"]

GraphData[{"Fiveleaper",{18,18}},"Graph","LCF"]//StyleGraphs

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

UnitDistance

GraphData[{"Fiveleaper",{18,18}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"Fiveleaper",{18,18}}],Debug->True]//Timing

GraphData[{"Fiveleaper",{18,18}},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Fiveleaper",{18,18}},"VertexList"],GraphData[{"Fiveleaper",{18,18}},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

GraphData[{"Fiveleaper",{18,18}},"Matchstick"]

GraphData[{"Fiveleaper",{18,18}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"Fiveleaper",{18,18}},"Edges"]]

3D All

GraphData[{"Fiveleaper",{18,18}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"Fiveleaper",{18,18}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"Fiveleaper",{18,18}},"Polyhedral"]

GraphData[{"Fiveleaper",{18,18}},"Graph",{"3D","Polyhedron"}]

{"Fiveleaper", {19, 19}}

Names

GraphData[{"Fiveleaper",{19,19}},"StandardName"]

GraphData[{"Fiveleaper",{19,19}},"StandardNames"]

Primary

GraphData[{"Fiveleaper",{19,19}}]//StyleGraphs[#,ImageSize->Small]&

Configuration

GraphData[{"Fiveleaper",{19,19}},"Configuration"]

GraphData[{"Fiveleaper",{19,19}},"Graph","Configuration"]//StyleGraphs

All

GraphData[{"Fiveleaper",{19,19}},"Graph","All"]//StyleGraphs

Grid

GraphData[{"Fiveleaper",{19,19}},"Graph","Grid"]//StyleGraphs

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Fiveleaper",{19,19}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Fiveleaper",{19,19}},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"Fiveleaper",{19,19}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"Fiveleaper",{19,19}},"Graph","Degenerate"]

Perspective

GraphData[{"Fiveleaper",{19,19}},"Graph","Perspective"]//StyleGraphs

Bilateral

GraphData[{"Fiveleaper",{19,19}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"Fiveleaper",{19,19}},"Graph","Circular"]//StyleGraphs

Circular construction

GraphData[{"Fiveleaper",{19,19}},"Hamiltonian"]

Planar

GraphData[{"Fiveleaper",{19,19}},"Planar"]

GraphData[{"Fiveleaper",{19,19}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"Fiveleaper",{19,19}},{"RCN","CN"}]

GraphData[{"Fiveleaper",{19,19}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

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

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

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

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

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

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"Fiveleaper",{19,19}},"Circulant"]

GraphData[{"Fiveleaper",{19,19}},"Graph","Circulant"]//StyleGraphs

Complement graph

GraphData[{"Fiveleaper",{19,19}},"ComplementGraph","Name"]

Line graph

GraphData[{"Fiveleaper",{19,19}},"Line"]

LineGraphQ[GraphData[{"Fiveleaper",{19,19}}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"Fiveleaper",{19,19}}&]

RootGraph[GraphData[{"Fiveleaper",{19,19}}]]

Halin

GraphData[{"Fiveleaper",{19,19}},"Halin"]

GraphData[{"Fiveleaper",{19,19}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"Fiveleaper",{19,19}},"Rigid"]

GraphData[{"Fiveleaper",{19,19}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"Fiveleaper",{19,19}},"Flexible"]

GraphData[{"Fiveleaper",{19,19}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"Fiveleaper",{19,19}},"LCF"]

GraphData[{"Fiveleaper",{19,19}},"HamiltonianCycleCount"]

GraphData[{"Fiveleaper",{19,19}},"LCFSignature"]

GraphData[{"Fiveleaper",{19,19}},"LCFNotations"]

GraphData[{"Fiveleaper",{19,19}},"Graph","LCF"]//StyleGraphs

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

UnitDistance

GraphData[{"Fiveleaper",{19,19}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"Fiveleaper",{19,19}}],Debug->True]//Timing

GraphData[{"Fiveleaper",{19,19}},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Fiveleaper",{19,19}},"VertexList"],GraphData[{"Fiveleaper",{19,19}},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

GraphData[{"Fiveleaper",{19,19}},"Matchstick"]

GraphData[{"Fiveleaper",{19,19}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"Fiveleaper",{19,19}},"Edges"]]

3D All

GraphData[{"Fiveleaper",{19,19}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"Fiveleaper",{19,19}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"Fiveleaper",{19,19}},"Polyhedral"]

GraphData[{"Fiveleaper",{19,19}},"Graph",{"3D","Polyhedron"}]

{"Fiveleaper", {20, 20}}

Names

GraphData[{"Fiveleaper",{20,20}},"StandardName"]

GraphData[{"Fiveleaper",{20,20}},"StandardNames"]

Primary

GraphData[{"Fiveleaper",{20,20}}]//StyleGraphs[#,ImageSize->Small]&

Configuration

GraphData[{"Fiveleaper",{20,20}},"Configuration"]

GraphData[{"Fiveleaper",{20,20}},"Graph","Configuration"]//StyleGraphs

All

GraphData[{"Fiveleaper",{20,20}},"Graph","All"]//StyleGraphs

Grid

GraphData[{"Fiveleaper",{20,20}},"Graph","Grid"]//StyleGraphs

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Fiveleaper",{20,20}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Fiveleaper",{20,20}},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"Fiveleaper",{20,20}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"Fiveleaper",{20,20}},"Graph","Degenerate"]

Perspective

GraphData[{"Fiveleaper",{20,20}},"Graph","Perspective"]//StyleGraphs

Bilateral

GraphData[{"Fiveleaper",{20,20}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"Fiveleaper",{20,20}},"Graph","Circular"]//StyleGraphs

Circular construction (10^3)

GraphData[{"Fiveleaper",{20,20}},"Hamiltonian"]

GraphData[{"Fiveleaper",{20,20}},"LCF"]

Length[hc=FindHamiltonianCycle[GraphData[{"Fiveleaper",{20,20}}],(10^3)][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"Fiveleaper",{20,20}}],#]&/@hc;

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[{"Fiveleaper",{20,20}},"Hamiltonian"]

GraphData[{"Fiveleaper",{20,20}},"LCF"]

Length[hc=FindHamiltonianCycle[GraphData[{"Fiveleaper",{20,20}}],(10^4)][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"Fiveleaper",{20,20}}],#]&/@hc;

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

gs=bilat

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

quad

Planar

GraphData[{"Fiveleaper",{20,20}},"Planar"]

GraphData[{"Fiveleaper",{20,20}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"Fiveleaper",{20,20}},{"RCN","CN"}]

GraphData[{"Fiveleaper",{20,20}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

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

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

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

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

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

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"Fiveleaper",{20,20}},"Circulant"]

GraphData[{"Fiveleaper",{20,20}},"Graph","Circulant"]//StyleGraphs

Complement graph

GraphData[{"Fiveleaper",{20,20}},"ComplementGraph","Name"]

Line graph

GraphData[{"Fiveleaper",{20,20}},"Line"]

LineGraphQ[GraphData[{"Fiveleaper",{20,20}}]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"Fiveleaper",{20,20}}&]

RootGraph[GraphData[{"Fiveleaper",{20,20}}]]

Halin

GraphData[{"Fiveleaper",{20,20}},"Halin"]

GraphData[{"Fiveleaper",{20,20}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"Fiveleaper",{20,20}},"Rigid"]

GraphData[{"Fiveleaper",{20,20}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"Fiveleaper",{20,20}},"Flexible"]

GraphData[{"Fiveleaper",{20,20}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"Fiveleaper",{20,20}},"LCF"]

GraphData[{"Fiveleaper",{20,20}},"HamiltonianCycleCount"]

GraphData[{"Fiveleaper",{20,20}},"LCFSignature"]

GraphData[{"Fiveleaper",{20,20}},"LCFNotations"]

GraphData[{"Fiveleaper",{20,20}},"Graph","LCF"]//StyleGraphs

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

UnitDistance

GraphData[{"Fiveleaper",{20,20}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"Fiveleaper",{20,20}}],Debug->True]//Timing

GraphData[{"Fiveleaper",{20,20}},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Fiveleaper",{20,20}},"VertexList"],GraphData[{"Fiveleaper",{20,20}},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

GraphData[{"Fiveleaper",{20,20}},"Matchstick"]

GraphData[{"Fiveleaper",{20,20}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"Fiveleaper",{20,20}},"Edges"]]

3D All

GraphData[{"Fiveleaper",{20,20}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"Fiveleaper",{20,20}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"Fiveleaper",{20,20}},"Polyhedral"]

GraphData[{"Fiveleaper",{20,20}},"Graph",{"3D","Polyhedron"}]

StandardNames

rules=Sort@Flatten[Table[{m,n}->CanonicalName@ToEntity@FiveleaperGraph[m,n],{n,10},{m,n}]]

Grid[Sort[{
#,
With[{cc=GraphData[#,"ConnectedComponents","Name"]},
Check[
StringJoin@@Riffle[Reverse@SortBy[Reverse/@Tally[cc],GraphData[#[[2]],"V"]&]/.{
{n_,"SingletonGraph"}:>ToString[n]<>"K1",
{n_,{"Path",k_}}:>ToString[n]<>"P"<>ToString[k],
{n_,{"Cycle",k_}}:>If[n==1,"",ToString[n]]<>"C"<>ToString[k]
},"+"],
cc]//Quiet
]
}&/@GraphData[{"Fiveleaper","Disconnected","Nonempty"}]],Dividers->All,Alignment->Left]

Properties n×(n-1)

Connected

Position[Table[ConnectedGraphQ[FiveleaperGraph[n,n+1]],{n,30}],True]//Flatten//Timing

Hamiltonian

Do[Print[{n,TimeConstrained[HamiltonianGraphQ[FiveleaperGraph[n,n+1]],60]//Timing}],{n,30}]

Do[Print[{n,TimeConstrained[RandomizedHamiltonianGraphQ[FiveleaperGraph[n,n+1],MaxIterations->1000],3600]//Timing}],{n,50}]

Traceable

Do[Print[{n,TimeConstrained[TraceableGraphQ[FiveleaperGraph[n,n+1]],60]//Timing}],{n,30}]

Do[Print[{n,TimeConstrained[RandomizedTraceableGraphQ[FiveleaperGraph[n,n+1],MaxIterations->1000],3600]//Timing}],{n,50}]

Properties n×n

Acyclic

seq=Table[GraphData[{"Fiveleaper",{n,n}},"Acyclic"],{n,10}]

AdjacencyMatrixCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"AdjacencyMatrixCount"],{n,10}]

ArcTransitive

seq=Table[GraphData[{"Fiveleaper",{n,n}},"ArcTransitive"],{n,10}]

ArcTransitivity

seq=Table[GraphData[{"Fiveleaper",{n,n}},"ArcTransitivity"],{n,10}]

AutomorphismCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"AutomorphismCount"],{n,10}]

BalabanIndex

seq=Table[GraphData[{"Fiveleaper",{n,n}},"BalabanIndex"],{n,4}]//FullSimplify

Bandwidth

seq=Table[GraphData[{"Fiveleaper",{n,n}},"Bandwidth"],{n,10}]

BridgeCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"BridgeCount"],{n,10}]

BurningNumber

seq=Table[GraphData[{"Fiveleaper",{n,n}},"BurningNumber"],{n,10}]

CharacteristicPolynomial

(poly=Factor[Table[GraphData[{"Fiveleaper",{n,n}},"CharacteristicPolynomial"],{n,k0=1,kmax=10}]/.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,k0,kmax}]

FullSimplify[poly2-poly]

Chordal

seq=Table[GraphData[{"Fiveleaper",{n,n}},"Chordal"],{n,10}]

ChordCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"ChordCount"],{n,10}]

Chordless

seq=Table[GraphData[{"Fiveleaper",{n,n}},"Chordless"],{n,10}]

ChordlessCycleCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"ChordlessCycleCount"],{n,10}]

FindSequenceFunction[seq,n]

Chords

seq=Table[GraphData[{"Fiveleaper",{n,n}},"Chords"],{n,10}]

ChromaticallyUnique

seq=Table[GraphData[{"Fiveleaper",{n,n}},"ChromaticallyUnique"],{n,10}]

GraphData[{"ChromaticallyUnique","Book"}]

ChromaticInvariant

seq=Table[GraphData[{"Fiveleaper",{n,n}},"ChromaticInvariant"],{n,10}]

FindSequenceFunction[Drop[seq,2],n]

ChromaticNumber

seq=Table[GraphData[{"Fiveleaper",{n,n}},"ChromaticNumber"],{n,10}]

ChromaticPolynomial

(poly=Factor[Table[GraphData[{"Fiveleaper",{n,n}},"ChromaticPolynomial"],{n,k0=1,kmax=10}]/.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,k0,kmax}]

FullSimplify[poly2-poly]

Circumference

seq=Table[GraphData[{"Fiveleaper",{n,n}},"Circumference"],{n,10}]

FindSequenceFunction[Drop[seq,2],n]

Classes

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

CliqueCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"CliqueCount"],{n,10}]

FindSequenceFunction[seq,n]

gf=x FindGeneratingFunction[seq,x]

SeriesCoefficient[gf,{x,0,n}]//FullSimplify

CliqueCoveringNumber

seq=Table[GraphData[{"Fiveleaper",{n,n}},"CliqueCoveringNumber"],{n,10}]

FindSequenceFunction[Rest@seq,n-3]//FullSimplify

gf=x FindGeneratingFunction[seq,x]

FullSimplify[SeriesCoefficient[gf,{x,0,n}],n>0]

CliqueNumber

seq=Table[GraphData[{"Fiveleaper",{n,n}},"CliqueNumber"],{n,10}]

CliquePolynomial

(poly=Factor[Table[GraphData[{"Fiveleaper",{n,n}},"CliquePolynomial"],{n,k0=1,kmax=10}]/.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,k0,kmax}]

FullSimplify[poly2-poly]

CochromaticGraphNames

Table[GraphData[{"Fiveleaper",{n,n}},"CochromaticGraphNames"],{n,10}]//Column

Select[GraphData["Book"],GraphData[#,"ChromaticallyUnique"]=!=False&]

ComplementOddChordlessCycleCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"ComplementOddChordlessCycleCount"],{n,10}]

FindSequenceFunction[Take[seq,{3,5}],n]

Connected

Position[Table[GraphData[{"Fiveleaper",{n,n}},"Connected"],{n,10}],True]//Flatten

Position[Table[ConnectedGraphQ[FiveleaperGraph[n,n]],{n,30}],True]//Flatten//Timing

ConnectedComponentCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"ConnectedComponentCount"],{n,10}]

ConnectedDominatingSetCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"ConnectedDominatingSetCount"],{n,10}]

FindSequenceFunction[seq,n]

seq=Table[GraphData[{"Fiveleaper",{n,n}},"ConnectedDominationNumber"],{n,10}]

ConnectedDominationPolynomial

(poly=Factor[Table[GraphData[{"Fiveleaper",{n,n}},"ConnectedDominationPolynomial"],{n,k0=1,kmax=10}]/.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,k0,kmax}]

FullSimplify[poly2-poly]

ConnectedInducedSubgraphCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"ConnectedInducedSubgraphCount"],{n,6}]

FindSequenceFunction[DeleteMissing[seq],n]

ConnectedInducedSubgraphPolynomial

(poly=Factor[Table[GraphData[{"Fiveleaper",{n,n}},"CharacteristicPolynomial"],{n,k0=1,kmax=10}]/.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,6}]

FullSimplify[poly2-poly]

CrossingNumber

seq=Table[GraphData[{"Fiveleaper",{n,n}},"CrossingNumber"],{n,10}]

CycleCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"CycleCount"],{n,10}]

CyclePolynomial

(poly=Factor[Table[GraphData[{"Fiveleaper",{n,n}},"CyclePolynomial"],{n,k0=1,kmax=10}]/.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,k0,kmax}]

FullSimplify[poly2-poly]

Cyclic

Table[GraphData[{"Fiveleaper",{n,n}},"Cyclic"],{n,10}]

CyclomaticNumber

seq=Table[GraphData[{"Fiveleaper",{n,n}},"CyclomaticNumber"],{n,10}]

FindSequenceFunction[seq,n]

DetourIndex

seq=Table[GraphData[{"Fiveleaper",{n,n}},"DetourIndex"],{n,10}]

FindSequenceFunction[seq,n]

DetourMatrix

MatrixForm/@Table[GraphData[{"Fiveleaper",{n,n}},"DetourMatrix"],{n,10}]

MatrixForm/@Table[SparseArray[{i_,j_}:>Abs[i-j],n],{n,10}]

DetourPolynomial

(poly=Factor[Table[GraphData[{"Fiveleaper",{n,n}},"DetourPolynomial"],{n,k0=1,kmax=10}]/.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,k0,kmax}]

FullSimplify[poly2-poly]

Diameter

seq=Table[GraphData[{"Fiveleaper",{n,n}},"Diameter"],{n,10}]

DistanceMatrix

MatrixForm/@Table[GraphData[{"Fiveleaper",{n,n}},"DistanceMatrix"],{n,10}]

MatrixForm/@Table[SparseArray[{i_,j_}:>Abs[i-j],n],{n,10}]

DistancePolynomial

(poly=Factor[Table[GraphData[{"Fiveleaper",{n,n}},"DistancePolynomial"],{n,k0=1,kmax=10}]/.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,k0,kmax}]

FullSimplify[poly2-poly]

DistinguishingNumber

seq=Table[GraphData[{"Fiveleaper",{n,n}},"DistinguishingNumber"],{n,10}]

DominatingSetCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"DominatingSetCount"],{n,10}]

DominationNumber

seq=Table[GraphData[{"Fiveleaper",{n,n}},"DominationNumber"],{n,10}]

DominationPolynomial

(poly=Factor[Table[GraphData[{"Fiveleaper",{n,n}},"DominationPolynomial"],{n,k0=1,kmax=10}]/.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,k0,kmax}]

FullSimplify[poly2-poly]

EdgeChromaticNumber

seq=Table[GraphData[{"Fiveleaper",{n,n}},"EdgeChromaticNumber"],{n,10}]

FindSequenceFunction[seq,n]-2

gf=x FindGeneratingFunction[seq,x]

EdgeConnectivity

Table[GraphData[{"Fiveleaper",{n,n}},"EdgeConnectivity"],{n,10}]

EdgeCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"EdgeCount"],{n,10}]

seq=Table[EdgeCount[FiveleaperGraph[n,n]],{n,20}]

FindSequenceFunction[seq,n]

gf=x FindGeneratingFunction[seq,x]

Factor/@SeriesCoefficient[gf,{x,0,n}]

Table[Piecewise[{{0,n==1||n==2||n==3||n==4}},2 (24-19 n+3 (n^2))],{n,20}]

EdgeCoverCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"EdgeCoverCount"],{n,10}]

EdgeCoverNumber

seq=Table[GraphData[{"Fiveleaper",{n,n}},"EdgeCoverNumber"],{n,10}]

FindSequenceFunction[seq,n]

x FindGeneratingFunction[seq,x]

EdgeCoverPolynomial

(poly=Factor[Table[GraphData[{"Fiveleaper",{n,n}},"EdgeCoverPolynomial"],{n,k0=1,kmax=10}]/.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,k0,kmax}]

FullSimplify[poly2-poly]

EulerianCycleCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"EulerianCycleCount"],{n,10}]

FaceCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"FaceCount"],{n,10}]

FlowPolynomial

(poly=Factor[Table[GraphData[{"Fiveleaper",{n,n}},"FlowPolynomial"],{n,k0=1,kmax=10}]/.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,k0,kmax}]

FullSimplify[poly2-poly]

FractionalChromaticNumber

seq=Table[GraphData[{"Fiveleaper",{n,n}},"FractionalChromaticNumber"],{n,10}]

RSolve[{a[n]==a[n-1]+1/a[n-1],a[1]==1},a[n],n]

RecurrenceTable[{a[n]==a[n-1]+1/a[n-1],a[1]==1},a,{n,10}]

FractionalEdgeChromaticNumber

seq=Table[GraphData[{"Fiveleaper",{n,n}},"FractionalEdgeChromaticNumber"],{n,10}]

FindSequenceFunction[Drop[seq,3],n-3]

Girth

seq=Table[GraphData[{"Fiveleaper",{n,n}},"Girth"],{n,10}]

Gonality

seq=Table[GraphData[{"Fiveleaper",{n,n}},"Gonality"],{n,10}]

HamiltonConnected

seq=Table[GraphData[{"Fiveleaper",{n,n}},"HamiltonConnected"],{n,10}]

HamiltonDecompositionCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"HamiltonDecompositionCount"],{n,10}]

Hamiltonian

Position[Table[GraphData[{"Fiveleaper",{n,n}},"Hamiltonian"],{n,10}],True]//Flatten

?HamiltonianGraphQ

Do[Print[{n,HamiltonianGraphQ[FiveleaperGraph[n,n]]//Timing}],{n,30}]

?RandomizedHamiltonianGraphQ

Do[Print[{n,RandomizedHamiltonianGraphQ[FiveleaperGraph[n,n],MaxIterations->100]//Timing}],{n,31}]

HamiltonianCycleCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"HamiltonianCycleCount"],{n,10}]

HamiltonianNumber

seq=Table[GraphData[{"Fiveleaper",{n,n}},"HamiltonianNumber"],{n,10}]

FindSequenceFunction[seq,n]

gf=x FindGeneratingFunction[seq,x]

FullSimplify[SeriesCoefficient[gf,{x,0,n}],n>0]

HamiltonianPathCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"HamiltonianPathCount"],{n,10}]

HamiltonianWalkCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"HamiltonianWalkCount"],{n,10}]

HararyIndex

seq=Table[GraphData[{"Fiveleaper",{n,n}},"HararyIndex"],{n,10}]

FindSequenceFunction[seq,n]

FindGeneratingFunction[seq,x]

HexagonCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"HexagonCount"],{n,10}]

FindSequenceFunction[seq,n]

FindSequenceFunction[Drop[seq,3],n-3]

FindGeneratingFunction[seq,x]

IdiosyncraticPolynomial

(poly=Factor[Table[GraphData[{"Fiveleaper",{n,n}},"IdiosyncraticPolynomial"],{n,k0=1,kmax=10}]/.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,k0,kmax}]

FullSimplify[poly2-poly]

IndependenceNumber

seq=Table[GraphData[{"Fiveleaper",{n,n}},"IndependenceNumber"],{n,10}]

FindSequenceFunction[seq,n]

IndependencePolynomial

(poly=Factor[Table[GraphData[{"Fiveleaper",{n,n}},"IndependencePolynomial"],{n,k0=1,kmax=10}]/.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,k0,kmax}]

FullSimplify[poly2-poly]

IndependenceRatio

seq=Table[GraphData[{"Fiveleaper",{n,n}},"IndependenceRatio"],{n,10}]

FindSequenceFunction[seq,n]

IndependentEdgeSetCount

A293149

seq=Table[GraphData[{"Fiveleaper",{n,n}},"IndependentEdgeSetCount"],{n,10}]

IndependentVertexSetCount

A293150

Table[GraphData[{"Fiveleaper",{n,n}},"Connected"],{n,10}]

seq=Table[GraphData[{"Fiveleaper",{n,n}},"IndependentVertexSetCount"],{n,10}]

FindSequenceFunction[seq,n]

FindGeneratingFunction[seq,x]

IntersectionNumber

seq=Table[GraphData[{"Fiveleaper",{n,n}},"IntersectionNumber"],{n,10}]

KirchhoffIndex

seq=Table[GraphData[{"Fiveleaper",{n,n}},"KirchhoffIndex"],{n,10}]

FindSequenceFunction[seq,n]

KirchhoffSumIndex

seq=Table[GraphData[{"Fiveleaper",{n,n}},"KirchhoffSumIndex"],{n,10}]

LaplacianMatrix

MatrixForm/@Table[GraphData[{"Fiveleaper",{n,n}},"LaplacianMatrix"],{n,10}]

LaplacianPolynomial

(poly=Factor[Table[GraphData[{"Fiveleaper",{n,n}},"LaplacianPolynomial"],{n,k0=1,kmax=10}]/.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,k0,kmax}]

FullSimplify[poly2-poly]

LeafCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"LeafCount"],{n,10}]

LongestCycleCount

Table[GraphData[{"Fiveleaper",{n,n}},"LongestPathLength"],{n,10}]

seq=Table[GraphData[{"Fiveleaper",{n,n}},"LongestCycleCount"],{n,10}]

LovaszNumber

seq=Table[GraphData[{"Fiveleaper",{n,n}},"LovaszNumber"],{n,10}]

MatchingGeneratingPolynomial

(poly=Factor[Table[GraphData[{"Fiveleaper",{n,n}},"MatchingGeneratingPolynomial"],{n,k0=1,kmax=10}]/.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,k0,kmax}]

FullSimplify[poly2-poly]

MatchingNumber

seq=Table[GraphData[{"Fiveleaper",{n,n}},"MatchingNumber"],{n,10}]

FindSequenceFunction[seq,n]

gf=x FindGeneratingFunction[seq,x]

FullSimplify[SeriesCoefficient[gf,{x,0,n}],n>0]

MatchingPolynomial

(poly=Factor[Table[GraphData[{"Fiveleaper",{n,n}},"MatchingPolynomial"],{n,k0=1,kmax=10}]/.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,k0,kmax}]

FullSimplify[poly2-poly]

MaximalCliqueCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"MaximalCliqueCount"],{n,10}]

FindSequenceFunction[seq,n]

SeriesCoefficient[FindGeneratingFunction[seq,x],{x,0,n}]

MaximalIndependentEdgeSetCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"MaximalIndependentEdgeSetCount"],{n,10}]

MaximalIndependentVertexSetCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"MaximalIndependentVertexSetCount"],{n,10}]

MaximumCliqueCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"MaximumCliqueCount"],{n,10}]

FindSequenceFunction[seq,n]

SeriesCoefficient[FindGeneratingFunction[seq,x],{x,0,n}]

MaximumIndependentEdgeSetCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"MaximumIndependentEdgeSetCount"],{n,10}]

MaximumIndependentVertexSetCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"MaximumIndependentVertexSetCount"],{n,10}]

MaximumLeafNumber

seq=Table[GraphData[{"Fiveleaper",{n,n}},"MaximumLeafNumber"],{n,10}]

MaximumVertexDegree

seq=Table[GraphData[{"Fiveleaper",{n,n}},"MaximumVertexDegree"],{n,10}]

MeanDistance

seq=Table[GraphData[{"Fiveleaper",{n,n}},"MeanDistance"],{n,10}]

FindSequenceFunction[seq,n]

FindGeneratingFunction[seq,x]

MinimumCliqueCoveringCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"MinimumCliqueCoveringCount"],{n,10}]

MinimumConnectedDominatingSetCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"MinimumConnectedDominatingSetCount"],{n,10}]

FindSequenceFunction[seq,n]

MinimumDistinguishingLabelingCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"MinimumDistinguishingLabelingCount"],{n,10}]

MinimumDominatingSetCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"MinimumDominatingSetCount"],{n,10}]

MinimumEdgeCoverCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"MinimumEdgeCoverCount"],{n,10}]

MinimumVertexDegree

seq=Table[GraphData[{"Fiveleaper",{n,n}},"MinimumVertexDegree"],{n,10}]

MolecularTopologicalIndex

seq=Table[GraphData[{"Fiveleaper",{n,n}},"MolecularTopologicalIndex"],{n,10}]

FindSequenceFunction[seq,n]

FindGeneratingFunction[seq,x]//Factor

Nonhamiltonian

Table[GraphData[{"Fiveleaper",{n,n}},"Nonhamiltonian"],{n,10}]

NormalizedLaplacianMatrix

MatrixForm/@Table[GraphData[{"Fiveleaper",{n,n}},"NormalizedLaplacianMatrix"],{n,10}]

OddChordlessCycleCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"OddChordlessCycleCount"],{n,10}]

PathCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"PathCount"],{n,10}]

FindLinearRecurrence[seq]

FindSequenceFunction[seq,n]

gf=x FindGeneratingFunction[seq,x]

FullSimplify[SeriesCoefficient[gf,{x,0,n}],n>0]

PathPolynomial

(poly=Factor[Table[GraphData[{"Fiveleaper",{n,n}},"PathPolynomial"],{n,k0=1,kmax=10}]/.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,k0,kmax}]

FullSimplify[poly2-poly]

PentagonCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"PentagonCount"],{n,10}]

FindLinearRecurrence[seq]

FindSequenceFunction[seq,n]

gf=x FindGeneratingFunction[seq,x]

FullSimplify[SeriesCoefficient[gf,{x,0,n}],n>0]

Perfect

Table[GraphData[{"Fiveleaper",{n,n}},"Perfect"],{n,10}]

ProjectivePlaneCrossingNumber

seq=Table[GraphData[{"Fiveleaper",{n,n}},"ProjectivePlaneCrossingNumber"],{n,10}]

Radius

seq=Table[GraphData[{"Fiveleaper",{n,n}},"Radius"],{n,10}]

RankPolynomial

(poly=Factor[Table[GraphData[{"Fiveleaper",{n,n}},"RankPolynomial"],{n,k0=1,kmax=10}]/.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,k0,kmax}]

FullSimplify[poly2-poly]

RectilinearCrossingNumber

seq=Table[GraphData[{"Fiveleaper",{n,n}},"RectilinearCrossingNumber"],{n,10}]

ReliabilityPolynomial

(poly=Factor[Table[GraphData[{"Fiveleaper",{n,n}},"ReliabilityPolynomial"],{n,k0=1,kmax=10}]/.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,k0,kmax}]

FullSimplify[poly2-poly]

SigmaPolynomial

(poly=Factor[Table[GraphData[{"Fiveleaper",{n,n}},"SigmaPolynomial"],{n,k0=1,kmax=10}]/.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,k0,kmax}]

FullSimplify[poly2-poly]

SpanningTreeCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"SpanningTreeCount"],{n,10}]

FindSequenceFunction[Take[seq,7],n]

FindGeneratingFunction[Take[seq,7],x]

SquareCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"SquareCount"],{n,10}]

FindSequenceFunction[seq,n]

FindSequenceFunction[Drop[seq,3],n-3]

FindGeneratingFunction[seq,x]

FindLinearRecurrence[Drop[seq,3]]

StabilityIndex

seq=Table[GraphData[{"Fiveleaper",{n,n}},"StabilityIndex"],{n,10}]

FindSequenceFunction[seq,n]

FindGeneratingFunction[seq,x]

TopologicalIndex

seq=Table[GraphData[{"Fiveleaper",{n,n}},"TopologicalIndex"],{n,10}]

FindSequenceFunction[seq,n]

FindGeneratingFunction[seq,x]

ToroidalCrossingNumber

seq=Table[GraphData[{"Fiveleaper",{n,n}},"ToroidalCrossingNumber"],{n,10}]

Traceable

Position[Table[GraphData[{"Fiveleaper",{n,n}},"Traceable"],{n,10}],True]//Flatten

Do[Print[{n,TimeConstrained[TraceableGraphQ[FiveleaperGraph[n,n]],60]//Timing}],{n,10}]

?RandomizedTraceableGraphQ

Do[Print[{n,TimeConstrained[RandomizedTraceableGraphQ[FiveleaperGraph[n,n],MaxIterations->1000],600]//Timing}],{n,30}]

TriangleCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"TriangleCount"],{n,10}]

TuttePolynomial

(poly=Factor[Table[GraphData[{"Fiveleaper",{n,n}},"TuttePolynomial"],{n,k0=1,kmax=10}]/.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,k0,kmax}]

FullSimplify[poly2-poly]

Untraceable

Table[GraphData[{"Fiveleaper",{n,n}},"Untraceable"],{n,10}]

VertexConnectivity

Table[GraphData[{"Fiveleaper",{n,n}},"VertexConnectivity"],{n,10}]

VertexCount

seq=Table[GraphData[{"Fiveleaper",{n,n}},"VertexCount"],{n,10}]

FindSequenceFunction[seq,n]

VertexCoverNumber

vertex cover number == vertex count - independence number

seq=Table[GraphData[{"Fiveleaper",{n,n}},"VertexCoverNumber"],{n,10}]

FindSequenceFunction[seq,n]//FullSimplify

gf=x FindGeneratingFunction[seq,x]

FullSimplify[SeriesCoefficient[gf,{x,0,n}],n>0]

Table[3 (2^(-3+n)),{n,10}]

VertexCoverPolynomial

(poly=Factor[Table[GraphData[{"Fiveleaper",{n,n}},"VertexCoverPolynomial"],{n,k0=1,kmax=10}]/.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,k0,kmax}]

FullSimplify[poly2-poly]

VertexDegrees

seq=Table[GraphData[{"Fiveleaper",{n,n}},"VertexDegrees"],{n,10}]

VertexTransitive

Table[GraphData[{"Fiveleaper",{n,n}},"VertexTransitive"],{n,10}]

WienerIndex

A292040

seq=Table[GraphData[{"Fiveleaper",{n,n}},"WienerIndex"],{n,10}]

Do[Print[{{"Fiveleaper",{n,n}},WienerIndex[FiveleaperGraph[n,n]]//Timing}],{n,50}]

seq={0,∞,∞,∞,∞,∞,∞,6364,9888,15216,22664,32648,45728,62656,84196,111200,144552,185368,234908,294504,365528,449552,548384,663924,798252,953504,1132044,1336532,1569696,1834540,2134116,2471732,2851024,3275772,3750056,4277980,4863920,5512736,6229396,7019180,7887380,8839704,9882348,11021592,12264068,13616520,15086080,16680416,18407280,20274912};

FindLinearRecurrence[Drop[seq,7]]

FindSequenceFunction[Drop[seq,7],n-7]

gf=(x^8)FindGeneratingFunction[Drop[seq,7],x]

WienerSumIndex

seq=Table[GraphData[{"Fiveleaper",{n,n}},"WienerSumIndex"],{n,10}]

FindSequenceFunction[seq,n]

GraphData

GraphData["Fiveleaper"]

GraphDataString

file=OpenAppend["~/fiveleaper.m"]

Square

Do[WriteString[file,GraphDataString[
FiveleaperGraph[n,n],
"Name"->"("<>ToString[n]<>","<>ToString[n]<>")-fiveleaper graph",
"StandardName"->{"Fiveleaper",{n,n}},
"Classes"->{"Fiveleaper"},
"NotationRules"->{"Fiveleaper"->{n,n}},
"Skip"->{"ABCEnergy","ABCSpectralRadius","Arboricity","ArithmeticGeometricEnergy","ArithmeticGeometricSpectralRadius","BetweennessCentralities","BurningNumber","CharacteristicPolynomial","Circumference","CliqueCoveringNumber","ConnectedDominatingSets","ConstructionNumber","ConnectedInducedSubgraphPolynomial","ConnectedInducedSubgraphs","Curvatures","CyclePolynomial","CyclicEdgeConnectivity","DetourMatrix","DominatingSets","EigenvectorCentralities","Embeddings3D","Energy","Genus","GracefulLabeling","HadwigerNumber","HamiltonianPaths","HamiltonianWalk","HamiltonianWalks","HITSCentralities","IdiosyncraticPolynomial","IndependencePolynomial","IrredundacePolynomial","IrredundantSets","KatzCentralities","LinklesslyEmbeddable","LowerMatchingNumber","MatchingGeneratingPolynomial","MatchingPolynomial","MaximalIndependentEdgeSets","MaximalIndependentVertexSet","MaximalIndependentVertexSets","MaximumIndependentEdgeSetCount","MaximumIndependentEdgeSets","MaximumIndependentVertexSet","MaximumIndependentVertexSetCount","MaximumIndependentVertexSets","MaximumIrredundantSets","MetricDimension","Meyniel","MinimumCoveringsByMaximalCliques","MinimumCyclicEdgeCut","MinimumCyclicEdgeCuts","MinimumDominatingSet","MinimumEdgeCuts","MinimumPathCovering","MinimumVertexCover","MinimumVertexCut","MinimumTotalDominatingSet","MinimumWeightFractionalEdgeColoring","MinimumWeightFractionalColoring","Minors","Outerplanar","PageRankCentralities","PathCoveringNumber","PathPolynomial","PathSignature","Paths","ProjectivePlanar","QuadraticEmbeddingConstant","RandicEnergy","RandicSpectralRadius","RectilinearCrossingCount","Skewness","SomborEnergy","SomborSpectralRadius","SpanningTreeCount","TopologicalIndex","TotalDominationPolynomial","TuttePolynomial","VertexCuts"},
TimeConstraint->10
]],{n,18,20}]

Close[file]