Field Coefficients Algorithm for Fields

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