From Finite Vector Field Data to Combinatorial Dynamical Systems in the Sense of Forman
Abstract
The main goal is to construct a combinatorial dynamical system in the sense of Forman from finite vector field data. We use a linear minimization problem with binary variables and linear equality constraints. The solution of the minimization problem induces an admissible matching for the combinatorial dynamical system. They are three main steps for the method: Construct a simplicial complex, compute a vector for each simplex, solve the minimization problem, and apply the induced matching. We argue the effectiveness of the method by testing it on the Lotka-Volterra model and the Lorenz attractor model. We are able to retrieve the cyclic behaviour in the Lotka-Volterra model and the chaotic behaviour of the Lorenz attractor. Two extensions to the algorithm are shown. We use the barycentric subdivision to obtain a better resolution. We add conditions on the minimization problem to obtain a solution which induce a gradient matching.
Keywords : Computational Topology, Simplicial Complex, Combinatorial Dynamical System, Finite Vector Field Data, Matching Algorithm
1 Introduction
The concept of combinatorial vector fields, introduced by Robin Forman [6] [5] [7], is a useful tool to discretize continuous problems in mathematics [13], in imaging [17], and in the computation of homology [9]. We are interested in the combinatorial dynamical system, because it gives a qualitative approach to study dynamical systems. We are interested to study the global dynamics by approximating the underlying dynamical system with combinatorial vector field. More development in [10] shows that classical dynamical system and combinatorial dynamical system are similar on the level of Conley Index. In recent years, a generalization for combinatorial dynamical system is the combinatorial multivector field studied has been proposed by [14]. A reason for this generalization is that the original Forman’s definition of combinatorial vector field is hard to implement. We show that it is possible to construct a combinatorial dynamical system in the sense of Forman with finite vector field data.
There are algorithms to construct a multivector field [3], and combinatorial gradient vector field in the sense of Forman from simplicial complex with value on vertices in [17] [11], and [1]. But there is no algorithm to construct a Forman’s combinatorial dynamical system with cyclic behaviour. There are multiple results that we can apply on a combinatorial dynamical system. As an example, we can construct a semi flow [15], a cell decomposition[10] and a Morse decomposition [2] for combinatorial dynamical systems.
By means of an example, it has been argued in [14] that combinatorial dynamical system in the sense of Forman might not be best suited for applications. The article [14] generalize it to combinatorial multivector field. For more information on combinatorial vector field, we refer this article [12] to the reader. In this paper, we argue that we can obtain a combinatorial dynamical system by Forman from data and we find an approximation of the global behaviour of the dynamical system with our method.
Let us take the same example at [14] in the section 3.4 and apply our method on it. We have the following equations:
(1) |
The dynamical system (1) has a repulsive stationary point at . It also has an attracting periodic orbit with a radius with a center at and a repulsive periodic orbit with a radius with a center at . For the dataset, we take the following data points . We construct the cubical complex of this dataset. The length of the side of a square is . By applying our algorithm, we obtain the Figure (1). At the middle we obtain a critical square that represents a repulsive behaviour. The arrows in yellow are all part of an attracting periodic orbit. The arrows in purple are all part of a repulsive periodic orbit. The blue arrows represent the gradient behaviour. We obtain the expected results of a repulsive stationary point, an attracting periodic orbit and a repulsive periodic orbit.

The main result is the construction of a combinatorial dynamical system from finite vector field data. The data is a set of points and the set of vector associates to each point. Let such as and such as each is a vector associate to the point . The algorithm is done in three steps. First, we need to construct a simplicial complex. For the purpose of this paper, we use a method based on the Delaunay complex and the Dowker complex. We can also use a cubical complex. Next, we assign a vector to each simplex in the simplicial complex. The assignment is different if we have a Delaunay complex or a Dowker complex. Finally, we match a -simplex with a -simplex or itself to satisfy the definition of a combinatorial dynamical system. We use a linear minimization with binary variables and linear equality constraints. Let a simplicial complex, the number of simplices in and . Let’s define a matrix with binary entries. The matrix is called the matching matrix and induce a matching. If , then we match the simplex to . If , then we don’t match the simplex to . For each , we associate a cost . We set a high cost if the matching is not admissible or the matching is bad. We put a low cost if the matching is good. If , then we set a fix cost to a parameter . The constraints guarantee that each simplex is matched only once. We obtain the following minimization problem:
(2) | ||||||
subject to |
We have an integer linear problem(ILP). We obtain our main result.
Theorem 1.1.
If is a global minimum to the ILP above, then induce a matching that satisfies the definition of a combinatorial dynamical system.
The article is organized as follows. In Section 2, we explain basic definitions related to simplicial complex and combinatorial dynamical system. In Section 3, we show how to construct a simplicial complex by using the Delaunay Complex or the Dowker Complex. In Section 4, we assign a vector to each simplex. The assignment is different, if we use a Delaunay complex or a Dowker complex. In Section 5, we define the minimization problem. We also show that the global minimum of the minimization problem induces a matching that satisfies the definition of combinatorial dynamical system. In Section 6, we use our method to the Lotka-Volterra model and the Lorenz attractor model. In Section 7, we show two extensions to the algorithm. We can apply a barycentric subdivision to a simplicial complex before solving the optimization problem. The second extension is to obtain a combinatorial dynamical system which is a gradient field. We can choose the parameter so that the solution from the minimization problem is gradient or we can add constraints to the minimization problem removing cycles in the solution.
2 Preliminaries
In this section, we discuss about simplicial complex and combinatorial dynamical system in the sense of Forman. For more information on simplicial complex, we refer to the reader this book [16] for simplicial complex and these papers [10] [5] for combinatorial dynamical systems.
An abstract simplicial complex is a set that contains finite non-empty sets such that if , then for all subsets of is also in . We also use the geometric simplex defined as follows. A geometric -simplex is the convex hull of a geometrically independent set . This is the set of such as and . are called barycentric coordinates. We denote a -simplex spanned by the vertices . A simplicial complex is a collection of simplices such that for all , if , then and if then is either empty or a face of and . We note the set of all -simplices in . Any simplex spanned by the subsets of are called faces. We note . If and , then we say that is a proper face of . We note . The closure of is the union of all faces of noted . The boundary of is the union of all proper faces of noted .
We define a partial map if is a relation and , then . We write . We define the domain and the image of as follows:
-
•
;
-
•
.
A partial map is injective, if for we have implies that . We can now define a combinatorial dynamical system. We use the same definition as [10].
Definition 2.1.
Let a simplicial complex. is a combinatorial dynamical system if is a partial injective map and satisfy these conditions:
-
•
For all , or such as and .
-
•
.
-
•
, where is the set of critical simplices.
This definition is equivalent to the definition of combinatorial dynamical system in the sense of Forman [5] [7]. But our definition uses a partial map. The first condition defines the combinatorial vector of . The second condition is that every simplex is in a matching. The third condition is that only critical simplices are in both the image and the domain of .
To visualize combinatorial dynamical system, we draw a vector from the barycenter of to the barycenter of for each . If , then we color the critical simplex in red. In the Figure 3, we have some examples of combinatorial dynamical system and some counter-examples at Figure 2.
Definition 2.2.
Let with . We say that a pair is an admissible matching, if with .
This definition is useful in our minimization problem.







A multivalued map is a map where is the power set of . We write a multivalued map by .
Definition 2.3.
A combinatorial multi-flow associated with a combinatorial dynamical system is :
(3) |
induces the dynamics in combinatorial dynamical systems.
Definition 2.4.
A solution of a combinatorial multi-flow of a combinatorial dynamical system is a function such as is an interval in and , for all . We said it’s a full solution if .
We define a cycle to be a solution with such as . We say a cycle is elementary, if every simplex is unique in for . The image of a cycle has -simplex and -simplex or a critical simplex. Because the only way to go up in dimension is from a simplex in and we cannot have two simplices in a row inside a solution. We denote a -cycle where is the dimension of simplex in and . We can use the strongly connected components from the directed graph of to understand the recurrent dynamics of . This will help us to study the method in the experiments. We say that a cycle self-intersect at , if .
3 Construction of a Simplicial Complex
In this section, we want to construct a simplicial complex. We remind the dataset is . For each , there is an associate vector . In this article, we will show two different ways to construct a simplicial complex : the Delaunay complex [4] and the Dowker complex [8].
Definition 3.1.
The Voronoi cell of a point is the set of points, . The Voronoi diagram of is the collection of Voronoi cells of its points.
Definition 3.2.
The Delaunay complex of a finite set is isomorphic to the nerve of the Voronoi diagram,
(4) |
The Delaunay complex works better if the sampling of the data is uniform. When the sampling is not uniform, this causes a great variation in the volume of -simplices. It is harder to analyze the data. The Dowker complex is a solution for a non-uniform sampling of finite vector field data.
Definition 3.3.
Let and sets and let be a relation. The Dowker complex is given by:
For the purpose of this paper, we use to store data and we need to choose the set and a relation between and .
Example 3.4.
Let and where . and are in relation if . We obtain the Dowker complex is .

4 Compute a Vector for each Simplex
In this section, we define two ways of assigning a vector to each simplex. We construct an application .
Let be a Delaunay complex. We compute a vector for a simplex by taking an average of vectors from the vertices of the simplex. More precisely, let :
(5) |
Let be a Dowker complex. Let and from the data and a set and a relation between and . We define an application by .
We assign a vector to a simplex :
(6) |
5 The Matching Algorithm
In this section, we describe the matching algorithm. We minimize a linear program with binary variables and linear equality constraints.
First, let’s define the variables. Let the number of simplices and the simplex where . We define a matrix of dimensions where the entries are binary values. We call the matching matrix. We do the matching as follows :
-
•
If , match to
-
•
If , do not match to
Now, let us define the matrix called the cost matrix. Let be the map that takes a simplex and returns the vector value from the data. Let be the map sending each simplex to its barycenter and be given by . Then, is a vector that starts from the barycenter of and ends at the barycenter of . The main idea is to compare the vector to the vector when the matching is admissible. Given , the matching is admissible if and . We use the cosine distance to compare them. It is defined as follows:
(7) |
where is the angle between and . If , then and are parallel in the same direction. If , then and are perpendicular. If , then and are parallel in opposite directions. We set when and is an admissible matching and .
If and is an admissible matching, then . Indeed, for every . This means that all vectors are perpendicular to . But should be a critical simplex. By setting higher value for his cost, it has a higher chance that the solution will set this simplex to be critical.
If , then we set to value to . is a parameter choose by the user. If the value is low, then we have more critical simplices. If the value is high, then we have less critical simplices.
Let us explain the geometric interpretation of the parameter . There exists such as . Fix a simplex and consider all the admissible matching . Suppose that for all and let the angle between and . We obtain:
where represents the critical angle. If for all , then the minimization problem (9) put simplex is a critical simplex or it matches with another simplex of lower dimensions.
If the matching is not admissible and , then .
Finally, we obtain this equality for the entries of the matrix :
(8) |

Finally, we obtain the following minimization linear problem with binary variables and linear equality constraints:
(9) | ||||||
subject to |
Let us explain the double sum in the constraint for a fixed . The sum counts the number of vectors going into i.e. . The counts the number of vectors going out of i.e . We remove the term because it is counted twice.
Theorem 5.1.
If is a global minimum of the ILP (9), then induce a matching that satisfies the definition of a combinatorial dynamical system.
Proof.
Let us show that there exists a global minimum for the optimization problem (9) and it induces an admissible matching. We set for all and for . satisfies the constraints of (9) and induces the matching that all simplices are critical. Then, the solution set of (9) is always feasible. The variables are bounded between and for all . Because the set of solutions is bounded and feasible, there exists a global minimum for (9).
Let’s show by contraposition that if the matrix does not induce an admissible matching, then it does not satisfy the constraint of the minimization problem (9). We have cases that can be seen in Figure 2. If there are two vectors going out of , then there exist such as and for . That implies that the constraints of (9) are not satisfied. If there are two vectors going in then there exist such as and for . The constraints of (9) are not satisfied. If there is a vector going in and another vector going out of , then there exist such as and . Then, the constraints of (9) are not satisfied. We obtain that . For all , there exists such as or . This means that either or . We obtain the equality .
We need to check that if have an inadmissible matching then is not a global minimum. Let’s show it by contradiction. Let by the global minimum of the problem (9) and where (, ) is an inadmissible matching with . Since , . But, if and , then . So, if we change the variables for and , it still satisfies the constraints, and we obtain a smaller value for the objective function of (9). Then, is not the global minimum of (9), and we obtain the contradiction. ∎
If is not an admissible matching for a combinatorial dynamical system, then we can always find a matrix that satisfies the constraint of (9), and .
Proposition 5.2.
If is not an admissible matching for a combinatorial dynamical system, and it satisfies the constraints of the minimization problem (9), then we can find such that is an admissible matching, and .
Proof.
If is not an admissible matching and it satisfies the constraint of (9), there exists some such as and ( is not an admissible matching for the definition of the combinatorial dynamical system.
Let us construct the matrix . If is an admissible matching, then . If is not an admissible matching, then and . We have and . Then, .
Finally, we obtain that still satisfies the constraints of (9), and . ∎
We can use the proposition (5.2) to transform to an admissible matching with a simple procedure by setting simplices in inadmissible matching too critical.
Let us explain the meaning of the value of of the problem (9). Let be a solution of (9) and suppose that for all . Let be the set of such that with . Let be the set of such that .
where is the number of matchings, is the number of critical simplices and the sum in the middle is the sum of the cosine angle between and . If is high, then the minimization will set more admissible matching. If is low, then the minimization will set more critical simplices.
If our problem has a lot of simplices, we could only consider the variables such as is an admissible matching. This reduces greatly the number of variables for the minimization problem (9). Let’s define the minimization problem with reduced binary variables.
Let be a vector such that is assigned to an admissible matching and . Let be the number of variables in . Let be the vector with for the variable . Let the constraint matrix. We define the entries of as follows. Let be a simplex and be assigned to the matching . Then , if or . Otherwise . We obtain the new minimization problem :
(10) |
We put a lower bound and an upper bound to the number of variables of the minimization problem (10). We can now easily show the next Lemma 5.3.
Lemma 5.3.
Lets the number of variables and the number of simplices. Then, .
6 Examples
6.1 A Toy Example
We discuss here in detail a simple example aimed at understanding how the algorithm works.
Let us define the data. We have , and with their associate vectors , and .
We construct the Delaunay complex from the points and and obtain the simplicial complex .
Let us compute the application . For the -simplices, we have and . For the other simplices, we take the average of the vectors on the vertices of the simplex :
We establish the index for the simplices.
We construct the matrix with . We have for all . For the entries , where is not an admissible matching, we have:
Let’s compute where is an admissible matching. The set of admissible matching is where . Let’s compute and as an example. For , we need to compute :
Then,
For , we need to compute .
Then,
Finally, we obtain the matrix . We round it up to the last two decimals.
(11) |
Now, we have everything set up to solve the minimization problem (9). We use our favourite solver to obtain this matching matrix :
(12) |
The matrix induces the matching:
We see that is a critical simplex.

6.2 Data Generated from Classical Dynamical Systems
6.2.1 Lotka-Volterra
Consider the data points . We compute with the Lotka-Volterra equations:
(13) |
The dynamical system (13) has an equilibrium point at and . Also, there is an infinity of cycles. We construct the Delaunay complex from the data and compute the optimal solution of the reduced minimization problem (10) with . In this problem, we have simplices and admissible matchings. The optimal solution induce the combinatorial dynamical system at Figure 7.

We obtain three critical -simplices and two critical -simplices. Critical -simplex has a similar dynamic of a saddle point but they are no saddle point in the classical dynamical system of the Lotka-Volterra. But they are needed to satisfy the definition of combinatorial dynamical system.
For -cycles, we have two -cycles and two -cycles. We find some recurrent behaviour as expected. We also have some errors on the boundary of the combinatorial dynamical system. We need to be careful when we analyze the data on the boundary of the simplicial complex. Some critical simplices are caused by finite data. As an example, the bottom right critical -simplex in Figure 7 should not be there. There is no stationary fixed point in the classical dynamical system of (13).
6.2.2 Lorenz Attractor
We take a linear approximation of the trajectory at the initial values at . Let with and . We obtain data points. We compute with the Lorenz Attractor equations:
(14) |
We want to capture the dynamics of the chaotic attractor of (14). We construct the Delaunay complex from data points. We obtained -simplices. We solve the problem (10) to reduce the number of variables. We obtain critical -simplices, critical -simplices, critical -simplices and critical -simplices. We compute the strongly connected components of the directed graph from multivalued map to find the recurrent behaviour. The recurrent behaviour is an union of -cycle. We have -cycles, -cycles and -cycle. At Figure (8), we see the biggest strongly connected components. It’s a -cycle with simplices and self-intersections. The dynamic of this attractor is very complex. This is caused by the chaotic behaviour of the Lorenz attractor.

7 Extensions to the Algorithm
7.1 Barycentric Subdivision
We can apply a barycentric subdivision before the construction of the minimization problem (9). Let us start with a simple example to prove it is interesting to do that.
Let be a -simplex and and be -simplices and faces of . Suppose that . By the constraints of (9), the solution can only match one -simplex with . But and are good candidates for matching, because they have low costs. By applying a barycentric subdivision, we can match and with a -simplex in the interior of .
Let us define the barycentric subdivision. Let be the simplicial complex and be the resulted simplicial complex after applying the barycentric subdivision of . We proceed by induction on the dimension of . For each simplex , we add the barycentre of as a new vertex in and connect the barycentre of with the other barycentre at the boundary of to construct the new -simplices of .
Let be the vector associated to a simplex and let us construct . For each , . We set . For the other simplex , there exists a simplex such as is in the interior of , then put .
We try this approach on an example. Let and . We have a vector field sample from the dynamical system:
We use the Delaunay complex to construct the simplicial complex. We should obtain a fixed point at . But there is no -simplex at . The solution of the minimization will also put a -simplex somewhere on the vertices. But this won’t represent the finite vector field data correctly. If we apply a barycentric subdivision, then it will add a -simplex at the center of the -simplex which is closed to the real fixed point.


In summary, applying a barycentric subdivision will help to add more details to the combinatorial dynamical system. But there is an inconvenience to the barycentric subdivision. This will add more simplices to the simplicial complex and it will take more time to compute the solution.
7.2 Gradient Combinatorial Dynamical System
In this subsection, we demonstrate two different methods to obtain a gradient combinatorial dynamical system with a similar approach as before. The first method is to choose an small enough that the solution from the minimization (9) induces a matching of a gradient combinatorial dynamical system. The second method is to add constraints to the minimization problem (9), so to remove all cycles in the solution. We say that a combinatorial dynamical system is gradient if there is no elementary cycle with length greater than . In this case, the image of an elementary cycle has only critical simplex.
For the first method, if we choose , then the minimum of the problem (9) is obtained by setting for all . This set all simplices to critical and it is a gradient combinatorial dynamical system.
Lemma 7.1.
Let for all and . If , then the global minimum of (9) is for all and for .
Proof.
We argue by contradiction. Let be a global minimum of (9) and suppose that there exist such that . Consider . We construct . Set for and , except for , and . We have . We get a contradiction and the global minimum is for all and for . ∎
The main idea for this method is to choose the greatest such that the solution obtained from (9) is induced a gradient combinatorial vector field. The advantage of this approach is that it is fast to compute. But it gives more critical simplices than the second method.
For the second method, we add a new set of constraints to the integer linear problem (9), so to make no cycle in the solution. The new minimization problem is:
(15) | ||||||
sujet à | ||||||
where is the set of all possible elementary cycles with length greater than on . Let a simplicial complex and the dimension of . The elementary cycles can be decomposed in -cycle:
Theorem 7.2.
If is a global minimum to the ILP (15), then induce a matching that satisfies the condition of a gradient combinatorial dynamical system.
The proof is similar that to the Theorem 5.1 but with the new set of constraints the solution of (15) induces a matching with no cycle. If we set high, this approach has less critical simplices than the first method. But we have a lot of more constraints to compute.
We end with an example comparing two methods. Let and . With this dataset, if we do not have a low the solution induces a cycle in the combinatorial dynamical system. We choose to obtain an admissible matching with no-cycle. For the second method, we need to add two constraints to remove all possible cycle. The comparison of methods is displayed in Figure 10.



References
- [1] M. Allili, T. Kaczynski, C. Landi, and F. Masoni. Acyclic Partial Matchings for Multidimensional Persistence: Algorithm and Combinatorial Interpretation. J Math Imaging Vis, 61:174–192, 2019.
- [2] B. Batko, T. Kaczynski, M. Mrozek, and T. Wanner. Linking Combinatorial and Classical Dynamics : Conley Index and Morse Decompositions. Foundations of Computational Mathematics, pages 1–46, 2020.
- [3] T. Dey, M. Juda, T. Kapela, J. Kubica, M. Lipinski, and M. Mrozek. Persistent Homology of Morse Decomposition in Combinatorial Dynamics. SIAM Journal on Applied Dynamical Systems, 18:510–530, 2019.
- [4] H. Edelsbrunner and J. L. Harer. Computational Topology An Introduction. American Mathematical Society, 2010.
- [5] R. Forman. Combinatorial Vector Fields and Dynamical Systems. Mathematische Zeitschrift, 228:629–681, 1998.
- [6] R. Forman. Morse Theory for Cell Complexes. Advances in Mathematics, 134(AI971650):90–145, 1998.
- [7] R. Forman. A User’s Guide to Discrete Morse Theory. Séminaire Lotharingien de Combinatoire, 48(B48c):35, 2002.
- [8] R. Ghrist. Elementary Applied Topology. Createspace, ed. 1.0 edition, 2014.
- [9] S. Harker, K. Mischaikow, M. Mrozek, and V. Nanda. Discrete Morse Theoretic Algorithms for Computing Homology of Complexes and Maps. Foundations of computational Mathematics, 14:151–184, 2014.
- [10] T. Kaczynski, M. Mrozek, and T. Wanner. Towards a Formal Tie Between Combinatorial and Classical Vector Field Dynamics. Journal of Computational Dynamics, 3(1):17–50, 2016.
- [11] H. King, K. Knudson, and N. Mramor. Generating Discrete Morse Functions from Point Data. Experimental Mathematics, 14(4):435–444, 2005.
- [12] M. Lipiński, J. Kubica, M. Mrozek, and T. Wanner. Conley-Morse-Forman Theory for Generalized Combinatorial Multivector Fields on Finite Topological Spaces. arXiv:1911.12698 [math.DS], pages 1–44, 2020.
- [13] Y. Matsumoto. An Introduction to Morse Theory. American Mathematical Society, 2002.
- [14] M. Mrozek. Conley-Morse-Forman Theory for Combinatorial Multivector Fields on Lefschetz Complexes. Foundations of Computational Mathematics, pages 1585–1633, 2017.
- [15] M. Mrozek and T. Wanner. Creating Semiflows on Simplicial Complexes from Combinatorial Vector Fields. arXiv:2005.11647v1, 2020.
- [16] J. R. Munkres. Elements of Algebraic Topology. Addison-Weslay, Cambridge, 1984.
- [17] V. Robins, P. John Wood, and A. P. Sheppard. Theory and Algorithms for Constructing Discrete Morse Complexes from Grayscale Digital Images. IEEE Transactions on Pattern Analysis and Machine Intelligence, 33(8):14, 2010.