The tetrahelix, or Boerdijk-Coxeter helix, is theoretically of infinite length but naturally truncates to a finite number of tetrahedron units. Some lengths of tetrahelix are knotted, some are not. This is easily explored in SageMath, since the tetrahelix is built up by a simple recursion that can start from a triangle:
def append_to_last_3v(my_graph):
next_v = my_graph.order()
#return (next_v)
G.add_vertex(next_v)
G.add_edge(next_v, next_v-1)
G.add_edge(next_v, next_v-2)
G.add_edge(next_v, next_v-3)
#G.show3d()
#EXAMPLE/////////////////////
# Start from a triangle
adj_list = {
0: [1, 2],
1: [0, 2],
2: [0, 1]
}
G = Graph(adj_list)
#Odd no. of spanning trees == unicursal
mu = G.spanning_trees_count()%2
print(G.order(), mu)
for i in range(8):
append_to_last_3v(G)
mu = G.spanning_trees_count()%2
print(G.order(), mu)
#G.show3d()
Output:
3 1
4 0
5 1
6 0
7 0
8 0
9 1
10 0
11 1
Though one recursion generates the whole sequence, we may prefer to see the two subsequences as descendant from two different unicursal triangle-faced plane graphs: the triangle leads the 3+6n sequence and the dipyramid (a.k.a., bipyramid) leads the 5+6n sequence. The significance of being unicursal is that these lengths of tetrahelix can be realized in road code weaving.


No comments:
Post a Comment