# Package to generate Braid diagrams

Are there any packages, built-in or third party, that will allow me to draw custom braids in Mathematica? The technical report linked by the question below talks about a package AlegbraicBraids and claims that this is available on the website, however this doesn't appear to be the case.

The kinds of diagrams this program produces are perfect:

Ideally, I would like to be able to reduce eqivalent braids to canonical forms as well, but at the very least I'm looking for some facility to do the actual drawing as above.

Are there any build-in or third-party packages for general topology or algebraic topology in Mathematica?

KnotData does this kind of thing:

KnotData[{4, 1}, "BraidImage"]


• I looked at the documentation for KnotData and there essentially is none. Looks like it just does a few preset knots? – Myridium Nov 18 '17 at 5:04
• If you look at the details section, there are hundreds of kinds of knots and braids, and it supports several different naming conventions. – bill s Nov 18 '17 at 16:52
• Mathematica's documentation is lacklustre. That's why I come here to SE. For example, it says something about the braid word notation, but doesn't bother to specify how to use that notation. Simply that it exists. How helpful! Also, Using KnotData may require internet connectivity. – Myridium Nov 19 '17 at 20:22
• Your question stated: "I'm looking for some facility to do the actual drawing" and this is what I pointed you towards, because you did not indicate that you knew about KnotData. The fact that it needs to access the internet is irrelevant -- accessing StackExchange requires the internet too. – bill s Nov 19 '17 at 21:15

# Update:

I've been working on this and made a package with a single public function: to make these braid diagrams. Here's a semi-permanent link to the paclet file which can be installed with PacletInstall in Mathematica.

To load up the package after installing, use Needs[Braids] followed by ?BraidDiagram to see a full description of how to use the BraidDiagram` function. This is a somewhat outdated example of what it looks like: