Fig. 12.9. The data sets in Table 12.14 rendered as gray-scale images. The intensity of each pixel of the image corresponds to the relative height at that location.
Table 12.15. The number of critical points of the four triangulated spheres. The Mon column gives the number of 2-fold monkey saddles. Note that
Min − Sad − 2Mon + Max = 2 in each case, as it should be.
Min Sad
Mon Max
Sine 10
24 16
Iran 1,302
2,786 27
1,540 Himalayas
2,132 4,452
51 2,424
Andes 20,855
38,326 1,820
21,113 North America
15,032 30,733
464 16,631
points using the procedure described in Section 6.2.3. Table 12.15 lists the number of critical points of each type. As we start with grid data and add di-
agonals in a consistent manner, each vertex other than the dummy vertex has degree 6. Therefore, monkey saddles are the only multiple saddles that may
Table 12.16. Running times in seconds.
filtration persistence
QMS Sine
0.06 0.13
0.03 Iran
0.46 0.90
0.56 Himalayas
0.89 1.74
1.01 Andes
2.62 4.90
2.60 North America
3.28 5.84
5.26
occur in the data. In the current implementation, we use the persistence al- gorithm, as described in Chapter 7. The data, however, are two-dimensional,
and we may alternatively compute persistence using two passes and no cycle search. The second pass would use a union-find data structure and the dual of
the triangulation. However, Table 12.16 shows that the slower algorithm used is quite fast, obviating the need for a specialized implementation. All timings
were done on a Sun Ultra-10 with a 440 MHz UltraSPARC IIi processor and 256 megabyte RAM, running Solaris 8. Therefore, we use the same library to
compute the persistence of both
α-complex and grid filtration and construct- ing the QMS complex. Table 12.16 also gives the time for constructing the
filtration and the QMS complex.
12.5.3 Discussion
We show the terrain of Iran along with its QMS complex in Figure 12.10. We display the QMS complex of this data set only as it is small. Already, there is
too much detail that prevents us from seeing the features of the terrain. The multitude of small mountains and lakes clutter the image, partitioning the ter-
rain into small regions. This image serves as a motivation for using persistence and computing hierarchical MS complexes. The situation here is similar to our
failure to gain insights into the topology of spaces by simply computing their Betti numbers in Chapter 6. Like homology, Morse theory is powerful enough
to capture the complete structure of the data. We need persistence as a mining tool for uncovering nuggets of information in the resulting mountain of data
that is provided by the theory.
12.6 The Linking Number Algorithm
In this section, we present some experimental timing results and statistics on the linking number algorithm. We also provide visualizations of basis cycles
a Terrain b QMS complex
Fig. 12.10. Iran’s Alburz mountain range borders the Caspian sea top flat area, and its Zagros mountain range shapes the Persian Gulf left bottom.
in a filtration. All timings were done on a Sun Ultra-10 with a 440 MHz UltraSPARC IIi processor and 256 megabyte RAM, running the Solaris 8.
12.6.1 Implementation
I have implemented all the algorithms in Chapter 10, except for the algorithm for computing
λ mod 2. My implementation differs from the exposition in three ways. The implemented component tree is a standard union-find data
structure with the union by rank heuristic, but no path compression Cormen et al., 1994. Edges are tagged with the union time and the least common an-
cestor is found by two traversals up the tree. Although this structure has an O
n log n construction time and an Olog n query time, it is very simple to implement and extremely fast in practice. We also use a heuristic to reduce
the number of p-linked cycles by storing bounding boxes at the roots of the augmented union-find data structure. Before enumerating p-linked cycles, we
check to see if the bounding box of the new cycle intersects with that of the stored cycles. If not, the cycles cannot be linked, so there’s no need for enu-
meration. Finally, we only simulate the barycentric subdivision by storing a direction with each edge.
12.6.2 Timings and Statistics
We use the molecular data from Section 12.1 for experimentation. To compute linking, we first need to compute the canonical basis for each data set. Tables