# Algorithm for computing the Arf invariant of a knot

According to "The knot book", by Colin Adams, two knots are pass equivalent if they are related by a finite sequence of pass-moves. Moreover every knot is pass-equivalent to either the unknot or the trefoil knot and these two knots are not pass-equivalent.

We define Arf invariant of a knot to be 0 if the know is pass equivalent to unknot and to be 1 if it is pass equivalent to the trefoil knot.

Now here is my question: I am not interested to know how a knot is pass-equivalent to unknot or the trefoil knot. I just want to know if there is an easy algorithm for computing the Arf invariant of a knot based on its projection (for example, like the algorithm that we use to compute the linking number of links)?

Can we move along a knot and compute its Arf invariant by taking its crossings somehow into consideration (maybe by counting its positive and negative crossings)?

• Why do you call it $\mathrm{Arf}$-invariant? Is it really the $\mathrm{Arf}$-invariant of a certain form? Then, maybe, you can compute the form? Mar 19, 2015 at 7:39
• Alex, this is one of the standard definitions of Arf invariant for knots (see "The knot book", by Colin Adams or Arf invariant of a knot. Mar 19, 2015 at 8:14
• All I want to say is that this name should be for a reason. Try to search for a better definition elsewhere :) Mar 19, 2015 at 8:34
• Alex: The Arf invariant of a knot is the usual Arf invariant of the quadratic form on the Z/2 homology of a Seifert surface, defined as the self-linking number of a curve representing the homology class. This is the same as the Seifert form. The associated bilinear form is just the intersection pairing, also determined by the Seifert form. Since there's an algorithm for finding a Seifert surface from a projection, there is an algorithm for finding the Arf invariant. I think the OP was looking for something more diagrammatic in nature. Mar 19, 2015 at 12:03

## 3 Answers

The well-known (see here) relations between the Arf invariant and the Alexander/Jones polynomials give you algorithms for computing the Arf invariant, if that's all you want.

But it sounds like what you're after is a 'crossing-linear' algorithm, in the sense that we go along the knot diagram, examine each crossing once, update some internal state, and at the end spit out the Arf invariant.

I don't know of such an algorithm. But it's not terrifically hard to come up with a close approximation to this.

We'll use the property mentioned in the above link (there's a proof Kauffman's Formal Knot Theory, where this is cited as a folklore theorem) that for a standard smoothing $K_+, K_-, K_0$ of a crossing, where $K_0 = L_1 \cup L_2$ is a two-component link, we have $$\mathrm{Arf}(K_+) + \mathrm{Arf}(K_-) \equiv \mathrm{lk}(L_1, L_2) \mod{2}.$$

We can definitely compute the right-hand side by passing along the crossings of $K_0$, so all that remains is to choose crossings cleverly so that whichever one of $K_+, K_-$ is not our original knot is a bit simpler. (Alternately, if you're happy with an algorithm that's exponential-time in the number of crossings you could do some state-sum-style approach here.) This territory is a bit more well-known; I'd look at the more efficient algorithms for the Jones polynomial implemented by Bar-Natan in his Knot Theory package for Mathematica. Ultimately this should get you something that's 'crossing-polynomial', maybe even 'crossing-quadratic'.

Arf invariant is modulo two reduction of the Vassiliev invariant $$v_2$$ (the coefficient of $$z^2$$ in the Conway polynomial). Thus a well-known Gauss diagram formula for $$v_2$$ can be used for its computation. Namely, fix a knot diagram and choose a base point distinct from the crossings. Traverse the diagram starting from the base point. Each crossing is visited twice; write down the sequence in which we visit these crossings, denoting a passage on an overpass by $$O_i$$ and on an underpass by $$U_i$$. The result is the Gauss code of the knot diagram. For example, the standard diagram of a trefoil will be encoded by $$U_1 O_2 U_3 O_1 U_2 O_3$$. Then the Arf invariant is the number of "linked" pairs of crossings $$...U_i...O_k...O_i...U_k...$$ in the Gauss code.

This is too long for a comment, it's just an idea for this computation. Start with a Seifert surface $F \subset \Bbb R^3$ for the knot $K$. Up to isotopy, we can assume that $F$ projects regularly to the plane $\Bbb R^2 \subset \Bbb R^3$. Now, $F$ can be presented by bands attached to a disk. Up to pass-moves, we can unlink and unknot the bands of $F$, as these moves correspond to Reidemeister moves applied to the core graph of $F$ with its band decomposition. Now, the bands are trivial but can be twisted. By further pass-moves we can cancel any two full twists in any band, giving a new surface $F'$ such that any band has 0 or 1 full twists. So, the Arf invariant should be the total number of the full twists of $F'$ (mod 2). I don't have a proof now, it's just intuition, the motivation being that the pass-moves preserve the Arf invariant. By the way, this should imply that the Arf invariant is the total twisting of the bands of the original $F$ (mod 2).