Cone Graph

Author

Eric W. Weisstein
August 19, 2024

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

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

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

Special cases

TextGrid[DeleteCases[Flatten[Table[{{m,n},RecognizeGraph@ConeGraph[m,n]},{m,3,20},{n,20}],1],{_,{}}|{{m_,n_},{"Cone",{m_,n_}}}],Dividers->All]

Graphics

<<MathWorld`Graphs`

GraphicsGrid[Table[Show[(g=ConeGraph[m,n])//StyleGraphs,LabelStyle->Directive[Black,FontFamily->"Times"],PlotLabel->TextCell[Column[{Row[{Subscript["C",m],"+",Subscript[OverBar["K"],n]}/.s_String?(StringMatchQ[LetterCharacter]):>Style[s,Italic]],Style[GraphData[RecognizeGraph[g],"Name"],Italic]},Alignment->Center]]],{m,3,6},{n,4}],Dividers->All,Alignment->{Center,Top},ImageSize->700]

Embedding types

?ConeGraph

3D

ConeGraph[5,6,GraphLayout->"3D"]

Rings

ConeGraph[5,6,GraphLayout->{"Rings","Radius"->#}]&/@{1/2,5/2}

Embeddings

<<MathWorld`Graphs`

TextGrid[Sort[{GraphData[#,"NotationRules","Cone"],#}&/@GraphData["Cone"]],Dividers->All]

GraphData["Cone*"]

{"Cone", {5, 1}} == {"Wheel", 6}

Names

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

{"Cone", {5, 2}} == {"Dipyramid", 5}

Names

GraphData[{"Cone",{5,2}},"StandardName"]

{"Cone", {5, 3}}

Names

GraphData[{"Cone",{5,3}},"StandardName"]

GraphData[{"Cone",{5,3}},"StandardNames"]

Primary

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

All

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{5,3}},"EdgeList"]]

Default embedding

GraphPlot@RotateGraph[Graph@GraphData[{"Cone",{5,3}},"Edges"],-Pi/2]

v=Join[CirclePoints[5],CirclePoints[1/2,3]];
g=Graph[Range[Length[v]],UndirectedEdge@@@{e[1,2,3,4,5,1,6,3,8,5,6,2,7,4,8,1,7,5],{4,6},{2,8},{3,7}},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

v[[2,2]]

v=Join[CirclePoints[5],CirclePoints[(1/4) (-1+(Sqrt[5])),3]];
g=Graph[Range[Length[v]],UndirectedEdge@@@{e[1,2,3,4,5,1,6,3,8,5,6,2,7,4,8,1,7,5],{4,6},{2,8},{3,7}},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

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

Bilateral

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

Circular

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

Planar

GraphData[{"Cone",{5,3}},"Planar"]

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

MinimalCrossing

GraphData[{"Cone",{5,3}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

(cn=CrossingNumber[GraphData[{"Cone",{5,3}}],TimeConstraint->60])//AbsoluteTiming

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

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

(cn=CrossingNumber[GraphData[{"Cone",{5,3}}],TimeConstraint->86400])//AbsoluteTiming

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

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

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

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

GraphPlot@RotateGraph[,-2Pi/3]

v={{-1,0},{1,0},{0,Sqrt[3]},{-1/4,1/4},{1/4,1/4},{-1/4,3/4},{0,3/4},{1/4,3/4}};
g=Graph[Range[Length[v]],UndirectedEdge@@@{e[1,2,3,1,5,6,7,8,4,1,6,3,8,2,5,8],e[3,7,4,2],{4,6},{5,7}},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

LocalCrossingCount@g

MinimalLocalCrossing

GraphData[{"Cone",{5,3}},"LocalCrossingNumber"]

GraphData[{"Cone",{5,3}},"Graph","MinimalLocalCrossing"]//StyleGraphs

MinimalLocalCrossing construction

AdjacentCrossingsQ[g_Graph,cn_Integer]:=Module[{a=AdjacencyList[g],n=VertexCount[g]-cn},Max[Take[a,-cn]]>n]

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

Select[Table[MinimalCrossingGraph[GraphData[{"Cone",{5,3}}],"CrossingNumber"->cn,RandomSeed->i],{i,20000}],!AdjacentCrossingsQ[#,cn]&]//Union//Timing

Select[Table[MinimalCrossingGraph[GraphData[{"Cone",{5,3}}],"CrossingNumber"->(cn=5),RandomSeed->i],{i,20000}],!AdjacentCrossingsQ[#,cn]&]//Union//Timing

Select[Table[MinimalCrossingGraph[GraphData[{"Cone",{5,3}}],"CrossingNumber"->(cn=6),RandomSeed->i],{i,20000}],!AdjacentCrossingsQ[#,cn]&]//Union//Timing

Select[Table[MinimalCrossingGraph[GraphData[{"Cone",{5,3}}],"CrossingNumber"->(cn=7),RandomSeed->i],{i,20000}],!AdjacentCrossingsQ[#,cn]&]//Union//Timing

Select[Table[MinimalCrossingGraph[GraphData[{"Cone",{5,3}}],"CrossingNumber"->(cn=8),RandomSeed->i],{i,20000}],!AdjacentCrossingsQ[#,cn]&]//Union//Timing

Select[Table[MinimalCrossingGraph[GraphData[{"Cone",{5,3}}],"CrossingNumber"->(cn=9),RandomSeed->i],{i,20000}],!AdjacentCrossingsQ[#,cn]&]//Union//Timing

Select[Table[MinimalCrossingGraph[GraphData[{"Cone",{5,3}}],"CrossingNumber"->(cn=10),RandomSeed->i],{i,20000}],!AdjacentCrossingsQ[#,cn]&]//Union//Timing

Circulant

GraphData[{"Cone",{5,3}},"Circulant"]

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

Halin

GraphData[{"Cone",{5,3}},"Halin"]

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

LCF

GraphData[{"Cone",{5,3}},"LCF"]

GraphData[{"Cone",{5,3}},"LCFSignature"]

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

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

LCF compute all

Divisors[GraphData[{"Cone",{5,3}},"V"]]

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

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

lcf

LCFGraph@@@lcf//StyleGraphs

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

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

UnitDistance

GraphData[{"Cone",{5,3}},"UnitDistance"]

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

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

Matchstick

GraphData[{"Cone",{5,3}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"Cone",{5,3}},"Edges"]]

v=Join[Append[#,0]&/@UnitCirclePoints[5],{0,0,#}&/@{-1,0,1}];
g=Graph[Range[Length[v]],UndirectedEdge@@@{e[1,2,3,4,5,1,7,2],e[4,7,3],{5,7},Sequence@@Table[{i,8},{i,5}],Sequence@@Table[{i,6},{i,5}]},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"Cone",{5,3}},"Polyhedral"]

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

{"Cone", {5, 4}}

GraphData[{"Cone",{5,4}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{5,4}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{5,4}},"Edges"]

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

RecognizeGraph[g]

GraphPlot[GraphData[{"Cone",{5,4}},"Edges"],GraphLayout->"HighDimensionalEmbedding"]

RotateGraph[GraphicsToGraph@,Pi]

v=Join[UnitCirclePoints[5],CirclePoints[1/2,4]];
g=Graph[Range[Length[v]],UndirectedEdge@@@{e[1,2,3,4,5,1,7,3,8,5,9,2,8,4,9,1,8],e[2,6,5,7],e[9,3,6,1],e[6,4,7,2]},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

v=Join[UnitCirclePoints[5],CirclePoints[2,4]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[5],2,1,1],Flatten[Table[{i,j},{i,5},{j,6,9}],1]],VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph@g

Degenerate

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

Bilateral

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

Circular

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

Planar

GraphData[{"Cone",{5,4}},"Planar"]

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

MinimalCrossing

GraphData[{"Cone",{5,4}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

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

GraphPlot[GraphData[{"Cone",{5,4}},"Edges"]]

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"Cone",{5,4}},"Circulant"]

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

Halin

GraphData[{"Cone",{5,4}},"Halin"]

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

LCF

GraphData[{"Cone",{5,4}},"LCF"]

GraphData[{"Cone",{5,4}},"HamiltonianCycleCount"]

GraphData[{"Cone",{5,4}},"LCFSignature"]

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

UnitDistance

GraphData[{"Cone",{5,4}},"UnitDistance"]

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{5,4}},"VertexList"],GraphData[{"Cone",{5,4}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"Cone",{5,4}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"Cone",{5,4}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"Cone",{5,4}},"Polyhedral"]

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

{"Cone", {5, 5}}

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

Primary

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

All

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

Inexact

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

Embedding types

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

Default embedding

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

GraphPlot[GraphData[{"Cone",{5,5}},"Edges"],GraphLayout->"HighDimensionalEmbedding"]

Mean[v[[{2,4}]]]//FullSimplify

v=Join[UnitCirclePoints[5],CirclePoints[(NumericalApproximation[Root, (RowDefault["0.263", FEExpressionsNumericalApproximationElider]), Root[1-20 ((#1)^2)+80 ((#1)^4)&,3], ]),5]];
g=Graph[Range[Length[v]],UndirectedEdge@@@{e[1,2,3,4,5,1,6,2,8,4,10,1,7,3,9,5,6,4],e[9,4,7,2,10,5,8,1],e[10,3,6],e[2,9,1],{5,7},{3,8}},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

v=Join[UnitCirclePoints[5],CirclePoints[{1/2,-Pi/2},5]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[5],2,1,1],Flatten[Table[{i,j},{i,5},{j,6,10}],1]],VertexCoordinates->v,VertexLabels->Automatic]

v=Join[UnitCirclePoints[6],UnitCirclePoints[6,Pi/2]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[6],2,1,1],Flatten[Table[{i,j},{i,6},{j,7,12}],1]],VertexCoordinates->v,VertexLabels->Automatic]

Degenerate

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

Bilateral

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

Circular

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

Planar

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

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

MinimalCrossing

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

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

MinimalCrossing construction

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

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

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

Halin

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

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

LCF

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

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

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

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

UnitDistance

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{5,5}},"VertexList"],GraphData[{"Cone",{5,5}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"Cone", {5, 6}}

GraphData[{"Cone",{5,6}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{5,6}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{5,6}},"Edges"]

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

RecognizeGraph[g]

Degenerate

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

Bilateral

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

Circular

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

Planar

GraphData[{"Cone",{5,6}},"Planar"]

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

MinimalCrossing

GraphData[{"Cone",{5,6}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

Table[MinimalCrossingGraph[GraphData[{"Cone",{5,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[{"Cone",{5,6}},"Circulant"]

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

Halin

GraphData[{"Cone",{5,6}},"Halin"]

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

LCF

GraphData[{"Cone",{5,6}},"LCF"]

GraphData[{"Cone",{5,6}},"HamiltonianCycleCount"]

GraphData[{"Cone",{5,6}},"LCFSignature"]

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

UnitDistance

GraphData[{"Cone",{5,6}},"UnitDistance"]

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{5,6}},"VertexList"],GraphData[{"Cone",{5,6}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"Cone",{5,6}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"Cone",{5,6}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"Cone",{5,6}},"Polyhedral"]

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

{"Cone", {5, 7}}

GraphData[{"Cone",{5,7}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{5,7}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{5,7}},"Edges"]

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

RecognizeGraph[g]

Degenerate

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

Bilateral

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

Circular

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

Planar

GraphData[{"Cone",{5,7}},"Planar"]

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

MinimalCrossing

GraphData[{"Cone",{5,7}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

Table[MinimalCrossingGraph[GraphData[{"Cone",{5,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[{"Cone",{5,7}},"Circulant"]

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

Halin

GraphData[{"Cone",{5,7}},"Halin"]

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

LCF

GraphData[{"Cone",{5,7}},"LCF"]

GraphData[{"Cone",{5,7}},"HamiltonianCycleCount"]

GraphData[{"Cone",{5,7}},"LCFSignature"]

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

UnitDistance

GraphData[{"Cone",{5,7}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{5,7}},"VertexList"],GraphData[{"Cone",{5,7}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"Cone",{5,7}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"Cone",{5,7}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"Cone",{5,7}},"Polyhedral"]

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

{"Cone", {5, 8}}

GraphData[{"Cone",{5,8}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{5,8}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{5,8}},"Edges"]

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

RecognizeGraph[g]

Degenerate

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

Bilateral

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

Circular

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

Planar

GraphData[{"Cone",{5,8}},"Planar"]

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

MinimalCrossing

GraphData[{"Cone",{5,8}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

Table[MinimalCrossingGraph[GraphData[{"Cone",{5,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[{"Cone",{5,8}},"Circulant"]

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

Halin

GraphData[{"Cone",{5,8}},"Halin"]

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

LCF

GraphData[{"Cone",{5,8}},"LCF"]

GraphData[{"Cone",{5,8}},"HamiltonianCycleCount"]

GraphData[{"Cone",{5,8}},"LCFSignature"]

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

UnitDistance

GraphData[{"Cone",{5,8}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{5,8}},"VertexList"],GraphData[{"Cone",{5,8}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"Cone",{5,8}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"Cone",{5,8}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"Cone",{5,8}},"Polyhedral"]

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

{"Cone", {5, 9}}

GraphData[{"Cone",{5,9}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{5,9}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{5,9}},"Edges"]

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

RecognizeGraph[g]

Degenerate

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

Bilateral

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

Circular

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

Planar

GraphData[{"Cone",{5,9}},"Planar"]

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

MinimalCrossing

GraphData[{"Cone",{5,9}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

Table[MinimalCrossingGraph[GraphData[{"Cone",{5,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[{"Cone",{5,9}},"Circulant"]

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

Halin

GraphData[{"Cone",{5,9}},"Halin"]

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

LCF

GraphData[{"Cone",{5,9}},"LCF"]

GraphData[{"Cone",{5,9}},"HamiltonianCycleCount"]

GraphData[{"Cone",{5,9}},"LCFSignature"]

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

UnitDistance

GraphData[{"Cone",{5,9}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{5,9}},"VertexList"],GraphData[{"Cone",{5,9}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"Cone",{5,9}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"Cone",{5,9}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"Cone",{5,9}},"Polyhedral"]

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

{"Cone", {5, 10}}

GraphData[{"Cone",{5,10}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{5,10}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{5,10}},"Edges"]

v=Join[UnitCirclePoints[5],CirclePoints[1/3,10]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[5],2,1,1],Flatten[Table[{i,j},{i,5},{j,6,15}],1]],VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

v=Join[UnitCirclePoints[15][[1+{1,4,7,10,13}]],UnitCirclePoints[15][[{1,3,4,6,7,9,10,12,13,15}]]];
g=RotateGraph[Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[5],2,1,1],Flatten[Table[{i,j},{i,5},{j,6,15}],1]],VertexCoordinates->v,VertexLabels->Automatic],0]

gs={,};

Degenerate

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

Bilateral

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

Circular

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

Planar

GraphData[{"Cone",{5,10}},"Planar"]

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

MinimalCrossing

GraphData[{"Cone",{5,10}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

Table[MinimalCrossingGraph[GraphData[{"Cone",{5,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[{"Cone",{5,10}},"Circulant"]

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

Halin

GraphData[{"Cone",{5,10}},"Halin"]

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

LCF

GraphData[{"Cone",{5,10}},"LCF"]

GraphData[{"Cone",{5,10}},"HamiltonianCycleCount"]

GraphData[{"Cone",{5,10}},"LCFSignature"]

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

UnitDistance

GraphData[{"Cone",{5,10}},"UnitDistance"]

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{5,10}},"VertexList"],GraphData[{"Cone",{5,10}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"Cone",{5,10}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"Cone",{5,10}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"Cone",{5,10}},"Polyhedral"]

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

{"Cone", {6, 1}} == {"Wheel", 7}

Names

GraphData[{"Cone",{6,1}},"StandardName"]

{"Cone", {6, 2}} == {"Dipyramid", 6}

Names

GraphData[{"Cone",{6,2}},"StandardName"]

{"Cone", {6, 3}}

Names

GraphData[{"Cone",{6,3}},"StandardName"]

GraphData[{"Cone",{6,3}},"StandardNames"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{6,3}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{6,3}},"Edges"]

v=Join[UnitCirclePoints[6],CirclePoints[1/2,3]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[6],2,1,1],Flatten[Table[{i,j},{i,6},{j,7,9}],1]],VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

v=Join[UnitCirclePoints[6],CirclePoints[3,3]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[6],2,1,1],Flatten[Table[{i,j},{i,6},{j,7,9}],1]],VertexCoordinates->v,VertexLabels->Automatic]

v=Join[UnitCirclePoints[9][[{1,2,4,5,7,8}]],UnitCirclePoints[9][[{3,6,9}]]];
g=RotateGraph[Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[6],2,1,1],Flatten[Table[{i,j},{i,6},{j,7,9}],1]],VertexCoordinates->v,VertexLabels->Automatic],-2Pi/9]

Degenerate

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

Bilateral

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

Circular

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

Planar

GraphData[{"Cone",{6,3}},"Planar"]

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

MinimalCrossing

GraphData[{"Cone",{6,3}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"Cone",{6,3}},"Circulant"]

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

Halin

GraphData[{"Cone",{6,3}},"Halin"]

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

LCF

GraphData[{"Cone",{6,3}},"LCF"]

GraphData[{"Cone",{6,3}},"HamiltonianCycleCount"]

GraphData[{"Cone",{6,3}},"LCFSignature"]

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

UnitDistance

GraphData[{"Cone",{6,3}},"UnitDistance"]

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{6,3}},"VertexList"],GraphData[{"Cone",{6,3}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"Cone",{6,3}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"Cone",{6,3}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"Cone",{6,3}},"Polyhedral"]

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

{"Cone", {6, 4}}

GraphData[{"Cone",{6,4}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{6,4}},"EdgeList"]]

Default embedding

GraphPlot[GraphData[{"Cone",{6,4}},"Edges"],GraphLayout->"HighDimensionalEmbedding"]

GraphPlot@GraphData[{"Cone",{6,4}},"Edges"]

GraphPlot@RotateGraph[GraphicsToGraph@,Pi/6]

v=Join[UnitCirclePoints[6,-Pi/2],CirclePoints[1/3,4]];
g=Graph[Range[Length[v]],UndirectedEdge@@@{e[1,2,3,4,5,6,1,7,3,8,4,9,6,10,1,8,2,10,3,9,5,8,6,7,2],e[10,5,7,4,10],e[1,9,2]},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

v=Join[UnitCirclePoints[6,-Pi/2],CirclePoints[5/2,4]];
g=Graph[Range[Length[v]],UndirectedEdge@@@{e[1,2,3,4,5,6,1,7,3,8,4,9,6,10,1,8,2,10,3,9,5,8,6,7,2],e[10,5,7,4,10],e[1,9,2]},VertexCoordinates->v,VertexLabels->Automatic]

Degenerate

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

Bilateral

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

Circular

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

Planar

GraphData[{"Cone",{6,4}},"Planar"]

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

MinimalCrossing

GraphData[{"Cone",{6,4}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"Cone",{6,4}},"Circulant"]

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

Halin

GraphData[{"Cone",{6,4}},"Halin"]

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

LCF

GraphData[{"Cone",{6,4}},"LCF"]

GraphData[{"Cone",{6,4}},"HamiltonianCycleCount"]

GraphData[{"Cone",{6,4}},"LCFSignature"]

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

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

LCF compute

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

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

LCFGraph@@@lcf//StyleGraphs

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

UnitDistance

GraphData[{"Cone",{6,4}},"UnitDistance"]

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{6,4}},"VertexList"],GraphData[{"Cone",{6,4}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"Cone",{6,4}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"Cone",{6,4}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"Cone",{6,4}},"Polyhedral"]

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

{"Cone", {6, 5}}

GraphData[{"Cone",{6,5}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{6,5}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{6,5}},"Edges"]

v=Join[UnitCirclePoints[6],CirclePoints[1/3,5]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[6],2,1,1],Flatten[Table[{i,j},{i,6},{j,7,11}],1]],VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

v=Join[UnitCirclePoints[6],CirclePoints[2,5]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[6],2,1,1],Flatten[Table[{i,j},{i,6},{j,7,11}],1]],VertexCoordinates->v,VertexLabels->Automatic]

Degenerate

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

Bilateral

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

Circular

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

Planar

GraphData[{"Cone",{6,5}},"Planar"]

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

MinimalCrossing

GraphData[{"Cone",{6,5}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"Cone",{6,5}},"Circulant"]

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

Halin

GraphData[{"Cone",{6,5}},"Halin"]

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

LCF

GraphData[{"Cone",{6,5}},"LCF"]

GraphData[{"Cone",{6,5}},"HamiltonianCycleCount"]

GraphData[{"Cone",{6,5}},"LCFSignature"]

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

UnitDistance

GraphData[{"Cone",{6,5}},"UnitDistance"]

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{6,5}},"VertexList"],GraphData[{"Cone",{6,5}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

GraphData[{"Cone",{6,5}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"Cone",{6,5}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"Cone",{6,5}},"Polyhedral"]

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

{"Cone", {6, 6}}

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

Primary

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

All

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

Inexact

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

Embedding types

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

Default embedding

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

v=Join[UnitCirclePoints[6],CirclePoints[{2/3,Pi/2},6]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[6],2,1,1],Flatten[Table[{i,j},{i,6},{j,7,12}],1]],VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

v=Join[UnitCirclePoints[6],UnitCirclePoints[6,Pi/2]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[6],2,1,1],Flatten[Table[{i,j},{i,6},{j,7,12}],1]],VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph@%

Degenerate

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

Bilateral

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

Circular

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

Planar

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

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

Tutte embedding construction

GraphPlot[RotateGraph[]]

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

RecognizeGraph[g]

MinimalCrossing

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

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

MinimalCrossing construction

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

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

Table[MinimalCrossingGraph[GraphData[{"Cone",{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[{"Cone",{6,6}},"Circulant"]

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

Halin

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

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

LCF

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

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

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

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

UnitDistance

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{6,6}},"VertexList"],GraphData[{"Cone",{6,6}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"Cone", {6, 7}}

GraphData[{"Cone",{6,7}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{6,7}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{6,7}},"Edges"]

v=Join[UnitCirclePoints[6],CirclePoints[1/3,5]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[6],2,1,1],Flatten[Table[{i,j},{i,6},{j,7,11}],1]],VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

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

Bilateral

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

Circular

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

Planar

GraphData[{"Cone",{6,7}},"Planar"]

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

MinimalCrossing

GraphData[{"Cone",{6,7}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

Table[MinimalCrossingGraph[GraphData[{"Cone",{6,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[{"Cone",{6,7}},"Circulant"]

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

Halin

GraphData[{"Cone",{6,7}},"Halin"]

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

LCF

GraphData[{"Cone",{6,7}},"LCF"]

GraphData[{"Cone",{6,7}},"HamiltonianCycleCount"]

GraphData[{"Cone",{6,7}},"LCFSignature"]

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

UnitDistance

GraphData[{"Cone",{6,7}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{6,7}},"VertexList"],GraphData[{"Cone",{6,7}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"Cone",{6,7}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"Cone",{6,7}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"Cone",{6,7}},"Polyhedral"]

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

{"Cone", {6, 8}}

GraphData[{"Cone",{6,8}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{6,8}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{6,8}},"Edges"]

v=Join[UnitCirclePoints[6],CirclePoints[1/3,8]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[6],2,1,1],Flatten[Table[{i,j},{i,6},{j,7,14}],1]],VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

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

Bilateral

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

Circular

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

Planar

GraphData[{"Cone",{6,8}},"Planar"]

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

MinimalCrossing

GraphData[{"Cone",{6,8}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

Table[MinimalCrossingGraph[GraphData[{"Cone",{6,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[{"Cone",{6,8}},"Circulant"]

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

Halin

GraphData[{"Cone",{6,8}},"Halin"]

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

LCF

GraphData[{"Cone",{6,8}},"LCF"]

GraphData[{"Cone",{6,8}},"HamiltonianCycleCount"]

GraphData[{"Cone",{6,8}},"LCFSignature"]

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

UnitDistance

GraphData[{"Cone",{6,8}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{6,8}},"VertexList"],GraphData[{"Cone",{6,8}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"Cone",{6,8}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"Cone",{6,8}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"Cone",{6,8}},"Polyhedral"]

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

{"Cone", {6, 9}}

GraphData[{"Cone",{6,9}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{6,9}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{6,9}},"Edges"]

v=Join[UnitCirclePoints[6],CirclePoints[1/3,5]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[6],2,1,1],Flatten[Table[{i,j},{i,6},{j,7,11}],1]],VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

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

Bilateral

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

Circular

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

Planar

GraphData[{"Cone",{6,9}},"Planar"]

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

MinimalCrossing

GraphData[{"Cone",{6,9}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

Table[MinimalCrossingGraph[GraphData[{"Cone",{6,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[{"Cone",{6,9}},"Circulant"]

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

Halin

GraphData[{"Cone",{6,9}},"Halin"]

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

LCF

GraphData[{"Cone",{6,9}},"LCF"]

GraphData[{"Cone",{6,9}},"HamiltonianCycleCount"]

GraphData[{"Cone",{6,9}},"LCFSignature"]

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

UnitDistance

GraphData[{"Cone",{6,9}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{6,9}},"VertexList"],GraphData[{"Cone",{6,9}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"Cone",{6,9}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"Cone",{6,9}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"Cone",{6,9}},"Polyhedral"]

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

{"Cone", {6, 10}}

GraphData[{"Cone",{6,10}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{6,10}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{6,10}},"Edges"]

v=Join[UnitCirclePoints[6],CirclePoints[1/3,5]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[6],2,1,1],Flatten[Table[{i,j},{i,6},{j,7,11}],1]],VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

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

Bilateral

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

Circular

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

Planar

GraphData[{"Cone",{6,10}},"Planar"]

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

MinimalCrossing

GraphData[{"Cone",{6,10}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

Table[MinimalCrossingGraph[GraphData[{"Cone",{6,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[{"Cone",{6,10}},"Circulant"]

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

Halin

GraphData[{"Cone",{6,10}},"Halin"]

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

LCF

GraphData[{"Cone",{6,10}},"LCF"]

GraphData[{"Cone",{6,10}},"HamiltonianCycleCount"]

GraphData[{"Cone",{6,10}},"LCFSignature"]

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

UnitDistance

GraphData[{"Cone",{6,10}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{6,10}},"VertexList"],GraphData[{"Cone",{6,10}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"Cone",{6,10}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"Cone",{6,10}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"Cone",{6,10}},"Polyhedral"]

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

{"Cone", {7, 3}}

GraphData[{"Cone",{7,3}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{7,3}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{7,3}},"Edges"]

v=Join[UnitCirclePoints[7],CirclePoints[1/3,3]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[7],2,1,1],Flatten[Table[{i,j},{i,7},{j,8,10}],1]],VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

v=Join[UnitCirclePoints[7],CirclePoints[3,3]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[7],2,1,1],Flatten[Table[{i,j},{i,7},{j,8,10}],1]],VertexCoordinates->v,VertexLabels->Automatic]

gs={,};

Degenerate

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

Bilateral

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

Circular

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

Planar

GraphData[{"Cone",{7,3}},"Planar"]

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

MinimalCrossing

GraphData[{"Cone",{7,3}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"Cone",{7,3}},"Circulant"]

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

Halin

GraphData[{"Cone",{7,3}},"Halin"]

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

LCF

GraphData[{"Cone",{7,3}},"LCF"]

GraphData[{"Cone",{7,3}},"HamiltonianCycleCount"]

GraphData[{"Cone",{7,3}},"LCFSignature"]

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

UnitDistance

GraphData[{"Cone",{7,3}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{7,3}},"VertexList"],GraphData[{"Cone",{7,3}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"Cone",{7,3}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"Cone",{7,3}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"Cone",{7,3}},"Polyhedral"]

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

{"Cone", {7, 4}}

GraphData[{"Cone",{7,4}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{7,4}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{7,4}},"Edges"]

v=Join[UnitCirclePoints[7],CirclePoints[1/2,4]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[7],2,1,1],Flatten[Table[{i,j},{i,7},{j,8,11}],1]],VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

v=Join[UnitCirclePoints[7],CirclePoints[4,4]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[7],2,1,1],Flatten[Table[{i,j},{i,7},{j,8,11}],1]],VertexCoordinates->v,VertexLabels->Automatic]

gs={,};

Degenerate

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

Bilateral

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

Circular

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

Planar

GraphData[{"Cone",{7,4}},"Planar"]

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

MinimalCrossing

GraphData[{"Cone",{7,4}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"Cone",{7,4}},"Circulant"]

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

Halin

GraphData[{"Cone",{7,4}},"Halin"]

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

LCF

GraphData[{"Cone",{7,4}},"LCF"]

GraphData[{"Cone",{7,4}},"HamiltonianCycleCount"]

GraphData[{"Cone",{7,4}},"LCFSignature"]

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

UnitDistance

GraphData[{"Cone",{7,4}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{7,4}},"VertexList"],GraphData[{"Cone",{7,4}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"Cone",{7,4}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"Cone",{7,4}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"Cone",{7,4}},"Polyhedral"]

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

{"Cone", {7, 5}}

GraphData[{"Cone",{7,5}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{7,5}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{7,5}},"Edges"]

g1=ConeGraph[Sequence@@{"Cone",{7,5}}[[2]],GraphLayout->{"Rings","Radius"->3/4}]

RecognizeGraph[g1]

g2=ConeGraph[Sequence@@{"Cone",{7,5}}[[2]],GraphLayout->{"Rings","Radius"->2}]

RecognizeGraph[g2]

gs={g1,g2}

Degenerate

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

Bilateral

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

Circular

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

Planar

GraphData[{"Cone",{7,5}},"Planar"]

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

MinimalCrossing

GraphData[{"Cone",{7,5}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"Cone",{7,5}},"Circulant"]

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

Halin

GraphData[{"Cone",{7,5}},"Halin"]

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

LCF

GraphData[{"Cone",{7,5}},"LCF"]

GraphData[{"Cone",{7,5}},"HamiltonianCycleCount"]

GraphData[{"Cone",{7,5}},"LCFSignature"]

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

UnitDistance

GraphData[{"Cone",{7,5}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{7,5}},"VertexList"],GraphData[{"Cone",{7,5}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"Cone",{7,5}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"Cone",{7,5}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"Cone",{7,5}},"Polyhedral"]

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

{"Cone", {7, 6}}

GraphData[{"Cone",{7,6}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{7,6}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{7,6}},"Edges"]

g1=ConeGraph[Sequence@@{"Cone",{7,6}}[[2]],GraphLayout->{"Rings","Radius"->3/4}]

RecognizeGraph[g1]

g2=ConeGraph[Sequence@@{"Cone",{7,6}}[[2]],GraphLayout->{"Rings","Radius"->5/2}]

RecognizeGraph[g2]

gs={g1,g2,RotateGraph[,11Pi/13]}

Degenerate

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

Bilateral

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

Circular

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

Planar

GraphData[{"Cone",{7,6}},"Planar"]

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

MinimalCrossing

GraphData[{"Cone",{7,6}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

Table[MinimalCrossingGraph[GraphData[{"Cone",{7,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[{"Cone",{7,6}},"Circulant"]

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

Halin

GraphData[{"Cone",{7,6}},"Halin"]

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

LCF

GraphData[{"Cone",{7,6}},"LCF"]

GraphData[{"Cone",{7,6}},"HamiltonianCycleCount"]

GraphData[{"Cone",{7,6}},"LCFSignature"]

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

UnitDistance

GraphData[{"Cone",{7,6}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{7,6}},"VertexList"],GraphData[{"Cone",{7,6}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"Cone",{7,6}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"Cone",{7,6}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"Cone",{7,6}},"Polyhedral"]

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

{"Cone", {7, 7}}

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

Primary

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

All

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

Inexact

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

Embedding types

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

Default embedding

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

v=Join[UnitCirclePoints[7],CirclePoints[2/3,7]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[7],2,1,1],Flatten[Table[{i,j},{i,7},{j,8,14}],1]],VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

v=Join[UnitCirclePoints[7],CirclePoints[{2/3,-Pi/2},7]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[7],2,1,1],Flatten[Table[{i,j},{i,7},{j,8,14}],1]],VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

gs={,};

Degenerate

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

Bilateral

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

Circular

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

Planar

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

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

MinimalCrossing

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

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

MinimalCrossing construction

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

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

Table[MinimalCrossingGraph[GraphData[{"Cone",{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[{"Cone",{7,7}},"Circulant"]

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

Halin

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

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

LCF

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

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

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

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

UnitDistance

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{7,7}},"VertexList"],GraphData[{"Cone",{7,7}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"Cone", {7, 8}}

GraphData[{"Cone",{7,8}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{7,8}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{7,8}},"Edges"]

g1=ConeGraph[Sequence@@{"Cone",{7,8}}[[2]],GraphLayout->{"Rings","Radius"->3/4}]

RecognizeGraph[g1]

g2=ConeGraph[Sequence@@{"Cone",{7,8}}[[2]],GraphLayout->{"Rings","Radius"->2}]

RecognizeGraph[g2]

gs={g1,g2}

Degenerate

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

Bilateral

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

Circular

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

Planar

GraphData[{"Cone",{7,8}},"Planar"]

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

MinimalCrossing

GraphData[{"Cone",{7,8}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

Table[MinimalCrossingGraph[GraphData[{"Cone",{7,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[{"Cone",{7,8}},"Circulant"]

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

Halin

GraphData[{"Cone",{7,8}},"Halin"]

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

LCF

GraphData[{"Cone",{7,8}},"LCF"]

GraphData[{"Cone",{7,8}},"HamiltonianCycleCount"]

GraphData[{"Cone",{7,8}},"LCFSignature"]

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

UnitDistance

GraphData[{"Cone",{7,8}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{7,8}},"VertexList"],GraphData[{"Cone",{7,8}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"Cone",{7,8}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"Cone",{7,8}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"Cone",{7,8}},"Polyhedral"]

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

{"Cone", {7, 9}}

GraphData[{"Cone",{7,9}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{7,9}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{7,9}},"Edges"]

g1=ConeGraph[Sequence@@{"Cone",{7,9}}[[2]],GraphLayout->{"Rings","Radius"->3/4}]

RecognizeGraph[g1]

g2=ConeGraph[Sequence@@{"Cone",{7,9}}[[2]],GraphLayout->{"Rings","Radius"->2}]

RecognizeGraph[g2]

gs={g1,g2}

Degenerate

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

Bilateral

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

Circular

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

Planar

GraphData[{"Cone",{7,9}},"Planar"]

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

MinimalCrossing

GraphData[{"Cone",{7,9}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

Table[MinimalCrossingGraph[GraphData[{"Cone",{7,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[{"Cone",{7,9}},"Circulant"]

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

Halin

GraphData[{"Cone",{7,9}},"Halin"]

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

LCF

GraphData[{"Cone",{7,9}},"LCF"]

GraphData[{"Cone",{7,9}},"HamiltonianCycleCount"]

GraphData[{"Cone",{7,9}},"LCFSignature"]

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

UnitDistance

GraphData[{"Cone",{7,9}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{7,9}},"VertexList"],GraphData[{"Cone",{7,9}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"Cone",{7,9}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"Cone",{7,9}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"Cone",{7,9}},"Polyhedral"]

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

{"Cone", {7, 10}}

GraphData[{"Cone",{7,10}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{7,10}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{7,10}},"Edges"]

g1=ConeGraph[Sequence@@{"Cone",{7,10}}[[2]],GraphLayout->{"Rings","Radius"->3/4}]

RecognizeGraph[g1]

g2=ConeGraph[Sequence@@{"Cone",{7,10}}[[2]],GraphLayout->{"Rings","Radius"->2}]

RecognizeGraph[g2]

gs={g1,g2}

Degenerate

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

Bilateral

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

Circular

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

Planar

GraphData[{"Cone",{7,10}},"Planar"]

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

MinimalCrossing

GraphData[{"Cone",{7,10}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

Table[MinimalCrossingGraph[GraphData[{"Cone",{7,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[{"Cone",{7,10}},"Circulant"]

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

Halin

GraphData[{"Cone",{7,10}},"Halin"]

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

LCF

GraphData[{"Cone",{7,10}},"LCF"]

GraphData[{"Cone",{7,10}},"HamiltonianCycleCount"]

GraphData[{"Cone",{7,10}},"LCFSignature"]

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

UnitDistance

GraphData[{"Cone",{7,10}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{7,10}},"VertexList"],GraphData[{"Cone",{7,10}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"Cone",{7,10}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"Cone",{7,10}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"Cone",{7,10}},"Polyhedral"]

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

{"Cone", {8, 3}}

GraphData[{"Cone",{8,3}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{8,3}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{8,3}},"Edges"]

g1=ConeGraph[Sequence@@{"Cone",{8,3}}[[2]],GraphLayout->{"Rings","Radius"->1/2}]

RecognizeGraph[g1]

g2=ConeGraph[Sequence@@{"Cone",{8,3}}[[2]],GraphLayout->{"Rings","Radius"->5/2}]

RecognizeGraph[g2]

gs={g1,g2}

Degenerate

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

Bilateral

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

Circular

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

Planar

GraphData[{"Cone",{8,3}},"Planar"]

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

MinimalCrossing

GraphData[{"Cone",{8,3}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"Cone",{8,3}},"Circulant"]

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

Halin

GraphData[{"Cone",{8,3}},"Halin"]

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

LCF

GraphData[{"Cone",{8,3}},"LCF"]

GraphData[{"Cone",{8,3}},"HamiltonianCycleCount"]

GraphData[{"Cone",{8,3}},"LCFSignature"]

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

UnitDistance

GraphData[{"Cone",{8,3}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{8,3}},"VertexList"],GraphData[{"Cone",{8,3}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"Cone",{8,3}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"Cone",{8,3}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"Cone",{8,3}},"Polyhedral"]

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

{"Cone", {8, 4}}

GraphData[{"Cone",{8,4}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{8,4}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{8,4}},"Edges"]

g1=ConeGraph[Sequence@@{"Cone",{8,4}}[[2]],GraphLayout->{"Rings","Radius"->3/4}]

RecognizeGraph[g1]

g2=ConeGraph[Sequence@@{"Cone",{8,4}}[[2]],GraphLayout->{"Rings","Radius"->2}]

RecognizeGraph[g2]

gs={g1,g2}

part=Transpose[Partition[Range[12],3]]

ind=Flatten[{Union@@Take[part,2],Last[part]}]

v=UnitCirclePoints[12,2Pi/12][[ind]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[8],2,1,1],Flatten[Table[{i,j},{i,8},{j,9,12}],1]],VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

BilateralGraphEmbeddingQ@g

Degenerate

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

Bilateral

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

Circular

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

Planar

GraphData[{"Cone",{8,4}},"Planar"]

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

MinimalCrossing

GraphData[{"Cone",{8,4}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"Cone",{8,4}},"Circulant"]

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

Halin

GraphData[{"Cone",{8,4}},"Halin"]

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

LCF

GraphData[{"Cone",{8,4}},"LCF"]

GraphData[{"Cone",{8,4}},"HamiltonianCycleCount"]

GraphData[{"Cone",{8,4}},"LCFSignature"]

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

UnitDistance

GraphData[{"Cone",{8,4}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{8,4}},"VertexList"],GraphData[{"Cone",{8,4}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"Cone",{8,4}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"Cone",{8,4}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"Cone",{8,4}},"Polyhedral"]

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

{"Cone", {8, 5}}

GraphData[{"Cone",{8,5}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{8,5}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{8,5}},"Edges"]

g1=ConeGraph[Sequence@@{"Cone",{8,5}}[[2]],GraphLayout->{"Rings","Radius"->3/4}]

RecognizeGraph[g1]

g2=ConeGraph[Sequence@@{"Cone",{8,5}}[[2]],GraphLayout->{"Rings","Radius"->5/2}]

RecognizeGraph[g2]

gs={g1,g2}

Degenerate

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

Bilateral

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

Circular

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

Planar

GraphData[{"Cone",{8,5}},"Planar"]

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

MinimalCrossing

GraphData[{"Cone",{8,5}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"Cone",{8,5}},"Circulant"]

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

Halin

GraphData[{"Cone",{8,5}},"Halin"]

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

LCF

GraphData[{"Cone",{8,5}},"LCF"]

GraphData[{"Cone",{8,5}},"HamiltonianCycleCount"]

GraphData[{"Cone",{8,5}},"LCFSignature"]

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

UnitDistance

GraphData[{"Cone",{8,5}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{8,5}},"VertexList"],GraphData[{"Cone",{8,5}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"Cone",{8,5}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"Cone",{8,5}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"Cone",{8,5}},"Polyhedral"]

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

{"Cone", {8, 6}}

GraphData[{"Cone",{8,6}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{8,6}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{8,6}},"Edges"]

g1=ConeGraph[Sequence@@{"Cone",{8,6}}[[2]],GraphLayout->{"Rings","Radius"->1/2}]

RecognizeGraph[g1]

g2=ConeGraph[Sequence@@{"Cone",{8,6}}[[2]],GraphLayout->{"Rings","Radius"->2}]

RecognizeGraph[g2]

gs={g1,g2}

Degenerate

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

Bilateral

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

Circular

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

Planar

GraphData[{"Cone",{8,6}},"Planar"]

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

MinimalCrossing

GraphData[{"Cone",{8,6}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

Table[MinimalCrossingGraph[GraphData[{"Cone",{8,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[{"Cone",{8,6}},"Circulant"]

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

Halin

GraphData[{"Cone",{8,6}},"Halin"]

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

LCF

GraphData[{"Cone",{8,6}},"LCF"]

GraphData[{"Cone",{8,6}},"HamiltonianCycleCount"]

GraphData[{"Cone",{8,6}},"LCFSignature"]

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

LCF compute

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

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

LCFGraph@@@lcf//StyleGraphs

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

UnitDistance

GraphData[{"Cone",{8,6}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{8,6}},"VertexList"],GraphData[{"Cone",{8,6}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"Cone",{8,6}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"Cone",{8,6}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"Cone",{8,6}},"Polyhedral"]

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

{"Cone", {8, 7}}

GraphData[{"Cone",{8,7}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{8,7}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{8,7}},"Edges"]

g1=ConeGraph[Sequence@@{"Cone",{8,7}}[[2]],GraphLayout->{"Rings","Radius"->1/2}]

RecognizeGraph[g1]

g2=ConeGraph[Sequence@@{"Cone",{8,7}}[[2]],GraphLayout->{"Rings","Radius"->2}]

RecognizeGraph[g2]

gs={g1,g2}

Degenerate

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

Bilateral

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

Circular

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

Planar

GraphData[{"Cone",{8,7}},"Planar"]

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

MinimalCrossing

GraphData[{"Cone",{8,7}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

Table[MinimalCrossingGraph[GraphData[{"Cone",{8,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[{"Cone",{8,7}},"Circulant"]

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

Halin

GraphData[{"Cone",{8,7}},"Halin"]

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

LCF

GraphData[{"Cone",{8,7}},"LCF"]

GraphData[{"Cone",{8,7}},"HamiltonianCycleCount"]

GraphData[{"Cone",{8,7}},"LCFSignature"]

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

UnitDistance

GraphData[{"Cone",{8,7}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{8,7}},"VertexList"],GraphData[{"Cone",{8,7}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"Cone",{8,7}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"Cone",{8,7}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"Cone",{8,7}},"Polyhedral"]

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

{"Cone", {8, 8}}

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

Primary

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

All

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

Inexact

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

Embedding types

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

Default embedding

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

v=Join[UnitCirclePoints[8],CirclePoints[{1/2,Pi/2},8]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[8],2,1,1],Flatten[Table[{i,j},{i,8},{j,9,16}],1]],VertexCoordinates->v]

RecognizeGraph[g]

v=Join[UnitCirclePoints[8],UnitCirclePoints[8,Pi/2]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[8],2,1,1],Flatten[Table[{i,j},{i,8},{j,9,16}],1]],VertexCoordinates->v]

RecognizeGraph[g]

BilateralGraphEmbeddingQ@g

Degenerate

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

Bilateral

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

Circular

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

Planar

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

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

MinimalCrossing

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

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

MinimalCrossing construction

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

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

Table[MinimalCrossingGraph[GraphData[{"Cone",{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[{"Cone",{8,8}},"Circulant"]

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

Halin

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

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

LCF

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

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

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

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

UnitDistance

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{8,8}},"VertexList"],GraphData[{"Cone",{8,8}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"Cone", {8, 9}}

GraphData[{"Cone",{8,9}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{8,9}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{8,9}},"Edges"]

g1=ConeGraph[Sequence@@{"Cone",{8,9}}[[2]],GraphLayout->{"Rings","Radius"->3/4}]

RecognizeGraph[g1]

g2=ConeGraph[Sequence@@{"Cone",{8,9}}[[2]],GraphLayout->{"Rings","Radius"->2}]

RecognizeGraph[g2]

gs={g1,g2}

Degenerate

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

Bilateral

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

Circular

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

Planar

GraphData[{"Cone",{8,9}},"Planar"]

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

MinimalCrossing

GraphData[{"Cone",{8,9}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

Table[MinimalCrossingGraph[GraphData[{"Cone",{8,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[{"Cone",{8,9}},"Circulant"]

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

Halin

GraphData[{"Cone",{8,9}},"Halin"]

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

LCF

GraphData[{"Cone",{8,9}},"LCF"]

GraphData[{"Cone",{8,9}},"HamiltonianCycleCount"]

GraphData[{"Cone",{8,9}},"LCFSignature"]

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

UnitDistance

GraphData[{"Cone",{8,9}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{8,9}},"VertexList"],GraphData[{"Cone",{8,9}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"Cone",{8,9}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"Cone",{8,9}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"Cone",{8,9}},"Polyhedral"]

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

{"Cone", {8, 10}}

GraphData[{"Cone",{8,10}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{8,10}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{8,10}},"Edges"]

g1=ConeGraph[Sequence@@{"Cone",{8,10}}[[2]],GraphLayout->{"Rings","Radius"->3/4}]

RecognizeGraph[g1]

g2=ConeGraph[Sequence@@{"Cone",{8,10}}[[2]],GraphLayout->{"Rings","Radius"->2}]

RecognizeGraph[g2]

gs={g1,g2}

Degenerate

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

Bilateral

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

Circular

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

Planar

GraphData[{"Cone",{8,10}},"Planar"]

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

MinimalCrossing

GraphData[{"Cone",{8,10}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

Table[MinimalCrossingGraph[GraphData[{"Cone",{8,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[{"Cone",{8,10}},"Circulant"]

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

Halin

GraphData[{"Cone",{8,10}},"Halin"]

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

LCF

GraphData[{"Cone",{8,10}},"LCF"]

GraphData[{"Cone",{8,10}},"HamiltonianCycleCount"]

GraphData[{"Cone",{8,10}},"LCFSignature"]

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

UnitDistance

GraphData[{"Cone",{8,10}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{8,10}},"VertexList"],GraphData[{"Cone",{8,10}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"Cone",{8,10}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"Cone",{8,10}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"Cone",{8,10}},"Polyhedral"]

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

{"Cone", {9, 3}}

GraphData[{"Cone",{9,3}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{9,3}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{9,3}},"Edges"]

g1=ConeGraph[Sequence@@{"Cone",{9,3}}[[2]],GraphLayout->{"Rings","Radius"->3/4}]

RecognizeGraph[g1]

g2=ConeGraph[Sequence@@{"Cone",{9,3}}[[2]],GraphLayout->{"Rings","Radius"->3}]

RecognizeGraph[g2]

gs={g1,g2}

g1=RotateGraph[ConeGraph[Sequence@@{"Cone",{9,3}}[[2]],GraphLayout->{"Rings","Radius"->3/4,"Angle"->Pi/2-Pi/9}],Pi/9]

v=UnitCirclePoints[12,0][[{1,2,3,5,6,7,9,10,11,4,8,12}]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[9],2,1,1],Flatten[Table[{i,j},{i,9},{j,10,12}],1]],VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph@g

gs={,,}

Degenerate

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

Bilateral

GraphData[{"Cone",{9,3}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"Cone",{9,3}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"Cone",{9,3}},"Planar"]

GraphData[{"Cone",{9,3}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"Cone",{9,3}},{"RCN","CN"}]

GraphData[{"Cone",{9,3}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"Cone",{9,3}}],TimeConstraint->10])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"Cone",{9,3}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"Cone",{9,3}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"Cone",{9,3}}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"Cone",{9,3}},"Circulant"]

GraphData[{"Cone",{9,3}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"Cone",{9,3}},"Halin"]

GraphData[{"Cone",{9,3}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"Cone",{9,3}},"LCF"]

GraphData[{"Cone",{9,3}},"HamiltonianCycleCount"]

GraphData[{"Cone",{9,3}},"LCFSignature"]

GraphData[{"Cone",{9,3}},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"Cone",{9,3}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"Cone",{9,3}}],Debug->True]//Timing

GraphData[{"Cone",{9,3}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{9,3}},"VertexList"],GraphData[{"Cone",{9,3}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]]]&/@Complement@@(GraphData[{"Cone",{9,3}},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"Cone",{9,3}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"Cone",{9,3}},"Matchstick"]

GraphData[{"Cone",{9,3}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"Cone",{9,3}},"Edges"]]

3D All

GraphData[{"Cone",{9,3}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"Cone",{9,3}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"Cone",{9,3}},"Polyhedral"]

GraphData[{"Cone",{9,3}},"Graph",{"3D","Polyhedron"}]

{"Cone", {9, 4}}

GraphData[{"Cone",{9,4}},"StandardName"]

Primary

GraphData[{"Cone",{9,4}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"Cone",{9,4}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"Cone",{9,4}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{9,4}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{9,4}},"Edges"]

g1=ConeGraph[Sequence@@{"Cone",{9,4}}[[2]],GraphLayout->{"Rings","Radius"->3/4}]

RecognizeGraph[g1]

g2=ConeGraph[Sequence@@{"Cone",{9,4}}[[2]],GraphLayout->{"Rings","Radius"->5/2}]

RecognizeGraph[g2]

gs={g1,g2}

Degenerate

GraphData[{"Cone",{9,4}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"Cone",{9,4}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"Cone",{9,4}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"Cone",{9,4}},"Planar"]

GraphData[{"Cone",{9,4}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"Cone",{9,4}},{"RCN","CN"}]

GraphData[{"Cone",{9,4}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"Cone",{9,4}}],TimeConstraint->10])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"Cone",{9,4}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"Cone",{9,4}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"Cone",{9,4}}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"Cone",{9,4}},"Circulant"]

GraphData[{"Cone",{9,4}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"Cone",{9,4}},"Halin"]

GraphData[{"Cone",{9,4}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"Cone",{9,4}},"LCF"]

GraphData[{"Cone",{9,4}},"HamiltonianCycleCount"]

GraphData[{"Cone",{9,4}},"LCFSignature"]

GraphData[{"Cone",{9,4}},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"Cone",{9,4}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"Cone",{9,4}}],Debug->True]//Timing

GraphData[{"Cone",{9,4}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{9,4}},"VertexList"],GraphData[{"Cone",{9,4}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]]]&/@Complement@@(GraphData[{"Cone",{9,4}},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"Cone",{9,4}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"Cone",{9,4}},"Matchstick"]

GraphData[{"Cone",{9,4}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"Cone",{9,4}},"Edges"]]

3D All

GraphData[{"Cone",{9,4}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"Cone",{9,4}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"Cone",{9,4}},"Polyhedral"]

GraphData[{"Cone",{9,4}},"Graph",{"3D","Polyhedron"}]

{"Cone", {9, 5}}

GraphData[{"Cone",{9,5}},"StandardName"]

Primary

GraphData[{"Cone",{9,5}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"Cone",{9,5}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"Cone",{9,5}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{9,5}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{9,5}},"Edges"]

g1=ConeGraph[Sequence@@{"Cone",{9,5}}[[2]],GraphLayout->{"Rings","Radius"->3/4}]

RecognizeGraph[g1]

g2=ConeGraph[Sequence@@{"Cone",{9,5}}[[2]],GraphLayout->{"Rings","Radius"->2}]

RecognizeGraph[g2]

gs={g1,g2}

Degenerate

GraphData[{"Cone",{9,5}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"Cone",{9,5}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"Cone",{9,5}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"Cone",{9,5}},"Planar"]

GraphData[{"Cone",{9,5}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"Cone",{9,5}},{"RCN","CN"}]

GraphData[{"Cone",{9,5}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"Cone",{9,5}}],TimeConstraint->10])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"Cone",{9,5}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"Cone",{9,5}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"Cone",{9,5}}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"Cone",{9,5}},"Circulant"]

GraphData[{"Cone",{9,5}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"Cone",{9,5}},"Halin"]

GraphData[{"Cone",{9,5}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"Cone",{9,5}},"LCF"]

GraphData[{"Cone",{9,5}},"HamiltonianCycleCount"]

GraphData[{"Cone",{9,5}},"LCFSignature"]

GraphData[{"Cone",{9,5}},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"Cone",{9,5}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"Cone",{9,5}}],Debug->True]//Timing

GraphData[{"Cone",{9,5}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{9,5}},"VertexList"],GraphData[{"Cone",{9,5}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]]]&/@Complement@@(GraphData[{"Cone",{9,5}},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"Cone",{9,5}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"Cone",{9,5}},"Matchstick"]

GraphData[{"Cone",{9,5}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"Cone",{9,5}},"Edges"]]

3D All

GraphData[{"Cone",{9,5}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"Cone",{9,5}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"Cone",{9,5}},"Polyhedral"]

GraphData[{"Cone",{9,5}},"Graph",{"3D","Polyhedron"}]

{"Cone", {9, 6}}

GraphData[{"Cone",{9,6}},"StandardName"]

Primary

GraphData[{"Cone",{9,6}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"Cone",{9,6}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"Cone",{9,6}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{9,6}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{9,6}},"Edges"]

g1=ConeGraph[Sequence@@{"Cone",{9,6}}[[2]],GraphLayout->{"Rings","Radius"->3/4}]

RecognizeGraph[g1]

g2=ConeGraph[Sequence@@{"Cone",{9,6}}[[2]],GraphLayout->{"Rings","Radius"->2}]

RecognizeGraph[g2]

gs={g1,g2}

gs={,,};

Degenerate

GraphData[{"Cone",{9,6}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"Cone",{9,6}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"Cone",{9,6}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"Cone",{9,6}},"Planar"]

GraphData[{"Cone",{9,6}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"Cone",{9,6}},{"RCN","CN"}]

GraphData[{"Cone",{9,6}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"Cone",{9,6}}],TimeConstraint->10])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"Cone",{9,6}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"Cone",{9,6}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"Cone",{9,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[{"Cone",{9,6}},"Circulant"]

GraphData[{"Cone",{9,6}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"Cone",{9,6}},"Halin"]

GraphData[{"Cone",{9,6}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"Cone",{9,6}},"LCF"]

GraphData[{"Cone",{9,6}},"HamiltonianCycleCount"]

GraphData[{"Cone",{9,6}},"LCFSignature"]

GraphData[{"Cone",{9,6}},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"Cone",{9,6}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"Cone",{9,6}}],Debug->True]//Timing

GraphData[{"Cone",{9,6}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{9,6}},"VertexList"],GraphData[{"Cone",{9,6}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]]]&/@Complement@@(GraphData[{"Cone",{9,6}},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"Cone",{9,6}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"Cone",{9,6}},"Matchstick"]

GraphData[{"Cone",{9,6}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"Cone",{9,6}},"Edges"]]

3D All

GraphData[{"Cone",{9,6}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"Cone",{9,6}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"Cone",{9,6}},"Polyhedral"]

GraphData[{"Cone",{9,6}},"Graph",{"3D","Polyhedron"}]

{"Cone", {9, 7}}

GraphData[{"Cone",{9,7}},"StandardName"]

Primary

GraphData[{"Cone",{9,7}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"Cone",{9,7}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"Cone",{9,7}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{9,7}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{9,7}},"Edges"]

g1=ConeGraph[Sequence@@{"Cone",{9,7}}[[2]],GraphLayout->{"Rings","Radius"->3/4}]

RecognizeGraph[g1]

g2=ConeGraph[Sequence@@{"Cone",{9,7}}[[2]],GraphLayout->{"Rings","Radius"->2}]

RecognizeGraph[g2]

gs={g1,g2}

gs={,,};

Degenerate

GraphData[{"Cone",{9,7}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"Cone",{9,7}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"Cone",{9,7}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"Cone",{9,7}},"Planar"]

GraphData[{"Cone",{9,7}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"Cone",{9,7}},{"RCN","CN"}]

GraphData[{"Cone",{9,7}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"Cone",{9,7}}],TimeConstraint->10])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"Cone",{9,7}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"Cone",{9,7}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"Cone",{9,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[{"Cone",{9,7}},"Circulant"]

GraphData[{"Cone",{9,7}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"Cone",{9,7}},"Halin"]

GraphData[{"Cone",{9,7}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"Cone",{9,7}},"LCF"]

GraphData[{"Cone",{9,7}},"HamiltonianCycleCount"]

GraphData[{"Cone",{9,7}},"LCFSignature"]

GraphData[{"Cone",{9,7}},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"Cone",{9,7}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"Cone",{9,7}}],Debug->True]//Timing

GraphData[{"Cone",{9,7}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{9,7}},"VertexList"],GraphData[{"Cone",{9,7}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]]]&/@Complement@@(GraphData[{"Cone",{9,7}},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"Cone",{9,7}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"Cone",{9,7}},"Matchstick"]

GraphData[{"Cone",{9,7}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"Cone",{9,7}},"Edges"]]

3D All

GraphData[{"Cone",{9,7}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"Cone",{9,7}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"Cone",{9,7}},"Polyhedral"]

GraphData[{"Cone",{9,7}},"Graph",{"3D","Polyhedron"}]

{"Cone", {9, 8}}

GraphData[{"Cone",{9,8}},"StandardName"]

Primary

GraphData[{"Cone",{9,8}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"Cone",{9,8}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"Cone",{9,8}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{9,8}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{9,8}},"Edges"]

g1=ConeGraph[Sequence@@{"Cone",{9,8}}[[2]],GraphLayout->{"Rings","Radius"->7/12}]

DegenerateGraphEmbeddingQ@g1

RecognizeGraph[g1]

g2=ConeGraph[Sequence@@{"Cone",{9,8}}[[2]],GraphLayout->{"Rings","Radius"->2}]

RecognizeGraph[g2]

gs={g1,g2}

gs={,,LabelGraph@RotateGraph[,{13,14}]}

BilateralGraphEmbeddingQ/@%

Degenerate

GraphData[{"Cone",{9,8}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"Cone",{9,8}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"Cone",{9,8}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"Cone",{9,8}},"Planar"]

GraphData[{"Cone",{9,8}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"Cone",{9,8}},{"RCN","CN"}]

GraphData[{"Cone",{9,8}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"Cone",{9,8}}],TimeConstraint->10])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"Cone",{9,8}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"Cone",{9,8}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"Cone",{9,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[{"Cone",{9,8}},"Circulant"]

GraphData[{"Cone",{9,8}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"Cone",{9,8}},"Halin"]

GraphData[{"Cone",{9,8}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"Cone",{9,8}},"LCF"]

GraphData[{"Cone",{9,8}},"HamiltonianCycleCount"]

GraphData[{"Cone",{9,8}},"LCFSignature"]

GraphData[{"Cone",{9,8}},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"Cone",{9,8}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"Cone",{9,8}}],Debug->True]//Timing

GraphData[{"Cone",{9,8}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{9,8}},"VertexList"],GraphData[{"Cone",{9,8}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]]]&/@Complement@@(GraphData[{"Cone",{9,8}},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"Cone",{9,8}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"Cone",{9,8}},"Matchstick"]

GraphData[{"Cone",{9,8}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"Cone",{9,8}},"Edges"]]

3D All

GraphData[{"Cone",{9,8}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"Cone",{9,8}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"Cone",{9,8}},"Polyhedral"]

GraphData[{"Cone",{9,8}},"Graph",{"3D","Polyhedron"}]

{"Cone", {9, 9}}

GraphData[{"Cone",{9,9}},"StandardName"]

Primary

GraphData[{"Cone",{9,9}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"Cone",{9,9}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"Cone",{9,9}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{9,9}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{9,9}},"Edges"]

v=Join[UnitCirclePoints[9],CirclePoints[2/3,9]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[9],2,1,1],Flatten[Table[{i,j},{i,9},{j,10,18}],1]],VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

v=Join[UnitCirclePoints[9],CirclePoints[{2/3,-Pi/2},9]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[9],2,1,1],Flatten[Table[{i,j},{i,9},{j,10,18}],1]],VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

gs={,};

v=Join[UnitCirclePoints[9],UnitCirclePoints[9,-Pi/2]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[9],2,1,1],Flatten[Table[{i,j},{i,9},{j,10,18}],1]],VertexCoordinates->v,VertexLabels->Automatic]

Degenerate

GraphData[{"Cone",{9,9}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"Cone",{9,9}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"Cone",{9,9}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"Cone",{9,9}},"Planar"]

GraphData[{"Cone",{9,9}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"Cone",{9,9}},{"RCN","CN"}]

GraphData[{"Cone",{9,9}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"Cone",{9,9}}],TimeConstraint->10])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"Cone",{9,9}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"Cone",{9,9}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"Cone",{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[{"Cone",{9,9}},"Circulant"]

GraphData[{"Cone",{9,9}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"Cone",{9,9}},"Halin"]

GraphData[{"Cone",{9,9}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"Cone",{9,9}},"LCF"]

GraphData[{"Cone",{9,9}},"HamiltonianCycleCount"]

GraphData[{"Cone",{9,9}},"LCFSignature"]

GraphData[{"Cone",{9,9}},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"Cone",{9,9}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"Cone",{9,9}}],Debug->True]//Timing

GraphData[{"Cone",{9,9}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{9,9}},"VertexList"],GraphData[{"Cone",{9,9}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]]]&/@Complement@@(GraphData[{"Cone",{9,9}},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"Cone",{9,9}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"Cone",{9,9}},"Matchstick"]

GraphData[{"Cone",{9,9}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"Cone",{9,9}},"Edges"]]

3D All

GraphData[{"Cone",{9,9}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"Cone",{9,9}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"Cone",{9,9}},"Polyhedral"]

GraphData[{"Cone",{9,9}},"Graph",{"3D","Polyhedron"}]

{"Cone", {9, 10}}

GraphData[{"Cone",{9,10}},"StandardName"]

Primary

GraphData[{"Cone",{9,10}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"Cone",{9,10}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"Cone",{9,10}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{9,10}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{9,10}},"Edges"]

g1=ConeGraph[Sequence@@{"Cone",{9,10}}[[2]],GraphLayout->{"Rings","Radius"->3/4}]

RecognizeGraph[g1]

g2=ConeGraph[Sequence@@{"Cone",{9,10}}[[2]],GraphLayout->{"Rings","Radius"->2}]

RecognizeGraph[g2]

gs={g1,g2}

Degenerate

GraphData[{"Cone",{9,10}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"Cone",{9,10}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"Cone",{9,10}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"Cone",{9,10}},"Planar"]

GraphData[{"Cone",{9,10}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"Cone",{9,10}},{"RCN","CN"}]

GraphData[{"Cone",{9,10}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"Cone",{9,10}}],TimeConstraint->10])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"Cone",{9,10}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"Cone",{9,10}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"Cone",{9,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[{"Cone",{9,10}},"Circulant"]

GraphData[{"Cone",{9,10}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"Cone",{9,10}},"Halin"]

GraphData[{"Cone",{9,10}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"Cone",{9,10}},"LCF"]

GraphData[{"Cone",{9,10}},"HamiltonianCycleCount"]

GraphData[{"Cone",{9,10}},"LCFSignature"]

GraphData[{"Cone",{9,10}},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"Cone",{9,10}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"Cone",{9,10}}],Debug->True]//Timing

GraphData[{"Cone",{9,10}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{9,10}},"VertexList"],GraphData[{"Cone",{9,10}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]]]&/@Complement@@(GraphData[{"Cone",{9,10}},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"Cone",{9,10}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"Cone",{9,10}},"Matchstick"]

GraphData[{"Cone",{9,10}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"Cone",{9,10}},"Edges"]]

3D All

GraphData[{"Cone",{9,10}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"Cone",{9,10}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"Cone",{9,10}},"Polyhedral"]

GraphData[{"Cone",{9,10}},"Graph",{"3D","Polyhedron"}]

{"Cone", {10, 3}}

GraphData[{"Cone",{10,3}},"StandardName"]

Primary

GraphData[{"Cone",{10,3}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"Cone",{10,3}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"Cone",{10,3}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{10,3}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{10,3}},"Edges"]

g1=ConeGraph[Sequence@@{"Cone",{10,3}}[[2]],GraphLayout->{"Rings","Radius"->3/4}]

RecognizeGraph[g1]

g2=ConeGraph[Sequence@@{"Cone",{10,3}}[[2]],GraphLayout->{"Rings","Radius"->5/2}]

RecognizeGraph[g2]

gs={g1,g2}

gs={,,LabelGraph@RotateGraph[,{9,10}]}

BilateralGraphEmbeddingQ/@%

Degenerate

GraphData[{"Cone",{10,3}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"Cone",{10,3}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"Cone",{10,3}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"Cone",{10,3}},"Planar"]

GraphData[{"Cone",{10,3}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"Cone",{10,3}},{"RCN","CN"}]

GraphData[{"Cone",{10,3}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"Cone",{10,3}}],TimeConstraint->10])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"Cone",{10,3}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"Cone",{10,3}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"Cone",{10,3}}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"Cone",{10,3}},"Circulant"]

GraphData[{"Cone",{10,3}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"Cone",{10,3}},"Halin"]

GraphData[{"Cone",{10,3}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"Cone",{10,3}},"LCF"]

GraphData[{"Cone",{10,3}},"HamiltonianCycleCount"]

GraphData[{"Cone",{10,3}},"LCFSignature"]

GraphData[{"Cone",{10,3}},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"Cone",{10,3}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"Cone",{10,3}}],Debug->True]//Timing

GraphData[{"Cone",{10,3}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{10,3}},"VertexList"],GraphData[{"Cone",{10,3}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]]]&/@Complement@@(GraphData[{"Cone",{10,3}},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"Cone",{10,3}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"Cone",{10,3}},"Matchstick"]

GraphData[{"Cone",{10,3}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"Cone",{10,3}},"Edges"]]

3D All

GraphData[{"Cone",{10,3}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"Cone",{10,3}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"Cone",{10,3}},"Polyhedral"]

GraphData[{"Cone",{10,3}},"Graph",{"3D","Polyhedron"}]

{"Cone", {10, 4}}

GraphData[{"Cone",{10,4}},"StandardName"]

Primary

GraphData[{"Cone",{10,4}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"Cone",{10,4}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"Cone",{10,4}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{10,4}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{10,4}},"Edges"]

g1=ConeGraph[Sequence@@{"Cone",{10,4}}[[2]],GraphLayout->{"Rings","Radius"->3/4}]

RecognizeGraph[g1]

g2=ConeGraph[Sequence@@{"Cone",{10,4}}[[2]],GraphLayout->{"Rings","Radius"->3/2}]

RecognizeGraph[g2]

gs={g1,g2}

gs={,,LabelGraph@RotateGraph[,{12,13}]}

BilateralGraphEmbeddingQ/@%

Degenerate

GraphData[{"Cone",{10,4}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"Cone",{10,4}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"Cone",{10,4}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"Cone",{10,4}},"Planar"]

GraphData[{"Cone",{10,4}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"Cone",{10,4}},{"RCN","CN"}]

GraphData[{"Cone",{10,4}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"Cone",{10,4}}],TimeConstraint->10])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"Cone",{10,4}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"Cone",{10,4}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"Cone",{10,4}}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"Cone",{10,4}},"Circulant"]

GraphData[{"Cone",{10,4}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"Cone",{10,4}},"Halin"]

GraphData[{"Cone",{10,4}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"Cone",{10,4}},"LCF"]

GraphData[{"Cone",{10,4}},"HamiltonianCycleCount"]

GraphData[{"Cone",{10,4}},"LCFSignature"]

GraphData[{"Cone",{10,4}},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"Cone",{10,4}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"Cone",{10,4}}],Debug->True]//Timing

GraphData[{"Cone",{10,4}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{10,4}},"VertexList"],GraphData[{"Cone",{10,4}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]]]&/@Complement@@(GraphData[{"Cone",{10,4}},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"Cone",{10,4}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"Cone",{10,4}},"Matchstick"]

GraphData[{"Cone",{10,4}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"Cone",{10,4}},"Edges"]]

3D All

GraphData[{"Cone",{10,4}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"Cone",{10,4}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"Cone",{10,4}},"Polyhedral"]

GraphData[{"Cone",{10,4}},"Graph",{"3D","Polyhedron"}]

{"Cone", {10, 5}}

GraphData[{"Cone",{10,5}},"StandardName"]

Primary

GraphData[{"Cone",{10,5}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"Cone",{10,5}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"Cone",{10,5}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{10,5}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{10,5}},"Edges"]

v=Join[UnitCirclePoints[10],CirclePoints[1,5]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[10],2,1,1],Flatten[Table[{i,j},{i,10},{j,11,15}],1]],VertexCoordinates->v,VertexLabels->Automatic]

v=Join[UnitCirclePoints[15][[{1,2,4,5,7,8,10,11,13,14}]],UnitCirclePoints[15][[{3,6,9,12,15}]]];
g=RotateGraph[Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[10],2,1,1],Flatten[Table[{i,j},{i,10},{j,11,15}],1]],VertexCoordinates->v,VertexLabels->Automatic],-2Pi/15]

RecognizeGraph@g

Degenerate

GraphData[{"Cone",{10,5}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"Cone",{10,5}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"Cone",{10,5}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"Cone",{10,5}},"Planar"]

GraphData[{"Cone",{10,5}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"Cone",{10,5}},{"RCN","CN"}]

GraphData[{"Cone",{10,5}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"Cone",{10,5}}],TimeConstraint->10])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"Cone",{10,5}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"Cone",{10,5}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"Cone",{10,5}}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"Cone",{10,5}},"Circulant"]

GraphData[{"Cone",{10,5}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"Cone",{10,5}},"Halin"]

GraphData[{"Cone",{10,5}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"Cone",{10,5}},"LCF"]

GraphData[{"Cone",{10,5}},"HamiltonianCycleCount"]

GraphData[{"Cone",{10,5}},"LCFSignature"]

GraphData[{"Cone",{10,5}},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"Cone",{10,5}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"Cone",{10,5}}],Debug->True]//Timing

GraphData[{"Cone",{10,5}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{10,5}},"VertexList"],GraphData[{"Cone",{10,5}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]]]&/@Complement@@(GraphData[{"Cone",{10,5}},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"Cone",{10,5}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"Cone",{10,5}},"Matchstick"]

GraphData[{"Cone",{10,5}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"Cone",{10,5}},"Edges"]]

3D All

GraphData[{"Cone",{10,5}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"Cone",{10,5}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"Cone",{10,5}},"Polyhedral"]

GraphData[{"Cone",{10,5}},"Graph",{"3D","Polyhedron"}]

{"Cone", {10, 6}}

GraphData[{"Cone",{10,6}},"StandardName"]

Primary

GraphData[{"Cone",{10,6}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"Cone",{10,6}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"Cone",{10,6}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{10,6}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{10,6}},"Edges"]

g1=ConeGraph[Sequence@@{"Cone",{10,6}}[[2]],GraphLayout->{"Rings","Radius"->1/2,"Angle"->Pi/6}]

RecognizeGraph[g1]

g2=ConeGraph[Sequence@@{"Cone",{10,6}}[[2]],GraphLayout->{"Rings","Radius"->5/2,"Angle"->Pi/6}]

RecognizeGraph[g2]

gs={g1,g2}

gs={,,LabelGraph@RotateGraph[,{2,4}]}

DegenerateGraphEmbeddingQ/@gs

BilateralGraphEmbeddingQ/@gs

Degenerate

GraphData[{"Cone",{10,6}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"Cone",{10,6}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"Cone",{10,6}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"Cone",{10,6}},"Planar"]

GraphData[{"Cone",{10,6}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"Cone",{10,6}},{"RCN","CN"}]

GraphData[{"Cone",{10,6}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"Cone",{10,6}}],TimeConstraint->10])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"Cone",{10,6}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"Cone",{10,6}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"Cone",{10,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[{"Cone",{10,6}},"Circulant"]

GraphData[{"Cone",{10,6}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"Cone",{10,6}},"Halin"]

GraphData[{"Cone",{10,6}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"Cone",{10,6}},"LCF"]

GraphData[{"Cone",{10,6}},"HamiltonianCycleCount"]

GraphData[{"Cone",{10,6}},"LCFSignature"]

GraphData[{"Cone",{10,6}},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"Cone",{10,6}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"Cone",{10,6}}],Debug->True]//Timing

GraphData[{"Cone",{10,6}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{10,6}},"VertexList"],GraphData[{"Cone",{10,6}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]]]&/@Complement@@(GraphData[{"Cone",{10,6}},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"Cone",{10,6}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"Cone",{10,6}},"Matchstick"]

GraphData[{"Cone",{10,6}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"Cone",{10,6}},"Edges"]]

3D All

GraphData[{"Cone",{10,6}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"Cone",{10,6}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"Cone",{10,6}},"Polyhedral"]

GraphData[{"Cone",{10,6}},"Graph",{"3D","Polyhedron"}]

{"Cone", {10, 7}}

GraphData[{"Cone",{10,7}},"StandardName"]

Primary

GraphData[{"Cone",{10,7}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"Cone",{10,7}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"Cone",{10,7}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{10,7}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{10,7}},"Edges"]

g1=ConeGraph[Sequence@@{"Cone",{10,7}}[[2]],GraphLayout->{"Rings","Radius"->3/4}]

RecognizeGraph[g1]

g2=ConeGraph[Sequence@@{"Cone",{10,7}}[[2]],GraphLayout->{"Rings","Radius"->5/2}]

RecognizeGraph[g2]

gs={g1,g2}

gs={,,LabelGraph@RotateGraph[,{8,7}]}

DegenerateGraphEmbeddingQ/@gs

BilateralGraphEmbeddingQ/@gs

Degenerate

GraphData[{"Cone",{10,7}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"Cone",{10,7}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"Cone",{10,7}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"Cone",{10,7}},"Planar"]

GraphData[{"Cone",{10,7}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"Cone",{10,7}},{"RCN","CN"}]

GraphData[{"Cone",{10,7}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"Cone",{10,7}}],TimeConstraint->10])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"Cone",{10,7}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"Cone",{10,7}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"Cone",{10,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[{"Cone",{10,7}},"Circulant"]

GraphData[{"Cone",{10,7}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"Cone",{10,7}},"Halin"]

GraphData[{"Cone",{10,7}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"Cone",{10,7}},"LCF"]

GraphData[{"Cone",{10,7}},"HamiltonianCycleCount"]

GraphData[{"Cone",{10,7}},"LCFSignature"]

GraphData[{"Cone",{10,7}},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"Cone",{10,7}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"Cone",{10,7}}],Debug->True]//Timing

GraphData[{"Cone",{10,7}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{10,7}},"VertexList"],GraphData[{"Cone",{10,7}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]]]&/@Complement@@(GraphData[{"Cone",{10,7}},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"Cone",{10,7}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"Cone",{10,7}},"Matchstick"]

GraphData[{"Cone",{10,7}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"Cone",{10,7}},"Edges"]]

3D All

GraphData[{"Cone",{10,7}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"Cone",{10,7}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"Cone",{10,7}},"Polyhedral"]

GraphData[{"Cone",{10,7}},"Graph",{"3D","Polyhedron"}]

{"Cone", {10, 8}}

GraphData[{"Cone",{10,8}},"StandardName"]

Primary

GraphData[{"Cone",{10,8}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"Cone",{10,8}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"Cone",{10,8}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{10,8}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{10,8}},"Edges"]

g1=ConeGraph[Sequence@@{"Cone",{10,8}}[[2]],GraphLayout->{"Rings","Radius"->3/4}]

RecognizeGraph[g1]

g2=ConeGraph[Sequence@@{"Cone",{10,8}}[[2]],GraphLayout->{"Rings","Radius"->2}]

RecognizeGraph[g2]

gs={g1,g2}

DegenerateGraphEmbeddingQ/@gs

Degenerate

GraphData[{"Cone",{10,8}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"Cone",{10,8}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"Cone",{10,8}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"Cone",{10,8}},"Planar"]

GraphData[{"Cone",{10,8}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"Cone",{10,8}},{"RCN","CN"}]

GraphData[{"Cone",{10,8}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"Cone",{10,8}}],TimeConstraint->10])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"Cone",{10,8}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"Cone",{10,8}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"Cone",{10,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[{"Cone",{10,8}},"Circulant"]

GraphData[{"Cone",{10,8}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"Cone",{10,8}},"Halin"]

GraphData[{"Cone",{10,8}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"Cone",{10,8}},"LCF"]

GraphData[{"Cone",{10,8}},"HamiltonianCycleCount"]

GraphData[{"Cone",{10,8}},"LCFSignature"]

GraphData[{"Cone",{10,8}},"LCFNotations"]

GraphData[{"Cone",{10,8}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

ComputeRandomLCFNotation[{"Cone",{10,8}},2,TimeConstraint->120]

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"Cone",{10,8}}],10^5])[[All,2]]]//Timing

LCFGraph@@@lcf//StyleGraphs

(gs=DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,2}]])//Timing

LCF compute 10^6

Tally[(lcf=LCF[GraphData[{"Cone",{10,8}}],10^6])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

(gs=DeleteMissing[BilateralLCFGraph@@@DeleteCases[lcf,{_,1}]])//Timing

LCFNotation/@gs

lcf={{{{-8,-7,-6,-4,-2,3,5,7},{-8,-6,-4,-2,3,5,7,8},{-8,-6,-4,2,3,5,7,8},{-8,-6,-4,-3,3,5,6,8},{-8,-6,-3,-2,2,3,6,8},{-8,-6,-5,-3,3,4,6,8},{-8,-7,-5,-3,-2,4,6,8},{-8,-7,-5,-3,2,4,6,8},{-7,-5,-3,2,4,6,7,8}},2},{{{-8,-7,-5,-3,2,4,6,8},{-7,-5,-3,2,3,4,6,8},{-8,-6,-4,-3,-2,3,5,7},{-8,-6,-4,-2,3,5,7,8},{-8,-6,-4,-3,2,3,5,8},{-8,-6,-4,-3,3,5,6,8},{-8,-6,-3,-2,2,3,6,8},{-8,-6,-5,-3,3,4,6,8},{-8,-5,-3,-2,3,4,6,8}},2}};

l={{{"Cone",{10,8}},{0,Missing["NotAvailable",lcf]}}}

PropertyReplace[l,"LCFNotations","13.3"]

RenameGraphFiles[]

LCF compute 10^7

Tally[(lcf=LCF[GraphData[{"Cone",{10,8}}],10^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

(gs=DeleteMissing[BilateralLCFGraph@@@DeleteCases[lcf,{_,1}]])//Timing

lcf=LCFNotation/@gs

l={{{"Cone",{10,8}},{0,Missing["NotAvailable",lcf]}}}

l={{{"Cone",{10,8}},{0,Missing["NotAvailable",{{{{-8,-7,-6,-4,-2,3,5,7},{-8,-6,-4,-2,3,5,7,8},{-8,-6,-4,2,3,5,7,8},{-8,-6,-4,-3,3,5,6,8},{-8,-6,-3,-2,2,3,6,8},{-8,-6,-5,-3,3,4,6,8},{-8,-7,-5,-3,-2,4,6,8},{-8,-7,-5,-3,2,4,6,8},{-7,-5,-3,2,4,6,7,8}},2},{{{-8,-7,-5,-3,2,4,6,8},{-7,-6,-5,-3,2,4,6,8},{-8,-6,-4,-2,3,5,6,7},{-8,-6,-4,-2,3,5,7,8},{-8,-6,-4,2,3,5,6,8},{-8,-6,-4,-3,3,5,6,8},{-8,-6,-3,-2,2,3,6,8},{-8,-6,-5,-3,3,4,6,8},{-8,-6,-5,-3,-2,4,6,8}},2},{{{-8,-7,-5,-3,2,4,6,8},{-7,-5,-3,-2,2,4,6,8},{-8,-6,-4,-2,2,3,5,7},{-8,-6,-4,-2,3,5,7,8},{-8,-6,-4,-2,2,3,5,8},{-8,-6,-4,-3,3,5,6,8},{-8,-6,-3,-2,2,3,6,8},{-8,-6,-5,-3,3,4,6,8},{-8,-5,-3,-2,2,4,6,8}},2},{{{-8,-7,-5,-3,2,4,6,8},{-7,-5,-3,2,3,4,6,8},{-8,-6,-4,-3,-2,3,5,7},{-8,-6,-4,-2,3,5,7,8},{-8,-6,-4,-3,2,3,5,8},{-8,-6,-4,-3,3,5,6,8},{-8,-6,-3,-2,2,3,6,8},{-8,-6,-5,-3,3,4,6,8},{-8,-5,-3,-2,3,4,6,8}},2}}]}}};

PropertyReplace[l,"LCFNotations","13.3"]

RenameGraphFiles[]

UnitDistance

GraphData[{"Cone",{10,8}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"Cone",{10,8}}],Debug->True]//Timing

GraphData[{"Cone",{10,8}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{10,8}},"VertexList"],GraphData[{"Cone",{10,8}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]]]&/@Complement@@(GraphData[{"Cone",{10,8}},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"Cone",{10,8}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"Cone",{10,8}},"Matchstick"]

GraphData[{"Cone",{10,8}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"Cone",{10,8}},"Edges"]]

3D All

GraphData[{"Cone",{10,8}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"Cone",{10,8}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"Cone",{10,8}},"Polyhedral"]

GraphData[{"Cone",{10,8}},"Graph",{"3D","Polyhedron"}]

{"Cone", {10, 9}}

GraphData[{"Cone",{10,9}},"StandardName"]

Primary

GraphData[{"Cone",{10,9}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"Cone",{10,9}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"Cone",{10,9}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{10,9}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{10,9}},"Edges"]

g1=ConeGraph[Sequence@@{"Cone",{10,9}}[[2]],GraphLayout->{"Rings","Radius"->3/4}]

RecognizeGraph[g1]

g2=ConeGraph[Sequence@@{"Cone",{10,9}}[[2]],GraphLayout->{"Rings","Radius"->2}]

RecognizeGraph[g2]

gs={g1,g2}

gs={,,LabelGraph@RotateGraph[,{1,2}]}

DegenerateGraphEmbeddingQ/@gs

BilateralGraphEmbeddingQ/@%11

Degenerate

GraphData[{"Cone",{10,9}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"Cone",{10,9}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"Cone",{10,9}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"Cone",{10,9}},"Planar"]

GraphData[{"Cone",{10,9}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"Cone",{10,9}},{"RCN","CN"}]

GraphData[{"Cone",{10,9}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"Cone",{10,9}}],TimeConstraint->10])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"Cone",{10,9}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"Cone",{10,9}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"Cone",{10,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[{"Cone",{10,9}},"Circulant"]

GraphData[{"Cone",{10,9}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"Cone",{10,9}},"Halin"]

GraphData[{"Cone",{10,9}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"Cone",{10,9}},"LCF"]

GraphData[{"Cone",{10,9}},"HamiltonianCycleCount"]

GraphData[{"Cone",{10,9}},"LCFSignature"]

GraphData[{"Cone",{10,9}},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"Cone",{10,9}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"Cone",{10,9}}],Debug->True]//Timing

GraphData[{"Cone",{10,9}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{10,9}},"VertexList"],GraphData[{"Cone",{10,9}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]]]&/@Complement@@(GraphData[{"Cone",{10,9}},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"Cone",{10,9}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"Cone",{10,9}},"Matchstick"]

GraphData[{"Cone",{10,9}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"Cone",{10,9}},"Edges"]]

3D All

GraphData[{"Cone",{10,9}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"Cone",{10,9}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"Cone",{10,9}},"Polyhedral"]

GraphData[{"Cone",{10,9}},"Graph",{"3D","Polyhedron"}]

{"Cone", {10, 10}}

GraphData[{"Cone",{10,10}},"StandardName"]

Primary

GraphData[{"Cone",{10,10}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"Cone",{10,10}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"Cone",{10,10}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"Cone",{10,10}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"Cone",{10,10}},"Edges"]

v=Join[UnitCirclePoints[10],CirclePoints[{1,Pi/2},10]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[10],2,1,1],Flatten[Table[{i,j},{i,10},{j,11,20}],1]],VertexCoordinates->v]

RecognizeGraph[g]

v=Join[UnitCirclePoints[10],UnitCirclePoints[10,Pi/2]];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[Partition[Range[10],2,1,1],Flatten[Table[{i,j},{i,10},{j,11,20}],1]],VertexCoordinates->v]

gs={,};

Degenerate

GraphData[{"Cone",{10,10}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"Cone",{10,10}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"Cone",{10,10}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"Cone",{10,10}},"Planar"]

GraphData[{"Cone",{10,10}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"Cone",{10,10}},{"RCN","CN"}]

GraphData[{"Cone",{10,10}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"Cone",{10,10}}],TimeConstraint->10])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"Cone",{10,10}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"Cone",{10,10}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"Cone",{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[{"Cone",{10,10}},"Circulant"]

GraphData[{"Cone",{10,10}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"Cone",{10,10}},"Halin"]

GraphData[{"Cone",{10,10}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"Cone",{10,10}},"LCF"]

GraphData[{"Cone",{10,10}},"HamiltonianCycleCount"]

GraphData[{"Cone",{10,10}},"LCFSignature"]

GraphData[{"Cone",{10,10}},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"Cone",{10,10}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"Cone",{10,10}}],Debug->True]//Timing

GraphData[{"Cone",{10,10}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"Cone",{10,10}},"VertexList"],GraphData[{"Cone",{10,10}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]]]&/@Complement@@(GraphData[{"Cone",{10,10}},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"Cone",{10,10}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"Cone",{10,10}},"Matchstick"]

GraphData[{"Cone",{10,10}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"Cone",{10,10}},"Edges"]]

3D All

GraphData[{"Cone",{10,10}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"Cone",{10,10}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"Cone",{10,10}},"Polyhedral"]

GraphData[{"Cone",{10,10}},"Graph",{"3D","Polyhedron"}]

Properties

ConnectedDominatingSetCount

seq=Table[GraphData[{"Cone",{n,n}},"ConnectedDominatingSetCount"],{n,3,10}]

FindSequenceFunction[DeleteCases[seq,_Missing],n-2]

{56,234,972,3982,16144,65042,261140}/2

GraphData

GraphClassString

GraphClassString[GraphData["Cone"]]

GraphDataString

Do[Print[GraphDataString[ConeGraph[m,n],
"Name"->"("<>ToString[m]<>","<>ToString[n]<>")-cone graph",
"StandardName"->{"Cone",{m,n}},
"Classes"->{"Cone"},
"NotationRules"->{"Cone"->{m,n}},
"Skip"->{"Perfect"},
TimeConstraint->120
]],{m,3,10},{n,3,10}]