Log Graph

Author

Eric W. Weisstein
July 26, 2026

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

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

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

Figure

GraphicsGrid[
Partition[
StyleGraphs[
GraphData["LogGraph","Graph","All"]
],
UpTo[4]
],
Dividers->All
]

Embeddings

<<MathWorld`Graphs`

Primary

GraphData["LogGraph"]//StyleGraphs

All

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

LCF

GraphData["LogGraph","LCFSignature"]

lcf=GraphData["LogGraph","LCFNotations"]

gs=BilateralLCFGraph@@@lcf

Cases[gs,_?BilateralGraphEmbeddingQ]

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

MinimalRectilinearCrossing construction

mc=MinimalCrossingGraph[GraphData["LogGraph"],"CrossingNumber"->2]

mc2=VertexDelete[mc,Range[21,22]]

d=VertexDegree[mc2]

add=Flatten[MapIndexed[Table[#2[[1]],#]&,3-d]]

Length[sub=Select[Subsets[Subsets[add,{2}],{Length[add]/2}],Intersection[EdgeList[mc2],#]==={}&]]

gs=SetProperty[EdgeAdd[mc2,UndirectedEdge@@@#],{VertexLabels->None,VertexCoordinates->Take[GraphEmbedding[mc],20]}]&/@sub;

g=SelectFirst[gs,IsomorphicGraphQ[#,GraphData["LogGraph"]]&]

r=RecognizeGraph[g]

RectilinearCrossingCount@g

GraphPlot[g]

v={#/6,#2/7}&@@@{{0,0},{4,0},{6,0},{6,7},{3,7},{0,7},{1,1},{5,1},{1,5},{1,6},{2,6},{3,6},{4,6},{5,6},{4,5},{4,4},{4,3},{4,2},{5,2},{5,4}};
g=Graph[Range[Length[v]],UndirectedEdge@@@Sort[Sort/@{Sequence@@Partition[Range[6],2,1,1],{1,7},{7,9},{9,10},{6,10},{7,8},{10,11},{11,12},{12,13},{13,14},{2,18},{3,8},{17,18},{16,17},{15,16},{13,15},{9,15},{18,19},{8,19},{19,20},{14,20},{16,20},{4,14},{11,17},{5,12}}],VertexLabels->"Name",VertexCoordinates->v]

r=RecognizeGraph[g]

rcn=RectilinearCrossingCount[g]

vs=ToCommonEdges[g,GraphData[r]]

UnitDistance

GraphData["LogGraph","UnitDistance"]

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

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

UnitDistance FindSubgraphUnitDistanceEmbedding

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

gs=UniqueEmbeddings[l]

Matchstick

GraphData["LogGraph","Matchstick"]

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

MinimalCrossing

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

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

Default embedding

GraphPlot@GraphData["LogGraph","Edges"]

Rotate[,Pi/2]

GraphData["LogGraph","V"]

e[l__]:=Sequence@@Partition[{l},2,1]

v={{0,0},{1,0},{3,0},{4,0},{1,1},{3,1},{0,2},{1,2},{3,2},{4,2},{1,3},{2,3},{3,3},{0,4},{1,4},{2,4},{3,4},{4,4},{1,5},{3,5}};
g=Graph[Range[Length[v]],UndirectedEdge@@@{e[1,2,3,4,10,18,20,15,14,7,1,12,4],e[3,6,9,13,17,19,16,20],{14,19},e[2,5,8,11,15],{5,13},{11,6},{9,10},{7,8},{12,16},{17,18}},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

3D default

Graph3D[GraphData["LogGraph","Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData["LogGraph","Polyhedral"]

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

Construction

Robertson et al. 2019

v={{1,0},{3,0},{5,0},{7,0},{1,1},{3,1},{5,1},{7,1},{0,2},{2,2},{4,2},{6,2},{8,2},{0,3},{2,3},{4,3},{6,3},{8,3},{3,4},{5,4}};
g=Graph[Range[Length[v]],UndirectedEdge@@@Sort[{{1,2},{2,3},{3,4},{1,5},{2,6},{3,7},{4,8},{5,9},{5,10},{6,10},{6,11},{7,11},{7,12},{8,12},{8,13},{9,14},{14,15},{10,15},{11,16},{12,17},{13,18},{17,18},{15,19},{16,19},{16,20},{17,20},{1,13},{4,9},{14,20},{18,19}}],VertexCoordinates->v,VertexLabels->"Name"]

CubicGraphQ[g]

RecognizeGraph[g]

GraphData

GraphDataString

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

WriteString[file,GraphDataString[g,
"StandardName"->"LogGraph",
"Name"->"log graph",
TimeConstraint->10,
Debug->True,
"Skip"->{"Arboricity"}
]]

Close[file]