====== BigObject MorseMatching ====== //from application [[..:topaz|topaz]]//\\ \\ A Morse matching is a reorientation of the arcs in the Hasse diagram of a simplicial complex such that at most one arc incident to each face is reoriented (matching condition) and the resulting orientation is acyclic (acyclicity condition). Morse matchings capture the main structure of discrete Morse functions, see > Robin Forman: Morse Theory for Cell-Complexes, > Advances in Math., 134 (1998), pp. 90-145. This property is computed by one of two heuristics. The default heuristic is a simple greedy algorithm ([[..:topaz:SimplicialComplex |greedy]]). The alternative is to use a canceling algorithm due to Forman ([[..:topaz:SimplicialComplex |cancel]]) or both ([[..:topaz:SimplicialComplex |both]]) together. Note that the computation of a Morse matching of largest size is NP-hard. See > Michael Joswig, Marc E. Pfetsch: Computing Optimal Morse Matchings > SIAM J. Discrete Math., 2006, to appear ===== Properties ===== ==== no category ==== {{anchor:critical_faces:}} ? **''CRITICAL_FACES''** :: The critical faces of the computed Morse matching, i.e., the faces not incident to any reoriented arc (not matched). ? Type: :''[[..:common#Array |Array]]<[[..:common#Set |Set]]<[[..:common#Int |Int]]%%>>%%'' ---- {{anchor:critical_face_vector:}} ? **''CRITICAL_FACE_VECTOR''** :: The vector of critical faces in each dimension. ? Type: :''[[..:common#Array |Array]]<[[..:common#Int |Int]]>'' ---- {{anchor:n_critical_faces:}} ? **''N_CRITICAL_FACES''** :: Number of critical faces of the computed Morse matching. ? Type: :''[[..:common#Int |Int]]'' ---- {{anchor:size:}} ? **''SIZE''** :: Size of the computed Morse matching. ? Type: :''[[..:common#Int |Int]]'' ----