Skip to content

Knots and Braids ​

A braid on nn strands is exactly what it sounds like: nn threads running top to bottom, crossing over and under each other. Artin's presentation makes that a group BnB_n, generated by σ1…σn−1σ_1 \ldots σ_{n-1} — where σiσ_i crosses strand ii over strand i+1i+1 — with just two families of relations:

σiσj=σjσi(∣i−j∣≥2),σiσi+1σi=σi+1σiσi+1.σ_iσ_j = σ_jσ_i \quad (|i-j| ≥ 2), \qquad σ_iσ_{i+1}σ_i = σ_{i+1}σ_iσ_{i+1}.

Add σi2=1σ_i^2 = 1 and the strands forget which went over: you get the symmetric group. That forgetting is a homomorphism Bn→SnB_n → S_n, and it is the first invariant here.

The reason braids belong in a combinatorics catalogue is the closure. Bend a braid round and glue its top to its bottom, and you have a link in space; by Alexander's theorem every link arises this way. So a braid word — a finite string of integers — is a complete combinatorial name for a knot, and knot invariants become computations on strings.

The group ​

Words, and what they forget

The writhe is the exponent sum — the abelianisation B_n → ℤ.

InBraidPermutation(Braid(3,[1,2]))\mathrm{BraidPermutation}(\mathrm{Braid}(3, \bigl\lbrack1, 2\bigr\rbrack))Out[2,3,1]\bigl\lbrack2, 3, 1\bigr\rbrackInBraidWrithe(Braid(3,[1,−2,1]))\mathrm{BraidWrithe}(\mathrm{Braid}(3, \bigl\lbrack1, -2, 1\bigr\rbrack))Out11InBraidInverse(Braid(3,[1,2]))\mathrm{BraidInverse}(\mathrm{Braid}(3, \bigl\lbrack1, 2\bigr\rbrack))OutBraid(3,[−2,−1])\mathrm{Braid}(3, \bigl\lbrack-2, -1\bigr\rbrack)InBraidPower(Braid(2,[1]),3)\mathrm{BraidPower}(\mathrm{Braid}(2, \bigl\lbrack1\bigr\rbrack), 3)OutBraid(2,[1,1,1])\mathrm{Braid}(2, \bigl\lbrack1, 1, 1\bigr\rbrack)
source · editable

Two different words can be the same braid — σ1σ2σ1σ_1σ_2σ_1 and σ2σ1σ2σ_2σ_1σ_2 are equal in the group but not as strings — so nothing here solves the word problem. What is computed instead are invariants, quantities that agree on every word naming the same braid.

Closing up ​

The permutation's cycles are the closure's components, so a closure is a knot exactly when the permutation is an nn-cycle. σ13σ_1^3 in B2B_2 closes to the trefoil; σ12σ_1^2 closes to the Hopf link, which has two.

One component or two

T(2,q) is a knot for odd q and a two-component link for even q.

InBraidComponents(Braid(2,[1,1,1]))\mathrm{BraidComponents}(\mathrm{Braid}(2, \bigl\lbrack1, 1, 1\bigr\rbrack))Out11InBraidComponents(Braid(2,[1,1]))\mathrm{BraidComponents}(\mathrm{Braid}(2, \bigl\lbrack1, 1\bigr\rbrack))Out22InBraidIsKnot(TorusBraid(2,5))\mathrm{BraidIsKnot}(\mathrm{TorusBraid}(2, 5))OutTrue\mathrm{True}InBraidIsKnot(TorusBraid(2,4))\mathrm{BraidIsKnot}(\mathrm{TorusBraid}(2, 4))OutFalse\mathrm{False}
source · editable

A braid draws as its strand diagram: a level per letter, read from the bottom up, with the strand that goes under broken at the crossing. Every cell is a strand at a level, so a click picks one, and SameStrand(Selected) follows it through every level. A crossing's two cells carry an Exponent, +1+1 for σiσ_i and −1-1 for σi−1σ_i^{-1}, which IsOver and IsUnder split into the strand that passes over and the one that passes under.

Follow a strand, and read the crossings

Click a strand: SameStrand(Selected) lights it end to end and Crosses(Selected) the strands it crosses. The dots at each crossing are colored by Exponent, the sign of the letter.

source
<Show Variables="[_s -> Variable(Automatic, [])]" Selection="_s" ImageSize="[Automatic, 420]">
  <StrandDiagram
    ColorRules='[
      Selected -> White,
      True -> ColorData(["Viridis", [-1, 1]])(Exponent),
      True -> Opacity(0.5, Gray)
    ]'
    BoundaryStyle="[
      SameStrand(Selected) -> Directive(Gold, AbsoluteThickness(4)),
      Crosses(Selected) -> Directive(Red, AbsoluteThickness(2.5)),
      True -> Directive(Teal, AbsoluteThickness(1.8))
    ]"
  >
    <Braid>
      4
      <ToExpression value="[1, 2, -3, 2, 1, -2, 3, -1]" />
    </Braid>
  </StrandDiagram>
</Show>

BraidClosure draws the closing arcs: each out slot joins the in slot below it, round the right side. A strand that comes back at a different slot is still part of the same component, so SameStrand(Selected) follows a component through the closure. σ13σ_1^3 closes to the trefoil, one component whichever strand you click.

The trefoil, closed

Click a strand: the whole knot lights, since σ₁³ sends slot 1 to slot 2 and back.

source
<Show Variables="[_s -> Variable(Automatic, [])]" Selection="_s" ImageSize="[Automatic, 360]">
  <StrandDiagram
    ColorRules="[Selected -> White, True -> Opacity(0.5, Gray)]"
    BoundaryStyle="[
      SameStrand(Selected) -> Directive(Gold, AbsoluteThickness(4)),
      True -> Directive(Teal, AbsoluteThickness(1.8))
    ]"
  >
    <BraidClosure>
      <Braid>
        2
        <ToExpression value="[1, 1, 1]" />
      </Braid>
    </BraidClosure>
  </StrandDiagram>
</Show>

The braid may be named rather than written out: TorusBraid(3, 3) is (σ1σ2)3(σ_1σ_2)^3, which returns every strand to its own slot, so its closure is the three-component link T(3,3)T(3,3). Clicking lights one component at a time.

A torus braid, closed

StrandDiagram takes any braid-valued head. T(3,3) is three linked circles: SameStrand(Selected) lights one.

source
<Show Variables="[_s -> Variable(Automatic, [])]" Selection="_s" ImageSize="[Automatic, 420]">
  <StrandDiagram
    ColorRules="[Selected -> White, True -> Opacity(0.5, Gray)]"
    BoundaryStyle="[
      SameStrand(Selected) -> Directive(Gold, AbsoluteThickness(4)),
      Crosses(Selected) -> Directive(Red, AbsoluteThickness(2.5)),
      True -> Directive(Teal, AbsoluteThickness(1.8))
    ]"
  >
    <BraidClosure>
      <TorusBraid>3 3</TorusBraid>
    </BraidClosure>
  </StrandDiagram>
</Show>

A Braid value shows the same way anywhere it is the result, without the rules.

The same braid, as a value

InTorusBraid(3,2)\mathrm{TorusBraid}(3, 2)OutBraid(3,[1,2,1,2])\mathrm{Braid}(3, \bigl\lbrack1, 2, 1, 2\bigr\rbrack)InBraidInverse(Braid(3,[1,−2]))\mathrm{BraidInverse}(\mathrm{Braid}(3, \bigl\lbrack1, -2\bigr\rbrack))OutBraid(3,[2,−1])\mathrm{Braid}(3, \bigl\lbrack2, -1\bigr\rbrack)
source · editable

BraidClosure(braid) is a head of its own, a link, and as a result it draws the closed braid with no StrandDiagram around it. The knot-polynomial heads take it too.

A closure, as a value

InBraidClosure(TorusBraid(3,2))\mathrm{BraidClosure}(\mathrm{TorusBraid}(3, 2))OutBraidClosure(Braid(3,[1,2,1,2]))\mathrm{BraidClosure}(\mathrm{Braid}(3, \bigl\lbrack1, 2, 1, 2\bigr\rbrack))InAlexanderPolynomial(BraidClosure(TorusBraid(2,3)))\mathrm{AlexanderPolynomial}(\mathrm{BraidClosure}(\mathrm{TorusBraid}(2, 3)))Outt2−t+1t^2-t+1
source · editable

For a positive braid — no negative letters — Bennequin's theorem says Seifert's algorithm on the diagram is already optimal, so the genus of the closure is g=(c−s+1)/2g = (c - s + 1)/2 for cc crossings on ss strands. Positivity is doing real work there; the same formula on a mixed braid is simply false.

Burau, and the Alexander polynomial ​

The deeper invariant comes from a linear representation. Burau sends BnB_n into GLn−1\mathrm{GL}_{n-1} over the Laurent polynomials Z[t,t−1]\mathbb{Z}[t,t^{-1}], and the Alexander polynomial of the closure falls out of a determinant:

Δ(t)  ≐  det⁡ ⁣(ψ(β)−I)⋅1−t1−t n.Δ(t) \;\doteq\; \det\!\big(ψ(β) - I\big)\cdot\frac{1-t}{1-t^{\,n}}.

The ≐\doteq is not laziness: ΔΔ is only defined up to a factor ±tk± t^k, so every polynomial here is normalised to start at t0t^0 with a positive leading coefficient.

The small knots by name

The result is an expression in t, so it is ordinary algebra afterwards.

InAlexanderPolynomial(Braid(2,[1,1,1]))\mathrm{AlexanderPolynomial}(\mathrm{Braid}(2, \bigl\lbrack1, 1, 1\bigr\rbrack))Outt2−t+1t^2-t+1InAlexanderPolynomial(BraidPower(Braid(3,[1,−2]),2))\mathrm{AlexanderPolynomial}(\mathrm{BraidPower}(\mathrm{Braid}(3, \bigl\lbrack1, -2\bigr\rbrack), 2))Outt2−3t+1t^2-3t+1InAlexanderPolynomial(TorusBraid(3,4))\mathrm{AlexanderPolynomial}(\mathrm{TorusBraid}(3, 4))Outt6−t5+t3−t+1t^6-t^5+t^3-t+1InAlexanderPolynomial(TorusKnot(3,4))\mathrm{AlexanderPolynomial}(\mathrm{TorusKnot}(3, 4))Outt6−t5+t3−t+1t^6-t^5+t^3-t+1
source · editable

The last two cells are the package's own check on itself. One runs the Burau matrices and takes a determinant; the other is the closed form

ΔT(p,q)(t)=(tpq−1)(t−1)(tp−1)(tq−1),Δ_{T(p,q)}(t) = \frac{(t^{pq}-1)(t-1)}{(t^p-1)(t^q-1)},

which mentions no braid at all. They agree for every coprime pair tried, which is what gives any confidence that the Burau generators are written down correctly.

Computing that determinant is its own small problem. Cofactor expansion costs n!n! multiplications and the braids below reach ten strands; Gaussian elimination wants a field, which a polynomial ring is not. Bareiss elimination threads between them — every intermediate is itself a minor of the original matrix, so each division is exact over any integral domain, and Z[t,t−1]\mathbb{Z}[t,t^{-1}] is one.

The Jones polynomial, from diagrams rather than matrices ​

Alexander came out of a linear representation. Jones comes out of a diagram one — and the diagrams are the Temperley–Lieb ones from the previous section, not a lookalike. Send each generator to a combination of the identity and a TL diagram:

σi  ↦  A⋅1+A−1ei,σi−1  ↦  A−1⋅1+A ei.σ_i \;↦\; A\cdot 1 + A^{-1} e_i, \qquad σ_i^{-1} \;↦\; A^{-1}\cdot 1 + A\, e_i .

Those two images are the two ways of smoothing a crossing, which is the whole content of the Kauffman bracket. Multiply the braid word out in TLnTL_n, close each surviving diagram up, and let every resulting circle contribute δ=−A2−A−2δ = -A^2 - A^{-2}:

⟨L⟩=∑DcD δ loops(D)−1.\langle L \rangle = \sum_D c_D \,δ^{\,\text{loops}(D) - 1}.

The bracket alone is not an invariant — a single positive crossing on an unknot leaves −A3-A^3 behind — so correct by the writhe, f(L)=(−A3)−w⟨L⟩f(L) = (-A^3)^{-w}\langle L\rangle, and then substitute A=t1/4A = t^{1/4}.

V, and what it is made of

The raw bracket is not invariant; dividing out (−A³)^w is what fixes it.

InJonesPolynomial(Braid(2,[1,1,1]))\mathrm{JonesPolynomial}(\mathrm{Braid}(2, \bigl\lbrack1, 1, 1\bigr\rbrack))Out−1t4+1t+1t3-\frac{1}{t^4}+\frac{1}{t}+\frac{1}{t^3}InKauffmanBracket(Braid(2,[1]))\mathrm{KauffmanBracket}(\mathrm{Braid}(2, \bigl\lbrack1\bigr\rbrack))Out−A3-A^3InBracketInvariant(Braid(2,[1]))\mathrm{BracketInvariant}(\mathrm{Braid}(2, \bigl\lbrack1\bigr\rbrack))Out11InJonesPolynomial(BraidPower(Braid(3,[1,−2]),2))\mathrm{JonesPolynomial}(\mathrm{BraidPower}(\mathrm{Braid}(3, \bigl\lbrack1, -2\bigr\rbrack), 2))Outt2−t−1t+1t2+1t^2-t-\frac{1}{t}+\frac{1}{t^2}+1
source · editable

Two checks worth stating, because they run through completely different machinery. JonesPolynomial takes the knot however you name it: name it TorusKnot(p, q) and it answers from a closed form with no braid, no bracket and no diagrams in it; name a braid the knot closes from and it goes through Temperley–Lieb. They match for every coprime pair tried. And the knot determinant is both ∣Δ(−1)∣|Δ(-1)| and ∣V(−1)∣|V(-1)| — one computed from Burau matrices over Z[t,t−1]\mathbb{Z}[t,t^{-1}], the other from Temperley–Lieb diagrams over Z[A,A−1]\mathbb{Z}[A,A^{-1}].

Two routes, one number

The same polynomial by both routes, then the same knot named two more ways.

InJonesPolynomial(TorusKnot(3,4))\mathrm{JonesPolynomial}(\mathrm{TorusKnot}(3, 4))Out−1t8+1t5+1t3-\frac{1}{t^8}+\frac{1}{t^5}+\frac{1}{t^3}InJonesPolynomial(TorusBraid(3,4))\mathrm{JonesPolynomial}(\mathrm{TorusBraid}(3, 4))Out−1t8+1t5+1t3-\frac{1}{t^8}+\frac{1}{t^5}+\frac{1}{t^3}InJonesPolynomial(LLRLR)\mathrm{JonesPolynomial}(\text{LLRLR})Out−1t4+1t+1t3-\frac{1}{t^4}+\frac{1}{t}+\frac{1}{t^3}InAlexanderPolynomial(LLRLR)\mathrm{AlexanderPolynomial}(\text{LLRLR})Outt2−t+1t^2-t+1
source · editable

VV needs a square root of tt when the link has an even number of components, so JonesPolynomial declines there rather than inventing one — the bracket, which lives in AA, is still perfectly well defined and is what to ask for instead.

The knots the modular flow draws ​

Now the bridge back to the modular group. A hyperbolic conjugacy class there is an LRLR word up to rotation; it is a closed geodesic on the modular surface; and because the unit tangent bundle of that surface is the complement of a trefoil in S3S^3, it is a knot. Ghys's theorem identifies those modular knots with the periodic orbits of the Lorenz attractor, and those have a purely combinatorial braid:

  1. The word's nn cyclic rotations name the nn points where the orbit meets the template's branch line.
  2. Order those points. Both branches of the Lorenz template preserve orientation, so the order is simply lexicographic on itineraries with L<RL < R. (On a tent map one branch flips and the order would alternate instead — that orientation is the whole reason Lorenz knots are as well behaved as they are.)
  3. The flow advances each point to the next rotation, inducing a permutation. Its positive permutation braid — the unique positive braid where no two strands cross twice — is the Lorenz braid.

A geodesic, and its knot

LLRLR is the shortest closed geodesic whose knot is a trefoil.

InLorenzBraid(LLRLR)\mathrm{LorenzBraid}(\text{LLRLR})OutBraid(5,[2,1,3,2,4,3])\mathrm{Braid}(5, \bigl\lbrack2, 1, 3, 2, 4, 3\bigr\rbrack)InLorenzPermutation(LLRLR)\mathrm{LorenzPermutation}(\text{LLRLR})Out[3,4,5,1,2]\bigl\lbrack3, 4, 5, 1, 2\bigr\rbrackInAlexanderPolynomial(LLRLR)\mathrm{AlexanderPolynomial}(\text{LLRLR})Outt2−t+1t^2-t+1InSeifertGenus(LLRLR)\mathrm{SeifertGenus}(\text{LLRLR})Out11
source · editable

An LRLR word is accepted anywhere a braid is, so every head above works on a geodesic directly.

The trip number — how many LRLR corners the cyclic word has, i.e. how many points cross the branch line rightwards — is the braid index of the resulting link. Trip number 11 therefore means braid index 11, which means the unknot, and that is checkable against the Alexander polynomial on every word at once.

Trip number is braid index

One hump each way is an unknotted orbit, however long the word.

InTripNumber(LLRLR)\mathrm{TripNumber}(\text{LLRLR})Out22InTripNumber(LLLRRRR)\mathrm{TripNumber}(\text{LLLRRRR})Out11InAlexanderPolynomial(LLLRRRR)\mathrm{AlexanderPolynomial}(\text{LLLRRRR})Out11InAlexanderPolynomial(LLLRLLR)\mathrm{AlexanderPolynomial}(\text{LLLRLLR})Outt4−t3+t2−t+1t^4-t^3+t^2-t+1
source · editable

Things worth knowing ​

  • LpRqL^pR^q draws the unknot. It is tempting to guess it gives the torus knot T(p,q)T(p,q) — it does not. One hump each way is an unknotted orbit, its trip number is 11, and its braid index is therefore 11. The torus knots show up elsewhere.
  • The torus knots are the rotation words. When the Lorenz permutation happens to be a rotation i↦i+ki ↦ i+k on nn points, the knot is T(k,n−k)T(k, n-k). The words that do this are the Christoffel words — the same rotation sequences Sturmian dynamics is built from, which is one more place the modular flow runs into continued fractions.
  • The shortest knotted geodesic has symbolic length 5. LRLR, LLRLLR, LLRRLLRR and their kin are all unknotted; LLRLRLLRLR is the first that draws a trefoil.
  • Positivity is load-bearing. The genus formula, the braid index claim and the well-behavedness of the whole Lorenz family all rest on the braids being positive. Ask for the genus of a mixed braid and you get nothing back, deliberately.

Going further ​

  • Torus knots — the family you can draw on a doughnut, where T(p,q)T(p,q) is a braid you can read off the two winding numbers.
  • The Lorenz flow — the same knots, as trajectories of a differential equation, and why those two facts are the same fact.

What this connects to ​

  • The modular group — where the words come from, and where the other half of the story lives: the linking number of these knots with the trefoil is the Rademacher symbol, read off by counting letters.
  • Hecke algebras — the Iwahori–Hecke algebra is a quotient of the braid group's algebra, so the same σiσ_i appear there with one extra relation.
  • Diagram algebras — the Temperley–Lieb diagrams the Jones polynomial is computed in are the same ones catalogued there, with the same product.
  • Permutations, inversions and Lyndon words in the enumeratio catalogue: a positive permutation braid has one crossing per inversion, and the closed geodesics are necklaces.