Friday, March 6, 2026

Some tetrahelixes are knotted (unicursal)

Any tetrahelix on 3+6n vertices is unicursal, 9 vertices in this example.
Any tetrahelix on 5+6n vertices is unicursal, 11 vertices in this example.

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: