Braids

Joe Christy

Dept. of Math. and C.S.
Emory University,
Atlanta, GA 30322

joe@mathcs.emory.edu

Introduction

A braid is a collection of stands which weave over and under one another. In Braids.m, a braid is described by a list {{m1,-m2,...,mc},s} for a braid with s strands, where the m1th crosses over the m1+1st, then the m2th crosses under the m2+1st, ... , and finally the mcth crosses over the mc+1st. By joining the ends of the braids in a circle they can be used to represent all knots and links. We can also close up the braid in a slightly different form to get a plat.

About Braids.m

The package Braids.m does the actual drawing.  It depends on packages BraidGroup.m and SymmetricGroup.m. Braids.m draws braids as knotted curves and also handles framings which it can depict by ribbons or tubes with the standard meridian and chosen push off forming a grid. Framings are input as a list of numbers, one for each component of the link. They are interpreted as a number of full twists relative to either the mathematician's (homological) framing or the physicist's vertical framing. The parametrizations that underlie the pictures can be adapted to evaluate linking coefficients via Gauss' integral and its generalizations.

About BraidGroup.m

By joining the ends of one braid to the beginnings of another we can form a series of groups, indexed by the number of strands, Artin's braid groups. The braid without crossings is the identity element. Conjugacy in this group corresponds to certain isotopies of knots and links. When we also consider adding a single new strand and crossing, moving us from one braid group to the next, we have all isotopies. In other words topological equivalence of links is the same as conjugacy and trading nugatory crossings in the braid group.

Initialization

<<BraidGroup.m

<<Braids.m

A Ponytail

ponyTail = OpenBraid[{{1,-2,1,-2,1,-2},3}];

Show[ponyTail]

Some Simple Braids

Several faces of the simplest of all knots, the trefoil knot.

trefoilKnot1 = ClosedBraid[{{1,1,1},2}, Style -> Tube];

Show[trefoilKnot1]

trefoilKnot2 = ClosedBraid[{{1,1,1,2},3}];

Show[trefoilKnot2]

trefoilKnot3 = Plat[{{-2,-2,-2},3}];

Show[trefoilKnot3]

trefoilKnot4 = Plat[{{-2,1,-2},3}, Style -> Tube];

Show[trefoilKnot4]

The wonderful figure eight knot.

figure8Knot = ClosedBraid[{{-1,2,-1,2},3}];

Show[figure8Knot, Style -> Tube]

Some Links.

HopfLink = ClosedBraid[{{1,1},2}];

Show[HopfLink]

WhiteheadLink = ClosedBraid[{{-1,2,-1,2,2},3},
	Style -> Ribbon];

Show[WhiteheadLink]

borromeanRings = ClosedBraid[{{-1,2,-1,2,-1,2},3}];

Show[borromeanRings]

Some Pretty Braids

Show[ClosedBraid[{{1,-2,1,-2},3}],ViewPoint->{0,0,5}]

More trefoils, with different framings

trefoilRibbon = ClosedBraid[{{1,1,1},2},
	Style->Ribbon,
	Canon->1];

Show[trefoilRibbon,
	ViewPoint->{0,0,5}]

twistedTrefoil = ClosedBraid[{{1,1,1},2},
	Style->Tube,
	Canon->1,
	Framing->{2}];

Show[twistedTrefoil,
	Boxed->False]

The six crossing knots demonstrate the options to ClosedBraid

tubeSix1 = ClosedBraid[{{-1,2,-1,3,-2,3,2},4},
	Style -> Tube,
	Canon -> 0];

Show[tubeSix1,
	ViewPoint->{0,0,5},Boxed->False]

ribbonSix2 = ClosedBraid[{{-1,2,-1,2,2,2},3}, Style->Ribbon];

Show[ribbonSix2,
	ViewPoint->{0,0,5},Boxed->False]

tubeSix3 = ClosedBraid[{{-1,2,2,-1,-1,2},3}, Style -> Tube];

Show[tubeSix3]

The ever popular borromean rings, with a twist

borromeanTubes =
	ClosedBraid[borromeanBraid,
		Style -> Tube,
		Framing -> {0,-1,1}];

Show[borromeanTubes,
	ViewPoint->{1,-2,5},Boxed->False]

The surgery that caps these longitudes with discs produces the smallest known hyperbolic manifold.

smallSurgery = ClosedBraid[{{1,-2,1,-2},3},
	Style -> Tube,
	Framing -> {1,5}];

Show[smallSurgery,
	ViewPoint -> {1,3,5},
	Boxed -> False]

Algebraic versus Geometric simplicity

It should be easy within the framework of BraidGroup.m to implement Garside's solution of the conjugacy problem for braids. Each braid has a canonical representation as a product of a certain number of left half twists and a braid with only right hand crossings.
The canonical form often masks the simplicity of the original braid though.

Example1

Show[OpenBraid[{{1,-2,1,-2},3}],
	ViewPoint->{0,-5,0},Boxed->False]

Show[
	OpenBraid[
		ProductBraid[
		InverseBraid[Delta[3]],
		InverseBraid[Delta[3]],
		{{1,1,2,2,2,1},3}
		]
	],
	ViewPoint->{0,-5,0},Boxed->False]

Example2

Show[OpenBraid[{{-1},4}],
	ViewPoint->{0,-5,0},Boxed->False]

Show[
	OpenBraid[
		ProductBraid[
		InverseBraid[Delta[4]],
		{{1,2,1,3,2},4}
		]
	],
	ViewPoint->{0,-5,0},Boxed->False]