Icositruncated Dodecadodecahedral Graph

Author

Eric W. Weisstein
July 24, 2026

This notebook downloaded from https://mathworld.wolfram.com/notebooks/GraphTheory/IcositruncatedDodecadodecahedralGraph.nb.

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

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

Figure

GraphicsGrid[
Partition[
StyleGraphs[
GraphData["IcositruncatedDodecadodecahedralGraph","Graph","All"],
EdgeStyle->Directive[LightDarkSwitched@Black,Opacity[.5]]
],
UpTo[6]
],
Dividers->All
]

Skeleton

GraphData["IcositruncatedDodecadodecahedralGraph","PolyhedralEmbeddings"]

Embeddings

<<MathWorld`Graphs`

Names

GraphData["IcositruncatedDodecadodecahedralGraph","StandardName"]

GraphData["IcositruncatedDodecadodecahedralGraph","StandardNames"]

HouseOfGraphs

hogid=GraphData["IcositruncatedDodecadodecahedralGraph","NotationRules","HouseOfGraphs"]

HouseOfGraphsLookup[hogid]

HouseOfGraphsGraph[hogid]//StyleGraphs[#,ImageSize->Small]&

Wikidata

GraphData["IcositruncatedDodecadodecahedralGraph","WikidataID"]

GraphData["IcositruncatedDodecadodecahedralGraph","WikidataID","URL"]

Primary

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

All

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

CurvedEdge

GraphData["IcositruncatedDodecadodecahedralGraph","Graph","CurvedEdge"]//StyleGraphs

Inexact

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

Degenerate

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

DegenerateGraphEmbeddingTypes/@GraphData["IcositruncatedDodecadodecahedralGraph","Graph","Degenerate"]//Column

Embeddings

GraphDataEmbeddings[GraphData["IcositruncatedDodecadodecahedralGraph","EdgeList"]]

Default embedding

g=Graph[GraphData["IcositruncatedDodecadodecahedralGraph","Edges"],GraphLayout->"SpringEmbedding"]

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

RecognizeGraph[g]

Perspective

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

Perspective construction

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

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

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

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

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

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

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

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

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

GeneralizedPetersen

GraphData["IcositruncatedDodecadodecahedralGraph","Graph","GeneralizedPetersen"]//StyleGraphs

IGraph

GraphData["IcositruncatedDodecadodecahedralGraph","Graph","IGraph"]//StyleGraphs

CompleteKPartite

GraphData["IcositruncatedDodecadodecahedralGraph","Graph","CompleteKPartite"]//StyleGraphs

Bipartite

GraphData["IcositruncatedDodecadodecahedralGraph","Bipartite"]

GraphData["IcositruncatedDodecadodecahedralGraph","Graph","Bipartite"]//StyleGraphs

Bipartite construction

GraphData["IcositruncatedDodecadodecahedralGraph","Bipartite"]

g=BipartiteGraph[GraphData["IcositruncatedDodecadodecahedralGraph"]]

RecognizeGraph@g

Bilateral

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

Circular

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

Planar

GraphData["IcositruncatedDodecadodecahedralGraph","Planar"]

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

MinimalCrossingNumber crossings.uos.de [too large]

CrossingNumber[GraphData["IcositruncatedDodecadodecahedralGraph"],Method->"WebCompute"]//AbsoluteTiming

DateString[]

MinimalCrossingNumber: "EmbeddingScheme" -> 1

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

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

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

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

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

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

MinimalCrossingNumber: "EmbeddingScheme" -> 2

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

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

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

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

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

(cn=CrossingNumber[GraphData["IcositruncatedDodecadodecahedralGraph"],"EmbeddingScheme"->2,TimeConstraint->86400])//AbsoluteTiming

Quit

MinimalCrossingNumber: "EmbeddingScheme" -> 3

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

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

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

(cn=CrossingNumber[GraphData["IcositruncatedDodecadodecahedralGraph"],"EmbeddingScheme"->3,TimeConstraint->300])//AbsoluteTiming

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

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

(cn=CrossingNumber[GraphData["IcositruncatedDodecadodecahedralGraph"],"EmbeddingScheme"->3,TimeConstraint->86400])//AbsoluteTiming

Quit

MinimalCrossing

GraphData["IcositruncatedDodecadodecahedralGraph","CN"]

(gs=GraphData["IcositruncatedDodecadodecahedralGraph","Graph","MinimalCrossing"])//StyleGraphs

GraphCrossingCount/@gs

GraphCrossingDiagram/@gs

MinimalRectilinearCrossing

GraphData["IcositruncatedDodecadodecahedralGraph","RCN"]

GraphData["IcositruncatedDodecadodecahedralGraph","Graph","MinimalRectilinearCrossing"]//StyleGraphs

MinimalRectilinearCrossing construction order X [minimum RCN == ]

Length[gs=FindMinimalRectilinearCrossingGraph[GraphData["IcositruncatedDodecadodecahedralGraph"],Automatic,All,"Size"->Automatic,Method->"SubgraphIsomorphism",Debug->True]]//Timing

MaxMemoryUsed[]/10^9. GB

Tally[RectilinearCrossingCount/@gs]//Timing

Tally[RectilinearLocalCrossingCount/@gs]//Timing

GraphSymmetryGroup/@gs//Tally

Select[gs,GraphSymmetryGroup[#]=!=TransformationGroup[{}]&]

Take[gs,UpTo[100]]

MinimalRectilinearCrossing construction order X [minimum RCN == ]

Length[gs=FindMinimalRectilinearCrossingGraph[GraphData["IcositruncatedDodecadodecahedralGraph"],Automatic,All,"Size"->XXX,Method->"SubgraphIsomorphism",Debug->True]]//Timing

MaxMemoryUsed[]/10^9. GB

Tally[RectilinearCrossingCount/@gs]//Timing

Tally[RectilinearLocalCrossingCount/@gs]//Timing

GraphSymmetryGroup/@gs//Tally

Select[gs,GraphSymmetryGroup[#]=!=TransformationGroup[{}]&]

Take[gs,UpTo[100]]

MinimalCrossing construction Tutte

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

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

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

TutteGraphs=BilateralGraph[CenterGraph@IGLayoutTutte[g,"OuterFace"->#],"ReturnNonbilateralGraph"->True]&/@faces

TutteGraphsWithOuterCrossingPointCounts={
#,
Count[OuterFace[#],_?(GreaterThan[GraphData["IcositruncatedDodecadodecahedralGraph","V"]])]
}&/@TutteGraphs;

Cases[TutteGraphsWithOuterCrossingPointCounts,{g_,0}:>g]

Cases[TutteGraphsWithOuterCrossingPointCounts,{g_,1}:>g]

LocalCrossingNumberWithEmbeddings=
{1+Max[Length/@DeleteCases[
Drop[AdjacencyList[#],GraphData["IcositruncatedDodecadodecahedralGraph","V"]],
_Integer?(LessEqualThan[GraphData["IcositruncatedDodecadodecahedralGraph","V"]]),
{2}
]],#}&/@TutteGraphs

TutteGraphsWithSymmetryGroups={
#,
GraphSymmetryGroup[
#,
AdditionalData->Join[Table[True,GraphData["IcositruncatedDodecadodecahedralGraph","V"]],Table[False,cn]],
SameTest->Equal
]
}&/@TutteGraphs;

SymmetricEmbeddingsWithOrientations=DeleteCases[
TutteGraphsWithSymmetryGroups,
{_,TransformationGroup[{}]}
]

Select[SymmetricEmbeddingsWithOrientations[[All,1]],Count[OuterFace[#],_?(GreaterThan[GraphData["IcositruncatedDodecadodecahedralGraph","V"]])]==0&]

MinimalCrossing construction Random 1k [XXX s]

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

Length[diagrams=DistinctMinimalCrossingDiagramData[
GraphData["IcositruncatedDodecadodecahedralGraph"],
1000,
"CrossingNumber"->cn,
EdgeShapeFunction->"BezierEdge"
]]//AbsoluteTiming

No crossing points on the boundary:

Length[diagrams0=Lookup[Select[diagrams,MinimalCrossingOuterCrossingCount[#]==0&],"Graph",{}]]//Timing

Take[diagrams0,UpTo[10]]

One crossing point on the boundary:

Length[diagrams1=Lookup[Select[diagrams,MinimalCrossingOuterCrossingCount[#]==1&],"Graph",{}]]//Timing

Take[diagrams1,UpTo[10]]

graphs=#["Graph"]&/@diagrams;

Symmetric embeddings:

RandomGraphsWithSymmetryGroups={
#,
GraphSymmetryGroup[#]
}&/@graphs;//AbsoluteTiming

MaxMemoryUsed[]/10^9.GB

Symmetric embeddings:

Length[SymmetricMinimalEmbeddingData=DeleteCases[
RandomGraphsWithSymmetryGroups,
{_,TransformationGroup[{}]}
]
]//AbsoluteTiming

SymmetricMinimalEmbeddingData

SymmetricMinimalEmbeddingGraphs=SymmetricMinimalEmbeddingData[[All,1]]

GraphCrossingCount/@SymmetricMinimalEmbeddingGraphs

GraphCrossingDiagram/@SymmetricMinimalEmbeddingGraphs

MinimalCrossing construction Random 5k [XXX s]

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

Length[diagrams=DistinctMinimalCrossingDiagramData[
GraphData["IcositruncatedDodecadodecahedralGraph"],
5000,
"CrossingNumber"->cn,
EdgeShapeFunction->"BezierEdge"
]]//AbsoluteTiming

No crossing points on the boundary:

Length[diagrams0=Lookup[Select[diagrams,MinimalCrossingOuterCrossingCount[#]==0&],"Graph",{}]]//Timing

Take[diagrams0,UpTo[10]]

One crossing point on the boundary:

Length[diagrams1=Lookup[Select[diagrams,MinimalCrossingOuterCrossingCount[#]==1&],"Graph",{}]]//Timing

Take[diagrams1,UpTo[10]]

graphs=#["Graph"]&/@diagrams;

Symmetric embeddings:

RandomGraphsWithSymmetryGroups={
#,
GraphSymmetryGroup[#]
}&/@graphs;//AbsoluteTiming

MaxMemoryUsed[]/10^9.GB

Symmetric embeddings:

Length[SymmetricMinimalEmbeddingData=DeleteCases[
RandomGraphsWithSymmetryGroups,
{_,TransformationGroup[{}]}
]
]//AbsoluteTiming

SymmetricMinimalEmbeddingData

SymmetricMinimalEmbeddingGraphs=SymmetricMinimalEmbeddingData[[All,1]]

GraphCrossingCount/@SymmetricMinimalEmbeddingGraphs

GraphCrossingDiagram/@SymmetricMinimalEmbeddingGraphs

MinimalCrossing construction Random 20k [XXX s]

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

Length[diagrams=DistinctMinimalCrossingDiagramData[
GraphData["IcositruncatedDodecadodecahedralGraph"],
20*^3,
"CrossingNumber"->cn,
EdgeShapeFunction->"BezierEdge"
]]//AbsoluteTiming

No crossing points on the boundary:

Length[diagrams0=Lookup[Select[diagrams,MinimalCrossingOuterCrossingCount[#]==0&],"Graph",{}]]//Timing

Take[diagrams0,UpTo[10]]

One crossing point on the boundary:

Length[diagrams1=Lookup[Select[diagrams,MinimalCrossingOuterCrossingCount[#]==1&],"Graph",{}]]//Timing

Take[diagrams1,UpTo[10]]

graphs=#["Graph"]&/@diagrams;

Symmetric embeddings:

RandomGraphsWithSymmetryGroups={
#,
GraphSymmetryGroup[#]
}&/@graphs;//AbsoluteTiming

MaxMemoryUsed[]/10^9.GB

Symmetric embeddings:

Length[SymmetricMinimalEmbeddingData=DeleteCases[
RandomGraphsWithSymmetryGroups,
{_,TransformationGroup[{}]}
]
]//AbsoluteTiming

SymmetricMinimalEmbeddingData

SymmetricMinimalEmbeddingGraphs=SymmetricMinimalEmbeddingData[[All,1]]

GraphCrossingCount/@SymmetricMinimalEmbeddingGraphs

GraphCrossingDiagram/@SymmetricMinimalEmbeddingGraphs

MinimalCrossing construction Random 1k [old]

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

(RandomGraphs=Table[MinimalCrossingGraph[GraphData["IcositruncatedDodecadodecahedralGraph"],"CrossingNumber"->cn,RandomSeed->n],{n,1000}]//Union);//Timing

RandomGraphsWithOuterCrossingPointCounts={
#,
Count[OuterFace[#],_?(GreaterThan[GraphData["IcositruncatedDodecadodecahedralGraph","V"]])]
}&/@RandomGraphs;

Small numbers of crossing points on the boundary:

Cases[RandomGraphsWithOuterCrossingPointCounts,{g_,0}:>g]

Cases[RandomGraphsWithOuterCrossingPointCounts,{g_,1}:>g]

Symmetric embeddings:

RandomGraphsWithSymmetryGroups={
#,
GraphSymmetryGroup[
#,
AdditionalData->Join[Table[True,GraphData["IcositruncatedDodecadodecahedralGraph","V"]],Table[False,cn]],
SameTest->Equal
]
}&/@RandomGraphs;

MaxMemoryUsed[]/10^9.GB

DeleteCases[
RandomGraphsWithSymmetryGroups,
{_,TransformationGroup[{}]}
]/.g_Graph:>BilateralGraph[CenterGraph@g,"ReturnNonbilateralGraph"->True]

MinimalCrossing construction Random 20k [old]

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

(RandomGraphs=Table[MinimalCrossingGraph[GraphData["IcositruncatedDodecadodecahedralGraph"],"CrossingNumber"->cn,RandomSeed->n],{n,20000}]//Union);//Timing

RandomGraphsWithOuterCrossingPointCounts={
#,
Count[OuterFace[#],_?(GreaterThan[GraphData["IcositruncatedDodecadodecahedralGraph","V"]])]
}&/@RandomGraphs;

Small numbers of crossing points on the boundary:

Cases[RandomGraphsWithOuterCrossingPointCounts,{g_,0}:>g]

Cases[RandomGraphsWithOuterCrossingPointCounts,{g_,1}:>g]

Symmetric embeddings:

RandomGraphsWithSymmetryGroups={
#,
GraphSymmetryGroup[
#,
AdditionalData->Join[Table[True,GraphData["IcositruncatedDodecadodecahedralGraph","V"]],Table[False,cn]],
SameTest->Equal
]
}&/@RandomGraphs;

MaxMemoryUsed[]/10^9.GB

DeleteCases[
RandomGraphsWithSymmetryGroups,
{_,TransformationGroup[{}]}
]/.g_Graph:>BilateralGraph[CenterGraph@g,"ReturnNonbilateralGraph"->True]

MinimalLocalCrossing

GraphData["IcositruncatedDodecadodecahedralGraph",{"LocalCrossingNumber","RectilinearLocalCrossingNumber"}]

GraphData["IcositruncatedDodecadodecahedralGraph","Graph","MinimalLocalCrossing"]//StyleGraphs

MinimalRectilinearLocalCrossing

GraphData["IcositruncatedDodecadodecahedralGraph",{"LocalCrossingNumber","RectilinearLocalCrossingNumber"}]

GraphData["IcositruncatedDodecadodecahedralGraph","Graph","MinimalRectilinearLocalCrossing"]//StyleGraphs

MinimaRectilinearlLocalCrossing construction 1000

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

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

(gs=Select[Table[MinimalCrossingGraph[GraphData["IcositruncatedDodecadodecahedralGraph"],"CrossingNumber"->cn,RandomSeed->i],{i,1000}],!AdjacentCrossingsQ[#,cn]&]//Union)//Timing

MinimaRectilinearlLocalCrossing construction 20000

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

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

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

Circulant

GraphData["IcositruncatedDodecadodecahedralGraph","Circulant"]

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

Line graph

GraphData["IcositruncatedDodecadodecahedralGraph","Line"]

LineGraphQ[GraphData["IcositruncatedDodecadodecahedralGraph"]]//Timing

RootGraph

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

RootGraph[GraphData["IcositruncatedDodecadodecahedralGraph"]]

Halin

GraphData["IcositruncatedDodecadodecahedralGraph","Halin"]

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

Rigid

GraphData["IcositruncatedDodecadodecahedralGraph","Rigid"]

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

Flexible

GraphData["IcositruncatedDodecadodecahedralGraph","Flexible"]

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

Voltage

GraphData["IcositruncatedDodecadodecahedralGraph","Graph","Voltage"]//StyleGraphs

Voltage construction

gs=VoltageGraph[GraphData["IcositruncatedDodecadodecahedralGraph"],"MaxResults"->20,Debug->True]

gs={,,,,,,};

Length[gs]

RecognizeGraph/@gs

VoltageGraphNotation/@gs//Column

EmbeddingClasses/@gs//Column

GraphSymmetryGroup/@gs//Column

LCF

GraphData["IcositruncatedDodecadodecahedralGraph","LCF"]

GraphData["IcositruncatedDodecadodecahedralGraph","HamiltonianCycleCount"]

GraphData["IcositruncatedDodecadodecahedralGraph","LCFSignature"]

GraphData["IcositruncatedDodecadodecahedralGraph","LCFNotations"]

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

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

LCF compute FindBilateralHamiltonianCycle

BilateralHamiltonianCycleQ[GraphData["IcositruncatedDodecadodecahedralGraph"],Debug->True]//AbsoluteTiming

(BilateralHamiltonianCycles=FindBilateralHamiltonianCycle[GraphData["IcositruncatedDodecadodecahedralGraph"],10,Debug->True])//AbsoluteTiming

BilateralGraph@CircularEmbeddingFromHamiltonianCycle[GraphData["IcositruncatedDodecadodecahedralGraph"],#]&/@BilateralHamiltonianCycles

{,,}

LCF compute FindHighlySymmetricLCFNotation

(lcf=FindHighlySymmetricLCFNotation[GraphData["IcositruncatedDodecadodecahedralGraph"],"MaxResults"->500,Debug->True])//AbsoluteTiming

lcftally=lcf[[All,-1]]//Tally

lcftally[[All,-1]]//Total

gs=NiceLCFGraphs[lcf,4,2]

nicelcf=LCFNotation/@gs

nicelcftally=nicelcf[[All,-1]]//Tally

nicelcftally[[All,-1]]//Total

bilatgs=Select[gs,BilateralGraphEmbeddingQ]

bilatlcf=LCFNotation/@bilatgs;

bilatlcf[[All,-1]]//Tally

LCF compute random

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

LCF compute 10^5

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

DeleteCases[lcf,{_,1}]

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

(gs=Flatten[{
(* all LCF's with order >2, 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-2 bilateral only *)
DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,2}]]}])//Timing

Length[gs]

LCF compute 10^6 [1820 s]

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

DeleteCases[lcf,{_,1}]

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

(gs=Flatten[{
(* all LCF's with order >2, 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-2 bilateral only *)
DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,2}]]}])//Timing

Length[gs]

LCF compute 10^7

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

DeleteCases[lcf,{_,1}]

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

(gs=Flatten[{
(* all LCF's with order >2, 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-2 bilateral only *)
DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,2}]]}])//Timing

Length[gs]

LCF compute all

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

Tally[(lcf=LCF[GraphData["IcositruncatedDodecadodecahedralGraph"],All])[[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|2}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFGraph@@@Cases[lcf,{_,2}]]}])//Timing

Length[gs]

LCF compute ssham_lcf

Print[{gn,RunProcess[{exe,g6,"r2","f2000000","F2000000","o/home/usr2/eww/mma/Graphs/Properties/LCFNotations-Nice/"<>fn}]}]

Length[lcf=Import["/Volumes/eww/mma/Graphs/Properties/LCFNotations-Nice/IcositruncatedDodecadodecahedralGraph.m"]]

Tally[lcf[[All,2]]]

gs=NiceLCFGraphs[lcf,4,3]

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

UnitDistance

GraphData["IcositruncatedDodecadodecahedralGraph","UnitDistance"]

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

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

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

UnitDistance by refinement

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

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

gs={,};

UnitDistance by FindUnitDistanceEmbedding

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

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

UnitDistance by FindSubgraphUnitDistanceEmbedding

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

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

Matchstick

GraphData["IcositruncatedDodecadodecahedralGraph","Matchstick"]

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

3D default

Graph3D[GraphData["IcositruncatedDodecadodecahedralGraph","Edges"]]

3D All

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

3D UnitDistance construction from uniform polyhedron

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

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

3D UnitDistance

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

3D Polyhedron

GraphData["IcositruncatedDodecadodecahedralGraph","Polyhedral"]

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

GraphData

GraphDataClassString

GraphDataClassString["IcositruncatedDodecadodecahedralGraph"]

GraphDataString

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

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

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

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

With[
{
stdname="IcositruncatedDodecadodecahedron",
altnames={}
},
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","MaximumIndependentVertexSets","TuttePolynomial"},
TimeConstraint->10
]]]

Close [file]