Permutations, weaving and wedding rings
For a strange variety of reasons, even though we have just celebrated our third anniversary the process of our wedding has only really just been completed. In particular I only recently got a chance to design and then help my friend Eugene Sargent make the rings. By the way for lovers of making from the practical to the surreal his pages are highly recommended. In this post I will discuss a little of the process I used to explore how I came up with the design. In a future post I consider how Eugene turned the design into these beautiful rings:
I have always been interested in the possibilities for patterning of weaving, which can be described as the entwining of one dimensional structures in three dimensions in order to produce two dimensional objects. To start as simply as possible with just two threads there is only really one thing to do:
Three threads give a more interesting (and classic) braid:
With four threads the number of options starts to expand rapidly, and drawing braids out by hand is a rather time consuming task. I therefore wanted to create a simple system that generated weaving patterns from some easily described information. The object I started with is known as a permutation. This is an operation that takes an ordered list of objects and puts them into a new order. We can consider the two braids above in these terms, the first takes two threads, and simply swaps them. The full pattern comes from repeating this. The second pattern is slightly harder to read, but it becomes clearer if we consider a single unit:
Here you can see the top goes to the middle, the middle to the bottom and the bottom goes up to the top. We can encode this permutation as 0-1-2, with 0 corresponding to the top and so on. The new position of each element is given by the element to the right. 0 (top) goes to 1 (middle), which goes to 2 (bottom). The final term simply returns to the first, so 2 goes back to 0. Note that 1-2-0 will therefore give exactly the same structure. On the other hand, 0-2-1 will give the structure turned upside down.
With a simple way of describing a collection of braids it was a lot easier to start exploring the space. Even making things by hand could be done in a more systematic way; however with a little coding many patterns could be quickly explored. Starting with a 3d image of the braid above:
With four threads the family of permutations becomes a lot richer. With three threads, choosing where the 0 thread will go determines the whole structure. So we can choose to start with 0-1, this leaves only 2 to give 0-1-2. Or we can start with 0-2 and be forced to use 0-2-1. With four threads the 0 thread can go to three different things. Each of those leaves two options. The final choice is still fixed. There are therefore six different cycles, as with the three thread example however, reversing the order of the cycle simply flips the braid left to right.
0-1-2-3 (flipped 0-3-2-1)
With five threads the number of choices increases again. The 0 thread can now go to four different positions, there are then three choices then two before the final position is determined as before. This gives 4*3*2 = 24, as before we need only consider half of these as reversing the order simply flips the pattern. This leaves these 12:
At this stage we might realise that this method has some limitations. It is a useful tool to explore patterns (0-2-4-1-3 and 0-3-2-1-4 show particular promise). Unfortunately more symmetry is coming in, for example 0-1-2-4-3 and 0-1-4-3-2 are the same patterns flipped top to bottom rather than left to right. It is harder to spot this from the permutations on their own, a top to bottom flip swaps the roles of 0 and 1 with 4 and 3. Other patterns are related to each other by a 180 degree rotation. A more insidious problem comes when we consider the weave rather than just the pattern. Consider 0-1-2-3-4, 0-1-2-4-3 and 0-1-3-2-4, each of these has the same woven pattern stretched in different ways.
We have also only considered permutations called cycles where each thread travels through all the positions. There is something satisfying about these but we might be missing out. For example with four threads we could have 0 going to 1, 1 going back to 0 with 2 and 3 swapping in the same way. This, would not be too interesting as it would just give two copies of the braid with 2 threads. Instead we could consider 0-2 1-3 (note no dash between the 2 and the 1) which gives:
In fact we can write any permutation (reordering) as a list of cycles in this way. Another way to consider permutations is just to consider 2-cycles where two elements flip. For example the 3-cycle 0-1-2 can be considered as 0-1 followed by 0-2. In this case 0 is flipped to 1 which is not effected by the second flip. 1 itself is first flipped to 0, the from 0 to 2 by the second flip. Finally 2 is not effected by the first flip and then goes to 0. Overall this gives 0-1-2. Studying the structure of permutations like this both provides examples for group theory, but also essential tools. The idea can also be used to avoid some of the problems we identified above in the study of weaving patterns. The mathematical study is called braid theory.
Here is my final design, taking in to account some thought of the methods available.