Clebsch Graph

Author

Eric W. Weisstein
October 21, 2025

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

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

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

Figures

All

GraphicsGrid[Partition[StyleGraphs@Pick[
GraphData["ClebschGraph","Graph","All"],
FreeQ[#,"LCF"|"MinimalCrossing"]&/@GraphData["ClebschGraph","EmbeddingClasses"]
],UpTo[4]],Dividers->All]

LCF

Tally[Last[LCFNotation[#]]&/@GraphData["ClebschGraph","Graph","LCF"]]

gs=Flatten[Partition[#,UpTo[6]]&/@Values@GroupBy[{#,Last@LCFNotation[#]}&/@Pick[
GraphData["ClebschGraph","Graph","All"],
FreeQ[#,"LCF"]&/@GraphData["ClebschGraph","EmbeddingClasses"],
False
],Last->First],1]

GraphicsGrid[StyleGraphs@gs,Dividers->{Thick,{{Thick},True,Thick}}]

MinimalCrossing

With[{gs=Reverse@Pick[
GraphData["ClebschGraph","Graph","All"],
FreeQ[#,"MinimalCrossing"]&/@GraphData["ClebschGraph","EmbeddingClasses"],
False
]},
GraphicsGrid[Partition[GraphCrossingDiagram[Annotate[#,EdgeStyle->LightDarkSwitched@Black]]&/@gs,UpTo[5]],Dividers->All]
]

Embeddings

<<MathWorld`Graphs`

Names

GraphData["ClebschGraph","StandardName"]

GraphData["ClebschGraph","StandardNames"]

HouseOfGraphs

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

HouseOfGraphsLookup[hogid]

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

GraphPlot@RotateGraph[,{9,13}]

Wikipedia

Import["https://upload.wikimedia.org/wikipedia/commons/7/70/Clebsch_Lombardi.svg?download"]

v=CirclePoints[16];
e2=Sort[Sort/@Flatten[MapIndexed[Thread[{#2[[1]],#}]&,{{7,11,14},{5,4,16},{9,13,16},{6,7},{11,15},{8,9},{13},{10,11},{15},{12,13},{},{14,15},{},{16}}],1]];
ee=Sort[Sort/@Join[
Table[{i,i+1},{i,1,15,2}],
Table[{i,i+8},{i,8}],
e2
]];
g=CurvedEdgeAnnotate[
Graph[Range@Length@v,UndirectedEdge@@@ee,VertexCoordinates->v,VertexLabels->Automatic],
curvededges=Join[
{Sort[#],1/2,-1/6Order@@#}&/@Table[{i,i+1},{i,1,15,2}],
{Sort[#],1/2,-3/4Order@@#}&/@{{2,5},{4,7},{6,9},{8,11},{10,13},{12,15},{14,1},{16,3}},
{Sort[#],1/2,-1/6Order@@#}&/@{{1,7},{3,9},{5,11},{7,13},{9,15},{11,1},{13,3},{15,5}}
]]

RecognizeGraph@g

Bondy and Murty

p. 242

g=LabelGraph@With[{r=1/2},CurvedEdgeAnnotate[,{{{3,4},1/2,r},{{4,16},1/2,r},{{1,7},1/2,-r},{{7,16},1/2,-r},{{10,15},1/2,r},{{13,14},1/2,r},{{1,13},1/2,r},{{2,10},1/2,r},{{2,14},1/2,-r},{{3,15},1/2,-r}}]]

RecognizeGraph@g

5-folded cube

Folded 5-cube

FoldedCube[n_]:=Module[{join,h=Hypercube[n]},
join=Rule@@@(Reverse/@Union[Sort/@Position[GraphDistanceMatrix[h],n]]);
Graph[List/@Union[Sort/@(Edges[h]/.join)],
List/@Vertices[DeleteVertices[h,First/@join]]]
]

FoldedCube[5]//RecognizeGraph

g=FoldedCubeGraph[5]

RecognizeGraph@g

GraphPlot@g

v=Flatten[Table[{i,j},{j,0,3},{i,0,3}],1]

g0=LabelGraph@FindCorrespondingGraph[,v]

RecognizeGraph@g0

g=CurvedEdgeAnnotate[g0,{{{10,11},1/2,1/2},{{1,5},1/2,1/2},{{7,15},1/2,-1/2},{{8,13},1/2,1/2},{{1,6},1/2,-1/2},{{7,16},1/2,1/2},{{8,12},1/2,-1/2},{{9,11},1/2,-1/2},{{6,14},1/2,1/2},{{2,9},1/2,1/2},{{4,16},1/2,1/2},{{3,12},1/2,-1/2},{{2,10},1/2,-1/2},{{3,13},1/2,1/2},{{5,14},1/2,-1/2},{{4,15},1/2,-1/2}}]

RecognizeGraph@g

Primary

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

All

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

CurvedEdge

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData["ClebschGraph","EdgeList"]]

Default embedding

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

Exactify

v=Join[CirclePoints[5],CirclePoints[{2/3,-Pi/2},5],CirclePoints[1/3,5],{{0,0}}];
g=Graph[Range[Length[v]],UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

g=FindCorrespondingGraph[g0=,v,Debug->True]//Quiet

RecognizeGraph[g]

v=Join[CirclePoints[3/2,5],CirclePoints[{2/3,-Pi/2},5],CirclePoints[1/3,5],{{0,0}}][[{4,10,5,9,14,15,6,16,13,3,11,12,8,1,7,2}]];
g=Graph[Range[Length[v]],EdgeList[g0],VertexCoordinates->v,VertexLabels->Automatic]

g0=;

v=Join[CirclePoints[5],CirclePoints[{2/3,Pi/2},10],{{0,0}}];
Graph[Range@Length@v,UndirectedEdge@@@{},VertexCoordinates->v,VertexLabels->Automatic]

g=FindCorrespondingGraph[g0,v]//Quiet

RecognizeGraph@g

Degenerate

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

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

Bilateral

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

Circular

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

Planar

GraphData["ClebschGraph","Planar"]

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

MinimalCrossingNumber: "EmbeddingScheme" -> 1

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

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

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

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

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

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

MinimalCrossingNumber: "EmbeddingScheme" -> 2

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

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

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

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

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

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

MinimalCrossingNumber: "EmbeddingScheme" -> 3

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

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

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

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

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

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

Quit

MinimalCrossingNumber crossings.uos.de [failed]

https://crossings.uos.de/job/new

ExportString[GraphData["ClebschGraph"],"DOT"]

-------- Forwarded Message --------
Subject: 	[crossings.uos.de] Clebsch failed
Date: 	Mon, 20 Oct 2025 20:04:02 +0200
From: 	confirm@vm524.rz.uni-osnabrueck.de
To: 	eww@wolfram.com
CC: 	mirwagner@uos.de, markus.chimani@uos.de

Dear Eric Weisstein,

we are sorry to report that the requested computation (Clebsch) failed.
Please contact Markus Chimani (http://www-lehre.informatik.uni-osnabrueck.de/theoinf/index/staff/chimani)
if you really need to compute the crossing number of this graph.

Please visit this link for detailed results: https://crossings.uos.de/job/c-5RqCTbBaakLdyTEpkWYw

MinimalCrossing

GraphData["ClebschGraph","CN"]

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

GraphCrossingCount/@gs

GraphCrossingDiagram/@gs

MinimalRectilinearCrossing

GraphData["ClebschGraph","RCN"]

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

MinimalRectilinearCrossing construction order 16 [minimum RCN == ]

Length[gs=FindMinimalRectilinearCrossingGraph[GraphData["ClebschGraph"],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["ClebschGraph"],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["ClebschGraph"],TimeConstraint->1])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData["ClebschGraph"],"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["ClebschGraph","V"]])]
}&/@TutteGraphs;

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

Select[Cases[TutteGraphsWithOuterCrossingPointCounts,{g_,1}:>g],Length[OuterFace[#]]>3&]

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

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

MinimalCrossing construction Random

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

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

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

Small numbers of crossing points on the boundary:

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

Select[Cases[RandomGraphsWithOuterCrossingPointCounts,{g_,1}:>g],Length[OuterFace[#]]>3&]

Symmetric embeddings:

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

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

GraphPlot@

g1=LabelGraph@GraphicsToGraph@

v1=GraphEmbedding[g1][[{1,11,5,9,13,10,15,3,14,12,4,6,8,16,7,2}]]

v1[[9]]

v1[[9]]={.47,-.13};

v1[[11]]

v1[[11]]={0.29`,-.08};

v1[[13]]

v1[13]=={0.15,0.07267988434669194`};

ee=Flatten[MapIndexed[Thread[{#2[[1]],#}]&,{{5,3,6,8,15},{3,4,7,9,15},{10,11,16},{5,6,12,11},{9,13,10},{7,14,16},{8,13,10},{9,11,12},{14,16},{12,14},{13,14},{15,16},{15,16},{15}}],1]

g1=Bilateralize@ScaleGraph@CenterGraph@Graph[Range[Length[v]],UndirectedEdge@@@ee,VertexCoordinates->v1,VertexLabels->Automatic]

RecognizeGraph[g1]

RectilinearCrossingCount[g1]

GraphCrossingDiagram@UnlabelGraph@g1

GraphEmbedding[g1]

v={2#,2(31/100+#2)}&@@@{{-(51/100),-(31/100)},{(51/100),-(31/100)},{0,(47/100)},{-(3/10),-(13/50)},{(3/10),-(13/50)},{-(23/100),-(1/20)},{-(1/50),-(3/100)},{(1/50),-(3/100)},{(23/100),-(1/20)},{-(7/50),-(3/100)},{(7/50),-(3/100)},{-(1/10),(1/20)},{(1/10),(1/20)},{0,(3/20)},{0,(13/50)},{0,(17/50)}}

v[[1]]={-1,0};
v[[2]]={1,0};
v[[3]]={0,Sqrt[3]};

v

g=Annotate[g1,VertexCoordinates->v]

GraphCrossingCount@g

GraphCrossingDiagram@g

MinimalLocalCrossing

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

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

MinimalRectilinearCrossing (Exoo)

Show[img=ImageCrop[Import["http://isu.indstate.edu/ge/COMBIN/RECTILINEAR/clebsch.png"]],ImageSize->Small]

Length[pts=ImageValuePositions[img,Red,.1]]

Graphics[Point[pts],ImageSize->Small]

Length[v=Mean/@FindClusters[pts,16,Method->"Agglomerate"]]

Graphics[Point[v],ImageSize->Small]

v=v/Max[Abs[v]]

GraphData["ClebschGraph","VertexDegrees"]

g=FindCorrespondingGraph[GraphData["ClebschGraph","Graph","MinimalCrossing"][[2]],v]

RecognizeGraph[g]

GraphCrossingCount[g]

g=Graph[Range[Length[v]],Union[Sort/@UndirectedEdge@@@Join@@(Partition[#,2,1]&/@{
{1,16,2},Sequence@@({15,#}&/@{16,3,6,12,11}),{16,8},{16,7},{3,1,3,4},{3,15},{3,13},{1,5},{14,1},{14,11},{14,13},{14,12},{14,2},{4,11},{4,8},{5,6},{5,7},{5,12},{5,4},{2,4},{10,12},{10,7},{10,3},{10,9},{9,11},{9,6},{13,7},{13,8},{13,14},{13,6},{2,6},{8,9},{8,12},{7,11},{10,2},{1,9}
})],VertexCoordinates->v,VertexLabels->Automatic]

VertexDegree[g]

Position[System`AdjacencyMatrix[g][[1]]//Normal,1]//Flatten

RecognizeGraph[g]

RectilinearCrossingCount[g]

MinimalRectilinearLocalCrossing

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

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

MinimaRectilinearlLocalCrossing construction

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

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

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

Select[gs,GraphSymmetryGroup[#,AdditionalData->Join[Table[True,GraphData["ClebschGraph","V"]],Table[False,cn]],SameTest->Equal]=!=TransformationGroup[{}]&]

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

Select[gs,GraphSymmetryGroup[#,AdditionalData->Join[Table[True,GraphData["ClebschGraph","V"]],Table[False,cn]],SameTest->Equal]=!=TransformationGroup[{}]&]

Circulant

GraphData["ClebschGraph","Circulant"]

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

Halin

GraphData["ClebschGraph","Halin"]

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

Rigid

GraphData["ClebschGraph","Rigid"]

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

Flexible

GraphData["ClebschGraph","Flexible"]

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

LCF

GraphData["ClebschGraph","LCF"]

GraphData["ClebschGraph","HamiltonianCycleCount"]

GraphData["ClebschGraph","LCFSignature"]

GraphData["ClebschGraph","LCFNotations"]

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

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

LCF compute all

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

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

Length[gs]

UnitDistance

GraphData["ClebschGraph","UnitDistance"]

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

UnitDistance by refinement

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

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

RotateGraph[,{6,16}]

UnitDistance by FindUnitDistanceEmbedding

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

Matchstick

GraphData["ClebschGraph","Matchstick"]

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

3D default

Graph3D[GraphData["ClebschGraph","Edges"]]

ee=Sort[Sort/@Flatten[MapIndexed[Thread[{#2[[1]],#}]&,{{2,4,5,9,15},{3,16,10,6},{4,11,8,13},{14,7,12},{6,7,13,11},{12,8,14},{8,10,16},{15,9},{10,13,12},{11,14},{12,15},{16},{14,16},{15},{16}}],1]]

v=Flatten[Table[{j,i,k},{k,0,3},{j,{0,3}},{i,If[Mod[j,2]==0,{3,0},{0,3}]}],2];
g=Graph[Range@Length@v,UndirectedEdge@@@ee,VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph@g

3D All

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

3D UnitDistance

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

3D UD Construction

Ed Pegg, Jr.
Mar 20, 2018

cleb=RootReduce[Join[Flatten[Append[#,0]&/@CirclePoints[5]#&/@{Root[1-10 #1^2+5 #1^4&,2],Root[1-5 #1^2+5 #1^4&,4]},1],Append[#,Root[-4+5 #1^4&,2]]&/@Append[CirclePoints[5]Root[1-5 #1^2+5 #1^4&,3],{0,0}]]];
unitlines=Select[Subsets[cleb,{2}],Chop[Quiet@N[1-Quiet@EuclideanDistance@@#]]==0&];
Graphics3D[{Table[Text[n,cleb[[n]]],{n,1,16}],Line/@unitlines},ViewPoint->{0,0,20},Boxed->False]

e=unitlines/.Thread[cleb->Range[Length[cleb]]]

g=Graph[Range[Length[cleb]],UndirectedEdge@@@e,VertexCoordinates->cleb]

gn=RecognizeGraph[g]

3D Polyhedron

GraphData["ClebschGraph","Polyhedral"]

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

Construction

From the 2-Keller graph

KellerCond[v_]:=Module[{diff=Select[Transpose[v],UnsameQ@@#&]},
Length[diff]>1&&!FreeQ[Mod[Subtract@@@diff,4],2]
]

KellerGraph[n_]:=MakeGraph[Tuples[Range[0,3],{n}],KellerCond[{#1,#2}]&,Combinatorica`Type->Undirected,VertexLabel->True]

KellerGraph[2]//ShowGraph

(cg=ChangeVertices[KellerGraph[2],Flatten[Table[{x,y},{x,0,3},{y,0,3}],1]])//ShowGraph

RecognizeGraph/@KellerGraph/@Range[4]

4^Range[6]

v=ToCommonEdges[cg,Graph["ClebschGraph"]]

From TesseractGraph by adding diagonals

GraphData["TesseractGraph","Diameter"]

diags=Union[Sort/@Position[GetGraphData["TesseractGraph","DistanceMatrix"]//Normal,4]]

AddEdges[Graph["TesseractGraph"],diags]//RecognizeGraph

ShowLabeledGraph/@(AddEdges[ChangeVertices[Graph["TesseractGraph"],#],diags]&/@GraphData["TesseractGraph","Embeddings"])

Symmertic

ShowLabeledGraph[g=AddEdges[
AddVertices[Graph[{},{{{0,0}}}],
Join[(2Through[{Sin,Cos}[2Pi #/5]]&/@Range[0,4]),(1.2Through[{Sin,Cos}[2Pi #/10]]&/@Range[0,9])]],
{
Sequence@@Partition[Range[2,6],2,1,1],
Sequence@@Partition[Range[7,16],2,1,1],
{2,7},{6,15},{3,9},{5,13},{4,11},{2,14},{2,10},{6,12},{5,16},{5,10},{4,14},{4,8},{3,16},{3,12},
Sequence@@({1,#}&/@Range[8,16,2]),
{7,13},{7,11},{6,8},{9,13},{15,11},{15,9}
}
]]

Degrees[g]

distanceregular.org

g=DistanceRegularGraph["http://www.distanceregular.org/graphdata/clebsch.am"]

VertexCount[g]

GraphDiameter[g]//Timing

RegularParameters[g]//Timing

DistanceRegularGraphQ[g]//Timing

IntersectionArray[g]//Timing

IntegerSpectrum[g]//SpectrumForm

GroupOrder[GraphAutomorphismGroup[g]]

HamiltonianGraphQ[g]

GraphData

GraphDataClassString

GraphDataClassString["ClebschGraph"]