(0,2)-Graph

Author

Eric W. Weisstein
March 21, 2024

This notebook downloaded from http://mathworld.wolfram.com/notebooks/GraphTheory/0,2-Graph.nb.

For more information, see Eric's MathWorld entry http://mathworld.wolfram.com/0,2-Graph.html.

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

References

http://www.win.tue.nl/~aeb/graphs/Dodecahedral-02.html

http://www.win.tue.nl/~aeb/graphs/recta/02graphs.html

Counts

All

Total[Boole[Get[#]]]&/@FileNames["*.m",FileNameJoin[{$GraphDataDirectory,"Nodes","ZeroTwo"}]]

Table[Total[Boole[ZeroTwoGraphQ/@ConnectedGraphs[n]]],{n,10}]//Timing

Table[Length@GraphData[{"ZeroTwo","Connected"},n],{n,12}]

Connected

Table[Total[Boole[Get[FileNameJoin[{$GraphDataDirectory,"Nodes","ZeroTwo","ZeroTwo_"<>If[n<10,"0",""]<>ToString[n]<>".m"}]][[ConnectedGraphIndices[n]]]]],{n,10}]

Examples

ZeroTwoGraphQ/@GraphData/@{"IcosahedralGraph","K2"}

Select[GraphData[20],ZeroTwoGraphQ[GraphData[#]]&]

Select[GraphData[;;20],ZeroTwoGraphQ[GraphData[#]]&]

Monitor[(l=Select[GraphData[{"Connected","Regular"}],ZeroTwoGraphQ[GraphData[g=#]]&]),g]//Timing

Length[l]

split={#[[1,1]],#[[All,2]]}&/@SplitBy[Sort[{GraphData[#,"MaximumVertexDegree"],#}&/@l],First]

Select[Join@@split[[All,2]],GraphData[#,"ZeroTwo"]=!=True&]

A202592

1, 1, 1, 2, 3, 8, 24, 96, 302

{#1,Length[#2]}&@@@split

So complete up to n==7

Grid[DeleteCases[split,{"ZeroTwoBipartite"|"ZeroTwoNonbipartite",_},{3}],Alignment->{{Decimal,Left},Automatic},Dividers->All]

split2=DeleteCases[split[[All,2]],_?(GraphData[#,"Embeddings"]==={}&),{2}]

GraphicsGrid[Flatten[Partition[#,5,5,{1,1},{}]&/@Map[Show[GraphData[#,"Image"],PlotLabel->TextCell[GraphData[#,"Name"],PageWidth->80,TextAlignment->Center]]&,split2,{2}],1],ImageSize->400,BaseStyle->Italic]

Select[l,!GraphData[#,"Regular"]&]

GraphData["FoldedCube"]

l2=SortBy[l,GraphData[#,"V"]&]

("StronglyRegular"/.GraphData[#,"NotationRules"])&/@l2

("WeaklyRegular"/.GraphData[#,"NotationRules"])&/@l2

Length/@Take[split,9][[All,2]]

{1,1,1,2,3,8,24,96,302}

FindSequenceFunction[{1,1,1,2,3,8,24,96,302},n-1]

Embeddings

<<MathWorld`Graphs`

TextGrid[Sort[{FirstCase[GraphData[#,"StandardNames"],{"ZeroTwoBipartite"|"ZeroTwoNonbipartite",_}],#}&/@DeleteCases[GraphData["ZeroTwo"],{"ZeroTwoBipartite"|"ZeroTwoNonbipartite",_}]],Dividers->All]

ZeroTwoBipartite

GraphData["ZeroTwoBipartite*"]

Select[GraphData["ZeroTwoBipartite*"],FreeQ[GraphData[#,"EmbeddingClasses"],{___,"Bilateral",___,"Circular",___}]&]

{"ZeroTwoBipartite", {1, 1}} == {"Path", 2}

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

{"ZeroTwoBipartite", {2, 1}} == "SquareGraph"

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

{"ZeroTwoBipartite", {3, 1}} == "CubicalGraph"

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

{"ZeroTwoBipartite", {4, 1}} == {"QuarticTransitive", 31}

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

{"ZeroTwoBipartite", {4, 2}} == "TesseractGraph"

GraphData[{"ZeroTwoBipartite",{4,2}},"StandardName"]

{"ZeroTwoBipartite", {5, 1}} == {"DifferenceSetIncidence", {11, 5, 2}}

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

{"ZeroTwoBipartite", {5, 2}}

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

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoBipartite",{5,2}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoBipartite",{5,2}},"Edges"]

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

RecognizeGraph[g]

Degenerate

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

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

Bilateral

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

Circular

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

Planar

GraphData[{"ZeroTwoBipartite",{5,2}},"Planar"]

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

MinimalCrossing

GraphData[{"ZeroTwoBipartite",{5,2}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"ZeroTwoBipartite",{5,2}},"Circulant"]

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

Halin

GraphData[{"ZeroTwoBipartite",{5,2}},"Halin"]

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

Rigid

GraphData[{"ZeroTwoBipartite",{5,2}},"Rigid"]

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

Flexible

GraphData[{"ZeroTwoBipartite",{5,2}},"Flexible"]

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

LCF

GraphData[{"ZeroTwoBipartite",{5,2}},"LCF"]

GraphData[{"ZeroTwoBipartite",{5,2}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoBipartite",{5,2}},"LCFSignature"]

GraphData[{"ZeroTwoBipartite",{5,2}},"LCFNotations"]

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

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

LCF compute all

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

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

MaxMemoryUsed[]/10.^9 "GB"

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

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

gs=DeleteMissing[BilateralLCFGraph@@@DeleteCases[lcf,{_,1}]]

Length[gs]

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

Length[gs]

lcf=LCFNotation/@gs

l={{{"ZeroTwoBipartite",{5,2}},{0,Missing["NotAvailable",lcf]}}}

PropertyReplace[l,"LCFNotations","13.3"]

RenameGraphFiles[]

UnitDistance

GraphData[{"ZeroTwoBipartite",{5,2}},"UnitDistance"]

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

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

UnitDistance by refinement

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

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

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"ZeroTwoBipartite",{5,2}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"ZeroTwoBipartite",{5,2}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"ZeroTwoBipartite",{5,2}},"Polyhedral"]

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

{"ZeroTwoBipartite", {5, 3}}

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

Primary

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

All

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

Inexact

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

Embedding types

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

Default embedding

GraphPlot@GraphData[{"ZeroTwoBipartite",{5,3}},"Edges"]

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

RecognizeGraph[g]

Degenerate

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

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

Bilateral

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

Circular

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

Planar

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

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

MinimalCrossing

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

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

MinimalCrossing construction

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

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

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

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

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

Halin

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

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

Rigid

GraphData[{"ZeroTwoBipartite",{5,3}},"Rigid"]

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

Flexible

GraphData[{"ZeroTwoBipartite",{5,3}},"Flexible"]

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

LCF

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

GraphData[{"ZeroTwoBipartite",{5,3}},"HamiltonianCycleCount"]

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

GraphData[{"ZeroTwoBipartite",{5,3}},"LCFNotations"]

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

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

LCF compute all

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

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

MaxMemoryUsed[]/10.^9 "GB"

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

gs=BilateralLCFGraph@@@Cases[lcf,{_,7}]

(gs2=DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,2}]])//Timing

Length[gs2]

UnitDistance

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

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

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

UnitDistance by refinement

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

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

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"ZeroTwoBipartite", {5, 4}} == {"Hypercube", 5}

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

{"ZeroTwoBipartite", {6, 1}}

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

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoBipartite",{6,1}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoBipartite",{6,1}},"Edges"]

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

RecognizeGraph[g]

Degenerate

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

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

Bilateral

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

Circular

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

Planar

GraphData[{"ZeroTwoBipartite",{6,1}},"Planar"]

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

MinimalCrossing

GraphData[{"ZeroTwoBipartite",{6,1}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

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

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"ZeroTwoBipartite",{6,1}},"Circulant"]

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

Halin

GraphData[{"ZeroTwoBipartite",{6,1}},"Halin"]

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

Rigid

GraphData[{"ZeroTwoBipartite",{6,1}},"Rigid"]

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

Flexible

GraphData[{"ZeroTwoBipartite",{6,1}},"Flexible"]

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

LCF

GraphData[{"ZeroTwoBipartite",{6,1}},"LCF"]

GraphData[{"ZeroTwoBipartite",{6,1}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoBipartite",{6,1}},"LCFSignature"]

GraphData[{"ZeroTwoBipartite",{6,1}},"LCFNotations"]

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

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

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoBipartite",{6,1}},2,TimeConstraint->120]

LCF compute 10^5

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

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,2}]]

LCFGraph@@{{{-15,-13,5,9},{-9,-5,5,15},{-15,5,9,11},{-9,11,13,15},{-15,-7,3,5},{-11,-5,7,15},{-15,-11,-5,9},{-9,-5,-3,15}},4}

BilateralLCFGraph@%

LCF compute 10^7

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

MaxMemoryUsed[]/10.^9 "GB"

Cases[lcf,{_,4}]

lcf={{{{-15,-11,-5,9},{-9,-5,-3,15},{-13,3,5,11},{-13,-7,5,9},{-13,-9,5,7},{-11,-3,11,13},{-7,3,9,13},{-9,-5,7,13}},4},{{{-15,-11,-5,9},{-9,-5,-3,15},{-13,3,5,11},{-13,-5,5,11},{-13,-5,5,11},{-11,-3,11,13},{-11,3,5,13},{-11,-5,5,13}},4},{{{-15,-11,3,9},{-9,-3,11,15},{-11,-5,5,13},{-13,-3,3,11},{-11,-7,-5,9},{-9,5,7,11},{-11,-3,3,13},{-13,-5,5,11}},4},{{{-15,-11,3,9},{-9,-3,11,15},{-7,-5,9,13},{-9,-3,7,11},{-11,-7,-5,9},{-9,5,7,11},{-11,-7,3,9},{-13,-9,5,7}},4},{{{-15,3,5,9},{-9,5,11,15},{-13,-7,5,9},{-13,-9,-3,7},{-13,-11,3,11},{-7,-5,9,13},{-9,-5,7,13},{-11,-5,-3,13}},4},{{{-15,3,5,9},{-9,5,11,15},{-13,-5,5,11},{-13,-5,-3,11},{-13,-11,3,11},{-11,-5,5,13},{-11,-5,5,13},{-11,-5,-3,13}},4}};

l={{{"ZeroTwoBipartite",{6,1}},{0,Missing["NotAvailable",lcf]}}}

PropertyReplace[l,"LCFNotations","13.3"]

RenameGraphFiles[]

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

DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,2}]]

Length[%8]

gs=Join[%7,%8]

gs={,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,};

UnitDistance

GraphData[{"ZeroTwoBipartite",{6,1}},"UnitDistance"]

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

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

UnitDistance by refinement

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

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

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"ZeroTwoBipartite",{6,1}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"ZeroTwoBipartite",{6,1}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"ZeroTwoBipartite",{6,1}},"Polyhedral"]

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

{"ZeroTwoBipartite", {6, 2}}

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

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoBipartite",{6,2}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoBipartite",{6,2}},"Edges"]

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

RecognizeGraph[g]

Degenerate

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

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

Bilateral

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

Circular

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

Planar

GraphData[{"ZeroTwoBipartite",{6,2}},"Planar"]

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

MinimalCrossing

GraphData[{"ZeroTwoBipartite",{6,2}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

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

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"ZeroTwoBipartite",{6,2}},"Circulant"]

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

Halin

GraphData[{"ZeroTwoBipartite",{6,2}},"Halin"]

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

Rigid

GraphData[{"ZeroTwoBipartite",{6,2}},"Rigid"]

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

Flexible

GraphData[{"ZeroTwoBipartite",{6,2}},"Flexible"]

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

LCF

GraphData[{"ZeroTwoBipartite",{6,2}},"LCF"]

GraphData[{"ZeroTwoBipartite",{6,2}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoBipartite",{6,2}},"LCFSignature"]

GraphData[{"ZeroTwoBipartite",{6,2}},"LCFNotations"]

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

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

BilateralLCFGraph/@GraphData[{"ZeroTwoBipartite",{6,2}},"Graph","LCF"]

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoBipartite",{6,2}},2,TimeConstraint->120]

LCF compute 10^5

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

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

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

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

LCF compute 10^7

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

MaxMemoryUsed[]/10.^9 "GB"

gs=DeleteMissing[BilateralLCFGraph@@@DeleteCases[lcf,{_,1}]]

Length[gs]

LCFNotation/@gs

lcf={{{{-15,-13,-11,-7},{-11,-5,7,15},{-15,-7,5,11},{7,11,13,15},{-13,-11,-5,3},{-15,-11,-7,11},{-11,-9,11,15},{-5,-3,5,13},{-15,-11,-7,3},{-11,7,11,15},{-15,-11,-7,11},{-3,7,11,15},{-13,-5,3,5},{-15,-11,9,11},{-11,7,11,15},{-3,5,11,13}},2},{{{-15,-13,-7,-5},{5,7,13,15},{-13,-7,3,11},{-15,-9,-5,13},{-11,3,11,15},{-13,-9,-3,13},{-15,-7,-5,5},{-9,-3,3,15},{-15,-11,-7,13},{-13,7,11,15},{-15,-3,3,9},{-5,5,7,15},{-13,3,9,13},{-15,-11,-3,11},{-13,5,9,15},{-11,-3,7,13}},2},{{{-15,-11,-5,9},{-13,-3,7,15},{-15,-7,5,13},{-13,-5,7,15},{-15,-7,3,13},{-9,5,11,15},{-13,-7,3,13},{-15,-5,-3,5},{-11,-7,3,15},{-9,-3,5,13},{-15,-7,-5,3},{-3,5,7,15},{-13,-5,3,9},{-15,-3,7,11},{-5,3,5,15},{-13,-3,7,13}},2}};

l={{{"ZeroTwoBipartite",{6,2}},{0,Missing["NotAvailable",lcf]}}}

PropertyReplace[l,"LCFNotations","13.3"]

RenameGraphFiles[]

UnitDistance

GraphData[{"ZeroTwoBipartite",{6,2}},"UnitDistance"]

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

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

UnitDistance by refinement

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

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

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"ZeroTwoBipartite",{6,2}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"ZeroTwoBipartite",{6,2}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"ZeroTwoBipartite",{6,2}},"Polyhedral"]

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

{"ZeroTwoBipartite", {6, 3}} == "KummerGraph"

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

{"ZeroTwoBipartite", {6, 4}}

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

Primary

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

All

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

Inexact

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

Embedding types

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

Default embedding

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

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

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

RecognizeGraph[g]

Degenerate

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

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

Bilateral

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

Circular

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

Planar

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

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

MinimalCrossing

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

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

MinimalCrossing construction

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

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

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

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

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

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

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

Halin

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

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

Rigid

GraphData[{"ZeroTwoBipartite",{6,4}},"Rigid"]

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

Flexible

GraphData[{"ZeroTwoBipartite",{6,4}},"Flexible"]

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

LCF

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

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

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

GraphData[{"ZeroTwoBipartite",{6,4}},"LCFNotations"]

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

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

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoBipartite",{6,4}},2,TimeConstraint->120]

LCF compute 10^5

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

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

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

DeleteMissing[BilateralLCFGraph/@%]

LCF compute 10^7

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

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

lcf=Union[{{{{-17,-13,-9,11},{-15,-11,9,17},{-13,-9,-5,-3},{-17,5,11,13},{-9,-5,15,17},{-15,7,9,13},{-17,-7,3,5},{-9,7,13,17},{-11,-5,11,15},{-15,-3,7,9},{-13,-9,3,5},{-15,-11,-5,9},{-17,-7,5,15},{-15,-3,9,17},{-11,-9,-7,15},{-5,5,11,13},{-13,-7,9,15},{-5,3,5,7}},2}},

{{{{-17,-15,-9,-5},{-15,-3,5,17},{-15,-11,-5,3},{-13,-7,9,15},{-15,-5,7,15},{-13,-11,-3,15},{-11,-5,3,5},{-17,-15,5,15},{-9,5,13,17},{-13,-3,9,11},{-13,7,13,15},{-13,-7,-5,5},{-9,-5,3,11},{-15,-5,5,11},{-17,3,7,13},{-3,5,13,17},{-5,3,13,15},{-7,-3,5,9}},2},{{{-17,-15,5,15},{-9,-7,5,17},{-13,-7,-3,9},{-13,7,13,15},{-13,-7,-5,5},{-5,3,7,11},{-15,-5,5,11},{-17,-13,3,13},{-13,-3,13,17},{-13,-5,13,15},{-7,-3,5,9},{-15,-9,-5,3},{-15,-7,7,13},{-15,3,7,13},{-15,-3,13,15},{-15,-5,7,15},{-13,-11,-3,15},{-11,3,5,15}},2},{{{-17,-13,9,13},{-15,-9,11,17},{-7,5,7,9},{-15,-11,-9,3},{-15,-5,7,15},{-9,3,7,13},{-15,-9,-3,15},{-17,-9,-5,15},{-3,5,9,17},{-13,-9,-7,15},{-13,7,9,11},{-13,-9,-7,5},{-11,-7,3,9},{-15,-13,-5,7},{-17,3,9,13},{-3,9,13,17},{-5,9,13,15},{-9,-7,-3,5}},2},{{{-17,-11,9,15},{-5,5,9,17},{-15,-11,9,13},{-5,3,9,13},{-17,-7,9,13},{5,9,15,17},{-13,-7,-5,-3},{-13,7,9,11},{-13,-11,-9,5},{-9,3,7,11},{-15,-9,-5,7},{-17,-9,3,13},{-9,-3,13,17},{-9,-5,13,15},{-9,-7,-3,5},{-15,-13,7,11},{-13,-9,-7,5},{-13,-7,7,9}},2}}]

lcf={{{{-17,-15,-9,-5},{-15,-3,5,17},{-15,-11,-5,3},{-13,-7,9,15},{-15,-5,7,15},{-13,-11,-3,15},{-11,-5,3,5},{-17,-15,5,15},{-9,5,13,17},{-13,-3,9,11},{-13,7,13,15},{-13,-7,-5,5},{-9,-5,3,11},{-15,-5,5,11},{-17,3,7,13},{-3,5,13,17},{-5,3,13,15},{-7,-3,5,9}},2},{{{-17,-15,5,15},{-9,-7,5,17},{-13,-7,-3,9},{-13,7,13,15},{-13,-7,-5,5},{-5,3,7,11},{-15,-5,5,11},{-17,-13,3,13},{-13,-3,13,17},{-13,-5,13,15},{-7,-3,5,9},{-15,-9,-5,3},{-15,-7,7,13},{-15,3,7,13},{-15,-3,13,15},{-15,-5,7,15},{-13,-11,-3,15},{-11,3,5,15}},2},{{{-17,-13,-9,11},{-15,-11,9,17},{-13,-9,-5,-3},{-17,5,11,13},{-9,-5,15,17},{-15,7,9,13},{-17,-7,3,5},{-9,7,13,17},{-11,-5,11,15},{-15,-3,7,9},{-13,-9,3,5},{-15,-11,-5,9},{-17,-7,5,15},{-15,-3,9,17},{-11,-9,-7,15},{-5,5,11,13},{-13,-7,9,15},{-5,3,5,7}},2},{{{-17,-13,9,13},{-15,-9,11,17},{-7,5,7,9},{-15,-11,-9,3},{-15,-5,7,15},{-9,3,7,13},{-15,-9,-3,15},{-17,-9,-5,15},{-3,5,9,17},{-13,-9,-7,15},{-13,7,9,11},{-13,-9,-7,5},{-11,-7,3,9},{-15,-13,-5,7},{-17,3,9,13},{-3,9,13,17},{-5,9,13,15},{-9,-7,-3,5}},2},{{{-17,-11,9,15},{-5,5,9,17},{-15,-11,9,13},{-5,3,9,13},{-17,-7,9,13},{5,9,15,17},{-13,-7,-5,-3},{-13,7,9,11},{-13,-11,-9,5},{-9,3,7,11},{-15,-9,-5,7},{-17,-9,3,13},{-9,-3,13,17},{-9,-5,13,15},{-9,-7,-3,5},{-15,-13,7,11},{-13,-9,-7,5},{-13,-7,7,9}},2}};

Length[lcf]

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

BilateralGraphEmbeddingQ/@gs

l={{{"ZeroTwoBipartite",{6,4}},{0,Missing["NotAvailable",lcf]}}}

PropertyReplace[l,"LCFNotations","13.3"]

RenameGraphFiles[]

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

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

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

DeleteMissing[BilateralLCFGraph/@%]

LCF compute 5×10^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoBipartite",{6,4}}],5*^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

(gs=DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,2}]])//Timing

Length[gs]

UnitDistance

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

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

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

UnitDistance by refinement

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

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

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"ZeroTwoBipartite", {6, 5}} == "HexacodeGraph"

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

{"ZeroTwoBipartite", {6, 6}}

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

Primary

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

All

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

Inexact

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

Embedding types

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

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

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

Bilateral

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

Circular

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

Circular construction

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

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

Length[bilat=Union@DeleteMissing[BilaterallyRotatedGraph@CircularEmbeddingFromHamiltonianCycle[GraphData[{"ZeroTwoBipartite",{6,6}}],#]&/@hc]]//Timing

bilat

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

quad

Planar

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

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

MinimalCrossing

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

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

MinimalCrossing construction

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

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

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

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

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

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

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

Halin

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

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

Rigid

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

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

Flexible

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

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

LCF

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

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

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

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

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

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

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoBipartite",{6,6}},2,TimeConstraint->3600]

lcf={{{-17,-13,-11,-9},{-7,9,13,17},{-9,-3,5,11},{-13,-5,3,7},{-11,-7,7,13},{-17,-13,9,13},{-15,-3,9,17},{-11,-5,9,11},{-17,-13,-9,13},{3,9,15,17},{-15,-9,-7,13},{-7,3,9,11},{-15,-13,-3,7},{-11,3,13,15},{-13,-9,-3,11},{-17,-9,7,15},{-9,-3,5,17},{-13,3,9,13}},2};

g=LCFGraph@@lcf

BilateralLCFGraph@@lcf

l={{{"ZeroTwoBipartite",{6,6}},{0,Missing["NotAvailable",{lcf}]}}}

PropertyReplace[l,"LCFNotations","13.3"]

RenameGraphFiles[]

LCF compute 10^5

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

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

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

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

Length[gs]

LCF compute 10^7

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

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

lcf={{{{-17,-15,-11,11},{-7,9,13,17},{-13,-7,7,11},{-13,5,9,15},{-13,-9,11,13},{-13,5,7,9},{-13,-11,-9,3},{-9,7,11,13},{-5,3,7,13},{-7,-3,7,13},{-9,-5,7,13},{-13,-11,-3,13},{-15,-9,-7,7},{-11,7,9,11},{-15,-13,-9,-7},{-11,-7,9,15},{-17,-7,9,13},{-13,-7,15,17}},2},{{{-17,-15,-11,13},{-9,-5,7,17},{-13,-11,-5,7},{-5,7,13,15},{-13,-11,-9,11},{-9,3,5,9},{-15,-9,5,11},{-9,5,11,13},{-15,-7,-3,5},{-7,11,13,15},{-11,-7,-5,9},{-5,5,11,15},{-17,-13,-5,3},{-13,-5,9,17},{-9,3,5,9},{-11,-3,5,9},{-13,-5,5,9},{-11,-3,11,13}},2},{{{-17,-15,-7,15},{-7,5,15,17},{-13,-7,-3,5},{-17,-15,5,15},{-11,-9,13,17},{-13,-9,3,11},{-15,-5,5,15},{-9,-5,3,13},{-11,-5,-3,5},{-15,3,7,15},{-15,-3,7,13},{-15,-5,7,11},{-3,3,7,15},{-5,7,9,15},{-17,3,9,15},{-15,-3,11,17},{-15,-11,-7,9},{-13,-7,-3,3}},2},{{{-17,-15,-5,5},{-11,-9,-5,17},{-13,-9,-5,3},{-15,-5,5,15},{-5,3,11,13},{-11,-5,-3,5},{-15,-9,3,15},{-15,-11,-3,13},{-15,-13,-5,11},{-3,3,7,15},{-5,7,9,15},{-17,-15,9,15},{-15,-3,11,17},{-15,3,5,13},{-15,5,11,15},{-11,5,9,15},{-7,-3,5,15},{-13,-7,5,15}},2},{{{-17,-15,-5,7},{5,9,15,17},{-3,3,7,13},{-11,-9,11,15},{-15,-9,3,7},{-15,-9,-3,7},{-15,-9,-5,7},{-15,-7,-3,15},{-11,-9,3,15},{-17,-13,-7,15},{-9,11,15,17},{-7,-3,3,5},{-13,-7,5,9},{-15,-7,5,9},{-11,-3,9,13},{-17,-13,9,11},{-15,-5,15,17},{-5,3,9,13}},2},{{{-17,-15,-3,5},{-11,-9,-5,17},{-13,-9,-7,3},{-15,-5,5,15},{-5,3,9,13},{-5,-3,5,7},{-15,-11,3,15},{-15,-11,-3,13},{-15,-11,-5,11},{-15,-3,7,15},{-5,7,9,15},{-17,-15,9,15},{-15,-7,15,17},{-9,3,7,11},{-15,5,11,15},{-17,3,11,15},{-7,-3,5,17},{-13,-7,5,15}},2},{{{-17,-15,7,13},{-9,5,15,17},{-5,-3,3,7},{-7,7,9,15},{-15,-11,3,9},{-15,-11,-3,9},{-15,-11,-5,9},{-7,-3,3,15},{-15,-9,7,15},{-17,-7,5,15},{-7,-3,9,17},{-13,3,11,15},{-13,-9,5,11},{-13,-9,3,11},{-9,-5,-3,7},{-17,-9,-7,5},{-15,-3,13,17},{-5,3,9,13}},2},{{{-17,-15,9,15},{-15,-7,15,17},{-15,-9,7,11},{3,5,11,15},{-17,-15,11,15},{-13,11,15,17},{-13,-3,5,11},{-17,-13,3,15},{-11,-9,-5,17},{-13,-9,-7,3},{-15,-3,5,13},{-5,3,9,13},{-3,5,7,13},{-15,-11,3,15},{-15,-11,-3,13},{-15,-11,-5,11},{-15,-11,-3,15},{-11,-5,9,15}},2},{{{-17,-13,-7,13},{-7,9,15,17},{-13,-5,-3,3},{-13,-7,5,7},{-13,-9,3,11},{-13,-3,9,13},{-17,-13,7,11},{-3,5,13,17},{-15,-9,-5,13},{-15,-11,3,13},{-9,-7,5,13},{3,7,13,15},{-5,-3,7,15},{-13,-7,3,9},{-15,-9,-3,7},{-17,-11,-5,5},{-15,-3,11,17},{-11,3,9,15}},2},{{{-17,-13,-7,15},{-9,11,15,17},{-13,-7,-3,3},{-13,-7,5,9},{-13,-7,3,9},{-11,-3,9,13},{-17,-13,9,11},{-3,3,13,17},{-15,-9,-5,13},{-17,-11,3,13},{-3,5,9,17},{3,7,13,15},{-11,-9,-3,11},{-15,-9,3,7},{-15,-9,-3,7},{-15,-9,-5,7},{-15,-3,11,15},{-11,3,9,15}},2},{{{-17,-13,-5,3},{-11,-9,13,17},{-13,-9,3,13},{-15,-3,5,13},{-7,-5,3,13},{-3,5,7,13},{-15,3,9,15},{-15,-3,7,13},{-15,-5,5,11},{-15,-11,-3,15},{-11,-5,9,15},{-17,3,9,15},{-15,-7,15,17},{-15,-5,3,5},{-15,-13,-7,-3},{-13,-9,7,15},{-13,-3,11,15},{-13,5,11,15}},2},{{{-17,-13,-5,7},{-3,3,11,17},{-15,7,9,15},{-17,-7,5,13},{-9,-3,11,17},{3,5,13,15},{-13,-11,5,11},{-15,-7,5,9},{-9,-5,-3,5},{-17,-11,-7,5},{-5,5,15,17},{-15,-9,-5,13},{-15,-11,-5,3},{-5,5,9,11},{-5,3,7,15},{-11,-5,-3,15},{-13,-9,3,11},{-15,-11,-3,9}},2},{{{-17,-13,-3,3},{-11,-9,13,17},{-13,-9,3,11},{-15,-3,5,13},{-9,-5,3,13},{-11,-3,5,13},{-15,3,7,15},{-15,-3,7,13},{-15,-5,7,11},{-11,-3,3,15},{-11,-5,9,15},{-17,3,9,15},{-15,-3,11,17},{-11,-7,3,9},{-15,-13,-7,-3},{-17,-7,3,15},{-13,-3,11,17},{-13,5,11,15}},2},{{{-17,-11,-7,9},{-11,11,15,17},{-17,-9,5,13},{-13,-9,3,17},{-13,-9,7,11},{-7,3,7,11},{-9,-3,7,11},{-11,-5,7,11},{-13,-3,11,13},{-9,5,7,13},{-15,-13,-11,7},{-7,3,7,9},{-13,-11,-7,9},{-7,9,13,15},{-7,-5,-3,11},{-13,-11,9,13},{-15,-11,-7,7},{-11,-7,11,13}},2},{{{-17,-11,-5,3},{-9,-3,5,17},{-5,3,7,15},{-7,-3,7,9},{-15,-11,3,9},{-15,-11,-3,9},{-15,-11,-5,9},{-3,3,11,15},{-15,7,9,15},{-17,-7,5,15},{-7,-3,9,17},{3,5,11,15},{-13,-9,5,11},{-15,-9,5,11},{-9,-5,-3,7},{-17,-9,-7,5},{-5,3,15,17},{-15,-9,-5,13}},2}};

l={{{"ZeroTwoBipartite",{6,6}},{0,Missing["NotAvailable",lcf]}}}

PropertyReplace[l,"LCFNotations","13.3"]

RenameGraphFiles[]

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

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

Length[gs]

LCF compute 5×10^7

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

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

(gs=DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,2}]])//Timing

Length[gs]

UnitDistance

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

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

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

UnitDistance by refinement

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

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

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"ZeroTwoBipartite", {6, 7}}

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

Primary

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

All

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

Inexact

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

Embedding types

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

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

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

Bilateral

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

Circular

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

Planar

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

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

MinimalCrossing

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

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

MinimalCrossing construction

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

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

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

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

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

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

Halin

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

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

Rigid

GraphData[{"ZeroTwoBipartite",{6,7}},"Rigid"]

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

Flexible

GraphData[{"ZeroTwoBipartite",{6,7}},"Flexible"]

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

LCF

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

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

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

GraphData[{"ZeroTwoBipartite",{6,7}},"LCFNotations"]

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

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

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoBipartite",{6,7}},2,TimeConstraint->120]

LCF compute 10^7

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

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

DeleteMissing[BilateralLCFGraph@@@Take[lcf,100]]//Timing

DeleteMissing[BilateralLCFGraph@@@Take[lcf,1000]]//Timing

Length[gs]

UnitDistance

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

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

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

UnitDistance by refinement

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

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

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"ZeroTwoBipartite", {6, 8}}

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

Primary

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

All

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

Inexact

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

Embedding types

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

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

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

Bilateral

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

Circular

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

Planar

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

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

MinimalCrossing

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

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

MinimalCrossing construction

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

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

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

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

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

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

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

Halin

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

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

Rigid

GraphData[{"ZeroTwoBipartite",{6,8}},"Rigid"]

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

Flexible

GraphData[{"ZeroTwoBipartite",{6,8}},"Flexible"]

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

LCF

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

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

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

GraphData[{"ZeroTwoBipartite",{6,8}},"LCFNotations"]

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

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

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoBipartite",{6,8}},2,TimeConstraint->120]

LCF compute 10^7

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

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

lcf={{{{-19,-9,-7,17},{-7,9,15,19},{-11,7,11,13},{-17,-15,-9,5},{-15,-9,3,11},{-19,-9,7,9},{-9,5,17,19},{-9,-3,3,9},{-15,-5,9,15},{-17,-7,9,15},{-15,-11,-9,-3},{-19,-5,9,11},{-13,-7,17,19},{-11,5,7,15},{-9,3,7,9},{-13,-11,9,15},{-15,-9,3,9},{-17,-9,-3,9},{-19,-9,-5,9},{-3,11,13,19}},2}};

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

BilateralLCFGraph/@%

l={{{"ZeroTwoBipartite",{6,8}},{0,Missing["NotAvailable",lcf]}}}

PropertyReplace[l,"LCFNotations","13.3"]

RenameGraphFiles[]

UnitDistance

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

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

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

UnitDistance by refinement

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

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

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"ZeroTwoBipartite", {6, 9}}

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

Primary

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

All

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

Inexact

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

Embedding types

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

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

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

Bilateral

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

Circular

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

Planar

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

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

MinimalCrossing

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

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

MinimalCrossing construction

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

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

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

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

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

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

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

Halin

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

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

Rigid

GraphData[{"ZeroTwoBipartite",{6,9}},"Rigid"]

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

Flexible

GraphData[{"ZeroTwoBipartite",{6,9}},"Flexible"]

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

LCF

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

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

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

GraphData[{"ZeroTwoBipartite",{6,9}},"LCFNotations"]

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

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

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoBipartite",{6,9}},2,TimeConstraint->120]

LCF compute 10^7

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

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

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

gs=DeleteMissing[BilateralLCFGraph@@@DeleteCases[lcf,{_,1}]]

Length[gs]

lcf=LCFNotation/@{,}

l={{{"ZeroTwoBipartite",{6,9}},{0,Missing["NotAvailable",lcf]}}}

PropertyReplace[l,"LCFNotations","13.3"]

RenameGraphFiles[]

UnitDistance

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

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

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

UnitDistance by refinement

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

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

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"ZeroTwoBipartite", {6, 10}}

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

Primary

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

All

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

Inexact

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

Embedding types

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

Default embedding

g=RotateGraph[Graph@GraphData[{"ZeroTwoBipartite",{6,10}},"Edges"],Pi/4]

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

RecognizeGraph[g]

Degenerate

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

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

Bilateral

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

Circular

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

Planar

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

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

MinimalCrossing

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

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

MinimalCrossing construction

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

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

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

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

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

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

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

Halin

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

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

Rigid

GraphData[{"ZeroTwoBipartite",{6,10}},"Rigid"]

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

Flexible

GraphData[{"ZeroTwoBipartite",{6,10}},"Flexible"]

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

LCF

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

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

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

GraphData[{"ZeroTwoBipartite",{6,10}},"LCFNotations"]

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

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

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoBipartite",{6,10}},2,TimeConstraint->120]

LCF compute 10^7

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

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

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

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

Length[gs]

UnitDistance

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

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

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

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

UnitDistance by refinement

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

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

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"ZeroTwoBipartite", {6, 11}}

GraphData[{"ZeroTwoBipartite",{6,11}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoBipartite",{6,11}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoBipartite",{6,11}},"Edges"]

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

RecognizeGraph[g]

Degenerate

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

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

Bilateral

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

Circular

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

Planar

GraphData[{"ZeroTwoBipartite",{6,11}},"Planar"]

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

MinimalCrossing

GraphData[{"ZeroTwoBipartite",{6,11}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

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

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"ZeroTwoBipartite",{6,11}},"Circulant"]

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

Halin

GraphData[{"ZeroTwoBipartite",{6,11}},"Halin"]

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

Rigid

GraphData[{"ZeroTwoBipartite",{6,11}},"Rigid"]

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

Flexible

GraphData[{"ZeroTwoBipartite",{6,11}},"Flexible"]

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

LCF

GraphData[{"ZeroTwoBipartite",{6,11}},"LCF"]

GraphData[{"ZeroTwoBipartite",{6,11}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoBipartite",{6,11}},"LCFSignature"]

GraphData[{"ZeroTwoBipartite",{6,11}},"LCFNotations"]

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

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

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoBipartite",{6,11}},2,TimeConstraint->120]

LCF compute 10^7

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

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

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

(gs=DeleteMissing[BilateralLCFGraph@@@DeleteCases[lcf,{_,1}]])//StyleGraphs//Timing

Length[gs]

lcf=LCFNotation/@{,}

l={{{"ZeroTwoBipartite",{6,11}},{0,Missing["NotAvailable",lcf]}}}

PropertyReplace[l,"LCFNotations","13.3"]

RenameGraphFiles[]

UnitDistance

GraphData[{"ZeroTwoBipartite",{6,11}},"UnitDistance"]

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

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

UnitDistance by refinement

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

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

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"ZeroTwoBipartite",{6,11}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"ZeroTwoBipartite",{6,11}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"ZeroTwoBipartite",{6,11}},"Polyhedral"]

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

{"ZeroTwoBipartite", {6, 12}}

GraphData[{"ZeroTwoBipartite",{6,12}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoBipartite",{6,12}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoBipartite",{6,12}},"Edges"]

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

RecognizeGraph[g]

Degenerate

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

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

Bilateral

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

Circular

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

Planar

GraphData[{"ZeroTwoBipartite",{6,12}},"Planar"]

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

MinimalCrossing

GraphData[{"ZeroTwoBipartite",{6,12}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

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

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"ZeroTwoBipartite",{6,12}},"Circulant"]

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

Halin

GraphData[{"ZeroTwoBipartite",{6,12}},"Halin"]

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

Rigid

GraphData[{"ZeroTwoBipartite",{6,12}},"Rigid"]

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

Flexible

GraphData[{"ZeroTwoBipartite",{6,12}},"Flexible"]

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

LCF

GraphData[{"ZeroTwoBipartite",{6,12}},"LCF"]

GraphData[{"ZeroTwoBipartite",{6,12}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoBipartite",{6,12}},"LCFSignature"]

GraphData[{"ZeroTwoBipartite",{6,12}},"LCFNotations"]

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

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

LCF compute 10^5

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

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

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

gs=DeleteMissing[BilateralLCFGraph/@%]

lcf={{{{-27,-9,-3,9},{-9,3,7,27},{-9,-3,5,25},{-9,-5,3,23},{-9,-7,-3,21},{-21,3,7,11},{-21,-3,5,11},{-21,-5,3,11},{-27,-7,-3,7},{-9,3,5,27},{-23,-11,-3,11},{-23,-13,-5,11},{-15,-7,-3,21},{-17,3,9,21},{-23,-5,7,21},{-23,-7,3,23},{-21,-11,-3,23},{-11,5,7,9},{-11,-3,3,9},{-27,5,9,23},{3,9,23,27},{-11,-7,-3,9},{-11,-9,-5,9},{-27,-3,9,21},{-7,-5,17,27},{-21,3,7,15},{-23,-9,5,13},{-25,-9,3,11}},2},{{{-27,-9,-3,9},{-9,3,7,27},{-9,-3,5,25},{-9,-5,3,23},{-9,-7,-3,21},{3,7,11,19},{-23,-21,-3,5},{-25,-21,-5,3},{-7,-3,7,11},{-9,3,5,11},{-23,-11,-3,25},{-23,-13,-5,23},{-15,-7,-3,11},{-17,3,9,21},{-23,-5,7,21},{-23,-7,3,23},{-21,-11,-3,23},{-23,5,7,9},{-25,-3,3,9},{-11,5,9,23},{-11,3,9,23},{-7,-3,9,25},{-9,-5,9,23},{-11,-3,9,21},{-19,-7,-5,17},{-21,3,7,15},{-23,-9,5,13},{-25,-9,3,11}},2}};

l={{{"ZeroTwoBipartite",{6,12}},{0,Missing["NotAvailable",lcf]}}}

PropertyReplace[l,"LCFNotations","13.3"]

RenameGraphFiles[]

LCF compute 10^7

GraphData[{"ZeroTwoBipartite",{6,12}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoBipartite",{6,12}},"LCFSignature"]

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

MaxMemoryUsed[]/10.^9 "GB"

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

Length[gs]

l={{{"ZeroTwoBipartite",{6,12}},{0,Missing["NotAvailable",lcf]}}}

PropertyReplace[l,"LCFNotations","13.3"]

RenameGraphFiles[]

UnitDistance

GraphData[{"ZeroTwoBipartite",{6,12}},"UnitDistance"]

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

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

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

UnitDistance by refinement

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

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"ZeroTwoBipartite",{6,12}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"ZeroTwoBipartite",{6,12}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"ZeroTwoBipartite",{6,12}},"Polyhedral"]

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

{"ZeroTwoBipartite", {6, 13}} == {"Hypercube", 6}

GraphData[{"ZeroTwoBipartite",{6,13}},"StandardName"]

{"ZeroTwoBipartite", {7, 1}}

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

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoBipartite",{7,1}},"EdgeList"]]

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

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

Bilateral

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

Circular

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

Planar

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

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

MinimalCrossing

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

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

MinimalCrossing construction

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

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"ZeroTwoBipartite",{7,1}},"Circulant"]

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

Halin

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

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

Rigid

GraphData[{"ZeroTwoBipartite",{7,1}},"Rigid"]

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

Flexible

GraphData[{"ZeroTwoBipartite",{7,1}},"Flexible"]

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

LCF

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

GraphData[{"ZeroTwoBipartite",{7,1}},"HamiltonianCycleCount"]

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

GraphData[{"ZeroTwoBipartite",{7,1}},"LCFNotations"]

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

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

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoBipartite",{7,1}},2,TimeConstraint->120]

LCF compute 10^7

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

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

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

Length[gs]

UnitDistance

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

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

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

UnitDistance by refinement

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

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

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"ZeroTwoBipartite", {7, 2}}

GraphData[{"ZeroTwoBipartite",{7,2}},"StandardName"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoBipartite",{7,2}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoBipartite",{7,2}},"Edges"]

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

RecognizeGraph[g]

Degenerate

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

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

Bilateral

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

Circular

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

Planar

GraphData[{"ZeroTwoBipartite",{7,2}},"Planar"]

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

MinimalCrossing

GraphData[{"ZeroTwoBipartite",{7,2}},{"RCN","CN"}]

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

MinimalCrossing construction

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

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"ZeroTwoBipartite",{7,2}},"Circulant"]

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

Halin

GraphData[{"ZeroTwoBipartite",{7,2}},"Halin"]

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

Rigid

GraphData[{"ZeroTwoBipartite",{7,2}},"Rigid"]

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

Flexible

GraphData[{"ZeroTwoBipartite",{7,2}},"Flexible"]

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

LCF

GraphData[{"ZeroTwoBipartite",{7,2}},"LCF"]

GraphData[{"ZeroTwoBipartite",{7,2}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoBipartite",{7,2}},"LCFSignature"]

GraphData[{"ZeroTwoBipartite",{7,2}},"LCFNotations"]

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

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

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoBipartite",{7,2}},2,TimeConstraint->120]

LCF compute 10^7

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

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

lcf={{{{-23,-21,-11,7,19},{-21,-11,5,17,23},{-21,-11,-3,3,15},{-15,-5,9,17,21},{-17,3,7,17,21},{-21,-9,-3,5,21},{-21,-9,-5,3,17},{-21,-9,-7,-3,15},{-19,-15,3,9,21},{-19,-15,-3,7,21},{-19,-15,-5,5,21},{-7,-3,3,7,17},{-21,-19,-9,7,15},{-23,-17,3,11,19},{-17,-3,11,19,23},{-17,-5,11,19,21},{-17,-7,-3,3,7},{-15,-9,5,15,19},{-23,-17,-7,3,15},{-19,-7,-3,15,23},{-23,-17,3,9,17},{-17,-3,9,17,23},{-15,-5,5,9,17},{-17,-7,-3,3,17}},2},{{{-23,-21,-11,9,17},{-21,-11,7,17,23},{-19,-11,-3,13,17},{-17,-15,9,19,21},{-5,3,7,17,21},{-21,-17,-9,5,15},{-21,-17,-9,3,17},{-21,-17,-9,-3,19},{-15,-7,3,7,21},{-15,-9,-3,7,21},{-15,-5,9,17,21},{-19,-7,-3,3,7},{-21,-9,5,15,17},{-23,-15,3,11,17},{-17,-3,11,17,23},{-19,-13,-7,11,21},{-7,-3,3,7,19},{-21,-17,-5,5,15},{-21,-17,-7,3,15},{-21,-17,-9,-3,15},{-15,3,9,19,21},{-17,-3,9,17,21},{-19,-5,9,15,21},{-17,-7,-3,3,5}},2},{{{-23,-19,-11,3,17},{-21,-13,-3,17,23},{-15,-7,9,19,21},{-17,-7,-3,3,7},{-21,-7,5,17,21},{-21,-7,3,15,19},{-21,-7,-3,13,17},{-19,-15,3,9,21},{-19,-15,-3,7,21},{-19,-15,-5,5,21},{-7,-3,3,7,17},{-21,-19,-9,7,15},{-23,-17,3,13,19},{-17,-3,11,19,23},{-17,-5,9,19,21},{-17,-7,-3,3,7},{-17,-9,5,15,19},{-23,-17,-7,3,15},{-17,-7,-3,15,23},{-23,-13,3,7,17},{-15,-3,7,17,23},{-19,-17,-5,7,17},{-7,-3,3,7,17},{-21,-17,-9,7,17}},2},{{{-23,-17,-11,-5,11},{-17,-11,-7,9,23},{-5,-3,3,7,17},{-21,-17,-9,5,19},{-21,-17,-9,3,17},{-21,-17,-9,-3,15},{-15,3,9,17,21},{-17,-3,9,17,21},{-19,-5,9,17,21},{-17,-7,-3,3,5},{-23,-9,7,11,17},{-11,5,11,17,23},{-19,-13,-3,11,17},{-15,3,7,11,19},{-17,-5,7,11,17},{-19,-9,3,7,15},{-21,-9,-5,-3,17},{-23,-9,-7,3,19},{-19,-3,7,9,23},{-17,3,5,9,21},{-15,-7,-3,9,19},{-17,-11,-7,5,17},{-19,-11,-7,-3,15},{-17,-11,3,13,19}},2},{{{-23,-17,-11,3,17},{-17,-11,-3,15,23},{-17,-15,-5,9,21},{-7,-3,3,7,19},{-21,-17,-9,5,15},{-21,-7,3,9,15},{-21,-7,-3,7,15},{-19,3,9,17,21},{-17,-3,9,17,21},{-15,-5,9,17,21},{-21,-17,-7,-3,5},{-21,-19,-9,15,17},{-17,-13,3,11,19},{-23,-17,-7,11,21},{-17,-9,11,21,23},{-5,-3,3,7,17},{-21,-15,-9,5,19},{-21,-17,-9,3,17},{-21,-19,-9,-3,15},{-15,3,9,17,21},{-15,-3,7,17,21},{-15,-5,5,17,21},{-19,-7,-3,3,7},{-21,-11,7,13,19}},2},{{{-23,-17,-9,3,11},{-17,-11,-3,11,23},{-17,-13,-5,11,21},{-7,-3,3,7,19},{-21,-15,-9,5,15},{-21,-17,-7,3,15},{-21,-19,-7,-3,15},{-17,3,11,17,21},{-17,-3,9,17,21},{-17,-5,7,17,21},{-17,-7,-3,3,5},{-23,-11,7,9,19},{-11,5,9,17,23},{-19,-11,-3,13,15},{-17,3,5,11,17},{-19,-5,5,9,17},{-21,-7,5,7,17},{-19,-9,-5,-3,17},{-19,-11,-7,5,19},{-15,-5,3,9,21},{-15,-9,-5,7,19},{-15,-9,-5,5,17},{-19,-3,3,7,19},{-21,-7,-5,7,19}},2},{{{-23,-17,3,9,19},{-19,-3,9,17,23},{-13,-9,9,11,21},{-15,-11,-3,11,19},{-19,-5,3,7,13},{-19,-7,5,9,11},{-23,-13,7,15,19},{-15,-3,5,17,23},{-19,-17,-9,13,15},{-15,-9,3,5,19},{-15,-9,-5,11,19},{-21,-15,-9,-7,9},{-15,-5,-3,7,15},{-11,-7,5,13,19},{-23,-11,-9,-5,21},{-21,5,7,17,23},{-21,-11,3,11,15},{-21,-13,5,9,13},{-17,-5,3,15,21},{-19,-7,-3,15,21},{-21,-9,-5,15,21},{-15,-13,-11,-3,15},{-19,-7,-5,3,7},{-21,-15,5,9,21}},2}};

l={{{"ZeroTwoBipartite",{7,2}},{0,Missing["NotAvailable",lcf]}}}

PropertyReplace[l,"LCFNotations","13.3"]

RenameGraphFiles[]

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

Length[gs]

UnitDistance

GraphData[{"ZeroTwoBipartite",{7,2}},"UnitDistance"]

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

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

UnitDistance by refinement

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

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

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData[{"ZeroTwoBipartite",{7,2}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"ZeroTwoBipartite",{7,2}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"ZeroTwoBipartite",{7,2}},"Polyhedral"]

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

{"ZeroTwoBipartite", {7, 3}}

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

Primary

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

All

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

Inexact

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

Embedding types

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

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

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

Bilateral

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

Circular

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

Planar

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

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

MinimalCrossing

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

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

MinimalCrossing construction

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

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

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

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

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

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

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

Halin

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

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

Rigid

GraphData[{"ZeroTwoBipartite",{7,3}},"Rigid"]

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

Flexible

GraphData[{"ZeroTwoBipartite",{7,3}},"Flexible"]

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

LCF

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

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

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

GraphData[{"ZeroTwoBipartite",{7,3}},"LCFNotations"]

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

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

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoBipartite",{7,3}},2,TimeConstraint->120]

LCF compute 10^7

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

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

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

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

Length[gs]

UnitDistance

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

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

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

UnitDistance by refinement

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

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

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"ZeroTwoBipartite", {7, 4}}

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

Primary

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

All

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

Inexact

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

Embedding types

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

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

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

Bilateral

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

Circular

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

Planar

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

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

MinimalCrossing

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

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

MinimalCrossing construction

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

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

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

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

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

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

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

Halin

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

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

Rigid

GraphData[{"ZeroTwoBipartite",{7,4}},"Rigid"]

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

Flexible

GraphData[{"ZeroTwoBipartite",{7,4}},"Flexible"]

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

LCF

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

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

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

GraphData[{"ZeroTwoBipartite",{7,4}},"LCFNotations"]

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

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

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoBipartite",{7,4}},2,TimeConstraint->120]

LCF compute 10^7

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

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

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

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

Length[gs]

UnitDistance

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

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

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

UnitDistance by refinement

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

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

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"ZeroTwoBipartite", {7, 5}}

Names

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

GraphData[{"ZeroTwoBipartite",{7,5}},"StandardNames"]

Primary

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

All

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

Inexact

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

Embedding types

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

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

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

Bilateral

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

Circular

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

Planar

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

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

MinimalCrossing

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

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

MinimalCrossing construction

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

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

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

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

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

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

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

Halin

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

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

Rigid

GraphData[{"ZeroTwoBipartite",{7,5}},"Rigid"]

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

Flexible

GraphData[{"ZeroTwoBipartite",{7,5}},"Flexible"]

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

LCF

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

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

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

GraphData[{"ZeroTwoBipartite",{7,5}},"LCFNotations"]

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

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

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoBipartite",{7,5}},2,TimeConstraint->120]

LCF compute 10^7

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

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

UnitDistance

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

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

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

UnitDistance by refinement

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

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

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"ZeroTwoBipartite", {7, 6}}

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

Primary

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

All

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

Inexact

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

Embedding types

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

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

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

Bilateral

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

Circular

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

Planar

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

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

MinimalCrossing

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

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

MinimalCrossing construction

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

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

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

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

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

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

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

Halin

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

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

Rigid

GraphData[{"ZeroTwoBipartite",{7,6}},"Rigid"]

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

Flexible

GraphData[{"ZeroTwoBipartite",{7,6}},"Flexible"]

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

LCF

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

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

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

GraphData[{"ZeroTwoBipartite",{7,6}},"LCFNotations"]

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

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

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoBipartite",{7,6}},2,TimeConstraint->120]

LCF compute 10^7

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

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

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

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

Length[gs]

UnitDistance

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

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

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

UnitDistance by refinement

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

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

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

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

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

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

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

{"ZeroTwoBipartite", {7, 7}}

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

Primary

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

All

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

Inexact

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

Embedding types

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

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

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

Bilateral

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

Circular

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

Planar

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

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

MinimalCrossing

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

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

MinimalCrossing construction

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

(cn=CrossingNumber[GraphData[{"ZeroTwoBipartite",{7,7}}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoBipartite",{7,7}}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoBipartite",{7,7}}],TimeConstraint->3600])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoBipartite",{7,7}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoBipartite",{7,7}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoBipartite",{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[{"ZeroTwoBipartite",{7,7}},"Circulant"]

GraphData[{"ZeroTwoBipartite",{7,7}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"ZeroTwoBipartite",{7,7}},"Halin"]

GraphData[{"ZeroTwoBipartite",{7,7}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoBipartite",{7,7}},"Rigid"]

GraphData[{"ZeroTwoBipartite",{7,7}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoBipartite",{7,7}},"Flexible"]

GraphData[{"ZeroTwoBipartite",{7,7}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoBipartite",{7,7}},"LCF"]

GraphData[{"ZeroTwoBipartite",{7,7}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoBipartite",{7,7}},"LCFSignature"]

GraphData[{"ZeroTwoBipartite",{7,7}},"LCFNotations"]

GraphData[{"ZeroTwoBipartite",{7,7}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoBipartite",{7,7}},2,TimeConstraint->120]

LCF compute 10^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoBipartite",{7,7}}],10^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

(gs=Flatten[{
(* all LCF's with order >1, sorted by order and with bilateral graphs first *)
Join[DeleteCases[#,{_Missing,_}][[All,1]],Cases[#,{_Missing,_}][[All,2]]]&/@Map[{BilateralLCFGraph@#,#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,1}]]}])//Timing

Length[gs]

UnitDistance

GraphData[{"ZeroTwoBipartite",{7,7}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoBipartite",{7,7}}],Debug->True]//Timing

GraphData[{"ZeroTwoBipartite",{7,7}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoBipartite",{7,7}},"VertexList"],GraphData[{"ZeroTwoBipartite",{7,7}},"EdgeList"]],MaxIterations->500]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoBipartite",{7,7}},"Graph",#]&/@{"All","UnitDistance"})

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoBipartite",{7,7}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"ZeroTwoBipartite",{7,7}},"Matchstick"]

GraphData[{"ZeroTwoBipartite",{7,7}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoBipartite",{7,7}},"Edges"]]

3D All

GraphData[{"ZeroTwoBipartite",{7,7}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoBipartite",{7,7}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoBipartite",{7,7}},"Polyhedral"]

GraphData[{"ZeroTwoBipartite",{7,7}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoBipartite", {7, 8}}

GraphData[{"ZeroTwoBipartite",{7,8}},"StandardName"]

Primary

GraphData[{"ZeroTwoBipartite",{7,8}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoBipartite",{7,8}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoBipartite",{7,8}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoBipartite",{7,8}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoBipartite",{7,8}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoBipartite",{7,8}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoBipartite",{7,8}},"Graph","Degenerate"]

Bilateral

GraphData[{"ZeroTwoBipartite",{7,8}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoBipartite",{7,8}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoBipartite",{7,8}},"Planar"]

GraphData[{"ZeroTwoBipartite",{7,8}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoBipartite",{7,8}},{"RCN","CN"}]

GraphData[{"ZeroTwoBipartite",{7,8}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoBipartite",{7,8}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoBipartite",{7,8}}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoBipartite",{7,8}}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoBipartite",{7,8}}],TimeConstraint->3600])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoBipartite",{7,8}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoBipartite",{7,8}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoBipartite",{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[{"ZeroTwoBipartite",{7,8}},"Circulant"]

GraphData[{"ZeroTwoBipartite",{7,8}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"ZeroTwoBipartite",{7,8}},"Halin"]

GraphData[{"ZeroTwoBipartite",{7,8}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoBipartite",{7,8}},"Rigid"]

GraphData[{"ZeroTwoBipartite",{7,8}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoBipartite",{7,8}},"Flexible"]

GraphData[{"ZeroTwoBipartite",{7,8}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoBipartite",{7,8}},"LCF"]

GraphData[{"ZeroTwoBipartite",{7,8}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoBipartite",{7,8}},"LCFSignature"]

GraphData[{"ZeroTwoBipartite",{7,8}},"LCFNotations"]

GraphData[{"ZeroTwoBipartite",{7,8}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoBipartite",{7,8}},2,TimeConstraint->120]

LCF compute 10^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoBipartite",{7,8}}],10^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

(gs=Flatten[{
(* all LCF's with order >1, sorted by order and with bilateral graphs first *)
Join[DeleteCases[#,{_Missing,_}][[All,1]],Cases[#,{_Missing,_}][[All,2]]]&/@Map[{BilateralLCFGraph@#,#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,1}]]}])//Timing

Length[gs]

UnitDistance

GraphData[{"ZeroTwoBipartite",{7,8}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoBipartite",{7,8}}],Debug->True]//Timing

GraphData[{"ZeroTwoBipartite",{7,8}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoBipartite",{7,8}},"VertexList"],GraphData[{"ZeroTwoBipartite",{7,8}},"EdgeList"]],MaxIterations->500]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoBipartite",{7,8}},"Graph",#]&/@{"All","UnitDistance"})

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoBipartite",{7,8}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"ZeroTwoBipartite",{7,8}},"Matchstick"]

GraphData[{"ZeroTwoBipartite",{7,8}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoBipartite",{7,8}},"Edges"]]

3D All

GraphData[{"ZeroTwoBipartite",{7,8}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoBipartite",{7,8}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoBipartite",{7,8}},"Polyhedral"]

GraphData[{"ZeroTwoBipartite",{7,8}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoBipartite", {7, 9}}

GraphData[{"ZeroTwoBipartite",{7,9}},"StandardName"]

Primary

GraphData[{"ZeroTwoBipartite",{7,9}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoBipartite",{7,9}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoBipartite",{7,9}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoBipartite",{7,9}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoBipartite",{7,9}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoBipartite",{7,9}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoBipartite",{7,9}},"Graph","Degenerate"]

Bilateral

GraphData[{"ZeroTwoBipartite",{7,9}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoBipartite",{7,9}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoBipartite",{7,9}},"Planar"]

GraphData[{"ZeroTwoBipartite",{7,9}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoBipartite",{7,9}},{"RCN","CN"}]

GraphData[{"ZeroTwoBipartite",{7,9}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoBipartite",{7,9}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoBipartite",{7,9}}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoBipartite",{7,9}}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoBipartite",{7,9}}],TimeConstraint->3600])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoBipartite",{7,9}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoBipartite",{7,9}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoBipartite",{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[{"ZeroTwoBipartite",{7,9}},"Circulant"]

GraphData[{"ZeroTwoBipartite",{7,9}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"ZeroTwoBipartite",{7,9}},"Halin"]

GraphData[{"ZeroTwoBipartite",{7,9}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoBipartite",{7,9}},"Rigid"]

GraphData[{"ZeroTwoBipartite",{7,9}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoBipartite",{7,9}},"Flexible"]

GraphData[{"ZeroTwoBipartite",{7,9}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoBipartite",{7,9}},"LCF"]

GraphData[{"ZeroTwoBipartite",{7,9}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoBipartite",{7,9}},"LCFSignature"]

GraphData[{"ZeroTwoBipartite",{7,9}},"LCFNotations"]

GraphData[{"ZeroTwoBipartite",{7,9}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoBipartite",{7,9}},2,TimeConstraint->120]

LCF compute 10^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoBipartite",{7,9}}],10^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

(gs=Flatten[{
(* all LCF's with order >1, sorted by order and with bilateral graphs first *)
Join[DeleteCases[#,{_Missing,_}][[All,1]],Cases[#,{_Missing,_}][[All,2]]]&/@Map[{BilateralLCFGraph@#,#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,1}]]}])//Timing

Length[gs]

UnitDistance

GraphData[{"ZeroTwoBipartite",{7,9}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoBipartite",{7,9}}],Debug->True]//Timing

GraphData[{"ZeroTwoBipartite",{7,9}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoBipartite",{7,9}},"VertexList"],GraphData[{"ZeroTwoBipartite",{7,9}},"EdgeList"]],MaxIterations->500]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoBipartite",{7,9}},"Graph",#]&/@{"All","UnitDistance"})

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoBipartite",{7,9}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"ZeroTwoBipartite",{7,9}},"Matchstick"]

GraphData[{"ZeroTwoBipartite",{7,9}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoBipartite",{7,9}},"Edges"]]

3D All

GraphData[{"ZeroTwoBipartite",{7,9}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoBipartite",{7,9}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoBipartite",{7,9}},"Polyhedral"]

GraphData[{"ZeroTwoBipartite",{7,9}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoBipartite", {7, 10}}

GraphData[{"ZeroTwoBipartite",{7,10}},"StandardName"]

Primary

GraphData[{"ZeroTwoBipartite",{7,10}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoBipartite",{7,10}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoBipartite",{7,10}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoBipartite",{7,10}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoBipartite",{7,10}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoBipartite",{7,10}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoBipartite",{7,10}},"Graph","Degenerate"]

Bilateral

GraphData[{"ZeroTwoBipartite",{7,10}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoBipartite",{7,10}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoBipartite",{7,10}},"Planar"]

GraphData[{"ZeroTwoBipartite",{7,10}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoBipartite",{7,10}},{"RCN","CN"}]

GraphData[{"ZeroTwoBipartite",{7,10}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoBipartite",{7,10}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoBipartite",{7,10}}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoBipartite",{7,10}}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoBipartite",{7,10}}],TimeConstraint->3600])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoBipartite",{7,10}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoBipartite",{7,10}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoBipartite",{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[{"ZeroTwoBipartite",{7,10}},"Circulant"]

GraphData[{"ZeroTwoBipartite",{7,10}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"ZeroTwoBipartite",{7,10}},"Halin"]

GraphData[{"ZeroTwoBipartite",{7,10}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoBipartite",{7,10}},"Rigid"]

GraphData[{"ZeroTwoBipartite",{7,10}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoBipartite",{7,10}},"Flexible"]

GraphData[{"ZeroTwoBipartite",{7,10}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoBipartite",{7,10}},"LCF"]

GraphData[{"ZeroTwoBipartite",{7,10}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoBipartite",{7,10}},"LCFSignature"]

GraphData[{"ZeroTwoBipartite",{7,10}},"LCFNotations"]

GraphData[{"ZeroTwoBipartite",{7,10}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoBipartite",{7,10}},2,TimeConstraint->120]

LCF compute 10^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoBipartite",{7,10}}],10^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

(gs=Flatten[{
(* all LCF's with order >1, sorted by order and with bilateral graphs first *)
Join[DeleteCases[#,{_Missing,_}][[All,1]],Cases[#,{_Missing,_}][[All,2]]]&/@Map[{BilateralLCFGraph@#,#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,1}]]}])//Timing

Length[gs]

UnitDistance

GraphData[{"ZeroTwoBipartite",{7,10}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoBipartite",{7,10}}],Debug->True]//Timing

GraphData[{"ZeroTwoBipartite",{7,10}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoBipartite",{7,10}},"VertexList"],GraphData[{"ZeroTwoBipartite",{7,10}},"EdgeList"]],MaxIterations->500]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoBipartite",{7,10}},"Graph",#]&/@{"All","UnitDistance"})

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoBipartite",{7,10}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"ZeroTwoBipartite",{7,10}},"Matchstick"]

GraphData[{"ZeroTwoBipartite",{7,10}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoBipartite",{7,10}},"Edges"]]

3D All

GraphData[{"ZeroTwoBipartite",{7,10}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoBipartite",{7,10}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoBipartite",{7,10}},"Polyhedral"]

GraphData[{"ZeroTwoBipartite",{7,10}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoBipartite", {7, 40}} == {"Hypercube", 7}

GraphData[{"ZeroTwoBipartite",{7,40}},"StandardName"]

{"ZeroTwoBipartite", {8, 71}} == {"FoldedCube", 8}

GraphData[{"ZeroTwoBipartite",{8,71}},"StandardName"]

{"ZeroTwoBipartite", {8, 104}} == {"Hypercube", 8}

GraphData[{"ZeroTwoBipartite",{8,104}},"StandardName"]

ZeroTwoNonbipartite

GraphData["ZeroTwoNonbipartite*"]

{"ZeroTwoNonbipartite", {3, 1}} == "TetrahedralGraph"

GraphData[{"ZeroTwoNonbipartite",{3,1}},"StandardName"]

{"ZeroTwoNonbipartite", {4, 1}} == {"Rook", {2, 4}}

GraphData[{"ZeroTwoNonbipartite",{4,1}},"StandardName"]

{"ZeroTwoNonbipartite", {5, 1}} == "IcosahedralGraph"

GraphData[{"ZeroTwoNonbipartite",{5,1}},"StandardName"]

{"ZeroTwoNonbipartite", {5, 2}} == "ClebschGraph"

GraphData[{"ZeroTwoNonbipartite",{5,2}},"StandardName"]

{"ZeroTwoNonbipartite", {5, 3}}

GraphData[{"ZeroTwoNonbipartite",{5,3}},"StandardName"]

Primary

GraphData[{"ZeroTwoNonbipartite",{5,3}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{5,3}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{5,3}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{5,3}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{5,3}},"Edges"]

v=Join[UnitCirclePoints[12],CirclePoints[1/2,4]];
g=Graph[Range[Length[v]],UndirectedEdge@@@{e[13,1,2,3,5,4,6,8,7,9,11,10,12,2,13,6,5,14,9,15,12,16,11,12],e[1,11],e[9,8,15,7,16],e[13,3,16],e[4,14,1,3],{5,7},e[4,15],e[13,10,16],{10,8},{2,4},{6,14}},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{5,3}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{5,3}},"Graph","Degenerate"]

Bilateral

GraphData[{"ZeroTwoNonbipartite",{5,3}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{5,3}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{5,3}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{5,3}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{5,3}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{5,3}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{5,3}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{5,3}}],TimeConstraint->10])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{5,3}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoNonbipartite",{5,3}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{5,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[{"ZeroTwoNonbipartite",{5,3}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{5,3}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"ZeroTwoNonbipartite",{5,3}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{5,3}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{5,3}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{5,3}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{5,3}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{5,3}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{5,3}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{5,3}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{5,3}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{5,3}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{5,3}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoNonbipartite",{5,3}},2,TimeConstraint->120]

LCF compute all

Length[FindHamiltonianCycle[GraphData[{"ZeroTwoNonbipartite",{5,3}}],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{5,3}}],All])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

(gs=Flatten[{
(* all LCF's with order >1, sorted by order and with bilateral graphs first *)
Join[DeleteCases[#,{_Missing,_}][[All,1]],Cases[#,{_Missing,_}][[All,2]]]&/@Map[{BilateralLCFGraph@#,#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1|2}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,1|2}]]}])//Timing

Length[gs]

(gs=Flatten[{
(* all LCF's with order >1, sorted by order and with bilateral graphs first *)
Join[DeleteCases[#,{_Missing,_}][[All,1]],Cases[#,{_Missing,_}][[All,2]]]&/@Map[{BilateralLCFGraph@#,#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1|2}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,2}]]}])//Timing

Length[gs]

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{5,3}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{5,3}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{5,3}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{5,3}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{5,3}},"EdgeList"]],MaxIterations->500]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{5,3}},"Graph",#]&/@{"All","UnitDistance"})

LabelGraph/@{,,,}

gs={RotateGraph[,{1,15}],RotateGraph[,{2,11}],RotateGraph[,{10,8}]}

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{5,3}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"ZeroTwoNonbipartite",{5,3}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{5,3}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{5,3}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{5,3}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{5,3}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{5,3}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{5,3}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite", {5, 4}}

GraphData[{"ZeroTwoNonbipartite",{5,4}},"StandardName"]

Primary

GraphData[{"ZeroTwoNonbipartite",{5,4}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{5,4}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{5,4}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{5,4}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{5,4}},"Edges"]

Mean[v[[{7,12}]]]//FullSimplify

v=Join[UnitCirclePoints[8],CirclePoints[1/2,4],{{(1/4) (2+(Sqrt[2])),1/2},{(1/4) (2+(Sqrt[2])),-1/2},{-(1/4) (2+(Sqrt[2])),1/2},{(1/(-4)) (2+(Sqrt[2])),-1/2}}];
g=Graph[Range[Length[v]],UndirectedEdge@@@{e[1,2,3,4,9],e[10,1,16,15,6,7,8,11,4,15,10,3,14],e[1,11,13,14,2,13,3],e[11,6,5,10,8,9,2],e[7,16,6],e[15,7,12,4],e[12,5,9],e[16,9],e[1,12,14,8],{5,13}},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{5,4}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{5,4}},"Graph","Degenerate"]

Bilateral

GraphData[{"ZeroTwoNonbipartite",{5,4}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{5,4}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{5,4}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{5,4}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{5,4}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{5,4}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{5,4}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{5,4}}],TimeConstraint->10])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{5,4}}],"CrossingNumber"->cn,RandomSeed->n]],{n,500}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoNonbipartite",{5,4}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{5,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[{"ZeroTwoNonbipartite",{5,4}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{5,4}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"ZeroTwoNonbipartite",{5,4}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{5,4}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{5,4}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{5,4}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{5,4}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{5,4}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{5,4}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{5,4}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{5,4}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{5,4}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{5,4}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute all

Length[FindHamiltonianCycle[GraphData[{"ZeroTwoNonbipartite",{5,4}}],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{5,4}}],All])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

gs=DeleteMissing[BilateralLCFGraph@@@lcf]

Length[gs]

gs=DeleteMissing[BilateralLCFGraph@@@DeleteCases[lcf,{_,1}]]//StyleGraphs

Length[gs]

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{5,4}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{5,4}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{5,4}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{5,4}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{5,4}},"EdgeList"]],MaxIterations->500]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{5,4}},"Graph",#]&/@{"All","UnitDistance"})

gs={RotateGraph[,{14,13}],RotateGraph[,{1,15}],RotateGraph[,{11,8}]}

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{5,4}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"ZeroTwoNonbipartite",{5,4}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{5,4}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{5,4}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{5,4}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{5,4}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{5,4}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{5,4}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite", {6, 1}} == {"Rook", {4, 4}}

GraphData[{"ZeroTwoNonbipartite",{6,1}},"StandardName"]

{"ZeroTwoNonbipartite", {6, 2}} == "ShrikhandeGraph"

GraphData[{"ZeroTwoNonbipartite",{6,2}},"StandardName"]

{"ZeroTwoNonbipartite", {6, 3}} == {"NoncayleyTransitive", {20, 16}}

GraphData[{"ZeroTwoNonbipartite",{6,3}},"StandardName"]

{"ZeroTwoNonbipartite", {6, 4}}

GraphData[{"ZeroTwoNonbipartite",{6,4}},"StandardName"]

Primary

GraphData[{"ZeroTwoNonbipartite",{6,4}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{6,4}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{6,4}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{6,4}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{6,4}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{6,4}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{6,4}},"Graph","Degenerate"]

Bilateral

GraphData[{"ZeroTwoNonbipartite",{6,4}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{6,4}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{6,4}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{6,4}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{6,4}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{6,4}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{6,4}}]]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"ZeroTwoNonbipartite",{6,4}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{6,4}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"ZeroTwoNonbipartite",{6,4}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{6,4}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{6,4}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{6,4}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{6,4}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{6,4}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{6,4}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{6,4}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{6,4}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{6,4}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{6,4}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute all

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{6,4}}],All])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"ZeroTwoNonbipartite",{6,4}},".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Flatten[{
(* all LCF's with order >1, sorted by order and with bilateral graphs first *)
Join[DeleteCases[#,{_Missing,_}][[All,1]],Cases[#,{_Missing,_}][[All,2]]]&/@Map[{BilateralLCFGraph@#,#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1|2}],Last],{2}],{2}]}]

BilateralGraphEmbeddingQ/@%

(gs=DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,2}]])//Timing

Length[gs]

gs=Join[{,,,,,,,,,,,,,,,},{,,,,,,,,,,,,,,,,,,,}]

Length[gs]

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{6,4}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{6,4}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{6,4}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{6,4}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{6,4}},"EdgeList"]],MaxIterations->500]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{6,4}},"Graph",#]&/@{"All","UnitDistance"})

gs={,RotateGraph[,{6,19}],RotateGraph[,{4,15}]}

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{6,4}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"ZeroTwoNonbipartite",{6,4}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{6,4}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{6,4}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{6,4}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{6,4}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{6,4}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{6,4}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite", {6, 5}}

GraphData[{"ZeroTwoNonbipartite",{6,5}},"StandardName"]

Primary

GraphData[{"ZeroTwoNonbipartite",{6,5}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{6,5}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{6,5}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{6,5}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{6,5}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{6,5}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{6,5}},"Graph","Degenerate"]

Bilateral

GraphData[{"ZeroTwoNonbipartite",{6,5}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{6,5}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{6,5}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{6,5}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{6,5}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{6,5}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{6,5}}]]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"ZeroTwoNonbipartite",{6,5}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{6,5}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"ZeroTwoNonbipartite",{6,5}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{6,5}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{6,5}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{6,5}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{6,5}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{6,5}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{6,5}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{6,5}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{6,5}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{6,5}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{6,5}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoNonbipartite",{6,5}},2,TimeConstraint->120]

LCF compute all

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{6,5}}],All])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"ZeroTwoNonbipartite",{6,5}},".m.gz"]])[[All,2]]]//Timing

Cases[lcf,{_,4}]

(gs=Flatten[{
(* all LCF's with order >1, sorted by order and with bilateral graphs first *)
Join[DeleteCases[#,{_Missing,_}][[All,1]],Cases[#,{_Missing,_}][[All,2]]]&/@Map[{BilateralLCFGraph@#,#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1|2}],Last],{2}],{2}]}])//Timing

Length[gs]

DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,2}]]//Timing

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{6,5}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{6,5}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{6,5}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{6,5}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{6,5}},"EdgeList"]],MaxIterations->500]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{6,5}},"Graph",#]&/@{"All","UnitDistance"})

gs={RotateGraph[,{23,19}],RotateGraph[,{22,1}],RotateGraph[,{24,21}]}

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{6,5}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"ZeroTwoNonbipartite",{6,5}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{6,5}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{6,5}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{6,5}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{6,5}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{6,5}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{6,5}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite", {6, 6}}

GraphData[{"ZeroTwoNonbipartite",{6,6}},"StandardName"]

Primary

GraphData[{"ZeroTwoNonbipartite",{6,6}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{6,6}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{6,6}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{6,6}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{6,6}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{6,6}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{6,6}},"Graph","Degenerate"]

Bilateral

GraphData[{"ZeroTwoNonbipartite",{6,6}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{6,6}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{6,6}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{6,6}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{6,6}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{6,6}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{6,6}}]]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"ZeroTwoNonbipartite",{6,6}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{6,6}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"ZeroTwoNonbipartite",{6,6}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{6,6}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{6,6}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{6,6}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{6,6}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{6,6}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{6,6}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{6,6}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{6,6}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{6,6}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{6,6}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoNonbipartite",{6,6}},2,TimeConstraint->120]

LCF compute all

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{6,6}}],1All])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"ZeroTwoNonbipartite",{6,6}},".m.gz"]])[[All,2]]]//Timing

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

(gs=Flatten[{
(* all LCF's with order >1, sorted by order and with bilateral graphs first *)
Join[DeleteCases[#,{_Missing,_}][[All,1]],Cases[#,{_Missing,_}][[All,2]]]&/@Map[{BilateralLCFGraph@#,#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1|2|3}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,XXX}]]}])//Timing

Length[gs]

(gs3=DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,3}]])//Timing

Length[gs3]

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{6,6}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{6,6}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{6,6}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{6,6}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{6,6}},"EdgeList"]],MaxIterations->500]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{6,6}},"Graph",#]&/@{"All","UnitDistance"})

gs=gs=RotateGraph@@@Transpose[{LabelGraph/@{,,,,,,},{{11,5},{6,18},{23,16},{15,14},{9,3},{9,6},{15,20}}}]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{6,6}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"ZeroTwoNonbipartite",{6,6}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{6,6}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{6,6}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{6,6}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{6,6}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{6,6}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{6,6}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite", {6, 7}}

GraphData[{"ZeroTwoNonbipartite",{6,7}},"StandardName"]

Primary

GraphData[{"ZeroTwoNonbipartite",{6,7}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{6,7}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{6,7}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{6,7}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{6,7}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{6,7}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{6,7}},"Graph","Degenerate"]

Bilateral

GraphData[{"ZeroTwoNonbipartite",{6,7}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{6,7}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{6,7}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{6,7}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{6,7}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{6,7}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{6,7}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{6,7}}],TimeConstraint->10])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{6,7}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoNonbipartite",{6,7}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{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[{"ZeroTwoNonbipartite",{6,7}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{6,7}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"ZeroTwoNonbipartite",{6,7}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{6,7}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{6,7}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{6,7}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{6,7}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{6,7}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{6,7}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{6,7}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{6,7}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{6,7}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{6,7}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoNonbipartite",{6,7}},2,TimeConstraint->120]

LCF compute all

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{6,7}}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"ZeroTwoNonbipartite",{6,7}},".m.gz"]])[[All,2]]]//Timing

(gs=Flatten[{
(* all LCF's with order >1, sorted by order and with bilateral graphs first *)
Join[DeleteCases[#,{_Missing,_}][[All,1]],Cases[#,{_Missing,_}][[All,2]]]&/@Map[{BilateralLCFGraph@#,#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1|2}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,XX}]]}])//Timing

Length[gs]

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{6,7}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{6,7}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{6,7}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{6,7}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{6,7}},"EdgeList"]],MaxIterations->500]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{6,7}},"Graph",#]&/@{"All","UnitDistance"})

gs=LabelGraph/@{RotateGraph[,{14,7}],RotateGraph[,{17,3}],RotateGraph[,{21,24}]}

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{6,7}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"ZeroTwoNonbipartite",{6,7}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{6,7}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{6,7}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{6,7}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{6,7}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{6,7}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{6,7}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite", {6, 8}}

GraphData[{"ZeroTwoNonbipartite",{6,8}},"StandardName"]

Primary

GraphData[{"ZeroTwoNonbipartite",{6,8}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{6,8}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{6,8}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{6,8}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{6,8}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{6,8}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{6,8}},"Graph","Degenerate"]

Bilateral

GraphData[{"ZeroTwoNonbipartite",{6,8}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{6,8}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{6,8}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{6,8}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{6,8}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{6,8}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{6,8}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{6,8}}],TimeConstraint->10])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{6,8}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoNonbipartite",{6,8}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{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[{"ZeroTwoNonbipartite",{6,8}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{6,8}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"ZeroTwoNonbipartite",{6,8}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{6,8}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{6,8}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{6,8}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{6,8}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{6,8}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{6,8}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{6,8}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{6,8}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{6,8}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{6,8}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoNonbipartite",{6,8}},2,TimeConstraint->120]

LCF compute 10^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{6,8}}],10^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

(gs=Flatten[{
(* all LCF's with order >1, sorted by order and with bilateral graphs first *)
Join[DeleteCases[#,{_Missing,_}][[All,1]],Cases[#,{_Missing,_}][[All,2]]]&/@Map[{BilateralLCFGraph@#,#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,1}]]}])//Timing

Length[gs]

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{6,8}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{6,8}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{6,8}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{6,8}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{6,8}},"EdgeList"]],MaxIterations->500]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{6,8}},"Graph",#]&/@{"All","UnitDistance"})

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{6,8}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"ZeroTwoNonbipartite",{6,8}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{6,8}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{6,8}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{6,8}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{6,8}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{6,8}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{6,8}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite", {6, 9}} [multiple cover of Clebsch graph]

GraphData[{"ZeroTwoNonbipartite",{6,9}},"StandardName"]

Primary

GraphData[{"ZeroTwoNonbipartite",{6,9}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{6,9}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{6,9}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{6,9}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{6,9}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{6,9}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{6,9}},"Graph","Degenerate"]

Bilateral

GraphData[{"ZeroTwoNonbipartite",{6,9}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{6,9}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{6,9}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{6,9}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{6,9}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{6,9}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{6,9}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{6,9}}],TimeConstraint->10])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{6,9}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoNonbipartite",{6,9}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{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[{"ZeroTwoNonbipartite",{6,9}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{6,9}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"ZeroTwoNonbipartite",{6,9}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{6,9}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{6,9}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{6,9}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{6,9}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{6,9}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{6,9}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{6,9}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{6,9}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{6,9}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{6,9}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoNonbipartite",{6,9}},2,TimeConstraint->120]

LCF compute 10^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{6,9}}],10^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

DeleteCases[lcf,{_,1|2}]

lcf={{{{-15,-7,-5,10},{-14,5,7,15},{-10,-8,3,8},{-8,5,8,14},{-14,-8,3,8},{-14,-8,-3,8},{-7,-5,9,14},{-9,-3,7,14}},4},{{{-15,-7,-5,12},{-12,5,7,15},{-12,-3,3,13},{-12,-5,5,11},{-12,-7,3,9},{-9,-3,7,12},{-11,-5,5,12},{-13,-3,3,12}},4},{{{-15,-7,-3,10},{-10,3,7,15},{-10,-3,5,13},{-14,-5,3,11},{-14,-7,-3,9},{-9,3,7,14},{-11,-3,5,14},{-13,-5,3,10}},4},{{{-15,-7,-3,12},{-12,3,7,15},{-12,-3,5,13},{-12,-5,3,11},{-12,-7,-3,9},{-9,3,7,12},{-11,-3,5,12},{-13,-5,3,12}},4},{{{-15,-7,10,12},{-12,-10,7,15},{-10,-3,5,13},{-14,-5,3,11},{-14,-12,-7,9},{-9,7,12,14},{-11,-3,5,14},{-13,-5,3,10}},4},{{{-15,-5,-3,10},{-12,3,5,15},{-10,-5,5,11},{-12,-7,5,9},{-14,-9,-3,7},{-11,3,5,12},{-7,-5,9,14},{-9,-5,7,12}},4},{{{-15,-5,-3,12},{-10,3,5,15},{-12,-7,5,9},{-14,-9,5,7},{-12,-5,-3,11},{-7,3,9,14},{-9,-5,7,12},{-11,-5,5,10}},4},{{{-15,-5,-3,12},{-10,3,5,15},{-12,-5,5,11},{-14,-5,5,11},{-12,-5,-3,11},{-11,3,5,14},{-11,-5,5,12},{-11,-5,5,10}},4},{{{-15,-5,10,12},{-12,-10,5,15},{-14,-10,-3,13},{-5,3,5,11},{-12,-7,9,14},{-14,-9,7,12},{-11,-5,-3,5},{-13,3,10,14}},4}};

l={{{"ZeroTwoNonbipartite",{6,9}},{0,Missing["NotAvailable",lcf]}}}

PropertyReplace[l,"LCFNotations","13.3"]

RenameGraphFiles[]

(gs=Flatten[{
(* all LCF's with order >1, sorted by order and with bilateral graphs first *)
Join[DeleteCases[#,{_Missing,_}][[All,1]],Cases[#,{_Missing,_}][[All,2]]]&/@Map[{BilateralLCFGraph@#,#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1|2}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,XXX}]]}])//Timing

(gs=DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,2}]])//Timing

Length[gs]

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{6,9}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{6,9}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{6,9}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{6,9}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{6,9}},"EdgeList"]],MaxIterations->500]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{6,9}},"Graph",#]&/@{"All","UnitDistance"})

g=ContractCoincidentVertices@RotateGraph[,{16,22}]

RecognizeGraph@g

DegenerateGraphEmbeddingTypes@g

g=RotateGraph[LabelGraph@,{10,22}]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{6,9}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"ZeroTwoNonbipartite",{6,9}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{6,9}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{6,9}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{6,9}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{6,9}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{6,9}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{6,9}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite", {6, 10}}

GraphData[{"ZeroTwoNonbipartite",{6,10}},"StandardName"]

Primary

GraphData[{"ZeroTwoNonbipartite",{6,10}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{6,10}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{6,10}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{6,10}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{6,10}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

GraphPlot[Graph[GraphData[{"ZeroTwoNonbipartite",{6,10}},"Edges"],GraphLayout->"HighDimensionalEmbedding"]]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{6,10}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{6,10}},"Graph","Degenerate"]

Bilateral

GraphData[{"ZeroTwoNonbipartite",{6,10}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{6,10}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{6,10}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{6,10}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{6,10}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{6,10}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{6,10}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{6,10}}],TimeConstraint->10])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{6,10}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoNonbipartite",{6,10}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{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[{"ZeroTwoNonbipartite",{6,10}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{6,10}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"ZeroTwoNonbipartite",{6,10}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{6,10}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{6,10}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{6,10}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{6,10}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{6,10}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{6,10}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{6,10}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{6,10}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{6,10}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{6,10}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoNonbipartite",{6,10}},2,TimeConstraint->120]

LCF compute 10^5

GraphData[{"ZeroTwoNonbipartite",{6,10}},"HamiltonianCycleCount"]

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{6,10}}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@Cases[lcf,{_,4}]//StyleGraphs

BilateralLCFGraph/@%

LCFGraph@@@Cases[lcf,{_,2}]//StyleGraphs

DeleteMissing[BilateralLCFGraph/@%]

gs=Join[{,,},{,,,,,}]

lcf=LCFNotation/@gs

l={{{"ZeroTwoNonbipartite",{6,10}},{0,Missing["NotAvailable",lcf]}}}

PropertyReplace[l,"LCFNotations","13.3"]

RenameGraphFiles[]

LCF compute 10^7

GraphData[{"ZeroTwoNonbipartite",{6,10}},"HamiltonianCycleCount"]

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{6,10}}],10^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@Cases[lcf,{_,4}]//StyleGraphs

BilateralLCFGraph/@%

DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,2}]]//StyleGraphs//Timing

gs=Join[{,,,,},{}]

gs={,,,,,};

lcf=LCFNotation/@gs

l={{{"ZeroTwoNonbipartite",{6,10}},{0,Missing["NotAvailable",lcf]}}}

PropertyReplace[l,"LCFNotations","13.3"]

RenameGraphFiles[]

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{6,10}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{6,10}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{6,10}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{6,10}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{6,10}},"EdgeList"]],MaxIterations->500]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{6,10}},"Graph",#]&/@{"All","UnitDistance"})

LabelGraph/@%

Matchstick

GraphData[{"ZeroTwoNonbipartite",{6,10}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{6,10}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{6,10}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{6,10}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{6,10}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{6,10}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{6,10}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite", {6, 11}}

GraphData[{"ZeroTwoNonbipartite",{6,11}},"StandardName"]

Primary

GraphData[{"ZeroTwoNonbipartite",{6,11}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{6,11}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{6,11}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{6,11}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{6,11}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{6,11}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{6,11}},"Graph","Degenerate"]

Bilateral

GraphData[{"ZeroTwoNonbipartite",{6,11}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{6,11}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{6,11}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{6,11}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{6,11}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{6,11}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{6,11}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{6,11}}],TimeConstraint->10])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{6,11}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoNonbipartite",{6,11}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{6,11}}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"ZeroTwoNonbipartite",{6,11}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{6,11}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"ZeroTwoNonbipartite",{6,11}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{6,11}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{6,11}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{6,11}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{6,11}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{6,11}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{6,11}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{6,11}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{6,11}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{6,11}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{6,11}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoNonbipartite",{6,11}},2,TimeConstraint->120]

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{6,11}}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,4}]]//StyleGraphs

DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,2}]]//StyleGraphs

gs=Join[{,},{,,,,,,}]

lcf=LCFNotation/@gs

l={{{"ZeroTwoNonbipartite",{6,11}},{0,Missing["NotAvailable",lcf]}}}

PropertyReplace[l,"LCFNotations","13.3"]

RenameGraphFiles[]

LCF compute 10^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{6,11}}],10^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,4}]]//StyleGraphs

gs={,,,,,};

(gs=DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,2}]]//StyleGraphs)

Length[gs]

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{6,11}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{6,11}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{6,11}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{6,11}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{6,11}},"EdgeList"]],MaxIterations->500]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{6,11}},"Graph",#]&/@{"All","UnitDistance"})

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{6,11}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"ZeroTwoNonbipartite",{6,11}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{6,11}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{6,11}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{6,11}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{6,11}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{6,11}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{6,11}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite", {7, 1}}

GraphData[{"ZeroTwoNonbipartite",{7,1}},"StandardName"]

Primary

GraphData[{"ZeroTwoNonbipartite",{7,1}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{7,1}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{7,1}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{7,1}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{7,1}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{7,1}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{7,1}},"Graph","Degenerate"]

Bilateral

GraphData[{"ZeroTwoNonbipartite",{7,1}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{7,1}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{7,1}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{7,1}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{7,1}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{7,1}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,1}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,1}}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,1}}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,1}}],TimeConstraint->3600])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,1}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoNonbipartite",{7,1}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,1}}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"ZeroTwoNonbipartite",{7,1}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{7,1}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"ZeroTwoNonbipartite",{7,1}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{7,1}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{7,1}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{7,1}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{7,1}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{7,1}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{7,1}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{7,1}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{7,1}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{7,1}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{7,1}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoNonbipartite",{7,1}},2,TimeConstraint->120]

LCF compute 10^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,1}}],10^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

(gs=DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,2}]])//Timing

Length[gs]

gs={,,,,,,,,,,,,,};

lcf=LCFNotation/@gs

l={{{"ZeroTwoNonbipartite",{7,1}},{0,Missing["NotAvailable",lcf]}}}

PropertyReplace[l,"NotationRules","13.3"]

RenameGraphFiles[]

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,1}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,1}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{7,1}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{7,1}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{7,1}},"EdgeList"]],MaxIterations->500]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{7,1}},"Graph",#]&/@{"All","UnitDistance"})

gs={RotateGraph[,{19,22}],RotateGraph[,{18,6}]}

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,1}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"ZeroTwoNonbipartite",{7,1}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{7,1}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{7,1}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{7,1}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,1}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{7,1}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{7,1}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite", {7, 2}}

GraphData[{"ZeroTwoNonbipartite",{7,2}},"StandardName"]

Primary

GraphData[{"ZeroTwoNonbipartite",{7,2}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{7,2}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{7,2}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{7,2}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{7,2}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{7,2}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{7,2}},"Graph","Degenerate"]

Bilateral

GraphData[{"ZeroTwoNonbipartite",{7,2}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{7,2}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{7,2}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{7,2}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{7,2}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{7,2}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,2}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,2}}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,2}}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,2}}],TimeConstraint->3600])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,2}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoNonbipartite",{7,2}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,2}}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"ZeroTwoNonbipartite",{7,2}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{7,2}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"ZeroTwoNonbipartite",{7,2}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{7,2}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{7,2}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{7,2}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{7,2}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{7,2}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{7,2}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{7,2}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{7,2}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{7,2}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{7,2}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoNonbipartite",{7,2}},2,TimeConstraint->120]

LCF compute 10^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,2}}],10^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1|2}]

lcf={{{{-11,-9,-5,-4,4},{-4,-3,4,5,11},{-11,-8,-5,3,8},{-8,5,8,9,11}},6},{{{-12,-9,-7,8,11},{-11,-4,3,7,10},{-9,-8,-7,-4,11},{-10,-5,4,7,9},{-12,-7,-3,4,5},{-11,-10,7,9,10}},4},{{{-12,-11,-5,4,5},{-11,-5,-3,2,10},{-8,3,5,8,9},{-10,-9,-2,5,11},{-12,-5,-4,5,11},{-8,-5,-3,8,11},{-11,-8,3,8,11},{-11,-8,-5,5,8}},3},{{{-12,-11,-5,4,5},{-8,-3,3,8,11},{-11,-8,-7,-5,8},{-12,-4,5,7,11},{-12,-11,-4,-3,3},{-8,-5,5,8,11},{-11,-8,3,8,9},{-12,-9,-3,4,11}},3},{{{-12,-11,-5,4,5},{-5,-3,2,5,10},{-11,-8,8,9,11},{-10,-9,-5,-2,5},{-12,-5,-4,5,11},{-11,-8,-5,8,11},{-8,-5,3,5,8},{-11,-8,5,8,11}},3},{{{-12,-11,3,4,11},{-11,-10,-5,5,6},{-11,-8,-5,5,8},{-11,-8,-5,-3,8},{-12,-4,3,5,9},{-9,-8,5,8,11},{-8,-5,5,8,11},{-6,-5,-3,10,11}},3},{{{-11,-10,-5,-3,-2},{2,3,5,10,11},{-11,-8,-5,8,9},{-10,-9,-2,5,11},{-11,-8,-5,-3,8},{-8,3,5,8,11},{-11,-5,2,9,10},{-9,-8,5,8,11}},3},{{{-11,-10,-3,-2,11},{-6,-5,2,3,5},{-8,-7,5,8,11},{-11,-5,-2,6,7},{-8,-5,-3,5,8},{-11,-8,3,8,11},{-5,2,5,9,10},{-9,-8,-5,5,8}},3},{{{-11,-10,5,6,11},{-11,-8,-5,5,8},{-8,-5,-3,5,8},{-11,-4,4,9,11},{-9,-8,-5,5,8},{-8,-5,5,8,11},{-11,-6,-5,10,11},{-5,-4,3,4,5}},3},{{{-11,-8,-5,7,8},{-5,-3,-2,5,6},{-11,2,3,10,11},{-8,-5,5,8,9},{-10,-9,-5,-2,5},{-11,-8,-3,8,11},{-8,-5,3,5,8},{-7,-6,2,5,11}},3}};

l={{{"ZeroTwoNonbipartite",{7,2}},{0,Missing["NotAvailable",lcf]}}}

PropertyReplace[l,"LCFNotations","13.3"]

RenameGraphFiles[]

(gs=Flatten[{
(* all LCF's with order >1, sorted by order and with bilateral graphs first *)
Join[DeleteCases[#,{_Missing,_}][[All,1]],Cases[#,{_Missing,_}][[All,2]]]&/@Map[{BilateralLCFGraph@#,#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1|2}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,XX}]]}])//Timing

Length[gs]

(gs=DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,2}]])//Timing

Length[gs]

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,2}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,2}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{7,2}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{7,2}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{7,2}},"EdgeList"]],MaxIterations->500]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{7,2}},"Graph",#]&/@{"All","UnitDistance"})

g=RotateGraph[,{11,5}]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,2}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"ZeroTwoNonbipartite",{7,2}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{7,2}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{7,2}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{7,2}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,2}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{7,2}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{7,2}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite", {7, 3}}

GraphData[{"ZeroTwoNonbipartite",{7,3}},"StandardName"]

Primary

GraphData[{"ZeroTwoNonbipartite",{7,3}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{7,3}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{7,3}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{7,3}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{7,3}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{7,3}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{7,3}},"Graph","Degenerate"]

Bilateral

GraphData[{"ZeroTwoNonbipartite",{7,3}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{7,3}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{7,3}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{7,3}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{7,3}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{7,3}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,3}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,3}}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,3}}],TimeConstraint->60])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,3}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoNonbipartite",{7,3}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{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[{"ZeroTwoNonbipartite",{7,3}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{7,3}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"ZeroTwoNonbipartite",{7,3}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{7,3}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{7,3}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{7,3}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{7,3}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{7,3}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{7,3}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{7,3}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{7,3}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{7,3}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{7,3}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoNonbipartite",{7,3}},2,TimeConstraint->120]

LCF compute 10^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,3}}],10^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1|2}]

lcf={{{{-11,-5,-4,9,10},{2,3,4,5,11},{-10,-9,-6,4,6},{-10,-9,-5,-2,7},{-10,-7,-3,5,10},{-6,-4,6,9,10}},4},{{{-11,-5,-4,9,10},{2,3,4,5,11},{-10,-9,-3,4,9},{-10,-9,-6,-2,6},{-10,-6,-3,6,10},{-9,-4,3,9,10}},4},{{{-12,-11,-8,4,8},{-8,-7,-6,-3,8},{-11,-7,3,7,10},{-12,-6,-4,6,7},{-12,-10,-4,2,9},{-9,-7,-3,6,11},{-8,-2,3,7,8},{-12,-8,4,8,11}},3},{{{-12,-11,-8,5,8},{-8,-3,8,9,10},{-9,-6,3,5,9},{-10,-9,-4,4,10},{-12,-7,-6,2,6},{-10,-5,-3,7,11},{-8,-2,3,6,8},{-8,-5,-4,4,8}},3},{{{-12,-10,-7,-4,2},{-10,-5,5,7,9},{-9,-8,-2,3,8},{-12,-8,4,8,11},{-12,-8,4,5,8},{-8,-7,-6,-3,8},{-11,-7,-5,7,10},{-12,-4,6,7,10}},3},{{{-11,-9,-5,6,9},{-10,-9,-8,3,8},{-8,-5,-4,4,8},{-8,-4,4,5,8},{-8,-3,8,9,10},{-9,-6,5,9,11},{-10,-9,-6,-4,4},{-4,4,6,9,10}},3}};

l={{{"ZeroTwoNonbipartite",{7,3}},{0,Missing["NotAvailable",lcf]}}}

PropertyReplace[l,"LCFNotations","13.3"]

RenameGraphFiles[]

(gs=Flatten[{
(* all LCF's with order >1, sorted by order and with bilateral graphs first *)
Join[DeleteCases[#,{_Missing,_}][[All,1]],Cases[#,{_Missing,_}][[All,2]]]&/@Map[{BilateralLCFGraph@#,#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1|2}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,XXX}]]}])//Timing

Length[gs]

(gs=DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,2}]])//Timing

Length[gs]

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,3}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,3}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{7,3}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{7,3}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{7,3}},"EdgeList"]],MaxIterations->500]

g=RotateGraph[,{12,1}]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{7,3}},"Graph",#]&/@{"All","UnitDistance"})

LabelGraph@

gs=RotateGraph[#,#2]&@@@Transpose[{LabelGraph/@{,,,,,},{{19,12},{10,22},{19,18},{21,6},{4,16},{3,23}}}]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,3}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"ZeroTwoNonbipartite",{7,3}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{7,3}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{7,3}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{7,3}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,3}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{7,3}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{7,3}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite", {7, 4}}

GraphData[{"ZeroTwoNonbipartite",{7,4}},"StandardName"]

Primary

GraphData[{"ZeroTwoNonbipartite",{7,4}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{7,4}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{7,4}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{7,4}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{7,4}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{7,4}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{7,4}},"Graph","Degenerate"]

Bilateral

GraphData[{"ZeroTwoNonbipartite",{7,4}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{7,4}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{7,4}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{7,4}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{7,4}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{7,4}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,4}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,4}}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,4}}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,4}}],TimeConstraint->3600])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,4}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoNonbipartite",{7,4}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{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[{"ZeroTwoNonbipartite",{7,4}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{7,4}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"ZeroTwoNonbipartite",{7,4}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{7,4}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{7,4}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{7,4}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{7,4}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{7,4}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{7,4}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{7,4}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{7,4}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{7,4}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{7,4}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoNonbipartite",{7,4}},2,TimeConstraint->120]

LCF compute 10^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,4}}],10^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

LCFGraph[{{-12,-9,-4,3,9},{-6,-3,-2,2,6},{-10,-4,4,8,9},{-9,-3,-2,8,9},{-12,-8,3,4,10},{-9,-8,-6,2,6}},4,0]

BilateralLCFGraph@@@{{{{-12,-9,-4,3,9},{-6,-3,-2,2,6},{-10,-4,4,8,9},{-9,-3,-2,8,9},{-12,-8,3,4,10},{-9,-8,-6,2,6}},4}}

DeleteCases[lcf,{_,1}]

Cases[lcf,{_,3}]

(gs=Flatten[{
(* all LCF's with order >1, sorted by order and with bilateral graphs first *)
Join[DeleteCases[#,{_Missing,_}][[All,1]],Cases[#,{_Missing,_}][[All,2]]]&/@Map[{BilateralLCFGraph@#,#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1|2}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,XXX}]]}])//Timing

(gs=DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,2}]])//Timing

Length[gs]

gs=Join[{},{,,},{,,,,,,}]

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,4}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,4}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{7,4}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{7,4}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{7,4}},"EdgeList"]],MaxIterations->500]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{7,4}},"Graph",#]&/@{"All","UnitDistance"})

ContractCoincidentVertices/@{,}

RecognizeGraph/@%

gs=RotateGraph@@@Transpose[{LabelGraph/@{,,},{{6,4},{23,13},{6,5}}}]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,4}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"ZeroTwoNonbipartite",{7,4}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{7,4}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{7,4}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{7,4}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,4}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{7,4}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{7,4}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite", {7, 5}}

Names

GraphData[{"ZeroTwoNonbipartite",{7,5}},"StandardName"]

GraphData[{"ZeroTwoNonbipartite",{7,5}},"StandardNames"]

Primary

GraphData[{"ZeroTwoNonbipartite",{7,5}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{7,5}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{7,5}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{7,5}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{7,5}},"Graph","Degenerate"]

Configuration

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Configuration"]

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Graph","Configuration"]//StyleGraphs

Perspective

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Polyhedron"]

HoneycombToroidal construction

GraphData[{"ZeroTwoNonbipartite",{7,5}},"NotationRules","HoneycombToroidal"]

GeneralizedPetersen

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Graph","GeneralizedPetersen"]//StyleGraphs

IGraph

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Graph","IGraph"]//StyleGraphs

Bilateral

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{7,5}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,5}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,5}}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,5}}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,5}}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,5}}],TimeConstraint->5 3600])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,5}}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

IGLayoutTutte[g,"OuterFace"->#]&/@faces

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,5}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoNonbipartite",{7,5}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,5}}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union//Timing

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Graph","Circulant"]//StyleGraphs

Complement graph

compl=GraphData[{"ZeroTwoNonbipartite",{7,5}},"ComplementGraph","Name"]

Line graph

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Line"]

LineGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,5}}]]//Timing

RootGraph

roots=Select[GraphData[All],GraphData[#,"LineGraph","Name"]==={"ZeroTwoNonbipartite",{7,5}}&]

RootGraph[GraphData[{"ZeroTwoNonbipartite",{7,5}}]]

Halin

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{7,5}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{7,5}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{7,5}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{7,5}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

FindRandomLCFNotation[GraphData[{"ZeroTwoNonbipartite",{7,5}}],TimeConstraint->120]

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,5}}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,3,2])]//Timing

LCF compute 10^6

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,5}}],10^6])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,3,2])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"ZeroTwoNonbipartite",{7,5}},{0,Missing["NotAvailable",LCFNotation/@gs]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute 10^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,5}}],10^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,3,2])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,3])]//Timing

Length[gs]

gs

l={
{{"ZeroTwoNonbipartite",{7,5}},{0,Missing["NotAvailable",LCFNotation/@gs]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute 5*^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,5}}],5*^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1|2}]

LCFGraph@@@DeleteCases[lcf,{_,1|2}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,3])]//Timing

Length[gs]

gs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,4,3])]//Timing

gs

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"ZeroTwoNonbipartite",{7,5}},{0,Missing["NotAvailable",LCFNotation/@gs]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute all

Divisors[GraphData[{"ZeroTwoNonbipartite",{7,5}},"V"]]

Length[FindHamiltonianCycle[GraphData[{"ZeroTwoNonbipartite",{7,5}}],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,5}}],All])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"ZeroTwoNonbipartite",{7,5}},".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,2,1])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,5}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,5}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{7,5}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{7,5}},"EdgeList"]],MaxIterations->500]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{7,5}},"Graph",#]&/@{"All","UnitDistance"})

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,5}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,5}}],MaxIterations->5000,"ReturnWithMessage"->False]//Quiet//Timing

Matchstick

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{7,5}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{7,5}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite", {7, 6}}

Names

GraphData[{"ZeroTwoNonbipartite",{7,6}},"StandardName"]

GraphData[{"ZeroTwoNonbipartite",{7,6}},"StandardNames"]

Primary

GraphData[{"ZeroTwoNonbipartite",{7,6}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{7,6}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{7,6}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{7,6}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{7,6}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{7,6}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{7,6}},"Graph","Degenerate"]

Bilateral

GraphData[{"ZeroTwoNonbipartite",{7,6}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{7,6}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{7,6}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{7,6}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{7,6}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{7,6}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,6}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,6}}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,6}}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,6}}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,6}}],TimeConstraint->5 3600])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,6}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoNonbipartite",{7,6}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{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[{"ZeroTwoNonbipartite",{7,6}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{7,6}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"ZeroTwoNonbipartite",{7,6}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{7,6}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{7,6}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{7,6}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{7,6}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{7,6}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{7,6}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{7,6}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{7,6}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{7,6}},"LCFNotations"]

Tally[%[[2,All,2]]]

GraphData[{"ZeroTwoNonbipartite",{7,6}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoNonbipartite",{7,6}},3,TimeConstraint->3600]

g=LCFGraph@@{{{-12,-11,-2,4,6},{-11,-10,2,6,10},{-6,-5,-3,3,9},{-10,-9,-6,-2,4},{-12,-6,-4,6,9},{-9,-3,5,6,11},{-7,-6,2,6,11},{-6,-4,3,7,10}},3}

BilateralLCFEmbedding[g]

Cases[{#,BilateralLCFEmbedding[#]}&/@GraphData[{"ZeroTwoNonbipartite",{7,6}},"Graph","LCF"],{_,Graph}]//Timing

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,6}}],10^5])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

(gs=Flatten[{
(* all LCF's with order >1, sorted by order and with bilateral graphs first *)
Join[DeleteCases[#,{_Missing,_}][[All,1]],Cases[#,{_Missing,_}][[All,2]]]&/@Map[{BilateralLCFEmbedding[#],#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFEmbedding/@LCFGraph@@@Cases[lcf,{_,1}]]}])//Timing

Length[gs]

LCF compute 10^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,6}}],10^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10^9.

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,3,2])]//Timing

Length[gs]

gs=Insert[{,,,,,,},,4]

LCF compute 2*^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,6}}],2*^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1|2}]

LCFGraph@@@DeleteCases[lcf,{_,1|2}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,3])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"ZeroTwoNonbipartite",{7,9}},{0,Missing["NotAvailable",LCFNotation/@gs]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,6}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,6}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{7,6}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{7,6}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{7,6}},"EdgeList"]]]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]]]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{7,6}},"Graph",#]&/@{"All","UnitDistance"})

gs=RotateGraph@@@Transpose[{LabelGraph/@{, ,,,,},{{2,23},{11,16},{14,20},{10,7},{23,12},{15,7}}}]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,6}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"ZeroTwoNonbipartite",{7,6}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{7,6}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{7,6}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{7,6}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,6}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{7,6}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{7,6}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite", {7, 7}}

Names

GraphData[{"ZeroTwoNonbipartite",{7,7}},"StandardName"]

GraphData[{"ZeroTwoNonbipartite",{7,7}},"StandardNames"]

Primary

GraphData[{"ZeroTwoNonbipartite",{7,7}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{7,7}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{7,7}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{7,7}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{7,7}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{7,7}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{7,7}},"Graph","Degenerate"]

Bilateral

GraphData[{"ZeroTwoNonbipartite",{7,7}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{7,7}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{7,7}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{7,7}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{7,7}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{7,7}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,7}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,7}}],TimeConstraint->10])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,7}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoNonbipartite",{7,7}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{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[{"ZeroTwoNonbipartite",{7,7}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{7,7}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"ZeroTwoNonbipartite",{7,7}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{7,7}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{7,7}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{7,7}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{7,7}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{7,7}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{7,7}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{7,7}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{7,7}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{7,7}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{7,7}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoNonbipartite",{7,7}},2,TimeConstraint->120]

LCF compute 10^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,7}}],10^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

(gs=DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,2}]])//Timing

Length[gs]

(gs=LCFGraph@@@Cases[lcf,{_,2}])//Timing

Length[gs]

LCFNotation@

g=LCFGraph[{{-12,-7,-4,5,6},{-11,-3,2,6,10},{-5,-4,2,3,11},{-8,-7,-2,4,6},{-10,-2,2,5,6},{-8,-5,-3,3,7},{-7,-6,-2,4,10},{-12,-6,-4,4,8},{-11,-3,3,4,7},{-6,-5,5,8,11},{-11,-6,-4,3,4},{-10,-4,-3,7,11}},2,14]

LCF compute 2*^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,10}}],2*^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,2,1])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"ZeroTwoNonbipartite",{7,10}},{0,Missing["NotAvailable",LCFNotation/@gs]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,7}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,7}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{7,7}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{7,7}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{7,7}},"EdgeList"]],MaxIterations->500]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{7,7}},"Graph",#]&/@{"All","UnitDistance"})

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,7}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"ZeroTwoNonbipartite",{7,7}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{7,7}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{7,7}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{7,7}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,7}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{7,7}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{7,7}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite", {7, 8}}

Names

GraphData[{"ZeroTwoNonbipartite",{7,8}},"StandardName"]

GraphData[{"ZeroTwoNonbipartite",{7,8}},"StandardNames"]

Primary

GraphData[{"ZeroTwoNonbipartite",{7,8}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{7,8}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{7,8}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{7,8}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{7,8}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{7,8}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{7,8}},"Graph","Degenerate"]

Bilateral

GraphData[{"ZeroTwoNonbipartite",{7,8}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{7,8}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{7,8}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{7,8}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{7,8}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{7,8}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,8}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,8}}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,8}}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,8}}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,8}}],TimeConstraint->5 3600])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,8}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoNonbipartite",{7,8}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{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[{"ZeroTwoNonbipartite",{7,8}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{7,8}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"ZeroTwoNonbipartite",{7,8}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{7,8}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{7,8}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{7,8}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{7,8}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{7,8}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{7,8}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{7,8}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{7,8}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{7,8}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{7,8}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoNonbipartite",{7,8}},2,TimeConstraint->120]

LCF compute 10^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,8}}],10^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

(gs=DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,2}]])//Timing

LCF compute 5*^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,8}}],5*^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,3,2])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"ZeroTwoNonbipartite",{7,8}},{0,Missing["NotAvailable",LCFNotation/@gs]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,8}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,8}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{7,8}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{7,8}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{7,8}},"EdgeList"]],MaxIterations->500]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{7,8}},"Graph",#]&/@{"All","UnitDistance"})

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,8}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"ZeroTwoNonbipartite",{7,8}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{7,8}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{7,8}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{7,8}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,8}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{7,8}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{7,8}},"Graph",{"3D","Polyhedron"}]

Graphics3D[{FaceForm[Green,Red],GraphData[{"ZeroTwoNonbipartite",{7,8}},"Polyhedron"]}]

{"ZeroTwoNonbipartite", {7, 9}}

Names

GraphData[{"ZeroTwoNonbipartite",{7,9}},"StandardName"]

GraphData[{"ZeroTwoNonbipartite",{7,9}},"StandardNames"]

Primary

GraphData[{"ZeroTwoNonbipartite",{7,9}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{7,9}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{7,9}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{7,9}},"EdgeList"]]

Default embedding

g=Graph[GraphData[{"ZeroTwoNonbipartite",{7,9}},"Edges"],GraphLayout->"HighDimensionalEmbedding"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{7,9}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{7,9}},"Graph","Degenerate"]

Bilateral

GraphData[{"ZeroTwoNonbipartite",{7,9}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{7,9}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{7,9}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{7,9}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{7,9}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{7,9}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,9}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,9}}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,9}}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,9}}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,9}}],TimeConstraint->5 3600])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,9}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoNonbipartite",{7,9}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{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[{"ZeroTwoNonbipartite",{7,9}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{7,9}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"ZeroTwoNonbipartite",{7,9}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{7,9}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{7,9}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{7,9}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{7,9}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{7,9}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{7,9}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{7,9}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{7,9}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{7,9}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{7,9}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoNonbipartite",{7,9}},2,TimeConstraint->120]

LCF compute 10^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,9}}],10^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

(gs=DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,2}]])//Timing

Length[gs]

LCF compute 5*^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,9}}],5*^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1|2}]

LCFGraph@@@DeleteCases[lcf,{_,1|2}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,3])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"ZeroTwoNonbipartite",{7,9}},{0,Missing["NotAvailable",LCFNotation/@gs]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,9}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,9}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{7,9}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{7,9}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{7,9}},"EdgeList"]],MaxIterations->500]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{7,9}},"Graph",#]&/@{"All","UnitDistance"})

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,9}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"ZeroTwoNonbipartite",{7,9}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{7,9}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{7,9}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{7,9}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,9}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{7,9}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{7,9}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite", {7, 10}}

Names

GraphData[{"ZeroTwoNonbipartite",{7,10}},"StandardName"]

GraphData[{"ZeroTwoNonbipartite",{7,10}},"StandardNames"]

Primary

GraphData[{"ZeroTwoNonbipartite",{7,10}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{7,10}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{7,10}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{7,10}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{7,10}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{7,10}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{7,10}},"Graph","Degenerate"]

Bilateral

GraphData[{"ZeroTwoNonbipartite",{7,10}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{7,10}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{7,10}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{7,10}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{7,10}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{7,10}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,10}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,10}}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,10}}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,10}}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,10}}],TimeConstraint->5 3600])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,10}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoNonbipartite",{7,10}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{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[{"ZeroTwoNonbipartite",{7,10}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{7,10}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"ZeroTwoNonbipartite",{7,10}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{7,10}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{7,10}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{7,10}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{7,10}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{7,10}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{7,10}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{7,10}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{7,10}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{7,10}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{7,10}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoNonbipartite",{7,10}},2,TimeConstraint->120]

LCF compute 10^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,10}}],10^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,3,2])]//Timing

Length[gs]

LCF compute 5*^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,10}}],5*^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,3,2])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"ZeroTwoNonbipartite",{7,10}},{0,Missing["NotAvailable",LCFNotation/@gs]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,10}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,10}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{7,10}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{7,10}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{7,10}},"EdgeList"]],MaxIterations->500]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{7,10}},"Graph",#]&/@{"All","UnitDistance"})

g=RotateGraph[,{13,9}]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,10}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"ZeroTwoNonbipartite",{7,10}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{7,10}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{7,10}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{7,10}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,10}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{7,10}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{7,10}},"Graph",{"3D","Polyhedron"}]

Graphics3D[{FaceForm[Green,Red],GraphData[{"ZeroTwoNonbipartite",{7,10}},"Polyhedron"]}]

{"ZeroTwoNonbipartite", {7, 11}}

Names

GraphData[{"ZeroTwoNonbipartite",{7,11}},"StandardName"]

GraphData[{"ZeroTwoNonbipartite",{7,11}},"StandardNames"]

Primary

GraphData[{"ZeroTwoNonbipartite",{7,11}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{7,11}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{7,11}},"EdgeList"]]

Default embedding

g=Graph[GraphData[{"ZeroTwoNonbipartite",{7,11}},"Edges"],GraphLayout->"HighDimensionalEmbedding"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{7,11}},"Graph","Degenerate"]

Configuration

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Configuration"]

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Graph","Configuration"]//StyleGraphs

Perspective

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Polyhedron"]

HoneycombToroidal construction

GraphData[{"ZeroTwoNonbipartite",{7,11}},"NotationRules","HoneycombToroidal"]

GeneralizedPetersen

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Graph","GeneralizedPetersen"]//StyleGraphs

IGraph

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Graph","IGraph"]//StyleGraphs

Bilateral

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{7,11}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,11}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,11}}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,11}}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,11}}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,11}}],TimeConstraint->5 3600])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,11}}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

IGLayoutTutte[g,"OuterFace"->#]&/@faces

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,11}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoNonbipartite",{7,11}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,11}}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union//Timing

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Graph","Circulant"]//StyleGraphs

Complement graph

compl=GraphData[{"ZeroTwoNonbipartite",{7,11}},"ComplementGraph","Name"]

Line graph

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Line"]

LineGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,11}}]]//Timing

RootGraph

roots=Select[GraphData[All],GraphData[#,"LineGraph","Name"]==={"ZeroTwoNonbipartite",{7,11}}&]

RootGraph[GraphData[{"ZeroTwoNonbipartite",{7,11}}]]

Halin

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{7,11}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{7,11}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{7,11}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{7,11}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

FindRandomLCFNotation[GraphData[{"ZeroTwoNonbipartite",{7,11}}],TimeConstraint->120]

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,11}}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,2])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"ZeroTwoNonbipartite",{7,11}},{0,Missing["NotAvailable",LCFNotation/@gs]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute 10^6

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,11}}],10^6])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,3,2])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"ZeroTwoNonbipartite",{7,11}},{0,Missing["NotAvailable",LCFNotation/@gs]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute 10^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,11}}],10^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,3,2])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"ZeroTwoNonbipartite",{7,11}},{0,Missing["NotAvailable",LCFNotation/@gs]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute 5*^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,11}}],5*^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1|2}]

LCFGraph@@@DeleteCases[lcf,{_,1|2}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,3])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"ZeroTwoNonbipartite",{7,11}},{0,Missing["NotAvailable",LCFNotation/@gs]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute all

Divisors[GraphData[{"ZeroTwoNonbipartite",{7,11}},"V"]]

Length[FindHamiltonianCycle[GraphData[{"ZeroTwoNonbipartite",{7,11}}],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,11}}],All])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"ZeroTwoNonbipartite",{7,11}},".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,2,1])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,11}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,11}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{7,11}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{7,11}},"EdgeList"]],MaxIterations->500]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{7,11}},"Graph",#]&/@{"All","UnitDistance"})

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,11}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,11}}],MaxIterations->5000,"ReturnWithMessage"->False]//Quiet//Timing

Matchstick

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{7,11}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{7,11}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite", {7, 12}} == "KleinGraph24"

Names

GraphData[{"ZeroTwoNonbipartite",{7,12}},"StandardName"]

GraphData[{"ZeroTwoNonbipartite",{7,12}},"StandardNames"]

{"ZeroTwoNonbipartite", {7, 13}}

Names

GraphData[{"ZeroTwoNonbipartite",{7,13}},"StandardName"]

GraphData[{"ZeroTwoNonbipartite",{7,13}},"StandardNames"]

Primary

GraphData[{"ZeroTwoNonbipartite",{7,13}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{7,13}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{7,13}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{7,13}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{7,13}},"Graph","Degenerate"]

Configuration

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Configuration"]

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Graph","Configuration"]//StyleGraphs

Perspective

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Polyhedron"]

HoneycombToroidal construction

GraphData[{"ZeroTwoNonbipartite",{7,13}},"NotationRules","HoneycombToroidal"]

GeneralizedPetersen

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Graph","GeneralizedPetersen"]//StyleGraphs

IGraph

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Graph","IGraph"]//StyleGraphs

Bilateral

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{7,13}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,13}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,13}}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,13}}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,13}}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,13}}],TimeConstraint->5 3600])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,13}}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

IGLayoutTutte[g,"OuterFace"->#]&/@faces

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,13}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoNonbipartite",{7,13}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,13}}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union//Timing

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Graph","Circulant"]//StyleGraphs

Complement graph

compl=GraphData[{"ZeroTwoNonbipartite",{7,13}},"ComplementGraph","Name"]

Line graph

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Line"]

LineGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,13}}]]//Timing

RootGraph

roots=Select[GraphData[All],GraphData[#,"LineGraph","Name"]==={"ZeroTwoNonbipartite",{7,13}}&]

RootGraph[GraphData[{"ZeroTwoNonbipartite",{7,13}}]]

Halin

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{7,13}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{7,13}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{7,13}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{7,13}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

FindRandomLCFNotation[GraphData[{"ZeroTwoNonbipartite",{7,13}}],TimeConstraint->120]

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,13}}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCF compute 10^6

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,13}}],10^6])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,2,1])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"ZeroTwoNonbipartite",{7,13}},{0,Missing["NotAvailable",LCFNotation/@gs]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute 10^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,13}}],10^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,2,1])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"ZeroTwoNonbipartite",{7,13}},{0,Missing["NotAvailable",LCFNotation/@gs]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute 5*^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,13}}],5*^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,2,1])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"ZeroTwoNonbipartite",{7,13}},{0,Missing["NotAvailable",LCFNotation/@gs]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute all

Divisors[GraphData[{"ZeroTwoNonbipartite",{7,13}},"V"]]

Length[FindHamiltonianCycle[GraphData[{"ZeroTwoNonbipartite",{7,13}}],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,13}}],All])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"ZeroTwoNonbipartite",{7,13}},".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,2,1])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,13}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,13}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{7,13}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{7,13}},"EdgeList"]],MaxIterations->500]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{7,13}},"Graph",#]&/@{"All","UnitDistance"})

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,13}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,13}}],MaxIterations->5000,"ReturnWithMessage"->False]//Quiet//Timing

Matchstick

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{7,13}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{7,13}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite", {7, 14}}

Names

GraphData[{"ZeroTwoNonbipartite",{7,14}},"StandardName"]

GraphData[{"ZeroTwoNonbipartite",{7,14}},"StandardNames"]

Primary

GraphData[{"ZeroTwoNonbipartite",{7,14}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{7,14}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{7,14}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{7,14}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{7,14}},"Graph","Degenerate"]

Configuration

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Configuration"]

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Graph","Configuration"]//StyleGraphs

Perspective

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Polyhedron"]

HoneycombToroidal construction

GraphData[{"ZeroTwoNonbipartite",{7,14}},"NotationRules","HoneycombToroidal"]

HoneycombToroidalGraph@@{"ZeroTwoNonbipartite",{7,14}}[[2]]

RecognizeGraph[%]

GeneralizedHoneycombGraph construction

With[{n={"ZeroTwoNonbipartite",{7,14}}[[2,2]]},Cases[Table[{k,g=GeneralizedHoneycombGraph[n,k],RecognizeGraph@g},{k,n-1}],{__,{"ZeroTwoNonbipartite",{7,14}}}]]//Timing

gs=GeneralizedHoneycombGraph[{"ZeroTwoNonbipartite",{7,14}}[[2,2]],#]&/@{}

RecognizeGraph/@gs

GeneralizedPetersen

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Graph","GeneralizedPetersen"]//StyleGraphs

IGraph

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Graph","IGraph"]//StyleGraphs

Bilateral

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{7,14}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,14}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,14}}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,14}}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,14}}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,14}}],TimeConstraint->5 3600])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,14}}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

IGLayoutTutte[g,"OuterFace"->#]&/@faces

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,14}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoNonbipartite",{7,14}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,14}}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union//Timing

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Graph","Circulant"]//StyleGraphs

Complement graph

compl=GraphData[{"ZeroTwoNonbipartite",{7,14}},"ComplementGraph","Name"]

Line graph

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Line"]

LineGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,14}}]]//Timing

RootGraph

roots=Select[GraphData[All],GraphData[#,"LineGraph","Name"]==={"ZeroTwoNonbipartite",{7,14}}&]

RootGraph[GraphData[{"ZeroTwoNonbipartite",{7,14}}]]

Halin

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{7,14}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{7,14}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{7,14}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{7,14}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

FindRandomLCFNotation[GraphData[{"ZeroTwoNonbipartite",{7,14}}],TimeConstraint->120]

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,14}}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,2,1])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"ZeroTwoNonbipartite",{7,14}},{0,Missing["NotAvailable",LCFNotation/@gs]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute all

Divisors[GraphData[{"ZeroTwoNonbipartite",{7,14}},"V"]]

Length[FindHamiltonianCycle[GraphData[{"ZeroTwoNonbipartite",{7,14}}],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,14}}],All])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"ZeroTwoNonbipartite",{7,14}},".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,2,1])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,14}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,14}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{7,14}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{7,14}},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{7,14}},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,14}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,14}}],MaxIterations->5000,"ReturnWithMessage"->False]//Quiet//Timing

UnitDistance by FindSubgraphUnitDistanceEmbedding

{{"ZeroTwoNonbipartite",{7,14}},l=FindSubgraphUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,14}}],TimeConstraint->300,"Results"->All]//Timing}

gs=SortBy[UniqueEmbeddings[l],Replace[RectilinearCrossingCount[#],Infinity->0]&]

Matchstick

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{7,14}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{7,14}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite",{7,15}}

Names

GraphData[{"ZeroTwoNonbipartite",{7,15}},"StandardName"]

GraphData[{"ZeroTwoNonbipartite",{7,15}},"StandardNames"]

Primary

GraphData[{"ZeroTwoNonbipartite",{7,15}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{7,15}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{7,15}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{7,15}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{7,15}},"Graph","Degenerate"]

Configuration

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Configuration"]

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Graph","Configuration"]//StyleGraphs

Perspective

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Polyhedron"]

HoneycombToroidal construction

GraphData[{"ZeroTwoNonbipartite",{7,15}},"NotationRules","HoneycombToroidal"]

HoneycombToroidalGraph@@{"ZeroTwoNonbipartite",{7,15}}[[2]]

RecognizeGraph[%]

GeneralizedHoneycombGraph construction

With[{n={"ZeroTwoNonbipartite",{7,15}}[[2,2]]},Cases[Table[{k,g=GeneralizedHoneycombGraph[n,k],RecognizeGraph@g},{k,n-1}],{__,{"ZeroTwoNonbipartite",{7,15}}}]]//Timing

gs=GeneralizedHoneycombGraph[{"ZeroTwoNonbipartite",{7,15}}[[2,2]],#]&/@{}

RecognizeGraph/@gs

GeneralizedPetersen

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Graph","GeneralizedPetersen"]//StyleGraphs

IGraph

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Graph","IGraph"]//StyleGraphs

Bilateral

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{7,15}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,15}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,15}}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,15}}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,15}}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,15}}],TimeConstraint->5 3600])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,15}}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

IGLayoutTutte[g,"OuterFace"->#]&/@faces

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,15}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoNonbipartite",{7,15}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,15}}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union//Timing

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Graph","Circulant"]//StyleGraphs

Complement graph

compl=GraphData[{"ZeroTwoNonbipartite",{7,15}},"ComplementGraph","Name"]

Line graph

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Line"]

LineGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,15}}]]//Timing

RootGraph

roots=Select[GraphData[All],GraphData[#,"LineGraph","Name"]==={"ZeroTwoNonbipartite",{7,15}}&]

RootGraph[GraphData[{"ZeroTwoNonbipartite",{7,15}}]]

Halin

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{7,15}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{7,15}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{7,15}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{7,15}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

FindRandomLCFNotation[GraphData[{"ZeroTwoNonbipartite",{7,15}}],TimeConstraint->120]

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,15}}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,2,1])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"ZeroTwoNonbipartite",{7,15}},{0,Missing["NotAvailable",LCFNotation/@gs]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute all

Divisors[GraphData[{"ZeroTwoNonbipartite",{7,15}},"V"]]

Length[FindHamiltonianCycle[GraphData[{"ZeroTwoNonbipartite",{7,15}}],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,15}}],All])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"ZeroTwoNonbipartite",{7,15}},".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,2,1])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,15}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,15}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{7,15}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{7,15}},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{7,15}},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,15}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,15}}],MaxIterations->5000,"ReturnWithMessage"->False]//Quiet//Timing

UnitDistance by FindSubgraphUnitDistanceEmbedding

{{"ZeroTwoNonbipartite",{7,15}},l=FindSubgraphUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,15}}],TimeConstraint->300,"Results"->All]//Timing}

gs=SortBy[UniqueEmbeddings[l],Replace[RectilinearCrossingCount[#],Infinity->0]&]

Matchstick

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{7,15}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{7,15}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite", {7, 16}}

Names

GraphData[{"ZeroTwoNonbipartite",{7,16}},"StandardName"]

GraphData[{"ZeroTwoNonbipartite",{7,16}},"StandardNames"]

Primary

GraphData[{"ZeroTwoNonbipartite",{7,16}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{7,16}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{7,16}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{7,16}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{7,16}},"Graph","Degenerate"]

Configuration

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Configuration"]

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Graph","Configuration"]//StyleGraphs

Perspective

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Polyhedron"]

HoneycombToroidal construction

GraphData[{"ZeroTwoNonbipartite",{7,16}},"NotationRules","HoneycombToroidal"]

HoneycombToroidalGraph@@{"ZeroTwoNonbipartite",{7,16}}[[2]]

RecognizeGraph[%]

GeneralizedHoneycombGraph construction

With[{n={"ZeroTwoNonbipartite",{7,16}}[[2,2]]},Cases[Table[{k,g=GeneralizedHoneycombGraph[n,k],RecognizeGraph@g},{k,n-1}],{__,{"ZeroTwoNonbipartite",{7,16}}}]]//Timing

gs=GeneralizedHoneycombGraph[{"ZeroTwoNonbipartite",{7,16}}[[2,2]],#]&/@{}

RecognizeGraph/@gs

GeneralizedPetersen

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Graph","GeneralizedPetersen"]//StyleGraphs

IGraph

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Graph","IGraph"]//StyleGraphs

Bilateral

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{7,16}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,16}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,16}}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,16}}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,16}}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,16}}],TimeConstraint->5 3600])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,16}}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

IGLayoutTutte[g,"OuterFace"->#]&/@faces

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,16}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoNonbipartite",{7,16}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,16}}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union//Timing

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Graph","Circulant"]//StyleGraphs

Complement graph

compl=GraphData[{"ZeroTwoNonbipartite",{7,16}},"ComplementGraph","Name"]

Line graph

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Line"]

LineGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,16}}]]//Timing

RootGraph

roots=Select[GraphData[All],GraphData[#,"LineGraph","Name"]==={"ZeroTwoNonbipartite",{7,16}}&]

RootGraph[GraphData[{"ZeroTwoNonbipartite",{7,16}}]]

Halin

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{7,16}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{7,16}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{7,16}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{7,16}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

FindRandomLCFNotation[GraphData[{"ZeroTwoNonbipartite",{7,16}}],TimeConstraint->120]

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,16}}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,2,1])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"ZeroTwoNonbipartite",{7,16}},{0,Missing["NotAvailable",LCFNotation/@gs]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute all

Divisors[GraphData[{"ZeroTwoNonbipartite",{7,16}},"V"]]

Length[FindHamiltonianCycle[GraphData[{"ZeroTwoNonbipartite",{7,16}}],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,16}}],All])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"ZeroTwoNonbipartite",{7,16}},".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,2,1])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,16}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,16}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{7,16}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{7,16}},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{7,16}},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,16}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,16}}],MaxIterations->5000,"ReturnWithMessage"->False]//Quiet//Timing

UnitDistance by FindSubgraphUnitDistanceEmbedding

{{"ZeroTwoNonbipartite",{7,16}},l=FindSubgraphUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,16}}],TimeConstraint->300,"Results"->All]//Timing}

gs=SortBy[UniqueEmbeddings[l],Replace[RectilinearCrossingCount[#],Infinity->0]&]

Matchstick

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{7,16}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{7,16}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite", {7, 17}}

Names

GraphData[{"ZeroTwoNonbipartite",{7,17}},"StandardName"]

GraphData[{"ZeroTwoNonbipartite",{7,17}},"StandardNames"]

Primary

GraphData[{"ZeroTwoNonbipartite",{7,17}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{7,17}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{7,17}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{7,17}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{7,17}},"Graph","Degenerate"]

Configuration

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Configuration"]

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Graph","Configuration"]//StyleGraphs

Perspective

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Polyhedron"]

HoneycombToroidal construction

GraphData[{"ZeroTwoNonbipartite",{7,17}},"NotationRules","HoneycombToroidal"]

HoneycombToroidalGraph@@{"ZeroTwoNonbipartite",{7,17}}[[2]]

RecognizeGraph[%]

GeneralizedHoneycombGraph construction

With[{n={"ZeroTwoNonbipartite",{7,17}}[[2,2]]},Cases[Table[{k,g=GeneralizedHoneycombGraph[n,k],RecognizeGraph@g},{k,n-1}],{__,{"ZeroTwoNonbipartite",{7,17}}}]]//Timing

gs=GeneralizedHoneycombGraph[{"ZeroTwoNonbipartite",{7,17}}[[2,2]],#]&/@{}

RecognizeGraph/@gs

GeneralizedPetersen

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Graph","GeneralizedPetersen"]//StyleGraphs

IGraph

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Graph","IGraph"]//StyleGraphs

Bilateral

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{7,17}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,17}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,17}}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,17}}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,17}}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,17}}],TimeConstraint->5 3600])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,17}}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

IGLayoutTutte[g,"OuterFace"->#]&/@faces

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,17}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoNonbipartite",{7,17}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,17}}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union//Timing

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Graph","Circulant"]//StyleGraphs

Complement graph

compl=GraphData[{"ZeroTwoNonbipartite",{7,17}},"ComplementGraph","Name"]

Line graph

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Line"]

LineGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,17}}]]//Timing

RootGraph

roots=Select[GraphData[All],GraphData[#,"LineGraph","Name"]==={"ZeroTwoNonbipartite",{7,17}}&]

RootGraph[GraphData[{"ZeroTwoNonbipartite",{7,17}}]]

Halin

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{7,17}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{7,17}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{7,17}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{7,17}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

FindRandomLCFNotation[GraphData[{"ZeroTwoNonbipartite",{7,17}}],TimeConstraint->120]

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,17}}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,2,1])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"ZeroTwoNonbipartite",{7,17}},{0,Missing["NotAvailable",LCFNotation/@gs]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute all

Divisors[GraphData[{"ZeroTwoNonbipartite",{7,17}},"V"]]

Length[FindHamiltonianCycle[GraphData[{"ZeroTwoNonbipartite",{7,17}}],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,17}}],All])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"ZeroTwoNonbipartite",{7,17}},".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,2,1])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,17}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,17}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{7,17}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{7,17}},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{7,17}},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,17}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,17}}],MaxIterations->5000,"ReturnWithMessage"->False]//Quiet//Timing

UnitDistance by FindSubgraphUnitDistanceEmbedding

{{"ZeroTwoNonbipartite",{7,17}},l=FindSubgraphUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,17}}],TimeConstraint->300,"Results"->All]//Timing}

gs=SortBy[UniqueEmbeddings[l],Replace[RectilinearCrossingCount[#],Infinity->0]&]

Matchstick

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{7,17}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{7,17}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite", {7, 18}}

Names

GraphData[{"ZeroTwoNonbipartite",{7,18}},"StandardName"]

GraphData[{"ZeroTwoNonbipartite",{7,18}},"StandardNames"]

Primary

GraphData[{"ZeroTwoNonbipartite",{7,18}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{7,18}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{7,18}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{7,18}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{7,18}},"Graph","Degenerate"]

Configuration

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Configuration"]

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Graph","Configuration"]//StyleGraphs

Perspective

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Polyhedron"]

HoneycombToroidal construction

GraphData[{"ZeroTwoNonbipartite",{7,18}},"NotationRules","HoneycombToroidal"]

HoneycombToroidalGraph@@{"ZeroTwoNonbipartite",{7,18}}[[2]]

RecognizeGraph[%]

GeneralizedHoneycombGraph construction

With[{n={"ZeroTwoNonbipartite",{7,18}}[[2,2]]},Cases[Table[{k,g=GeneralizedHoneycombGraph[n,k],RecognizeGraph@g},{k,n-1}],{__,{"ZeroTwoNonbipartite",{7,18}}}]]//Timing

gs=GeneralizedHoneycombGraph[{"ZeroTwoNonbipartite",{7,18}}[[2,2]],#]&/@{}

RecognizeGraph/@gs

GeneralizedPetersen

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Graph","GeneralizedPetersen"]//StyleGraphs

IGraph

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Graph","IGraph"]//StyleGraphs

Bilateral

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{7,18}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,18}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,18}}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,18}}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,18}}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,18}}],TimeConstraint->5 3600])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,18}}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

IGLayoutTutte[g,"OuterFace"->#]&/@faces

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,18}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoNonbipartite",{7,18}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,18}}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union//Timing

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Graph","Circulant"]//StyleGraphs

Complement graph

compl=GraphData[{"ZeroTwoNonbipartite",{7,18}},"ComplementGraph","Name"]

Line graph

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Line"]

LineGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,18}}]]//Timing

RootGraph

roots=Select[GraphData[All],GraphData[#,"LineGraph","Name"]==={"ZeroTwoNonbipartite",{7,18}}&]

RootGraph[GraphData[{"ZeroTwoNonbipartite",{7,18}}]]

Halin

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{7,18}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{7,18}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{7,18}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{7,18}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

FindRandomLCFNotation[GraphData[{"ZeroTwoNonbipartite",{7,18}}],TimeConstraint->120]

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,18}}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,2,1])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"ZeroTwoNonbipartite",{7,18}},{0,Missing["NotAvailable",LCFNotation/@gs]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute all

Divisors[GraphData[{"ZeroTwoNonbipartite",{7,18}},"V"]]

Length[FindHamiltonianCycle[GraphData[{"ZeroTwoNonbipartite",{7,18}}],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,18}}],All])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"ZeroTwoNonbipartite",{7,18}},".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,2,1])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,18}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,18}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{7,18}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{7,18}},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{7,18}},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,18}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,18}}],MaxIterations->5000,"ReturnWithMessage"->False]//Quiet//Timing

UnitDistance by FindSubgraphUnitDistanceEmbedding

{{"ZeroTwoNonbipartite",{7,18}},l=FindSubgraphUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,18}}],TimeConstraint->300,"Results"->All]//Timing}

gs=SortBy[UniqueEmbeddings[l],Replace[RectilinearCrossingCount[#],Infinity->0]&]

Matchstick

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{7,18}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{7,18}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite", {7, 19}}

Names

GraphData[{"ZeroTwoNonbipartite",{7,19}},"StandardName"]

GraphData[{"ZeroTwoNonbipartite",{7,19}},"StandardNames"]

Primary

GraphData[{"ZeroTwoNonbipartite",{7,19}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{7,19}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{7,19}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{7,19}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{7,19}},"Graph","Degenerate"]

Configuration

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Configuration"]

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Graph","Configuration"]//StyleGraphs

Perspective

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Polyhedron"]

HoneycombToroidal construction

GraphData[{"ZeroTwoNonbipartite",{7,19}},"NotationRules","HoneycombToroidal"]

HoneycombToroidalGraph@@{"ZeroTwoNonbipartite",{7,19}}[[2]]

RecognizeGraph[%]

GeneralizedHoneycombGraph construction

With[{n={"ZeroTwoNonbipartite",{7,19}}[[2,2]]},Cases[Table[{k,g=GeneralizedHoneycombGraph[n,k],RecognizeGraph@g},{k,n-1}],{__,{"ZeroTwoNonbipartite",{7,19}}}]]//Timing

gs=GeneralizedHoneycombGraph[{"ZeroTwoNonbipartite",{7,19}}[[2,2]],#]&/@{}

RecognizeGraph/@gs

GeneralizedPetersen

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Graph","GeneralizedPetersen"]//StyleGraphs

IGraph

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Graph","IGraph"]//StyleGraphs

Bilateral

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{7,19}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,19}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,19}}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,19}}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,19}}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,19}}],TimeConstraint->5 3600])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,19}}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

IGLayoutTutte[g,"OuterFace"->#]&/@faces

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,19}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoNonbipartite",{7,19}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,19}}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union//Timing

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Graph","Circulant"]//StyleGraphs

Complement graph

compl=GraphData[{"ZeroTwoNonbipartite",{7,19}},"ComplementGraph","Name"]

Line graph

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Line"]

LineGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,19}}]]//Timing

RootGraph

roots=Select[GraphData[All],GraphData[#,"LineGraph","Name"]==={"ZeroTwoNonbipartite",{7,19}}&]

RootGraph[GraphData[{"ZeroTwoNonbipartite",{7,19}}]]

Halin

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{7,19}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{7,19}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{7,19}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{7,19}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

FindRandomLCFNotation[GraphData[{"ZeroTwoNonbipartite",{7,19}}],TimeConstraint->120]

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,19}}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,2,1])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"ZeroTwoNonbipartite",{7,19}},{0,Missing["NotAvailable",LCFNotation/@gs]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute all

Divisors[GraphData[{"ZeroTwoNonbipartite",{7,19}},"V"]]

Length[FindHamiltonianCycle[GraphData[{"ZeroTwoNonbipartite",{7,19}}],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,19}}],All])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"ZeroTwoNonbipartite",{7,19}},".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,2,1])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,19}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,19}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{7,19}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{7,19}},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{7,19}},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,19}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,19}}],MaxIterations->5000,"ReturnWithMessage"->False]//Quiet//Timing

UnitDistance by FindSubgraphUnitDistanceEmbedding

{{"ZeroTwoNonbipartite",{7,19}},l=FindSubgraphUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,19}}],TimeConstraint->300,"Results"->All]//Timing}

gs=SortBy[UniqueEmbeddings[l],Replace[RectilinearCrossingCount[#],Infinity->0]&]

Matchstick

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{7,19}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{7,19}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite",{7,20}}

Names

GraphData[{"ZeroTwoNonbipartite",{7,20}},"StandardName"]

GraphData[{"ZeroTwoNonbipartite",{7,20}},"StandardNames"]

Primary

GraphData[{"ZeroTwoNonbipartite",{7,20}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{7,20}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{7,20}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{7,20}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{7,20}},"Graph","Degenerate"]

Configuration

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Configuration"]

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Graph","Configuration"]//StyleGraphs

Perspective

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Polyhedron"]

HoneycombToroidal construction

GraphData[{"ZeroTwoNonbipartite",{7,20}},"NotationRules","HoneycombToroidal"]

HoneycombToroidalGraph@@{"ZeroTwoNonbipartite",{7,20}}[[2]]

RecognizeGraph[%]

GeneralizedHoneycombGraph construction

With[{n={"ZeroTwoNonbipartite",{7,20}}[[2,2]]},Cases[Table[{k,g=GeneralizedHoneycombGraph[n,k],RecognizeGraph@g},{k,n-1}],{__,{"ZeroTwoNonbipartite",{7,20}}}]]//Timing

gs=GeneralizedHoneycombGraph[{"ZeroTwoNonbipartite",{7,20}}[[2,2]],#]&/@{}

RecognizeGraph/@gs

GeneralizedPetersen

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Graph","GeneralizedPetersen"]//StyleGraphs

IGraph

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Graph","IGraph"]//StyleGraphs

Bilateral

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{7,20}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,20}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,20}}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,20}}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,20}}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,20}}],TimeConstraint->5 3600])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,20}}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

IGLayoutTutte[g,"OuterFace"->#]&/@faces

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,20}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoNonbipartite",{7,20}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,20}}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union//Timing

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Graph","Circulant"]//StyleGraphs

Complement graph

compl=GraphData[{"ZeroTwoNonbipartite",{7,20}},"ComplementGraph","Name"]

Line graph

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Line"]

LineGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,20}}]]//Timing

RootGraph

roots=Select[GraphData[All],GraphData[#,"LineGraph","Name"]==={"ZeroTwoNonbipartite",{7,20}}&]

RootGraph[GraphData[{"ZeroTwoNonbipartite",{7,20}}]]

Halin

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{7,20}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{7,20}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{7,20}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{7,20}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

FindRandomLCFNotation[GraphData[{"ZeroTwoNonbipartite",{7,20}}],TimeConstraint->120]

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,20}}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,2,1])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"ZeroTwoNonbipartite",{7,20}},{0,Missing["NotAvailable",LCFNotation/@gs]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute all

Divisors[GraphData[{"ZeroTwoNonbipartite",{7,20}},"V"]]

Length[FindHamiltonianCycle[GraphData[{"ZeroTwoNonbipartite",{7,20}}],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,20}}],All])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"ZeroTwoNonbipartite",{7,20}},".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,2,1])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,20}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,20}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{7,20}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{7,20}},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{7,20}},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,20}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,20}}],MaxIterations->5000,"ReturnWithMessage"->False]//Quiet//Timing

UnitDistance by FindSubgraphUnitDistanceEmbedding

{{"ZeroTwoNonbipartite",{7,20}},l=FindSubgraphUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,20}}],TimeConstraint->300,"Results"->All]//Timing}

gs=SortBy[UniqueEmbeddings[l],Replace[RectilinearCrossingCount[#],Infinity->0]&]

Matchstick

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{7,20}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{7,20}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite",{7,21}}

Names

GraphData[{"ZeroTwoNonbipartite",{7,21}},"StandardName"]

GraphData[{"ZeroTwoNonbipartite",{7,21}},"StandardNames"]

Primary

GraphData[{"ZeroTwoNonbipartite",{7,21}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{7,21}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{7,21}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{7,21}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{7,21}},"Graph","Degenerate"]

Configuration

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Configuration"]

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Graph","Configuration"]//StyleGraphs

Perspective

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Polyhedron"]

HoneycombToroidal construction

GraphData[{"ZeroTwoNonbipartite",{7,21}},"NotationRules","HoneycombToroidal"]

HoneycombToroidalGraph@@{"ZeroTwoNonbipartite",{7,21}}[[2]]

RecognizeGraph[%]

GeneralizedHoneycombGraph construction

With[{n={"ZeroTwoNonbipartite",{7,21}}[[2,2]]},Cases[Table[{k,g=GeneralizedHoneycombGraph[n,k],RecognizeGraph@g},{k,n-1}],{__,{"ZeroTwoNonbipartite",{7,21}}}]]//Timing

gs=GeneralizedHoneycombGraph[{"ZeroTwoNonbipartite",{7,21}}[[2,2]],#]&/@{}

RecognizeGraph/@gs

GeneralizedPetersen

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Graph","GeneralizedPetersen"]//StyleGraphs

IGraph

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Graph","IGraph"]//StyleGraphs

Bilateral

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{7,21}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,21}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,21}}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,21}}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,21}}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,21}}],TimeConstraint->5 3600])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,21}}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

IGLayoutTutte[g,"OuterFace"->#]&/@faces

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,21}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoNonbipartite",{7,21}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,21}}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union//Timing

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Circulant"]

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Graph","Circulant"]//StyleGraphs

Complement graph

compl=GraphData[{"ZeroTwoNonbipartite",{7,21}},"ComplementGraph","Name"]

Line graph

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Line"]

LineGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,21}}]]//Timing

RootGraph

roots=Select[GraphData[All],GraphData[#,"LineGraph","Name"]==={"ZeroTwoNonbipartite",{7,21}}&]

RootGraph[GraphData[{"ZeroTwoNonbipartite",{7,21}}]]

Halin

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{7,21}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{7,21}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{7,21}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{7,21}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

FindRandomLCFNotation[GraphData[{"ZeroTwoNonbipartite",{7,21}}],TimeConstraint->120]

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,21}}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,2,1])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

l={
{{"ZeroTwoNonbipartite",{7,21}},{0,Missing["NotAvailable",LCFNotation/@gs]}}
}

PropertyReplace[l,"LCFNotations","14.1"]

RenameGraphFiles[]

LCF compute all

Divisors[GraphData[{"ZeroTwoNonbipartite",{7,21}},"V"]]

Length[FindHamiltonianCycle[GraphData[{"ZeroTwoNonbipartite",{7,21}}],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,21}}],All])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"ZeroTwoNonbipartite",{7,21}},".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,2,1])]//Timing

Length[gs]

gs

BilateralGraphEmbeddingQ/@gs

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,21}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,21}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Graph","UnitDistance"]//StyleGraphs

Select[%,!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&]

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{7,21}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{7,21}},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]],MaxIterations->500]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{7,21}},"Graph",#]&/@{"All","UnitDistance"})

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,21}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,21}}],MaxIterations->5000,"ReturnWithMessage"->False]//Quiet//Timing

UnitDistance by FindSubgraphUnitDistanceEmbedding

{{"ZeroTwoNonbipartite",{7,21}},l=FindSubgraphUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,21}}],TimeConstraint->300,"Results"->All]//Timing}

gs=SortBy[UniqueEmbeddings[l],Replace[RectilinearCrossingCount[#],Infinity->0]&]

Matchstick

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{7,21}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{7,21}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite", {7, 22}}

GraphData[{"ZeroTwoNonbipartite",{7,22}},"StandardName"]

Primary

GraphData[{"ZeroTwoNonbipartite",{7,22}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"ZeroTwoNonbipartite",{7,22}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"ZeroTwoNonbipartite",{7,22}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"ZeroTwoNonbipartite",{7,22}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"ZeroTwoNonbipartite",{7,22}},"Edges"]

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"ZeroTwoNonbipartite",{7,22}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"ZeroTwoNonbipartite",{7,22}},"Graph","Degenerate"]

Bilateral

GraphData[{"ZeroTwoNonbipartite",{7,22}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"ZeroTwoNonbipartite",{7,22}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"ZeroTwoNonbipartite",{7,22}},"Planar"]

GraphData[{"ZeroTwoNonbipartite",{7,22}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"ZeroTwoNonbipartite",{7,22}},{"RCN","CN"}]

GraphData[{"ZeroTwoNonbipartite",{7,22}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,22}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,22}}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,22}}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,22}}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,22}}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"ZeroTwoNonbipartite",{7,22}}],TimeConstraint->5 3600])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,22}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"ZeroTwoNonbipartite",{7,22}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"ZeroTwoNonbipartite",{7,22}}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union

v={};
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant construction

CirculantGraph1@@@CirculantIndices[GraphData[{"ZeroTwoNonbipartite",{7,22}}]]

gs=CirculantGraph1@@@Cases[GraphData[{"ZeroTwoNonbipartite",{7,22}},"StandardNames"],{"Circulant",i_}:>i]

Halin

GraphData[{"ZeroTwoNonbipartite",{7,22}},"Halin"]

GraphData[{"ZeroTwoNonbipartite",{7,22}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"ZeroTwoNonbipartite",{7,22}},"Rigid"]

GraphData[{"ZeroTwoNonbipartite",{7,22}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"ZeroTwoNonbipartite",{7,22}},"Flexible"]

GraphData[{"ZeroTwoNonbipartite",{7,22}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"ZeroTwoNonbipartite",{7,22}},"LCF"]

GraphData[{"ZeroTwoNonbipartite",{7,22}},"HamiltonianCycleCount"]

GraphData[{"ZeroTwoNonbipartite",{7,22}},"LCFSignature"]

GraphData[{"ZeroTwoNonbipartite",{7,22}},"LCFNotations"]

GraphData[{"ZeroTwoNonbipartite",{7,22}},"Graph","LCF"]//StyleGraphs

Tally[LCFNotation[#][[2]]&/@%]

LCF compute random

ComputeRandomLCFNotation[{"ZeroTwoNonbipartite",{7,22}},2,TimeConstraint->120]

lcf={{{-15,-13,-5,-2,8},{-13,-3,-2,8,15},{-13,-11,-7,3,8},{-14,-6,4,7,13},{-14,-6,5,9,13},{-11,-6,-3,13,14},{-10,3,4,6,14},{-12,-4,6,7,11},{-11,-8,3,5,6},{-13,-8,-5,-3,6},{-14,-8,-7,-4,11},{-12,-3,5,7,12},{-6,3,10,13,14},{-9,-6,-5,6,11},{-7,-6,2,3,6},{-6,-3,2,6,12}},2};

g=LCFGraph[Sequence@@lcf,15]

BilateralLCFGraph@@lcf

r=RecognizeGraph@g

l={{r,{0,Missing["NotAvailable",{lcf}]}}}

PropertyReplace[l,"LCFNotations","13.3"]

RenameGraphFiles[]

LCF compute 10^5

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,22}}],10^5])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

(gs=Flatten[{
(* all LCF's with order >1, sorted by order and with bilateral graphs first *)
Join[DeleteCases[#,{_Missing,_}][[All,1]],Cases[#,{_Missing,_}][[All,2]]]&/@Map[{BilateralLCFGraph@@#,#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,1}]]}])//Timing

Length[gs]

LCF compute 10^7

Tally[(lcf=LCF[GraphData[{"ZeroTwoNonbipartite",{7,22}}],10^7])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

(gs=Flatten[{
(* all LCF's with order >1, sorted by order and with bilateral graphs first *)
Join[DeleteCases[#,{_Missing,_}][[All,1]],Cases[#,{_Missing,_}][[All,2]]]&/@Map[{BilateralLCFGraph@@#,#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,1}]]}])//Timing

Length[gs]

UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,22}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"ZeroTwoNonbipartite",{7,22}}],Debug->True]//Timing

GraphData[{"ZeroTwoNonbipartite",{7,22}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"ZeroTwoNonbipartite",{7,22}},"VertexList"],GraphData[{"ZeroTwoNonbipartite",{7,22}},"EdgeList"]]]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]]]&/@Complement@@(GraphData[{"ZeroTwoNonbipartite",{7,22}},"Graph",#]&/@{"All","UnitDistance"})

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"ZeroTwoNonbipartite",{7,22}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"ZeroTwoNonbipartite",{7,22}},"Matchstick"]

GraphData[{"ZeroTwoNonbipartite",{7,22}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"ZeroTwoNonbipartite",{7,22}},"Edges"]]

3D All

GraphData[{"ZeroTwoNonbipartite",{7,22}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"ZeroTwoNonbipartite",{7,22}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"ZeroTwoNonbipartite",{7,22}},"Polyhedral"]

GraphData[{"ZeroTwoNonbipartite",{7,22}},"Graph",{"3D","Polyhedron"}]

{"ZeroTwoNonbipartite", {7, 51}} == {"FoldedCube", 7}

GraphData[{"ZeroTwoNonbipartite",{7,51}},"StandardName"]

Download

SetDirectory["/Users/eww/Documents/Mathematica/Paclets/GraphData/Collections/Brouwer/0,2-Graphs"]

Download02Graphs[pre_,dir_,n_]:=Module[{file},
(file=pre<>"."<>Which[#<10,"00",#<100,"0",True,""]<>ToString[#];
Export[file,Import["http://www.win.tue.nl/~aeb/graphs/recta/"<>dir<>"/"<>file,"String"],"String"]
)&/@Range[n]]

Download02Graphs["s0","0",1]

Download02Graphs["s1","1",1]

Download02Graphs["s2","2",1]

Download02Graphs["s3","3",1]

Download02Graphs["s4","4",2]

Download02Graphs["s5","5",4]

Download02Graphs["s6","6",13]

Download02Graphs["s7","7",40]

Download02Graphs["s8","8",104]

Download02Graphs["n3","3q",1]

Download02Graphs["n4","4q",1]

Download02Graphs["n5","5q",4]

Download02Graphs["n6","6q",11]

Download02Graphs["n7","7q",56]

Download02Graphs["n8","8q",198]

Recognize

From02Graph[str_String]:=Module[{s=Rest[StringSplit[str, "\n"]]},
System`Graph[UndirectedEdge@@@Edges[FromAdjacencyLists[ToExpression[StringSplit[#,","|";"|"."]&/@s]+1]]]
]

ZeroTwoStandardName[s_String]:=Module[{l=StringReplace[s,x_~~y:DigitCharacter..~~"."~~z:DigitCharacter..:>{x,y,z}][[1]]},
{l[[1]]/.{"n"->"ZeroTwoNonbipartite","s"->"ZeroTwoBipartite"},ToExpression/@Rest[l]}
]

All

SetDirectory["/Users/eww/Documents/Mathematica/Paclets/GraphData/Collections/Brouwer/0,2-Graphs"]

Monitor[And@@(ZeroTwoGraphQ/@(From02Graph[Import[f=#,"String"]]&/@Rest[FileNames[]])),f]

Length[graphs={ZeroTwoStandardName[#],RecognizeGraph[g=From02Graph[Import[#,"String"]]],g}&/@Rest[FileNames[]]]//Timing

l={#[[2]],#[[1]]}&/@DeleteCases[graphs,{_,{},_}]

l2={#[[1]],s=#[[2]];"("<>ToString[s[[2,1]]]<>","<>ToString[s[[2,2]]]<>")\[Hyphen]"<>(s[[1]]/.{"ZeroTwoBipartite"->"bipartite","ZeroTwoNonbipartite"->"nonbipartite"})<>" (0,2)\[Hyphen]graph"}&/@l

By order

{#,RecognizeGraph[From02Graph[Import[#,"String"]]]}&/@FileNames["*1.*"]

{#,RecognizeGraph[From02Graph[Import[#,"String"]]]}&/@FileNames["*2.*"]

{#,RecognizeGraph[From02Graph[Import[#,"String"]]]}&/@FileNames["*3.*"]

{#,RecognizeGraph[From02Graph[Import[#,"String"]]]}&/@FileNames["*4.*"]

{#,RecognizeGraph[From02Graph[Import[#,"String"]]]}&/@FileNames["*5.*"]//Column

{#,RecognizeGraph[From02Graph[Import[#,"String"]]]}&/@FileNames["*6.*"]//Column

{#,RecognizeGraph[From02Graph[Import[#,"String"]]]}&/@FileNames["*7.*"]//Column

{#,RecognizeGraph[From02Graph[Import[#,"String"]]]}&/@FileNames["*8.*"]//Column

{"NoncayleyTransitive",{20,16}}

AdjacencyLists

GraphData[{"NoncayleyTransitive",{20,16}},"AutomorphismGroup"]

GroupOrder[%]

GroupOrder[System`AlternatingGroup[5]]

LocalGraphQ[Graph[{"NoncayleyTransitive",{20,16}}]]

LocalGraph[Graph[{"NoncayleyTransitive",{20,16}}]]//ShowGraph

GraphData[{"NoncayleyTransitive",{20,16}},"Local"]

GraphData[{"NoncayleyTransitive",{20,16}},"LocalGraphName"]

GraphData[{"NoncayleyTransitive",{20,16}},"LocalGraph"]

GraphDataString

Length[gs=Sort[DeleteCases[Cases[graphs,{_,{},_}],{{_,{8,_}},_,_}]]]

gs[[-1]]

file=OpenWrite["~/zerotwo.m"]

WriteString[file,GraphDataString[CombinatoricaGraph@#[[-1]],
"StandardName"->#[[1]],
"Name"->(s=#[[1]];"("<>ToString[s[[2,1]]]<>","<>ToString[s[[2,2]]]<>")\[Hyphen]"<>(s[[1]]/.{"ZeroTwoBipartite"->"bipartite","ZeroTwoNonbipartite"->"nonbipartite"})<>" (0,2)\[Hyphen]graph"),
"Vertices"->None,
"Information"->"02-Graph",
"Classes"->{"ZeroTwo"},
TimeConstraint->10,
Debug->True,
MemoryConstrained->1*^9]]&/@gs;

Close[file]