Polygon Diagonal Intersection Graph

Author

Eric W. Weisstein
September 24, 2022

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

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

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

Graphic

GraphData

GraphicsGrid[Partition[Table[GraphData[{"DiagonalIntersection",n}],{n,3,10}],4],ImageSize->500]//StyleGraphs

Graphs.m

GraphicsGrid[Partition[Table[PolygonDiagonalIntersectionGraph[n]//StyleGraphs[#,VertexSize->{"Scaled",If[n<9,.04,.02]}]&,{n,3,10}],4],ImageSize->500]

Do[Print[{n,VertexCount[PolygonDiagonalIntersectionGraph[n]]//Timing,MaxMemoryUsed[]/1.*^6 MB}],{n,3,14}]

built-in Graph layouts

GraphicsGrid[Partition[Table[Graph[EdgeList[PolygonDiagonalIntersectionGraph[n]]]//StyleGraphs,{n,3,10}],UpTo[4]],ImageSize->500]

Special cases

TextGrid[Sort[{"DiagonalIntersection"/.GraphData[#,"NotationRules"],#}&/@DeleteCases[GraphData["DiagonalIntersection"],{"DiagonalIntersection",_}]],Dividers->All]

Embeddings

<<MathWorld`Graphs`

{"DiagonalIntersection", 6}

GraphData[{"DiagonalIntersection",6},"StandardName"]

Primary

GraphData[{"DiagonalIntersection",6}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"DiagonalIntersection",6},"Graph","All"]//StyleGraphs

Planar

GraphData[{"DiagonalIntersection",6},"Planar"]

GraphData[{"DiagonalIntersection",6},"Graph","Planar"]//StyleGraphs

Tutte embeddings

faces=ReverseSort@SymmetricallyDistinctFaces[GraphData[{"DiagonalIntersection",6}]]

Tally[ReverseSort[Length/@faces]]

IGLayoutTutte[GraphData[{"DiagonalIntersection",6}],"OuterFace"->#]&/@faces

gs=Annotate[#,{VertexLabels->None,ImageSize->Tiny}]&/@{,,}

RecognizeGraph/@gs

Tutte embedding construction 6

GraphPlot[RotateGraph[]]

v=Join[UnitCirclePoints[6],c=CirclePoints[{1/(Sqrt[3]),Pi/6},6],Mean/@Partition[c,2,1,1],{{0,0}}];
g=Graph[Range[Length[v]],UndirectedEdge@@@{e[{1,6},1,12,18,7,3,8,14,9,5,10,16,11,1,17,19,14,4],e[6,11,17,12,2,7,13,8,4,9,15,10,6,16,19,13,3],e[5,15,19,18,2]},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Tutte embedding construction 4

GraphPlot[RotateGraph[,-Pi/4]]

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

RecognizeGraph[g]

Tutte embedding construction 3 #1

GraphPlot[RotateGraph[,-2Pi/3]]

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

RecognizeGraph[g]

Tutte embedding construction 3 #2

GraphPlot[RotateGraph[,4Pi/3]]

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

RecognizeGraph[g]

Halin

GraphData[{"DiagonalIntersection",6},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"DiagonalIntersection",6},"LCFSignature"]

GraphData[{"DiagonalIntersection",6},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"DiagonalIntersection",6},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"DiagonalIntersection",6}],Debug->True]//Timing

GraphData[{"DiagonalIntersection",6},"Graph","UnitDistance"]//StyleGraphs

Matchstick

GraphData[{"DiagonalIntersection",6},"Graph","Matchstick"]//StyleGraphs

Default embedding

GraphPlot@GraphData[{"DiagonalIntersection",6},"Edges"]

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

RecognizeGraph[g]

3D default

Graph3D[GraphData[{"DiagonalIntersection",6},"Edges"]]

3D All

GraphData[{"DiagonalIntersection",6},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"DiagonalIntersection",6},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"DiagonalIntersection",6},"Graph",{"3D","Polyhedron"}]

Graphics3D[{FaceForm[Green,Red],GraphData[{"DiagonalIntersection",6},"Polyhedron"]}]

3D Canonical

GraphData[{"DiagonalIntersection",6},"Graph",{"3D","Canonical"}]

Graphics3D[{Opacity[.5],Red,GraphData[{"DiagonalIntersection",6},"Polyhedron"],Yellow,Sphere[]}]

3D Canonical construction

Graphics3D[{FaceForm[Green,Red],poly=GraphPolyhedron[GraphData[{"DiagonalIntersection",6}],-1]}]

(can=FindCanonicalPolyhedron[poly,WorkingPrecision->1000,MaxIterations->10000,PrecisionGoal->20])//Timing

SimplePolyhedronQ[can]

Graphics3D[{Opacity[.5],Red,can,Yellow,Sphere[]}]

(lens=Mean/@Split[Sort[PolyhedronEdgeLengths[can]],Abs[#1-#2]<1.*^-10&])//N

v=PolyhedronCoordinates[can];

colors=With[{n=Length[lens]},Table[Hue[i/n],{i,0,n-1}]]

Graphics3D[{Thick,Sequence@@Nearest[Thread[lens->colors],EuclideanDistance@@v[[#]]],Line[v[[#]]]}&/@PolyhedronEdges[can],Boxed->False]

g=PolyhedronGraph[can]

{"DiagonalIntersection", 7}

GraphData[{"DiagonalIntersection",7},"StandardName"]

All

GraphData[{"DiagonalIntersection",7},"Graph","All"]//StyleGraphs

Halin

GraphData[{"DiagonalIntersection",7},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"DiagonalIntersection",7},"LCFSignature"]

GraphData[{"DiagonalIntersection",7},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"DiagonalIntersection",7},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"DiagonalIntersection",7}],Debug->True]//Timing

GraphData[{"DiagonalIntersection",7},"Graph","UnitDistance"]//StyleGraphs

Matchstick

GraphData[{"DiagonalIntersection",7},"Graph","Matchstick"]//StyleGraphs

MinimalCrossing

GraphData[{"DiagonalIntersection",7},{"RCN","CN"}]

GraphData[{"DiagonalIntersection",7},"Graph","MinimalCrossing"]//StyleGraphs

Default embedding

g=Graph@GraphData[{"DiagonalIntersection",7},"Edges"]

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

RecognizeGraph[g]

MinimalCrossing Construction

GraphPlot@RotateGraph[MinimalCrossingGraph[GraphData[{"DiagonalIntersection",7}],"CrossingNumber"->-1]]

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

3D default

Graph3D[GraphData[{"DiagonalIntersection",7},"Edges"]]

3D All

GraphData[{"DiagonalIntersection",7},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"DiagonalIntersection",7},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"DiagonalIntersection",7},"Graph",{"3D","Polyhedron"}]

Graphics3D[{FaceForm[Green,Red],GraphData[{"DiagonalIntersection",7},"Polyhedron"]}]

3D Canonical

GraphData[{"DiagonalIntersection",7},"Graph",{"3D","Canonical"}]

Graphics3D[{Opacity[.5],Red,GraphData[{"DiagonalIntersection",7},"Polyhedron"],Yellow,Sphere[]}]

3D Canonical construction

Graphics3D[{FaceForm[Green,Red],poly=GraphPolyhedron[GraphData[{"DiagonalIntersection",7}],1,GraphLayout->"SphericalEmbedding"]}]

(can=FindCanonicalPolyhedron[poly,WorkingPrecision->1000,MaxIterations->10000,PrecisionGoal->20])//Timing

SimplePolyhedronQ[can]

Graphics3D[{Opacity[.5],Red,can,Yellow,Sphere[]}]

(lens=Mean/@Split[Sort[PolyhedronEdgeLengths[can]],Abs[#1-#2]<1.*^-10&])//N

v=PolyhedronCoordinates[can];

colors=With[{n=Length[lens]},Table[Hue[i/n],{i,0,n-1}]]

Graphics3D[{Thick,Sequence@@Nearest[Thread[lens->colors],EuclideanDistance@@v[[#]]],Line[v[[#]]]}&/@PolyhedronEdges[can],Boxed->False]

g=PolyhedronGraph[can]

3D Canonical construction from PolyhedralEmbedding

g=GraphData[{"DiagonalIntersection",7},"Graph","Planar"][[1]]

Show[g2=PolyhedralEmbedding[g,"Circular"->True,"Scale"->2],Boxed->True]//Quiet

With[
{faces=PlanarFaceList[Graph[EdgeList[g2]]],v=GraphEmbedding@g2},
Graphics3D[{Point[{0,0,0}],Opacity[.5],Sphere[],FaceForm[Green,Red],
poly=Polyhedron[1.08v,faces]}]]

(can=FindCanonicalPolyhedron[poly,WorkingPrecision->100,MaxIterations->20000,PrecisionGoal->20,"ProgressInterval"->100,"TangentFactor"->1/5,"PlanarFactor"->1/5,Debug->True])//Timing

SimplePolyhedronQ[can]

If[%===False,Quit[]]

Graphics3D[{Opacity[.5],Red,can,Yellow,Sphere[]}]

(lens=Mean/@Split[Sort[PolyhedronEdgeLengths[can]],Abs[#1-#2]<1.*^-10&])//N

v=PolyhedronCoordinates[can];

colors=With[{n=Length[lens]},Table[Hue[i/n],{i,0,n-1}]]

Graphics3D[{Thick,Sequence@@Nearest[Thread[lens->colors],EuclideanDistance@@v[[#]]],Line[v[[#]]]}&/@PolyhedronEdges[can],Boxed->False]

g=PolyhedronGraph[can]

{"DiagonalIntersection", 8}

GraphData[{"DiagonalIntersection",8},"StandardName"]

All

GraphData[{"DiagonalIntersection",8},"Graph","All"]//StyleGraphs

Halin

GraphData[{"DiagonalIntersection",8},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"DiagonalIntersection",8},"LCFSignature"]

GraphData[{"DiagonalIntersection",8},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"DiagonalIntersection",8},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"DiagonalIntersection",8}],Debug->True]//Timing

GraphData[{"DiagonalIntersection",8},"Graph","UnitDistance"]//StyleGraphs

Matchstick

GraphData[{"DiagonalIntersection",8},"Graph","Matchstick"]//StyleGraphs

MinimalCrossing

GraphData[{"DiagonalIntersection",8},{"RCN","CN"}]

GraphData[{"DiagonalIntersection",8},"Graph","MinimalCrossing"]//StyleGraphs

Default embedding

GraphPlot@GraphData[{"DiagonalIntersection",8},"Edges"]

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

RecognizeGraph[g]

MinimalCrossing construction

GraphPlot@RotateGraph[MinimalCrossingGraph[GraphData[{"DiagonalIntersection",8}],"CrossingNumber"->-1]]

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

3D default

Graph3D[GraphData[{"DiagonalIntersection",8},"Edges"]]

3D All

GraphData[{"DiagonalIntersection",8},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"DiagonalIntersection",8},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"DiagonalIntersection",8},"Graph",{"3D","Polyhedron"}]

Graphics3D[{FaceForm[Green,Red],GraphData[{"DiagonalIntersection",8},"Polyhedron"]}]

3D Canonical

GraphData[{"DiagonalIntersection",8},"Graph",{"3D","Canonical"}]

Graphics3D[{Opacity[.5],Red,GraphData[{"DiagonalIntersection",8},"Polyhedron"],Yellow,Sphere[]}]

3D Canonical construction

Graphics3D[{FaceForm[Green,Red],poly=GraphPolyhedron[GraphData[{"DiagonalIntersection",8}],1]}]

(can=FindCanonicalPolyhedron[poly,WorkingPrecision->1000,MaxIterations->10000,PrecisionGoal->20])//Timing

SimplePolyhedronQ[can]

If[%===False,Quit[]]

Graphics3D[{Opacity[.5],Red,can,Yellow,Sphere[]}]

(lens=Mean/@Split[Sort[PolyhedronEdgeLengths[can]],Abs[#1-#2]<1.*^-10&])//N

v=PolyhedronCoordinates[can];

colors=With[{n=Length[lens]},Table[Hue[i/n],{i,0,n-1}]]

Graphics3D[{Thick,Sequence@@Nearest[Thread[lens->colors],EuclideanDistance@@v[[#]]],Line[v[[#]]]}&/@PolyhedronEdges[can],Boxed->False]

g=PolyhedronGraph[can]

3D Canonical construction from PolyhedralEmbedding

g=GraphData[{"DiagonalIntersection",8},"Graph","Planar"][[1]]

Show[g2=PolyhedralEmbedding[g,"Circular"->True,"Scale"->1.5],Boxed->True]//Quiet

With[
{faces=PlanarFaceList[Graph[EdgeList[g2]]],v=GraphEmbedding@g2},
Graphics3D[{Point[{0,0,0}],Opacity[.5],Sphere[],FaceForm[Green,Red],
poly=Polyhedron[1.02v,faces]}]]

(can=FindCanonicalPolyhedron[poly,WorkingPrecision->100,MaxIterations->1000,PrecisionGoal->20,"ProgressInterval"->100,"TangentFactor"->1/5,"PlanarFactor"->1/5,Debug->True])//Timing

Graphics3D[can]

can=Polyhedron[];

(can=FindCanonicalPolyhedron[can,WorkingPrecision->100,MaxIterations->20000,PrecisionGoal->20,"ProgressInterval"->500,"TangentFactor"->1/5,"PlanarFactor"->1/5,Debug->True])//Timing

SimplePolyhedronQ[can]

Graphics3D[{Opacity[.5],Red,can,Yellow,Sphere[]}]

(lens=Mean/@Split[Sort[PolyhedronEdgeLengths[can]],Abs[#1-#2]<1.*^-10&])//N

v=PolyhedronCoordinates[can];

colors=With[{n=Length[lens]},Table[Hue[i/n],{i,0,n-1}]]

Graphics3D[{Thick,Sequence@@Nearest[Thread[lens->colors],EuclideanDistance@@v[[#]]],Line[v[[#]]]}&/@PolyhedronEdges[can],Boxed->False]

g=PolyhedronGraph[can]

{"DiagonalIntersection", 9}

GraphData[{"DiagonalIntersection",9},"StandardName"]

All

GraphData[{"DiagonalIntersection",9},"Graph","All"]//StyleGraphs

Halin

GraphData[{"DiagonalIntersection",9},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"DiagonalIntersection",9},"LCFSignature"]

GraphData[{"DiagonalIntersection",9},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"DiagonalIntersection",9},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"DiagonalIntersection",9}],Debug->True]//Timing

GraphData[{"DiagonalIntersection",9},"Graph","UnitDistance"]//StyleGraphs

Matchstick

GraphData[{"DiagonalIntersection",9},"Graph","Matchstick"]//StyleGraphs

MinimalCrossing

GraphData[{"DiagonalIntersection",9},{"RCN","CN"}]

GraphData[{"DiagonalIntersection",9},"Graph","MinimalCrossing"]//StyleGraphs

Default embedding

GraphPlot@GraphData[{"DiagonalIntersection",9},"Edges"]

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

RecognizeGraph[g]

MinimalCrossing construction

GraphPlot@RotateGraph[MinimalCrossingGraph[GraphData[{"DiagonalIntersection",9}],"CrossingNumber"->-1]]

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

3D default

Graph3D[GraphData[{"DiagonalIntersection",9},"Edges"]]

3D All

GraphData[{"DiagonalIntersection",9},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"DiagonalIntersection",9},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"DiagonalIntersection",9},"Graph",{"3D","Polyhedron"}]

Graphics3D[{FaceForm[Green,Red],GraphData[{"DiagonalIntersection",9},"Polyhedron"]}]

3D Canonical

GraphData[{"DiagonalIntersection",9},"Graph",{"3D","Canonical"}]

Graphics3D[{Opacity[.5],Red,GraphData[{"DiagonalIntersection",9},"Polyhedron"],Yellow,Sphere[]}]

3D Canonical construction

Graphics3D[{FaceForm[Green,Red],poly=GraphPolyhedron[GraphData[{"DiagonalIntersection",9}],1]}]

(can=FindCanonicalPolyhedron[poly,WorkingPrecision->1000,MaxIterations->10000,PrecisionGoal->20])//Timing

SimplePolyhedronQ[can]

If[%===False,Quit[]]

Graphics3D[{Opacity[.5],Red,can,Yellow,Sphere[]}]

(lens=Mean/@Split[Sort[PolyhedronEdgeLengths[can]],Abs[#1-#2]<1.*^-10&])//N

v=PolyhedronCoordinates[can];

colors=With[{n=Length[lens]},Table[Hue[i/n],{i,0,n-1}]]

Graphics3D[{Thick,Sequence@@Nearest[Thread[lens->colors],EuclideanDistance@@v[[#]]],Line[v[[#]]]}&/@PolyhedronEdges[can],Boxed->False]

g=PolyhedronGraph[can]

3D Canonical construction from PolyhedralEmbedding

g=GraphData[{"DiagonalIntersection",9},"Graph","Planar"][[1]]

Show[g2=PolyhedralEmbedding[g,"Circular"->True,"Scale"->1.5],Boxed->True]//Quiet

With[
{faces=PlanarFaceList[Graph[EdgeList[g2]]],v=GraphEmbedding@g2},
Graphics3D[{Point[{0,0,0}],Opacity[.5],Sphere[],FaceForm[Green,Red],
poly=Polyhedron[1.02v,faces]}]]

(can=FindCanonicalPolyhedron[poly,WorkingPrecision->100,MaxIterations->1000,PrecisionGoal->20,"ProgressInterval"->100,"TangentFactor"->1/5,"PlanarFactor"->1/5,Debug->True])//Timing

Graphics3D[can]

can=Polyhedron[];

(can=FindCanonicalPolyhedron[can,WorkingPrecision->100,MaxIterations->20000,PrecisionGoal->20,"ProgressInterval"->500,"TangentFactor"->1/5,"PlanarFactor"->1/5,Debug->True])//Timing

(can=FindCanonicalPolyhedron[can,WorkingPrecision->100,MaxIterations->20000,PrecisionGoal->20,"ProgressInterval"->500,"TangentFactor"->1/5,"PlanarFactor"->1/5,Debug->True])//Timing

SimplePolyhedronQ[can]

If[%===False,Quit[]]

Graphics3D[{Opacity[.5],Red,can,Yellow,Sphere[]}]

(lens=Mean/@Split[Sort[PolyhedronEdgeLengths[can]],Abs[#1-#2]<1.*^-10&])//N

v=PolyhedronCoordinates[can];

colors=With[{n=Length[lens]},Table[Hue[i/n],{i,0,n-1}]]

Graphics3D[{Thick,Sequence@@Nearest[Thread[lens->colors],EuclideanDistance@@v[[#]]],Line[v[[#]]]}&/@PolyhedronEdges[can],Boxed->False]

g=PolyhedronGraph[can]

{"DiagonalIntersection", 10}

GraphData[{"DiagonalIntersection",10},"StandardName"]

All

GraphData[{"DiagonalIntersection",10},"Graph","All"]//StyleGraphs

Halin

GraphData[{"DiagonalIntersection",10},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"DiagonalIntersection",10},"LCFSignature"]

GraphData[{"DiagonalIntersection",10},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"DiagonalIntersection",10},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"DiagonalIntersection",10}],Debug->True]//Timing

GraphData[{"DiagonalIntersection",10},"Graph","UnitDistance"]//StyleGraphs

Matchstick

GraphData[{"DiagonalIntersection",10},"Graph","Matchstick"]//StyleGraphs

MinimalCrossing

GraphData[{"DiagonalIntersection",10},{"RCN","CN"}]

GraphData[{"DiagonalIntersection",10},"Graph","MinimalCrossing"]//StyleGraphs

Default embedding

GraphPlot@GraphData[{"DiagonalIntersection",10},"Edges"]

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

RecognizeGraph[g]

MinimalCrossing construction

GraphPlot@RotateGraph[MinimalCrossingGraph[GraphData[{"DiagonalIntersection",10}],"CrossingNumber"->-1]]

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

3D default

Graph3D[GraphData[{"DiagonalIntersection",10},"Edges"]]

3D All

GraphData[{"DiagonalIntersection",10},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"DiagonalIntersection",10},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"DiagonalIntersection",10},"Graph",{"3D","Polyhedron"}]

Graphics3D[{FaceForm[Green,Red],GraphData[{"DiagonalIntersection",10},"Polyhedron"]}]

3D Canonical

GraphData[{"DiagonalIntersection",10},"Graph",{"3D","Canonical"}]

Graphics3D[{Opacity[.5],Red,GraphData[{"DiagonalIntersection",10},"Polyhedron"],Yellow,Sphere[]}]

3D Canonical construction

Graphics3D[{FaceForm[Green,Red],poly=GraphPolyhedron[GraphData[{"DiagonalIntersection",10}],1]}]

(can=FindCanonicalPolyhedron[poly,WorkingPrecision->1000,MaxIterations->10000,PrecisionGoal->20])//Timing

SimplePolyhedronQ[can]

If[%===False,Quit[]]

Graphics3D[{Opacity[.5],Red,can,Yellow,Sphere[]}]

(lens=Mean/@Split[Sort[PolyhedronEdgeLengths[can]],Abs[#1-#2]<1.*^-10&])//N

v=PolyhedronCoordinates[can];

colors=With[{n=Length[lens]},Table[Hue[i/n],{i,0,n-1}]]

Graphics3D[{Thick,Sequence@@Nearest[Thread[lens->colors],EuclideanDistance@@v[[#]]],Line[v[[#]]]}&/@PolyhedronEdges[can],Boxed->False]

g=PolyhedronGraph[can]

3D Canonical construction from PolyhedralEmbedding

g=GraphData[{"DiagonalIntersection",10},"Graph","Planar"][[1]]

Show[g2=PolyhedralEmbedding[g,"Circular"->True,"Scale"->1.5],Boxed->True]//Quiet

With[
{faces=PlanarFaceList[Graph[EdgeList[g2]]],v=GraphEmbedding@g2},
Graphics3D[{Point[{0,0,0}],Opacity[.5],Sphere[],FaceForm[Green,Red],
poly=Polyhedron[1.02v,faces]}]]

(can=FindCanonicalPolyhedron[poly,WorkingPrecision->100,MaxIterations->1000,PrecisionGoal->20,"ProgressInterval"->100,"TangentFactor"->1/5,"PlanarFactor"->1/5,Debug->True])//Timing

Graphics3D[can]

(can=FindCanonicalPolyhedron[can,WorkingPrecision->100,MaxIterations->20000,PrecisionGoal->20,"ProgressInterval"->500,"TangentFactor"->1/5,"PlanarFactor"->1/5,Debug->True])//Timing

can=Polyhedron[];

(can=FindCanonicalPolyhedron[can,WorkingPrecision->100,MaxIterations->200000,PrecisionGoal->20,"ProgressInterval"->500,"TangentFactor"->1/5,"PlanarFactor"->1/5,Debug->True])//Timing

SimplePolyhedronQ[can]

If[%===False,Quit[]]

Graphics3D[{Opacity[.5],Red,can,Yellow,Sphere[]}]

(lens=Mean/@Split[Sort[PolyhedronEdgeLengths[can]],Abs[#1-#2]<1.*^-10&])//N

v=PolyhedronCoordinates[can];

colors=With[{n=Length[lens]},Table[Hue[i/n],{i,0,n-1}]]

Graphics3D[{Thick,Sequence@@Nearest[Thread[lens->colors],EuclideanDistance@@v[[#]]],Line[v[[#]]]}&/@PolyhedronEdges[can],Boxed->False]

g=PolyhedronGraph[can]

{"DiagonalIntersection", 11}

GraphData[{"DiagonalIntersection",11},"StandardName"]

All

GraphData[{"DiagonalIntersection",11},"Graph","All"]//StyleGraphs

Halin

GraphData[{"DiagonalIntersection",11},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"DiagonalIntersection",11},"LCFSignature"]

GraphData[{"DiagonalIntersection",11},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"DiagonalIntersection",11},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"DiagonalIntersection",11}],Debug->True]//Timing

GraphData[{"DiagonalIntersection",11},"Graph","UnitDistance"]//StyleGraphs

Matchstick

GraphData[{"DiagonalIntersection",11},"Graph","Matchstick"]//StyleGraphs

MinimalCrossing

GraphData[{"DiagonalIntersection",11},{"RCN","CN"}]

GraphData[{"DiagonalIntersection",11},"Graph","MinimalCrossing"]//StyleGraphs

Default embedding

GraphPlot@GraphData[{"DiagonalIntersection",11},"Edges"]

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

RecognizeGraph[g]

MinimalCrossing construction

GraphPlot@RotateGraph[MinimalCrossingGraph[GraphData[{"DiagonalIntersection",11}],"CrossingNumber"->-1]]

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

3D default

Graph3D[GraphData[{"DiagonalIntersection",11},"Edges"]]

3D All

GraphData[{"DiagonalIntersection",11},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"DiagonalIntersection",11},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"DiagonalIntersection",11},"Graph",{"3D","Polyhedron"}]

Graphics3D[{FaceForm[Green,Red],GraphData[{"DiagonalIntersection",11},"Polyhedron"]}]

3D Canonical

GraphData[{"DiagonalIntersection",11},"Graph",{"3D","Canonical"}]

Graphics3D[{Opacity[.5],Red,GraphData[{"DiagonalIntersection",11},"Polyhedron"],Yellow,Sphere[]}]

3D Canonical construction

Graphics3D[{FaceForm[Green,Red],poly=GraphPolyhedron[GraphData[{"DiagonalIntersection",11}],-1]}]

(can=FindCanonicalPolyhedron[poly,WorkingPrecision->1000,MaxIterations->10000,PrecisionGoal->20])//Timing

SimplePolyhedronQ[can]

If[%===False,Quit[]]

Graphics3D[{Opacity[.5],Red,can,Yellow,Sphere[]}]

(lens=Mean/@Split[Sort[PolyhedronEdgeLengths[can]],Abs[#1-#2]<1.*^-10&])//N

v=PolyhedronCoordinates[can];

colors=With[{n=Length[lens]},Table[Hue[i/n],{i,0,n-1}]]

Graphics3D[{Thick,Sequence@@Nearest[Thread[lens->colors],EuclideanDistance@@v[[#]]],Line[v[[#]]]}&/@PolyhedronEdges[can],Boxed->False]

g=PolyhedronGraph[can]

3D Canonical construction from PolyhedralEmbedding

g=GraphData[{"DiagonalIntersection",11},"Graph","Planar"][[1]]

Show[g2=PolyhedralEmbedding[g,"Circular"->True,"Scale"->1.5],Boxed->True]//Quiet

With[
{faces=PlanarFaceList[Graph[EdgeList[g2]]],v=GraphEmbedding@g2},
Graphics3D[{Point[{0,0,0}],Opacity[.5],Sphere[],FaceForm[Green,Red],
poly=Polyhedron[1.01v,faces]}]]

(can=FindCanonicalPolyhedron[poly,WorkingPrecision->100,MaxIterations->1000,PrecisionGoal->20,"ProgressInterval"->100,"TangentFactor"->1/10,"PlanarFactor"->1/10,Debug->True])//Timing

Graphics3D[can]

(can=FindCanonicalPolyhedron[can,WorkingPrecision->100,MaxIterations->20000,PrecisionGoal->20,"ProgressInterval"->500,"TangentFactor"->1/10,"PlanarFactor"->1/10,Debug->True])//Timing

SimplePolyhedronQ[can]

If[%===False,Quit[]]

Graphics3D[{Opacity[.5],Red,can,Yellow,Sphere[]}]

(lens=Mean/@Split[Sort[PolyhedronEdgeLengths[can]],Abs[#1-#2]<1.*^-10&])//N

v=PolyhedronCoordinates[can];

colors=With[{n=Length[lens]},Table[Hue[i/n],{i,0,n-1}]]

Graphics3D[{Thick,Sequence@@Nearest[Thread[lens->colors],EuclideanDistance@@v[[#]]],Line[v[[#]]]}&/@PolyhedronEdges[can],Boxed->False]

g=PolyhedronGraph[can]

{"DiagonalIntersection", 12}

GraphData[{"DiagonalIntersection",12},"StandardName"]

All

GraphData[{"DiagonalIntersection",12},"Graph","All"]//StyleGraphs

Halin

GraphData[{"DiagonalIntersection",12},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"DiagonalIntersection",12},"LCFSignature"]

GraphData[{"DiagonalIntersection",12},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"DiagonalIntersection",12},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"DiagonalIntersection",12}],Debug->True]//Timing

GraphData[{"DiagonalIntersection",12},"Graph","UnitDistance"]//StyleGraphs

Matchstick

GraphData[{"DiagonalIntersection",12},"Graph","Matchstick"]//StyleGraphs

MinimalCrossing

GraphData[{"DiagonalIntersection",12},{"RCN","CN"}]

GraphData[{"DiagonalIntersection",12},"Graph","MinimalCrossing"]//StyleGraphs

Default embedding

GraphPlot@GraphData[{"DiagonalIntersection",12},"Edges"]

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

RecognizeGraph[g]

MinimalCrossing construction

GraphPlot@RotateGraph[MinimalCrossingGraph[GraphData[{"DiagonalIntersection",12}],"CrossingNumber"->-1]]

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

3D default

Graph3D[GraphData[{"DiagonalIntersection",12},"Edges"]]

3D All

GraphData[{"DiagonalIntersection",12},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"DiagonalIntersection",12},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"DiagonalIntersection",12},"Graph",{"3D","Polyhedron"}]

Graphics3D[{FaceForm[Green,Red],GraphData[{"DiagonalIntersection",12},"Polyhedron"]}]

3D Canonical

GraphData[{"DiagonalIntersection",12},"Graph",{"3D","Canonical"}]

Graphics3D[{Opacity[.5],Red,GraphData[{"DiagonalIntersection",12},"Polyhedron"],Yellow,Sphere[]}]

3D Canonical construction

Graphics3D[{FaceForm[Green,Red],poly=GraphPolyhedron[GraphData[{"DiagonalIntersection",12}],-1]}]

(can=FindCanonicalPolyhedron[poly,WorkingPrecision->1000,MaxIterations->10000,PrecisionGoal->20])//Timing

SimplePolyhedronQ[can]

If[%===False,Quit[]]

Graphics3D[{Opacity[.5],Red,can,Yellow,Sphere[]}]

(lens=Mean/@Split[Sort[PolyhedronEdgeLengths[can]],Abs[#1-#2]<1.*^-10&])//N

v=PolyhedronCoordinates[can];

colors=With[{n=Length[lens]},Table[Hue[i/n],{i,0,n-1}]]

Graphics3D[{Thick,Sequence@@Nearest[Thread[lens->colors],EuclideanDistance@@v[[#]]],Line[v[[#]]]}&/@PolyhedronEdges[can],Boxed->False]

g=PolyhedronGraph[can]

3D Canonical construction from PolyhedralEmbedding

g=GraphData[{"DiagonalIntersection",12},"Graph","Planar"][[1]]

Show[g2=PolyhedralEmbedding[g,"Circular"->True,"Scale"->1.5],Boxed->True]//Quiet

With[
{faces=PlanarFaceList[Graph[EdgeList[g2]]],v=GraphEmbedding@g2},
Graphics3D[{Point[{0,0,0}],Opacity[.5],Sphere[],FaceForm[Green,Red],
poly=Polyhedron[1.02v,faces]}]]

(can=FindCanonicalPolyhedron[poly,WorkingPrecision->100,MaxIterations->1000,PrecisionGoal->20,"ProgressInterval"->100,"TangentFactor"->1/5,"PlanarFactor"->1/5,Debug->True])//Timing

Graphics3D[can]

(can=FindCanonicalPolyhedron[can,WorkingPrecision->100,MaxIterations->20000,PrecisionGoal->20,"ProgressInterval"->500,"TangentFactor"->1/5,"PlanarFactor"->1/5,Debug->True])//Timing

(can=FindCanonicalPolyhedron[can,WorkingPrecision->100,MaxIterations->100000,PrecisionGoal->20,"ProgressInterval"->1000,"TangentFactor"->1/10,"PlanarFactor"->1/10,Debug->True])//Timing

(can=FindCanonicalPolyhedron[can,WorkingPrecision->100,MaxIterations->200000,PrecisionGoal->20,"ProgressInterval"->5000,"TangentFactor"->1/10,"PlanarFactor"->1/10,Debug->True])//Timing

(can=FindCanonicalPolyhedron[can,WorkingPrecision->100,MaxIterations->500000,PrecisionGoal->20,"ProgressInterval"->5000,"TangentFactor"->1/10,"PlanarFactor"->1/10,Debug->True])//Timing

can=Polyhedron[];

SimplePolyhedronQ[can]

Graphics3D[{Opacity[.5],Red,can,Yellow,Sphere[]}]

(lens=Mean/@Split[Sort[PolyhedronEdgeLengths[can]],Abs[#1-#2]<1.*^-10&])//N

v=PolyhedronCoordinates[can];

colors=With[{n=Length[lens]},Table[Hue[i/n],{i,0,n-1}]]

Graphics3D[{Thick,Sequence@@Nearest[Thread[lens->colors],EuclideanDistance@@v[[#]]],Line[v[[#]]]}&/@PolyhedronEdges[can],Boxed->False]

g=PolyhedronGraph[can]

{"DiagonalIntersection", 13}

GraphData[{"DiagonalIntersection",13},"StandardName"]

All

GraphData[{"DiagonalIntersection",13},"Graph","All"]//StyleGraphs

Halin

GraphData[{"DiagonalIntersection",13},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"DiagonalIntersection",13},"LCFSignature"]

GraphData[{"DiagonalIntersection",13},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"DiagonalIntersection",13},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"DiagonalIntersection",13}],Debug->True]//Timing

GraphData[{"DiagonalIntersection",13},"Graph","UnitDistance"]//StyleGraphs

Matchstick

GraphData[{"DiagonalIntersection",13},"Graph","Matchstick"]//StyleGraphs

MinimalCrossing

GraphData[{"DiagonalIntersection",13},{"RCN","CN"}]

GraphData[{"DiagonalIntersection",13},"Graph","MinimalCrossing"]//StyleGraphs

Default embedding

GraphPlot@GraphData[{"DiagonalIntersection",13},"Edges"]

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

RecognizeGraph[g]

MinimalCrossing construction

GraphPlot@RotateGraph[MinimalCrossingGraph[GraphData[{"DiagonalIntersection",13}],"CrossingNumber"->-1]]

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

3D default

Graph3D[GraphData[{"DiagonalIntersection",13},"Edges"]]

3D All

GraphData[{"DiagonalIntersection",13},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"DiagonalIntersection",13},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"DiagonalIntersection",13},"Graph",{"3D","Polyhedron"}]

Graphics3D[{FaceForm[Green,Red],GraphData[{"DiagonalIntersection",13},"Polyhedron"]}]

3D Canonical

GraphData[{"DiagonalIntersection",13},"Graph",{"3D","Canonical"}]

Graphics3D[{Opacity[.5],Red,GraphData[{"DiagonalIntersection",13},"Polyhedron"],Yellow,Sphere[]}]

3D Canonical construction

Graphics3D[{FaceForm[Green,Red],poly=GraphPolyhedron[GraphData[{"DiagonalIntersection",13}],1]}]

(can=FindCanonicalPolyhedron[poly,WorkingPrecision->1000,MaxIterations->10000,PrecisionGoal->20])//Timing

SimplePolyhedronQ[can]

If[%===False,Quit[]]

Graphics3D[{Opacity[.5],Red,can,Yellow,Sphere[]}]

(lens=Mean/@Split[Sort[PolyhedronEdgeLengths[can]],Abs[#1-#2]<1.*^-10&])//N

v=PolyhedronCoordinates[can];

colors=With[{n=Length[lens]},Table[Hue[i/n],{i,0,n-1}]]

Graphics3D[{Thick,Sequence@@Nearest[Thread[lens->colors],EuclideanDistance@@v[[#]]],Line[v[[#]]]}&/@PolyhedronEdges[can],Boxed->False]

g=PolyhedronGraph[can]

{"DiagonalIntersection", 14}

GraphData[{"DiagonalIntersection",14},"StandardName"]

All

GraphData[{"DiagonalIntersection",14},"Graph","All"]//StyleGraphs

Halin

GraphData[{"DiagonalIntersection",14},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"DiagonalIntersection",14},"LCFSignature"]

GraphData[{"DiagonalIntersection",14},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"DiagonalIntersection",14},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"DiagonalIntersection",14}],Debug->True]//Timing

GraphData[{"DiagonalIntersection",14},"Graph","UnitDistance"]//StyleGraphs

Matchstick

GraphData[{"DiagonalIntersection",14},"Graph","Matchstick"]//StyleGraphs

MinimalCrossing

GraphData[{"DiagonalIntersection",14},{"RCN","CN"}]

GraphData[{"DiagonalIntersection",14},"Graph","MinimalCrossing"]//StyleGraphs

Default embedding

GraphPlot@GraphData[{"DiagonalIntersection",14},"Edges"]

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

RecognizeGraph[g]

MinimalCrossing construction

GraphPlot@RotateGraph[MinimalCrossingGraph[GraphData[{"DiagonalIntersection",14}],"CrossingNumber"->-1]]

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

3D default

Graph3D[GraphData[{"DiagonalIntersection",14},"Edges"]]

3D All

GraphData[{"DiagonalIntersection",14},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"DiagonalIntersection",14},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"DiagonalIntersection",14},"Graph",{"3D","Polyhedron"}]

Graphics3D[{FaceForm[Green,Red],GraphData[{"DiagonalIntersection",14},"Polyhedron"]}]

3D Canonical

GraphData[{"DiagonalIntersection",14},"Graph",{"3D","Canonical"}]

Graphics3D[{Opacity[.5],Red,GraphData[{"DiagonalIntersection",14},"Polyhedron"],Yellow,Sphere[]}]

3D Canonical construction

Graphics3D[{FaceForm[Green,Red],poly=GraphPolyhedron[GraphData[{"DiagonalIntersection",14}],-1]}]

(can=FindCanonicalPolyhedron[poly,WorkingPrecision->1000,MaxIterations->10000,PrecisionGoal->20])//Timing

SimplePolyhedronQ[can]

If[%===False,Quit[]]

Graphics3D[{Opacity[.5],Red,can,Yellow,Sphere[]}]

(lens=Mean/@Split[Sort[PolyhedronEdgeLengths[can]],Abs[#1-#2]<1.*^-10&])//N

v=PolyhedronCoordinates[can];

colors=With[{n=Length[lens]},Table[Hue[i/n],{i,0,n-1}]]

Graphics3D[{Thick,Sequence@@Nearest[Thread[lens->colors],EuclideanDistance@@v[[#]]],Line[v[[#]]]}&/@PolyhedronEdges[can],Boxed->False]

g=PolyhedronGraph[can]

Properties

Acyclic

Table[GraphData[{"DiagonalIntersection",n},"Acyclic"],{n,3,14}]

AdjacencyMatrixCount

seq=Table[GraphData[{"DiagonalIntersection",n},"AdjacencyMatrixCount"],{n,3,14}]

FindSequenceFunction[Take[seq,5],n-2]//FullSimplify

Arboricity

Table[GraphData[{"DiagonalIntersection",n},"Arboricity"],{n,3,14}]

ArcTransitive

Table[GraphData[{"DiagonalIntersection",n},"ArcTransitive"],{n,3,14}]

ArcTransitivity

Table[GraphData[{"DiagonalIntersection",n},"ArcTransitivity"],{n,3,14}]

AutomorphismCount

seq=Table[GraphData[{"DiagonalIntersection",n},"AutomorphismCount"],{n,3,14}]

gf=(x^3)FindGeneratingFunction[seq,x]

Simplify[SeriesCoefficient[gf,{x,0,n}],n>2]

BalabanIndex

seq=Table[GraphData[{"DiagonalIntersection",n},"BalabanIndex"],{n,3,14}]

Bandwidth

Table[GraphData[{"DiagonalIntersection",n},"Bandwidth"],{n,3,14}]

BridgeCount

seq=Table[GraphData[{"DiagonalIntersection",n},"BridgeCount"],{n,3,14}]

BurningNumber

seq=Table[GraphData[{"DiagonalIntersection",n},"BurningNumber"],{n,3,14}]

Table[Ceiling[Sqrt[n]],{n,3,14}]

CharacteristicPolynomial

(poly=Factor@Table[GraphData[{"DiagonalIntersection",n},"CharacteristicPolynomial"],{n,k0=3,14}]/.f_Function:>f[x])//Column

CoefficientList[#,x]&/@(Take[poly,7]//Expand)//Column

coef=Factor/@FindLinearRecurrence[DeleteMissing@poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

Table[2*(ChebyshevT[n,x/2]-1),{n,3,10}]//Factor

poly2=Table[2(ChebyshevT[n,x/2]-1),{n,3,14}]//Factor

Abs[FullSimplify[poly2/poly]]

Table[CoefficientList[CharacteristicPolynomial[AdjacencyMatrix[CycleGraph[n]],x],x],{n,3,7}]//Column

Flatten[{{1},{1,-1},{-1,0,1},Table[CoefficientList[CharacteristicPolynomial[AdjacencyMatrix[CycleGraph[n]],x],x],{n,3,10}]}]

Flatten[{{1},{1,-1},{-1,0,1},Table[CoefficientList[(-1)^n 2(ChebyshevT[n,x/2]-1),x],{n,3,10}]}]

%==%%

Flatten[{{1},{0,1},Table[(-1)^n CoefficientList[CharacteristicPolynomial[AdjacencyMatrix[CycleGraph[n]],x],x],{n,2,10}]}]

Flatten[{{1},{0,1},Table[CoefficientList[2(ChebyshevT[n,x/2]-1),x],{n,2,10}]}]

%==%%

poly2=Table[2 (ChebyshevT[n,x/2]-1),{n,3,14}]

Abs[FullSimplify[poly/poly2]]

ChordCount

=== EdgeCount for n > 3

seq=Table[GraphData[{"DiagonalIntersection",n},"ChordCount"],{n,3,14}]

ChordlessCycleCount

seq=Table[GraphData[{"DiagonalIntersection",n},"ChordlessCycleCount"],{n,3,14}]

ChromaticInvariant

A300814

seq=Table[GraphData[{"DiagonalIntersection",n},"ChromaticInvariant"],{n,3,14}]

ChromaticNumber

A320604

seq=Table[GraphData[{"DiagonalIntersection",n},"ChromaticNumber"],{n,3,14}]

FindLinearRecurrence[seq]

FullSimplify[FindSequenceFunction[seq,n-2],n∈Integers]

gf=(x^3)FindGeneratingFunction[seq,x]//Factor

gf//InputForm

FullSimplify[SeriesCoefficient[gf,{x,0,n}],n>2&&n∈Integers]

CoefficientList[Series[-(((3+3 x+4 (x^2)+3 (x^3)+4 (x^4)+3 (x^5)))/((-1+x) (1+x) (1-x+(x^2)) (1+x+(x^2)))),{x,0,20}],x]

seq=Table[(1/3) (10-(((-1))^n)+Cos[((n π)/3)]-Cos[((2 n π)/3)]),{n,100}]

FindLinearRecurrence[seq]

LinearRecurrence[{0,0,0,0,0,1},{4,3,3,3,4,3},20]

Table[Piecewise[{{4,Mod[n,6]==1||Mod[n,6]==5}},3],{n,20}]

ChromaticPolynomial

(poly=Factor@Table[GraphData[{"DiagonalIntersection",n},"ChromaticPolynomial"],{n,k0=3,14}]/.f_Function:>f[x])//Column

coef=Factor/@FindLinearRecurrence[poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

poly2=Table[(((-1))^n) (-1+x)+(((-1+x))^n),{n,3,14}]

FullSimplify[poly2/poly]

Circumference

=== VertexCount

Need to show is Hamiltonian

seq=Table[GraphData[{"DiagonalIntersection",n},"Circumference"],{n,3,14}]

FindSequenceFunction[DeleteMissing@seq,n-2]

Classes

Intersection@@(GraphData[#,"Classes"]&/@GraphData["DiagonalIntersection"])

CliqueCount

A300524

seq=Table[GraphData[{"DiagonalIntersection",n},"CliqueCount"],{n,3,14}]

FindSequenceFunction[seq,n-2]

gf=(x^3)FindGeneratingFunction[seq,x]

A007569: vertex count
A135565: edge count
A062361: triangle count

A007569={1,2,3,5,10,19,42,57,135,171,341,313,728,771,1380,1393,2397,1855,3895,3861,6006,5963,8878,7321,12675,12507,17577,17277,23780,16831,31496,30945,40953,40291,52395,47017,66082,65019,82290};
A062361={0,0,1,4,10,18,35,56,90,120,176,276,377,476,585,848,1054,1404,1653,2200,2268,2992,3749,4416,5000,6292,6777,8316,9222,11670,11501,14368,15840,18598,19705,24444,25012,28842,30966,36000,39278,45318,46999,53900};
A135565={0,1,3,8,20,42,91,136,288,390,715,756,1508,1722,2835,3088,4896,4320,7923,8360,12180,12782,17963,16344,25600,26494,35451,36456,47908,38310,63395,64800,82368,84082,105315,99972,132756,135014,165243,167720};

1+A007569[n]x+A135565[n](x^2)+A062361[n](x^3)

Length/@{A007569,A062361,A135565}

Drop[1+Total/@Transpose[Take[#,39]&/@{A007569,A062361,A135565}],2]

CliqueCoveringNumber

seq=Table[GraphData[{"DiagonalIntersection",n},"CliqueCoveringNumber"],{n,3,14}]

FindSequenceFunction[DeleteMissing@seq,n-2]

FindGeneratingFunction[DeleteMissing@seq,x]

CliqueNumber

seq=Table[GraphData[{"DiagonalIntersection",n},"CliqueNumber"],{n,3,14}]

CliquePolynomial

(poly=Expand@Table[GraphData[{"DiagonalIntersection",n},"CliquePolynomial"][x],{n,k0=3,14}])//Column

A007569: vertex count
A135565: edge count
A062361: triangle count

A007569={1,2,3,5,10,19,42,57,135,171,341,313,728,771,1380,1393,2397,1855,3895,3861,6006,5963,8878,7321,12675,12507,17577,17277,23780,16831,31496,30945,40953,40291,52395,47017,66082,65019,82290};
A062361={0,0,1,4,10,18,35,56,90,120,176,276,377,476,585,848,1054,1404,1653,2200,2268,2992,3749,4416,5000,6292,6777,8316,9222,11670,11501,14368,15840,18598,19705,24444,25012,28842,30966,36000,39278,45318,46999,53900};
A135565={0,1,3,8,20,42,91,136,288,390,715,756,1508,1722,2835,3088,4896,4320,7923,8360,12180,12782,17963,16344,25600,26494,35451,36456,47908,38310,63395,64800,82368,84082,105315,99972,132756,135014,165243,167720};

1+A007569[n]x+A135565[n](x^2)+A062361[n](x^3)

Length/@{A007569,A062361,A135565}

Drop[1+Total/@Transpose[Take[#,39]&/@{A007569,A062361,A135565}],2]

coef=Factor/@FindLinearRecurrence[Rest@poly]

ComplementGraphName

t1=Table[GraphData[{"DiagonalIntersection",n},"ComplementGraph","Name"],{n,3,14}]

ComplementOddChordlessCycleCount

seq=Table[GraphData[{"DiagonalIntersection",n},"ComplementOddChordlessCycleCount"],{n,3,14}]

ConnectedComponentCount

seq=Table[GraphData[{"DiagonalIntersection",n},"ConnectedComponentCount"],{n,3,14}]

ConnectedDominatingSetCount

A300527

seq=Table[GraphData[{"DiagonalIntersection",n},"ConnectedDominatingSetCount"],{n,3,14}]

ConnectedDominationNumber

seq=Table[GraphData[{"DiagonalIntersection",n},"ConnectedDominationNumber"],{n,3,14}]

ConnectedDominationPolynomial

(poly=Factor@Table[GraphData[{"DiagonalIntersection",n},"ConnectedDominationPolynomial"],{n,k0=3,14}]/.f_Function:>f[x])//Column

coef=Factor/@FindLinearRecurrence[poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

poly2=Table[(x^(n-2))((x^2)+n x+n),{n,3,14}]

FullSimplify[poly2-poly]

ConnectedInducedSubgraphCount

A300528

seq=Table[GraphData[{"DiagonalIntersection",n},"ConnectedInducedSubgraphCount"],{n,3,14}]

ConnectedInducedSubgraphPolynomial

(poly=DeleteCases[Factor@Table[GraphData[{"DiagonalIntersection",n},"ConnectedInducedSubgraphPolynomial"][x],{n,k0=3,14}],_Missing[x]])//Column

coef=Factor/@FindLinearRecurrence[poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

poly2=Table[(x^n)+((n (-x+(x^n)))/(-1+x)),{n,k0,20}]

FullSimplify[poly2-poly]

CrossingNumber

seq=Table[GraphData[{"DiagonalIntersection",n},"CrossingNumber"],{n,3,14}]

CycleCount

A300525

seq=Table[GraphData[{"DiagonalIntersection",n},"CycleCount"],{n,3,14}]

CyclePolynomial

(poly=Factor@Table[GraphData[{"DiagonalIntersection",n},"CyclePolynomial"],{n,k0=3,14}]/.f_Function:>f[x])//Column

Cyclic

Table[GraphData[{"DiagonalIntersection",n},"Cyclic"],{n,3,14}]

CyclomaticNumber

A007678

seq=Table[GraphData[{"DiagonalIntersection",n},"CyclomaticNumber"],{n,3,14}]

DetourIndex

Hamilton-connected

seq=Table[GraphData[{"DiagonalIntersection",n},"DetourIndex"],{n,3,14}]

del[m_,n_]:=If[Mod[n,m]==0,1,0];Int[n_]:=If[n<4,n,n+Binomial[n,4]+del[2,n](-5n^3+45n^2-70n+24)/24-del[4,n](3n/2)+del[6,n](-45n^2+262n)/6+del[12,n]*42n+del[18,n]*60n+del[24,n]*35n-del[30,n]*38n-del[42,n]*82n-del[60,n]*330n-del[84,n]*144n-del[90,n]*96n-del[120,n]*144n-del[210,n]*96n];

Table[With[{k=Int[n]},k(((k-1))^2)/2],{n,3,14}]

DetourMatrix

Hamilton-connected

MatrixForm/@Table[GraphData[{"DiagonalIntersection",n},"DetourMatrix"],{n,3,7}]

MatrixForm/@Table[SparseArray[{{i_,i_}->0,{i_,j_}:>If[Abs[i-j]<n/2,n-Abs[i-j],Abs[i-j]]},n],{n,7}]

DetourPolynomial

Hamilton-connected

(poly=Factor@Table[GraphData[{"DiagonalIntersection",n},"DetourPolynomial"],{n,k0=3,14}]/.f_Function:>f[x])//Column

del[m_,n_]:=If[Mod[n,m]==0,1,0];Int[n_]:=If[n<4,n,n+Binomial[n,4]+del[2,n](-5n^3+45n^2-70n+24)/24-del[4,n](3n/2)+del[6,n](-45n^2+262n)/6+del[12,n]*42n+del[18,n]*60n+del[24,n]*35n-del[30,n]*38n-del[42,n]*82n-del[60,n]*330n-del[84,n]*144n-del[90,n]*96n-del[120,n]*144n-del[210,n]*96n];

Table[(x-(Int[n]-1)^2)(((x+Int[n]-1))^(Int[n]-1)),{n,3,14}]//Column

Diameter

A300526

seq=Table[GraphData[{"DiagonalIntersection",n},"Diameter"],{n,3,14}]

DistanceMatrix

MatrixForm/@(seq=Table[GraphData[{"DiagonalIntersection",n},"DistanceMatrix"],{n,3,7}])

MatrixForm/@(seq2=Table[SparseArray[{{i_,i_}->0,{i_,j_}:>If[Abs[i-j]<n/2,Abs[i-j],n-Abs[i-j]]},n],{n,3,7}])

seq==seq2

DistancePolynomial

(poly=Factor@Table[GraphData[{"DiagonalIntersection",n},"DistancePolynomial"],{n,k0=3,14}]/.f_Function:>f[x])//Factor//Column

coef=Factor/@FindLinearRecurrence[poly]

CoefficientList[Take[poly,5],x]

Table[((GraphData[{"DiagonalIntersection",n},"DistancePolynomial"][x])/((x-n^2/4) (x^((n-2)/2)))),{n,k0=6,20,4}]

CoefficientList[%,x]

(-I)^n Fibonacci[n+1,-I x]==ChebyshevU[n,-(x/2)]/.{n->n/2,x->-2I/Sqrt[x]}

FullSimplify[(((-(((-1))^(3/4))))^n) Fibonacci[1+(n/2),-(2/(Sqrt[x]))],n∈Integers]

Table[(((-1))^(7 n/4)) Fibonacci[1+(n/2),-(2/(Sqrt[x]))],{n,4,8,2}]//Simplify

Table[(x^(n-1))(x-n^2/4) (ChebyshevT[n/2,I/(Sqrt[x])]^2),{n,4,8,2}]//FullSimplify//Factor

Table[(x^(n-1))(x-n^2/4) (((((-1))^(7 n/4)) Fibonacci[1+(n/2),-(2/(Sqrt[x]))])^2),{n,4,8,2}]//FullSimplify//Factor

(poly2=Factor@Table[Piecewise[{
{(1+x)(x^(n-1))(x-n^2/4) (ChebyshevT[n/2,I/(Sqrt[x])]^2)//FullSimplify,Mod[n,4]==2},
{(x^(n-1))(x-n^2/4) (ChebyshevT[n/2,I/(Sqrt[x])]^2)//FullSimplify,Mod[n,2]==0},
{(x^(n-1)) (x-((n^2)-1)/4)((Fibonacci[n,1/Sqrt[x]])^2),Mod[n,2]==1}
}],{n,3,14}])//Column

FullSimplify[poly2/poly]

DistinguishingNumber

seq=Table[GraphData[{"DiagonalIntersection",n},"DistinguishingNumber"],{n,3,14}]

DominatingSetCount

A300529

seq=Table[GraphData[{"DiagonalIntersection",n},"DominatingSetCount"],{n,3,14}]

DominationNumber

A301338

seq=Table[GraphData[{"DiagonalIntersection",n},"DominationNumber"],{n,3,14}]

DominationPolynomial

(poly=Factor@Table[GraphData[{"DiagonalIntersection",n},"DominationPolynomial"],{n,k0=3,14}]/.f_Function:>f[x])//Column

CoefficientList[Take[poly,5],x]

coef=Factor/@FindLinearRecurrence[poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

CoefficientList[LinearRecurrence[{x,x,x},{1,2+x, 3+3 x+(x^2)},10],x]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

SeriesCoefficient[gf,{z,0,n}]

poly2=LinearRecurrence[{x,x,x},x{1,2+x, 3+3 x+(x^2)},{3,20}]

FullSimplify[poly2-poly]

EdgeChromaticNumber

A213222

== MaximumVertexDegree for n > 3

seq=Table[GraphData[{"DiagonalIntersection",n},"EdgeChromaticNumber"],{n,3,14}]

Table[GraphData[{"DiagonalIntersection",n},"Class1"],{n,3,14}]

Table[GraphData[{"DiagonalIntersection",n},"MaximumVertexDegree"],{n,3,14}]

EdgeConnectivity

Table[GraphData[{"DiagonalIntersection",n},"EdgeConnectivity"],{n,3,14}]

EdgeCount

A135565

seq=Table[GraphData[{"DiagonalIntersection",n},"EdgeCount"],{n,3,14}]

FindSequenceFunction[seq,n-2]//FullSimplify

Nodes:

del[m_,n_]:=Boole[Divisible[n,m]]

del[m_,n_]=.

A007569[n_]:=If[n<4,n,n+Binomial[n,4]+del[2,n] (-5 n^3+45 n^2-70 n+24)/24-del[4,n] (3 n/2)+del[6,n] (-45 n^2+262 n)/6+del[12,n]*42 n+del[18,n]*60 n+del[24,n]*35 n-del[30,n]*38 n-del[42,n]*82 n-del[60,n]*330 n-del[84,n]*144 n-del[90,n]*96 n-del[120,n]*144 n-del[210,n]*96 n]

Regions:

A007678[n_]:=If[n<3,0,(n^4-6 n^3+23 n^2-42 n+24)/24+del[2,n] (-5 n^3+42 n^2-40 n-48)/48-del[4,n] (3 n/4)+del[6,n] (-53 n^2+310 n)/12+del[12,n] (49 n/2)+del[18,n]*32 n+del[24,n]*19 n-del[30,n]*36 n-del[42,n]*50 n-del[60,n]*190 n-del[84,n]*78 n-del[90,n]*48 n-del[120,n]*78 n-del[210,n]*48 n]

a[n_]:=A007569[n]+A007678[n]-1

Table[a[n],{n,4}]

If[n<3,a,b][[-1]]

A007569[n]+A007678[n]-1/.if_If:>if[[-1]]

a[n_]:=If[n==2,1,-1+n+(1/24) (-3+n) (-2+n) (-1+n) n+(1/24) (24-42 n+23 (n^2)-6 (n^3)+(n^4))+(1/48) (-48-40 n+42 (n^2)-5 (n^3)) del[2,n]+(1/24) (24-70 n+45 (n^2)-5 (n^3)) del[2,n]-(9/4) n del[4,n]+(1/12) (310 n-53 (n^2)) del[6,n]+(1/6) (262 n-45 (n^2)) del[6,n]+(133/2) n del[12,n]+92 n del[18,n]+54 n del[24,n]-74 n del[30,n]-132 n del[42,n]-520 n del[60,n]-222 n del[84,n]-144 n del[90,n]-222 n del[120,n]-144 n del[210,n]]

Table[a[n],{n,20}]

a[n]/.HoldPattern[del[k_,n_]]:>Subscript[δ,k][n]//TraditionalForm

seq=Table[a[n],{n,200}];//Timing

Do[Print[{k,Head[FindLinearRecurrence[Drop[seq,k]]]//Timing}],{k,0,4}]

FindGeneratingFunction[Take[seq,100],x]//Head//Timing

EdgeCoverCount

A300530

seq=Table[GraphData[{"DiagonalIntersection",n},"EdgeCoverCount"],{n,3,14}]

EdgeCoverNumber

A300550

seq=Table[GraphData[{"DiagonalIntersection",n},"EdgeCoverNumber"],{n,3,14}]

EdgeCoverPolynomial

(poly=Factor@Table[GraphData[{"DiagonalIntersection",n},"EdgeCoverPolynomial"],{n,k0=3,14}]/.f_Function:>f[x])//Column

poly//Expand//Column

CoefficientList[Take[poly,7],x]

coef=Factor/@FindLinearRecurrence[poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

CoefficientList[LinearRecurrence[{x,x},{x,x (2+x)},15],x]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

poly2=Table[(2^(-n)) ((((x-(Sqrt[x]) (Sqrt[4+x])))^n)+(((x+(Sqrt[x]) (Sqrt[4+x])))^n)),{n,3,14}]

FullSimplify[poly2-poly]

(poly2=Table[2 (x^n)(-1/x)^(n/2) ChebyshevT[n,1/(2 Sqrt[-1/x])],{n,3,14}]//Expand)//Column

FullSimplify[poly2-poly]

FunctionExpand[2 x^n (-1/x)^(n/2) ChebyshevT[n,1/(2 Sqrt[-1/x])]]//FullSimplify

2(-1/x)^(n/2)ChebyshevT[n,1/(2 Sqrt[-1/x])]==(x^(-n/2)) LucasL[n,(Sqrt[x])]

2 (x^n)(-1/x)^(n/2) ChebyshevT[n,1/(2 Sqrt[-1/x])]

(poly3=Table[(x^(n/2)) LucasL[n,(Sqrt[x])],{n,3,14}]//Expand)//Column

FullSimplify[poly3-poly]

Table[(x^(n/2)) LucasL[n,(Sqrt[x])],{n,0,4}]//Expand

CoefficientList[Table[(x^(n/2)) LucasL[n,(Sqrt[x])],{n,0,12}],x]

Flatten[%]

EulerianCycleCount

seq=Table[GraphData[{"DiagonalIntersection",n},"EulerianCycleCount"],{n,3,14}]

FaceCount

A301748

seq=Table[GraphData[{"DiagonalIntersection",n},"FaceCount"],{n,3,30}]

2-A007569+A135565

del[m_,n_]:=If[Mod[n,m]==0,1,0];vertexcount[n_]:=If[n<4,n,n+Binomial[n,4]+del[2,n](-5n^3+45n^2-70n+24)/24-del[4,n](3n/2)+del[6,n](-45n^2+262n)/6+del[12,n]*42n+del[18,n]*60n+del[24,n]*35n-del[30,n]*38n-del[42,n]*82n-del[60,n]*330n-del[84,n]*144n-del[90,n]*96n-del[120,n]*144n-del[210,n]*96n]
A007569[n_]:=If[n<4,n,n+Binomial[n,4]+del[2,n] (-5 n^3+45 n^2-70 n+24)/24-del[4,n] (3 n/2)+del[6,n] (-45 n^2+262 n)/6+del[12,n]*42 n+del[18,n]*60 n+del[24,n]*35 n-del[30,n]*38 n-del[42,n]*82 n-del[60,n]*330 n-del[84,n]*144 n-del[90,n]*96 n-del[120,n]*144 n-del[210,n]*96 n];
A007678[n_]:=If[n<3,0,(n^4-6 n^3+23 n^2-42 n+24)/24+del[2,n] (-5 n^3+42 n^2-40 n-48)/48-del[4,n] (3 n/4)+del[6,n] (-53 n^2+310 n)/12+del[12,n] (49 n/2)+del[18,n]*32 n+del[24,n]*19 n-del[30,n]*36 n-del[42,n]*50 n-del[60,n]*190 n-del[84,n]*78 n-del[90,n]*48 n-del[120,n]*78 n-del[210,n]*48 n];
edgecount[n_]:=A007569[n]+A007678[n]-1

seq=Table[2-vertexcount[n]+edgecount[n],{n,3,60}]

FindSequenceFunction[Rest@seq,n]

FindGeneratingFunction[Rest@seq,x]

GraphData[{"DiagonalIntersection",3}]

FlowPolynomial

(poly=Factor@Table[GraphData[{"DiagonalIntersection",n},"FlowPolynomial"],{n,k0=3,14}]/.f_Function:>f[x])//Column

FractionalChromaticNumber

seq=Table[GraphData[{"DiagonalIntersection",n},"FractionalChromaticNumber"],{n,3,14}]

FractionalEdgeChromaticNumber

seq=Table[GraphData[{"DiagonalIntersection",n},"FractionalEdgeChromaticNumber"],{n,3,14}]

Girth

seq=Table[GraphData[{"DiagonalIntersection",n},"Girth"],{n,3,14}]

Gonality

seq=Table[GraphData[{"DiagonalIntersection",n},"Gonality"],{n,3,14}]

HamiltonConnected

seq=Table[GraphData[{"DiagonalIntersection",n},"HamiltonConnected"],{n,3,14}]

HamiltonDecompositionCount

seq=Table[GraphData[{"DiagonalIntersection",n},"HamiltonDecompositionCount"],{n,3,14}]

Hamiltonian

Table[GraphData[{"DiagonalIntersection",n},"Hamiltonian"],{n,3,14}]

HamiltonianCycleCount

A300513

seq=Table[GraphData[{"DiagonalIntersection",n},"HamiltonianCycleCount"],{n,3,14}]

HamiltonianNumber

=== VertexCount

seq=Table[GraphData[{"DiagonalIntersection",n},"HamiltonianNumber"],{n,3,14}]

HamiltonianPathCount

A300551

seq=Table[GraphData[{"DiagonalIntersection",n},"HamiltonianPathCount"],{n,3,14}]

HamiltonianWalkCount

seq=Table[GraphData[{"DiagonalIntersection",n},"HamiltonianWalkCount"],{n,3,14}]

HararyIndex

seq=Table[GraphData[{"DiagonalIntersection",n},"HararyIndex"],{n,3,14}]

FindSequenceFunction[seq,n-2]

HexagonCount

A300554

seq=Table[GraphData[{"DiagonalIntersection",n},"HexagonCount"],{n,3,14}]

IdiosyncraticPolynomial

(poly=Factor@Table[GraphData[{"DiagonalIntersection",n},"IdiosyncraticPolynomial"],{n,k0=3,14}]/.f_Function:>f[x,y])//Column

coef=Factor/@FindLinearRecurrence[poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

SeriesCoefficient[gf,{z,0,n}]

poly2=Table[XXX,{n,3,14}]

FullSimplify[poly2-poly]

IndependenceNumber

A300569

seq=Table[GraphData[{"DiagonalIntersection",n},"IndependenceNumber"],{n,3,14}]

IndependencePolynomial

(poly=Factor@Table[GraphData[{"DiagonalIntersection",n},"IndependencePolynomial"],{n,k0=3,14}]/.f_Function:>f[x])//Expand//Column

coef=Factor/@FindLinearRecurrence[DeleteMissing@poly]

IndependenceRatio

seq=Table[GraphData[{"DiagonalIntersection",n},"IndependenceRatio"],{n,3,14}]

FindSequenceFunction[DeleteMissing@seq,n]

IndependentEdgeSetCount

A291947

seq=Table[GraphData[{"DiagonalIntersection",n},"IndependentEdgeSetCount"],{n,3,14}]

IndependentVertexSetCount

===VertexCoverCount

A291948

seq=Table[GraphData[{"DiagonalIntersection",n},"IndependentVertexSetCount"],{n,3,14}]

IntersectionNumber

seq=Table[GraphData[{"DiagonalIntersection",n},"IntersectionNumber"],{n,3,14}]

IrredundantSetCount

A301340

seq=Table[GraphData[{"DiagonalIntersection",n},"IrredundantSetCount"],{n,3,14}]

KirchhoffIndex

seq=Table[GraphData[{"DiagonalIntersection",n},"KirchhoffIndex"],{n,3,14}]

FindSequenceFunction[seq,n-2]//FullSimplify

Table[Binomial[n+1,3]/2,{n,3,14}]

KirchhoffSumIndex

seq=Table[GraphData[{"DiagonalIntersection",n},"KirchhoffSumIndex"],{n,3,14}]

FindSequenceFunction[seq,n-2]//FullSimplify

LaplacianPolynomial

(poly=Factor@Table[GraphData[{"DiagonalIntersection",n},"LaplacianPolynomial"],{n,k0=3,14}]/.f_Function:>f[x])//Expand//Column

Take[poly,10]//Expand//Column

coef=Factor/@FindLinearRecurrence[poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

CoefficientList[LinearRecurrence[{3-x,-3+x,1},{-x,(-4+x) x,-(((-3+x))^2) x},10],x]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

(poly2=Table[2(ChebyshevT[n,1-x/2]-1),{n,3,14}]//Expand)//Column

FullSimplify[poly2-poly]

FunctionExpand[2(ChebyshevT[n,1-x/2]-1)]//FullSimplify

CoefficientList[FunctionExpand[Table[2 (-1+Cos[n ArcCos[1-(x/2)]]),{n,12}]],x]

(poly3=Table[LucasL[2n,Sqrt[-x]]-2,{n,3,14}]//Expand)//Column

FullSimplify[poly3-poly]

LeafCount

seq=Table[GraphData[{"DiagonalIntersection",n},"LeafCount"],{n,3,14}]

Likelihood

seq=Table[GraphData[{"DiagonalIntersection",n},"Likelihood"],{n,3,14}]

LongestCycleCount

=== HamiltonianCycleCount

seq=Table[GraphData[{"DiagonalIntersection",n},"LongestCycleCount"],{n,3,14}]

LovaszNumber

seq=Table[GraphData[{"DiagonalIntersection",n},"LovaszNumber"],{n,3,14}]

MatchingGeneratingPolynomial

(poly=Factor@Table[GraphData[{"DiagonalIntersection",n},"MatchingGeneratingPolynomial"],{n,k0=3,14}]/.f_Function:>f[x])//Expand//Column

coef=Factor/@FindLinearRecurrence[DeleteMissing@poly]

MatchingNumber

A300531

seq=Table[GraphData[{"DiagonalIntersection",n},"MatchingNumber"],{n,3,14}]

Length/@l[[All,2,2]]

Conjecturally, a matching exists for every n with at most one unmatched vertex. This would imply a(n) = floor(A007569(n)/2). A computer search, using a simple nonbacktracking algorithm, has shown the existence of such matchings up to n = 22 and indeed for small n there are large numbers of maximum matchings (A292921). Such a matching could also be constructed from a Hamiltonian path (A300551) by selecting every other edge, so a proof that these graphs are Hamiltonian would also suffice. - _Andrew Howroyd_, Mar 12 2018

MatchingPolynomial

(poly=Factor@Table[GraphData[{"DiagonalIntersection",n},"MatchingPolynomial"],{n,k0=3,14}]/.f_Function:>f[x])//Column

CoefficientList[poly,x]//Expand//Column

coef=Factor/@FindLinearRecurrence[poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

Flatten[{{1},CoefficientList[LinearRecurrence[{x,-1},{x,-2+(x^2)},10],x]}]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

poly2=Table[I^n LucasL[n,-I x],{n,3,14}]

Flatten[{{0},CoefficientList[Table[I^n LucasL[n,-I x],{n,10}],x]}]

CoefficientList[Table[I^n LucasL[n,-I x],{n,0,10}],x]

FullSimplify[poly2-poly]

MaximalCliqueCount

A291949

seq=Table[GraphData[{"DiagonalIntersection",n},"MaximalCliqueCount"],{n,3,14}]

FindSequenceFunction[seq,n-2]

MaximalIndependentEdgeSetCount

A291950

seq=Table[GraphData[{"DiagonalIntersection",n},"MaximalIndependentEdgeSetCount"],{n,3,14}]

MaximalIndependentVertexSetCount

A292356

seq=Table[GraphData[{"DiagonalIntersection",n},"MaximalIndependentVertexSetCount"],{n,3,14}]

MaximalIrredundantSetCount

A301341

seq=Table[GraphData[{"DiagonalIntersection",n},"MaximalIrredundantSetCount"],{n,3,14}]

MaximumCliqueCount

A062361

=== TriangleCount

seq=Table[GraphData[{"DiagonalIntersection",n},"MaximumCliqueCount"],{n,3,14}]

FindSequenceFunction[Rest@seq,n-3]

FindSequenceFunction[seq,n-2]

MaximumIndependentEdgeSetCount

A292921

seq=Table[GraphData[{"DiagonalIntersection",n},"MaximumIndependentEdgeSetCount"],{n,3,14}]

MaximumIndependentVertexSetCount

===MinimumVertexCoverCount

A292923

seq=Table[GraphData[{"DiagonalIntersection",n},"MaximumIndependentVertexSetCount"],{n,3,14}]

MaximumLeafNumber

seq=Table[GraphData[{"DiagonalIntersection",n},"MaximumLeafNumber"],{n,3,14}]

MaximumVertexDegree

A052928

seq=Table[GraphData[{"DiagonalIntersection",n},"MaximumVertexDegree"],{n,3,14}]

MeanDistance

seq=Table[GraphData[{"DiagonalIntersection",n},"MeanDistance"],{n,3,14}]

FullSimplify[FindSequenceFunction[seq,n-2],n∈Integers]

MinimalDominatingSetCount

A292925

seq=Table[GraphData[{"DiagonalIntersection",n},"MinimalDominatingSetCount"],{n,3,14}]

MinimalDominatingSetSignature

(seq=Table[GraphData[{"DiagonalIntersection",n},"MinimalDominatingSetSignature"],{n,3,14}])//Column

MinimalEdgeCoverCount

seq=Table[GraphData[{"DiagonalIntersection",n},"MinimalEdgeCoverCount"],{n,3,14}]

MinimalEdgeCoverSignature

seq=Table[GraphData[{"DiagonalIntersection",n},"MinimalEdgeCoverSignature"],{n,3,14}]//Column

MinimumCliqueCoveringCount

seq=Table[GraphData[{"DiagonalIntersection",n},"MinimumCliqueCoveringCount"],{n,3,14}]

MinimumConnectedDominatingSetCount

seq=Table[GraphData[{"DiagonalIntersection",n},"MinimumConnectedDominatingSetCount"],{n,3,14}]

FindSequenceFunction[DeleteCases[seq,_Missing],n-2]

MinimumDistinguishingLabelingCount

seq=Table[GraphData[{"DiagonalIntersection",n},"MinimumDistinguishingLabelingCount"],{n,3,14}]

FindSequenceFunction[seq,n-2]

gf=(x^3)FindGeneratingFunction[seq,x]

MinimumDominatingSetCount

seq=Table[GraphData[{"DiagonalIntersection",n},"MinimumDominatingSetCount"],{n,3,14}]

FindLinearRecurrence[seq]

MinimumEdgeCoverCount

seq=Table[GraphData[{"DiagonalIntersection",n},"MinimumEdgeCoverCount"],{n,3,14}]

MinimumVertexCoverCount

===MaximumIndependentVertexSetCount

A292923

seq=Table[GraphData[{"DiagonalIntersection",n},"MinimumVertexCoverCount"],{n,3,14}]

Table[Piecewise[{{2,Mod[n,2]==0},{n,Mod[n,2]==1}}],{n,3,14}]

MinimumVertexDegree

seq=Table[GraphData[{"DiagonalIntersection",n},"MinimumVertexDegree"],{n,3,14}]

MolecularTopologicalIndex

A293365

seq=Table[GraphData[{"DiagonalIntersection",n},"MolecularTopologicalIndex"],{n,3,14}]

FindSequenceFunction[seq,n-2]//FullSimplify

Nonhamiltonian

Table[GraphData[{"DiagonalIntersection",n},"Nonhamiltonian"],{n,3,14}]

NormalizedLaplacianMatrix

seq=MatrixForm/@Table[GraphData[{"DiagonalIntersection",n},"NormalizedLaplacianMatrix"],{n,3,6}]

OddChordlessCycleCount

seq=Table[GraphData[{"DiagonalIntersection",n},"OddChordlessCycleCount"],{n,3,14}]

PathCount

A294992

seq=Table[GraphData[{"DiagonalIntersection",n},"PathCount"],{n,3,14}]

FindLinearRecurrence[DeleteMissing@seq]

FindSequenceFunction[DeleteMissing@seq,n-2]//Factor

gf=(x^3) FindGeneratingFunction[DeleteMissing@seq,x]

FullSimplify[SeriesCoefficient[gf,{x,0,n}],n>2]

PathPolynomial

(poly=Factor[Table[GraphData[{"DiagonalIntersection",n},"PathPolynomial"],{n,k0=3,kmax=14}]/.f_Function:>f[x]])//Column

CoefficientList[poly,x]//Column

coef=Factor/@FindLinearRecurrence[DeleteMissing@poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

poly2=Table[((n x (-x+(x^n)))/(-1+x)),{n,k0,kmax}]

FullSimplify[poly2-poly]

PentagonCount

A300553

seq=Table[GraphData[{"DiagonalIntersection",n},"PentagonCount"],{n,3,14}]

Perfect

Table[GraphData[{"DiagonalIntersection",n},"Perfect"],{n,3,14}]

ProjectivePlaneCrossingNumber

seq=Table[GraphData[{"DiagonalIntersection",n},"ProjectivePlaneCrossingNumber"],{n,3,14}]

Radius

A296007

seq=Table[GraphData[{"DiagonalIntersection",n},"Radius"],{n,3,14}]

RankPolynomial

(poly=Factor@Table[GraphData[{"DiagonalIntersection",n},"RankPolynomial"],{n,k0=3,14}]/.f_Function:>f[x,y])//Column

RectilinearCrossingNumber

seq=Table[GraphData[{"DiagonalIntersection",n},"RectilinearCrossingNumber"],{n,3,14}]

ReliabilityPolynomial

(poly=Factor@Table[GraphData[{"DiagonalIntersection",n},"ReliabilityPolynomial"],{n,k0=3,14}]/.f_Function:>f[x])//Column

ResistanceMatrix

MatrixForm/@(seq=Table[GraphData[{"DiagonalIntersection",n},"ResistanceMatrix"],{n,k0=3,6}])

SigmaPolynomial

(poly=Factor@Table[GraphData[{"DiagonalIntersection",n},"SigmaPolynomial"],{n,k0=3,14}]/.f_Function:>f[x])//Column

Skewness

seq=Table[GraphData[{"DiagonalIntersection",n},"Skewness"],{n,3,14}]

SpanningTreeCount

seq=Table[GraphData[{"DiagonalIntersection",n},"SpanningTreeCount"],{n,3,14}]

SpectralRadius

seq=Table[GraphData[{"DiagonalIntersection",n},"SpectralRadius"],{n,3,14}]

SquareCount

A300552

seq=Table[GraphData[{"DiagonalIntersection",n},"SquareCount"],{n,3,14}]

FindSequenceFunction[seq,n-2]

StabilityIndex

seq=Table[GraphData[{"DiagonalIntersection",n},"StabilityIndex"],{n,3,14}]

seq[[2;;All;;2]]

TopologicalIndex

seq=Table[GraphData[{"DiagonalIntersection",n},"TopologicalIndex"],{n,3,14}]

FindSequenceFunction[seq,n-2]

gf=(x^3)FindGeneratingFunction[seq,x]

ToroidalCrossingNumber

seq=Table[GraphData[{"DiagonalIntersection",n},"ToroidalCrossingNumber"],{n,3,14}]

Traceable

Table[GraphData[{"DiagonalIntersection",n},"Traceable"],{n,3,14}]

Triameter

A302340

seq=Table[GraphData[{"DiagonalIntersection",n},"Triameter"],{n,3,14}]

FindSequenceFunction[seq,n-2]//Head//Timing

FindGeneratingFunction[seq,x]//Head//Timing

TriangleCount

A062361

seq=Table[GraphData[{"DiagonalIntersection",n},"TriangleCount"],{n,3,14}]

Head/@Table[FindSequenceFunction[Drop[seq,k],n-2-k],{k,0,2}]

Head/@Table[FindLinearRecurrence[Drop[seq,n]],{n,0,2}]

(x^2)FindGeneratingFunction[seq,x]

Formula at: https://cs.uwaterloo.ca/journals/JIS/sommars/newtriangle.html

TuttePolynomial

(poly=Factor@Table[GraphData[{"DiagonalIntersection",n},"TuttePolynomial"][x,y],{n,k0=3,14}])//Column

coef=Factor/@FindLinearRecurrence[poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

poly2=Table[(((x^n)+x (-1+y)-y)/(-1+x)),{n,3,14}]

FullSimplify[poly2-poly]

Untraceable

Table[GraphData[{"DiagonalIntersection",n},"Untraceable"],{n,3,14}]

VertexConnectivity

Table[GraphData[{"DiagonalIntersection",n},"VertexConnectivity"],{n,3,14}]

VertexCount

A007569

seq=Table[GraphData[{"DiagonalIntersection",n},"VertexCount"],{n,3,14}]

FindSequenceFunction[seq,n-2]//FullSimplify

del[m_,n_]:=Boole[Divisible[n,m]]

Int[n_]:=If[n<4,n,n+Binomial[n,4]+del[2,n](-5n^3+45n^2-70n+24)/24-del[4,n](3n/2)+del[6,n](-45n^2+262n)/6+del[12,n]*42n+del[18,n]*60n+del[24,n]*35n-del[30,n]*38n-del[42,n]*82n-del[60,n]*330n-del[84,n]*144n-del[90,n]*96n-del[120,n]*144n-del[210,n]*96n];

Int[n]/.HoldPattern[del[k_,n_]]:>Subscript[δ,n][k]//TraditionalForm

seq=Table[Int[n],{n,10}]

seq=Table[Int[n],{n,500}];//Timing

Monitor[Head/@Table[FindLinearRecurrence[Drop[seq,k]],{k,0,4}],k]//Union//Timing

FindGeneratingFunction[seq,x]//Head//Timing

VertexCoverCount

===IndependentVertexSetCount

A291948

seq=Table[GraphData[{"DiagonalIntersection",n},"VertexCoverCount"],{n,3,14}]

VertexCoverNumber

A296517

seq=Table[GraphData[{"DiagonalIntersection",n},"VertexCoverNumber"],{n,3,14}]

VertexCoverPolynomial

(poly=Factor@Table[GraphData[{"DiagonalIntersection",n},"VertexCoverPolynomial"],{n,k0=3,14}]/.f_Function:>f[x])//Column

coef=Factor/@FindLinearRecurrence[poly]

ToPolynomialRecurrence[p,x,n,coef]

FormattedPolynomialRecurrence[p,x,n,coef]//TraditionalForm

TeXForm[%]

LinearRecurrence[coef,poly,{2-k0,Length[coef]-k0+1}]

FullSimplify[RSolve[Prepend[Table[p[k+k0-1,x]==poly[[k]],{k,Length[coef]}],ToPolynomialRecurrence[p,x,n,coef]],p[n,x],n],n∈Integers&&n>0]

gf=Factor[(z^k0)FindGeneratingFunction[poly,z]]

FullSimplify[SeriesCoefficient[gf,{z,0,n}],n>0]

poly2=Table[(2^(-n)) ((((x-(Sqrt[x]) (Sqrt[4+x])))^n)+(((x+(Sqrt[x]) (Sqrt[4+x])))^n)),{n,3,14}]//Expand

FullSimplify[poly2-poly]

poly3=Table[(x^(n/2))LucasL[n,(Sqrt[x])],{n,3,14}]//Expand

FullSimplify[poly3-poly]

VertexDegrees

seq=Table[GraphData[{"DiagonalIntersection",n},"VertexDegrees"],{n,3,7}]//Column

WienerIndex

A291951

seq=Table[GraphData[{"DiagonalIntersection",n},"WienerIndex"],{n,3,14}]

FindSequenceFunction[seq,n-2]//FullSimplify

WienerSumIndex

seq=Table[GraphData[{"DiagonalIntersection",n},"WienerSumIndex"],{n,3,14}]

FindSequenceFunction[seq,n-2]

GraphData

GraphDataString

<<MathWorld`Graphs`

file=OpenWrite["~/diagonal-intersection.m"]

Do[WriteString[file,GraphDataString[gs[[n]],
"StandardName"->{"DiagonalIntersection",n},
"Name"->ToString[n]<>"\[Hyphen]diagonal intersection graph",
"Classes"->{"DiagonalIntersection","Noncirculant"},
"NotationRules"->{"DiagonalIntersection"->n},
"Skip"->{"Cactus","ClawFree","ComplementOddChordlessCycles","IndependencePolynomial","MatchingGeneratingPolynomial","StronglyPerfect"},
TimeConstraint->10
]],{n,6,14}]

Close[file]