Icosidodecahedral Graph

Author

Eric W. Weisstein
October 30, 2023

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

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

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

Graph

<<MathWorld`Graphs`

Names

GraphData["IcosidodecahedralGraph","StandardName"]

GraphData["IcosidodecahedralGraph","StandardNames"]

Primary

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

Construction from Read and Wilson

All

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

Inexact

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

Embedding types

GraphDataEmbeddings[GraphData["IcosidodecahedralGraph","EdgeList"]]

Default embedding

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

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

RecognizeGraph[g]

Degenerate

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

Perspective

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

Perspective construction

PolyhedronGraph[GraphData["IcosidodecahedralGraph","Polyhedron"]]

Manipulate[PolyhedronProjectionGraph[GraphData["IcosidodecahedralGraph","Polyhedron"],{x,y,z}],{x,-1,1},{y,-1,1},{z,-1,1}]

PolyhedronProjectionGraph[GraphData["IcosidodecahedralGraph","Polyhedron"],{0,.01,.01}]

PolyhedronProjectionGraph[GraphData["IcosidodecahedralGraph","Polyhedron"],{0,0,1}]

PolyhedronProjectionGraph[GraphData["IcosidodecahedralGraph","Polyhedron"],{0,1,0}]

PolyhedronProjectionGraph[GraphData["IcosidodecahedralGraph","Polyhedron"],{1,0.01,0}]

PolyhedronProjectionGraph[GraphData["IcosidodecahedralGraph","Polyhedron"],{1,1,0}]

PolyhedronProjectionGraph[GraphData["IcosidodecahedralGraph","Polyhedron"],{1,0,1,-Pi/2}]

PolyhedronProjectionGraph[GraphData["IcosidodecahedralGraph","Polyhedron"],{1,1,1}]

Bilateral

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

Circular

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

Planar

GraphData["IcosidodecahedralGraph","Planar"]

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

Tutte embeddings

faces=ReverseSort@SymmetricallyDistinctFaces[GraphData["IcosidodecahedralGraph"]]

Tally[ReverseSort[Length/@faces]]

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

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

Tutte embedding construction

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

RecognizeGraph[g]

MinimalCrossing

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

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

Perspective

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

MinimalCrossing

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

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

Tutte embeddings

faces=ReverseSort@SymmetricallyDistinctFaces[GraphData["IcosidodecahedralGraph"]]

Tally[ReverseSort[Length/@faces]]

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

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

RecognizeGraph/@gs

Tutte embedding construction

GraphPlot[RotateGraph[]]

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

RecognizeGraph[g]

Circulant

GraphData["IcosidodecahedralGraph","Circulant"]

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

Complement graph

GraphData["IcosidodecahedralGraph","ComplementGraph","Name"]

Line graph

GraphData["IcosidodecahedralGraph","Line"]

LineGraphQ[GraphData["IcosidodecahedralGraph"]]//Timing

RootGraph

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

RootGraph[GraphData["IcosidodecahedralGraph"]]

LineGraph/@GraphData["DodecahedralGraph","Graph","All"]

<<MathWorld`Graphs`

gs=LabelGraph/@{,,,,}

Halin

GraphData["IcosidodecahedralGraph","Halin"]

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

Rigid

GraphData["IcosidodecahedralGraph","Rigid"]

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

Flexible

GraphData["IcosidodecahedralGraph","Flexible"]

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

LCF

GraphData["IcosidodecahedralGraph","LCF"]

GraphData["IcosidodecahedralGraph","HamiltonianCycleCount"]

GraphData["IcosidodecahedralGraph","LCFSignature"]

GraphData["IcosidodecahedralGraph","LCFNotations"]

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

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

LCF compute all

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

Tally[(lcf=LCF[GraphData["IcosidodecahedralGraph"],All])[[All,2]]]//Timing

MaxMemoryUsed[]/10.^9 "GB"

DeleteCases[lcf,{_,1}]

LCFGraph@@@DeleteCases[lcf,{_,1}]//StyleGraphs

Tally[LCFNotation[#][[-1]]&/@(gs=NiceLCFGraphs[lcf,2])]//Timing

Length[gs]

gs

gs={
LCFGraph[{{-10,10},{-2,2},{6,7},{-6,-2},{-7,2}},6,5],
LCFGraph[{{-10,10},{-2,7},{2,6},{-7,-6},{-2,2}},6,5],
LCFGraph[{{-10,10},{-2,2},{6,7},{-2,2},{-7,-6},{-2,2},{-10,10},{-2,7},{-6,6},{-7,2}},3,5],
LCFGraph[{{-11,9},{-2,6},{-6,5},{-7,2},{-10,11},{-2,8},{2,7},{-6,-5},{-2,2},{-9,10},{-2,2},{6,7},{-2,2},{-8,-7},{-2,2}},2,6],
LCFGraph[{{-11,10},{-2,7},{-5,6},{-6,2},{-9,11},{-2,2},{7,8},{-2,2},{-7,-6},{-2,2},{-10,9},{-2,2},{5,6},{-7,-2},{-8,2}},2]
}

BilateralGraphEmbeddingQ/@%

UnitDistance

GraphData["IcosidodecahedralGraph","UnitDistance"]

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

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

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

Select[UnitDistanceEmbeddingRefine/@Complement@@(GraphData["IcosidodecahedralGraph","Graph",#]&/@{"All","UnitDistance"}),UnitDistanceGraphEmbeddingQ]

gs=CenterGraph/@{RotateGraph[LabelGraph[],{1,4}],RotateGraph[LabelGraph[],{21,17}]}

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

UnitDistance construction

(g=UnitDistanceEmbeddingRefine[GraphicsToGraph@GraphPlot[GraphData["IcosidodecahedralGraph","EdgeList"]],MaxIterations->100000,WorkingPrecision->30])//Timing

UnitDistanceGraphEmbeddingQ[g,Debug->True]

EdgeLengths[g]//N

UnitDistance FindSubgraphUnitDistanceEmbedding

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

gs=UniqueEmbeddings[l]

Matchstick

GraphData["IcosidodecahedralGraph","Matchstick"]

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

3D default

Graph3D[GraphData["IcosidodecahedralGraph","Edges"]]

3D All

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

3D UnitDistance

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

3D Polyhedron

GraphData["IcosidodecahedralGraph","Polyhedral"]

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

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

3D Canonical

GraphData["IcosidodecahedralGraph","Graph",{"3D","Canonical"}]

Graphics3D[{Opacity[.5],Red,GraphData["IcosidodecahedralGraph","Polyhedron","Canonical"],Yellow,Sphere[]}]

3D Canonical construction

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

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

SimplePolyhedronQ[can]

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

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

v=PolyhedronCoordinates[can];

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

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

g=PolyhedronGraph[can]

Projections

Manipulate[PolyhedronProjectionGraph[PolyhedronData["Icosidodecahedron","Polyhedron"],{a,b,c}],{a,-1,1},{b,-1,1},{c,-1,1}]

{(1/8) (1+(Sqrt[5])),(Sqrt[(25/32)+((11 (Sqrt[5]))/32)]),-1,π-ArcTan[(Sqrt[(2/15) (7-3 (Sqrt[5]))])]}

g=PolyhedronProjectionGraph[PolyhedronData["Icosidodecahedron","Polyhedron"],{(1/8) (1+(Sqrt[5])),(Sqrt[(25/32)+((11 (Sqrt[5]))/32)]),-1,π-ArcTan[(Sqrt[(2/15) (7-3 (Sqrt[5]))])]},VertexLabels->"Name"]

g=Limit[PolyhedronProjectionGraph[PolyhedronData["Icosidodecahedron","Polyhedron"],{-.21,-.65,.52},VertexLabels->"Name"],z->1]

g=Limit[PolyhedronProjectionGraph[PolyhedronData["Icosidodecahedron","Polyhedron"],{.21,.65,-.6},VertexLabels->"Name"],z->1]

g=PolyhedronProjectionGraph[PolyhedronData["Icosidodecahedron","Polyhedron"],{x,y,-1},VertexLabels->"Name"]

v=GraphEmbedding[g];

FullSimplify[v[[25]]-v[[28]],x>0&&y>0]

Solve[Thread[%==0],{x,y},Reals]//FullSimplify

g=PolyhedronProjectionGraph[PolyhedronData["Icosidodecahedron","Polyhedron"],{(1/8) (1+(Sqrt[5])),(Sqrt[(25/32)+((11 (Sqrt[5]))/32)]),-1},VertexLabels->"Name"]

v=GraphEmbedding[g];

ArcTan@@(v[[10]]-v[[28]])//FullSimplify

{0, 0, 1}

g=PolyhedronProjectionGraph[PolyhedronData["Icosidodecahedron","Polyhedron"],{0,0,1}]

{0, 1, 0,π-ArcTan[(1/2)-((Sqrt[5])/2)]}

g=PolyhedronProjectionGraph[PolyhedronData["Icosidodecahedron","Polyhedron"],{0,1,0,π-ArcTan[(1/2)-((Sqrt[5])/2)]},VertexLabels->"Name"]

g=PolyhedronProjectionGraph[PolyhedronData["Icosidodecahedron","Polyhedron"],{0,1,0},VertexLabels->"Name"]

g=PolyhedronProjectionGraph[PolyhedronData["Icosidodecahedron","Polyhedron"],{0,1,.1},VertexLabels->"Name"]

v=GraphEmbedding[g];

ArcTan@@(v[[29]]-v[[25]])//FullSimplify

{1, 0, 0}

g=PolyhedronProjectionGraph[PolyhedronData["Icosidodecahedron","Polyhedron"],{1,z,0},VertexLabels->"Name"]

v=Limit[GraphEmbedding[g],z->0,Direction->"FromBelow"]//FullSimplify

SetProperty[g,VertexCoordinates->v]

{1, 0, 1}

g=PolyhedronProjectionGraph[PolyhedronData["Icosidodecahedron","Polyhedron"],{1,0,1},VertexLabels->"Name"]

{(3/4) (-1+(Sqrt[5])),(1/2) (Sqrt[(1/2) (5+(Sqrt[5]))])}

g=PolyhedronProjectionGraph[PolyhedronData["Icosidodecahedron","Polyhedron"],{(3/4) (-1+(Sqrt[5])),(1/2) (Sqrt[(1/2) (5+(Sqrt[5]))]),1,π/2-ArcTan[(Sqrt[2]) (-2+(Sqrt[5]))]},VertexLabels->"Name"]

v=GraphEmbedding[g];

ArcTan@@(v[[23]]-v[[30]])//FullSimplify

g=PolyhedronProjectionGraph[PolyhedronData["Icosidodecahedron","Polyhedron"],{.93,.93,1},VertexLabels->"Name"]

g=PolyhedronProjectionGraph[PolyhedronData["Icosidodecahedron","Polyhedron"],{.9,.9,1},VertexLabels->"Name"]

g=PolyhedronProjectionGraph[PolyhedronData["Icosidodecahedron","Polyhedron"],{x,y,1},VertexLabels->"Name"]

v=GraphEmbedding[g];

FullSimplify[v[[20]]-v[[30]],x>0&&y>0]

Solve[Thread[%==0],{x,y}]//FullSimplify

{-(Sqrt[(1/30) (5+(Sqrt[5]))]),(Sqrt[(1/6) (3-(Sqrt[5]))]),(Sqrt[(1/15) (5+2 (Sqrt[5]))])}

g=PolyhedronProjectionGraph[PolyhedronData["Icosidodecahedron","Polyhedron"],{-(Sqrt[(1/30) (5+(Sqrt[5]))]),(Sqrt[(1/6) (3-(Sqrt[5]))]),(Sqrt[(1/15) (5+2 (Sqrt[5]))]),ArcTan[(Sqrt[(1/6) (7-3 (Sqrt[5]))])]},VertexLabels->"Name"]

v=GraphEmbedding[g];

ArcTan@@(v[[9]]-v[[3]])//FullSimplify

Properties

GraphData["IcosidodecahedralGraph","ChromaticPolynomial"]

GraphData["IcosidodecahedralGraph","Spectrum"]//SpectrumForm//TraditionalForm

GraphData["IcosidodecahedralGraph",{"|HC|","|HP|","|Aut|"}]

GraphData["IcosidodecahedralGraph","DualGraphName"]

GraphData["IcosidodecahedralGraph","LineGraphName"]

GraphData["IcosidodecahedralGraph","ComplementGraphName"]

GraphData["IcosidodecahedralGraph","CochromaticGraphNames"]

Embeddings

UnitDistance #1

Construction

RotateGraph[LabelGraph[UnitDistanceEmbeddingRefine[]],{3,2}]

g=GraphData["IcosidodecahedralGraph","Graph",{"Labeled","UnitDistance"}][[1]]

v=GraphEmbedding[g]

Mean[v]

Round[10^6Norm/@v]/10^6.//Tally//Sort

1./Sqrt[3]

a1=Norm[v[[21]]]

q1=ArcTan@@v[[21]]-Pi/2

a2=Norm[v[[9]]]

q2=ArcTan@@v[[9]]+Pi/2

a3=Norm[v[[15]]]

q3=ArcTan@@v[[8]]-Pi/2

a4=Norm[v[[24]]]

q4=ArcTan@@v[[24]]-Pi/2

a5=Norm[v[[3]]]

a6=Norm[v[[4]]]

v0=Join[
CirclePoints[{a1,Pi/2+q1},3],CirclePoints[{a1,Pi/2-q1},3],
CirclePoints[{a2,-Pi/2+q2},3],CirclePoints[{a2,-Pi/2-q2},3],
CirclePoints[{a3,Pi/2-q3},3],CirclePoints[{a3,Pi/2+q3},3],
CirclePoints[{a4,Pi/2-q4},3],CirclePoints[{a4,Pi/2+q4},3],
CirclePoints[{a5,-Pi/2},3],
CirclePoints[{a6,Pi/2},3]
];
e=UnitEdges[v0];
g1=Graph[Range[Length[v0]],e,VertexCoordinates->v0,VertexLabels->"Name"]

g=EdgeDelete[g1,UndirectedEdge@@@{{5,20},{1,22},{4,19},{3,24},{6,21},{2,23}}]

RecognizeGraph[g]

e=EdgeList[g]

Clear[a1,a2,a3,a4,a5,a6,q1,q2,q3,q4,q5]

v=Join[
CirclePoints[{a1,Pi/2+q1},3],CirclePoints[{a1,Pi/2-q1},3],
CirclePoints[{a2,-Pi/2+q2},3],CirclePoints[{a2,-Pi/2-q2},3],
CirclePoints[{a3,Pi/2-q3},3],CirclePoints[{a3,Pi/2+q3},3],
CirclePoints[{a4,Pi/2-q4},3],CirclePoints[{a4,Pi/2+q4},3],
CirclePoints[{a5,-Pi/2},3],
CirclePoints[{a6,Pi/2},3]
];

eqn=FullSimplify[UnitEdgeEquations[v,e]]//Union

eqn2=DeleteCases[FullSimplify[eqn/.a1->1/Sqrt[3]]//Union,True]

Length[eqn2]

eqn3=TrigExpand[eqn2]//Union//FullSimplify//Union//TrigExpand

Length[eqn3]

soln=FindRoot[eqn3,{
{q1,0.6027945527522651`},
{a2,0.7146455259299176`},
{q2,0.11092982619250091`},
{a3,1.2742816626398072`},
{q3,0.25978384064504656`},
{a4,1.5641000164125554`},
{q4,0.4318478806010302`},
{a5,1.7071186772297964`},
{a6,2.176434994147194`}},
WorkingPrecision->10000];

vnew=Map[ToAlgebraicRoot,v/.a1->1/Sqrt[3]/.soln,{2}]

g=Graph[Range[Length[vnew]],e,VertexCoordinates->vnew]

RecognizeGraph[g]

With extra unit-distance edges added back:

g=GraphData["IcosidodecahedralGraph","Graph",{"Labeled","UnitDistance"}][[1]]

g1=Graph[VertexList[g],UnitEdges[GraphEmbedding[g]],VertexCoordinates->GraphEmbedding[g]]

RecognizeGraph[g1]

From supergraph via edge deletion

FindSubgraphIsomorphism[GraphData["IcosidodecahedralGraph","Graph","UnitDistance"][[2]],GraphData[{"UnitDistance",{30,1}}]]

GraphicsRow[{GraphData[{"UnitDistance",{30,1}},"Graph","Labeled"],GraphData["IcosidodecahedralGraph","Graph","UnitDistance"][[2]]}]

g=EdgeDelete[GraphData[{"UnitDistance",{30,1}},"Graph","Labeled"],UndirectedEdge@@@{{6,11},{7,14},{5,10},{9,13},{8,15},{4,12},{2,6},{3,8},{2,7},{1,5},{1,9},{3,4}}]

RecognizeGraph[g]

UnitDistance #2

Construction

RotateGraph[LabelGraph[UnitDistanceEmbeddingRefine[]],{21,17}]

g=GraphData["IcosidodecahedralGraph","Graph",{"Labeled","UnitDistance"}][[2]]

v=GraphEmbedding[g]

Mean[v]

Round[10^6Norm/@v]/10^6.//Tally//Sort

a1=Norm[v[[13]]]

ArcTan@@v[[13]]+Pi/2

a2=Norm[v[[2]]]

1./(Sqrt[3])

q2=ArcTan@@v[[27]]+Pi/2

a3=Norm[v[[4]]]

q3=ArcTan@@v[[14]]-Pi/2

a4=Norm[v[[3]]]

q4=Pi/2-ArcTan@@v[[5]]

a5=Norm[v[[12]]]

q5=ArcTan@@v[[28]]+Pi/2

a6=Norm[v[[17]]]

v0=Join[
CirclePoints[{a1,-Pi/2},3],
CirclePoints[{a2,-Pi/2+q2},3],CirclePoints[{a2,-Pi/2-q2},3],
CirclePoints[{a3,Pi/2-q3},3],CirclePoints[{a3,Pi/2+q3},3],
CirclePoints[{a4,Pi/2-q4},3],CirclePoints[{a4,Pi/2+q4},3],
CirclePoints[{a5,-Pi/2-q5},3],CirclePoints[{a5,-Pi/2+q5},3],
CirclePoints[{a6,Pi/2},3]
];
e=UnitEdges[v0];
g1=Graph[Range[Length[v0]],e,VertexCoordinates->v0,VertexLabels->"Name"]

RecognizeGraph[g1]

EdgeCount[g1]

g=EdgeDelete[g1,UndirectedEdge@@@{{7,14},{6,11},{4,12},{8,15},{9,13},{5,10},{1,9},{1,5},{2,6},{2,7},{3,8},{3,4}}]

e=EdgeList[g]

RecognizeGraph[g]

Clear[a1,a2,a3,a4,a5,a6,q2,q3,q4,q5]

v=Join[
CirclePoints[{a1,-Pi/2},3],
CirclePoints[{a2,-Pi/2+q2},3],CirclePoints[{a2,-Pi/2-q2},3],
CirclePoints[{a3,Pi/2-q3},3],CirclePoints[{a3,Pi/2+q3},3],
CirclePoints[{a4,Pi/2-q4},3],CirclePoints[{a4,Pi/2+q4},3],
CirclePoints[{a5,-Pi/2-q5},3],CirclePoints[{a5,-Pi/2+q5},3],
CirclePoints[{a6,Pi/2},3]
]

eqn=FullSimplify[UnitEdgeEquations[v,e]]//Union

eqn2=DeleteCases[FullSimplify[eqn/.a2->1/Sqrt[3]]//Union,True]

Length[eqn2]

eqn3=TrigExpand[eqn2]//Union//FullSimplify//Union//TrigExpand

eqn4=Numerator@Together[Subtract@@@TrigExpand[eqn2]/.{
Cos[q2]->((1-(t2^2))/(1+(t2^2))),Sin[q2]->((2t2)/(1+(t2^2))),
Cos[q3]->((1-(t3^2))/(1+(t3^2))),Sin[q3]->((2t3)/(1+(t3^2))),
Cos[q4]->((1-(t4^2))/(1+(t4^2))),Sin[q4]->((2t4)/(1+(t4^2))),
Cos[q5]->((1-(t5^2))/(1+(t5^2))),Sin[q5]->((2t5)/(1+(t5^2)))
}]//Union

Length[eqn3]

var=Variables[eqn4]

Length[var]

GroebnerBasis[eqn4,a1,Complement[var,{a1}],MonomialOrder->EliminationOrder]

soln=FindRoot[eqn3,{
{a1,0.4693163169173971`},
{q2,0.4444029984443325`},
{a3,1.2742816626398072`},
{q3,-0.2597838406450468`},
{a4,1.5641000164125551`},
{q4,0.4318478806010304`},
{a5,1.4683148296380508`},
{q5,0.05390624983280001`},
{a6,2.1764349941471934`}},WorkingPrecision->10000];

vnew=Map[ToAlgebraicRoot,v/.a2->1/Sqrt[3]/.soln,{2}]

g=Graph[Range[Length[vnew]],e,VertexCoordinates->vnew]

RecognizeGraph[g]

UnitDistanceGraphEmbeddingQ[g]

With extra unit-distance edges added back:

g=GraphData["IcosidodecahedralGraph","Graph",{"Labeled","UnitDistance"}][[2]]

g2=Graph[VertexList[g],UnitEdges[GraphEmbedding[g]],VertexCoordinates->GraphEmbedding[g]]

RecognizeGraph[g2]

VertexCount[g2]

From supergraph via edge deletion

FindSubgraphIsomorphism[GraphData["IcosidodecahedralGraph","Graph","UnitDistance"][[1]],GraphData[{"UnitDistance",{30,2}}]]

GraphicsRow[{GraphData[{"UnitDistance",{30,2}},"Graph","Labeled"],GraphData["IcosidodecahedralGraph","Graph","UnitDistance"][[1]]}]

g=EdgeDelete[GraphData[{"UnitDistance",{30,2}},"Graph","Labeled"],UndirectedEdge@@@{{2,23},{5,20},{1,22},{4,19},{3,24},{6,21}}]

RecognizeGraph[g]

GraphData

GraphClassString

GraphClassString["IcosidodecahedralGraph"]

GraphDataString

g1=;

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

WriteString[file,GraphDataString[g1,
"StandardName"->{"UnitDistance",{30,1}},
"Name"->"30\[Hyphen]unit distance graph 1",
"Information"->"Unit-DistanceGraph",
"Skip"->{"Arboricity","AlmostHamiltonian","Arboricity","ChromaticPolynomial","QChromaticPolynomial","DominatingSets","HamiltonianWalks","MinimumWeightFractionalColoring","TotalDominatingSets","TuttePolynomial"},
Debug->True,
TimeConstraint->10
]]

WriteString[file,GraphDataString[g2,
"StandardName"->{"UnitDistance",{30,2}},
"Name"->"30\[Hyphen]unit distance graph 2",
"Information"->"Unit-DistanceGraph",
"Skip"->{"Arboricity","AlmostHamiltonian","Arboricity","ChromaticPolynomial","QChromaticPolynomial","DominatingSets","HamiltonianWalks","MinimumWeightFractionalColoring","TotalDominatingSets","TuttePolynomial"},
Debug->True,
TimeConstraint->10
]]

Close[file]