A MODIFICATION OF THE SARKAR-WANG ALGORITHM AND AN
ANALYSIS OF ITS COMPUTATIONAL COMPLEXITY
arXiv:0711.4405v2 [math.GT] 31 Jan 2008
JONATHAN HALES, DMYTRO KARABASH, AND MICHAEL T. LOCK
Abstract. The Sarkar-Wang algorithm computes the hat version of the Heegaard Floer
homology of a closed oriented three manifold. This paper analyzes the computational
complexity of the Sarkar-Wang algorithm; then the algorithm is modified to obtain a bet\
ter bound. Then the computational complexity of calculating HF
K from a Heegaard
diagram by means of the modified Sarkar-Wang algorithm is also analyzed. Under certain assumptions it is shown that the modified Sarkar-Wang algorithm is faster than the
Manolescu-Ozsváth-Sarkar algorithm
Contents
1. Introduction
2. Preliminaries
2.1. Heegaard Diagrams
2.2. Heegaard Moves
dK from a Nice, Disk Heegaard Diagram
2.3. Calculating HF
2.4. A Representation of a Heegaard Diagram and a Unit of Time.
3. Sarkar-Wang Algorithm and its Complexity
3.1. The Sarkar-Wang Algorithm
3.2. Sarkar-Wang Lemma.
4. Modification of the Sarkar-Wang Procedure
4.1. Making a Heegaard Diagram into a Distance 1 Heegaard Diagram.
5. Computing the Heegaard Floer Knot Homology from a Nice Diagram
5.1. Computing the “Inverse” of ∂∂α
5.2. Computing the Relative Alexander and Maslov Gradings
5.3. Computing the Differential
5.4. Computing the Homology and the Overall Time of the Algorithm.
6. The Modified Sarkar-Wang Algorithm
6.1. Step 1: Killing Bigons that do not Contain z or w.
6.2. Step 2: Killing Non-Disk Regions.
6.3. Step 3: Reducing the Heegaard Distance to 1 by Attaching Handles.
6.4. Step 4: Apply the Modified Sarkar-Wang Procedure to Obtain a Nice Diagram.
7. Speculations and Conclusions.
1
2
2
3
4
5
6
6
6
8
9
10
11
12
12
12
12
12
13
13
13
14
1. Introduction
The Heegaard Floer homology is an invariant of a closed 3-manifolds that was developed
by Peter Ozsváth and Zoltán Szabó [?]. The knot version of this invariant, known as the
Heegaard Floer knot homology, was developed by Ozsváth and Szabó and also, independently, by Jacob Rasmussen. The original construction of the Heegaard Floer homologies
1
2
JONATHAN HALES, DMYTRO KARABASH, AND MICHAEL T. LOCK
required solving a system of partial differential equations. Recently two combinatorial algorithms were developed. The first algorithm, discovered by Ciprian Manolescu, Peter
Ozsváth and Sucharit Sarkar, computes the Heegaard Floer knot homologies.
d
The second algorithm, discovered by Sucharit Sarkar and Jiajun Wang, computes HF
\
and several of its knot versions including HF
K.
\
In this paper, we discuss the Heegaard Floer knot homology HF
K and bound the computational complexity of the Sarkar-Wang algorithm. We also analyze the computational
complexity of the combinatorial algorithm that calculates the Heegaard Floer homology
from a nice diagram. We start by defining the Heegaard Floer homology in section 2.
Then we analyze the Sarkar-Wang algorithm in sections 3 and the algorithm to compute
\
HF
K from a nice diagram in 5. In section 4, we present our modifications to the SarkarWang algorithm, which we believe significantly lowers the computational complexity of the
algorithm. We then examine the computational complexity of the the modified algorithm
\
together together with the algorithm to compute HF
K from a nice diagram (i.e. the process
\
of computing HF K from a Heegaard diagram that is not necessarily nice) in section 6. Finally, we conclude with some conjectures which, if true, would imply that the Sarkar-Wang
algorithm is faster than the Manolescu-Ozsváth-Sarkar algorithm.
We would like to thank Professor Robert Lipshitz and Thomas Peters for supervising
us during the summer of 2007 in doing this research. Many of the definitions used in this
paper were adopted from handouts given to us by Robert Lipshitz.
The first author would like to thank professor Walter Neumann for supporting this research. The second author would like to thank the I.I.Rabi Scholarship for supporting
this research. The third author would like to thank the Columbia Mathematics Summer
Research Program for supporting this research.
2. Preliminaries
2.1. Heegaard Diagrams.
We begin by reviewing some notions from [?] and [?] as well as introducing a some new
definitions and notation.
Definition. A Heegaard diagram for S 3 is a triple (Σ, α, β) where
(1) Σ is a closed, orientable surface of genus g and
(2) α = {α1 , α2 , ..., αg } and β = {β1 , β2 , ..., βg } are g-tuples of pairwise-disjoint embedded simple closed curves such that Σ\{α1 ∪ α2 ∪ ... ∪ αg } and Σ\{β1 ∪ β2 ∪ ... ∪ βg }
are connected and that when viewing Σ as sitting in S 3 , each αi bounds a disk
outside Σ and each βi bounds a disk inside Σ.
Definition. A doubly pointed Heegaard diagram H for a knot K in S 3 is a Heegaard
diagram for S 3 with two special points z, w ∈ Σ\(α ∪ β) with the property that K can be
obtained by the following procedure: connect z and w by two paths γ1 , γ2 such that γ1 is
embedded in Σ\α and the path γ2 is embedded in Σ\β; then push γ1 slightly out of Σ to
get a curve η1 , and push γ2 slightly inside to get a curve η2 ; then make K by gluing the
two curves together i.e. K = η1 ∪ η2 .
Definition. A Heegaard diagram is disk if all regions of the Heegaard diagram are
disks.
Remark 1. We are always able to make a Heegaard diagram into a disk diagram. SarkarWang give us an algorithm for this in [?] and we also present another method in section
6.2 of this paper.
A MODIFICATION OF THE SARKAR-WANG ALGORITHM
3
Definition. Regions with two edges are called bigons and regions with 4 edges are called
rectangles. The special regions Z and W are the regions that contain the special points z
and w.
Definition.
• A region is bad if it is not a bigon and not a rectangle.
• The badness of a region R with 2n edges is max(n − 2, 0). We denote the badness
of a region by b(R).
• P
The total badness of H is the sum of the badness of all regions other than Z,
R6=Z b(R). We denote the total badness of a diagram by b(H).
• A Heegaard diagram is nice if its total badness is 0.
Definition.
• The Heegaard distance of a region R is the smallest number of β-edges a path inside
Σ \ α going from R to Z would have to pass through. The distance of a Heegaard
diagram H is the maximal distance over all bad regions
of H.
P
b
• The total badness of H at distance d is bd (H) , m
n=1 (Di ), where D1 , ...Dm are
all bad regions of distance d.
Definition. The Heegaard path of a region R is a path inside Σ \ α going from R to Z
whose number of intersections with β-edges is equal to the Heegaard distance of the region.
of R
Definition. The Euler measure of a region R is e(R) , χ(R) − #corners
, where
4
χ(R) is the Euler characteristic of R.
Lemma 2.1. For a disk Heegaard diagram H, if b(H) is the total badness of H, bz is the
badness of Z, g is the genus of the diagram and B is the number of bigons in a diagram,
then the following equality holds
(2.1)
b(H) + bz = 4(g − 1) + B
Proof. The total Euler measure of genus g surface is equal to the sum of Euler measures of
its regions:
X
1
2 − 2g =
e(D) = (−b(H) − b(Z) + B)
2
D
which becomes (2.1) after rearranging.
2.2. Heegaard Moves. There are three moves that can be made on a Heegaard diagram
H for a knot K in S 3 to yield another Heegaard diagram H0 for K [?]:
• Isotopies: moving an α (or β) curve around without intersecting another, including
itself, α (or β) curve. Any isotopy can be obtained by a sequence of finger moves.
(Figure 1)
• Handleslides: pushing αi over αj or pushing βi over βj . (Figure 2)
• Stabilization: gluing the Heegaard diagram to a genus 1 Heegaard diagram for S 3 .
Destablization, which is the inverse process, is also allowed. (Figure 3)
Definition. An alteration of H is any Heegaard diagram H0 obtained from H by the the
combination of the above Heegaard moves.
Definition. A finger move of length n is a finger move of an α-curve that intersects n
β-curves or, respectively, a finger move of an β-curve that intersects n α-curves.
4
JONATHAN HALES, DMYTRO KARABASH, AND MICHAEL T. LOCK
Figure 1. The dotted arcs represent α- arcs and solid arcs represent β-arcs.
This is an example of a finger move of an α arc through a β arc.
X1
X2
Y2
Y1
X1
X2
Y1
Y2
Figure 2. Handleslide: α1 goes around α2 .
X1
X2
Y2
Y1
Y3
X3
X1
Y1
X2
Y2
Figure 3. Stabilization of a Heegaard diagram.
\
2.3. Calculating HF
K from a Nice, Disk Heegaard Diagram.
A MODIFICATION OF THE SARKAR-WANG ALGORITHM
5
Definition. A matching is a g-tuple of points x = {x1 , x2 , ..., xg } ⊂ (α ∩ β) such that
exactly one xi lies on each α circle and exactly one on each β circle.
In the following definition and the rest of the paper we use an unconventional, but
convenient, notation. We write ∂α for the intersection of the image of the boundary operator
on a region with the α-curves.
Definition. P
A domain connecting n-tuples x = {x1 , ...xn } and y = {y1 , ...yn } is a chain
of regions D = i ai Ri such that:
• ∂(∂α D) = y − x.
• The coefficient of Z in D is zero.
For any vertex q, let nq (D) be the average of P
the coefficients ai of the four regions with
a corner at q. For a matching x define nx (D) = xi ∈ x nxi (D).
A graded chain complex is a sequence of homomorphisms:
∂i+1
∂
∂i−1
i
. . . −−−→ Ci −→
Ci−1 −−−→ . . .
Where the Ci are abelian groups and ∂i−1 ◦ ∂i = 0, ∀i.
A bi-graded chain complex is a collection of graded chain complexes which are arranged
with each other according to a another grading.
\
A Heegaard Floer knot chain complex CF
K s a bi-graded chain complex.
P It suffices to
use relative gradings in our case. They are defined as follows: Let D = i ai Ri be the
domain connecting x to y. Maslov grading µ between x and y is defined by µ(x, y) =
e(D) + nx (D) + ny (D); and Alexander grading is defined as A(x, y) = aw where aw is the
coefficient of W in D.
The differential is a map from CF Ki,j to CF Ki,j−1
The differential is given by:
X
d(x) =
nx,y y
µ(x,y)=1
A(x,y)=0
where nx,y is the number of positive domains going between 1- and 2-tuples of matchings
x and y.
Heegaard Floer homology is a bigraded complex, denoted HF K, whose elements are
HF Ki,j = Ker(dn )/Im(dn+1 )
In order to talk about the computational complexity of an algorithm we need to have
some notion of time. We deal with that now.
2.4. A Representation of a Heegaard Diagram and a Unit of Time.
In our representation of a Heegaard diagram we are only interested in preserving enough
\
\
information to compute CF
K and HF
K.
Each finger move of length 1 takes O(1) time to modify this presentation since we only
have to add a fixed number of simplices and change the boundary data maps in finitely
many places. The modification of BRi,j takes O(1) since the badness of at most 2 regions
changed and at most one bad region is created. Similarly we need to make O(l) changes for
a finger move or handleslide of length l.
Hence, the order of the total complexity of the Sarkar-Wang algorithm is of the same
order as the total length of all finger moves and handleslides, which is of the same order as
the number of new 0-simplices we have added to the presentation during these finger moves
and handleslides. Hence from now on we count only the number of new 0-simplices.
6
JONATHAN HALES, DMYTRO KARABASH, AND MICHAEL T. LOCK
3. Sarkar-Wang Algorithm and its Complexity
In this section we restate and give a bound for the computational complexity of the
Sarkar-Wang.
The Sarkar-Wang algorithm works by elminating all of the bad regions at successive
distances. In order to talk about the algorithm in detail, we restate the following definitions
from [?].
From now on H will denote a Heegaard diagram of distance d and D1 , ..., Dn will be its
bad regions of distance d such that b (D1 ) ≥ . . . ≥ b (Dn ).
Definition. The distance d complexity of H is
!
m
X
cd (H) =
b(Di ), −b(D1 ), −b(D2 ), · · · , −b(Dn ) ,
i=1
and cd (H) is ordered lexicographically.
We will also refer to something called a chain of rectangles. A chain of rectangles is set
of rectangles, where each rectangle has an α-edge in common with an another rectangle in
the set and there are only two possible β-curves that the β-edges of the rectangles can be
a part of.
3.1. The Sarkar-Wang Algorithm.
For a detailed exposition of the algorithm the reader should consult [?]. For convenience
we summarize it here.
Step 1: First make each α circle intersect at least one β circle and vice versa. Then
eliminate the non-disk regions with finger moves. Step 2: Iterate the following until there
are no bad regions. We will refer to this as the Sarkar-Wang procedure:
Given a bad region D of maximal distance d and minimal badness among bad regions of
distance d, Let D∗ be some region of distance d − 1 adjacent to D via a β curve φ. Let
a1 , a2 , ...an be the α edges on the boundary of D going in counterclockwise order such that
a1 and an are the α edges adjacent to φ. Make a finger move on φ through the chain of
rectangles that start from a2 and ends when a non-rectangular region or region of distance
less than d is reached. If the end region E coincides with D and the finger comes back
through an α edge adjacent to a2 (that is a1 or a3 ), then make a handle slide.
If the end region E coincides with D and the finger comes back through an α edge other
than a1 or a3 (we will refer to this event as the ”hard” case for the rest of the paper),
then make the finger move through the a3 edge. If this fails try again through the a4 edge.
Continue progressing counterclockwise around the edges until you get to one (it is shown in
[?] that there is one) in which the finger move ends as in one of the cases (we will refer to
these cases as the ”easy” cases the rest of the paper) from the previous paragraph.
3.2. Sarkar-Wang Lemma. Let us start by stating the Sarkar-Wang lemma (lemma 4.1
in [?]).
Lemma 3.1. For a distance d pointed disk Heegaard diagram H with v(H) vertices and
cd (H) 6= (0), by applying the Sarkar-Wang procedure we get an alteration H0 , satisfying the
following three properties:
(3.1)
(3.2)
(3.3)
d(H0 ) ≤ d(H)
cd (H0 ) < cd (H)
b(H0 ) ≤ b(H) + 1
A MODIFICATION OF THE SARKAR-WANG ALGORITHM
7
Note: The original Sarkar-Wang Lemma did not contain (3.3). We prove it below; for
proofs of (3.1) and (3.3) see [?].
Proof of (3.3). In each case the number of bigons increases by at most one, bz does not
decrease and the genus stays the same. Combining these observations with equation (2.1)
we get (3.3).
This lemma shows that the Sarkar-Wang algorithm gives a nice Heegaard diagram, but
it does not yield nice computational results. To get better results we look at the algorithm
more closely. For now we skip a detailed discussion of how step 1, the elimination of non-disk
regions, affects the computational complexity and focus on the computational complexity
of step 2, the Sarkar-Wang procedure. We will look at step 1 in section 6.2 where we bound
\
K from a Heegaard
the computational complexity of the entire process of calculating HF
diagram.
Lemma 3.2. To decrease the number of bad regions of distance d we need to apply the
2
Sarkar-Wang Procedure at most (b(D)+1)
times. The number of vertices of the diagram
2
increases by at most a factor of 3b(D) during these applications.
Proof. Let D be as in the Sarkar-Wang procedure. Let a ’reduction’ stand for the process
to whereby we eliminate one unit of badness from D without creating any additional bad
regions of distance d.
Notice that if we consider only the “easy” cases it would take us only b(D) applications
of the Sarkar-Wang procedure to eliminate the badness of the region D since every time
the procedure is applied, we would “push” at least one unit of badness of D into a different
region.
In the ”hard” case things are a little more complicated because when we make a finger
move through ak we are splitting the bad region into two bad regions D1 and D2 . However,
this actually makes the situation easier to deal with. For note that all of finger moves one
can make in D2 end up in D1 (if a finger move from D2 were to end up in D2 then by the
claim in the middle of page twelve in [?] the finger move for the ”hard” case would have
been made through one of the boundaries
k of D2 , a contradiction). Therefore a reduction in
j
b(D)+1
applications of the Sarkar-Wang procedure.
the ”hard” case takes at most
2
Notice that during an application of a finger move we pass through each chain of rectangles
at most once and so the number of vertices of the diagram have increased a factor of at
most 3. Now b(D1 ) ≤ b(D) − 1 so in order push all of the badness out of D and eliminate all
of the extra bad regions of distance d, takes at most b(D) ’reductions’. Hence in order to
eliminate a single bad region of distance d we have to apply the Sarkar-Wang Procedure at
Pb(D) (b(D)+1) 2
most i=1 i+1
≤
times and the number of vertices in the diagram increases
2
2
by at most a factor of 3b(D) .
Lemma 3.3. To eliminate all of the bad regions at a distance d we need to apply Sarkar2
Wang Procedure at most (bd +1)
times this increases the the number of the vertices in the
2
b
diagram by at most a factor of 3 d (log(bd )+1) .
Proof. Since each application of lemma 3.2 eliminates a bad region, it takes m applications
of 3.2, where m is the number of bad regions of distance d.
8
JONATHAN HALES, DMYTRO KARABASH, AND MICHAEL T. LOCK
Note that while an application of 3.2 may increase the badness of a region at distance
d, it does so only by reducing the badness of D in the same amount. Thus while bd might
be decreased, it will never be increased by an application of 3.2. Combining this with the
fact that the badness of the least bad distance d bad region is at most bid , we get
that the
the removal of a distance d bad region, when there are i left, takes at most
(b
bd
c+1)2
i
4
applications of the Sarkar-Wang procedure,
j kand that the number of intersections of the
bd
diagram increases by a factor of at most 3 i .
Hence, by the time we have eliminated all of the bad regions of distance d, we have
applied the Sarkar-Wang Procedure at most
!2
bd
X
b bid c + 1 (bd + 1)2
≤
2
2
i=1
times and the number of intersections increased by a factor of at most
3
Pbd j bd k
i=1
i
≤ 3bd (log(bd )+1) .
With f (x) ,
(x+1)2
2
. We iterate Lemma 3.3 to get the following result:
Result 3.1. We can obtain a nice Heegaard diagram by applying the Sarkar-Wang Procedure
d
at most f (b1 +f (b2 +f (b3 +...+f (bd )))) ≤ f d (b) ≤ b2 times, where b is the total badness and
d is the distance of the original Heegaard diagram. During these applications the number of
2d
new vertices increases by at most a factor of 3b .
In order to improve the computational complexity of the algorithm, we introduce two
modifications.
4. Modification of the Sarkar-Wang Procedure
We were able to shave some time off of the computational complexity of the algorithm in
two areas. The first one modifies what we have refered to as the ”hard” case. The second
one has takes place at the beginning of the algorithm and makes the Heegaard diagram
more amenable to the algorithm.
Theorem 4.1. We do not have to undo the finger move when the end region is E and the
finger move comes back through an edge other than a1 or a3 .
Proof. In the original algorithm we continue to make and undo finger moves in a counter
clockwise fashion until we find on that reduces to one of the easy cases. But since the
finger move is made through an edge ai with i > 2 the region on the right hand side of
the finger move will still be bad. Thus we will have to redo all of the finger moves that we
had previously withdrawn. (the unmodified algorithm tells us to leave them there this time
since they no longer end in the same region that they started, i.e. they end in the region
on the left hand side of the finger move).
So leaving the finger moves that we were supposed to withdraw in the original algorithm
does not change the final outcome. It only saves us the time of withdrawing them.
The second modification is a more substantial change to the algorithm and also gives us
a more significant reduction in computational complexity.
A MODIFICATION OF THE SARKAR-WANG ALGORITHM
9
Recall the bound that we had computed for the number of new vertices an application
2d
of the Sarkar-Wang Algorithm resulted in: 3b . Clearly this would be much improved if
d = 1. In fact, if d = 1 we can just apply lemma 3.3 directly and bound the number of new
vertices by 3b(log(b)+1) .
This is the motivation for our next modification of the Sarkar-Wang algorithm: making
the Heegaard diagram into a Heegaard diagram of distance 1. This modification is more
involved than the previous one so we give it its own subsection.
4.1. Making a Heegaard Diagram into a Distance 1 Heegaard Diagram. The idea
behind the modification is reduce the Heegaard distance of a region by attaching a handle
to the region. This clearly reduces the region’s Heegaard distance, but in general the new α
and β curves may affect the Heegaard distances of other regions in the diagram. In order to
reduce the Heegaard distance of all, and not just one, of the regions of a diagram we would
like the attaching of the handle to not increase the distance of any other regions. This is
the content of the next theorem.
In order to keep track of the regions between H and H0 (H with a handle attatched to
it) we introduce a function ι:
Definition.
Let (resp. 0 ) be the set of regions of H (resp. H0 ). Then define
0
ι : → to be the identity on regions that do not have part of the new β curve as an edge
and let it map the new regions (i.e. those with an edge that is part of the new β curve) to
the regions in H whose intersection with the new β curve gave rise to them.
Theorem 4.2. Given a region R∗ of distance d > 1 and a Heegaard diagram H there exists
an alteration H0 such that:
(4.1)
ι−1 (R∗ ) = {R∗0 }, d R∗0 = 1
(4.2)
d(R0 ) ≤ d(R), ∀R0 ∈ ι−1 (R), ∀R ∈ X
b(R0 ) = b(R) ∀R ∈ \ R∗ , Z
(4.3)
R0 ∈ ι−1 (R)
0
(4.4)
b(H ) = b(H) + 2
(4.5)
b>1 (H0 ) < b>1 (H),
where
b>1 = b − b1
Proof. Construction: Attach a handle to H in the following manner: Attach one end to a
disk in the interior of Z and the other end to a disk in the interior of R∗ . Draw a new β
curve around its meridian. Construct a new α curve by first drawing a curve from Z to R∗0
that goes along the handle. Continue the curve along the side of a Heegaard path of the
region in the original diagram. Gluing the ends of these two curves together we get the new
α curve.
Proof of (4.1): Since the new β curve borders both Z 0 and R∗0 we have (4.1).
Proof of (4.2): We show that, for every region in the new diagram, there is at least one
Heegaard path from the original diagram that does not intersect the new β or the new α
curve.
It is sufficient to consider only the regions which are split by the new α curve. For if
a Heegaard distance path from another region pass through one of these regions in the old
diagram, from that point on it would not have gotten to Z any faster than by moving along
the side of a the Heegaard path of a region split by the new α curve. Therefore, for any
given region, there is a Heegaard path that does not intersect a Heegaard path of a region
split by the new α curve. Similarly, since the new α curve is drawn along side of a Heegaard
10
JONATHAN HALES, DMYTRO KARABASH, AND MICHAEL T. LOCK
Attatched Handle
New Alpha
curve
New beta curve
Figure 4. An example of the handle being attached to the region R in our modification.
path for every region there also exists a Heegaard path, from the old diagram, that does
not intersect the new α curve. Therefore the Heegaard distances of each of these regions
cannot be any greater than their Heegaard distances in the original diagram. This proves
equation (4.2).
Proof of (4.3): Observe that if R ∈ H2 \ R∗ is split into two regions R10 , R20 then b(R10 ) +
b(R20 ) = b(R); if R is not split then #{ι−1 (R)} = 1 and the regions badness does not change
during the process of alteration.
Proof of (4.4): Observe that the genus increased by 1, b(Z 0 ) = b(Z) + 2 and no new
bigons were formed; combining this with equation (2.1) we get the desired result.
Proof of (4.5): Combine (4.1), (4.2) and (4.3).
Observation 1. Attaching a handle creates at most d + 1 new vertices.
Corollary. A Heegaard diagram of any distance can be made into a Heegaard diagram
of distance 1 by stabilization.
Proof. Apply theorem 4.2 repeatedly to all of the regions.
Observation 2. From observation 1 it follows that making a Heegaard diagram into a
Heegaard diagram of distance 1 creates at most b(d+1) new vertices.
5. Computing the Heegaard Floer Knot Homology from a Nice Diagram
\
In order to compute HF
K we need to calculate a differential. In order to compute the
differential we need for any two matchings to be able to find the domain connecting them.
We give an algorithm for finding domains here.
A MODIFICATION OF THE SARKAR-WANG ALGORITHM
11
5.1. Computing the “Inverse” of ∂∂α . If we are able to construct the the inverse of
∂∂α , then given any two matchings we will always be able to find the domain connecting
them. Instead it turns out to be simpler, and sufficient, to just compute the inverse of an
extension of ∂∂α into a larger domain.
Let H be nice Heegaard diagram of genus g with ν vertices, ε edges and ρ regions. The
Euler characteristics of Σ is 2 − 2g = ν − ε + ρ, but since the valence of each vertex is 4 we
get have 2ε = 4ν and hence
ν = ρ + 2g − 2.
2
Let X1 = RhR|R ∈ H , R 6= Zi be the R-vector space generated by the regions of
H not containing z, i.e. the formal R-linear combinations of those regions. Let X2 =
Rhα1 , α2 , ...αg , β1 , β2 ...βg−1 i vector space generated by α1 , α2 , ...αg , β1 , β2 ...βg−1 . Let Y =
R(v|v ∈ H0 ) be vector space generated by vertices of H.
Let f1 : X1 → Y be the map defined by ∂∂α and f2 be the map that assigns to each α
or β circle the sum of vertices that are on it (recall that ∂α is a boundary map intersected
with α, i.e. it gives only α edges on the boundary of the region).
Claim 1. The map g , f1 ⊕ f2 : X1 ⊕ X2 → Y is bijective.
Proof. Since dim(X1 ) + dim(X2 ) = (ρ − 1) + (2g − 1) = ν = dim(Y ), it suffices to show
that the
T map is injective. We show this by proving that f1 and f2 are injective and that
Im(f1 ) Im(f2 ) = {0}.
Injectivity of f1 follows from theorem 5.14 in [?] for otherwise otherwise the domain
between matchings
P be unique.
P would not
Suppose f2 ( ni=1 ai αi + n−1
i=1 bi βi ) = 0 for some ai , bi ∈ Z. Not including βn in the
domain amounts to having all of the coefficients of the curves that intersect βn be zero
(since βn is not there to cancel them out). Likewise the coefficient of any curve that is
connected to βn by some path inside α ∪ β must also be zero. Since all our regions are disk
regions and α ∪ β is connected and thus all curves are connected to βn . Hence all ai ’s and
bi are zero. ThusTf2 is injective.
To see Im(f1 ) Im(f2 ) = {0} first notice that we can think of Y as a vector space over
R. Give this space the inner product
hα, βi ,
ν
X
i=1
ai bi
where
α=
X
vi ∈H0
ai vi , β =
X
bi vi
vi ∈H0
We now show that Im(f1 )⊥Im(f2 ). It suffices to check only the basis elements of Im(f1 )
and Im(f2 ).
Let α0 (resp. β 0 ) denote the set of points lying on a given α (resp. β 0 ) curve and C be
the
P set of all
Pthe α and β circles in the diagram. Then the basis elements of Im(f2 ) are
{ vi ∈α0 vi , vi ∈β 0 vi }α,β∈C .
The basis elements of Im(f1 ) are:
{v1 −v2 +va −vb |v1 , v2 (resp.va , vb )are on the same α circle and are adjacent to each other.}
Let α ∈ Im(f1 ) and
T β ∈ Im(f2 ) then hα, βi = 1 − 1 + 1 − 1 = 0. Thus Im(f1 )⊥Im(f2 ). In
particular, Im(f1 ) Im(f2 ) = {0}.
Let h = g −1 : Y → X1 ⊕ X2 and hi = πi ◦ h be its the projections on Xi .
Since g is linear computing hi from g takes O(v 3 ) by Gauss-Jordan Elimination.
Now if x = (x1 , ..., xn ) and y = (y1 , ..., yn ) are two n-tuples of vertices of H then h(x−y) =
h((x1 + ... + xn ) − (y1 + ... + yn )) finds the domain that connects the two n-tuples. Hence,
12
JONATHAN HALES, DMYTRO KARABASH, AND MICHAEL T. LOCK
since h can be represented as v × v matrix, finding the domain between n-tuples takes O(v 2 )
time.
Note that if: h2 (x − y) 6= 0 or h1 (x − y) has non-integer entries then there is no such
domain; otherwise the h1 (x − y) gives a domain connecting x to y.
5.2. Computing the Relative Alexander and Maslov Gradings. By examining the
definitions of Alexander and Maslov gradings we see that if we know the domain connecting
generator x = (x1 , ...xg ) to y = (y1 , ...yg ), then the time to compute the corresponding
relative gradings is O(v 2 ). Finding the domain connecting two generators is done by multiplication of x − y by the matrix h, which is also O(v 2 ). Hence it takes O(v 2 ) to compute the
relative gradings between two generators. Thus to compute gradings for the entire diagram,
it takes O(mv 2 ) time, where m is the number of generators.
5.3. Computing the Differential. Now let T be a free Z-module of all the 4-tuples
of the vertices of H. Construct a map σ2 : T → {0, 1} which assigns to each 4-tuple
t = (t1 , t2 , t3 , t4 ) the value 1 if the pair ((t1 , t2 ), (t3 , t4 )) bounds the positive domain not
containing z or w and the value 0 otherwise. Construct the corresponding map σ1 for 2tuples. This takes O(v 6 ) time since there are O(v 4 ) 4- and 2-tuples and finding the domain
takes O(v 2 ) time in each case.
\
Take any pair of generators x, y of CF
K such that µ(x, y) = 1 and A(x, y) = 0. Now if x
and y have two distinct coordinates, then x = (x1 , x2 , ..., xg ), y = (x1 , x2 , ..., xg−2 , yg−1 , yg ),
and nx,y = σ2 (xg−1 , xg , yg−1 , yg ). If x and y have one distinct coordinates, then x =
(x1 , x2 , ...xg ), y = (x1 , x2 , ...xg−2 , xg−1 , yg ), and c = σ2 (xg , yg ). Otherwise nx,y = 0.
To compute each such coefficient takes O(g 4 ) time since σ4 and σ2 have already been
calculated and there are O(g 4 ) 4- and 2-tuples. Hence, computing the whole differential
will take O(m2 g 4 ) time.
5.4. Computing the Homology and the Overall Time of the Algorithm. Computing the Homology is done by Gauss-Jordan Elimination and hence will take O(m3 ). Thus the
overall time of computing the homology from a nice Heegaard diagram is O(m3 +m2 g 4 +v 6 ).
We can bound m by m ≤ v g . This gives us O(v 3g + v 2g g 4 + v 6 ).
Hence we have shown the following:
Lemma 5.1. Given a nice Heegaard diagram H of genus g with v vertices and m matchings
it takes O(m3 + m2 g 4 + v 6 ) = O(v 3g + v 2g g 4 + v 6 ) to compute its homology.
6. The Modified Sarkar-Wang Algorithm
Let H0 be a Heegaard diagram for a knot K. Let Hi be the Heegaard diagram after we
complete the ith step of the following algorithm. Let gi , bi , di and vi be respectively the
genus, distance, total badness and number of vertices of Hi . Let ti be the time that ith step
takes.
6.1. Step 1: Killing Bigons that do not Contain z or w. If we have a bigon that does
not contain z or w and is bounded by an α curve a and a β curve b, then pull b through a to
eliminate the bigon (think of this like a reverse finger move). Every time this happens we
decrease the number of vertices by 2. Hence this step is finite and it takes at most O( v20 ).
So for this step we have:
(6.1)
g1 = g0 ;
v1 ≤ v0 ;
t1 = O(v0 )
A MODIFICATION OF THE SARKAR-WANG ALGORITHM
13
6.2. Step 2: Killing Non-Disk Regions. In the algorithm found in [?] this step could
possibly increase the number of bigons. here we present a method for killing non-disk
regions that leaves us with no more than two bigons.
Definition. The ugliness of a region is the number of its boundary components minus
one.
For each non-disk region R make the shortest finger move that will cut R, i.e. go from
one boundary component of R to another boundary component of R. Continue this finger
move until it intersects one of the previous bigons. Note that no new bigons are created in
the movement except possibly at the end. However here too, no essentially new bigons are
created. We can always intersect the old bigon since the bigon has both an α and a β edge.
By intersecting the finger move with the bigon, we destroy the old one in the process of
creating the new one so no essentially new bigons are created. Each of these finger moves
decreases the ugliness of H by 1.
Now combining the following facts yield that the ugliness of H1 is at most 2g − 1:
(1)
(2)
(3)
(4)
The Euler measure of all regions combined is 2 − 2g,
all regions except bigons have non-positive Euler measure,
bigons have euler measure 1/2
and any non-disk region with k + 1 boundaries has an Euler measure at most −k.
Now all the finger moves can be made simultaneously and since they are shortest distance
paths their length is at most v1 . Hence at most 2v1 (2g1 − 1) new vertices are created.
Lemma 2.1 gives us that
b(H1 ) + bz (H1 ) = 4(g(H1 ) − 1) + B(H1 )
where b is the total badness, bz is the badness of region that contains z, g is the genus and
B is the number of bigons. Hence b2 ≤ 4(g1 − 1) + 2 = 4g1 − 2.
So for this step we have:
(6.2)
g2 = g1 ;
b2 ≤ 4g1 − 2;
v2 ≤ 4v1 g1 ;
t2 = O(v2 )
6.3. Step 3: Reducing the Heegaard Distance to 1 by Attaching Handles. Attach
handles as in section 3 until the diagram becomes distance 1. The total number of new
vertices this creates is bounded by d2 b2 ≤ v2 b2 . From theorem 4.2 it follows that:
(6.3)
g3 ≤ g2 + b2 ;
b3 ≤ 3b2 ;
v3 ≤ v2 b2 ;
t3 = O(v3 b2 )
6.4. Step 4: Apply the Modified Sarkar-Wang Procedure to Obtain a Nice Diagram. From result 4.1 we get
(6.4)
g4 ≤ g3 ;
b4 = 0;
v4 ≤ v3 2b3 (log(b3 )+1) ;
t4 = O(v4 )
Combining these 4 steps we obtain:
(6.5)
g4 ≤ 5g0 − 2;
v4 ≤ (16v0 g02 )212g0 (log(12g0 )+1) = v0 2O(g0 log(g0 )) ;
4
X
ti = O(v4 )
i=1
Result 6.1. Starting from a knot K with a Heegaard diagram H of genus g and with v
vertices and applying the modified Sarkar-Wang algorithm we obtain nice Heegaard diagram
H0 with at most v 0 = v2O(g) vertices and the time to compute a nice Heegaard diagram is
thus O(v 0 ).
14
JONATHAN HALES, DMYTRO KARABASH, AND MICHAEL T. LOCK
Result 6.2. Starting from a knot K Heegaard diagram H of genus g and with v vertices
and computing the Heegaard Floer Homology through the modified Sarkar-Wang algorithm
\
we obtain HF
K in O(v 15g )2O(g) time.
This comes from lemma 5.1 since we know that the time to compute the homology is:
2
2
O(v33g3 + v32g3 g34 + v36 ) = O((16v0 g02 )15g0 2180g0 (log(12g0 )+1) ) = O(v015g0 )2O(g0 log(g0 ))
.
7. Speculations and Conclusions.
Notice that in the result for a fixed genus g the algorithm is polynomial in v. This leads
us to some speculations below: we pose two conjectures and provide some more concrete
results if they are true:
Conjecture 1. If we fix τ then for a tunnel number τ knot K of crossing number k we
can construct a Heegaard diagram of genus τ + 1 for K with at most 2O(k) vertices; and the
construction takes 2O(k) time.
Combining this conjecture with result 6.2 we get:
Result 7.1. If conjecture 2 is true then for fixed τ , the time it takes to compute the Heegaard
Floer knot homology through the modified Sarkar-Wang algorithm is 2O(k) where k is the
crossing number of the knot K.
Result 7.2. If conjecture 1 is true, then, for fixed τ , the modified Sarkar-Wang algorithm
is faster than Manolescu-Ozsváth-Sarkar algorithm for all but finitely many tunnel τ knots.
Proof. Observe that Manolescu-Ozsváth-Sarkar algorithm takes 2O(k log(k)) to compute the
Heegaard Floer Homology. Now for fixed t applying conjecture 1 and result 6.2 we get that
the time to compute homology is 2O(k)(τ +1) 2O(τ ) . But τ is fixed and hence 2O(k)(τ +1) 2O(τ ) =
2O(k) .
It is also not unreasonable to assume that the following stronger conjecture is true:
Conjecture 2. If we fix τ , then for a tunnel τ knot K of crossing number k we can construct
a Heegaard diagram of genus τ + 1 for K with at most O(k) vertices; and the construction
takes polynomial (in k) time.
This would yield the following result:
Result 7.3. If conjecture 2 is true then for fixed tunnel number τ , the time it takes to
compute the Heegaard Floer knot homology through the modified Sarkar-Wang algorithm is
polynomial in k, where k is the crossing number of the knot K.
If conjecture 1 is true, then the modified Sarkar-Wang algorithm is theoretically faster
than the Manolescu-Ozsváth-Sarkar algorithm.
© Copyright 2026 Paperzz