At a recent morning coffee meeting, I was idly playing with my hair when this was noticed by a couple of other people. This led to a discussion of different braiding styles and, because we were mathematicians, a discussion of braid theory. I continued to spend a lot of time reading about it. (Nerd-sniped.)

I didn’t know much about braid theory (or indeed group theory) before, but it turned out to be a very rich subject. I remember being introduced to group theory for the first time and finding it very hard to visualise abstract objects like generators, commutators, conjugates or normal subgroups. Braid groups may be a very useful way of introducing these: they can be demonstrated very visually and hands-on.

Suppose you have *n* finite strands of string. A braid is a pattern formed by crossing the strings over and under each other in a certain order, and fixing them at both ends: imagine the strings on a guitar being crossed around each other. Of course, two such patterns can be *composed* with each other *associatively*. (A plait of hair consists of such a pattern being repeatedly applied.) Each braid can be *inverted* by crossing the strings in the opposite order, and the *identity braid *is the default with no crossings (a ponytail, or a normal guitar fretboard). The set of braids therefore forms a group called *B*_{n}, the *braid group on n strings*. It has some similarities to the symmetric group

*S*

_{n}, but, as an infinite group,

*B*

_{n}has more structures.

Any braid can be specified by crossings of adjacent strings, which are said to *generate* all the braids. For *i* = 1, 2, …, *n*−1, let *σ*_{i} denote the act of crossing string *i*+1 over string *i*. Clearly the inverse *σ*_{i}^{−1} is to cross string *i* over string *i*+1: these two operations cancel each other out. Repeated applications of *σ*_{i} amounts to twirling two neighbouring strands around each other.

If you have *n* ≥ 4 strings, then anything you do with strings 1 and 2 will have no effect on strings 3 and 4, and vice-versa. In general, the transpositions *σ*_{i} and *σ*_{j} *commute* with each other provided that *i* and *j* are at least 2 apart. However, neighbouring transpositions do not compose with each other, and in fact the *commutator* between *σ*_{1} and *σ*_{2} is

[

*σ*

_{1},

*σ*

_{2}] =

*σ*

_{1}

*σ*

_{2}

*σ*

_{1}

^{−1}

*σ*

_{2}

^{−1}

=

*σ*

_{2}

^{−1}

*σ*

_{1}.

We have only got transpositions of neighbouring braids at the moment, but as mentioned above these are enough to create all other patterns. The basic tool is *conjugation*. On 3 strands, the conjugation

*σ*

_{1}

*σ*

_{2}

^{−1}

*σ*

_{1}

first takes strand 2 over strand 1. It then weaves strand 3 over the

*new*strand 2 (originally strand 1). Then it takes strand 1 over strand 2. The total effect is that strand 3 goes over strand 1, while strand 2 goes over both of them. It is as though we applied

*σ*

_{2}after renaming strands 1 and 2 with each other: hence the mantra

*conjugation is relabelling*(and that’s also why we see it in changes of bases in linear algebra). Note that this conjugation leaves a strand hanging loose, even though it appears to be involved in the pattern: this is a danger of the neighbouring transpositions notation.

Clearly, *B*_{n} admits *subgroups* where you take some consecutive subset of the strings and braid only them. (There are other subgroups as well.) Suppose *n* ≥5 and *H* is the subgroup from braiding only strands 1, 2 and 3, *i.e.* the subgroup generated by *σ*_{1} and *σ*_{2}. These commute with *σ*_{j} for *j* ≥4; those generate the *centraliser* of *H*.

The braid group *B*_{n} has a surjective homomorphism onto the symmetric group *S*_{n}, since a braid is a permutation of the strings. The kernel of this homomorphism consists of all those braids which eventually leave the strings in their original order.

## Some hairstyles

The most basic plait (other than the unplait, or ponytail) is on *n* = 3 strands of hair, and consists of repetitions of the element *σ*_{1}*σ*_{2}^{−1}.

A more complicated pattern weaves together *n* = 4 strands of hair, with the basic element as *σ*_{1}*σ*_{2}^{−1}*σ*_{3}. The generalisation of this to higher *n* is an exercise for the reader. A fishtail braid is also on 4 strands, but it has a different repeating element:

*σ*

_{1}

^{−1}

*σ*

_{2}

*σ*

_{3}

*σ*

_{2}

*σ*

_{1}

^{−1}.

However, not all braids are created equal. For example, the braid with repeating element

*σ*

_{3}

*σ*

_{2}

*σ*

_{1}

does not make a very good hairstyle: it is merely a twisted ponytail. A stable hairstyle should involve these transpositions as well as their inverses:

*i.e.*a strand should be made to go over, under, over, under. A strand should be used often, to avoid it hanging loose.

## Further applications

The braid group is a non-abelian infinite group. In a later post, I may talk about the application of such a group to cryptography.