Nauru Configuration

Author

Eric W. Weisstein
May 22, 2026

This notebook downloaded from https://mathworld.wolfram.com/notebooks/Configurations/NauruConfiguration.nb.

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

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

Embeddings

<<MathWorld`Graphs`

Names

GraphData["NauruConfigurationGraph","StandardName"]

GraphData["NauruConfigurationGraph","StandardNames"]

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData["NauruConfigurationGraph","EdgeList"]]

Default embedding

GraphPlot[GraphData["NauruConfigurationGraph","Edges"],GraphLayout->"SpringElectricalEmbedding"]

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

RecognizeGraph[g]

Degenerate

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

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

Configuration

GraphData["NauruConfigurationGraph","Configuration"]

configurations=GraphData["NauruConfigurationGraph","Graph","Configuration"]//StyleGraphs

config=configurations[[1]]

ConfigurationDiagram[config,.2]

lines=ConfigurationLines[config]

ConfigurationNotation[lines]

GraphData["NauruConfigurationGraph","IncidenceLines"]

levi=LeviGraph[lines]

RecognizeGraph[levi]

GraphData["NauruConfigurationGraph","LeviGraph","Name"]

FirstCase[GraphData["NauruConfigurationGraph","StandardNames"],{"Incidence",_}]

Cases[GraphData["NauruConfigurationGraph","StandardNames"],_String?(StringMatchQ[#,"*Configuration*"]&)]

(alledges=AddAllConfigurationEdges[config])//Timing

RecognizeGraph@alledges

(ordinarylinegraph=OrdinaryLineGraph[config])//Timing

RecognizeGraph@ordinarylinegraph

GraphData["NauruConfigurationGraph","OrdinaryLineGraphName"]

Perspective

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

Bilateral

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

Circular

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

Circular construction

Length[hc=FindHamiltonianCycle[GraphData["NauruConfigurationGraph"],All][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData["NauruConfigurationGraph"],#]&/@hc

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

Planar

GraphData["NauruConfigurationGraph","Planar"]

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

MinimalCrossing

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

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

MinimalCrossing construction

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

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

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

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

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

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

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

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

GraphPlot@

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

GraphPlot@

GraphPlot@

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

RecognizeGraph@g

RectilinearCrossingCount@g

gs=UnlabelGraph/@{,}

Circulant

GraphData["NauruConfigurationGraph","Circulant"]

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

Complement graph

GraphData["NauruConfigurationGraph","ComplementGraph","Name"]

Line graph

GraphData["NauruConfigurationGraph","Line"]

LineGraphQ[GraphData["NauruConfigurationGraph"]]//Timing

RootGraph

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

RootGraph[GraphData["NauruConfigurationGraph"]]

Halin

GraphData["NauruConfigurationGraph","Halin"]

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

Rigid

GraphData["NauruConfigurationGraph","Rigid"]

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

Flexible

GraphData["NauruConfigurationGraph","Flexible"]

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

LCF

GraphData["NauruConfigurationGraph","LCF"]

GraphData["NauruConfigurationGraph","HamiltonianCycleCount"]

GraphData["NauruConfigurationGraph","LCFSignature"]

GraphData["NauruConfigurationGraph","LCFNotations"]

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

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

UnitDistance

GraphData["NauruConfigurationGraph","UnitDistance"]

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

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

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

UnitDistance by refinement

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

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

UnitDistance by FindUnitDistanceEmbedding

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

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

Matchstick

GraphData["NauruConfigurationGraph","Matchstick"]

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

3D default

Graph3D[GraphData["NauruConfigurationGraph","Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData["NauruConfigurationGraph","Polyhedral"]

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