## Andrew Bartholomew's Mathematics Page

### Last updated 9th November, 2021

This page holds links to pieces of my mathematical software development. It was designed primarily to publish my work on virtual braids but also contains a few other bits and pieces. This is a spare time activity for me which I do solely for pleasure, for my day job I work as a computer network engineer. My mathematical background is algebraic and topological (I was a postgraduate student of Martin Dunwoody's at Sussex) and these remain my main areas of interest.

If you find any bugs or errors, please email me at andrewb@layer8.co.uk

### Braids

My braid programme was developed for some work done with Roger Fenn at the University of Sussex. See his homepage here.

The programme calculates a number of properties of virtual and classical braids. In particular it calculates Alexander polynomials and quaternionic invariants from classical and virtual braids and implements Vogel's algorithm for classical, virtual and flat link diagrams.

• braid programme binaries and source code
• Vogel's algorithm provides a mechanism for determining an equivalent closed braid representation for a link diagram. I have an implementation of this algorithm as part of my braid programme for classical, virtual and flat links. You can get a postscript copy of a paper that describes this algorithm here: vogel.pdf.

### Drawing knots

My draw programme produces Metapost code for drawing classical and virtual knots or (multi-)knotoids. It is also capable of drawing smoothed state diagrams for a classical or virtual knot or (multi-)knotoid.

By enumerating labelled peer codes, complete lists of distinct link immersions have been determined for immersions up to eleven crossings, and up to four components for crossings with nine crossings or less.

### Finite Biquandles and Welded Knots

A list of distinct welded knots has been produced with Roger Fenn using invariants developed from lists of finite biquandles found by a computer search. This page contains links to various lists related to finite switches of small size:

• finite racks up to size 6
• finite biracks up to size 4
• finite quandles up to size 6
• finite biquandles up to size 4
• quandle-related biracks up to size 6
• quandle-related biquandles up to size 6

Lists are also provided for:

• Virtual pairs of finite biquandles
• Weld pairs of finite biquandles
• Essential pairs of finite biquandles

### Doodles

Lists of both minimal planar doodles and virtual doodles are presented on the virtual doodles page:

• planar doodles with fewer than 8 crossings
• virtual doodles with n crossings

### Knotoids

A list of distinct knotoids, as described by Vladimir Turaev, has been produced using a computer search and his extended bracket polynomial invariant.

### Tracks

My postgraduate studies were focussed on tracks, which are generalizations of simple closed curves on a 2-dimensional CW-complex. From a finitely presented group G it is possible to construct a 2-dimensional CW-complex K, with fundamental group G, where the tracks on K give information about a splitting of G as a free product or as an HNN extension. As part of my studies, I wrote two programmes that calculated a finite set of generating tracks for K and that could calculate the splitting of G determined by any given track.

Later work by Martin Dunwoody prompted me to update the code for these programmes so they can be compiled using a modern C++ compiler. Originally they were written in ALGOL68 and subsequently converted to a very early version of C++. These latest versions have been using the GNU gcc compiler on Fedora, they can be found on the tracks page.

### C++ Classes

During the development of the braid programme I produced a number of C++ classes, in particular a set of scalar classes that provide for limited run-time selection of type. Since these may be of more general interest and use, the are described on the scalars page.