# An Efficient Data Retrieval Parallel Reeb Graph Algorithm
## 4 Reeb Graph Sequential Algorithm on Triangulated Surfaces
### Critical Sets and Ascending Paths  
We start by giving the definition of critical sets. Subsequently, we provide the definition of ascending paths.  
**Critical Sets.** Let \(p\) be a saddle point of \(f\), and let \(t_{p}\) be its corresponding critical value. Consider the connected components of the set \(f^{-1}(t_{p})\). The connected components of \(f^{-1}(t_{p})\) consist of a collection of simple closed curves embedded in \(M\), as well as a single component, which contains a singularity. This singular set consists of multiple circles that intersect at the critical point \(p\). We will denote this singular set by \(C_{p}\). See Figure 4 for an example. Note that, for critical value \(t\)\(f^{-1}(t_{p})\) might merely consist of the critical set \(C_{p}\) (with no other simple closed curves).  
Choose \(\epsilon>0\) small enough, such that the interval \([t_{p}-\epsilon,t_{p}+\epsilon]\) has only the critical value \(t_{p}\). As we move from \(t_{p}\) to \(t_{p}-\epsilon\), the singular set \(C_{p}\) becomes a non-singular one consisting of a disjoint union of simple closed curves \(A_{1},...A_{n}\), for \(n\geq 1\). By convention, we will consider the sets \(A_{1},...,A_{n}\) to be the _connected components of the singular set_\(C_{p}\), and we will refer to them as such for the rest of the paper. We talk more about the components of a critical set and show exactly how to determine them in the piece-wise linear setting in Section 4.2.1. The following Lemma asserts that the number of connected components of \(C_{p}\) of for a simple saddle point of a Morse function defined on the surface is either \(1\) or \(2\).  
**Lemma 2**.: _Let \(M\) be a compact connected orientable surface with more than one boundary component. Let \(M\longrightarrow[a,b]\) be a Morse function on \(M\) such that \(f^{-1}(\partial([a,b]))=\partial M\). If \(f\) has a unique saddle point, then \(M\) is homeomorphic to a pair of pants. See Figure 5._  
For a regular value \(t\), we will denote the number of simple closed curves of \(f^{-1}(t)\) by \(|f^{-1}(t)|\). Lemma 2 implies that, for a sufficiently small enough \(\epsilon\) and for any saddle point \(p\) on a Morse function \(f\), one has \(|f^{-1}(t_{p}+\epsilon)|-|f^{-1}(t_{p}-\epsilon)|=\pm 1\). In other words, as we are passing through a saddle point\(p\), two circles merge or split. Figure 5 shows two types of saddles: a split saddle and a merge saddle. A saddle point \(p\) is a split saddle if \(|f^{-1}(t_{p}+\epsilon)|-|f^{-1}(t_{p}-\epsilon)|=1\), and it is a merge saddle if \(|f^{-1}(t_{p}+\epsilon)|-|f^{-1}(t_{p}-\epsilon)|=-1\).  
The sequential version of the algorithm relies on Lemma 2 to handle the case when the function \(f\) is Morse and it only has simple saddle points. The case when \(f\) has saddle points with higher multiplicities will be handled in Section 4.5.  
**Remark 1**.: _If \(p\) is a maximum or minimum point, then by definition, \(C_{p}\) will be the set that consists of the point \(p\) itself._  
**Ascending Paths.** The second main ingredient of the sequential Reeb graph algorithm is a collection of curves that we trace inside the manifold \(M\) using the function values. More precisely, an ascending path from a non-maximum vertex \(v_{0}\), denoted by \(apath(v_{0})\), is defined to be a finite sequence of consecutive edges \(\{[v_{0},v_{1}],...,[v_{k-1},v_{k}]\}\) on \(M\), such that \([v_{i},v_{i+1}]\) is an edge on \(M\) for \(0\leq i\leq k-1\), \(f(v_{i+1})>f(v_{i})\), and \(v_{k}\) is a maximum, a boundary or a saddle vertex.