Small Snub Icosicosidodecahedral Graph

Author

Eric W. Weisstein
September 5, 2023

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

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

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

Graphic

GraphicsRow[Most@GraphData["SmallSnubIcosicosidodecahedralGraph","Graph","All"]//StyleGraphs]

Embeddings

<<MathWorld`Graphs`

Names

GraphData["SmallSnubIcosicosidodecahedralGraph","StandardName"]

GraphData["SmallSnubIcosicosidodecahedralGraph","StandardNames"]

Primary

GraphData["SmallSnubIcosicosidodecahedralGraph"]//StyleGraphs[#,ImageSize->Small]&

All

GraphData["SmallSnubIcosicosidodecahedralGraph","Graph","All"]//StyleGraphs

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData["SmallSnubIcosicosidodecahedralGraph","EdgeList"]]

Default embedding

g1=Graph@GraphData["SmallSnubIcosicosidodecahedralGraph","Edges"]

g2=RotateGraph[RotateGraph[Graph[GraphData["SmallSnubIcosicosidodecahedralGraph","Edges"],GraphLayout->"SpringEmbedding"],{10,44}],Pi/2]

gs={g2,g1}

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

RecognizeGraph[g]

Degenerate

GraphData["SmallSnubIcosicosidodecahedralGraph","Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData["SmallSnubIcosicosidodecahedralGraph","Graph","Degenerate"]

Perspective

GraphData["SmallSnubIcosicosidodecahedralGraph","Graph","Perspective"]//StyleGraphs

Perspective construction

GraphData["SmallSnubIcosicosidodecahedralGraph","Graph","3D"]

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

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

PolyhedronProjectionGraph[GraphData["SmallSnubIcosicosidodecahedralGraph","Polyhedron"],{0,0,1}]

PolyhedronProjectionGraph[GraphData["SmallSnubIcosicosidodecahedralGraph","Polyhedron"],{0,1,0}]

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

PolyhedronProjectionGraph[GraphData["SmallSnubIcosicosidodecahedralGraph","Polyhedron"],{1,1,0}]

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

PolyhedronProjectionGraph[GraphData["SmallSnubIcosicosidodecahedralGraph","Polyhedron"],{1,1,1}]

Bilateral

GraphData["SmallSnubIcosicosidodecahedralGraph","Graph","Bilateral"]//StyleGraphs

Circular

GraphData["SmallSnubIcosicosidodecahedralGraph","Graph","Circular"]//StyleGraphs

Planar

GraphData["SmallSnubIcosicosidodecahedralGraph","Planar"]

GraphData["SmallSnubIcosicosidodecahedralGraph","Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData["SmallSnubIcosicosidodecahedralGraph",{"RCN","CN"}]

GraphData["SmallSnubIcosicosidodecahedralGraph","Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData["SmallSnubIcosicosidodecahedralGraph"],TimeConstraint->1])//AbsoluteTiming

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

(cn=CrossingNumber[GraphData["SmallSnubIcosicosidodecahedralGraph"],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData["SmallSnubIcosicosidodecahedralGraph"],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData["SmallSnubIcosicosidodecahedralGraph"],TimeConstraint->5 3600])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData["SmallSnubIcosicosidodecahedralGraph"],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData["SmallSnubIcosicosidodecahedralGraph","Circulant"]

GraphData["SmallSnubIcosicosidodecahedralGraph","Graph","Circulant"]//StyleGraphs

Line graph

GraphData["SmallSnubIcosicosidodecahedralGraph","Line"]

LineGraphQ[GraphData["SmallSnubIcosicosidodecahedralGraph"]]//Timing

RootGraph

Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== "SmallSnubIcosicosidodecahedralGraph"&]

RootGraph[GraphData["SmallSnubIcosicosidodecahedralGraph"]]

Halin

GraphData["SmallSnubIcosicosidodecahedralGraph","Halin"]

GraphData["SmallSnubIcosicosidodecahedralGraph","Graph","Halin"]//StyleGraphs

Rigid

GraphData["SmallSnubIcosicosidodecahedralGraph","Rigid"]

GraphData["SmallSnubIcosicosidodecahedralGraph","Graph","Rigid"]//StyleGraphs

Flexible

GraphData["SmallSnubIcosicosidodecahedralGraph","Flexible"]

GraphData["SmallSnubIcosicosidodecahedralGraph","Graph","Flexible"]//StyleGraphs

LCF

GraphData["SmallSnubIcosicosidodecahedralGraph","LCF"]

GraphData["SmallSnubIcosicosidodecahedralGraph","HamiltonianCycleCount"]

GraphData["SmallSnubIcosicosidodecahedralGraph","LCFSignature"]

GraphData["SmallSnubIcosicosidodecahedralGraph","LCFNotations"]

GraphData["SmallSnubIcosicosidodecahedralGraph","Graph","LCF"]//StyleGraphs

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

LCF compute random

FindRandomLCFNotation[GraphData["SmallSnubIcosicosidodecahedralGraph"],TimeConstraint->120]

LCF compute 10^5

Tally[(lcf=LCF[GraphData["SmallSnubIcosicosidodecahedralGraph"],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[{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^6

Tally[(lcf=LCF[GraphData["SmallSnubIcosicosidodecahedralGraph"],10^6])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

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

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

Length[gs]

LCF compute 10^7

Tally[(lcf=LCF[GraphData["SmallSnubIcosicosidodecahedralGraph"],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]

LCF compute all

Length[FindHamiltonianCycle[GraphData["SmallSnubIcosicosidodecahedralGraph"],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData["SmallSnubIcosicosidodecahedralGraph"],All])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName["SmallSnubIcosicosidodecahedralGraph",".m.gz"]])[[All,2]]]//Timing

DeleteCases[lcf,{_,1}]

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

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

Length[gs]

UnitDistance

GraphData["SmallSnubIcosicosidodecahedralGraph","UnitDistance"]

UnitDistanceGraphQ[GraphData["SmallSnubIcosicosidodecahedralGraph"],Debug->True]//Timing

GraphData["SmallSnubIcosicosidodecahedralGraph","Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData["SmallSnubIcosicosidodecahedralGraph","VertexList"],GraphData["SmallSnubIcosicosidodecahedralGraph","EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData["SmallSnubIcosicosidodecahedralGraph"],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

FindUnitDistanceEmbedding[GraphData["SmallSnubIcosicosidodecahedralGraph"],MaxIterations->5000,"ReturnWithMessage"->False]//Quiet//Timing

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

GraphData["SmallSnubIcosicosidodecahedralGraph","Matchstick"]

GraphData["SmallSnubIcosicosidodecahedralGraph","Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData["SmallSnubIcosicosidodecahedralGraph","Edges"]]

3D All

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

3D UnitDistance construction from uniform polyhedron

emb=GraphData["SmallSnubIcosicosidodecahedralGraph","PolyhedralEmbeddings"]

PolyhedronGraph[PolyhedronData[#,"Polyhedron"]]&/@emb

3D UnitDistance

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

3D Polyhedron

GraphData["SmallSnubIcosicosidodecahedralGraph","Polyhedral"]

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

Properties

PolyhedralEmbeddings

GraphData["SmallSnubIcosicosidodecahedralGraph","PolyhedralEmbeddings"]

GraphData

GraphDataClassString

GraphDataClassString["SmallSnubIcosicosidodecahedralGraph"]

GraphDataString

file=OpenAppend["~/polygraphs.m"]

g=PolyhedronGraph[PolyhedronData["SmallSnubIcosicosidodecahedron","Polyhedron"]]

lowercasedecamel[s_]:=StringTrim[StringReplace[s,RegularExpression["([A-Z])"]:>" "<>ToLowerCase["$1"]]]

PolyhedronNameToGraphName[s_]:=StringReplace[s,"dron"->"dralGraph"]

With[
{
stdname="SmallSnubIcosicosidodecahedron",
altnames={"SmallRetrosnubIcosicosidodecahedron"}
},
WriteString[file,GraphDataString[g,
"StandardName"->PolyhedronNameToGraphName@stdname,
"AlternateStandatdNames"->PolyhedronNameToGraphName/@altnames,
"Name"->lowercasedecamel@stdname,
"AlternateNames"->lowercasedecamel/@PolyhedronNameToGraphName/@altnames,
"Information"->stdname,
"Classes"->{"UniformSkeleton"},
"Skip"->{"ConnectedInducedSubgraphPolynomial","ConnectedInducedSubgraphs","LowerMatchingNumber","TuttePolynomial"},
TimeConstraint->10
]]]

Close [file]