I’ve been trying for a number of years to learn about Heegaard floer homology, and I think that I now have a decent idea of how to do some calculations (thanks mostly to the recent work on combinatorial HF homology.) I’d like to try to explain what I know about the hat version of the invariant in a couple of blog posts, with the large caveat that I am not an expert, so there is a good chance that there will be some mistakes. If you happen to be an expert reading this, please let me know what these mistakes are so I can fix them. This first post will cover the basic setup and the generators for the chain complex, and the next post will cover the various gradings and the map that defines the final invariant. These posts will only discuss the combinatorial calculations, without any mention of the deep machinery behind them or the proof of their invariance.
The traditional setup for a homology theory is a chain complex of modules/Abelian groups indexed by positive integers and an indexed family of chain maps that send each module into the module one index lower. However, if we take the direct product of the modules, then we can think of the chain complex as a single giant module . The index becomes a grading, i.e. a decomposition of the large module into a direct product where each subspace has an index. The direct product of the chain maps becomes a single linear map from the graded module to itself that takes each of the indexed submodules into the submodule one index lower. The chain condition on the chain maps becomes the condition that the square of the map from the graded module to itself is trivial.
Floer homology takes this one step further by replacing the grading on the module with a relative grading. Note that the condition on the chain map does not require that we know the index of each indexed subspace in , only that we know which indexed subspace is one step down from it. With a relative grading, the module is decomposed into a direct product of subspaces such that given two subspaces, there is a well defined number telling you the difference between their gradings. However, an individual subspace does not have an index. In particular, this allows for what amounts to a bi-infinite chain complex.
Given a relatively graded module and a chain map satisfying the above mentioned properties, the calculation of the homology follows the traditional construction, if we were to apply all the chain maps at once: We take the kernel of (which is the direct product of the kernels of all the ) and quotient by the image of (which is the direct product of all the images.) The resulting quotient module inherits a relative grading from the original module , and this quotient is our invariant.
In Heegaard Floer homology, the chain complex comes from a Heegaard diagram. The grading and the map is determined by families of holomorphic disks in a certain -dimensional symplectic space, where is the genus of the Heegaard surface. Luckily for those of us who don’t have a background in gauge theory, Robert Lipshitz  discovered that these one-parameter families of holomorphic disks can be projected into the Heegaard surface in a way that allows one to calculate the grading combinatorially. Sarkar and Wang  extended these results to find a combinatorial calculation of the map . However, since this post is getting long I’ll leave those results for the next post, and describe the module .
Recall that a Heegaard diagram is a closed surface with two collection of loops and drawn on it, such that the complement in of each collection of loops is a planar surface. If we were to thicken and glue thickened disks to the boundary components of this surface-cross-interval along these curves the result would be a 3-manifold with some sphere boundary components. Gluing balls into these spheres produces a closed 3-manifold. A pointed Heegaard diagram is a Heegaard diagram plus a base point that is disjoint from all the loops. To calculate for a given 3-manifold , we will start with a pointed Heegaard diagram such that this construction produces . (The base point does not play a role in the construction of , but is an important part of the calculations in the next post.) Every closed 3-manifold can be constructed in this way from some Heegaard diagram.
The collections of loops and can be made to intersect each other transversely, i.e. in a discrete and finite collection of points. A pairing is a subset of these points of intersections such that each contains a single point in this set and each contains exactly one point from the set. So the pairing picks out, for each exactly one and one point of intersection between them. Our chain complex will be the module generated by all pairings, i.e. a direct sum of copies of the order-two cyclic group, with one summand corresponding to each possible pairing. (Working over makes the calculations easier, and I don’t know what happens if you work over .)
Before ending this post, I want to introduce something that will be necessary next time. Following Sarkar and Wang, we will say that a pointed Heegaard diagram is nice if every region in the complement of union of the two collections of loops is either a bigon, a quadrilateral or contains the base point. Isotoping the collections of loops , within the surface does not change the resulting manifold , and it turns out that any given Heegaard diagram can be turned into a nice diagram by such isotopies. I will refer the reader to Sarkar and Wang’s paper for a rigorous proof of this, but you can also try to convince yourself of this; it’s a nice little combinatorial trick. You can think about it between now and the next post.