Complete Tripartite Graph

Author

Eric W. Weisstein
July 10, 2024

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

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

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

Figure

GraphData

Built-in

GraphicsRow[CompleteGraph[#]&/@{{2,2,2},{3,2,2}}//StyleGraphs]

Embedding types

Default

Table[GraphData[{"CompleteTripartite",{1,1,n}}],{n,10}]

Circular

Table[GraphData[{"CompleteTripartite",{1,1,n}},"Graph","Circular"],{n,10}]

Planar

Table[GraphData[{"CompleteTripartite",{1,1,n}},"Graph","Planar"],{n,10}]

Special cases

Cone

TableForm[{GraphData[#,"Name"],"Cone"/.GraphData[#,"NotationRules"],Subscript[K,Sequence@@("CompleteTripartite"/.GraphData[#,"NotationRules"])]}&/@GraphData[{"CompleteTripartite","Cone"}],TableDepth->2]

Fan

TableForm[{GraphData[#,"Name"],"Fan"/.GraphData[#,"NotationRules"],Subscript[K,Sequence@@("CompleteTripartite"/.GraphData[#,"NotationRules"])]}&/@GraphData[{"CompleteTripartite","Fan"}],TableDepth->2]

Table

With[{prop="CompleteTripartite"},TextGrid[Sort[{Subscript[K,Sequence@@(prop/.GraphData[#,"NotationRules"])],GraphData[#,"Name"]}&/@DeleteCases[GraphData[prop],{prop,_}]],Dividers->All]]//TraditionalForm

Graphic

GraphicsGrid[Partition[Take[Show[GraphData[#],PlotLabel->Column[{Subscript[K,Sequence@@("CompleteTripartite"/.GraphData[#,"NotationRules"])],If[MatchQ[#,{"CompleteTripartite",_}],"",GraphData[#,"Name"]]}/.s_String:>Style[s,Italic],Alignment->Center]]&/@l,12],4],ImageSize->500]

Embeddings

<<MathWorld`Graphs`

GraphData["CompleteTripartite"]

Cases[GraphData["Cone"],{"CompleteTripartite",_}]

{"CompleteTripartite", {1, 1, 1}} == "TriangleGraph"

GraphData[{"CompleteTripartite",{1,1,1}},"StandardName"]

{"CompleteTripartite", {1, 1, 2}} == "DiamondGraph"

GraphData[{"CompleteTripartite",{1,1,2}},"StandardName"]

{"CompleteTripartite", {1, 1, 3}}

GraphData[{"CompleteTripartite",{1,1,3}},"StandardName"]

Primary

GraphData[{"CompleteTripartite",{1,1,3}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"CompleteTripartite",{1,1,3}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"CompleteTripartite",{1,1,3}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"CompleteTripartite",{1,1,3}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"CompleteTripartite",{1,1,3}},"Edges"]

v=Join[UnitCirclePoints[3],{#/4,1/8}&/@{-1,1}];
g=Graph[Range[Length[v]],UndirectedEdge@@@{e[1,4,5,3,4,2,5,1]},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"CompleteTripartite",{1,1,3}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"CompleteTripartite",{1,1,3}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"CompleteTripartite",{1,1,3}},"Graph","Circular"]//StyleGraphs

Circular construction

g=CompleteGraph1[1,1,3,GraphLayout->"CircularEmbedding"]

Planar

GraphData[{"CompleteTripartite",{1,1,3}},"Planar"]

GraphData[{"CompleteTripartite",{1,1,3}},"Graph","Planar"]//StyleGraphs

Planar construction

CompleteGraph1[1,1,3,GraphLayout->"PlanarEmbedding"]

GraphPlot@PlanarGraph[GraphData[{"CompleteTripartite",{1,1,3}},"Edges"]]

Circulant

GraphData[{"CompleteTripartite",{1,1,3}},"Circulant"]

GraphData[{"CompleteTripartite",{1,1,3}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"CompleteTripartite",{1,1,3}},"Halin"]

GraphData[{"CompleteTripartite",{1,1,3}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"CompleteTripartite",{1,1,3}},"LCF"]

GraphData[{"CompleteTripartite",{1,1,3}},"HamiltonianCycleCount"]

GraphData[{"CompleteTripartite",{1,1,3}},"LCFSignature"]

GraphData[{"CompleteTripartite",{1,1,3}},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"CompleteTripartite",{1,1,3}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"CompleteTripartite",{1,1,3}}],Debug->True]//Timing

GraphData[{"CompleteTripartite",{1,1,3}},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"CompleteTripartite",{1,1,3}},"VertexList"],GraphData[{"CompleteTripartite",{1,1,3}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"CompleteTripartite",{1,1,3}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"CompleteTripartite",{1,1,3}},"Matchstick"]

GraphData[{"CompleteTripartite",{1,1,3}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"CompleteTripartite",{1,1,3}},"Edges"]]

g=ConeGraph[Sequence@@GraphData[{"CompleteTripartite",{1,1,3}},"NotationRules","Cone"],GraphLayout->"3D"]

RecognizeGraph@g

3D All

GraphData[{"CompleteTripartite",{1,1,3}},"Graph",{"3D","All"}]

g=CompleteGraph1[1,1,3,GraphLayout->"3D"]

RecognizeGraph@g

UnitDistanceGraphEmbeddingQ@g

3D UnitDistance

GraphData[{"CompleteTripartite",{1,1,3}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"CompleteTripartite",{1,1,3}},"Polyhedral"]

GraphData[{"CompleteTripartite",{1,1,3}},"Graph",{"3D","Polyhedron"}]

{"CompleteTripartite", {1, 1, 4}}

GraphData[{"CompleteTripartite",{1,1,4}},"StandardName"]

Primary

GraphData[{"CompleteTripartite",{1,1,4}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"CompleteTripartite",{1,1,4}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"CompleteTripartite",{1,1,4}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"CompleteTripartite",{1,1,4}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"CompleteTripartite",{1,1,4}},"Edges"]

v=Join[UnitCirclePoints[4],{0,#/6}&/@{-1,1}];
g=Graph[Range[Length[v]],UndirectedEdge@@@{e[5,1,6,5,2,6,3,5,4,6]},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"CompleteTripartite",{1,1,4}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"CompleteTripartite",{1,1,4}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"CompleteTripartite",{1,1,4}},"Graph","Circular"]//StyleGraphs

Circular construction

g=CompleteGraph1[1,1,4,GraphLayout->"CircularEmbedding"]

Planar

GraphData[{"CompleteTripartite",{1,1,4}},"Planar"]

GraphData[{"CompleteTripartite",{1,1,4}},"Graph","Planar"]//StyleGraphs

Planar construction

g=CompleteGraph1[1,1,4,GraphLayout->"PlanarEmbedding"]

Circulant

GraphData[{"CompleteTripartite",{1,1,4}},"Circulant"]

GraphData[{"CompleteTripartite",{1,1,4}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"CompleteTripartite",{1,1,4}},"Halin"]

GraphData[{"CompleteTripartite",{1,1,4}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"CompleteTripartite",{1,1,4}},"LCF"]

GraphData[{"CompleteTripartite",{1,1,4}},"HamiltonianCycleCount"]

GraphData[{"CompleteTripartite",{1,1,4}},"LCFSignature"]

GraphData[{"CompleteTripartite",{1,1,4}},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"CompleteTripartite",{1,1,4}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"CompleteTripartite",{1,1,4}}],Debug->True]//Timing

GraphData[{"CompleteTripartite",{1,1,4}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"CompleteTripartite",{1,1,4}},"VertexList"],GraphData[{"CompleteTripartite",{1,1,4}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"CompleteTripartite",{1,1,4}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"CompleteTripartite",{1,1,4}},"Matchstick"]

GraphData[{"CompleteTripartite",{1,1,4}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"CompleteTripartite",{1,1,4}},"Edges"]]

g=CompleteGraph1[1,1,4,GraphLayout->"3D"]

RecognizeGraph@g

UnitDistanceGraphEmbeddingQ@g

3D All

GraphData[{"CompleteTripartite",{1,1,4}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"CompleteTripartite",{1,1,4}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"CompleteTripartite",{1,1,4}},"Polyhedral"]

GraphData[{"CompleteTripartite",{1,1,4}},"Graph",{"3D","Polyhedron"}]

{"CompleteTripartite", {1, 1, 5}}

GraphData[{"CompleteTripartite",{1,1,5}},"StandardName"]

Primary

GraphData[{"CompleteTripartite",{1,1,5}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"CompleteTripartite",{1,1,5}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"CompleteTripartite",{1,1,5}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"CompleteTripartite",{1,1,5}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"CompleteTripartite",{1,1,5}},"Edges"]

RotateGraph[GraphicsToGraph@,Pi]

v=Join[UnitCirclePoints[5],{#/4,0}&/@{-1,1}];
g=Graph[Range[Length[v]],UndirectedEdge@@@{e[1,7,6,5,7,2,6,4,7,3,6,1]},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"CompleteTripartite",{1,1,5}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"CompleteTripartite",{1,1,5}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"CompleteTripartite",{1,1,5}},"Graph","Circular"]//StyleGraphs

Circular construction

g=CompleteGraph1[1,1,5,GraphLayout->"CircularEmbedding"]

Planar

GraphData[{"CompleteTripartite",{1,1,5}},"Planar"]

GraphData[{"CompleteTripartite",{1,1,5}},"Graph","Planar"]//StyleGraphs

Planar construction

g=CompleteGraph1[1,1,5,GraphLayout->"PlanarEmbedding"]

Circulant

GraphData[{"CompleteTripartite",{1,1,5}},"Circulant"]

GraphData[{"CompleteTripartite",{1,1,5}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"CompleteTripartite",{1,1,5}},"Halin"]

GraphData[{"CompleteTripartite",{1,1,5}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"CompleteTripartite",{1,1,5}},"LCF"]

GraphData[{"CompleteTripartite",{1,1,5}},"HamiltonianCycleCount"]

GraphData[{"CompleteTripartite",{1,1,5}},"LCFSignature"]

GraphData[{"CompleteTripartite",{1,1,5}},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"CompleteTripartite",{1,1,5}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"CompleteTripartite",{1,1,5}}],Debug->True]//Timing

GraphData[{"CompleteTripartite",{1,1,5}},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"CompleteTripartite",{1,1,5}},"VertexList"],GraphData[{"CompleteTripartite",{1,1,5}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"CompleteTripartite",{1,1,5}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"CompleteTripartite",{1,1,5}},"Matchstick"]

GraphData[{"CompleteTripartite",{1,1,5}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"CompleteTripartite",{1,1,5}},"Edges"]]

3D All

GraphData[{"CompleteTripartite",{1,1,5}},"Graph",{"3D","All"}]

g=CompleteGraph1[1,1,5,GraphLayout->"3D"]

RecognizeGraph@g

UnitDistanceGraphEmbeddingQ@g

3D UnitDistance

GraphData[{"CompleteTripartite",{1,1,5}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"CompleteTripartite",{1,1,5}},"Polyhedral"]

GraphData[{"CompleteTripartite",{1,1,5}},"Graph",{"3D","Polyhedron"}]

Graphics3D[{FaceForm[Green,Red],GraphData[{"CompleteTripartite",{1,1,5}},"Polyhedron"]}]

{"CompleteTripartite", {1, 1, 6}}

Names

GraphData[{"CompleteTripartite",{1,1,6}},"StandardName"]

GraphData[{"CompleteTripartite",{1,1,6}},"StandardNames"]

Primary

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

All

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

Inexact

Select[GraphData[{"CompleteTripartite",{1,1,6}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"CompleteTripartite",{1,1,6}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"CompleteTripartite",{1,1,6}},"Edges"]

v=Join[UnitCirclePoints[6,Pi/2],{#/4,0}&/@{-1,1}];
g=Graph[Range[Length[v]],UndirectedEdge@@@{e[7,4,8,5,7,6,8,1,7,2,8,3,7,8]},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"CompleteTripartite",{1,1,6}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"CompleteTripartite",{1,1,6}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"CompleteTripartite",{1,1,6}},"Graph","Circular"]//StyleGraphs

Circular construction

g=CompleteGraph1[1,1,6,GraphLayout->"CircularEmbedding"]

Planar

GraphData[{"CompleteTripartite",{1,1,6}},"Planar"]

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

PlanarGraphEmbeddings

PlanarGraphEmbeddings[GraphData[{"CompleteTripartite",{1,1,6}}]]

GraphPlot@

v=Join[{{-1,0},{1,0},{0,Sqrt[3]},{0,0}},{# 1/2,1/3}&/@{-1,1},{#/4,2/3}&/@{-1,1}];
g=Graph[Range@Length@v,UndirectedEdge@@@{e[1,4,2,3,1],e[4,6,3,5,4,8,3,7,4,3]},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph@g

Planar construction

g=CompleteGraph1[1,1,6,GraphLayout->"PlanarEmbedding"]

Circulant

GraphData[{"CompleteTripartite",{1,1,6}},"Circulant"]

GraphData[{"CompleteTripartite",{1,1,6}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"CompleteTripartite",{1,1,6}},"Halin"]

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

LCF

GraphData[{"CompleteTripartite",{1,1,6}},"LCF"]

GraphData[{"CompleteTripartite",{1,1,6}},"HamiltonianCycleCount"]

GraphData[{"CompleteTripartite",{1,1,6}},"LCFSignature"]

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

UnitDistance

GraphData[{"CompleteTripartite",{1,1,6}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"CompleteTripartite",{1,1,6}},"VertexList"],GraphData[{"CompleteTripartite",{1,1,6}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"CompleteTripartite",{1,1,6}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"CompleteTripartite",{1,1,6}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"CompleteTripartite",{1,1,6}},"Edges"]]

g=CompleteGraph1[1,1,6,GraphLayout->"3D"]

RecognizeGraph@g

UnitDistanceGraphEmbeddingQ@g

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"CompleteTripartite",{1,1,6}},"Polyhedral"]

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

{"CompleteTripartite", {1, 1, 7}}

GraphData[{"CompleteTripartite",{1,1,7}},"StandardName"]

Primary

GraphData[{"CompleteTripartite",{1,1,7}}]//StyleGraphs[#,ImageSize->Small]&

All

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

Inexact

Select[GraphData[{"CompleteTripartite",{1,1,7}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"CompleteTripartite",{1,1,7}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"CompleteTripartite",{1,1,7}},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"CompleteTripartite",{1,1,7}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"CompleteTripartite",{1,1,7}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"CompleteTripartite",{1,1,7}},"Graph","Circular"]//StyleGraphs

Circular construction

g=CompleteGraph1[1,1,7,GraphLayout->"CircularEmbedding"]

Planar

GraphData[{"CompleteTripartite",{1,1,7}},"Planar"]

GraphData[{"CompleteTripartite",{1,1,7}},"Graph","Planar"]//StyleGraphs

Planar construction

g=CompleteGraph1[1,1,7,GraphLayout->"PlanarEmbedding"]

Circulant

GraphData[{"CompleteTripartite",{1,1,7}},"Circulant"]

GraphData[{"CompleteTripartite",{1,1,7}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"CompleteTripartite",{1,1,7}},"Halin"]

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

LCF

GraphData[{"CompleteTripartite",{1,1,7}},"LCF"]

GraphData[{"CompleteTripartite",{1,1,7}},"HamiltonianCycleCount"]

GraphData[{"CompleteTripartite",{1,1,7}},"LCFSignature"]

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

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

UnitDistance

GraphData[{"CompleteTripartite",{1,1,7}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"CompleteTripartite",{1,1,7}},"VertexList"],GraphData[{"CompleteTripartite",{1,1,7}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"CompleteTripartite",{1,1,7}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"CompleteTripartite",{1,1,7}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"CompleteTripartite",{1,1,7}},"Edges"]]

g=CompleteGraph1[1,1,7,GraphLayout->"3D"]

RecognizeGraph@g

UnitDistanceGraphEmbeddingQ@g

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"CompleteTripartite",{1,1,7}},"Polyhedral"]

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

{"CompleteTripartite", {1, 1, 8}}

GraphData[{"CompleteTripartite",{1,1,8}},"StandardName"]

Primary

GraphData[{"CompleteTripartite",{1,1,8}}]//StyleGraphs[#,ImageSize->Small]&

All

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

Inexact

Select[GraphData[{"CompleteTripartite",{1,1,8}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"CompleteTripartite",{1,1,8}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"CompleteTripartite",{1,1,8}},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"CompleteTripartite",{1,1,8}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"CompleteTripartite",{1,1,8}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"CompleteTripartite",{1,1,8}},"Graph","Circular"]//StyleGraphs

Circular construction

g=CompleteGraph1[1,1,8,GraphLayout->"CircularEmbedding"]

Planar

GraphData[{"CompleteTripartite",{1,1,8}},"Planar"]

GraphData[{"CompleteTripartite",{1,1,8}},"Graph","Planar"]//StyleGraphs

Planar construction

g=CompleteGraph1[1,1,8,GraphLayout->"PlanarEmbedding"]

Circulant

GraphData[{"CompleteTripartite",{1,1,8}},"Circulant"]

GraphData[{"CompleteTripartite",{1,1,8}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"CompleteTripartite",{1,1,8}},"Halin"]

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

LCF

GraphData[{"CompleteTripartite",{1,1,8}},"LCF"]

GraphData[{"CompleteTripartite",{1,1,8}},"HamiltonianCycleCount"]

GraphData[{"CompleteTripartite",{1,1,8}},"LCFSignature"]

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

UnitDistance

GraphData[{"CompleteTripartite",{1,1,8}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"CompleteTripartite",{1,1,8}},"VertexList"],GraphData[{"CompleteTripartite",{1,1,8}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"CompleteTripartite",{1,1,8}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"CompleteTripartite",{1,1,8}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"CompleteTripartite",{1,1,8}},"Edges"]]

g=CompleteGraph1[1,1,8,GraphLayout->"3D"]

RecognizeGraph@g

UnitDistanceGraphEmbeddingQ@g

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"CompleteTripartite",{1,1,8}},"Polyhedral"]

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

{"CompleteTripartite", {1, 1, 9}}

GraphData[{"CompleteTripartite",{1,1,9}},"StandardName"]

Primary

GraphData[{"CompleteTripartite",{1,1,9}}]//StyleGraphs[#,ImageSize->Small]&

All

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

Inexact

Select[GraphData[{"CompleteTripartite",{1,1,9}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"CompleteTripartite",{1,1,9}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"CompleteTripartite",{1,1,9}},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"CompleteTripartite",{1,1,9}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"CompleteTripartite",{1,1,9}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"CompleteTripartite",{1,1,9}},"Graph","Circular"]//StyleGraphs

Circular construction

g=CompleteGraph1[1,1,9,GraphLayout->"CircularEmbedding"]

Planar

GraphData[{"CompleteTripartite",{1,1,9}},"Planar"]

GraphData[{"CompleteTripartite",{1,1,9}},"Graph","Planar"]//StyleGraphs

Planar construction

g=CompleteGraph1[1,1,9,GraphLayout->"PlanarEmbedding"]

Circulant

GraphData[{"CompleteTripartite",{1,1,9}},"Circulant"]

GraphData[{"CompleteTripartite",{1,1,9}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"CompleteTripartite",{1,1,9}},"Halin"]

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

LCF

GraphData[{"CompleteTripartite",{1,1,9}},"LCF"]

GraphData[{"CompleteTripartite",{1,1,9}},"HamiltonianCycleCount"]

GraphData[{"CompleteTripartite",{1,1,9}},"LCFSignature"]

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

UnitDistance

GraphData[{"CompleteTripartite",{1,1,9}},"UnitDistance"]

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"CompleteTripartite",{1,1,9}},"VertexList"],GraphData[{"CompleteTripartite",{1,1,9}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"CompleteTripartite",{1,1,9}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"CompleteTripartite",{1,1,9}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"CompleteTripartite",{1,1,9}},"Edges"]]

g=CompleteGraph1[1,1,9,GraphLayout->"3D"]

RecognizeGraph@g

UnitDistanceGraphEmbeddingQ@g

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"CompleteTripartite",{1,1,9}},"Polyhedral"]

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

{"CompleteTripartite", {1, 1, 10}}

GraphData[{"CompleteTripartite",{1,1,10}},"StandardName"]

Primary

GraphData[{"CompleteTripartite",{1,1,10}}]//StyleGraphs[#,ImageSize->Small]&

All

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

Inexact

Select[GraphData[{"CompleteTripartite",{1,1,10}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"CompleteTripartite",{1,1,10}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"CompleteTripartite",{1,1,10}},"Edges"]

ee=Partition[Riffle[Range[10],{11,12}],2,1]

v=Join[UnitCirclePoints[10,Pi/2],{#/4,0}&/@{-1,1}];
g=Graph[Range[Length[v]],UndirectedEdge@@@Join[ee,{e[1,12,10],{11,12}}],VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph@g

Degenerate

GraphData[{"CompleteTripartite",{1,1,10}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"CompleteTripartite",{1,1,10}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"CompleteTripartite",{1,1,10}},"Graph","Circular"]//StyleGraphs

Circular construction

g=CompleteGraph1[1,1,10,GraphLayout->"CircularEmbedding"]

Planar

GraphData[{"CompleteTripartite",{1,1,10}},"Planar"]

GraphData[{"CompleteTripartite",{1,1,10}},"Graph","Planar"]//StyleGraphs

Planar construction

g=CompleteGraph1[1,1,10,GraphLayout->"PlanarEmbedding"]

Circulant

GraphData[{"CompleteTripartite",{1,1,10}},"Circulant"]

GraphData[{"CompleteTripartite",{1,1,10}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"CompleteTripartite",{1,1,10}},"Halin"]

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

LCF

GraphData[{"CompleteTripartite",{1,1,10}},"LCF"]

GraphData[{"CompleteTripartite",{1,1,10}},"HamiltonianCycleCount"]

GraphData[{"CompleteTripartite",{1,1,10}},"LCFSignature"]

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

UnitDistance

GraphData[{"CompleteTripartite",{1,1,10}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"CompleteTripartite",{1,1,10}},"VertexList"],GraphData[{"CompleteTripartite",{1,1,10}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"CompleteTripartite",{1,1,10}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"CompleteTripartite",{1,1,10}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"CompleteTripartite",{1,1,10}},"Edges"]]

g=CompleteGraph1[1,1,10,GraphLayout->"3D"]

RecognizeGraph@g

UnitDistanceGraphEmbeddingQ@g

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"CompleteTripartite",{1,1,10}},"Polyhedral"]

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

{"CompleteTripartite", {1, 2, 5}}

Names

GraphData[{"CompleteTripartite",{1,2,5}},"StandardName"]

GraphData[{"CompleteTripartite",{1,2,5}},"StandardNames"]

Primary

GraphData[{"CompleteTripartite",{1,2,5}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"CompleteTripartite",{1,2,5}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"CompleteTripartite",{1,2,5}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"CompleteTripartite",{1,2,5}},"EdgeList"]]

Default embedding

RotateGraph[Graph@GraphData[{"CompleteTripartite",{1,2,5}},"Edges"],Pi/2]

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

RecognizeGraph@g

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

RecognizeGraph[g]

gs=UnlabelGraph/@{,}

Degenerate

GraphData[{"CompleteTripartite",{1,2,5}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"CompleteTripartite",{1,2,5}},"Graph","Degenerate"]

Configuration

GraphData[{"CompleteTripartite",{1,2,5}},"Configuration"]

GraphData[{"CompleteTripartite",{1,2,5}},"Graph","Configuration"]//StyleGraphs

Perspective

GraphData[{"CompleteTripartite",{1,2,5}},"Graph","Perspective"]//StyleGraphs

HoneycombToroidal construction

GraphData[{"CompleteTripartite",{1,2,5}},"NotationRules","HoneycombToroidal"]

GeneralizedPetersen

GraphData[{"CompleteTripartite",{1,2,5}},"Graph","GeneralizedPetersen"]//StyleGraphs

IGraph

GraphData[{"CompleteTripartite",{1,2,5}},"Graph","IGraph"]//StyleGraphs

Bilateral

GraphData[{"CompleteTripartite",{1,2,5}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"CompleteTripartite",{1,2,5}},"Graph","Circular"]//StyleGraphs

Circular construction

GraphData[{"CompleteTripartite",{1,2,5}},"Hamiltonian"]

GraphData[{"CompleteTripartite",{1,2,5}},"HamiltonianCycleCount"]

Planar

GraphData[{"CompleteTripartite",{1,2,5}},"Planar"]

GraphData[{"CompleteTripartite",{1,2,5}},"Graph","Planar"]//StyleGraphs

MinimalLocalCrossing

GraphData[{"CompleteTripartite",{1,2,5}},"LocalCrossingNumber"]

GraphData[{"CompleteTripartite",{1,2,5}},"Graph","MinimalLocalCrossing"]//StyleGraphs

MinimalLocalCrossing construction

GraphPlot@

g=GraphicsToGraph@

LocalCrossingCount@g

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

RecognizeGraph@g

LocalCrossingCount@g

MinimalCrossing

GraphData[{"CompleteTripartite",{1,2,5}},{"RCN","CN"}]

GraphData[{"CompleteTripartite",{1,2,5}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{1,2,5}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{1,2,5}}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{1,2,5}}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{1,2,5}}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{1,2,5}}],TimeConstraint->5 3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{1,2,5}}],TimeConstraint->86400])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"CompleteTripartite",{1,2,5}}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"CompleteTripartite",{1,2,5}}],"CrossingNumber"->cn,RandomSeed->n]],{n,50}],Max[OuterFace[#]]<=GraphData[{"CompleteTripartite",{1,2,5}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"CompleteTripartite",{1,2,5}}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union//Timing

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"CompleteTripartite",{1,2,5}},"Circulant"]

GraphData[{"CompleteTripartite",{1,2,5}},"Graph","Circulant"]//StyleGraphs

Complement graph

compl=GraphData[{"CompleteTripartite",{1,2,5}},"ComplementGraph","Name"]

GraphData[compl,"Graph","All"]

gs=GraphComplement/@%

Line graph

GraphData[{"CompleteTripartite",{1,2,5}},"Line"]

LineGraphQ[GraphData[{"CompleteTripartite",{1,2,5}}]]//Timing

RootGraph

roots=Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"CompleteTripartite",{1,2,5}}&]

RootGraph[GraphData[{"CompleteTripartite",{1,2,5}}]]

RecognizeGraph[%]

Halin

GraphData[{"CompleteTripartite",{1,2,5}},"Halin"]

GraphData[{"CompleteTripartite",{1,2,5}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"CompleteTripartite",{1,2,5}},"Rigid"]

GraphData[{"CompleteTripartite",{1,2,5}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"CompleteTripartite",{1,2,5}},"Flexible"]

GraphData[{"CompleteTripartite",{1,2,5}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"CompleteTripartite",{1,2,5}},"LCF"]

GraphData[{"CompleteTripartite",{1,2,5}},"HamiltonianCycleCount"]

GraphData[{"CompleteTripartite",{1,2,5}},"LCFSignature"]

GraphData[{"CompleteTripartite",{1,2,5}},"LCFNotations"]

GraphData[{"CompleteTripartite",{1,2,5}},"Graph","LCF"]//StyleGraphs

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

UnitDistance

GraphData[{"CompleteTripartite",{1,2,5}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"CompleteTripartite",{1,2,5}}],Debug->True]//Timing

GraphData[{"CompleteTripartite",{1,2,5}},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"CompleteTripartite",{1,2,5}},"VertexList"],GraphData[{"CompleteTripartite",{1,2,5}},"EdgeList"]],MaxIterations->500]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"CompleteTripartite",{1,2,5}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"CompleteTripartite",{1,2,5}},"Matchstick"]

GraphData[{"CompleteTripartite",{1,2,5}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"CompleteTripartite",{1,2,5}},"Edges"]]

3D All

GraphData[{"CompleteTripartite",{1,2,5}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"CompleteTripartite",{1,2,5}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"CompleteTripartite",{1,2,5}},"Polyhedral"]

GraphData[{"CompleteTripartite",{1,2,5}},"Graph",{"3D","Polyhedron"}]

{"CompleteTripartite", {1, 2, 6}}

Names

GraphData[{"CompleteTripartite",{1,2,6}},"StandardName"]

GraphData[{"CompleteTripartite",{1,2,6}},"StandardNames"]

Primary

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

All

GraphData[{"CompleteTripartite",{1,2,6}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"CompleteTripartite",{1,2,6}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"CompleteTripartite",{1,2,6}},"EdgeList"]]

Default embedding

RotateGraph[Graph[GraphData[{"CompleteTripartite",{1,2,6}},"Edges"],GraphLayout->"SpringEmbedding"],Pi/6]

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

RecognizeGraph[g]

DegenerateGraphEmbeddingTypes[g]

Degenerate

GraphData[{"CompleteTripartite",{1,2,6}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"CompleteTripartite",{1,2,6}},"Graph","Degenerate"]

Configuration

GraphData[{"CompleteTripartite",{1,2,6}},"Configuration"]

GraphData[{"CompleteTripartite",{1,2,6}},"Graph","Configuration"]//StyleGraphs

Perspective

GraphData[{"CompleteTripartite",{1,2,6}},"Graph","Perspective"]//StyleGraphs

HoneycombToroidal construction

GraphData[{"CompleteTripartite",{1,2,6}},"NotationRules","HoneycombToroidal"]

GeneralizedPetersen

GraphData[{"CompleteTripartite",{1,2,6}},"Graph","GeneralizedPetersen"]//StyleGraphs

IGraph

GraphData[{"CompleteTripartite",{1,2,6}},"Graph","IGraph"]//StyleGraphs

Bilateral

GraphData[{"CompleteTripartite",{1,2,6}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"CompleteTripartite",{1,2,6}},"Graph","Circular"]//StyleGraphs

Circular construction

GraphData[{"CompleteTripartite",{1,2,6}},"Hamiltonian"]

GraphData[{"CompleteTripartite",{1,2,6}},"HamiltonianCycleCount"]

Planar

GraphData[{"CompleteTripartite",{1,2,6}},"Planar"]

GraphData[{"CompleteTripartite",{1,2,6}},"Graph","Planar"]//StyleGraphs

MinimalLocalCrossing

GraphData[{"CompleteTripartite",{1,2,6}},"LocalCrossingNumber"]

Czap, Július; Hudák, Dávid, "1-planarity of complete multipartite graphs", Discrete Applied Mathematics, 160 (4–5): 505–512, 2012.  https://doi.org/10.1016/j.dam.2011.11.014

MinimalLocalCrossing construction

GraphPlot@GraphData[{"CompleteTripartite",{1,2,6}},"Edges"]

MinimalCrossing

GraphData[{"CompleteTripartite",{1,2,6}},{"RCN","CN"}]

GraphData[{"CompleteTripartite",{1,2,6}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{1,2,6}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{1,2,6}}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{1,2,6}}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{1,2,6}}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{1,2,6}}],TimeConstraint->5 3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{1,2,6}}],TimeConstraint->86400])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"CompleteTripartite",{1,2,6}}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"CompleteTripartite",{1,2,6}}],"CrossingNumber"->cn,RandomSeed->n]],{n,1000}],Max[OuterFace[#]]<=GraphData[{"CompleteTripartite",{1,2,6}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"CompleteTripartite",{1,2,6}}],"CrossingNumber"->cn,RandomSeed->i],{i,1000}]//Union//Timing

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"CompleteTripartite",{1,2,6}},"Circulant"]

GraphData[{"CompleteTripartite",{1,2,6}},"Graph","Circulant"]//StyleGraphs

Complement graph

compl=GraphData[{"CompleteTripartite",{1,2,6}},"ComplementGraph","Name"]

Line graph

GraphData[{"CompleteTripartite",{1,2,6}},"Line"]

LineGraphQ[GraphData[{"CompleteTripartite",{1,2,6}}]]//Timing

RootGraph

roots=Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"CompleteTripartite",{1,2,6}}&]

RootGraph[GraphData[{"CompleteTripartite",{1,2,6}}]]

Halin

GraphData[{"CompleteTripartite",{1,2,6}},"Halin"]

GraphData[{"CompleteTripartite",{1,2,6}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"CompleteTripartite",{1,2,6}},"Rigid"]

GraphData[{"CompleteTripartite",{1,2,6}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"CompleteTripartite",{1,2,6}},"Flexible"]

GraphData[{"CompleteTripartite",{1,2,6}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"CompleteTripartite",{1,2,6}},"LCF"]

GraphData[{"CompleteTripartite",{1,2,6}},"HamiltonianCycleCount"]

GraphData[{"CompleteTripartite",{1,2,6}},"LCFSignature"]

GraphData[{"CompleteTripartite",{1,2,6}},"LCFNotations"]

GraphData[{"CompleteTripartite",{1,2,6}},"Graph","LCF"]//StyleGraphs

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

UnitDistance

GraphData[{"CompleteTripartite",{1,2,6}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"CompleteTripartite",{1,2,6}}],Debug->True]//Timing

GraphData[{"CompleteTripartite",{1,2,6}},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"CompleteTripartite",{1,2,6}},"VertexList"],GraphData[{"CompleteTripartite",{1,2,6}},"EdgeList"]],MaxIterations->500]

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

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"CompleteTripartite",{1,2,6}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"CompleteTripartite",{1,2,6}},"Matchstick"]

GraphData[{"CompleteTripartite",{1,2,6}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"CompleteTripartite",{1,2,6}},"Edges"]]

3D All

GraphData[{"CompleteTripartite",{1,2,6}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"CompleteTripartite",{1,2,6}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"CompleteTripartite",{1,2,6}},"Polyhedral"]

GraphData[{"CompleteTripartite",{1,2,6}},"Graph",{"3D","Polyhedron"}]

Graphics3D[{FaceForm[Green,Red],GraphData[{"CompleteTripartite",{1,2,6}},"Polyhedron"]}]

{"CompleteTripartite", {1, 3, 3}}

Names

GraphData[{"CompleteTripartite",{1,3,3}},"StandardName"]

GraphData[{"CompleteTripartite",{1,3,3}},"StandardNames"]

Primary

GraphData[{"CompleteTripartite",{1,3,3}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"CompleteTripartite",{1,3,3}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"CompleteTripartite",{1,3,3}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"CompleteTripartite",{1,3,3}},"EdgeList"]]

Default embedding

GraphPlot@RotateGraph[Graph@GraphData[{"CompleteTripartite",{1,3,3}},"Edges"],-Pi/2]

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

RecognizeGraph[g]

Degenerate

GraphData[{"CompleteTripartite",{1,3,3}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"CompleteTripartite",{1,3,3}},"Graph","Degenerate"]

Configuration

GraphData[{"CompleteTripartite",{1,3,3}},"Configuration"]

GraphData[{"CompleteTripartite",{1,3,3}},"Graph","Configuration"]//StyleGraphs

HoneycombToroidal construction

GraphData[{"CompleteTripartite",{1,3,3}},"NotationRules","HoneycombToroidal"]

GeneralizedPetersen

GraphData[{"CompleteTripartite",{1,3,3}},"Graph","GeneralizedPetersen"]//StyleGraphs

IGraph

GraphData[{"CompleteTripartite",{1,3,3}},"Graph","IGraph"]//StyleGraphs

Bilateral

GraphData[{"CompleteTripartite",{1,3,3}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"CompleteTripartite",{1,3,3}},"Graph","Circular"]//StyleGraphs

Circular construction

GraphData[{"CompleteTripartite",{1,3,3}},"Hamiltonian"]

GraphData[{"CompleteTripartite",{1,3,3}},"HamiltonianCycleCount"]

Length[hc=FindHamiltonianCycle[GraphData[{"CompleteTripartite",{1,3,3}}],All][[All,All,1]]]

circ=CircularEmbeddingFromHamiltonianCycle[GraphData[{"CompleteTripartite",{1,3,3}}],#]&/@hc

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

gs=bilat

Length[quad=DeleteDuplicatesBy[Union@Select[bilat,BilateralGraphEmbeddingQ[#,Axis->"X"]&],CircularCanonicalGraphEmbedding[#,4]&]]

quad

Planar

GraphData[{"CompleteTripartite",{1,3,3}},"Planar"]

GraphData[{"CompleteTripartite",{1,3,3}},"Graph","Planar"]//StyleGraphs

MinimalLocalCrossing

Czap, Július; Hudák, Dávid (2012), "1-planarity of complete multipartite graphs", Discrete Applied Mathematics, 160 (4–5): 505–512, doi:10.1016/j.dam.2011.11.014, MR 2876333.

GraphData[{"CompleteTripartite",{1,3,3}},"LocalCrossingNumber"]

GraphData[{"CompleteTripartite",{1,3,3}},"Graph","MinimalLocalCrossing"]//StyleGraphs

MinimalCrossing

GraphData[{"CompleteTripartite",{1,3,3}},{"RCN","CN"}]

GraphData[{"CompleteTripartite",{1,3,3}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{1,3,3}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{1,3,3}}],TimeConstraint->10])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{1,3,3}}],TimeConstraint->60])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{1,3,3}}],TimeConstraint->3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{1,3,3}}],TimeConstraint->5 3600])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{1,3,3}}],TimeConstraint->86400])//AbsoluteTiming

(g=MinimalCrossingGraph[GraphData[{"CompleteTripartite",{1,3,3}}],"CrossingNumber"->cn])//PolyhedralGraphQ

faces=ReverseSort@SymmetricallyDistinctFaces[g]

Tally[ReverseSort[Length/@faces]]

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

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

Table[MinimalCrossingGraph[GraphData[{"CompleteTripartite",{1,3,3}}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union//Timing

GraphPlot@RotateGraph[,-Pi/4]

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"CompleteTripartite",{1,3,3}},"Circulant"]

GraphData[{"CompleteTripartite",{1,3,3}},"Graph","Circulant"]//StyleGraphs

Circulant construction

GraphData[{"CompleteTripartite",{1,3,3}},"NotationRules","Circulant"]

(ci=CirculantIndices[GraphData[{"CompleteTripartite",{1,3,3}}]])//Timing

CirculantGraph1@@@ci

Complement graph

compl=GraphData[{"CompleteTripartite",{1,3,3}},"ComplementGraph","Name"]

GraphData[compl,"Graph","All"]

gs=GraphComplement/@%

Line graph

GraphData[{"CompleteTripartite",{1,3,3}},"Line"]

LineGraphQ[GraphData[{"CompleteTripartite",{1,3,3}}]]//Timing

RootGraph

roots=Select[GraphData[All],GraphData[#,"LineGraph","Name"]=== {"CompleteTripartite",{1,3,3}}&]

RootGraph[GraphData[{"CompleteTripartite",{1,3,3}}]]

RecognizeGraph[%]

Halin

GraphData[{"CompleteTripartite",{1,3,3}},"Halin"]

GraphData[{"CompleteTripartite",{1,3,3}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"CompleteTripartite",{1,3,3}},"Rigid"]

GraphData[{"CompleteTripartite",{1,3,3}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"CompleteTripartite",{1,3,3}},"Flexible"]

GraphData[{"CompleteTripartite",{1,3,3}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"CompleteTripartite",{1,3,3}},"LCF"]

GraphData[{"CompleteTripartite",{1,3,3}},"HamiltonianCycleCount"]

GraphData[{"CompleteTripartite",{1,3,3}},"LCFSignature"]

GraphData[{"CompleteTripartite",{1,3,3}},"LCFNotations"]

GraphData[{"CompleteTripartite",{1,3,3}},"Graph","LCF"]//StyleGraphs

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

UnitDistance

GraphData[{"CompleteTripartite",{1,3,3}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"CompleteTripartite",{1,3,3}}],Debug->True]//Timing

GraphData[{"CompleteTripartite",{1,3,3}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"CompleteTripartite",{1,3,3}},"VertexList"],GraphData[{"CompleteTripartite",{1,3,3}},"EdgeList"]],MaxIterations->500]

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

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"CompleteTripartite",{1,3,3}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"CompleteTripartite",{1,3,3}},"Matchstick"]

GraphData[{"CompleteTripartite",{1,3,3}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"CompleteTripartite",{1,3,3}},"Edges"]]

3D All

GraphData[{"CompleteTripartite",{1,3,3}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"CompleteTripartite",{1,3,3}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"CompleteTripartite",{1,3,3}},"Polyhedral"]

GraphData[{"CompleteTripartite",{1,3,3}},"Graph",{"3D","Polyhedron"}]

{"CompleteTripartite", {1, 3, 4}}

GraphData[{"CompleteTripartite",{1,3,4}},"StandardName"]

Primary

GraphData[{"CompleteTripartite",{1,3,4}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"CompleteTripartite",{1,3,4}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"CompleteTripartite",{1,3,4}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"CompleteTripartite",{1,3,4}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"CompleteTripartite",{1,3,4}},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"CompleteTripartite",{1,3,4}},"Graph","Degenerate"]//StyleGraphs

DegenerateGraphEmbeddingTypes/@GraphData[{"CompleteTripartite",{1,3,4}},"Graph","Degenerate"]

Bilateral

GraphData[{"CompleteTripartite",{1,3,4}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"CompleteTripartite",{1,3,4}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"CompleteTripartite",{1,3,4}},"Planar"]

GraphData[{"CompleteTripartite",{1,3,4}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"CompleteTripartite",{1,3,4}},{"RCN","CN"}]

GraphData[{"CompleteTripartite",{1,3,4}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{1,3,4}}],TimeConstraint->1])//AbsoluteTiming

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{1,3,4}}],TimeConstraint->10])//AbsoluteTiming

Union[Select[Table[RotateGraph[MinimalCrossingGraph[GraphData[{"CompleteTripartite",{1,3,4}}],"CrossingNumber"->cn,RandomSeed->n]],{n,1000}],Max[OuterFace[#]]<=GraphData[{"CompleteTripartite",{1,3,4}},"V"]&]]//Timing

Table[MinimalCrossingGraph[GraphData[{"CompleteTripartite",{1,3,4}}],"CrossingNumber"->cn,RandomSeed->i],{i,50}]//Union

GraphPlot@

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"CompleteTripartite",{1,3,4}},"Circulant"]

GraphData[{"CompleteTripartite",{1,3,4}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"CompleteTripartite",{1,3,4}},"Halin"]

GraphData[{"CompleteTripartite",{1,3,4}},"Graph","Halin"]//StyleGraphs

Rigid

GraphData[{"CompleteTripartite",{1,3,4}},"Rigid"]

GraphData[{"CompleteTripartite",{1,3,4}},"Graph","Rigid"]//StyleGraphs

Flexible

GraphData[{"CompleteTripartite",{1,3,4}},"Flexible"]

GraphData[{"CompleteTripartite",{1,3,4}},"Graph","Flexible"]//StyleGraphs

LCF

GraphData[{"CompleteTripartite",{1,3,4}},"LCF"]

GraphData[{"CompleteTripartite",{1,3,4}},"HamiltonianCycleCount"]

GraphData[{"CompleteTripartite",{1,3,4}},"LCFSignature"]

GraphData[{"CompleteTripartite",{1,3,4}},"LCFNotations"]

GraphData[{"CompleteTripartite",{1,3,4}},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"CompleteTripartite",{1,3,4}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"CompleteTripartite",{1,3,4}}],Debug->True]//Timing

GraphData[{"CompleteTripartite",{1,3,4}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"CompleteTripartite",{1,3,4}},"VertexList"],GraphData[{"CompleteTripartite",{1,3,4}},"EdgeList"]]]

UnitDistanceEmbeddingRefine[Annotate[#,VertexCoordinates->N[GraphEmbedding[#]]]]&/@Complement@@(GraphData[{"CompleteTripartite",{1,3,4}},"Graph",#]&/@{"All","UnitDistance"})

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"CompleteTripartite",{1,3,4}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"CompleteTripartite",{1,3,4}},"Matchstick"]

GraphData[{"CompleteTripartite",{1,3,4}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"CompleteTripartite",{1,3,4}},"Edges"]]

3D All

GraphData[{"CompleteTripartite",{1,3,4}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"CompleteTripartite",{1,3,4}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"CompleteTripartite",{1,3,4}},"Polyhedral"]

GraphData[{"CompleteTripartite",{1,3,4}},"Graph",{"3D","Polyhedron"}]

{"CompleteTripartite", {2, 2, 3}}

GraphData[{"CompleteTripartite",{2,2,3}},"StandardName"]

Primary

GraphData[{"CompleteTripartite",{2,2,3}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"CompleteTripartite",{2,2,3}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"CompleteTripartite",{2,2,3}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"CompleteTripartite",{2,2,3}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"CompleteTripartite",{2,2,3}},"Edges"]

v=UnitCirclePoints[7];
g=Graph[Range[Length[v]],UndirectedEdge@@@{e[1,5,6,7,1,2,3,6,2,5,7,4,1,3,7],e[6,4,2]},VertexCoordinates->v,VertexLabels->Automatic]

RecognizeGraph[g]

Degenerate

GraphData[{"CompleteTripartite",{2,2,3}},"Graph","Degenerate"]//StyleGraphs

Cone embedding construction

GraphData[{"CompleteTripartite",{2,2,3}},"NotationRules","Cone"]

g1=ConeGraph[Sequence@@GraphData[{"CompleteTripartite",{2,2,3}},"NotationRules","Cone"],GraphLayout->{"Rings","Radius"->1/3}]

g2=ConeGraph[Sequence@@GraphData[{"CompleteTripartite",{2,2,3}},"NotationRules","Cone"],GraphLayout->{"Rings","Radius"->2}]

gs={g1,g2}

DegenerateGraphEmbeddingQ/@gs

RecognizeGraph/@gs

Bilateral

GraphData[{"CompleteTripartite",{2,2,3}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"CompleteTripartite",{2,2,3}},"Graph","Circular"]//StyleGraphs

Circular construction

CompleteGraph1[2,2,3]

Planar

GraphData[{"CompleteTripartite",{2,2,3}},"Planar"]

GraphData[{"CompleteTripartite",{2,2,3}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"CompleteTripartite",{2,2,3}},{"RCN","CN"}]

GraphData[{"CompleteTripartite",{2,2,3}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{2,2,3}}],TimeConstraint->10])//AbsoluteTiming

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

Table[MinimalCrossingGraph[GraphData[{"CompleteTripartite",{2,2,3}}],"CrossingNumber"->cn,RandomSeed->i],{i,500}]//Union

g=RotateGraph[,2Pi/3]

RectilinearCrossingCount[g]

RecognizeGraph@g

Circulant

GraphData[{"CompleteTripartite",{2,2,3}},"Circulant"]

GraphData[{"CompleteTripartite",{2,2,3}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"CompleteTripartite",{2,2,3}},"Halin"]

GraphData[{"CompleteTripartite",{2,2,3}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"CompleteTripartite",{2,2,3}},"LCF"]

GraphData[{"CompleteTripartite",{2,2,3}},"HamiltonianCycleCount"]

GraphData[{"CompleteTripartite",{2,2,3}},"LCFSignature"]

GraphData[{"CompleteTripartite",{2,2,3}},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"CompleteTripartite",{2,2,3}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"CompleteTripartite",{2,2,3}}],Debug->True]//Timing

GraphData[{"CompleteTripartite",{2,2,3}},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"CompleteTripartite",{2,2,3}},"VertexList"],GraphData[{"CompleteTripartite",{2,2,3}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"CompleteTripartite",{2,2,3}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"CompleteTripartite",{2,2,3}},"Matchstick"]

GraphData[{"CompleteTripartite",{2,2,3}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"CompleteTripartite",{2,2,3}},"Edges"]]

3D All

GraphData[{"CompleteTripartite",{2,2,3}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"CompleteTripartite",{2,2,3}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"CompleteTripartite",{2,2,3}},"Polyhedral"]

GraphData[{"CompleteTripartite",{2,2,3}},"Graph",{"3D","Polyhedron"}]

{"CompleteTripartite", {2, 2, 4}}

Names

GraphData[{"CompleteTripartite",{2,2,4}},"StandardName"]

GraphData[{"CompleteTripartite",{2,2,4}},"StandardNames"]

Primary

GraphData[{"CompleteTripartite",{2,2,4}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"CompleteTripartite",{2,2,4}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"CompleteTripartite",{2,2,4}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"CompleteTripartite",{2,2,4}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"CompleteTripartite",{2,2,4}},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"CompleteTripartite",{2,2,4}},"Graph","Degenerate"]//StyleGraphs

Cone embedding construction

GraphData[{"CompleteTripartite",{2,2,4}},"NotationRules","Cone"]

g1=ConeGraph[Sequence@@GraphData[{"CompleteTripartite",{2,2,4}},"NotationRules","Cone"],GraphLayout->{"Rings","Radius"->1/2,"Angle"->Pi/2}]

FullSimplify[3/2/ (3/(2 (Sqrt[2])))]

g2=ConeGraph[Sequence@@GraphData[{"CompleteTripartite",{2,2,4}},"NotationRules","Cone"],GraphLayout->{"Rings","Radius"->(Sqrt[2]),"Angle"->Pi/2}]

gs={g1,g2}

DegenerateGraphEmbeddingQ/@gs

RecognizeGraph/@gs

Bilateral

GraphData[{"CompleteTripartite",{2,2,4}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"CompleteTripartite",{2,2,4}},"Graph","Circular"]//StyleGraphs

Circular construction

CompleteGraph1[2,2,4]

Planar

GraphData[{"CompleteTripartite",{2,2,4}},"Planar"]

GraphData[{"CompleteTripartite",{2,2,4}},"Graph","Planar"]//StyleGraphs

MinimalLocalCrossing

Czap, Július; Hudák, Dávid (2012), "1-planarity of complete multipartite graphs", Discrete Applied Mathematics, 160 (4–5): 505–512, doi:10.1016/j.dam.2011.11.014, MR 2876333.

GraphData[{"CompleteTripartite",{2,2,4}},"LocalCrossingNumber"]

GraphData[{"CompleteTripartite",{2,2,4}},"Graph","MinimalLocalCrossing"]//StyleGraphs

MinimalCrossing

GraphData[{"CompleteTripartite",{2,2,4}},{"RCN","CN"}]

GraphData[{"CompleteTripartite",{2,2,4}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{2,2,4}}],TimeConstraint->10])//AbsoluteTiming

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"CompleteTripartite",{2,2,4}},"Circulant"]

GraphData[{"CompleteTripartite",{2,2,4}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"CompleteTripartite",{2,2,4}},"Halin"]

GraphData[{"CompleteTripartite",{2,2,4}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"CompleteTripartite",{2,2,4}},"LCF"]

GraphData[{"CompleteTripartite",{2,2,4}},"HamiltonianCycleCount"]

GraphData[{"CompleteTripartite",{2,2,4}},"LCFSignature"]

GraphData[{"CompleteTripartite",{2,2,4}},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"CompleteTripartite",{2,2,4}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"CompleteTripartite",{2,2,4}}],Debug->True]//Timing

GraphData[{"CompleteTripartite",{2,2,4}},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"CompleteTripartite",{2,2,4}},"VertexList"],GraphData[{"CompleteTripartite",{2,2,4}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"CompleteTripartite",{2,2,4}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"CompleteTripartite",{2,2,4}},"Matchstick"]

GraphData[{"CompleteTripartite",{2,2,4}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"CompleteTripartite",{2,2,4}},"Edges"]]

3D All

GraphData[{"CompleteTripartite",{2,2,4}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"CompleteTripartite",{2,2,4}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"CompleteTripartite",{2,2,4}},"Polyhedral"]

GraphData[{"CompleteTripartite",{2,2,4}},"Graph",{"3D","Polyhedron"}]

{"CompleteTripartite", {2, 2, 5}}

GraphData[{"CompleteTripartite",{2,2,5}},"StandardName"]

Primary

GraphData[{"CompleteTripartite",{2,2,5}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"CompleteTripartite",{2,2,5}},"Graph","All"]//StyleGraphs

Inexact

Select[GraphData[{"CompleteTripartite",{2,2,5}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"CompleteTripartite",{2,2,5}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"CompleteTripartite",{2,2,5}},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"CompleteTripartite",{2,2,5}},"Graph","Degenerate"]//StyleGraphs

Cone embedding construction

GraphData[{"CompleteTripartite",{2,2,5}},"NotationRules","Cone"]

g1=ConeGraph[Sequence@@GraphData[{"CompleteTripartite",{2,2,5}},"NotationRules","Cone"],GraphLayout->{"Rings","Radius"->1/3}]

g2=ConeGraph[Sequence@@GraphData[{"CompleteTripartite",{2,2,5}},"NotationRules","Cone"],GraphLayout->{"Rings","Radius"->2}]

gs={g1,g2}

DegenerateGraphEmbeddingQ/@gs

RecognizeGraph/@gs

Bilateral

GraphData[{"CompleteTripartite",{2,2,5}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"CompleteTripartite",{2,2,5}},"Graph","Circular"]//StyleGraphs

Circular construction

CompleteGraph1[2,2,5]

Planar

GraphData[{"CompleteTripartite",{2,2,5}},"Planar"]

GraphData[{"CompleteTripartite",{2,2,5}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"CompleteTripartite",{2,2,5}},{"RCN","CN"}]

GraphData[{"CompleteTripartite",{2,2,5}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{2,2,5}}],TimeConstraint->10])//AbsoluteTiming

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"CompleteTripartite",{2,2,5}},"Circulant"]

GraphData[{"CompleteTripartite",{2,2,5}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"CompleteTripartite",{2,2,5}},"Halin"]

GraphData[{"CompleteTripartite",{2,2,5}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"CompleteTripartite",{2,2,5}},"LCF"]

GraphData[{"CompleteTripartite",{2,2,5}},"HamiltonianCycleCount"]

GraphData[{"CompleteTripartite",{2,2,5}},"LCFSignature"]

GraphData[{"CompleteTripartite",{2,2,5}},"Graph","LCF"]//StyleGraphs

UnitDistance

GraphData[{"CompleteTripartite",{2,2,5}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"CompleteTripartite",{2,2,5}}],Debug->True]//Timing

GraphData[{"CompleteTripartite",{2,2,5}},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"CompleteTripartite",{2,2,5}},"VertexList"],GraphData[{"CompleteTripartite",{2,2,5}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"CompleteTripartite",{2,2,5}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"CompleteTripartite",{2,2,5}},"Matchstick"]

GraphData[{"CompleteTripartite",{2,2,5}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"CompleteTripartite",{2,2,5}},"Edges"]]

3D All

GraphData[{"CompleteTripartite",{2,2,5}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"CompleteTripartite",{2,2,5}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"CompleteTripartite",{2,2,5}},"Polyhedral"]

GraphData[{"CompleteTripartite",{2,2,5}},"Graph",{"3D","Polyhedron"}]

{"CompleteTripartite", {2, 2, 6}}

GraphData[{"CompleteTripartite",{2,2,6}},"StandardName"]

Primary

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

All

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

Inexact

Select[GraphData[{"CompleteTripartite",{2,2,6}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"CompleteTripartite",{2,2,6}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"CompleteTripartite",{2,2,6}},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"CompleteTripartite",{2,2,6}},"Graph","Degenerate"]//StyleGraphs

Cone embedding construction

GraphData[{"CompleteTripartite",{2,2,6}},"NotationRules","Cone"]

g1=ConeGraph[Sequence@@GraphData[{"CompleteTripartite",{2,2,6}},"NotationRules","Cone"],GraphLayout->{"Rings","Radius"->2/3}]

g2=ConeGraph[Sequence@@GraphData[{"CompleteTripartite",{2,2,6}},"NotationRules","Cone"],GraphLayout->{"Rings","Radius"->2}]

gs={g1,g2}

{,}

gs={,,};

DegenerateGraphEmbeddingQ/@gs

RecognizeGraph/@gs

Bilateral

GraphData[{"CompleteTripartite",{2,2,6}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"CompleteTripartite",{2,2,6}},"Graph","Circular"]//StyleGraphs

Circular construction

CompleteGraph1[2,2,6]

Planar

GraphData[{"CompleteTripartite",{2,2,6}},"Planar"]

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

MinimalCrossing

GraphData[{"CompleteTripartite",{2,2,6}},{"RCN","CN"}]

GraphData[{"CompleteTripartite",{2,2,6}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{2,2,6}}],TimeConstraint->10])//AbsoluteTiming

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"CompleteTripartite",{2,2,6}},"Circulant"]

GraphData[{"CompleteTripartite",{2,2,6}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"CompleteTripartite",{2,2,6}},"Halin"]

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

LCF

GraphData[{"CompleteTripartite",{2,2,6}},"LCF"]

GraphData[{"CompleteTripartite",{2,2,6}},"HamiltonianCycleCount"]

GraphData[{"CompleteTripartite",{2,2,6}},"LCFSignature"]

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

UnitDistance

GraphData[{"CompleteTripartite",{2,2,6}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"CompleteTripartite",{2,2,6}},"VertexList"],GraphData[{"CompleteTripartite",{2,2,6}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"CompleteTripartite",{2,2,6}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"CompleteTripartite",{2,2,6}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"CompleteTripartite",{2,2,6}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"CompleteTripartite",{2,2,6}},"Polyhedral"]

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

{"CompleteTripartite", {2, 2, 7}}

GraphData[{"CompleteTripartite",{2,2,7}},"StandardName"]

Primary

GraphData[{"CompleteTripartite",{2,2,7}}]//StyleGraphs[#,ImageSize->Small]&

All

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

Inexact

Select[GraphData[{"CompleteTripartite",{2,2,7}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"CompleteTripartite",{2,2,7}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"CompleteTripartite",{2,2,7}},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"CompleteTripartite",{2,2,7}},"Graph","Degenerate"]//StyleGraphs

Cone embedding construction

GraphData[{"CompleteTripartite",{2,2,7}},"NotationRules","Cone"]

g1=ConeGraph[Sequence@@GraphData[{"CompleteTripartite",{2,2,7}},"NotationRules","Cone"],GraphLayout->{"Rings","Radius"->2/3}]

g2=ConeGraph[Sequence@@GraphData[{"CompleteTripartite",{2,2,7}},"NotationRules","Cone"],GraphLayout->{"Rings","Radius"->2}]

gs={g1,g2}

gs={,,};

DegenerateGraphEmbeddingQ/@gs

RecognizeGraph/@gs

Bilateral

GraphData[{"CompleteTripartite",{2,2,7}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"CompleteTripartite",{2,2,7}},"Graph","Circular"]//StyleGraphs

Circular construction

CompleteGraph1[2,2,7]

Planar

GraphData[{"CompleteTripartite",{2,2,7}},"Planar"]

GraphData[{"CompleteTripartite",{2,2,7}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"CompleteTripartite",{2,2,7}},{"RCN","CN"}]

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

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{2,2,7}}],TimeConstraint->10])//AbsoluteTiming

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"CompleteTripartite",{2,2,7}},"Circulant"]

GraphData[{"CompleteTripartite",{2,2,7}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"CompleteTripartite",{2,2,7}},"Halin"]

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

LCF

GraphData[{"CompleteTripartite",{2,2,7}},"LCF"]

GraphData[{"CompleteTripartite",{2,2,7}},"HamiltonianCycleCount"]

GraphData[{"CompleteTripartite",{2,2,7}},"LCFSignature"]

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

UnitDistance

GraphData[{"CompleteTripartite",{2,2,7}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"CompleteTripartite",{2,2,7}},"VertexList"],GraphData[{"CompleteTripartite",{2,2,7}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"CompleteTripartite",{2,2,7}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"CompleteTripartite",{2,2,7}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"CompleteTripartite",{2,2,7}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"CompleteTripartite",{2,2,7}},"Polyhedral"]

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

{"CompleteTripartite", {2, 2, 8}}

GraphData[{"CompleteTripartite",{2,2,8}},"StandardName"]

Primary

GraphData[{"CompleteTripartite",{2,2,8}}]//StyleGraphs[#,ImageSize->Small]&

All

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

Inexact

Select[GraphData[{"CompleteTripartite",{2,2,8}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"CompleteTripartite",{2,2,8}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"CompleteTripartite",{2,2,8}},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"CompleteTripartite",{2,2,8}},"Graph","Degenerate"]//StyleGraphs

Cone embedding construction

GraphData[{"CompleteTripartite",{2,2,8}},"NotationRules","Cone"]

g1=ConeGraph[Sequence@@GraphData[{"CompleteTripartite",{2,2,8}},"NotationRules","Cone"],GraphLayout->{"Rings","Radius"->1/3}]

g2=ConeGraph[Sequence@@GraphData[{"CompleteTripartite",{2,2,8}},"NotationRules","Cone"],GraphLayout->{"Rings","Radius"->3/2}]

gs={g1,g2}

gs={,,};

DegenerateGraphEmbeddingQ/@gs

RecognizeGraph/@gs

Bilateral

GraphData[{"CompleteTripartite",{2,2,8}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"CompleteTripartite",{2,2,8}},"Graph","Circular"]//StyleGraphs

Circular construction

CompleteGraph1[2,2,8]

Planar

GraphData[{"CompleteTripartite",{2,2,8}},"Planar"]

GraphData[{"CompleteTripartite",{2,2,8}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"CompleteTripartite",{2,2,8}},{"RCN","CN"}]

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

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{2,2,8}}],TimeConstraint->10])//AbsoluteTiming

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"CompleteTripartite",{2,2,8}},"Circulant"]

GraphData[{"CompleteTripartite",{2,2,8}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"CompleteTripartite",{2,2,8}},"Halin"]

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

LCF

GraphData[{"CompleteTripartite",{2,2,8}},"LCF"]

GraphData[{"CompleteTripartite",{2,2,8}},"HamiltonianCycleCount"]

GraphData[{"CompleteTripartite",{2,2,8}},"LCFSignature"]

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

UnitDistance

GraphData[{"CompleteTripartite",{2,2,8}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"CompleteTripartite",{2,2,8}},"VertexList"],GraphData[{"CompleteTripartite",{2,2,8}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"CompleteTripartite",{2,2,8}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"CompleteTripartite",{2,2,8}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"CompleteTripartite",{2,2,8}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"CompleteTripartite",{2,2,8}},"Polyhedral"]

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

{"CompleteTripartite", {2, 2, 9}}

GraphData[{"CompleteTripartite",{2,2,9}},"StandardName"]

Primary

GraphData[{"CompleteTripartite",{2,2,9}}]//StyleGraphs[#,ImageSize->Small]&

All

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

Inexact

Select[GraphData[{"CompleteTripartite",{2,2,9}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"CompleteTripartite",{2,2,9}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"CompleteTripartite",{2,2,9}},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"CompleteTripartite",{2,2,9}},"Graph","Degenerate"]//StyleGraphs

Cone embedding construction

GraphData[{"CompleteTripartite",{2,2,9}},"NotationRules","Cone"]

g1=ConeGraph[Sequence@@GraphData[{"CompleteTripartite",{2,2,9}},"NotationRules","Cone"],GraphLayout->{"Rings","Radius"->1/3}]

g2=ConeGraph[Sequence@@GraphData[{"CompleteTripartite",{2,2,9}},"NotationRules","Cone"],GraphLayout->{"Rings","Radius"->2}]

gs={g1,g2}

gs={,,};

DegenerateGraphEmbeddingQ/@gs

RecognizeGraph/@gs

Bilateral

GraphData[{"CompleteTripartite",{2,2,9}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"CompleteTripartite",{2,2,9}},"Graph","Circular"]//StyleGraphs

Circular construction

CompleteGraph1[2,2,9]

Planar

GraphData[{"CompleteTripartite",{2,2,9}},"Planar"]

GraphData[{"CompleteTripartite",{2,2,9}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"CompleteTripartite",{2,2,9}},{"RCN","CN"}]

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

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{2,2,9}}],TimeConstraint->10])//AbsoluteTiming

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"CompleteTripartite",{2,2,9}},"Circulant"]

GraphData[{"CompleteTripartite",{2,2,9}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"CompleteTripartite",{2,2,9}},"Halin"]

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

LCF

GraphData[{"CompleteTripartite",{2,2,9}},"LCF"]

GraphData[{"CompleteTripartite",{2,2,9}},"HamiltonianCycleCount"]

GraphData[{"CompleteTripartite",{2,2,9}},"LCFSignature"]

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

UnitDistance

GraphData[{"CompleteTripartite",{2,2,9}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"CompleteTripartite",{2,2,9}},"VertexList"],GraphData[{"CompleteTripartite",{2,2,9}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"CompleteTripartite",{2,2,9}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"CompleteTripartite",{2,2,9}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"CompleteTripartite",{2,2,9}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"CompleteTripartite",{2,2,9}},"Polyhedral"]

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

{"CompleteTripartite", {2, 2, 10}}

GraphData[{"CompleteTripartite",{2,2,10}},"StandardName"]

Primary

GraphData[{"CompleteTripartite",{2,2,10}}]//StyleGraphs[#,ImageSize->Small]&

All

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

Inexact

Select[GraphData[{"CompleteTripartite",{2,2,10}},"Graph","All"],(!FreeQ[GraphEmbedding[#],_?InexactNumberQ]&)]//StyleGraphs

Embedding types

GraphDataEmbeddings[GraphData[{"CompleteTripartite",{2,2,10}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"CompleteTripartite",{2,2,10}},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"CompleteTripartite",{2,2,10}},"Graph","Degenerate"]//StyleGraphs

Cone embedding construction

GraphData[{"CompleteTripartite",{2,2,10}},"NotationRules","Cone"]

g1=ConeGraph[Sequence@@GraphData[{"CompleteTripartite",{2,2,10}},"NotationRules","Cone"],GraphLayout->{"Rings","Radius"->1/3}]

g2=ConeGraph[Sequence@@GraphData[{"CompleteTripartite",{2,2,10}},"NotationRules","Cone"],GraphLayout->{"Rings","Radius"->2}]

gs={g1,g2}

gs={,,};

DegenerateGraphEmbeddingQ/@gs

RecognizeGraph/@gs

Bilateral

GraphData[{"CompleteTripartite",{2,2,10}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"CompleteTripartite",{2,2,10}},"Graph","Circular"]//StyleGraphs

Circular construction

CompleteGraph1[2,2,10]

Planar

GraphData[{"CompleteTripartite",{2,2,10}},"Planar"]

GraphData[{"CompleteTripartite",{2,2,10}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"CompleteTripartite",{2,2,10}},{"RCN","CN"}]

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

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{2,2,10}}],TimeConstraint->10])//AbsoluteTiming

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"CompleteTripartite",{2,2,10}},"Circulant"]

GraphData[{"CompleteTripartite",{2,2,10}},"Graph","Circulant"]//StyleGraphs

Halin

GraphData[{"CompleteTripartite",{2,2,10}},"Halin"]

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

LCF

GraphData[{"CompleteTripartite",{2,2,10}},"LCF"]

GraphData[{"CompleteTripartite",{2,2,10}},"HamiltonianCycleCount"]

GraphData[{"CompleteTripartite",{2,2,10}},"LCFSignature"]

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

UnitDistance

GraphData[{"CompleteTripartite",{2,2,10}},"UnitDistance"]

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"CompleteTripartite",{2,2,10}},"VertexList"],GraphData[{"CompleteTripartite",{2,2,10}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"CompleteTripartite",{2,2,10}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"CompleteTripartite",{2,2,10}},"Matchstick"]

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

3D default

Graph3D[GraphData[{"CompleteTripartite",{2,2,10}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"CompleteTripartite",{2,2,10}},"Polyhedral"]

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

{"CompleteTripartite", {3, 3, 3}}

GraphData[{"CompleteTripartite",{3,3,3}},"StandardName"]

Primary

GraphData[{"CompleteTripartite",{3,3,3}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"CompleteTripartite",{3,3,3}},"Graph","All"]//StyleGraphs

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"CompleteTripartite",{3,3,3}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"CompleteTripartite",{3,3,3}},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"CompleteTripartite",{3,3,3}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"CompleteTripartite",{3,3,3}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"CompleteTripartite",{3,3,3}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"CompleteTripartite",{3,3,3}},"Planar"]

GraphData[{"CompleteTripartite",{3,3,3}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"CompleteTripartite",{3,3,3}},{"RCN","CN"}]

GraphData[{"CompleteTripartite",{3,3,3}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{3,3,3}}],TimeConstraint->10])//AbsoluteTiming

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"CompleteTripartite",{3,3,3}},"Circulant"]

GraphData[{"CompleteTripartite",{3,3,3}},"Graph","Circulant"]//StyleGraphs

Circulant construction

CirculantIndices[GraphData[{"CompleteTripartite",{3,3,3}}],All]

CirculantGraph1@@@{{9,{1,2,4}}}

Halin

GraphData[{"CompleteTripartite",{3,3,3}},"Halin"]

GraphData[{"CompleteTripartite",{3,3,3}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"CompleteTripartite",{3,3,3}},"LCF"]

GraphData[{"CompleteTripartite",{3,3,3}},"HamiltonianCycleCount"]

GraphData[{"CompleteTripartite",{3,3,3}},"LCFSignature"]

GraphData[{"CompleteTripartite",{3,3,3}},"Graph","LCF"]//StyleGraphs

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

LCF compute

Length[FindHamiltonianCycle[GraphData[{"CompleteTripartite",{3,3,3}}],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData[{"CompleteTripartite",{3,3,3}}],All])[[All,2]]]//Timing

LCFGraph@@@lcf//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[{BilateralLCFEmbedding[#],#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFEmbedding/@LCFGraph@@@Cases[lcf,{_,1}]]}]

UnitDistance

GraphData[{"CompleteTripartite",{3,3,3}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"CompleteTripartite",{3,3,3}}],Debug->True]//Timing

GraphData[{"CompleteTripartite",{3,3,3}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"CompleteTripartite",{3,3,3}},"VertexList"],GraphData[{"CompleteTripartite",{3,3,3}},"EdgeList"]]]

UnitDistanceGraphEmbeddingQ[%]

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

Select[%,UnitDistanceGraphEmbeddingQ]

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"CompleteTripartite",{3,3,3}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"CompleteTripartite",{3,3,3}},"Matchstick"]

GraphData[{"CompleteTripartite",{3,3,3}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"CompleteTripartite",{3,3,3}},"Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"CompleteTripartite",{3,3,3}},"Polyhedral"]

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

{"CompleteTripartite", {4, 4, 4}}

GraphData[{"CompleteTripartite",{4,4,4}},"StandardName"]

Primary

GraphData[{"CompleteTripartite",{4,4,4}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"CompleteTripartite",{4,4,4}},"Graph","All"]//StyleGraphs

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"CompleteTripartite",{4,4,4}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"CompleteTripartite",{4,4,4}},"Edges"]

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

RecognizeGraph[g]

GraphPlot[GraphData[{"CompleteTripartite",{4,4,4}},"Edges"],GraphLayout->"SpringEmbedding"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"CompleteTripartite",{4,4,4}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"CompleteTripartite",{4,4,4}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"CompleteTripartite",{4,4,4}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"CompleteTripartite",{4,4,4}},"Planar"]

GraphData[{"CompleteTripartite",{4,4,4}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"CompleteTripartite",{4,4,4}},{"RCN","CN"}]

GraphData[{"CompleteTripartite",{4,4,4}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{4,4,4}}],TimeConstraint->10])//AbsoluteTiming

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"CompleteTripartite",{4,4,4}},"Circulant"]

GraphData[{"CompleteTripartite",{4,4,4}},"Graph","Circulant"]//StyleGraphs

Circulant construction

CirculantGraph1@@@CirculantIndices[GraphData[{"CompleteTripartite",{4,4,4}}]]

Halin

GraphData[{"CompleteTripartite",{4,4,4}},"Halin"]

GraphData[{"CompleteTripartite",{4,4,4}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"CompleteTripartite",{4,4,4}},"LCF"]

GraphData[{"CompleteTripartite",{4,4,4}},"HamiltonianCycleCount"]

GraphData[{"CompleteTripartite",{4,4,4}},"LCFSignature"]

GraphData[{"CompleteTripartite",{4,4,4}},"Graph","LCF"]//StyleGraphs

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

LCF compute

Length[FindHamiltonianCycle[GraphData[{"CompleteTripartite",{4,4,4}}],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData[{"CompleteTripartite",{4,4,4}}],All])[[All,2]]]//Timing

LCFGraph@@@lcf//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[{BilateralLCFEmbedding[#],#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFEmbedding/@LCFGraph@@@Cases[lcf,{_,1}]]}]

Length[gs]

UnitDistance

GraphData[{"CompleteTripartite",{4,4,4}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"CompleteTripartite",{4,4,4}}],Debug->True]//Timing

GraphData[{"CompleteTripartite",{4,4,4}},"Graph","UnitDistance"]//StyleGraphs

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"CompleteTripartite",{4,4,4}},"VertexList"],GraphData[{"CompleteTripartite",{4,4,4}},"EdgeList"]]]

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

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"CompleteTripartite",{4,4,4}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"CompleteTripartite",{4,4,4}},"Matchstick"]

GraphData[{"CompleteTripartite",{4,4,4}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"CompleteTripartite",{4,4,4}},"Edges"]]

3D All

GraphData[{"CompleteTripartite",{4,4,4}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"CompleteTripartite",{4,4,4}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"CompleteTripartite",{4,4,4}},"Polyhedral"]

GraphData[{"CompleteTripartite",{4,4,4}},"Graph",{"3D","Polyhedron"}]

{"CompleteTripartite", {5, 5, 5}}

GraphData[{"CompleteTripartite",{5,5,5}},"StandardName"]

Primary

GraphData[{"CompleteTripartite",{5,5,5}}]//StyleGraphs[#,ImageSize->Small]&

All

GraphData[{"CompleteTripartite",{5,5,5}},"Graph","All"]//StyleGraphs

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"CompleteTripartite",{5,5,5}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"CompleteTripartite",{5,5,5}},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"CompleteTripartite",{5,5,5}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"CompleteTripartite",{5,5,5}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"CompleteTripartite",{5,5,5}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"CompleteTripartite",{5,5,5}},"Planar"]

GraphData[{"CompleteTripartite",{5,5,5}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

GraphData[{"CompleteTripartite",{5,5,5}},{"RCN","CN"}]

GraphData[{"CompleteTripartite",{5,5,5}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{5,5,5}}],TimeConstraint->10])//AbsoluteTiming

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"CompleteTripartite",{5,5,5}},"Circulant"]

GraphData[{"CompleteTripartite",{5,5,5}},"Graph","Circulant"]//StyleGraphs

Circulant construction

CirculantGraph1@@@CirculantIndices[GraphData[{"CompleteTripartite",{5,5,5}}]]

Halin

GraphData[{"CompleteTripartite",{5,5,5}},"Halin"]

GraphData[{"CompleteTripartite",{5,5,5}},"Graph","Halin"]//StyleGraphs

LCF

GraphData[{"CompleteTripartite",{5,5,5}},"LCF"]

GraphData[{"CompleteTripartite",{5,5,5}},"HamiltonianCycleCount"]

GraphData[{"CompleteTripartite",{5,5,5}},"LCFNotations"]

GraphData[{"CompleteTripartite",{5,5,5}},"LCFSignature"]

GraphData[{"CompleteTripartite",{5,5,5}},"Graph","LCF"]//StyleGraphs

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

LCF compute

Length[FindHamiltonianCycle[GraphData[{"CompleteTripartite",{5,5,5}}],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData[{"CompleteTripartite",{5,5,5}}],All])[[All,2]]]//Timing

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"CompleteTripartite",{5,5,5}},".m.gz"]])[[All,2]]]//Timing

LCFGraph@@@lcf//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[{BilateralLCFEmbedding[#],#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFEmbedding/@LCFGraph@@@Cases[lcf,{_,1}]]}]

Length[gs]

UnitDistance

GraphData[{"CompleteTripartite",{5,5,5}},"UnitDistance"]

UnitDistanceGraphQ[GraphData[{"CompleteTripartite",{5,5,5}}],Debug->True]//Timing

GraphData[{"CompleteTripartite",{5,5,5}},"Graph","UnitDistance"]//StyleGraphs

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"CompleteTripartite",{5,5,5}},"VertexList"],GraphData[{"CompleteTripartite",{5,5,5}},"EdgeList"]]]

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

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"CompleteTripartite",{5,5,5}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"CompleteTripartite",{5,5,5}},"Matchstick"]

GraphData[{"CompleteTripartite",{5,5,5}},"Graph","Matchstick"]//StyleGraphs

3D default

Graph3D[GraphData[{"CompleteTripartite",{5,5,5}},"Edges"]]

3D All

GraphData[{"CompleteTripartite",{5,5,5}},"Graph",{"3D","All"}]

3D UnitDistance

GraphData[{"CompleteTripartite",{5,5,5}},"Graph",{"3D","UnitDistance"}]

3D Polyhedron

GraphData[{"CompleteTripartite",{5,5,5}},"Polyhedral"]

GraphData[{"CompleteTripartite",{5,5,5}},"Graph",{"3D","Polyhedron"}]

{"CompleteTripartite", {6, 6, 6}}

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

Primary

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

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"CompleteTripartite",{6,6,6}},"EdgeList"]]

Default embedding

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

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

RecognizeGraph[g]

Degenerate

GraphData[{"CompleteTripartite",{6,6,6}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"CompleteTripartite",{6,6,6}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"CompleteTripartite",{6,6,6}},"Graph","Circular"]//StyleGraphs

Planar

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

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

MinimalCrossing

GraphData[{"CompleteTripartite",{6,6,6}},{"RCN","CN"}]

GraphData[{"CompleteTripartite",{6,6,6}},"Graph","MinimalCrossing"]//StyleGraphs

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{6,6,6}}],TimeConstraint->10])//AbsoluteTiming

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"CompleteTripartite",{6,6,6}},"Circulant"]

GraphData[{"CompleteTripartite",{6,6,6}},"Graph","Circulant"]//StyleGraphs

Circulant construction

CirculantGraph1@@@CirculantIndices[GraphData[{"CompleteTripartite",{6,6,6}}]]

Halin

GraphData[{"CompleteTripartite",{6,6,6}},"Halin"]

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

LCF

GraphData[{"CompleteTripartite",{6,6,6}},"LCF"]

GraphData[{"CompleteTripartite",{6,6,6}},"HamiltonianCycleCount"]

GraphData[{"CompleteTripartite",{6,6,6}},"LCFNotations"]

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

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

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

LCF compute

Length[FindHamiltonianCycle[GraphData[{"CompleteTripartite",{6,6,6}}],All][[All,All,1]]]//Timing

Divisors[18]

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

LCFGraph@@@lcf//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[{BilateralLCFEmbedding[#],#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFEmbedding/@LCFGraph@@@Cases[lcf,{_,1}]]}]

Length[gs]

UnitDistance

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"CompleteTripartite",{6,6,6}},"VertexList"],GraphData[{"CompleteTripartite",{6,6,6}},"EdgeList"]]]

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

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"CompleteTripartite",{6,6,6}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"CompleteTripartite",{6,6,6}},"Matchstick"]

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"CompleteTripartite",{6,6,6}},"Polyhedral"]

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

{"CompleteTripartite", {7, 7, 7}}

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

Primary

GraphData[{"CompleteTripartite",{7,7,7}}]//StyleGraphs[#,ImageSize->Small]&

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"CompleteTripartite",{7,7,7}},"EdgeList"]]

Default embedding

GraphPlot@GraphData[{"CompleteTripartite",{7,7,7}},"Edges"]

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

RecognizeGraph[g]

Degenerate

GraphData[{"CompleteTripartite",{7,7,7}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"CompleteTripartite",{7,7,7}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"CompleteTripartite",{7,7,7}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"CompleteTripartite",{7,7,7}},"Planar"]

GraphData[{"CompleteTripartite",{7,7,7}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

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

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

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{7,7,7}}],TimeConstraint->10])//AbsoluteTiming

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"CompleteTripartite",{7,7,7}},"Circulant"]

GraphData[{"CompleteTripartite",{7,7,7}},"Graph","Circulant"]//StyleGraphs

Circulant construction

gs=CirculantGraph1@@@CirculantIndices[GraphData[{"CompleteTripartite",{7,7,7}}]]

Halin

GraphData[{"CompleteTripartite",{7,7,7}},"Halin"]

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

LCF

GraphData[{"CompleteTripartite",{7,7,7}},"LCF"]

GraphData[{"CompleteTripartite",{7,7,7}},"HamiltonianCycleCount"]

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

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

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

LCF compute

Length[FindHamiltonianCycle[GraphData[{"CompleteTripartite",{7,7,7}}],All][[All,All,1]]]//Timing

Divisors[3 7]

Tally[(lcf=LCF[GraphData[{"CompleteTripartite",{7,7,7}}],(10^5)])[[All,2]]]//Timing

LCFGraph@@@lcf//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[{BilateralLCFEmbedding[#],#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFEmbedding/@LCFGraph@@@Cases[lcf,{_,1}]]}]

Length[gs]

UnitDistance

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"CompleteTripartite",{7,7,7}},"VertexList"],GraphData[{"CompleteTripartite",{7,7,7}},"EdgeList"]]]

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

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"CompleteTripartite",{7,7,7}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"CompleteTripartite",{7,7,7}},"Matchstick"]

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"CompleteTripartite",{7,7,7}},"Polyhedral"]

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

{"CompleteTripartite", {8, 8, 8}}

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

Primary

GraphData[{"CompleteTripartite",{8,8,8}}]//StyleGraphs[#,ImageSize->Small]&

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"CompleteTripartite",{8,8,8}},"EdgeList"]]

Default embedding

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

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

RecognizeGraph[g]

Degenerate

GraphData[{"CompleteTripartite",{8,8,8}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"CompleteTripartite",{8,8,8}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"CompleteTripartite",{8,8,8}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"CompleteTripartite",{8,8,8}},"Planar"]

GraphData[{"CompleteTripartite",{8,8,8}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

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

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

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{8,8,8}}],TimeConstraint->10])//AbsoluteTiming

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"CompleteTripartite",{8,8,8}},"Circulant"]

GraphData[{"CompleteTripartite",{8,8,8}},"Graph","Circulant"]//StyleGraphs

Circulant construction

gs=CirculantGraph1@@@CirculantIndices[GraphData[{"CompleteTripartite",{8,8,8}}]]

Halin

GraphData[{"CompleteTripartite",{8,8,8}},"Halin"]

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

LCF

GraphData[{"CompleteTripartite",{8,8,8}},"LCF"]

GraphData[{"CompleteTripartite",{8,8,8}},"HamiltonianCycleCount"]

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

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

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

LCF compute

Length[FindHamiltonianCycle[GraphData[{"CompleteTripartite",{8,8,8}}],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData[{"CompleteTripartite",{8,8,8}}],(10^5)])[[All,2]]]//Timing

LCFGraph@@@lcf//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[{BilateralLCFEmbedding[#],#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFEmbedding/@LCFGraph@@@Cases[lcf,{_,1}]]}]

Length[gs]

i=0;
gs={};
t0=AbsoluteTime[];
count=Length[order2];
Monitor[
Do[
If[!MissingQ[g=BilateralLCFEmbedding[LCFGraph@@order2[[i]]]],AppendTo[gs,g]],
{i,count}
],
Column[{
ProgressIndicator[i,{1,count}],
Row[{i,"/",count}],
Row[{"estimated time remaining: ",Round[(AbsoluteTime[]-t0) (count/i-1)]," s"}],
Row[{Length[gs]," bilateral graphs"}]
}]
];//Timing

UnitDistance

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"CompleteTripartite",{8,8,8}},"VertexList"],GraphData[{"CompleteTripartite",{8,8,8}},"EdgeList"]]]

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

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"CompleteTripartite",{8,8,8}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"CompleteTripartite",{8,8,8}},"Matchstick"]

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"CompleteTripartite",{8,8,8}},"Polyhedral"]

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

{"CompleteTripartite", {9, 9, 9}}

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

Primary

GraphData[{"CompleteTripartite",{9,9,9}}]//StyleGraphs[#,ImageSize->Small]&

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"CompleteTripartite",{9,9,9}},"EdgeList"]]

Default embedding

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

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

RecognizeGraph[g]

Degenerate

GraphData[{"CompleteTripartite",{9,9,9}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"CompleteTripartite",{9,9,9}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"CompleteTripartite",{9,9,9}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"CompleteTripartite",{9,9,9}},"Planar"]

GraphData[{"CompleteTripartite",{9,9,9}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

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

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

MinimalCrossing construction

(cn=CrossingNumber[GraphData[{"CompleteTripartite",{9,9,9}}],TimeConstraint->10])//AbsoluteTiming

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"CompleteTripartite",{9,9,9}},"Circulant"]

GraphData[{"CompleteTripartite",{9,9,9}},"Graph","Circulant"]//StyleGraphs

Circulant construction

gs=CirculantGraph1@@@CirculantIndices[GraphData[{"CompleteTripartite",{9,9,9}}]]

BilateralGraphEmbeddingQ/@%

Halin

GraphData[{"CompleteTripartite",{9,9,9}},"Halin"]

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

LCF

GraphData[{"CompleteTripartite",{9,9,9}},"LCF"]

GraphData[{"CompleteTripartite",{9,9,9}},"HamiltonianCycleCount"]

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

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

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

LCF compute

Length[FindHamiltonianCycle[GraphData[{"CompleteTripartite",{9,9,9}}],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData[{"CompleteTripartite",{9,9,9}}],(10^3)])[[All,2]]]//Timing

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"CompleteTripartite",{9,9,9}},".m.gz"]])[[All,2]]]//Timing

LCFGraph@@@lcf//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[{BilateralLCFEmbedding[#],#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFEmbedding/@LCFGraph@@@Cases[lcf,{_,1}]]}]

Length[gs]

i=0;
gs={};
t0=AbsoluteTime[];
count=Length[order2];
Monitor[
Do[
If[!MissingQ[g=BilateralLCFEmbedding[LCFGraph@@order2[[i]]]],AppendTo[gs,g]],
{i,count}
],
Column[{
ProgressIndicator[i,{1,count}],
Row[{i,"/",count}],
Row[{"estimated time remaining: ",Round[(AbsoluteTime[]-t0) (count/i-1)]," s"}],
Row[{Length[gs]," bilateral graphs"}]
}]
];//Timing

UnitDistance

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"CompleteTripartite",{9,9,9}},"VertexList"],GraphData[{"CompleteTripartite",{9,9,9}},"EdgeList"]]]

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

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"CompleteTripartite",{9,9,9}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"CompleteTripartite",{9,9,9}},"Matchstick"]

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"CompleteTripartite",{9,9,9}},"Polyhedral"]

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

{"CompleteTripartite", {10, 10, 10}}

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

Primary

GraphData[{"CompleteTripartite",{10,10,10}}]//StyleGraphs[#,ImageSize->Small]&

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData[{"CompleteTripartite",{10,10,10}},"EdgeList"]]

Default embedding

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

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

RecognizeGraph[g]

Degenerate

GraphData[{"CompleteTripartite",{10,10,10}},"Graph","Degenerate"]//StyleGraphs

Bilateral

GraphData[{"CompleteTripartite",{10,10,10}},"Graph","Bilateral"]//StyleGraphs

Circular

GraphData[{"CompleteTripartite",{10,10,10}},"Graph","Circular"]//StyleGraphs

Planar

GraphData[{"CompleteTripartite",{10,10,10}},"Planar"]

GraphData[{"CompleteTripartite",{10,10,10}},"Graph","Planar"]//StyleGraphs

MinimalCrossing

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

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

MinimalCrossing construction

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

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

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

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

RecognizeGraph[g]

RectilinearCrossingCount[g]

Circulant

GraphData[{"CompleteTripartite",{10,10,10}},"Circulant"]

GraphData[{"CompleteTripartite",{10,10,10}},"Graph","Circulant"]//StyleGraphs

Circulant construction

gs=CirculantGraph1@@@CirculantIndices[GraphData[{"CompleteTripartite",{10,10,10}}]]

Halin

GraphData[{"CompleteTripartite",{10,10,10}},"Halin"]

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

LCF

GraphData[{"CompleteTripartite",{10,10,10}},"LCF"]

GraphData[{"CompleteTripartite",{10,10,10}},"HamiltonianCycleCount"]

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

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

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

LCF compute

Length[FindHamiltonianCycle[GraphData[{"CompleteTripartite",{10,10,10}}],All][[All,All,1]]]//Timing

Tally[(lcf=LCF[GraphData[{"CompleteTripartite",{10,10,10}}],10^2])[[All,2]]]//Timing

Tally[(lcf=ReadProperty["LCFNotations",GraphNameToFileName[{"CompleteTripartite",{10,10,10}},".m.gz"]])[[All,2]]]//Timing

LCFGraph@@@lcf//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[{BilateralLCFEmbedding[#],#}&,Map[LCFGraph@@#&,SplitBy[DeleteCases[lcf,{_,1}],Last],{2}],{2}],
(* order-1 bilateral only *)
DeleteMissing[BilateralLCFEmbedding/@LCFGraph@@@Cases[lcf,{_,1}]]}]

Length[gs]

i=0;
gs={};
t0=AbsoluteTime[];
count=Length[order2];
Monitor[
Do[
If[!MissingQ[g=BilateralLCFEmbedding[LCFGraph@@order2[[i]]]],AppendTo[gs,g]],
{i,count}
],
Column[{
ProgressIndicator[i,{1,count}],
Row[{i,"/",count}],
Row[{"estimated time remaining: ",Round[(AbsoluteTime[]-t0) (count/i-1)]," s"}],
Row[{Length[gs]," bilateral graphs"}]
}]
];//Timing

UnitDistance

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

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

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

UnitDistance by refinement

UnitDistanceEmbeddingRefine[Graph[GraphData[{"CompleteTripartite",{10,10,10}},"VertexList"],GraphData[{"CompleteTripartite",{10,10,10}},"EdgeList"]]]

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

UnitDistance by FindUnitDistanceEmbedding

FindUnitDistanceEmbedding[GraphData[{"CompleteTripartite",{10,10,10}}],MaxIterations->5000,"ReturnWithMessage"->True]//Timing

Matchstick

GraphData[{"CompleteTripartite",{10,10,10}},"Matchstick"]

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

3D default

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

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData[{"CompleteTripartite",{10,10,10}},"Polyhedral"]

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

Properties k×m×n

Acyclic

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],False,GraphData[#,"Acyclic"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

AdjacencyMatrixCount

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Multinomial[k,m,n]/Max[Counts[{k,m,n}]]!,GraphData[#,"AdjacencyMatrixCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Multinomial[k,m,n]/Piecewise[{{3,k==m==n},{2,k==m||m==n||n==k}},1]!,GraphData[#,"AdjacencyMatrixCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

Arboricity

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],XXX,GraphData[#,"Arboricity"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

ArcTransitive

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Piecewise[{{True,k==m==n}},False],GraphData[#,"ArcTransitive"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

ArcTransitivity

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Piecewise[{{1,m==n==1},{Infinity,m==n==2},{3,m==n}},Missing["NotApplicable"]],GraphData[#,"ArcTransitivity"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

AutomorphismCount

{#,i=("CompleteTripartite"/.GraphData[#,"NotationRules"]),Multinomial@@i/Max[Counts[i]]!,GraphData[#,"AdjacencyMatrixCount"]}&/@GraphData["CompleteTripartite"]

FunctionExpand[(k+m+n)!/Multinomial[k,m,n]]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],k!m!n!Max[Counts[{k,m,n}]]!,GraphData[#,"AutomorphismCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],k!m!n!Piecewise[{{3,k==m==n},{2,k==m||m==n||n==k}},1]!,GraphData[#,"AutomorphismCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

BalabanIndex

{n,n}: (n^2 (n - 1))/(2 (n^2 - 3 n + 4))

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],XXX,GraphData[#,"BalabanIndex"]^2}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

Table[GraphData[{"CompleteTripartite",{2,n}},"BalabanIndex"]^2,{n,2,10}]

FindSequenceFunction[%,n]

Table[GraphData[{"CompleteTripartite",{3,n}},"BalabanIndex"]^2,{n,3,10}]

FindSequenceFunction[%,n]

Bandwidth

{m,n}:Floor[(Max[m,n]-1)/2]+Min[m,n]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Floor[(Max[k,m,n]-2)]+Min[k,m,n],GraphData[#,"Bandwidth"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

BridgeCount

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],0,GraphData[#,"BridgeCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

BurningNumber

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Piecewise[{{2,Min[k,m,n]<3}},3],GraphData[#,"BurningNumber"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

CharacteristicPolynomial

{n, n}: (x^(-2+m+n)) (-m n+(x^2))

(Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],(x^(k+m+n-3))((x^2)-k m n),GraphData[#,"CharacteristicPolynomial"][x]}]&/@GraphData["CompleteTripartite"])//Column

ChordCount

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Piecewise[{{0,k==m==n==1},{1,k==m==1||m==n==1||n==k==1}},k m +m n+n k],GraphData[#,"ChordCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

ChordlessCycleCount

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Binomial[k,2]Binomial[m,2]Binomial[n,2],GraphData[#,"ChordlessCycleCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

ChromaticInvariant

{n,n}: Sum[(\[FormalK]!)^2 StirlingS2[n - 1, \[FormalK]]^2, {\[FormalK], 0, n - 1}],

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Sum[h!i!j! StirlingS2[h-1,k]StirlingS2[i-1,m]StirlingS2[j-1,n],{h,0,k-1},{i,0,m-1},{j,0,n-1}],GraphData[#,"ChromaticInvariant"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Sum[k! StirlingS2[m-1,k],{k,0,m-1}]Sum[l! StirlingS2[n-1,l],{l,0,n-1}],GraphData[#,"ChromaticInvariant"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

53030348046942317338336489609/9762238510837560633366673993

Table[GraphData[{"CompleteTripartite",{1,n}},"ChromaticInvariant"],{n,1,10}]

Table[GraphData[{"CompleteTripartite",{2,n}},"ChromaticInvariant"],{n,2,10}]

Table[GraphData[{"CompleteTripartite",{3,n}},"ChromaticInvariant"],{n,3,10}]

(2^n)-3

Table[StirlingS2[n+1,2]-2,{n,3,10}]

Table[GraphData[{"CompleteTripartite",{4,n}},"ChromaticInvariant"],{n,4,10}]

12StirlingS2[n,3]+1

Table[12StirlingS2[n,3]+1,{n,4,10}]

Table[GraphData[{"CompleteTripartite",{5,n}},"ChromaticInvariant"],{n,5,10}]

4!

3!

Table[36StirlingS2[n+2,4],{n,4,10}]

ChromaticNumber

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],3,GraphData[#,"ChromaticNumber"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

ChromaticPolynomial

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],XXX,GraphData[#,"ChromaticPolynomial"][x]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

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

coef=Factor/@FindLinearRecurrence[(poly/(x(x-1)))]

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[XXX,{n,20}]

FullSimplify[poly2-poly]

Circumference

Entity["Graph",{"CompleteBipartite",{m,n}}]["Circumference"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Piecewise[{{2(k+m+n-Max[k,m,n]),Min[k,m,n]==1}},k+m+n],GraphData[#,"Circumference"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

GraphData["CompleteTripartite"]

Classes

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

CliqueCount

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],(k+1)(m+1)(n+1),GraphData[#,"CliqueCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

CliqueCoveringNumber

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Max[k,m,n],GraphData[#,"CliqueCoveringNumber"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

CliqueNumber

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],3,GraphData[#,"CliqueNumber"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

CliquePolynomial

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Expand[((k x+1) (m x+1) (n x+1))-GraphData[#,"CliquePolynomial"][x]]}]&/@GraphData["CompleteTripartite"],{_,0}]

ComplementOddChordlessCycleCount

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],0,GraphData[#,"ComplementOddChordlessCycleCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

ConnectedComponentCount

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],1,GraphData[#,"ConnectedComponentCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

ConnectedDominatingSetCount

Entity["Graph",{"CompleteBipartite",{m,n}}]["ConnectedDominatingSetCount"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["ConnectedDominatingSetCount"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],(2^k-1)(2^m-1) (2^n-1),GraphData[#,"ConnectedDominatingSetCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

ConnectedDominationNumber

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Piecewise[{{1,Min[k,m,n]==1}},2],GraphData[#,"ConnectedDominationNumber"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

ConnectedDominationPolynomial

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Expand[Piecewise[{{2 x+x^2,m==n==1},{x+((x+1)^m-1) ((x+1)^n-1),Min[m,n]==1}},((x+1)^m-1) ((x+1)^n-1)]-GraphData[#,"ConnectedDominationPolynomial"][x]]}]&/@GraphData["CompleteTripartite"],{_,0}]

ConnectedInducedSubgraphCount

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],(2^k-1)(2^m-1) (2^n-1)+k+m+n,GraphData[#,"ConnectedInducedSubgraphCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

ConnectedInducedSubgraphPolynomial

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Expand[((x+1)^m-1) ((x+1)^n-1)+(m+n) x-GraphData[#,"ConnectedInducedSubgraphPolynomial"][x]]}]&/@GraphData["CompleteTripartite"],{_,0}]

CrossingNumber

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Floor[k/2]Floor[(k-1)/2]Floor[n/2]Floor[(n-1)/2]Floor[m/2]Floor[(m-1)/2],GraphData[#,"CrossingNumber"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

CycleCount

{n,n}: 1/2 Sum[\[FormalK]! (\[FormalK]-1)! Binomial[n,\[FormalK]]^2,{\[FormalK],2,n}]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],1/2 Sum[k! l! Binomial[m,k]Binomial[n,l],{k,2,m},{l,2,n}],GraphData[#,"CycleCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

Table[GraphData[{"CompleteTripartite",{m,n}},"CycleCount"],{n,10},{m,n}]//Column

Table[GraphData[{"CompleteTripartite",{2,n}},"CycleCount"],{n,2,10}]

FindSequenceFunction[%,n-1]

Table[GraphData[{"CompleteTripartite",{3,n}},"CycleCount"],{n,3,10}]

FindSequenceFunction[%,n-2]//FullSimplify

Table[GraphData[{"CompleteTripartite",{4,n}},"CycleCount"],{n,4,10}]

FindSequenceFunction[%,n-3]//Factor

CyclePolynomial

Cyclic

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],True,GraphData[#,"Cyclic"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

CyclomaticNumber

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],k m +m n+n k-(k+m+n)+1,GraphData[#,"CyclomaticNumber"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

DetourIndex

{n,n}: n (2-5 n+4 (n^2))

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],XX,GraphData[#,"DetourIndex"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

DetourMatrix

GraphData[{"CompleteTripartite",{2,2}},"#"]

MatrixForm/@(d1=Table[GraphData[{"CompleteTripartite",{n,n}},"DetourMatrix"],{n,5}])

MatrixForm/@(d2=Table[SparseArray[{{i_,i_}->0,{i_,j_}/;((i≤n&&j≤n)||(i>n&&j>n))->2 n-2},2 n,2 n-1],{n,5}])

d1-d2

DetourPolynomial

{n,n}: (((-2+2 n+x))^(-2+2 n)) (-2+3 n+x) (-2+5 n-4 (n^2)+x)

Diameter

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Piecewise[{{1,k==m==n==1}},2],GraphData[#,"Diameter"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

DistanceMatrix

MatrixForm/@Table[GraphData[{"CompleteTripartite",{n,n}},"DistanceMatrix"],{n,5}]

MatrixForm/@Table[With[{z=ConstantArray[2,n {1,1}],o=ConstantArray[1,n {1,1}]},ArrayFlatten[{{z,o},{o,z}}]]-2 IdentityMatrix[2 n],{n,5}]

DistancePolynomial

{n,n}: (((2+x))^(-2+2 n)) (2-3 n+x) (2-n+x)

DistinguishingNumber

Piecewise[{{n+1,m==n}},Max[m,n]]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],XXX,GraphData[#,"DistinguishingNumber"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

DomaticNumber

Block[{k,m,n},Sort[{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],GraphData[#,"DomaticNumber"],XXX}&/@GraphData["CompleteTripartite"]]]

DominatingSetCount

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],5-(2^k)-(2^m)-(2^n)+(2^(k+m+n)),GraphData[#,"DominatingSetCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

DominationNumber

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Piecewise[{{1,Min[k,m,n]==1}},2],GraphData[#,"DominationNumber"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

DominationPolynomial

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Factor[((1+x)^k-1) ((1+x)^m-1) ((1+x)^n-1)+x^k+x^m+x^n],GraphData[#,"DominationPolynomial"][x]}]&/@GraphData["CompleteTripartite"],{_,0}]

EdgeChromaticNumber

Entity["Graph",{"CompleteBipartite",{k,m}}]["EdgeChromaticNumber"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Piecewise[{{XXX,Min[k,m,n]==1&&k==m||m==n||n==k}},Max[k+m,m+n,n+k]],GraphData[#,"EdgeChromaticNumber"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

EdgeConnectivity

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Min[m,n],GraphData[#,"EdgeConnectivity"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

EdgeCount

EdgeCount[System`CompleteGraph[{k,m,n}]]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],k m +m n+n k,GraphData[#,"EdgeCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

EdgeCoverCount

Entity["Graph",{"CompleteBipartite",{k,m}}]["EdgeCoverCount"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["EdgeCoverCount"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],m n,GraphData[#,"EdgeCoverCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

EdgeCoverNumber

Entity["Graph",{"CompleteBipartite",{k,m}}]["EdgeCoverNumber"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],XXX,GraphData[#,"EdgeCoverNumber"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

EdgeCoverPolynomial

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Expand[(Sum[(-1)^\[FormalK] Binomial[m,\[FormalK]] ((#+1)^(m-\[FormalK])-1)^n,{\[FormalK],0,m}]&)[x]-GraphData[#,"EdgeCoverPolynomial"][x]]}]&/@GraphData["CompleteTripartite"],{_,0}]

EulerianCycleCount

Entity["Graph",{"CompleteBipartite",{k,m}}]["EulerianCycleCount"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["EulerianCycleCount"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],XXX,GraphData[#,"EulerianCycleCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

FaceCount

Entity["Graph",{"CompleteBipartite",{k,m}}]["FaceCount"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],XXX,GraphData[#,"FaceCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

FibonacciCube

Entity["Graph",{"CompleteTripartite",{k,m,n}}]["FibonacciCube"]

GraphData[#,"NotationRules","CompleteTripartite"]&/@GraphData[{"CompleteTripartite","FibonacciCube"}]

FlowPolynomial

FractionalChromaticNumber

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],3,GraphData[#,"FractionalChromaticNumber"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

FractionalEdgeChromaticNumber

Entity["Graph",{"CompleteBipartite",{k,m}}]["FractionalEdgeChromaticNumber"]

Entity["Graph", {"CompleteTripartite", {n, n, n}}]["FractionalEdgeChromaticNumber"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Piecewise[{{Piecewise[{{2n, Mod[n, 2] == 0}, {(6n^2)/(3n-1 ), Mod[n, 2] == 1}}],k==m==n}},k+m+n-Min[k,m,n]],GraphData[#,"FractionalEdgeChromaticNumber"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

Cases[{"CompleteTripartite"/.GraphData[#,"NotationRules"],GraphData[#,"Class1"]}&/@GraphData["CompleteTripartite"],{g_,False}:>g]//Sort

Girth

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],3,GraphData[#,"Girth"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

Gonality

Entity["Graph",{"CompleteBipartite",{m,n}}]["Gonality"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["Gonality"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],XXX,GraphData[#,"Gonality"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

HamiltonConnected

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Piecewise[{{False,Min[k,m,n]==1}},True],GraphData[#,"HamiltonConnected"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

HamiltonDecompositionCount

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],XXX,GraphData[#,"HamiltonDecompositionCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

Hamiltonian

Entity["Graph",{"CompleteTripartite",{k,m,n}}]["Hamiltonian"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],XXX,GraphData[#,"Hamiltonian"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

HamiltonianCycleCount

{n,n}: n! (n-1)!/2,

Entity["Graph",{"CompleteBipartite",{m,n}}]["HamiltonianCycleCount"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["HamiltonianCycleCount"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],XXX,GraphData[#,"HamiltonianCycleCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

HamiltonianNumber

Entity["Graph",{"CompleteBipartite",{m,n}}]["HamiltonianNumber"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["HamiltonianNumber"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],k+m+n,GraphData[#,"HamiltonianNumber"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

HamiltonianPathCount

Entity["Graph",{"CompleteBipartite",{m,n}}]["HamiltonianPathCount"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["HamiltonianPathCount"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],XXX,GraphData[#,"HamiltonianPathCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

HamiltonianWalkCount

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],XXX,GraphData[#,"HamiltonianWalkCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

HararyIndex

Entity["Graph",{"CompleteBipartite",{m,n}}]["HararyIndex"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["HararyIndex"]

(1/4)((k^2)+(m^2)+(n^2)-(k+m+n))+k m n/.{k->n,m->n}//Factor

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],(1/4)((k^2)+(m^2)+(n^2)-(k+m+n))+k m n,GraphData[#,"HararyIndex"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

HexagonCount

Entity["Graph",{"CompleteBipartite",{m,n}}]["HexagonCount"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["HexagonCount"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],6 Binomial[k,6]Binomial[m,6]Binomial[n,6],GraphData[#,"HexagonCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

6 Binomial[m,3]Binomial[n,3]//FullSimplify

IdiosyncraticPolynomial

{n,n}: (x + y)^(-2 + 2 n) (x + y + n (1 - y)) (x + y - n (1 + y))

Expand[(x+y+n (1-y)) (x+y-n (1+y))]

FullSimplify[(x+y)^(m+n-2) (x^2+(2-m-n)x y+y^2(m-1)(n-1)-m n)/.m->n]

FullSimplify[(x+y)^(-2+2 n) (x+y+n (1-y)) (x+y-n (1+y))-(((x+y))^(-2+2 n)) (n+x+y-n y) (x+y-n (1+y))]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],FullSimplify@Expand[(x+y)^(m+n-2) (x^2+(2-m-n)x y+y^2(m-1)(n-1)-m n)/GraphData[#,"IdiosyncraticPolynomial"][x,y]]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

IncidenceMatrix

MatrixForm/@Table[GraphData[{"CompleteTripartite",{n,n}},"IncidenceMatrix"],{n,5}]

IndependenceNumber

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Max[k,m,n],GraphData[#,"IndependenceNumber"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

IndependencePolynomial

Entity["Graph",{"CompleteBipartite",{m,n}}]["IndependencePolynomial"][x]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["IndependencePolynomial"][x]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Expand[(-2+(((1+x))^m)+(((1+x))^n)+(((1+x))^k))-GraphData[#,"IndependencePolynomial"][x]]}]&/@GraphData["CompleteTripartite"],{_,0}]

IndependenceRatio

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],((Max[k,m,n])/(k+m+n)),GraphData[#,"IndependenceRatio"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

IndependentEdgeSetCount

Entity["Graph",{"CompleteBipartite",{m,n}}]["IndependentEdgeSetCount"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["IndependentEdgeSetCount"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],XXX,GraphData[#,"IndependentEdgeSetCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

IndependentVertexSetCount

{n,n}: -1+(2^(1+n))

FullSimplify[-2+(((1+x))^m)+(((1+x))^n)+(((1+x))^k)/.x->1]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],-2+(2^k)+(2^m)+(2^n),GraphData[#,"IndependentVertexSetCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

IntersectionNumber

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],XXX,GraphData[#,"IntersectionNumber"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

KirchhoffIndex

Entity["Graph",{"CompleteBipartite",{m,n}}]["KirchhoffIndex"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["KirchhoffIndex"]

Factor[((((k^2)+(m^2)+(n^2))2(k+m+n-1))/(k m n))-1/.{k->n,m->n}]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],((((k^2)+(m^2)+(n^2))(k+m+n-1))/(k m n))-1,GraphData[#,"KirchhoffIndex"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

KirchhoffSumIndex

Entity["Graph",{"CompleteBipartite",{m,n}}]["KirchhoffSumIndex"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["KirchhoffSumIndex"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],(((m+n) ((m^2)+(n^2)+m n-(m+n)))/(2 m n)),GraphData[#,"KirchhoffSumIndex"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

LaplacianMatrix

MatrixForm/@Table[GraphData[{"CompleteTripartite",{n,n}},"LaplacianMatrix"],{n,4}]

MatrixForm/@Table[With[{z=ConstantArray[0,n {1,1}],o=ConstantArray[-1,n {1,1}]},ArrayFlatten[{{z,o},{o,z}}]]+n IdentityMatrix[2 n],{n,5}]

LaplacianPolynomial

Entity["Graph",{"CompleteBipartite",{m,n}}]["LaplacianPolynomial"][x]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["LaplacianPolynomial"][x]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Expand[(x-m-n)(((x-m))^(n-1))(((x-n))^(m-1))x/GraphData[#,"LaplacianPolynomial"][x]]}]&/@GraphData["CompleteTripartite"],{_,-1|1}]

LeafCount

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],0,GraphData[#,"LeafCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

LongestCycleCount

Entity["Graph",{"CompleteBipartite",{m,n}}]["LongestCycleCount"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["LongestCycleCount"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],XXX,GraphData[#,"LongestCycleCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

LovaszNumber

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Max[k,m,n],GraphData[#,"LovaszNumber"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

LucasCube

Entity["Graph",{"CompleteTripartite",{k,m,n}}]["LucasCube"]

GraphData[#,"NotationRules","CompleteTripartite"]&/@GraphData[{"CompleteTripartite","LucasCube"}]

MatchingGeneratingPolynomial

Entity["Graph",{"CompleteBipartite",{m,n}}]["MatchingGeneratingPolynomial"][x]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["MatchingGeneratingPolynomial"][x]

Expand[Table[GraphData[{"CompleteTripartite",{m,n}},"MatchingGeneratingPolynomial"][x]-(x^m)m!LaguerreL[m,n-m,-1/x],{n,10},{m,n}]]

MatchingNumber

Entity["Graph",{"CompleteBipartite",{m,n}}]["MatchingNumber"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["MatchingNumber"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],(k+m+n),GraphData[#,"MatchingNumber"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

MatchingPolynomial

Entity["Graph",{"CompleteBipartite",{m,n}}]["MatchingPolynomial"][x]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["MatchingPolynomial"][x]

Table[Expand[GraphData[{"CompleteTripartite",{m,n}},"MatchingPolynomial"][x]-(((-1))^m)(x^(n-m))m!LaguerreL[m,n-m,(x^2)]],{n,10},{m,n}]

MaximalCliqueCount

Entity["Graph",{"CompleteBipartite",{m,n}}]["MaximalCliqueCount"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["MaximalCliqueCount"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],k m n,GraphData[#,"MaximalCliqueCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

MaximalIndependentEdgeSetCount

Entity["Graph",{"CompleteBipartite",{m,n}}]["MaximalIndependentEdgeSetCount"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["MaximalIndependentEdgeSetCount"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],XXX,GraphData[#,"MaximalIndependentEdgeSetCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

MaximalIndependentVertexSetCount

Entity["Graph",{"CompleteBipartite",{m,n}}]["MaximalIndependentVertexSetCount"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["MaximalIndependentVertexSetCount"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],3,GraphData[#,"MaximalIndependentVertexSetCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

MaximumCliqueCount

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],k m n,GraphData[#,"MaximumCliqueCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

MaximumIndependentEdgeSetCount

Entity["Graph",{"CompleteBipartite",{m,n}}]["MaximumIndependentEdgeSetCount"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["MaximumIndependentEdgeSetCount"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],((Max[m,n]!)/(Abs[n-m]!)),GraphData[#,"MaximumIndependentEdgeSetCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

MaximumIndependentVertexSetCount

Entity["Graph",{"CompleteBipartite",{m,n}}]["MaximumIndependentVertexSetCount"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["MaximumIndependentVertexSetCount"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Piecewise[{{3,k==m==n},{2,k==m==Max[k,m,n]||m==n==Max[k,m,n]||n==k==Max[k,m,n]}},1],GraphData[#,"MaximumIndependentVertexSetCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

data=RandomInteger[{1,20},{1000,3}];

DeleteCases[Function[{k,m,n},{
With[{g=System`CompleteGraph[{k,m,n}]},Length[FindIndependentVertexSet[g,Length/@FindIndependentVertexSet[g],All]]],
Piecewise[{{3,k==m==n},{2,k==m==Max[k,m,n]||m==n==Max[k,m,n]||n==k==Max[k,m,n]}},1]}]@@@data,{x_,x_}]

MaximumLeafNumber

Entity["Graph",{"CompleteBipartite",{m,n}}]["MaximumLeafNumber"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["MaximumLeafNumber"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Piecewise[{{k+m+n-1,Min[k,m,n]==1}},k+m+n-2],GraphData[#,"MaximumLeafNumber"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Piecewise[{{k+m+n-1,Min[k,m,n]==1}},k+m+n-2],GraphData[#,"MaximumLeafNumber"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

MaximumVertexDegree

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Max[k+m,m+n,n+k],GraphData[#,"MaximumVertexDegree"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

MeanDistance

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],2 (k^2+m^2+n^2-k-m-n+k m+k n+m n)/(k+m+n)^2,GraphData[#,"MeanDistance"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

MinimalDominatingSetCount

Block[{k,m,n},Sort[{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],GraphData[#,"MinimalDominatingSetCount"],XXX}&/@GraphData["CompleteTripartite"]]]

MinimalDominatingSetSignature

Block[{k,m,n},Sort[{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],GraphData[#,"MinimalDominatingSetSignature"],XXX}&/@GraphData["CompleteTripartite"]]]//Column

MinimumCliqueCoveringCount

Entity["Graph",{"CompleteBipartite",{m,n}}]["MinimumCliqueCoveringCount"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["MinimumCliqueCoveringCount"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Min[m,n]!StirlingS2[Max[m,n],Min[m,n]],GraphData[#,"MinimumCliqueCoveringCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

MinimumConnectedDominatingSetCount

Entity["Graph",{"CompleteBipartite",{m,n}}]["MinimumConnectedDominatingSetCount"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["MinimumConnectedDominatingSetCount"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],k m+m n+n k,GraphData[#,"MinimumConnectedDominatingSetCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],k^2+m^2+n^2,GraphData[#,"MinimumConnectedDominatingSetCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

MinimumDistinguishingLabelingCount

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],XXX,GraphData[#,"MinimumDistinguishingLabelingCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

MinimumDominatingSetCount

Entity["Graph",{"CompleteBipartite",{m,n}}]["MinimumDominatingSetCount"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["MinimumDominatingSetCount"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],(k m+m n+n k),GraphData[#,"MinimumDominatingSetCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

MinimumEdgeCoverCount

Entity["Graph",{"CompleteBipartite",{m,n}}]["MinimumEdgeCoverCount"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["MinimumEdgeCoverCount"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],XXX,GraphData[#,"MinimumEdgeCoverCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

MinimumLeafNumber

bug(412548)

Entity["Graph",{"CompleteTripartite",{k,m,n}}]["MinimumLeafNumber"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Min[k+m,m+n,n+k],GraphData[#,"MinimumLeafNumber"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

MinimumVertexDegree

Entity["Graph",{"CompleteTripartite",{k,m,n}}]["MinimumVertexDegree"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Min[k+m,m+n,n+k],GraphData[#,"MinimumVertexDegree"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

MolecularTopologicalIndex

Entity["Graph",{"CompleteBipartite",{m,n}}]["MolecularTopologicalIndex"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["MolecularTopologicalIndex"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],4(k m+m n+n k)(k+m +n-1),GraphData[#,"MolecularTopologicalIndex"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

Nonhamiltonian

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],XXX,GraphData[#,"Nonhamiltonian"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

NormalizedLaplacianMatrix

MatrixForm/@Table[GraphData[{"CompleteTripartite",{n,n}},"NormalizedLaplacianMatrix"],{n,5}]

MatrixForm/@Table[With[{i=IdentityMatrix[n],c=ConstantArray[-1/n,{n,n}]},ArrayFlatten[{{i,c},{c,i}}]],{n,5}]

OddChordlessCycleCount

Entity["Graph",{"CompleteBipartite",{m,n}}]["OddChordlessCycleCount"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["OddChordlessCycleCount"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],0,GraphData[#,"OddChordlessCycleCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

PathPolynomial

Pell

Entity["Graph",{"CompleteTripartite",{k,m,n}}]["Pell"]

GraphData[#,"NotationRules","CompleteTripartite"]&/@GraphData[{"CompleteTripartite","Pell"}]

PentagonCount

Entity["Graph",{"CompleteBipartite",{m,n}}]["PentagonCount"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["PentagonCount"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],3(k-1)(m-1)(n-1)k m n,GraphData[#,"PentagonCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

Perfect

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],True,GraphData[#,"Perfect"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

ProjectivePlaneCrossingNumber

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],0,GraphData[#,"ProjectivePlaneCrossingNumber"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

Radius

Entity["Graph",{"CompleteBipartite",{m,n}}]["Radius"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["Radius"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Piecewise[{{1,Min[k,m,n]==1}},2],GraphData[#,"Radius"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

RankPolynomial

(poly=Factor@Table[GraphData[{"CompleteTripartite",{n,n}},"RankPolynomial"][x,y],{n,k0=1,10}])//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[XXX,{n,20}]

FullSimplify[poly2-poly]

RectilinearCrossingNumber

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],0,GraphData[#,"RectilinearCrossingNumber"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

ReliabilityPolynomial

(poly=Factor@Table[GraphData[{"CompleteTripartite",{n,n}},"ReliabilityPolynomial"][x],{n,k0=1,10}])//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[XXX,{n,20}]

FullSimplify[poly2-poly]

ResistanceMatrix

MatrixForm/@Table[GraphData[{"CompleteTripartite",{n,n}},"ResistanceMatrix"],{n,10}]

SigmaPolynomial

(((x^n BellB[n,1/x]))^2),

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Expand[Subtract@@{(x^(m+n)) BellB[m,1/x] BellB[n,1/x],GraphData[#,"SigmaPolynomial"][x]}]}]&/@GraphData["CompleteTripartite"],{_,0}]

SpanningTreeCount

Entity["Graph",{"CompleteBipartite",{m,n}}]["SpanningTreeCount"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["SpanningTreeCount"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],((((k m n))^(k+m+n))/(2^(k m n))),GraphData[#,"SpanningTreeCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

SquareCount

Entity["Graph",{"CompleteBipartite",{m,n}}]["SquareCount"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["SquareCount"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],XXX,GraphData[#,"SquareCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

StabilityIndex

Entity["Graph",{"CompleteBipartite",{m,n}}]["StabilityIndex"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["StabilityIndex"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],0,GraphData[#,"StabilityIndex"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

TopologicalIndex

Entity["Graph",{"CompleteBipartite",{m,n}}]["TopologicalIndex"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["TopologicalIndex"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],(((-2))^(k+m+n))(1-k-m-n),GraphData[#,"TopologicalIndex"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

ToroidalCrossingNumber

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],0,GraphData[#,"ToroidalCrossingNumber"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

Traceable

Entity["Graph",{"CompleteTripartite",{k,m,n}}]["Traceable"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],X,GraphData[#,"Traceable"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

TriangleCount

Entity["Graph",{"CompleteBipartite",{m,n}}]["TriangleCount"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["TriangleCount"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],k m n,GraphData[#,"TriangleCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

TuttePolynomial

An e.g.f. is known

Untraceable

Table[GraphData[{"CompleteTripartite",{n,n}},"Untraceable"],{n,20}]

VertexConnectivity

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Min[k+m,k+n,m+n],GraphData[#,"VertexConnectivity"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

VertexCount

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],k+m+n,GraphData[#,"VertexCount"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

VertexCoverNumber

Entity["Graph",{"CompleteBipartite",{m,n}}]["VertexCoverNumber"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["VertexCoverNumber"]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Min[k+m,m+n,n+k],GraphData[#,"VertexCoverNumber"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

VertexCoverPolynomial

Entity["Graph",{"CompleteBipartite",{m,n}}]["VertexCoverPolynomial"][x]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["VertexCoverPolynomial"][x]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Expand[(x^(k+m)) (((1+x))^n)+(x^(m+n)) (((1+x))^k)+(x^(k+n)) (((1+x))^m)-2(x^(k+m+n))-GraphData[#,"VertexCoverPolynomial"][x]]}]&/@GraphData["CompleteTripartite"],{_,0}]

VertexDegrees

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Join[ConstantArray[n,m],ConstantArray[m,n]],GraphData[#,"VertexDegrees"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

VertexTransitive

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],Piecewise[{{True,k==m==n}},False],GraphData[#,"VertexTransitive"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

WienerIndex

Entity["Graph",{"CompleteBipartite",{m,n}}]["WienerIndex"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["WienerIndex"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["WienerIndex"]//Expand

Factor[2 ((k^2)+(m^2)+(n^2))-(k+m+n)/.{k->n,m->n}]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],2 ((k^2)+(m^2)+(n^2))-(k+m+n),GraphData[#,"WienerIndex"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

Factor[2 (k m+m n+n k)-(k+m+n)/.{k->n,m->n}]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],2 (k m+m n+n k)-(k+m+n),GraphData[#,"WienerIndex"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],((k^2)+(m^2)+(n^2))+(k m+m n+n k)-(k+m+n),GraphData[#,"WienerIndex"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

WienerSumIndex

Entity["Graph",{"CompleteBipartite",{m,n}}]["WienerSumIndex"]

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["WienerSumIndex"]

Factor[(( (k m+m n+n k)((k^2)+(m^2)+(n^2)+k m+m n+n k+1-(k+m+n)))/((k+m+n-1)))/.{k->n,m->n}]

Factor[(( ((k^2)+(m^2)+(n^2))((k^2)+(m^2)+(n^2)+k m+m n+n k+1-(k+m+n)))/((k+m+n-1)))/.{k->n,m->n}]

Factor[(( ((k^2)+(m^2)+(n^2))-4((k^3)+(m^3)+(n^3))+6((k^4)+(m^4)+(n^4)))/((k+m+n-1)))/.{k->n,m->n}]

DeleteCases[Block[{k,m,n},{{k,m,n}="CompleteTripartite"/.GraphData[#,"NotationRules"],(( ((k^2)+(m^2)+(n^2))-4((k^3)+(m^3)+(n^3))+6((k^4)+(m^4)+(n^4)))/((k+m+n-1))),GraphData[#,"WienerSumIndex"]}]&/@GraphData["CompleteTripartite"],{_,x_,x_}]

Properties n×n×n

Acyclic

Table[GraphData[{"CompleteTripartite",{n,n,n}},"Acyclic"],{n,10}]

AdjacencyMatrixCount

A060542

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"AdjacencyMatrixCount"],{n,10}]

FindLinearRecurrence[seq]

FindSequenceFunction[seq,n]

gf=x FindGeneratingFunction[seq,x]

Table[(3n)!/(6n!^3),{n,10}]

FunctionExpand[Multinomial[n,n,n]/6]//FullSimplify

Table[Multinomial[n,n,n],{n,10}]/6

Arboricity

Table[GraphData[{"CompleteTripartite",{n,n,n}},"Arboricity"],{n,10}]

ArcTransitive

Table[GraphData[{"CompleteTripartite",{n,n,n}},"ArcTransitive"],{n,10}]

ArcTransitivity

Table[GraphData[{"CompleteTripartite",{n,n,n}},"ArcTransitivity"],{n,10}]

AutomorphismCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"AutomorphismCount"],{n,10}]

FindSequenceFunction[seq,n]

gf=x FindGeneratingFunction[seq,x]

Table[6/Multinomial[n,n,n](3n)!,{n,10}]

Table[6n!^3,{n,10}]

BalabanIndex

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"BalabanIndex"],{n,10}]

Table[(9 n^4)/(2 (2 n-1) (2-3 n+3 n^2)),{n,10}]

Bandwidth

Table[GraphData[{"CompleteTripartite",{n,n,n}},"Bandwidth"],{n,10}]

BridgeCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"BridgeCount"],{n,10}]

BurningNumber

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"BurningNumber"],{n,10}]

Do[Print[{n,BurningNumber[System`CompleteGraph[{n,n,n}]]//Timing}],{n,20}]

CharacteristicPolynomial

(poly=Factor@Table[GraphData[{"CompleteTripartite",{n,n,n}},"CharacteristicPolynomial"][x],{n,k0=1,6}])//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) #^(3 (n-1)) (#+n)^2&)[x],{n,10}]

FullSimplify[poly2/poly]

ChordCount

Simplify[Piecewise[{{0,k==m==n==1},{1,k==m==1||m==n==1||n==k==1}},k m +m n+n k]/.{k->n,m->n},n>0]

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"ChordCount"],{n,10}]

Table[3n^2,{n,10}]

Do[Print[{n,Length[Chords[System`CompleteGraph[{n,n,n}]]]//Timing}],{n,7}]

ChordlessCycleCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"ChordlessCycleCount"],{n,10}]

FindSequenceFunction[DeleteCases[seq,_Missing],n]

gf=x FindGeneratingFunction[DeleteCases[seq,_Missing],x]

ChromaticInvariant

A182553

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"ChromaticInvariant"],{n,10}]

FindSequenceFunction[seq,n]

gf=x FindGeneratingFunction[DeleteCases[seq,_Missing],x]

polys=Table[(((-1))^n)Derivative[1][Sum[StirlingS2[n,k]StirlingS2[n,m](((#-k-m))^n)((Gamma[1+#])/(Gamma[1-k-m+#])),{k,n},{m,n}]&][x],{n,10}]//FunctionExpand//Factor;

seq=%/.x->1

FindSequenceFunction[seq,n]

gf=x FindGeneratingFunction[seq,x]

FindLinearRecurrence[seq]

Product[x-i,{i,0,k+m-1}]

Table[-(-1+km-x) Pochhammer[2-km+x,-1+km],{km,4}]//Simplify

Table[(((-1))^km)Pochhammer[-x,km],{km,4}]//Simplify

FullSimplify[%]

D[(((x-k-m))^n)Pochhammer[-x,k+m],x]//FullSimplify

Limit[%,x->1]

Sum[StirlingS2[n,k]StirlingS2[n,m](((-1))^(k+m+n))(((1-k-m))^n) Gamma[k+m-1],{k,n},{m,n}]

Table[Sum[StirlingS2[n,k]StirlingS2[n,m](((-1))^(k+m+n))(((1-k-m))^n) Gamma[k+m-1],{k,n},{m,n}],{n,10}]

ChromaticNumber

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"ChromaticNumber"],{n,10}]

ChromaticPolynomial

(poly=Factor@Table[GraphData[{"CompleteTripartite",{n,n,n}},"ChromaticPolynomial"][x],{n,k0=1,6}])//Column

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

poly2=Factor/@FunctionExpand[Table[Sum[StirlingS2[n,k]StirlingS2[n,m](((x-k-m))^n)((Gamma[1+x])/(Gamma[1-k-m+x])),{k,n},{m,n}],{n,10}]]

FullSimplify[poly2-poly]

poly3=Table[Sum[StirlingS2[n,k]StirlingS2[n,m](((x-k-m))^n)FactorialPower[x,k+m],{k,n},{m,n}],{n,10}]

FullSimplify[poly3-poly]

Circumference

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"Circumference"],{n,10}]

FindSequenceFunction[seq,n]

Classes

GraphData[{"CompleteTripartite",{1,1,1}},"#"]

Intersection@@(GraphData[#,"Classes"]&/@(Cases[("CompleteTripartite"/.GraphData[#,"NotationRules"])&/@GraphData["CompleteTripartite"],{n_,n_,n_}:>{"CompleteTripartite",{n,n,n}}]))

CliqueCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"CliqueCount"],{n,10}]

FindSequenceFunction[seq,n]//FullSimplify

CliqueCoveringNumber

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"CliqueCoveringNumber"],{n,10}]

CliqueNumber

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"CliqueNumber"],{n,10}]

CliquePolynomial

(poly=Factor@Table[GraphData[{"CompleteTripartite",{n,n,n}},"CliquePolynomial"][x],{n,k0=1,6}])//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 #)^3&)[x],{n,10}]

FullSimplify[poly2-poly]

ComplementOddChordlessCycleCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"ComplementOddChordlessCycleCount"],{n,10}]

ConnectedComponentCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"ConnectedComponentCount"],{n,10}]

ConnectedDominatingSetCount

A291703

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"ConnectedDominatingSetCount"],{n,10}]

FindSequenceFunction[DeleteMissing@Rest@seq,n-1]

Table[Piecewise[{{7,n==1}},2 ((2^(n-1))+1) ((((2^n)-1))^2)],{n,20}]

FullSimplify[2 ((2^(n-1))+1) ((((2^n)-1))^2)]

Table[Piecewise[{{7,n==1}},2-3 (2^n)+(8^n)],{n,20}]

gf=x FindGeneratingFunction[DeleteMissing@seq,x]

seq=CoefficientList[Series[((-7+23 x-78 (x^2)+48 (x^3))/(-1+11 x-26 (x^2)+16 (x^3))),{x,0,50}],x]

FindLinearRecurrence[DeleteMissing@Drop[seq,1]]

Join[{7},LinearRecurrence[{11,-26,16},{54,490,4050},20]]

ConnectedDominationNumber

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"ConnectedDominationNumber"],{n,10}]

FindSequenceFunction[seq,n]

ConnectedDominationPolynomial

(poly=Factor@Table[GraphData[{"CompleteTripartite",{n,n,n}},"ConnectedDominationPolynomial"][x],{n,k0=1,6}])//Column

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

(Subscript[K, n,n]): (((-1+(((1+x))^n)))^2)

poly2=Table[((((((1+x))^n)-1))^3),{n,10}]//Expand//Column

FullSimplify[poly2-poly]

ConnectedInducedSubgraphCount

A290756

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"ConnectedInducedSubgraphCount"],{n,10}]

FindLinearRecurrence[seq]

LinearRecurrence[{12,-37,42,-16},{7,60,499,4062},20]

FindSequenceFunction[DeleteMissing@seq,n]//FullSimplify

seq=Table[8^n-3 2^n+3n+2,{n,20}]

gf=x FindGeneratingFunction[seq,x]

CoefficientList[Series[((7-24 x+38 (x^2))/((((-1+x))^2) (1-10 x+16 (x^2)))),{x,0,20}],x]

ConnectedInducedSubgraphPolynomial

(poly=DeleteCases[Factor@Table[GraphData[{"CompleteTripartite",{n,n,n}},"ConnectedInducedSubgraphPolynomial"][x],{n,k0=1,6}],_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[XXX,{n,10}]

FullSimplify[poly2-poly]

CrossingNumber

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"CrossingNumber"],{n,10}]

CycleCount

A234616

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"CycleCount"],{n,10}]

FindLinearRecurrence[seq]

FindSequenceFunction[seq,n]

gf=x FindGeneratingFunction[seq,x]

(n,k,i,j,p)={binomial(n,k)*binomial(n,i+p)*binomial(n,j+p)*binomial(k,i)*binomial(k-i,j)*(k-1)!*(i+p)!*(j+p)!*2^(k-i-j)*binomial(p+i+j-1,k-1)}
a(n)={(sum(k=1,n,sum(i=0,k,sum(j=0,k-i,sum(p=k-i-j,n,c(n,k,i,j,p)))))+sum(k=2,n,binomial(n,k)^2*k!*(k-1)!))/2-n^2}

(1/2) ((∑_k^n)(∑_(i=0)^k)(∑_(j=0)^(k-i))(∑_(p=-i-j+k)^n)(k-1)! (i+p)! (j+p)! (Binomial[k, i]) (Binomial[n, k]) (2^(-i-j+k)) (Binomial[k-i, j]) (Binomial[n, i+p]) (Binomial[n, j+p]) (Binomial[i+j+p-1, k-1])+(∑_(k=2)^n)k! (k-1)! ((Binomial[n, k])^2))-(n^2)

Table[(Sum[Binomial[n,k]Binomial[n,i+p]Binomial[n,j+p]Binomial[k,i]Binomial[k-i,j](k-1)!(i+p)!(j+p)!2^(k-i-j)Binomial[p+i+j-1,k-1],{k,n},{i,0,k},{j,0,k-i},{p,k-i-j,n}]+Sum[Binomial[n,k]^2k!(k-1)!,{k,2,n}])/2-n^2,{n,10}]

(Inactive[Sum][Binomial[n,k]Binomial[n,i+p]Binomial[n,j+p]Binomial[k,i]Binomial[k-i,j](k-1)!(i+p)!(j+p)!2^(k-i-j)Binomial[p+i+j-1,k-1],{k,n},{i,0,k},{j,0,k-i},{p,k-i-j,n}]+Inactive[Sum][Binomial[n,k]^2k!(k-1)!,{k,2,n}])/2-n^2

CyclePolynomial

(poly=Factor@Table[GraphData[{"CompleteTripartite",{n,n,n}},"CyclePolynomial"][x],{n,k0=1,6}])//Column

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

coef=Factor/@FindLinearRecurrence[poly]

(poly2=Table[(Sum[(x^(2k))Binomial[n,k]Binomial[n,i+p]Binomial[n,j+p]Binomial[k,i]Binomial[k-i,j](k-1)!(i+p)!(j+p)!2^(k-i-j)Binomial[p+i+j-1,k-1],{k,n},{i,0,k},{j,0,k-i},{p,k-i-j,n}]+Sum[(y^k)Binomial[n,k]^2k!(k-1)!,{k,2,n}])/2-n^2,{n,3}]//Expand)//Column

FullSimplify[poly2-poly]

Cyclic

Table[GraphData[{"CompleteTripartite",{n,n,n}},"Cyclic"],{n,10}]

CyclomaticNumber

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"CyclomaticNumber"],{n,10}]

FindSequenceFunction[seq,n]//Factor

DetourIndex

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"DetourIndex"],{n,10}]

FindSequenceFunction[seq,n]//Factor

DetourMatrix

MatrixForm/@Table[GraphData[{"CompleteTripartite",{n,n,n}},"DetourMatrix"],{n,10}]

MatrixForm/@Table[SparseArray[{i_,j_}:>Abs[i-j],n],{n,10}]

DetourPolynomial

(poly=Factor@Table[GraphData[{"CompleteTripartite",{n,n,n}},"DetourPolynomial"][x],{n,k0=1,6}])//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]

FindSequenceFunction[{2,5,8,11,14,17},n]//Factor

FindSequenceFunction[{4,25,64,121,196,289},n]//Factor

(poly2=Table[(-1)^n (x-(((3 n-1))^2))(((x+3n-1))^(3n-1)),{n,10}])//Column

FullSimplify[poly2-poly]

Diameter

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"Diameter"],{n,10}]

DistanceMatrix

MatrixForm/@Table[GraphData[{"CompleteTripartite",{n,n,n}},"DistanceMatrix"],{n,4}]

MatrixForm/@Table[GraphDistanceMatrix[System`CompleteGraph[{n,n,n}]],{n,4}]

MatrixForm/@Table[With[{z=ConstantArray[2,n {1,1}],o=ConstantArray[1,n {1,1}]},ArrayFlatten[{{z,o,o},{o,z,o},{o,o,z}}]]-2 IdentityMatrix[3 n],{n,4}]

DistancePolynomial

(poly=Factor@Table[GraphData[{"CompleteTripartite",{n,n,n}},"DistancePolynomial"][x],{n,k0=1,6}])//Column

FindSequenceFunction[{2,6,10,14,18,22},n]

FindSequenceFunction[{0,3,6,9,12,15},n]

(poly2=Table[(((-1))^n)(x-2(2n-1))(((x-(n-2)))^2)(((2+x))^(3(n-1))),{n,10}])//Column

FullSimplify[poly2-poly]

DistinguishingNumber

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"DistinguishingNumber"],{n,10}]

DomaticNumber

Domatically perfect for n > 1

Checked up to n==7, inferred for 8–10

A032766

Table[GraphData[{"CompleteTripartite",{n,n,n}},"DomaticNumber"],{n,10}]

Table[DomaticNumber[g=System`CompleteGraph[{n,n,n}],FindDominatingSet[g,Infinity,All]],{n,3}]

Table[Floor[Divide@@GraphData[{"CompleteTripartite",{n,n,n}},{"VertexCount","DominationNumber"}]],{n,10}]

Simplify[Floor[Divide@@Entity["Graph",{"CompleteTripartite",{n,n,n}}][{"VertexCount","DominationNumber"}]],n>1]

Table[Piecewise[{{3,n==1}},Floor[((3 n)/2)]],{n,10}]

DominatingSetCount

A291537

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"DominatingSetCount"],{n,10}]

FindSequenceFunction[DeleteMissing@seq,n]//FullSimplify

seq=Table[(8^n)-3 (2^n)+5,{n,30}]

FindLinearRecurrence[seq]

LinearRecurrence[{11,-26,16},{7,57,493},20]

gf=x FindGeneratingFunction[seq,x]

CoefficientList[Series[((-7+20 x-48 (x^2))/(-1+11 x-26 (x^2)+16 (x^3))),{x,0,20}],x]

DominationNumber

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"DominationNumber"],{n,10}]

DominationPolynomial

(poly=Factor@Table[GraphData[{"CompleteTripartite",{n,n,n}},"DominationPolynomial"],{n,k0=1,10}])//Column

Take[poly,4]//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}]

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[XXX,{n,10}]

FullSimplify[poly2-poly]

EdgeChromaticNumber

A014601

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"EdgeChromaticNumber"],{n,10}]

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

EdgeConnectivity

Table[GraphData[{"CompleteTripartite",{n,n,n}},"EdgeConnectivity"],{n,10}]

EdgeCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"EdgeCount"],{n,10}]

FindSequenceFunction[seq,n]

EdgeCoverCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"EdgeCoverCount"],{n,10}]

EdgeCoverNumber

A007494

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"EdgeCoverNumber"],{n,10}]

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

EdgeCoverPolynomial

(poly=Factor@Table[GraphData[{"CompleteTripartite",{n,n,n}},"EdgeCoverPolynomial"][x],{n,k0=1,6}])//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[XXX,{n,10}]

FullSimplify[poly2-poly]

EulerianCycleCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"EulerianCycleCount"],{n,10}]

FindSequenceFunction[DeleteCases[seq,_Missing],n]

FaceCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"FaceCount"],{n,10}]

FibonacciCube

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["FibonacciCube"]

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"FibonacciCube"],{n,10}]

FlowPolynomial

(poly=Factor@Table[GraphData[{"CompleteTripartite",{n,n,n}},"FlowPolynomial"][x],{n,k0=1,6}])//Column

FractionalChromaticNumber

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"FractionalChromaticNumber"],{n,10}]

FractionalEdgeChromaticNumber

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"FractionalEdgeChromaticNumber"],{n,10}]

FindSequenceFunction[seq,n]

Table[Piecewise[{{2n,Mod[n,2]==0},{((6 (n^2))/(3n-1)),Mod[n,2]==1}}],{n,10}]

%==seq

Girth

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"Girth"],{n,10}]

Gonality

Possibly 2n?

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"Gonality"],{n,10}]

HamiltonConnected

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"HamiltonConnected"],{n,10}]

HamiltonDecompositionCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"HamiltonDecompositionCount"],{n,10}]

Hamiltonian

Table[GraphData[{"CompleteTripartite",{n,n,n}},"Hamiltonian"],{n,10}]

HamiltonianCycleCount

1/2 * A234365

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"HamiltonianCycleCount"],{n,10}]

2seq

FindSequenceFunction[seq,n]//FullSimplify

Table[n!^2 (n-1)! 2^(n-1) HypergeometricPFQ[{n,(1-n)/2,-n/2},{1,1},1],{n,10}]

HamiltonianNumber

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"HamiltonianNumber"],{n,10}]

FindSequenceFunction[seq,n]

HamiltonianPathCount

1/2*A234633(n) = (((n!))^3)*A110706(n)

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"HamiltonianPathCount"],{n,10}]

2seq

FindLinearRecurrence[seq]

FindSequenceFunction[seq,n]

gf=x FindGeneratingFunction[seq,x]

sum=Sum[Binomial[n-1,k]*(Binomial[n-1,k]*Binomial[2n+1-2k,n+1]+Binomial[n-1,k+1]*Binomial[2n-2k,n+1]),{k,0,Floor[n/2]}]

mod0=FullSimplify[sum,Mod[n,2]==0]

mod1=FullSimplify[sum,Mod[n,2]==1]

mod0==mod1

Table[(((n!))^3)(Binomial[2 n+1,n+1] HypergeometricPFQ[{1-n,1-n,(1/2)-(n/2),-(n/2)},{1,-(1/2)-n,-n},1]+(n-1) Binomial[2 n,n+1] HypergeometricPFQ[{1-n,2-n,(1/2)-(n/2),1-(n/2)},{2,(1/2)-n,-n},1]),{n,10}]

Table[2((n!)^3)(Binomial[2 n+1,n+1] HypergeometricPFQ[{1-n,1-n,(1/2)-(n/2),-(n/2)},{1,-(1/2)-n,-n},1]+(n-1) Binomial[2 n,n+1] HypergeometricPFQ[{1-n,2-n,(1/2)-(n/2),1-(n/2)},{2,(1/2)-n,-n},1]),{n,10}]

RecurrenceTable[{n(n+1)a[n]==(n+1)(7n-4)a[n-1]+8(n-2)^2a[n-2],a[1]==6,a[2]==30},Function[n,a[n]n!^3],{n,10}]

A110706

Table[2(Binomial[2 n+1,n+1] HypergeometricPFQ[{1-n,1-n,(1/2)-(n/2),-(n/2)},{1,-(1/2)-n,-n},1]+(n-1) Binomial[2 n,n+1] HypergeometricPFQ[{1-n,2-n,(1/2)-(n/2),1-(n/2)},{2,(1/2)-n,-n},1]),{n,10}]

RSolve[{n(n+1)a[n]==(n+1)(7n-4)a[n-1]+8(n-2)^2a[n-2],a[1]==6,a[2]==30},a[n],n]//FunctionExpand

RecurrenceTable[{n(n+1)a[n]==(n+1)(7n-4)a[n-1]+8(n-2)^2a[n-2],a[1]==6,a[2]==30},a,{n,10}]

HamiltonianWalkCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"HamiltonianWalkCount"],{n,10}]

HararyIndex

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"HararyIndex"],{n,10}]

FindSequenceFunction[seq,n]//Factor

HexagonCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"HexagonCount"],{n,10}]

FindSequenceFunction[seq,n]

FindSequenceFunction[Drop[seq,1],n-1]

gf=x FindGeneratingFunction[seq,x]

seq=Table[GraphCycleCount[System`CompleteGraph[{n,n,n}],6],{n,10}]

FindSequenceFunction[seq,n]//Factor

2((Binomial[n,2])^2)(11 n^2-20 n+4)

IdiosyncraticPolynomial

(poly=Factor@Table[GraphData[{"CompleteTripartite",{n,n,n}},"IdiosyncraticPolynomial"][x,y],{n,k0=1,6}])//Column

coef=Factor/@FindLinearRecurrence[poly]

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

FullSimplify[poly2-poly]

IncidenceMatrix

MatrixForm/@Table[System`IncidenceMatrix[System`CompleteGraph[{n,n,n}]],{n,4}]

MatrixForm/@Table[GraphData[{"CompleteTripartite",{n,n,n}},"IncidenceMatrix"],{n,4}]

IndependenceNumber

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"IndependenceNumber"],{n,10}]

IndependencePolynomial

(poly=Factor@Table[GraphData[{"CompleteTripartite",{n,n,n}},"IndependencePolynomial"][x],{n,k0=1,6}])//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[XXX,{n,10}]

FullSimplify[poly2-poly]

IndependenceRatio

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"IndependenceRatio"],{n,10}]

IndependentEdgeSetCount

A293075

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"IndependentEdgeSetCount"],{n,10}]

Sum[((Binomial[n,i])^2)Binomial[n,j]Binomial[n-i,j]Binomial[n-i,k]Binomial[n-j,k]i!j!k!,{k,0,Min[n-i,n-j]}]

Sum[(((-1))^(i-n)) ((Binomial[n,i])^2) Binomial[n,j] Binomial[-i+n,j] i! j! HypergeometricU[i-n,1+i-j,-1],{j,0,n-i}]

Table[Sum[((Binomial[n,i])^2)Binomial[n,j]Binomial[n-i,j]Binomial[n-i,k]Binomial[n-j,k]i!j!k!,{i,0,n},{j,0,n-i},{k,0,Min[n-i,n-j]}],{n,10}]

Table[Sum[(((-1))^(i-n)) ((Binomial[n,i])^2) Binomial[n,j] Binomial[-i+n,j] i! j! HypergeometricU[i-n,1+i-j,-1],{i,0,n},{j,0,n-i}],{n,10}]

FindSequenceFunction[seq,n]

FindLinearRecurrence[seq]

gf=x FindGeneratingFunction[seq,x]

IndependentVertexSetCount

A033484

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"IndependentVertexSetCount"],{n,10}]

FindSequenceFunction[seq,n]

Table[3 2^n-2,{n,0,20}]

3 2^Range[0,20]-2

FindLinearRecurrence[seq]

seq=LinearRecurrence[{3,-2},{1,4},20]

gf=x FindGeneratingFunction[seq,x]

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

IntersectionNumber

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"IntersectionNumber"],{n,10}]

IrredundantSetCount

A290709

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"IrredundantSetCount"],{n,10}]

seq={4,22,49,94,169,298,529,958,1777,3370,6505,12718,25081,49738,98977,197374,394081,787402,1573945,3146926,6292777,12584362,25167409,50333374,100665169,201328618,402655369,805308718,1610615257,3221228170,6442453825,12884904958};

FindLinearRecurrence[Rest@DeleteMissing@seq]

Join[{4},LinearRecurrence[{5,-9,7,-2},{22,49,94,169},20]]

gf=x FindGeneratingFunction[DeleteMissing@seq,x]

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

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

Table[If[n==1,4,3((2^n)+(n^2))-2],{n,20}]

KirchhoffIndex

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"KirchhoffIndex"],{n,10}]

FindSequenceFunction[seq,n]

KirchhoffSumIndex

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"KirchhoffSumIndex"],{n,10}]

FindSequenceFunction[seq,n]

LaplacianMatrix

MatrixForm/@Table[GraphData[{"CompleteTripartite",{n,n,n}},"LaplacianMatrix"],{n,10}]

LaplacianPolynomial

(poly=Factor@Table[GraphData[{"CompleteTripartite",{n,n,n}},"LaplacianPolynomial"][x],{n,k0=1,6}])//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[XXX,{n,10}]

FullSimplify[poly2-poly]

LeafCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"LeafCount"],{n,10}]

LongestCycleCount

==HamiltonianCycleCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"LongestCycleCount"],{n,10}]

Table[n!^2 (n-1)! 2^(n-1) HypergeometricPFQ[{n,(1-n)/2,-n/2},{1,1},1],{n,10}]

LovaszNumber

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"LovaszNumber"],{n,10}]

LucasCube

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["LucasCube"]

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"LucasCube"],{n,10}]

MatchingGeneratingPolynomial

(poly=Factor@Table[GraphData[{"CompleteTripartite",{n,n,n}},"MatchingGeneratingPolynomial"][x],{n,k0=1,6}])//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[XXX,{n,10}]

FullSimplify[poly2-poly]

MatchingNumber

A032766

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"MatchingNumber"],{n,10}]

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

gf=x FindGeneratingFunction[seq,x]

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

Table[(1/4) (-1+(((-1))^n)+6 n),{n,10}]

MatchingPolynomial

(poly=Factor@Table[GraphData[{"CompleteTripartite",{n,n,n}},"MatchingPolynomial"][x],{n,k0=1,6}])//Column

Take[poly,4]//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}]

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[XXX,{n,10}]

FullSimplify[poly2-poly]

MaximalCliqueCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"MaximalCliqueCount"],{n,10}]

FindSequenceFunction[seq,n]

MaximalIndependentEdgeSetCount

Entity["Graph",{"CompleteBipartite",{n,n}}]["MaximalIndependentEdgeSetCount"]

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"MaximalIndependentEdgeSetCount"],{n,10}]

FindLinearRecurrence[DeleteCases[seq,_Missing]]

FindSequenceFunction[DeleteCases[seq,_Missing],n]

gf=x FindGeneratingFunction[DeleteCases[seq,_Missing],x]

MaximalIndependentVertexSetCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"MaximalIndependentVertexSetCount"],{n,10}]

MaximalIrredundantSetCount

===MinimalDominatingSetCount

A290325

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"MaximalIrredundantSetCount"],{n,10}]

Table[Piecewise[{{3,n==1}},3 n^2+3],{n,20}]

MaximumCliqueCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"MaximumCliqueCount"],{n,10}]

FindSequenceFunction[seq,n]

MaximumIndependentEdgeSetCount

Entity["Graph",{"CompleteBipartite",{n,n}}]["MaximumIndependentEdgeSetCount"]

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"MaximumIndependentEdgeSetCount"],{n,10}]

FindSequenceFunction[seq,n]

gf=x FindGeneratingFunction[seq,x]

Do[Print[{n,Length[FindAllMaximumIndependentEdgeSets[System`CompleteGraph[{n,n,n}]]]//Timing}],{n,10}]

MaximumIndependentVertexSetCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"MaximumIndependentVertexSetCount"],{n,10}]

MaximumLeafNumber

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"MaximumLeafNumber"],{n,10}]

FindSequenceFunction[seq,n]

gf=x FindGeneratingFunction[seq,x]

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

MaximumVertexDegree

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"MaximumVertexDegree"],{n,10}]

FindSequenceFunction[seq,n]

MeanDistance

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"MeanDistance"],{n,10}]

FindSequenceFunction[seq,n]

MinimalDominatingSetCount

A290325

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"MinimalDominatingSetCount"],{n,10}]

Table[Piecewise[{{3,n==1}},3n^2+3],{n,10}]

MinimalDominatingSetSignature

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"MinimalDominatingSetSignature"],{n,10}]//Column

MinimumCliqueCoveringCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"MinimumCliqueCoveringCount"],{n,10}]

FindSequenceFunction[DeleteMissing[seq],n]

gf=x FindGeneratingFunction[DeleteMissing[seq],x]

Table[n!^2,{n,10}]

MinimumConnectedDominatingSetCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"MinimumConnectedDominatingSetCount"],{n,10}]

FindSequenceFunction[seq,n]

MinimumDistinguishingLabelingCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"MinimumDistinguishingLabelingCount"],{n,10}]

MinimumDominatingSetCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"MinimumDominatingSetCount"],{n,10}]

FindSequenceFunction[seq,n]

gf=x FindGeneratingFunction[seq,x]

seq/3

Table[Piecewise[{{15,n==2}},3(n^2)],{n,10}]

MinimumEdgeCoverCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"MinimumEdgeCoverCount"],{n,10}]

MinimumVertexDegree

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"MinimumVertexDegree"],{n,10}]

FindSequenceFunction[seq,n]

MolecularTopologicalIndex

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"MolecularTopologicalIndex"],{n,10}]

FindSequenceFunction[seq,n]//Factor

Nonhamiltonian

Table[GraphData[{"CompleteTripartite",{n,n,n}},"Nonhamiltonian"],{n,10}]

NormalizedLaplacianMatrix

MatrixForm/@Table[GraphData[{"CompleteTripartite",{n,n,n}},"NormalizedLaplacianMatrix"],{n,10}]

OddChordlessCycleCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"OddChordlessCycleCount"],{n,10}]

PathCount

A290324

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"PathCount"],{n,10}]

c[n_,k_,i_,j_,p_]:=Binomial[n,k] Binomial[n,i+p] Binomial[n,j+p] Binomial[k,i] Binomial[k-i,j] k!*(i+p)!*(j+p)!*2^(k-i-j)*Binomial[p+i+j-1,k-1](1+n-k);a[n_]:=3*Sum[Sum[Sum[Sum[c[n,k,i,j,p],{p,k-i-j,n}],{j,0,k-i}],{i,0,k}],{k,n}]/2;

Array[a,10]

PathPolynomial

(poly=Factor[Table[GraphData[{"CompleteTripartite",{n,n,n}},"PathPolynomial"],{n,k0=1,kmax=10}]/.f_Function:>f[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[XXX,{n,k0,kmax}]

FullSimplify[poly2-poly]

Pell

Entity["Graph",{"CompleteTripartite",{n,n,n}}]["Pell"]

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"Pell"],{n,10}]

PentagonCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"PentagonCount"],{n,10}]

FindSequenceFunction[seq,n]

gf=x FindGeneratingFunction[seq,x]

Table[3n^3(n-1)^2,{n,10}]

Perfect

Table[GraphData[{"CompleteTripartite",{n,n,n}},"Perfect"],{n,10}]

ProjectivePlaneCrossingNumber

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"ProjectivePlaneCrossingNumber"],{n,10}]

Radius

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"Radius"],{n,10}]

RankPolynomial

(poly=Factor@Table[GraphData[{"CompleteTripartite",{n,n,n}},"RankPolynomial"][x,y],{n,k0=1,3}])//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[XXX,{n,10}]

FullSimplify[poly2-poly]

RectilinearCrossingNumber

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"RectilinearCrossingNumber"],{n,10}]

ReliabilityPolynomial

(poly=Factor@Table[GraphData[{"CompleteTripartite",{n,n,n}},"ReliabilityPolynomial"][x],{n,k0=1,6}])//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[XXX,{n,10}]

FullSimplify[poly2-poly]

SigmaPolynomial

(poly=Factor@Table[GraphData[{"CompleteTripartite",{n,n,n}},"SigmaPolynomial"][x],{n,k0=1,6}])//Column

Factor@Table[(x^(3n)) ((BellB[n,1/x])^3),{n,10}]//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[XXX,{n,10}]

FullSimplify[poly2-poly]

SpanningTreeCount

A193131

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"SpanningTreeCount"],{n,10}]

FindSequenceFunction[seq,n]

gf=x FindGeneratingFunction[seq,x]

Table[3 8^(n-1)n^(3n-2),{n,10}]

SquareCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"SquareCount"],{n,10}]

FindSequenceFunction[seq,n]//Factor

StabilityIndex

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"StabilityIndex"],{n,10}]

(seq=Table[StabilityIndex[System`CompleteGraph[{n,n,n}]],{n,11}])//Timing

FindLinearRecurrence[seq]

FindSequenceFunction[seq,n]

FindSequenceFunction[Table[{n,seq[[n]]},{n,1,Length[seq],2}],n]//Factor

FindSequenceFunction[Table[{n,seq[[n]]},{n,2,Length[seq],2}],n]//Factor

gf=x FindGeneratingFunction[seq,x]

Table[Piecewise[{{3(n^2)+1,Mod[n,2]==0},{2 (n^3),Mod[n,2]==1}}],{n,11}]

%==seq

TopologicalIndex

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"TopologicalIndex"],{n,10}]

FindSequenceFunction[seq,n]//FullSimplify

ToroidalCrossingNumber

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"ToroidalCrossingNumber"],{n,10}]

Traceable

Table[GraphData[{"CompleteTripartite",{n,n,n}},"Traceable"],{n,10}]

TriangleCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"TriangleCount"],{n,10}]

FindSequenceFunction[seq,n]

TuttePolynomial

(poly=Factor@Table[GraphData[{"CompleteTripartite",{n,n,n}},"TuttePolynomial"][x,y],{n,k0=1,6}])//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[XXX,{n,10}]

FullSimplify[poly2-poly]

Untraceable

Table[GraphData[{"CompleteTripartite",{n,n,n}},"Untraceable"],{n,10}]

VertexConnectivity

Table[GraphData[{"CompleteTripartite",{n,n,n}},"VertexConnectivity"],{n,10}]

VertexCount

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"VertexCount"],{n,10}]

FindSequenceFunction[seq,n]

VertexCoverNumber

Related to but not the same as IndependenceNumber

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"VertexCoverNumber"],{n,10}]

VertexCoverPolynomial

(poly=Factor@Table[GraphData[{"CompleteTripartite",{n,n,n}},"VertexCoverPolynomial"][x],{n,k0=1,6}])//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 (x^(3 n))+3 ((((x^2) (1+x)))^n),{n,10}]

FullSimplify[poly2-poly]

VertexDegrees

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"VertexDegrees"],{n,10}]

VertexTransitive

Table[GraphData[{"CompleteTripartite",{n,n,n}},"VertexTransitive"],{n,10}]

WienerIndex

A094159

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"WienerIndex"],{n,10}]

FindLinearRecurrence[seq]

LinearRecurrence[{3,-3,1},{3,18,45},{0,20}]

FindSequenceFunction[seq,n]//Factor

Table[3n(2n-1),{n,0,20}]

3PolygonalNumber[6,Range[0,20]]

WienerSumIndex

seq=Table[GraphData[{"CompleteTripartite",{n,n,n}},"WienerSumIndex"],{n,10}]

FindSequenceFunction[seq,n]

Table[3 n^2 (6 n^2-4 n+1)/(3 n-1),{n,10}]

GraphData

GraphClassString

GraphClassString[GraphData["CompleteTripartite"]]

GraphDataString

i=Sort[Flatten[Table[{m,k,n},{n,10},{k,n},{m,k}],2]]

(kmn=SortBy[DeleteCases[{#,RecognizeGraph[System`CompleteGraph[#]]}&/@i,{_,{}}],First[Flatten[{#}]]&])//Column

new=Select[i,((r=RecognizeGraph[System`CompleteGraph[#]])==={})||Quiet[Head[GraphData[r,"#"]]]===GraphData&]

(Subscript[K, k,m,n])

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

Function[{k,m,n},WriteString[file,GraphDataString[System`CompleteGraph[{k,m,n}],
"Name"->"("<>ToString[k]<>","<>ToString[m]<>","<>ToString[n]<>")-complete tripartite graph",
"StandardName"->{"CompleteTripartite",{k,m,n}},
"AlternateStandardNames"->{"K"<>ToString[k]<>","<>ToString[m]<>","<>ToString[n]},
"Classes"->{"CompleteTripartite"},
"NotationRules"->{"CompleteTripartite"->{k,m,n}},
"Notation"->HoldForm[Subscript["K",k,m,n]],
"Information"->"CompleteTripartiteGraph",
"Skip"->{"Arboricity","CliqueCoveringNumber","ConnectedDominatingSets","TuttePolynomial"},
	(*bug(338571):TimeConstrained Subgraph sporadically crashes kernel after multiple evaluations*)
TimeConstraint->10,
Debug->True
]]]@@@new;

Close[file]

(Subscript[K, n,n,n])

file=OpenWrite["~/kn,n,n.m"]

GraphData["CompleteTripartite"]

Do[WriteString[file,GraphDataString[System`CompleteGraph[{n,n,n}],
"Name"->"("<>ToString[n]<>","<>ToString[n]<>","<>ToString[n]<>")-complete tripartite graph",
"StandardName"->{"CompleteTripartite",{n,n,n}},
"AlternateStandardNames"->{"K"<>ToString[n]<>","<>ToString[n]<>","<>ToString[n]},
"Classes"->{"CompleteTripartite"},
"NotationRules"->{"CompleteTripartite"->{n,n,n}},
"Notation"->HoldForm[Subscript["K",n,n,n]],
"Information"->"CompleteTripartiteGraph",
"Skip"->{"Perfect"},
TimeConstraint->10,
Debug->True
]],{n,7,10}]

Close[file]