Inverting the discrete curl operator: a novel graph algorithm to find a vector potential of a given vector field
We provide a novel framework to compute a discrete vector potential of a given discrete vector field on arbitrary polyhedral meshes. The framework exploits the concept of acyclic matching, a combinatorial tool at the core of discrete Morse theory. We introduce the new concept of complete acyclic matchings and we show that they give the same end result of Gaussian elimination. Basically, instead of doing costly row and column operations on a sparse matrix, we compute equivalent cheap combinatorial operations that preserve the underlying sparsity structure. Currently, the most efficient algorithms proposed in literature to find discrete vector potentials make use of tree-cotree techniques. We show that they compute a special type of complete acyclic matchings. Moreover, we show that the problem of computing them is equivalent to the problem of deciding whether a given mesh has a topological property called collapsibility. This fact gives a topological characterization of well-known termination problems of tree-cotree techniques. We propose a new recursive algorithm to compute discrete vector potentials. It works directly on basis elements of 1- and 2-chains by performing elementary Gaussian operations on them associated with acyclic matchings. However, the main novelty is that it can be applied recursively. Indeed, the recursion process allows us to sidetrack termination problems of the standard tree-cotree techniques. We tested the algorithm on pathological triangulations with known topological obstructions. In all tested problems we observe linear computational complexity as a function of mesh size. Moreover, the algorithm is purely graph-based so it is straightforward to implement and does not require specialized external procedures. We believe that our framework could offer new perspectives to sparse matrix computations.
READ FULL TEXT