This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

From Finite Vector Field Data to Combinatorial Dynamical Systems in the Sense of Forman

Dominic Desjardins Côté 111Email : [email protected]
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 \mathbb{R} [17] [11], and d\mathbb{R}^{d} [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:

{dxdt=y+x(x2+y24)(x2+y21)dydt=x+y(x2+y24)(x2+y21).\begin{cases}\frac{dx}{dt}=-y+x(x^{2}+y^{2}-4)(x^{2}+y^{2}-1)\\ \frac{dy}{dt}=x+y(x^{2}+y^{2}-4)(x^{2}+y^{2}-1)\end{cases}. (1)

The dynamical system (1) has a repulsive stationary point at (0,0)(0,0). It also has an attracting periodic orbit with a radius 11 with a center at (0,0)(0,0) and a repulsive periodic orbit with a radius 22 with a center at (0,0)(0,0). For the dataset, we take the following data points X={(0.22+0.44i,0.22+0.44j)i=8,7,6,,6,7 and j=8,7,6,,6,7}X=\{(0.22+0.44i,0.22+0.44j)\mid i=-8,-7,-6,\ldots,6,7\text{ and }j=-8,-7,-6,\ldots,6,7\}. We construct the cubical complex of this dataset. The length of the side of a square is 0.440.44. 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.

Refer to caption
Figure 1: The combinatorial dynamical system obtained by applying our algorithm to the equations (1) with the parameter α=0.90\alpha=0.90.

The main result is the construction of a combinatorial dynamical system from finite vector field data. The data is XX a set of points and X˙\dot{X} the set of vector associates to each point. Let X={x1,x2,,xN}X=\{x_{1},x_{2},\ldots,x_{N}\} such as xidx_{i}\in\mathbb{R}^{d} and X˙={x1˙,x2˙,,xN˙}\dot{X}=\{\dot{x_{1}},\dot{x_{2}},\ldots,\dot{x_{N}}\} such as each xi˙d\dot{x_{i}}\in\mathbb{R}^{d} is a vector associate to the point xix_{i}. 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 nn-simplex with a (n+1)(n+1)-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 KK a simplicial complex, NN the number of simplices in KK and xi,xjKx_{i},x_{j}\in K. Let’s define AN({0,1})A_{N}(\{0,1\}) a matrix with binary entries. The matrix AA is called the matching matrix and induce a matching. If aij=1a_{ij}=1, then we match the simplex xix_{i} to xjx_{j}. If aij=0a_{ij}=0, then we don’t match the simplex xix_{i} to xjx_{j}. For each aija_{ij}, we associate a cost cijc_{ij}. 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 i=ji=j, then we set a fix cost to a parameter α\alpha. The constraints guarantee that each simplex is matched only once. We obtain the following minimization problem:

minimizeAMN({0,1})\displaystyle\underset{A\in M_{N}(\{0,1\})}{\text{minimize}} f(A):=i=0N1j=0N1aijcij\displaystyle f(A):=\sum_{i=0}^{N-1}\sum_{j=0}^{N-1}a_{ij}c_{ij} (2)
subject to i=0N1aik+j=0N1akjakk=1,k=0,1,,N1\displaystyle\sum_{i=0}^{N-1}a_{ik}+\sum_{j=0}^{N-1}a_{kj}-a_{kk}=1,\quad k=0,1,\ldots,N-1

We have an integer linear problem(ILP). We obtain our main result.

Theorem 1.1.

If AA is a global minimum to the ILP above, then AA 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 α\alpha 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 KK that contains finite non-empty sets such that if AKA\in K, then for all subsets of AA is also in KK. We also use the geometric simplex defined as follows. A geometric nn-simplex is the convex hull of a geometrically independent set {v0,v1,,vn}d\{v_{0},v_{1},\ldots,v_{n}\}\subset\mathbb{R}^{d}. This is the set of xx such as x=i=0ntivix=\sum_{i=0}^{n}t_{i}v_{i} and i=0nti=1\sum_{i=0}^{n}t_{i}=1. tit_{i} are called barycentric coordinates. We denote [v0,v1,,vn][v_{0},v_{1},\ldots,v_{n}] a nn-simplex spanned by the vertices v0,v1,,vnv_{0},v_{1},\ldots,v_{n}. A simplicial complex KK is a collection of simplices such that for all σK\sigma\in K, if τσ\tau\leq\sigma, then τK\tau\in K and if τ=σ1σ2\tau=\sigma_{1}\cap\sigma_{2} then τ\tau is either empty or a face of σ1\sigma_{1} and σ2\sigma_{2}. We note KnK_{n} the set of all nn-simplices in KK. Any simplex spanned by the subsets of {v0,v1,,vn}\{v_{0},v_{1},\ldots,v_{n}\} are called faces. We note στ\sigma\leq\tau. If στ\sigma\leq\tau and στ\sigma\neq\tau, then we say that σ\sigma is a proper face of τ\tau. We note σ<τ\sigma<\tau. The closure of σ\sigma is the union of all faces of σ\sigma noted Clσ\operatorname*{Cl\,}\sigma. The boundary of σ\sigma is the union of all proper faces of σ\sigma noted Bdσ\operatorname*{Bd\,}\sigma.

We define a partial map fX×Yf\subset X\times Y if ff is a relation and (x,y),(x,y)f(x,y),(x,y^{\prime})\in f, then y=yy=y^{\prime}. We write f:XYf:X\nrightarrow Y. We define the domain and the image of ff as follows:

  • Domf:={xXyY,(x,y)f}\operatorname*{Dom\,}f:=\{x\in X\mid\exists y\in Y,(x,y)\in f\};

  • Imf:={yYxX,(x,y)f}\operatorname*{Im\,}f:=\{y\in Y\mid\exists x\in X,(x,y)\in f\}.

A partial map ff is injective, if for x,xXx,x^{\prime}\in X we have f(x)=f(x)f(x)=f(x^{\prime}) implies that x=xx=x^{\prime}. We can now define a combinatorial dynamical system. We use the same definition as [10].

Definition 2.1.

Let KK a simplicial complex. 𝒱:KK\mathcal{V}:K\nrightarrow K is a combinatorial dynamical system if 𝒱\mathcal{V} is a partial injective map and satisfy these conditions:

  • For all σDom𝒱\sigma\in\operatorname*{Dom\,}\mathcal{V}, 𝒱(σ)=σ\mathcal{V}(\sigma)=\sigma or 𝒱(σ)=τ\mathcal{V}(\sigma)=\tau such as τ>σ\tau>\sigma and dimσ+1=dimτ\dim\sigma+1=\dim\tau.

  • Dom𝒱Im𝒱=K\operatorname*{Dom\,}\mathcal{V}\cup\operatorname*{Im\,}\mathcal{V}=K.

  • Dom𝒱Im𝒱=Crit𝒱\operatorname*{Dom\,}\mathcal{V}\cap\operatorname*{Im\,}\mathcal{V}=\operatorname*{Crit\,}\mathcal{V}, where Crit𝒱={σK𝒱(σ)=σ}\operatorname*{Crit\,}\mathcal{V}=\{\sigma\in K\mid\mathcal{V}(\sigma)=\sigma\} 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 𝒱\mathcal{V}. 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 𝒱\mathcal{V}.

To visualize combinatorial dynamical system, we draw a vector from the barycenter of σ\sigma to the barycenter of 𝒱(σ)\mathcal{V}(\sigma) for each σDom𝒱Crit𝒱\sigma\in\operatorname*{Dom\,}\mathcal{V}\setminus\operatorname*{Crit\,}\mathcal{V}. If σCrit𝒱\sigma\in\operatorname*{Crit\,}\mathcal{V}, 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 σ,τK\sigma,\tau\in K with στ\sigma\neq\tau. We say that a pair (σ,τ)(\sigma,\tau) is an admissible matching, if σ<τ\sigma<\tau with dimσ+1=dimτ\dim\sigma+1=\dim\tau.

This definition is useful in our minimization problem.

Refer to caption
(a) 𝒱\mathcal{V} is not injective.
Refer to caption
(b) The third condition is not satisfied.
Refer to caption
(c) The first condition is not satisfied.
Refer to caption
(d) The second condition is not satisfied.
Refer to caption
(e) 𝒱\mathcal{V} is not a partial map.
Figure 2: Counter-examples of combinatorial dynamical systems.
Refer to caption
(a) A combinatorial dynamical system in 2\mathbb{R}^{2}.
Refer to caption
(b) A combinatorial version of the Lorenz attractor in 3\mathbb{R}^{3}.
Figure 3: Two examples of combinatorial dynamical system.

A multivalued map is a map F:XP(X)F:X\to P(X) where P(X)P(X) is the power set of XX. We write a multivalued map by F:XXF:X\multimap X.

Definition 2.3.

A combinatorial multi-flow associated with a combinatorial dynamical system 𝒱\mathcal{V} is Π𝒱:KK\Pi_{\mathcal{V}}:K\multimap K :

Π𝒱(σ):={ClσIfσCrit𝒱Bdσ{𝒱1(σ)}IfσIm𝒱Crit𝒱{𝒱(σ)}IfσDom𝒱Crit𝒱.\Pi_{\mathcal{V}}(\sigma):=\begin{cases}\operatorname*{Cl\,}\sigma&\operatorname*{If\,}\,\sigma\in\operatorname*{Crit\,}\mathcal{V}\\ \operatorname*{Bd\,}\sigma\setminus\{\mathcal{V}^{-1}(\sigma)\}&\operatorname*{If\,}\,\sigma\in\operatorname*{Im\,}\mathcal{V}\setminus\operatorname*{Crit\,}\mathcal{V}\\ \{\mathcal{V}(\sigma)\}&\operatorname*{If\,}\,\sigma\in\operatorname*{Dom\,}\mathcal{V}\setminus\operatorname*{Crit\,}\mathcal{V}.\\ \end{cases} (3)

Π𝒱\Pi_{\mathcal{V}} induces the dynamics in combinatorial dynamical systems.

Definition 2.4.

A solution of a combinatorial multi-flow Π𝒱\Pi_{\mathcal{V}} of a combinatorial dynamical system 𝒱\mathcal{V} is a function ϱ:IK\varrho:I\to K such as II is an interval in \mathbb{Z} and ϱ(i+1)Π𝒱(ϱ(i))\varrho(i+1)\in\Pi_{\mathcal{V}}(\varrho(i)), for all iIi\in I. We said it’s a full solution if I=I=\mathbb{Z}.

We define a cycle to be a solution ϱ\varrho with I=[0,n]I=[0,n]\cap\mathbb{Z} such as ϱ(0)=ϱ(n)\varrho(0)=\varrho(n). We say a cycle is elementary, if every simplex is unique in ϱ(i)\varrho(i) for i=1,2,,n1i=1,2,\ldots,n-1. The image of a cycle has nn-simplex and (n+1)(n+1)-simplex or a critical simplex. Because the only way to go up in dimension is from a simplex in Dom𝒱Crit𝒱\operatorname*{Dom\,}\mathcal{V}\setminus\operatorname*{Crit\,}\mathcal{V} and we cannot have two simplices Dom𝒱Crit𝒱\in\operatorname*{Dom\,}\mathcal{V}\setminus\operatorname*{Crit\,}\mathcal{V} in a row inside a solution. We denote a dd-cycle where dd is the dimension of simplex in Dom𝒱Imϱ\operatorname*{Dom\,}\mathcal{V}\cap\operatorname*{Im\,}\varrho and Crit𝒱Imϱ=\operatorname*{Crit\,}\mathcal{V}\cap\operatorname*{Im\,}\varrho=\emptyset. We can use the strongly connected components from the directed graph of Π𝒱\Pi_{\mathcal{V}} to understand the recurrent dynamics of 𝒱\mathcal{V}. This will help us to study the method in the experiments. We say that a cycle ϱ\varrho self-intersect at τ\tau, if card(ImϱΠ𝒱(τ))>1\operatorname*{card\,}(\operatorname*{Im\,}\varrho\cap\Pi_{\mathcal{V}}(\tau))>1.

3 Construction of a Simplicial Complex

In this section, we want to construct a simplicial complex. We remind the dataset is XdX\in\mathbb{R}^{d}. For each xXx\in X, there is an associate vector x˙n\dot{x}\in\mathbb{R}^{n}. 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 uSu\in S is the set of points, Vu={xdxuxv,vS}V_{u}=\{x\in\mathbb{R}^{d}\mid\|x-u\|\leq\|x-v\|,v\in S\}. The Voronoi diagram of SS is the collection of Voronoi cells of its points.

Definition 3.2.

The Delaunay complex KK of a finite set SdS\subset\mathbb{R}^{d} is isomorphic to the nerve of the Voronoi diagram,

K={σSuσVu}.K=\{\sigma\subseteq S\mid\cap_{u\in\sigma}V_{u}\neq\emptyset\}. (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 nn-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 XX and YY sets and let RY×XR\subset Y\times X be a relation. The Dowker complex KK is given by:

K:={[y0,y1,y2,,yn] there exists a xX such that yRxi for all i=0,1,,n}.K:=\{[y_{0},y_{1},y_{2},\ldots,y_{n}]\mid\text{ there exists a }x\in X\text{ such that }yRx_{i}\text{ for all }i=0,1,\ldots,n\}.

For the purpose of this paper, we use XX to store data and we need to choose the set YY and a relation RR between XX and YY.

Example 3.4.

Let X={(1.2,0),(0,0.5),(0,0.5),(0.5,0))}2X=\{(-1.2,0),(0,0.5),(0,-0.5),(0.5,0))\}\subset\mathbb{R}^{2} and Y={y0,y1,y2,y3,y4}Y=\{y_{0},y_{1},y_{2},y_{3},y_{4}\} where y0=(0,0),y1=(1,1),y2=(1,1),y3=(1,1),y4=(1,1)y_{0}=(0,0),y_{1}=(-1,-1),y_{2}=(1,1),y_{3}=(-1,1),y_{4}=(1,-1). xXx\in X and yYy\in Y are in relation if yx2<1.2\|y-x\|_{2}<1.2. We obtain the Dowker complex is {[y0,y1,y4],[y0,y2,y4],[y0,y2,y3],[y1,y3]}\{[y_{0},y_{1},y_{4}],[y_{0},y_{2},y_{4}],[y_{0},y_{2},y_{3}],[y_{1},y_{3}]\}.

Refer to caption
Figure 4: The Dowker complex obtained from the example (3.4).

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 V:KnV:K\to\mathbb{R}^{n}.

Let KK 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 σ=[x0,x1,,xn]\sigma=[x_{0},x_{1},\ldots,x_{n}]:

V(σ):=i=0nx˙in+1V(\sigma):=\frac{\sum_{i=0}^{n}\dot{x}_{i}}{n+1} (5)

Let KK be a Dowker complex. Let XX and X˙\dot{X} from the data and YY a set and a relation RR between XX and YY. We define an application w:KXw:K\to X by w(σ)={x˙X˙if for all yσ,xRy}w(\sigma)=\{\dot{x}\in\dot{X}\mid\text{if for all }y\in\sigma,xRy\}.

We assign a vector to a simplex σ=[x0,x1,,xn]\sigma=[x_{0},x_{1},\ldots,x_{n}]:

V(σ):=x˙w(σ)x˙card(w(σ))V(\sigma):=\frac{\sum_{\dot{x}\in w(\sigma)}\dot{x}}{card(w(\sigma))} (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 NN the number of simplices and xix_{i} the simplex where 0i<N0\leq i<N. We define a matrix AMN({0,1})A\in M_{N}(\{0,1\}) of dimensions N×NN\times N where the entries are binary values. We call AA the matching matrix. We do the matching as follows :

  • If aij=1a_{ij}=1, match xix_{i} to xjx_{j} (𝒱(xi)=xj)(\mathcal{V}(x_{i})=x_{j})

  • If aij=0a_{ij}=0, do not match xix_{i} to xjx_{j} (𝒱(xi)xj)(\mathcal{V}(x_{i})\neq x_{j})

Now, let us define the matrix CMN()C\in M_{N}(\mathbb{R}) called the cost matrix. Let V:KnV:K\to\mathbb{R}^{n} be the map that takes a simplex and returns the vector value from the data. Let b:Knb:K\to\mathbb{R}^{n} be the map sending each simplex to its barycenter and W:K×KnW:K\times K\to\mathbb{R}^{n} be given by W(xi,xj)=b(xj)b(xi)W(x_{i},x_{j})=b(x_{j})-b(x_{i}). Then, W(xi,xj)W(x_{i},x_{j}) is a vector that starts from the barycenter of xix_{i} and ends at the barycenter of xjx_{j}. The main idea is to compare the vector V(xi)V(x_{i}) to the vector W(xi,xj)W(x_{i},x_{j}) when the matching is admissible. Given xixjx_{i}\neq x_{j}, the matching is admissible if xi<xjx_{i}<x_{j} and dimxi+1=dimxj\dim x_{i}+1=\dim x_{j}. We use the cosine distance to compare them. It is defined as follows:

d(x,y)=1cos(θ)=1xyxy,d(x,y)=1-\cos(\theta)=1-\frac{x\cdot y}{\|x\|\|y\|}, (7)

where θ\theta is the angle between xx and yy. If d(x,y)=0d(x,y)=0, then xx and yy are parallel in the same direction. If d(x,y)=1d(x,y)=1, then xx and yy are perpendicular. If d(x,y)=2d(x,y)=2, then xx and yy are parallel in opposite directions. We set cij=d(V(xi),W(xi,xj))c_{ij}=d(V(x_{i}),W(x_{i},x_{j})) when xix_{i} and xjx_{j} is an admissible matching and V(xi)0V(x_{i})\neq 0.

If V(xi)=0V(x_{i})=0 and aija_{ij} is an admissible matching, then cij=2c_{ij}=2. Indeed, d(x,0)=1d(x,0)=1 for every xdx\in\mathbb{R}^{d}. This means that all vectors are perpendicular to 0\vec{0}. But xix_{i} 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 i=ji=j, then we set to value ciic_{ii} to α[0,2]\alpha\in[0,2]. α\alpha is a parameter choose by the user. If the α\alpha value is low, then we have more critical simplices. If the α\alpha value is high, then we have less critical simplices.

Let us explain the geometric interpretation of the parameter α\alpha. There exists β[1,1]\beta\in[-1,1] such as α=1β\alpha=1-\beta. Fix a simplex xix_{i} and consider all the admissible matching aija_{ij}. Suppose that for all cij>αc_{ij}>\alpha and let θj\theta_{j} the angle between V(xi)V(x_{i}) and W(xi,xj)W(x_{i},x_{j}). We obtain:

1β<1d(V(xi),W(xi,xj))\displaystyle 1-\beta<1-d(V(x_{i}),W(x_{i},x_{j}))
1β<1cos(θj)\displaystyle\implies 1-\beta<1-\cos(\theta_{j})
β>cos(θj)\displaystyle\implies\beta>\cos(\theta_{j})
arccos(β)<θj,\displaystyle\implies\arccos(\beta)<\theta_{j},

where arccos(β)\arccos(\beta) represents the critical angle. If for all θj>arccos(β)\theta_{j}>\arccos(\beta), then the minimization problem (9) put simplex xix_{i} is a critical simplex or it matches with another simplex of lower dimensions.

If the matching is not admissible and iji\neq j, then Cij=max(2α+1,3)C_{ij}=\max(2\alpha+1,3).

Finally, we obtain this equality for the entries of the matrix CC :

Cij={d(V(xi),W(xi,xj))if (xi,xj) is admissible and V(xi)02if (xi,xj) is admissible and V(xi)=0αif i=jmax(2α+1,3)Otherwise.C_{ij}=\begin{cases}d(V(x_{i}),W(x_{i},x_{j}))&\text{if }(x_{i},x_{j})\text{ is admissible and }V(x_{i})\neq\vec{0}\\ 2&\text{if }(x_{i},x_{j})\text{ is admissible and }V(x_{i})=\vec{0}\\ \alpha&\text{if }i=j\\ \max(2\alpha+1,3)&\text{Otherwise}\end{cases}. (8)
Refer to caption
Figure 5: We compare V([v0,v1])V([v_{0},v_{1}]) in green and W([v0,v1],[v0,v1,v2])W([v_{0},v_{1}],[v_{0},v_{1},v_{2}]) in blue with the cosine distance.

Finally, we obtain the following minimization linear problem with binary variables and linear equality constraints:

minimizeAMN({0,1})\displaystyle\underset{A\in M_{N}(\{0,1\})}{\text{minimize}} f(A):=i=0N1j=0N1aijcij\displaystyle f(A):=\sum_{i=0}^{N-1}\sum_{j=0}^{N-1}a_{ij}c_{ij} (9)
subject to i=0N1aik+j=0N1akjakk=1,k=0,1,,N1\displaystyle\sum_{i=0}^{N-1}a_{ik}+\sum_{j=0}^{N-1}a_{kj}-a_{kk}=1,\quad k=0,1,\ldots,N-1

Let us explain the double sum in the constraint for a fixed kk. The sum i=0N1aik\sum_{i=0}^{N-1}a_{ik} counts the number of vectors going into xix_{i} i.e. 𝒱(xi)=xk\mathcal{V}(x_{i})=x_{k}. The j=0N1akj\sum_{j=0}^{N-1}a_{kj} counts the number of vectors going out of xix_{i} i.e 𝒱(xk)=xi\mathcal{V}(x_{k})=x_{i}. We remove the term akka_{kk} because it is counted twice.

Theorem 5.1.

If AA is a global minimum of the ILP (9), then AA 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 akk=1a_{kk}=1 for all k=0,1,,N1k=0,1,\ldots,N-1 and aij=0a_{ij}=0 for iji\neq j. AA satisfies the constraints of (9) and AA induces the matching that all simplices are critical. Then, the solution set of (9) is always feasible. The variables xix_{i} are bounded between 0 and 11 for all i=0,1,,N1i=0,1,\ldots,N-1. 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 AA does not induce an admissible matching, then it does not satisfy the constraint of the minimization problem (9). We have 55 cases that can be seen in Figure 2. If there are two vectors going out of xkx_{k}, then there exist i,ji,j such as aki=1a_{ki}=1 and akj=1a_{kj}=1 for iji\neq j. That implies that the constraints of (9) are not satisfied. If there are two vectors going in xkx_{k} then there exist i,ji,j such as aik=1a_{ik}=1 and ajk=1a_{jk}=1 for iji\neq j. The constraints of (9) are not satisfied. If there is a vector going in xkx_{k} and another vector going out of xkx_{k}, then there exist i,ji,j such as aik=1a_{ik}=1 and akj=1a_{kj}=1. Then, the constraints of (9) are not satisfied. We obtain that Dom𝒱Im𝒱=Crit𝒱\operatorname*{Dom\,}\mathcal{V}\cap\operatorname*{Im\,}\mathcal{V}=\operatorname*{Crit\,}\mathcal{V}. For all xkKx_{k}\in K, there exists ii such as aik=1a_{ik}=1 or aki=1a_{ki}=1. This means that either xkDom𝒱x_{k}\in\operatorname*{Dom\,}\mathcal{V} or xkIm𝒱x_{k}\in\operatorname*{Im\,}\mathcal{V}. We obtain the equality Dom𝒱Im𝒱=K\operatorname*{Dom\,}\mathcal{V}\cup\operatorname*{Im\,}\mathcal{V}=K.

We need to check that if AA have an inadmissible matching then AA is not a global minimum. Let’s show it by contradiction. Let AA by the global minimum of the problem (9) and aij=1a_{ij}=1 where (xix_{i}, xjx_{j}) is an inadmissible matching with iji\neq j. Since aij=1a_{ij}=1, cij=max(2α+1,3)c_{ij}=\max(2\alpha+1,3). But, if aii=1a_{ii}=1 and ajj=1a_{jj}=1, then cii+cjj=2α<2α+1=cijc_{ii}+c_{jj}=2\alpha<2\alpha+1=c_{ij}. So, if we change the variables for aii=1,ajj=1a_{ii}=1,a_{jj}=1 and aij=0a_{ij}=0, it still satisfies the constraints, and we obtain a smaller value for the objective function of (9). Then, AA is not the global minimum of (9), and we obtain the contradiction. ∎

If AA is not an admissible matching for a combinatorial dynamical system, then we can always find a matrix BB that satisfies the constraint of (9), and f(B)<f(A)f(B)<f(A).

Proposition 5.2.

If AA is not an admissible matching for a combinatorial dynamical system, and it satisfies the constraints of the minimization problem (9), then we can find BB such that BB is an admissible matching, and f(B)<f(A)f(B)<f(A).

Proof.

If AA is not an admissible matching and it satisfies the constraint of (9), there exists some (i,j)(i,j) such as aij=1a_{ij}=1 and (xi,xj)x_{i},x_{j}) is not an admissible matching for the definition of the combinatorial dynamical system.

Let us construct the matrix BMN({0,1})B\in M_{N}(\{0,1\}). If (xi,xj)(x_{i},x_{j}) is an admissible matching, then aij=bija_{ij}=b_{ij}. If xixjx_{i}\to x_{j} is not an admissible matching, then bii=bjj=1b_{ii}=b_{jj}=1 and bij=0b_{ij}=0. We have cii=cjj=αc_{ii}=c_{jj}=\alpha and cij=max(2α+1,3)c_{ij}=\max(2\alpha+1,3). Then, cii+cjj=2α<cijc_{ii}+c_{jj}=2\alpha<c_{ij}.

Finally, we obtain that BB still satisfies the constraints of (9), and f(B)<f(A)f(B)<f(A). ∎

We can use the proposition (5.2) to transform AA 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 f(A)f(A) of the problem (9). Let AA be a solution of (9) and suppose that V(xi)0V(x_{i})\neq\vec{0} for all ii. Let \mathcal{I} be the set of (i,j)(i,j) such that aij=1a_{ij}=1 with iji\neq j. Let 𝒦\mathcal{K} be the set of kk such that akk=1a_{kk}=1.

f(A):\displaystyle f(A): =i=0N1j=0N1cijaij=(i,j)cij+k𝒦ckk\displaystyle=\sum_{i=0}^{N-1}\sum_{j=0}^{N-1}c_{ij}a_{ij}=\sum_{(i,j)\in\mathcal{I}}c_{ij}+\sum_{k\in\mathcal{K}}c_{kk}
=(i,j)(1V(xi)W(xi,xj)V(xi)W(xi,xj))+k𝒦α\displaystyle=\sum_{(i,j)\in\mathcal{I}}\left(1-\frac{V(x_{i})\cdot W(x_{i},x_{j})}{\|V(x_{i})\|\|W(x_{i},x_{j})\|}\right)+\sum_{k\in\mathcal{K}}\alpha
=||(i,j)V(xi)W(xi,xj)V(xi)W(xi,xj)+|𝒦|α\displaystyle=|\mathcal{I}|-\sum_{(i,j)\in\mathcal{I}}\frac{V(x_{i})\cdot W(x_{i},x_{j})}{\|V(x_{i})\|\|W(x_{i},x_{j})\|}+|\mathcal{K}|\alpha

where |||\mathcal{I}| is the number of matchings, |𝒦||\mathcal{K}| is the number of critical simplices and the sum in the middle is the sum of the cosine angle between V(xi)V(x_{i}) and W(xi,xj)W(x_{i},x_{j}). If α\alpha is high, then the minimization will set more admissible matching. If α\alpha is low, then the minimization will set more critical simplices.

If our problem has a lot of simplices, we could only consider the variables aija_{ij} such as (xi,xj)(x_{i},x_{j}) 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 zz be a vector such that zkz_{k} is assigned to an admissible matching (xi,xj)(x_{i},x_{j}) and zk{0,1}z_{k}\in\{0,1\}. Let mm be the number of variables in zz. Let cc be the vector with ck=cijc_{k}=c_{ij} for the variable zkz_{k}. Let DMN,m({0,1})D\in M_{N,m}(\{0,1\}) the constraint matrix. We define the entries of DD as follows. Let xix_{i} be a simplex and zjz_{j} be assigned to the matching xaxbx_{a}\to x_{b}. Then Di,j=1D_{i,j}=1, if i=ai=a or i=bi=b. Otherwise Di,j=0D_{i,j}=0. We obtain the new minimization problem :

minimizezk{0,1}f(z)=czsujet àDz=𝟏m.\begin{aligned} &\underset{z_{k}\in\{0,1\}}{\text{minimize}}&&f(z)=c\cdot z\\ &\text{sujet à}&&Dz=\vec{\mathbf{1}}_{m}\end{aligned}\qquad. (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 mm the number of variables and NN the number of simplices. Then, NmN2N\leq m\leq N^{2}.

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 v0=(0,0)v_{0}=(0,0), v1=(1,1),v_{1}=(1,1), and v2=(2,0)v_{2}=(2,0) with their associate vectors v0˙=(0,1)\dot{v_{0}}=(0,1), v1˙=(1,0),\dot{v_{1}}=(1,0), and v2˙=(1,1)\dot{v_{2}}=(-1,-1).

We construct the Delaunay complex from the points v0,v1v_{0},v_{1} and v2v_{2} and obtain the simplicial complex K={[v0,v1,v2],[v0,v1],[v1,v2],[v0,v2],[v0],[v1],[v2]}K=\{[v_{0},v_{1},v_{2}],[v_{0},v_{1}],[v_{1},v_{2}],[v_{0},v_{2}],[v_{0}],[v_{1}],[v_{2}]\}.

Let us compute the application V:K2V:K\to\mathbb{R}^{2}. For the 0-simplices, we have V([v0])=v0˙=(0,1),V([v1])=v1˙=(1,0)V([v_{0}])=\dot{v_{0}}=(0,1),V([v_{1}])=\dot{v_{1}}=(1,0) and V([v2])=v2˙=(1,1)V([v_{2}])=\dot{v_{2}}=(-1,-1). For the other simplices, we take the average of the vectors on the vertices of the simplex :

V([v0,v1])=V([v0])+V([v1])2=(0,1)+(1,0)2=(12,12)\displaystyle V([v_{0},v_{1}])=\frac{V([v_{0}])+V([v_{1}])}{2}=\frac{(0,1)+(1,0)}{2}=(\frac{1}{2},\frac{1}{2})
V([v0,v2])=V([v0])+V([v2])2=(0,1)+(1,1)2=(12,0)\displaystyle V([v_{0},v_{2}])=\frac{V([v_{0}])+V([v_{2}])}{2}=\frac{(0,1)+(-1,-1)}{2}=(-\frac{1}{2},0)
V([v1,v2])=V([v1])+V([v2])2=(1,0)+(1,1)2=(0,12)\displaystyle V([v_{1},v_{2}])=\frac{V([v_{1}])+V([v_{2}])}{2}=\frac{(1,0)+(-1,-1)}{2}=(0,-\frac{1}{2})
V([v0,v1,v2])=V([v0])+V([v1])+V([v2])3=(0,1)+(1,0)+(1,1)3=(0,0)\displaystyle V([v_{0},v_{1},v_{2}])=\frac{V([v_{0}])+V([v_{1}])+V([v_{2}])}{3}=\frac{(0,1)+(1,0)+(-1,-1)}{3}=(0,0)

We establish the index for the simplices.

x0=[v0],x1=[v1],x2=[v2],x3=[v0,v1],x4=[v0,v2],x5=[v1,v2] and x6=[v0,v1,v2]x_{0}=[v_{0}],x_{1}=[v_{1}],x_{2}=[v_{2}],x_{3}=[v_{0},v_{1}],x_{4}=[v_{0},v_{2}],x_{5}=[v_{1},v_{2}]\text{ and }x_{6}=[v_{0},v_{1},v_{2}]

We construct the matrix CC with α=0.75\alpha=0.75. We have cii=α=0.75c_{ii}=\alpha=0.75 for all ii. For the entries cijc_{ij}, where (xi,xj)(x_{i},x_{j}) is not an admissible matching, we have:

c01=c02=c05=c06=c10=c12=c14=c16=c20=\displaystyle c_{01}=c_{02}=c_{05}=c_{06}=c_{10}=c_{12}=c_{14}=c_{16}=c_{20}=
c21=c23=c26=c30=c31=c32=c34=c35=c40=\displaystyle c_{21}=c_{23}=c_{26}=c_{30}=c_{31}=c_{32}=c_{34}=c_{35}=c_{40}=
c41=c42=c43=c45=c50=c51=c52=c53=c54=\displaystyle c_{41}=c_{42}=c_{43}=c_{45}=c_{50}=c_{51}=c_{52}=c_{53}=c_{54}=
c60=c61=c62=c63=c64=c65=max(2α+1,3)=3.\displaystyle c_{60}=c_{61}=c_{62}=c_{63}=c_{64}=c_{65}=\max(2\alpha+1,3)=3.

Let’s compute cijc_{ij} where (xi,xj)(x_{i},x_{j}) is an admissible matching. The set of admissible matching is {a03,a04,a13,a15,a24,a25,a36,a46,a56}\{a_{03},a_{04},a_{13},a_{15},a_{24},a_{25},a_{36},a_{46},a_{56}\} where iji\neq j. Let’s compute c03c_{03} and c46c_{46} as an example. For c03c_{03}, we need to compute W([v0],[v0,v1])W([v_{0}],[v_{0},v_{1}]):

W([v0],[v0,v1])=b([v0,v1])b([v0])=(12,12)(0,0)=(12,12)\displaystyle W([v_{0}],[v_{0},v_{1}])=b([v_{0},v_{1}])-b([v_{0}])=(\frac{1}{2},\frac{1}{2})-(0,0)=(\frac{1}{2},\frac{1}{2})

Then,

c03=d(V([v0]),W([v0,v1]))=1V([v0])W([v0],[v0,v1])V([v0])W([v0],[v0,v1])\displaystyle c_{03}=d(V([v_{0}]),W([v_{0},v_{1}]))=1-\frac{V([v_{0}])\cdot W([v_{0}],[v_{0},v_{1}])}{\|V([v_{0}])\|\cdot\|W([v_{0}],[v_{0},v_{1}])\|}
=1(0,1)(12,12)(0,1)(12,12)=1(2)20.29\displaystyle=1-\frac{(0,1)\cdot(\frac{1}{2},\frac{1}{2})}{\|(0,1)\|\cdot\|(\frac{1}{2},\frac{1}{2})\|}=1-\frac{\sqrt{(}2)}{2}\approx 0.29

For c46c_{46}, we need to compute W([v0,v2],[v0,v1,v2])W([v_{0},v_{2}],[v_{0},v_{1},v_{2}]).

W([v0,v2],[v0,v1,v2])=b([v0,v1,v2])b([v0,v2])\displaystyle W([v_{0},v_{2}],[v_{0},v_{1},v_{2}])=b([v_{0},v_{1},v_{2}])-b([v_{0},v_{2}])
=(0,0)+(1,1)+(2,0)3(0,0)+(2,0)2=(0,13)\displaystyle=\frac{(0,0)+(1,1)+(2,0)}{3}-\frac{(0,0)+(2,0)}{2}=(0,\frac{1}{3})

Then,

c46=d(V([v0,v2]),W([v0,v2],[v0,v1,v2]))\displaystyle c_{46}=d(V([v_{0},v_{2}]),W([v_{0},v_{2}],[v_{0},v_{1},v_{2}]))
=1V([v0,v2])W([v0,v2],[v0,v1,v2])V([v0,v2])W([v0,v2],[v0,v1,v2])\displaystyle=1-\frac{V([v_{0},v_{2}])\cdot W([v_{0},v_{2}],[v_{0},v_{1},v_{2}])}{\|V([v_{0},v_{2}])\|\cdot\|W([v_{0},v_{2}],[v_{0},v_{1},v_{2}])\|}
=1(12,0)(0,13)(12,0)(0,13)=1.00\displaystyle=1-\frac{(-\frac{1}{2},0)\cdot(0,\frac{1}{3})}{\|(-\frac{1}{2},0)\|\cdot\|(0,\frac{1}{3})\|}=1.00

Finally, we obtain the matrix CC. We round it up to the last two decimals.

C=[0.75330.2913330.7531.7130.293330.7530.29133330.75330.5533330.7531333330.750.863333330.75]C=\begin{bmatrix}0.75&3&3&0.29&1&3&3\\ 3&0.75&3&1.71&3&0.29&3\\ 3&3&0.75&3&0.29&1&3\\ 3&3&3&0.75&3&3&0.55\\ 3&3&3&3&0.75&3&1\\ 3&3&3&3&3&0.75&0.86\\ 3&3&3&3&3&3&0.75\end{bmatrix} (11)

Now, we have everything set up to solve the minimization problem (9). We use our favourite solver to obtain this matching matrix AA:

A=[0001000000001000001000000000000000000000000000001]A=\begin{bmatrix}0&0&0&1&0&0&0\\ 0&0&0&0&0&1&0\\ 0&0&0&0&1&0&0\\ 0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0\\ 0&0&0&0&0&0&1\end{bmatrix} (12)

The matrix AA induces the matching:

a03\displaystyle a_{03} =1𝒱(x0)=x3𝒱([v0])=[v0,v1]\displaystyle=1\implies\mathcal{V}(x_{0})=x_{3}\implies\mathcal{V}([v_{0}])=[v_{0},v_{1}]
a15\displaystyle a_{15} =1𝒱(x1)=x5𝒱([v1)]=[v1,v2]\displaystyle=1\implies\mathcal{V}(x_{1})=x_{5}\implies\mathcal{V}([v_{1})]=[v_{1},v_{2}]
a24\displaystyle a_{24} =1𝒱(x2)=x4𝒱([v2])=[v0,v2]\displaystyle=1\implies\mathcal{V}(x_{2})=x_{4}\implies\mathcal{V}([v_{2}])=[v_{0},v_{2}]
a66\displaystyle a_{66} =1𝒱(x6)=x6𝒱([v0,v1,v2])=[v0,v1,v2].\displaystyle=1\implies\mathcal{V}(x_{6})=x_{6}\implies\mathcal{V}([v_{0},v_{1},v_{2}])=[v_{0},v_{1},v_{2}].

We see that [v0,v1,v2][v_{0},v_{1},v_{2}] is a critical simplex.

Refer to caption
Figure 6: The combinatorial dynamical system induce by the matching matrix AA from (12).

6.2 Data Generated from Classical Dynamical Systems

6.2.1 Lotka-Volterra

Consider the data points X={[10i,10j]i=0,1,2,,7,8,j=0,1,2,7,8}X=\{[10i,10j]\mid i=0,1,2,\ldots,7,8,j=0,1,2\ldots,7,8\}. We compute x˙\dot{x} with the Lotka-Volterra equations:

{dxdt=(0.40.01y)xdydt=(0.005x0.3)y.\begin{cases}\frac{dx}{dt}=(0.4-0.01y)x\\ \frac{dy}{dt}=(0.005x-0.3)y\end{cases}. (13)

The dynamical system (13) has an equilibrium point at (40,60)(40,60) and (0,0)(0,0). 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 α=0.95\alpha=0.95. In this problem, we have 642642 simplices and 18811881 admissible matchings. The optimal solution AA induce the combinatorial dynamical system at Figure 7.

Refer to caption
Figure 7: The combinatorial dynamical system obtained from the data with the Lotka-Volterra equations (13).

We obtain three critical 0-simplices and two critical 11-simplices. Critical 11-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 ii-cycles, we have two 0-cycles and two 11-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 0-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 x0=(0.00,1.00,1.05)x_{0}=(0.00,1.00,1.05). Let xi+1=xi+Δtxi˙x_{i+1}=x_{i}+\Delta t\;\dot{x_{i}} with Δt=0.2\Delta t=0.2 and i=0,1,2999i=0,1,2\ldots 999. We obtain 10001000 data points. We compute x˙\dot{x} with the Lorenz Attractor equations:

{dxdt=10(yx)dydt=28xxzydzdt=xy83z.\begin{cases}\frac{dx}{dt}=10(y-x)\\ \frac{dy}{dt}=28x-xz-y\\ \frac{dz}{dt}=xy-\frac{8}{3}z\end{cases}. (14)

We want to capture the dynamics of the chaotic attractor of (14). We construct the Delaunay complex from data points. We obtained 81138113 33-simplices. We solve the problem (10) to reduce the number of variables. We obtain 0 critical 0-simplices, 2020 critical 11-simplices, 4949 critical 22-simplices and 2828 critical 33-simplices. We compute the strongly connected components of the directed graph from multivalued map Π𝒱\Pi_{\mathcal{V}} to find the recurrent behaviour. The recurrent behaviour is an union of ii-cycle. We have 44 0-cycles, 66 11-cycles and 11 22-cycle. At Figure (8), we see the biggest strongly connected components. It’s a 11-cycle with 35283528 simplices and 421421 self-intersections. The dynamic of this attractor is very complex. This is caused by the chaotic behaviour of the Lorenz attractor.

Refer to caption
Figure 8: The biggest strongly connected components from the combinatorial dynamical system from the data of the Lorenz Attractor equations. This is a 11-cycle. It has 35383538 simplices, including 421421 simplices which are auto-intersections coloured in purple.

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 x0x_{0} be a 22-simplex and x1,x2x_{1},x_{2} and x3x_{3} be 11-simplices and faces of x0x_{0}. Suppose that c01=c02=c03<αc_{01}=c_{02}=c_{03}<\alpha. By the constraints of (9), the solution can only match one 11-simplex with x0x_{0}. But x1,x2x_{1},x_{2} and x3x_{3} are good candidates for matching, because they have low costs. By applying a barycentric subdivision, we can match x1,x2x_{1},x_{2} and x3x_{3} with a 22-simplex in the interior of x0x_{0}.

Let us define the barycentric subdivision. Let be KK the simplicial complex and KK^{\prime} be the resulted simplicial complex after applying the barycentric subdivision of KK. We proceed by induction on the dimension of KK. For each simplex σKn\sigma\in K_{n}, we add the barycentre of σ\sigma as a new vertex in KK^{\prime} and connect the barycentre of σ\sigma with the other barycentre at the boundary of σ\sigma to construct the new nn-simplices of KK^{\prime}.

Let v:Kv:K\to\mathbb{R} be the vector associated to a simplex and let us construct v:Kv^{\prime}:K^{\prime}\to\mathbb{R}. For each σK0\sigma\in K_{0}, σK0\sigma\in K_{0}^{\prime}. We set v(σ)=v(σ)v^{\prime}(\sigma)=v(\sigma). For the other simplex σK\sigma\in K^{\prime}, there exists a simplex τK\tau\in K such as σ\sigma is in the interior of τ\tau, then put v(σ)=v(τ)v^{\prime}(\sigma)=v(\tau).

We try this approach on an example. Let x={(1,1),(1,1),(0,2)}x=\{(-1,-1),(1,-1),(0,2)\} and x={(1,1),(1,1),x^{\prime}=\{(1,1),(-1,1), (0,2)}(0,-2)\}. We have a vector field sample from the dynamical system:

{dxdt=xdydt=y.\begin{cases}\frac{dx}{dt}=-x\\ \frac{dy}{dt}=-y\end{cases}.

We use the Delaunay complex to construct the simplicial complex. We should obtain a fixed point at (0,0)(0,0). But there is no 0-simplex at (0,0)(0,0). The solution of the minimization will also put a 0-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 0-simplex at the center of the 22-simplex which is closed to the real fixed point.

Refer to caption
(a) The matching from the solution obtained by solving the minimization problem without applying a barycentric subdivision.
Refer to caption
(b) The matching from the solution obtained by solving the minimization problem with a barycentric subdivision applied to the data.
Figure 9: An example on applying a barycentric subdivision before the matching algorithm. It gives a better result.

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 α\alpha small enough that the solution AA 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 11. In this case, the image of an elementary cycle has only 11 critical simplex.

For the first method, if we choose α=0\alpha=0, then the minimum of the problem (9) is obtained by setting aii=1a_{ii}=1 for all i=0,1,,N1i=0,1,\ldots,N-1. This set all simplices to critical and it is a gradient combinatorial dynamical system.

Lemma 7.1.

Let cij>0c_{ij}>0 for all iji\neq j and l=minij{cij}l=\min_{i\neq j}\{c_{ij}\}. If α<l2\alpha<\frac{l}{2}, then the global minimum of (9) is aii=1a_{ii}=1 for all i=0,1,,N1i=0,1,\ldots,N-1 and aij=0a_{ij}=0 for iji\neq j.

Proof.

We argue by contradiction. Let AA be a global minimum of (9) and suppose that there exist iji\neq j such that aij=1a_{ij}=1. Consider cii+cjj=2α<lcijc_{ii}+c_{jj}=2\alpha<l\leq c_{ij}. We construct BB. Set bkm=akmb_{km}=a_{km} for k=0,1,2,,N1k=0,1,2,\ldots,N-1 and m=0,1,2,N1m=0,1,2,\ldots N-1, except for aij=0a_{ij}=0, aii=1a_{ii}=1 and ajj=1a_{jj}=1. We have f(B)<f(A)f(B)<f(A). We get a contradiction and the global minimum is aii=1a_{ii}=1 for all i=0,1,,N1i=0,1,\ldots,N-1 and aij=0a_{ij}=0 for iji\neq j. ∎

The main idea for this method is to choose the greatest α[0,2]\alpha\in[0,2] 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:

minimizeAMN({0,1})\displaystyle\underset{A\in M_{N}(\{0,1\})}{\text{minimize}} f(A):=i=0N1j=0N1aijcij\displaystyle f(A):=\sum_{i=0}^{N-1}\sum_{j=0}^{N-1}a_{ij}c_{ij} (15)
sujet à i=0N1aik+j=0N1akjakk=1,k=0,1,,N1\displaystyle\sum_{i=0}^{N-1}a_{ik}+\sum_{j=0}^{N-1}a_{kj}-a_{kk}=1,\quad k=0,1,\ldots,N-1
aijcaij<|c|,cC\displaystyle\sum_{a_{i}j\in c}a_{ij}<|c|,\quad c\in C

where CC is the set of all possible elementary cycles with length greater than 11 on KK. Let KK a simplicial complex and dd the dimension of KK. The elementary cycles can be decomposed in ii-cycle:

C=i=0d1{all possible elementary i-cycles}.C=\bigcup_{i=0}^{d-1}\{\text{all possible elementary }i\text{-cycles}\}.
Theorem 7.2.

If AA is a global minimum to the ILP (15), then AA 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 AA of (15) induces a matching with no cycle. If we set α\alpha 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 X={(0,0),(1,1),(2,0)}X=\{(0,0),(1,1),(2,0)\} and X˙={(0.05,1),(1,0),(1,1)}\dot{X}=\{(0.05,1),(1,0),(-1,-1)\}. With this dataset, if we do not have a low α\alpha the solution AA induces a cycle in the combinatorial dynamical system. We choose α=0.14\alpha=0.14 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.

Refer to caption
(a) The solution from the minimization problem with α=0.15\alpha=0.15. The combinatorial dynamical system has a 11-cycle.
Refer to caption
(b) The solution from the minimization problem with α=0.14\alpha=0.14. The combinatorial dynamical system is gradient.
Refer to caption
(c) The solution from the minimization problem with two constraints added to remove all cyclic solutions. The combinatorial dynamical system is gradient.
Figure 10: Comparison of the different methods to make sure that the combinatorial dynamical system is gradient.

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.