GEOTOP-A International Conference (1/11/24)

The Tanglenomicon

Zachary Bryhtan, Nicholas Connolly, Isabel Darcy, Ethan Rooke, Joseph Starr*

Mathematics Department at The University of Iowa

Knot Tables

  • 1860’s Tait computes knots up to 7 crossing
    • 15 knots
  • 1870’s Tait, Kirkman, and Little compute knots up to 10 crossing
    • Takes about 25 years
    • 250 knots
  • 1960’s Conway computes knots up to 11 crossings
    • “A few hours”
    • 802 knots
  • 1980’s Dowker and Thistlethwaite compute up to 13 crossings
    • First using a computer
    • 12,966
  • 1990’s Hoste, Thistlethwaite, and Weeks compute up to 16 crossings
    • Computer runtime on the order of weeks
    • 1,701,936
  • 2020’s Burton computes up to 19 crossings
    • 350 Million

KnotInfo

Conway

How did Conway compute 25 years of work in "a few hours"?

Tangles

“We define a tangle as a portion of a knot diagram from which there emerge just 4 arcs pointing in the compass directions NW, NE, SW, SE.”

Conway, J.H. “An Enumeration of Knots and Links, and Some of Their Algebraic Properties.” In Computational Problems in Abstract Algebra, 329-58. Elsevier, 1970. https://doi.org/10.1016/B978-0-08-012975-4.50034-5

$\quad$
$\quad$
NWNESWSE
$\quad$
$\quad$
$\quad$

Basic Operations

Operation $+$

$+$
$=$
$=$
$=$
$2$

Operation $\vee$

$\vee$
$=$
$=$
$=$
$\frac{1}{2}$

The Tanglenomicon

The table of two string tangles

Building up

$\ $
$\ $
$\ $
$\ $

Where we are

Rational Tangles

$\ $
$\begin{aligned}\to&\ \LP 3 \vee \frac{1}{2}\RP + 2\\&\\ \to&\ [3\ 2\ 2]\end{aligned}$

Generation

For any $N$ an obvious twist vector is the twist vector of all $1$s $$[1\ 1\ 1\ \cdots\ 1]$$ Noting that when we write this sequence, we have $N-1$ spaces.

If we choose to place a $+$ instead of the left most space we get $$[1+1\ 1\ \cdots\ 1]=[2\ 1\ \cdots\ 1]$$ we’re free to make this choice for each space

this gives $N-1$ choices between ‘$+$’ and space $$[1\square 1\square 1\square\cdots\square1]$$ letting us generate twist vectors by simply counting from $0\to 2^{N-1}$.

Twist Vectors for $N=5$
$$\begin{array}{|l|l|l|l|} \hline [1\ 1\ 1\ 1\ 1]\ &\ [2\ 1\ 1\ 1]\ &\ [1\ 2\ 1\ 1]\ &\ [1\ 1\ 2\ 1]\\\hline [1\ 1\ 1\ 2]\ &\ [3\ 1\ 1]\ &\ [1\ 3\ 1]\ &\ [1\ 1\ 3]\\\hline [2\ 2\ 1]\ &\ [2\ 1\ 2]\ &\ [1\ 2\ 2]\ &\ [3\ 2]\\\hline [2\ 3]\ &\ [4\ 1]\ &\ [1\ 4]\ &\ [5]\\\hline \end{array}$$

Canonical Twist Vectors

We can write a canonical twist vector by taking the odd length vectors (appending $0$ where needed).

Canonical Twist Vectors for $N=5$
$$\begin{array}{|l|l|l|l|} \hline [1\ 1\ 1\ 1\ 1]\ &\ [2\ 1\ 1\ 1\ 0]\ &\ [1\ 2\ 1\ 1\ 0]\ &\ [1\ 1\ 2\ 1\ 0]\\\hline [1\ 1\ 1\ 2\ 0]\ &\ [3\ 1\ 1]\ &\ [1\ 3\ 1]\ &\ [1\ 1\ 3]\\\hline [2\ 2\ 1]\ &\ [2\ 1\ 2]\ &\ [1\ 2\ 2]\ &\ [3\ 2\ 0]\\\hline [2\ 3\ 0]\ &\ [4\ 1\ 0]\ &\ [1\ 4\ 0]\ &\ [5]\\\hline \end{array}$$

Computations

Rational Number (continued fraction)

The rational number for a twist vector is computed by taking the twist vector as a finite continued fraction that is: $$\LB a\ b\ c\RB=c+\frac{1}{b+\frac{1}{a}}$$

Twist Vector to rational number
$$\ =\LB 3\ 2\ 2\RB=2+\frac{1}{2+\frac{1}{3}}=\frac{17}{7}$$

Louis H. Kauffman and Sofia Lambropoulou. Classifying and applying rational knots and rational tangles. In DeTurck, editor, Contemporary Mathematics, volume 304, pages 223-259, 2001

Using The Tanglenomicon

Where we’re going

Montesinos

Existence of canonical diagrams for Montesinos tangles

Theorem (Bonahon and Siebenmann)
Every non-rational Montesinos tangle $T$ admits a canonical diagram satisfying the following construction: $$T \cong L_1+\cdots+L_m+\frac{k}{1}$$ where each $L_i \cong \frac{p_i}{q_i}$ is a rational subtangle in canonical form with fraction satisfying $0<\frac{p_i}{q_i}<1$, and $\frac{k}{1}$ is a horizontal integer subtangle.

F. Bonahon and L. Siebenmann, New geometric splittings of classical knots, and the classification and symmetries of arborescent knots, http://www-bcf.usc.edu/~fbonahon/Research/Publications.html

$+$
$=$
$$\ =\ $$
$$=[3\ 2\ 0] + [3\ 2\ 0]$$

Generation

The Montesinos tangles of crossing number $N$ have a slightly simpler generation strategy compared to rational tangles. We again generate twist vectors but require that each entry $e$ of the twist vector satisfies $2\leq e < N.$ We call these restricted set of twist vectors stencils.

Stencils for $N=5$
$$\begin{array}{|l|l|l|l|} \hline [1\ 1\ 1\ 1\ 1]\ &\ [2\ 1\ 1\ 1]\ &\ [1\ 2\ 1\ 1]\ &\ [1\ 1\ 2\ 1]\\\hline [1\ 1\ 1\ 2]\ &\ [3\ 1\ 1]\ &\ [1\ 3\ 1]\ &\ [1\ 1\ 3]\\\hline [2\ 2\ 1]\ &\ [2\ 1\ 2]\ &\ [1\ 2\ 2]\ &\ [3\ 2]\\\hline [2\ 3]\ &\ [4\ 1]\ &\ [1\ 4]\ &\ [5]\\\hline \end{array}$$

Now for each entry $e_i$ of the stencil, we generate a list of rational tangles of crossing number equal to $e_i$, with the restriction $0<\frac{p_i}{q_i}<1$. We then take all combinations of elements of these lists.

Montesinos tangles for $N=5$
\begin{array}{|l|} \hline \text{Rational Tangles CN: }2 \\\hline [1\ 1\ 0]=\frac{1}{2},\ [2]=\frac{2}{1} \ \\\hline \text{Rational Tangles CN: }3\\\hline [1\ 2\ 0]=\frac{1}{3},\ [2\ 1\ 0]=\frac{2}{3},\ [3]=\frac{3}{1}\\\hline \end{array}
$\quad$
\begin{array}{|l|l|} \hline \color{var(--r-Purple)}\text{Stencil:}[3\ 2]\ &\ \\\hline \color{var(--r-Foreground)}[1\ 2\ 0] + [1\ 1\ 0]\ &\ [2\ 1\ 0] + [1\ 1\ 0]\\\hline \color{var(--r-Purple)}\text{Stencil:}[2\ 3]\\\hline \color{var(--r-Foreground)}[1\ 1\ 0] + [1\ 2\ 0]\ &\ [1\ 1\ 0] + [2\ 1\ 0]\\\hline \end{array}

What about the ‘k’?

The construction for the canonical Montesinos tangles includes a trailing $\frac{k}{1}$ tangle. Our generation strategy seems to miss these.

What we’re actually generating with this algorithm is equivalent to allowing the boundary components of the tangle to move. To recover fixed boundary tangles we need to generate the next larger class of tangles.

We can note which stage a tangle was generated at to allow users to choose datasets for fixed or non-fixed boundary tangles.

Generalized Montesinos

Operation $\circ$

$\ $
$= \color{var(--r-Purple)}([1\ 2\ 0] + [1\ 2\ 0] + [1\ 1\ 0]) \color{var(--r-Foreground)}\circ \color{var(--r-Red)}[1\ 2]$

Moon, Hyeyoung, and Isabel K. Darcy. “Tangle Equations Involving Montesinos Links.” Journal of Knot Theory and Its Ramifications 30, no. 08 (July 2021): 2150060. https://doi.org/10.1142/S0218216521500607.

Generation

We just need to take our lists of Montesinos and rational tangles and glue them together with $\circ$.

Into the future

Algebraic

All possible tangles made from $+$ and $\vee$

Algebraic
A vertical sum of two Montesinos tangles.

Generation

Algebraic Tangle Trees

To generate all possible algebraic tangles, we can generate all possible algebraic expressions on the trivial tangles. Equivalently, all full binary trees with $N$ leaves. Where the tree’s internal nodes are labeled with combinations of $\vee$ and $+$ and leaves are labeled with all combinations of trivial tangles.

These binary trees are called Algebraic Tangle Trees.

Alain Caudron. Classification des nœuds et des enlacements, volume 4 of Publications Math ́ematiques d’Orsay 82 [Mathematical Publications of Orsay 82]. Universit ́e de ParisSud, D ́epartement de Mathe ́matique, Orsay, 1982.

Connolly, Nicholas. Classification and Tabulation of 2-String Tangles: The Astronomy of Subtangle Decompositions. University of Iowa, 2021, https://doi.org/10.17077/etd.005978.

[3 2 3][3 2 3][3 2 3][3 2 3]++v

Non-algebraic/Polygonal

4-valent planar graphs

$\quad$

4-valent planar graph insertions

$6^*\ *.[1\ 2\ 2\ 3\ 1].[1\ 2\ 2\ 3\ 1].[1\ 2\ 2\ 3\ 1].[1\ 2\ 2\ 3\ 1].[1\ 2\ 2\ 3\ 1]$

Generation

There exist tables of 4 valent graphs. We can use those with insertions from our list of algebraic tangles to generate all polygonal tangles.

Technologies

ThrowTheSwitch/UnitySimple Unit Testing for C C3.3k935

Sources

  1. Dror Bar-Natan The Most Important Missing Infrastructure Project in Knot Theory
  2. Kauffman, L. H., and S. Lambropoulou. “From Tangle Fractions to DNA.” In Topology in Molecular Biology, edited by Michail Ilych Monastyrsky, 69-110. Biological and Medical Physics, Biomedical Engineering. Berlin, Heidelberg: Springer Berlin Heidelberg, 2007. https://doi.org/10.1007/978-3-540-49858-2_5.
  3. Moon, Hyeyoung, and Isabel K. Darcy. “Tangle Equations Involving Montesinos Links.” Journal of Knot Theory and Its Ramifications 30, no. 08 (July 2021): 2150060. https://doi.org/10.1142/S0218216521500607.
  4. Conway, J.H. “An Enumeration of Knots and Links, and Some of Their Algebraic Properties.” In Computational Problems in Abstract Algebra, 329-58. Elsevier, 1970. https://doi.org/10.1016/B978-0-08-012975-4.50034-5.
  5. Louis H. Kauffman and Sofia Lambropoulou. Classifying and applying rational knots and rational tangles. In DeTurck, editor, Contemporary Mathematics, volume 304, pages 223-259, 2001
  6. Alain Caudron. Classification des nœuds et des enlacements, volume 4 of Publications Math ́ematiques d’Orsay 82 [Mathematical Publications of Orsay 82]. Universit ́e de ParisSud, D ́epartement de Mathe ́matique, Orsay, 1982.
  7. Robert Glenn Scharein. Interactive topological drawing. ProQuest LLC, Ann Arbor, MI, 1998. Thesis (Ph.D. The University of British Columbia (Canada). URL: https://www.knotplot.com/.
  8. Jablan, S., & Sazdanović, R. (2007). Linknot. In Series on Knots and Everything. WORLD SCIENTIFIC. https://doi.org/10.1142/6623
  9. Dowker, C. H., & Thistlethwaite, M. B. (1983). Classification of knot projections. In Topology and its Applications (Vol. 16, Issue 1, pp. 19-31). Elsevier BV. https://doi.org/10.1016/0166-8641(83)90004-4
  10. Hoste, J., Thistlethwaite, M., & Weeks, J. (1998). The first 1,701,936 knots. In The Mathematical Intelligencer (Vol. 20, Issue 4, pp. 33-48). Springer Science and Business Media LLC. https://doi.org/10.1007/bf03025227
  11. Burton, B. A. (2020). The Next 350 Million Knots. Schloss Dagstuhl - Leibniz-Zentrum Für Informatik. https://doi.org/10.4230/LIPICS.SOCG.2020.25
  12. C. Livingston and A. H. Moore, KnotInfo: Table of Knot Invariants, knotinfo.math.indiana.edu, today’s date (eg. August 24, 2023).
  13. Schubert, Horst. “Knoten mit zwei Brücken..” Mathematische Zeitschrift 65 (1956): 133-170. http://eudml.org/doc/169591.
  14. Jos ́e M. Montesinos. Seifert manifolds that are ramified two-sheeted cyclic coverings. Bol. Soc. Mat. Mexicana (2), 18:1-32, 1973.
  15. F. Bonahon and L. Siebenmann, New geometric splittings of classical knots, and the classification and symmetries of arborescent knots, http://www-bcf.usc.edu/~fbonahon/Research/Publications.html
  16. Connolly, Nicholas. Classification and Tabulation of 2-String Tangles: The Astronomy of Subtangle Decompositions. University of Iowa, 2021, https://doi.org/10.17077/etd.005978.

Programmatic Description
stateDiagram-v2 direction LR state if_done <<choice>> State_i: i=0 State_ipp: i++ state "Construct TV from i as a bitfield" as tv_calc{ state "tmp=i;j=0;cnt=N" as State_temp State_jpp: j++ State_cntmm: cnt-- State_sum_tv: TV[j]++ State_rsh: tmp=tmp>>1 state if_lsb <<choice>> state if_cnteo <<choice>> State_store_tv: Store TV [*] --> State_temp State_temp --> if_cnteo if_cnteo--> State_cntmm: if cnt>0 if_cnteo--> State_store_tv: if cnt==0 State_store_tv --> [*] State_cntmm -->if_lsb if_lsb -->State_sum_tv: if (tmp & 0x01u)==1u State_sum_tv --> State_rsh if_lsb -->State_jpp: if (tmp & 0x01u)==0u State_jpp --> State_rsh State_rsh --> if_cnteo } [*] --> State_i State_i --> if_done if_done --> tv_calc: if i < 2**(N-1) tv_calc --> State_ipp State_ipp --> if_done if_done --> [*]: if i == 2**(N-1)

Computations

Rational Number (continued fraction)

The rational number for a twist vector is computed by taking the twist vector as a finite continued fraction that is: $$\LB a\ b\ c\RB=c+\frac{1}{b+\frac{1}{a}}$$

Twist Vector to rational number
$$\ =\LB 3\ 2\ 2\RB=2+\frac{1}{2+\frac{1}{3}}=\frac{17}{7}$$

Louis H. Kauffman and Sofia Lambropoulou. Classifying and applying rational knots and rational tangles. In DeTurck, editor, Contemporary Mathematics, volume 304, pages 223-259, 2001

To play with twist vectors and continued fractions visit

https://joe-starr.com/resources/cont_frac_convert/

Parity

NWSWSENE
NW SW SE NE
NWSWSENE
NW SW SE NE
NWSWSENE
NW SW SE NE

Computing Parity

If we take the rational number $\frac{p}{q}$ associated with the rational tangle we get the following correspondence for parity

Parity Table
$$\begin{array}{|c|c|c|} \hline p\ \%\ 2 &q\ \%\ 2&\text{Parity}\\ \hline 0 &0&N/A\\ \hline 0 &1& 0 \\ \hline 1 &0&\infty\\ \hline 1 &1& 1\\ \hline \end{array}$$

Note
NWSWSENE
$$\ =[3\ 2\ 1]=1+\frac{1}{2+\frac{1}{3}}=\frac{10}{7}\to\text{ Parity: 0 }$$
NW SW SE NE

Closures

$\ $

Closure Equivalence and pivoting to knots

Theorem (Schubert)
Suppose that rational tangles with fractions $\frac{p}{q}$ and $\frac{p^{\prime}}{q^{\prime}}$ are given ( $p$ and $q$ are relatively prime and $0$<$p$. Similarly for $p^{\prime}$ and $q^{\prime}$.) If $K\left(\frac{p}{q}\right)$ and $K\left(\frac{p^{\prime}}{q^{\prime}}\right)$ denote the corresponding rational knots obtained by taking numerator closures of these tangles, then $K\left(\frac{p}{q}\right)$ and $K\left(\frac{p^{\prime}}{q^{\prime}}\right)$ are topologically equivalent if and only if
(1) $p=p^{\prime}$
(2) either $q \equiv q^{\prime}(\bmod p)$ or $q q^{\prime} \equiv 1(\bmod p)$.

Schubert, Horst. “Knoten mit zwei Brücken..” Mathematische Zeitschrift 65 (1956): 133-170. http://eudml.org/doc/169591.

177175858%17=7

Tooling

Design Goals

The design for The Tanglenomicon project prioritizes flexibility and extensibility. We want a feature, maybe “calculate Jones polynomial,” to be runnable in a jupyter notebook or on a university cluster. We’re aiming for a “write once deploy anywhere” design.

To that end we’ve decoupled functionality wherever feasible, taking a layered approach for system design.

flowchart LR Runner subgraph "Runnables" Generator Translator Computation end subgraph "Data Wranglers" Notation Storage end Runner -->|Runs| Generator Runner -->|Runs| Computation Runner -->|Runs| Translator Translator -->|Uses| Notation Generator -->|Uses| Notation Computation -->|Uses| Notation Generator -->|Uses| Storage Computation -->|Uses| Storage Translator -->|Uses| Storage

Runners

A runner is a human/machine interface layer. This abstracts the routines in lower layers for a user to interact with. This could be a CLI, python binding, a Mathematica wrapper, or a web API.

Runnables

Generators

Generators create new data. A generator might look like a module to create rational tangles. They may use one or more Computations, Notations, or Translators.

Computation

Computations compute a value for a given data. A computation might look like a module for computing a Jones polynomial of a link, or a computing the writhe of a tangle.

Translators

Translators define a conversion between two Notations. A translator might look like a module for converting from PD notation to Conway notation and back again.

Data Wranglers

Notations

Notations define a notational convention for a link/tangle. They describe a method for converting to and from a string representation of a link/tangle and data structure describing that link/tangle.

Storage

A storage module defines a storage interface for the application. The main inter-module type is string and the calling module is responsible for en/decoding the string with a notation module.

Parallelization

sequenceDiagram participant DB participant Server participant Client 1 participant Client 2 Server->>+Client 1: Dispatch job 1 for stencil starting from TV idx<br/>[0,0,0,...] Server-->>DB: Mark job 1 as dispatched Server->>+Client 2: Dispatch job 2 for stencil starting from TV idx<br/>[100,0,0,...] Server-->>DB: Mark job 2 as dispatched Client 1-->>-Server: job complete Server-->>DB: store job 1 results and mark complete Server->>+Client 1: Dispatch job 3 for stencil starting from TV idx<br/>[0,100,0,...] Server-->>DB: Mark job 3 as dispatched Client 2-->>-Server: job complete Server-->>DB: store job 2 results and mark complete Client 1-->>-Server: job complete Server-->>DB: store job 3 results and mark complete