Discrete Exterior Calculus
2005 Hirani, Marsden, Desbrun, Leok 53 pp.

Discrete Exterior Calculus

1. DISCRETE EXTERIOR CALCULUS

MATHIEU DESBRUN, ANIL N. HIRANI, MELVIN LEOK, AND JERROLD E. MARSDEN

ABSTRACT. We present a theory and applications of discrete exterior calculus on simplicial complexes of arbitrary finite dimension. This can be thought of as calculus on a discrete space. Our theory includes not only discrete differential forms but also discrete vector fields and the operators acting on these objects. This allows us to address the various interactions between forms and vector fields (such as Lie derivatives) which are important in applications. Previous attempts at discrete exterior calculus have addressed only differential forms. We also introduce the notion of a circumcentric dual of a simplicial complex. The importance of dual complexes in this field has been well understood, but previous researchers have used barycentric subdivision or barycentric duals. We show that the use of circumcentric duals is crucial in arriving at a theory of discrete exterior calculus that admits both vector fields and forms.

2. CONTENTS

1. Introduction 1
2. History and Previous Work 4
3. Primal Simplicial Complex and Dual Cell Complex 4
4. Local and Global Embeddings 10
5. Differential Forms and Exterior Derivative 12
6. Hodge Star and Codifferential 14
7. Maps between 1-Forms and Vector Fields 15
8. Wedge Product 17
9. Divergence and Laplace–Beltrami 22
10. Contraction and Lie Derivative 24
11. Discrete Poincaré Lemma 27
12. Discrete Variational Mechanics and DEC 38
13. Extensions to Dynamic Problems 44
13.1. Groupoid Interpretation of Discrete Variational Mechanics 44
13.2. Discrete Diffeomorphisms and Discrete Flows 46
13.3. Push-Forward and Pull-Back of Discrete Vector Fields and Discrete Forms 48
14. Remeshing Cochains and Multigrid Extensions 49
15. Conclusions and Future Work 50
References 51

2.1. 1. INTRODUCTION

This work presents a theory of discrete exterior calculus (DEC) motivated by potential applications in computational methods for field theories such as elasticity, fluids, and electromagnetism. In addition, it provides much needed mathematical machinery to enable a systematic development of numerical schemes that mirror the approach of geometric mechanics.

This theory has a long history that we shall outline below in §2, but we aim at a comprehensive, systematic, as well as useful, treatment. Many previous works, as we shall review, are incomplete both in terms of the objects that they treat as well as the types of meshes that they allow.

Our vision of this theory is that it should proceed ab initio as a discrete theory that parallels the continuous one. General views of the subject area of DEC are common in the literature (see, for instance, Mattiussi [2000]), but they usually stress the process of discretizing a continuous theory and the overall approach is tied to this goal. However, if one takes the point of view that the discrete theory can, and indeed should, stand in its own right, then the range of application areas naturally is enriched and increases.

Convergence and consistency considerations alone are inadequate to discriminate between the various choices of discretization available to the numerical analyst, and only by requiring, when appropriate, that the discretization exhibits discrete analogues of continuous properties of interest can we begin to address the question of what makes a discrete theory a canonical discretization of a continuous one.

Applications to Variational Problems. One of the major application areas we envision is to variational problems, be they in mechanics or optimal control. One of the key ingredients in this direction that we imagine will play a key role in the future is that of AVI's (asynchronous variational integrators) designed for the numerical integration of mechanical systems, as in Lew et al. [2003]. These are integration algorithms that respect some of the key features of the continuous theory, such as their multi-symplectic nature and exact conservation laws. They do so by discretizing the underlying variational principles of mechanics rather than discretizing the equations. It is well-known (see the reference just mentioned for some of the literature) that variational problems come equipped with a rich exterior calculus structure and so on the discrete level, such structures will be enhanced by the availability of a discrete exterior calculus. One of the objectives of this chapter is to fill this gap.

Structured Constraints. There are many constraints in numerical algorithms that naturally involve differential forms, such as the divergence constraint for incompressibility of fluids, as well as the fact that differential forms are naturally the fields in electromagnetism, and some of Maxwell's equations are expressed in terms of the divergence and curl operations on these fields. Preserving, as in the mimetic differencing literature, such features directly on the discrete level is another one of the goals, overlapping with our goals for variational problems.

Lattice Theories. Periodic crystalline lattices are of important practical interest in material science, and the anisotropic nature of the material properties arises from the geometry and connectivity of the intermolecular bonds in the lattice. It is natural to model these lattices as inherently discrete objects, and an understanding of discrete curvature that arises from DEC is particularly relevant, since part of the potential energy arises from stretched bonds that can be associated with discrete curvature in the underlying relaxed configuration of the lattice. In particular, this could yield a more detailed geometric understanding of what happens at grain boundaries. Lattice defects can also be associated with discrete curvature when appropriately interpreted. The introduction of a discrete notion of curvature will lay the foundations for a better understanding of the role of geometry in the material properties of solids.

Some of the Key Theoretical Accomplishments. Our development of discrete exterior calculus includes discrete differential forms, the Hodge star operator, the wedge product, the exterior derivative, as well as contraction and the Lie derivative. For example, this approach leads to the proper definition of discrete divergence and curl operators and has already resulted in applications like a discrete Hodge type decomposition of 3D vector fields on irregular grids—see Tong et al. [2003].

Context. We present the theory and some applications of DEC in the context of simplicial complexes of arbitrary finite dimension.

Methodology. We believe that the correct way to proceed with this program is to develop, as we have already stressed, ab initio, a calculus on discrete manifolds which parallels the calculus on smooth manifolds of arbitrary finite dimension. Chapters 6 and 7 of Abraham et al. [1988] are a good source for the concepts and definitions in the smooth case. However we have tried to make this chapter as self-contained as possible. Indeed, one advantage of developing a calculus on discrete manifolds, as we do here, is pedagogical. By using concrete examples of discrete two- and three-dimensional spaces one can explain most of calculus on manifolds at least formally as we will do using the examples in this chapter. The machinery of Riemannian manifolds and general manifold theory from the smooth case is, strictly speaking, not required in the discrete world. The technical terms that are used in this introduction will be defined in subsequent sections, but they should be already familiar to someone who knows the usual exterior calculus on smooth manifolds.

The Objects in DEC. To develop a discrete theory, one must define discrete differential forms along with vector fields and operators involving these. Once discrete forms and vector fields are defined, a calculus can be developed by defining the discrete exterior derivative (\mathbf{d}), codifferential (\delta) and Hodge star (*) for operating on forms, discrete wedge product (\wedge) for combining forms, discrete flat (\flat) and sharp (\sharp) operators for going between vector fields and 1-forms and discrete contraction operator (\mathbf{i}_X) for combining forms and vector fields. Once these are done, one can then define other useful operators. For example, a discrete Lie derivative (\mathcal{L}_X) can be defined by requiring that the Cartan magic (or homotopy) formula hold. A discrete divergence in any dimension can be defined. A discrete Laplace–deRham operator (\Delta) can be defined using the usual definition of \mathbf{d}\delta + \delta\mathbf{d}. When applied to functions, this is the same as the discrete Laplace–Beltrami operator (\nabla^2), which is defined as \text{div} \circ \text{curl}. We define all these operators in this chapter.

The discrete manifolds we work with are simplicial complexes. We will recall the standard formal definitions in §3 but familiar examples of simplicial complexes are meshes of triangles embedded in \mathbb{R}^3 and meshes made up of tetrahedra occupying a portion of \mathbb{R}^3. We will assume that the angles and lengths on such discrete manifolds are computed in the embedding space \mathbb{R}^N using the standard metric of that space. In other words, in this chapter we do not address the issue of how to discretize a given smooth Riemannian manifold, and how to embed it in \mathbb{R}^N, since there may be many ways to do this. For example, \text{SO}(3) can be embedded in \mathbb{R}^9 with a constraint, or as the unit quaternions in \mathbb{R}^4. Another potentially important consideration in discretizing the manifold is that the topology of the simplicial complex should be the same as the manifold to be discretized. This can be verified using the methods of computational homology (see, for example, Kaczynski et al. [2004]), or discrete Morse theory (see, for example, Forman [2002], Wood [2003]). For the purposes of discrete exterior calculus, only local metric information is required, and we will comment towards the end of §3 how to address the issue of embedding in a local fashion, as well as the criterion for a good global embedding.

Our development in this chapter is for the most part formal in that we choose appropriate geometric definitions of the various objects and quantities involved. For the most part, we do not prove that these definitions converge to the smooth counterparts. The definitions are chosen so as to make some important theorems like the generalized Stokes’ theorem true by definition. Moreover, in the cases where previous results are available, we have checked that the operators we obtain match the ones obtained by other means, such as variational derivations.

2.2. 2. HISTORY AND PREVIOUS WORK

The use of simplicial chains and cochains as the basic building blocks for a discrete exterior calculus has appeared in several papers. See, for instance, Sen et al. [2000], Adams [1996], Bossavit [2002c], and references therein. These authors view forms as linearly interpolated versions of smooth differential forms, a viewpoint originating from Whitney [1957], who introduced the Whitney and deRham maps that establish an isomorphism between simplicial cochains and Lipschitz differential forms.

We will, however, view discrete forms as real-valued linear functions on the space of chains. These are inherently discrete objects that can be paired with chains of oriented simplices, or their geometric duals, by the bilinear pairing of evaluation. In the next chapter, where we consider applications involving the curvature of a discrete space, we will relax the condition that discrete forms are real-valued, and consider group-valued forms.

Intuitively, this natural pairing of evaluation can be thought of as integration of the discrete form over the chain. This difference from the work of Sen et al. [2000] and Adams [1996] is apparent in the definitions of operations like the wedge product as well.

There is also much interest in a discrete exterior calculus in the computational electromagnetism community, as represented by Bossavit [2001, 2002a,b,c], Gross and Kotiuga [2001], Hiptmair [1999, 2001a,b, 2002], Mattiussi [1997, 2000], Nicolaides and Wang [1998], Teixeira [2001], and Tonti [2002].

Many of the authors cited above, for example, Bossavit [2002c], Sen et al. [2000], and Hiptmair [2002], also introduce the notions of dual complexes in order to construct the Hodge star operator. With the exception of Hiptmair, they use barycentric duals. This works if one develops a theory of discrete forms and does not introduce discrete vector fields. We show later that to introduce discrete vector fields into the theory the notion of circumcentric duals seems to be important.

Other authors, such as Moritz [2000], Moritz and Schwalm [2001], Schwalm et al. [1999], have incorporated vector fields into the cochain based approach to exterior calculus by identifying vector fields with cochains, and having them supported on the same mesh. This is ultimately an unsatisfactory approach, since dual meshes are essential as a means of encoding physically relevant phenomena such as fluxes across boundaries.

The use of primal and dual meshes arises most often as staggered meshes in finite volume and finite difference methods. In fluid computations, for example, the density is often a cell-centered quantity, which can either be represented as a primal object by being associated with the 3-cell, or as a dual object associated with the 0-cell at the center of the 3-cell. Similarly, the flux across boundaries can be associated with the 2-cells that make up the boundary, or the 1-cell which is normal to the boundary.

Another approach to a discrete exterior calculus is presented in Dezin [1995]. He defines a one-dimensional discretization of the real line in much the same way we would. However, to generalize to higher dimensions he introduces a tensor product of this space. This results in logically rectangular meshes. Our calculus, however, is defined over simplicial meshes. A further difference is that like other authors in this field, Dezin [1995] does not introduce vector fields into his theory.

A related effort for three-dimensional domains with logically rectangular meshes is that of Mansfield and Hydon [2001], who established a variational complex for difference equations by constructing a discrete homotopy operator. We construct an analogous homotopy operator for simplicial meshes in proving the discrete Poincaré lemma.

2.3. 3. PRIMAL SIMPLICIAL COMPLEX AND DUAL CELL COMPLEX

In constructing the discretization of a continuous problem in the context of our formulation of discrete exterior calculus, we first discretize the manifold of interest as a simplicial complex. While this is typically in the form of a simplicial complex that is embedded into Euclidean space, it is only necessary to have an abstract simplicial complex, along with a local metric defined on adjacent vertices. This abstract setting will be addressed further toward the end of this section.

We will now recall some basic definitions of simplices and simplicial complexes, which are standard from simplicial algebraic topology. A more extensive treatment can be found in Munkres [1984].

Definition 3.1. A k-simplex is the convex span of k + 1 geometrically independent points,

\sigma^k = [v_0, v_1, \dots, v_k] = \left\{ \sum_{i=0}^k \alpha^i v_i \mid \alpha^i \geq 0, \sum_{i=0}^k \alpha^i = 1 \right\}.

The points v_0, \dots, v_k are called the vertices of the simplex, and the number k is called the dimension of the simplex. Any simplex spanned by a (proper) subset of \{v_0, \dots, v_k\} is called a (proper) face of \sigma^k. If \sigma^l is a proper face of \sigma^k, we denote this by \sigma^l \prec \sigma^k.

Example 3.1. Consider 3 non-collinear points v_0, v_1 and v_2 in \mathbb{R}^3. Then, these three points individually are examples of 0-simplices, to which an orientation is assigned through the choice of a sign. Examples of 1-simplices are the oriented line segments [v_0, v_1], [v_1, v_2] and [v_0, v_2]. By writing the vertices in that order we have given orientations to these 1-simplices, i.e., [v_0, v_1] is oriented from v_0 to v_1. The triangle [v_0, v_1, v_2] is a 2-simplex oriented in counterclockwise direction. Note that the orientation of [v_0, v_2] does not agree with that of the triangle.

Definition 3.2. A simplicial complex K in \mathbb{R}^N is a collection of simplices in \mathbb{R}^N, such that,

  1. (1) Every face of a simplex of K is in K.
  2. (2) The intersection of any two simplices of K is a face of each of them.

Definition 3.3. A simplicial triangulation of a polytope |K| is a simplicial complex K such that the union of the simplices of K recovers the polytope |K|.

Definition 3.4. If L is a subcollection of K that contains all faces of its elements, then L is a simplicial complex in its own right, and it is called a subcomplex of K. One subcomplex of K is the collection of all simplices of K of dimension at most k, which is called the k-skeleton of K, and is denoted K^{(k)}.

Circumcentric Subdivision. We will also use the notion of a circumcentric dual or Voronoi mesh of the given primal mesh. We will point to the importance of this choice later on in §7 and 9. We call the Voronoi dual a circumcentric dual since the dual of a simplex is its circumcenter (equidistant from all vertices of the simplex).

Definition 3.5. The circumcenter of a k-simplex \sigma^k is given by the center of the k-circumsphere, where the k-circumsphere is the unique k-sphere that has all k + 1 vertices of \sigma^k on its surface. Equivalently, the circumcenter is the unique point in the k-dimensional affine space that contains the k-simplex that is equidistant from all the k + 1 nodes of the simplex. We will denote the circumcenter of a simplex \sigma^k by c(\sigma^k).

The circumcenter of a simplex \sigma^k can be obtained by taking the intersection of the normals to the (k - 1)-dimensional faces of the simplex, where the normals are emanating from the circumcenter of the face. This allows us to recursively compute the circumcenter.

If we are given the nodes which describe the primal mesh, we can construct a simplicial triangulation by using the Delaunay triangulation, since this ensures that the circumcenter of a simplex is always a point within the simplex. Otherwise we assume that a nice mesh has been given to us, i.e., it is such that the circumcenters lie within the simplices. While this is not essential for our theory it makes some proofs simpler. For some computations the Delaunay triangulation is desirable in that it reduces the maximum aspect ratio of the mesh, which is a factor in determining the rate at which the corresponding numerical scheme converges. But in practice there are many problems for which Delaunay triangulations are a bad idea. See, for example, Schewchuck [2002]. We will address such computational issues in a separate work.

Definition 3.6. The circumcentric subdivision of a simplicial complex is given by the collection of all simplices of the form

[c(\sigma_0), \dots, c(\sigma_k)],

where \sigma_0 \prec \sigma_1 \prec \dots \prec \sigma_k, or equivalently, that \sigma_i is a proper face of \sigma_j for all i < j.

Circumcentric Dual. We construct a circumcentric dual to a k-simplex using the circumcentric duality operator, which is introduced below.

Definition 3.7. The circumcentric duality operator is given by

\star(\sigma^k) = \sum_{\sigma^k \prec \sigma^{k+1} \prec \dots \prec \sigma^n} \epsilon_{\sigma^k, \dots, \sigma^n} [c(\sigma^k), c(\sigma^{k+1}), \dots, c(\sigma^n)],

where the \epsilon_{\sigma^k, \dots, \sigma^n} coefficient ensures that the orientation of [c(\sigma^k), c(\sigma^{k+1}), \dots, c(\sigma^n)] is consistent with the orientation of the primal simplex, and the ambient volume-form.

Orienting \sigma^k is equivalent to choosing a ordered basis, which we shall denote by dx^1 \wedge \dots \wedge dx^k. Similarly, [c(\sigma^k), c(\sigma^{k+1}), \dots, c(\sigma^n)] has an orientation denoted by dx^{k+1} \wedge \dots \wedge dx^n. If the orientation corresponding to dx^1 \wedge \dots \wedge dx^n is consistent with the volume-form on the manifold, then \epsilon_{\sigma^k, \dots, \sigma^n} = 1, otherwise it takes the value -1.

We immediately see from the construction of the circumcentric duality operator that the dual elements can be realized as a submesh of the first circumcentric subdivision, since it consists of elements of the form [c(\sigma_0), \dots, c(\sigma_k)], which are, by definition, part of the first circumcentric subdivision.

Example 3.2. The circumcentric duality operator maps a 0-simplex into the convex hull generated by the circumcenters of n-simplices that contain the 0-simplex,

\star(\sigma^0) = \left\{ \sum \alpha_{\sigma^n} c(\sigma^n) \mid \alpha_{\sigma^n} \geq 0, \sum \alpha_{\sigma^n} = 1, \sigma^0 \prec \sigma^n \right\},

and the circumcentric duality operator maps a n-simplex into the circumcenter of the n-simplex,

\star(\sigma^n) = c(\sigma^n).

This is more clearly illustrated in Figure 1, where the primal and dual elements are color coded to represent the dual relationship between the elements in the primal and dual mesh.

Figure 1: Three diagrams illustrating the circumcentric subdivision of a triangle. (a) Primal: A red triangle with a blue dot at each vertex. (b) Dual: A gray triangle with a blue triangle at the bottom-left corner, a red dot at the bottom-left vertex, and a green line segment connecting the red dot to the circumcenter. (c) First subdivision: A gray triangle with a central black dot and lines connecting it to each vertex, creating three smaller triangles.
(a) Primal (b) Dual (c) First subdivision
Figure 1: Three diagrams illustrating the circumcentric subdivision of a triangle. (a) Primal: A red triangle with a blue dot at each vertex. (b) Dual: A gray triangle with a blue triangle at the bottom-left corner, a red dot at the bottom-left vertex, and a green line segment connecting the red dot to the circumcenter. (c) First subdivision: A gray triangle with a central black dot and lines connecting it to each vertex, creating three smaller triangles.

FIGURE 1. Primal, and dual meshes, as chains in the first circumcentric subdivision.

The choice of a circumcentric dual is significant, since it allows us to recover geometrically important objects such as normals to (n-1)-dimensional faces, which are obtained by taking their circumcentric dual, whereas, if we were to use a barycentric dual, the dual to a (n-1)-dimensional face would not be normal to it.

Orientation of the Dual Cell. Notice that given an oriented simplex \sigma^k, which is represented by [v_0, \dots, v_k], the orientation is equivalently represented by (v_1 - v_0) \wedge (v_2 - v_1) \wedge \dots \wedge (v_k - v_{k-1}), which we denote by,

[v_0, \dots, v_k] \sim (v_1 - v_0) \wedge (v_2 - v_1) \wedge \dots \wedge (v_k - v_{k-1}),

which is an equivalence at the level of orientation. It would be nice to express our criterion for determining the orientation of the dual cell in terms of the (k+1)-vertex representation.

To determine the orientation of the (n-k)-simplex given by [c(\sigma^k), c(\sigma^{k+1}), \dots, c(\sigma^n)], or equivalently, dx^{k+1} \wedge \dots \wedge dx^n, we consider the n-simplex given by [c(\sigma^0), \dots, c(\sigma^n)], where \sigma^0 \prec \dots \prec \sigma^k. This is related to the expression dx^1 \wedge \dots \wedge dx^n, up to a sign determined by the relative orientation of [c(\sigma^0), \dots, c(\sigma^k)] and \sigma^k. Thus, we have that

dx^1 \wedge \dots \wedge dx^n \sim \text{sgn}([c(\sigma^0), \dots, c(\sigma^k)], \sigma^k) [c(\sigma^0), \dots, c(\sigma^n)].

Then, we need to check that dx^1 \wedge \dots \wedge dx^n is consistent with the volume-form on the manifold, which is represented by the orientation of \sigma^n. Thus, we have that the correct orientation for the [c(\sigma^k), c(\sigma^{k+1}), \dots, c(\sigma^n)] term is given by,

\text{sgn}([c(\sigma^0), \dots, c(\sigma^k)], \sigma^k) \cdot \text{sgn}([c(\sigma^0), \dots, c(\sigma^n)], \sigma^n).

These two representations of the choice of orientation for the dual cells are equivalent, but the combinatorial definition above might be preferable for the purposes of implementation.

Example 3.3. We would like to compute the orientation of the dual of a 1-simplex, in two dimensions, given the orientation of the two neighboring 2-simplices.

Given a simplicial complex, as shown in Figure 2(a), we consider a 2-simplex of the form [c(\sigma^0), c(\sigma^1), c(\sigma^2)], which is illustrated in Figure 2(b).

Figure 2: Orienting the dual of a cell. (a) Simplicial complex: A diamond shape divided into two triangles. The top triangle has a counter-clockwise arrow, and the bottom triangle has a clockwise arrow. (b) 2-simplex: The same diamond shape, but the top triangle is shaded and has a counter-clockwise arrow, while the bottom triangle is unshaded and has a clockwise arrow. (c) \star\sigma^1: The same diamond shape, but the top triangle is shaded and has a clockwise arrow, and the bottom triangle is unshaded and has a counter-clockwise arrow.
(a) Simplicial complex (b) 2-simplex (c) \star\sigma^1
Figure 2: Orienting the dual of a cell. (a) Simplicial complex: A diamond shape divided into two triangles. The top triangle has a counter-clockwise arrow, and the bottom triangle has a clockwise arrow. (b) 2-simplex: The same diamond shape, but the top triangle is shaded and has a counter-clockwise arrow, while the bottom triangle is unshaded and has a clockwise arrow. (c) \star\sigma^1: The same diamond shape, but the top triangle is shaded and has a clockwise arrow, and the bottom triangle is unshaded and has a counter-clockwise arrow.

FIGURE 2. Orienting the dual of a cell.

Notice that the orientation is consistent with the given orientation of the 2-simplex, but it is not consistent with the orientation of the primal 1-simplex, so the orientation should be reversed, to give the dual cell illustrated in Figure 2(c).

We summarize the results for the induced orientation of dual cells for the other 2-simplices of the form [c(\sigma^0), c(\sigma^1), c(\sigma^2)], in Table 1.

Orientation of the Dual of a Dual Cell. While the circumcentric duality operator is a map from the primal simplicial complex to the dual cell complex, we can formally extend the circumcentric duality operator

TABLE 1. Determining the induced orientation of a dual cell.

[c(\sigma^0), c(\sigma^1), c(\sigma^2)]Diagram of a diamond-shaped cell with a horizontal line and a vertical line. A curved arrow points from the left to the right, and another curved arrow points from the top to the bottom. A small circle is at the center.Diagram of a diamond-shaped cell with a horizontal line and a vertical line. A curved arrow points from the left to the right, and another curved arrow points from the top to the bottom. A small circle is at the center.Diagram of a diamond-shaped cell with a horizontal line and a vertical line. A curved arrow points from the left to the right, and another curved arrow points from the top to the bottom. A small circle is at the center.Diagram of a diamond-shaped cell with a horizontal line and a vertical line. A curved arrow points from the left to the right, and another curved arrow points from the top to the bottom. A small circle is at the center.
\text{sgn}([c(\sigma^0), c(\sigma^1)], \sigma^1)++
\text{sgn}([c(\sigma^0), c(\sigma^1), c(\sigma^2)], \sigma^2)++
\text{sgn}([c(\sigma^0), c(\sigma^1)], \sigma^1) \cdot \text{sgn}([c(\sigma^0), c(\sigma^1), c(\sigma^2)], \sigma^2) \cdot [c(\sigma^1), c(\sigma^2)]Diagram of a diamond-shaped cell with a horizontal line and a vertical line. A curved arrow points from the left to the right, and another curved arrow points from the top to the bottom. A small circle is at the center.Diagram of a diamond-shaped cell with a horizontal line and a vertical line. A curved arrow points from the left to the right, and another curved arrow points from the top to the bottom. A small circle is at the center.Diagram of a diamond-shaped cell with a horizontal line and a vertical line. A curved arrow points from the left to the right, and another curved arrow points from the top to the bottom. A small circle is at the center.Diagram of a diamond-shaped cell with a horizontal line and a vertical line. A curved arrow points from the left to the right, and another curved arrow points from the top to the bottom. A small circle is at the center.

to a map from the dual cell complex to the primal simplicial complex. However, we need to be slightly careful about the orientation of primal simplex we recover from applying the circumcentric duality operator twice.

We have that, \star\star(\sigma^k) = \pm\sigma^k, where the sign is chosen to ensure the appropriate choice of orientation. If, as before, \sigma^k has an orientation represented by dx^1 \wedge \dots \wedge dx^k, and \star\sigma^k has an orientation represented by dx^{k+1} \wedge \dots \wedge dx^n, then the orientation of \star\star(\sigma^k) is chosen so that dx^{k+1} \wedge \dots \wedge dx^n \wedge dx^1 \wedge \dots \wedge dx^k is consistent with the ambient volume-form. Since, by construction, \star(\sigma^k), dx^1 \wedge \dots \wedge dx^n has an orientation consistent with the ambient volume-form, we need only compare dx^{k+1} \wedge \dots \wedge dx^n \wedge dx^1 \wedge \dots \wedge dx^k with dx^1 \wedge \dots \wedge dx^n. Notice that it takes n-k transpositions to get the dx^1 term in front of the dx^{k+1} \wedge \dots \wedge dx^n terms, and we need to do this k times for each term of dx^1 \wedge \dots \wedge dx^k, so it follows that the sign is simply given by (-1)^{k(n-k)}, or equivalently,

(3.1) \quad \star\star(\sigma^k) = (-1)^{k(n-k)} \sigma^k.

A similar relationship holds if we use a dual cell instead of the primal simplex \sigma^k.

Support Volume of a Primal Simplex and Its Dual Cell. We can think of a cochain as being constructed out of a basis consisting of cosimplices or cocells with value 1 on a single simplex or cell, and 0 otherwise. The way to visualize this cochain is that it is associated with a differential form that has support on what we will refer to as the support volume associated with a given simplex or cell.

Definition 3.8. The support volume of a simplex \sigma^k is a n-volume given by the convex hull of the geometric union of the simplex and its circumcentric dual. This is given by

V_{\sigma^k} = \text{convexhull}(\sigma^k, \star\sigma^k) \cap |K|.

The intersection with |K| is necessary to ensure that the support volume does not extend beyond the polytope |K| which would otherwise occur if |K| is nonconvex.

We extend the notion of a support volume to a dual cell \star\sigma^k by similarly defining

V_{\star\sigma^k} = \text{convexhull}(\star\sigma^k, \star\star\sigma^k) \cap |K| = V_{\sigma^k}.

To clarify this definition, we will consider some examples of simplices, their dual cells, and their corresponding support volumes. For two-dimensional simplicial complexes, this is illustrated in Table 2.

TABLE 2. Primal simplices, dual cells, and support volumes in two dimensions.

Primal SimplexDual CellSupport Volume
A single vertex, representing a 0-simplex.
\sigma^0, 0-simplex
A triangle with a central point connected to its vertices, representing a 2-cell dual.
\star\sigma^0, 2-cell
A triangle with a central point connected to its vertices, representing the support volume of a 0-simplex.
V_{\sigma^0} = V_{\star\sigma^0}
A triangle, representing a 1-simplex.
\sigma^1, 1-simplex
A triangle with a central point connected to its edges, representing a 1-cell dual.
\star\sigma^1, 1-cell
A triangle with a central point connected to its edges, representing the support volume of a 1-simplex.
V_{\sigma^1} = V_{\star\sigma^1}
A shaded triangle, representing a 2-simplex.
\sigma^2, 2-simplex
A triangle with a central point, representing a 0-cell dual.
\star\sigma^2, 0-cell
A triangle with a central point connected to its edges, representing the support volume of a 2-simplex.
V_{\sigma^2} = V_{\star\sigma^2}

The support volume has the nice property that at each dimension, it partitions the polytope |K| into distinct non-intersecting regions associated with each individual k-simplex. For any two distinct k-simplices, the intersection of their corresponding support volumes have measure zero, and the union of the support volumes of all k-simplices recovers the original polytope |K|.

Notice, from our construction, that the support volume of a simplex and its dual cell are the same, which suggests that there is an identification between cochains on k-simplices and cochains on (n - k)-cells. This is indeed the case, and is a concept associated with the Hodge star for differential forms.

Examples of simplices, their dual cells, and the corresponding support volumes in three dimensions are given in Table 3.

In our subsequent discussion, we will assume that we are given a simplicial complex K of dimension n in \mathbb{R}^N. Thus, the highest-dimensional simplex in the complex is of dimension n and each 0-simplex (vertex) is in \mathbb{R}^N. One can obtain this, for example, by starting from 0-simplices, i.e., vertices, and then constructing a Delaunay triangulation, using the vertices as sites. Often, our examples will be for two-dimensional discrete surfaces in \mathbb{R}^3 made up of triangles (here n = 2 and N = 3) or three-dimensional manifolds made of tetrahedra, possibly embedded in a higher-dimensional space.

Cell Complexes. The circumcentric dual of a primal simplicial complex is an example of a cell complex. The definition of a cell complex follows.

Definition 3.9. A cell complex \star K in \mathbb{R}^N is a collection of cells in \mathbb{R}^N such that,

  1. (1) There is a partial ordering of cells in \star K, \hat{\sigma}^k \prec \hat{\sigma}^l, which is read as \hat{\sigma}^k is a face of \hat{\sigma}^l.
  2. (2) The intersection of any two cells in \star K, is either a face of each of them, or it is empty.
  3. (3) The boundary of a cell is expressible as a sum of its proper faces.

TABLE 3. Primal simplices, dual cells, and support volumes in three dimensions.

Primal SimplexDual CellSupport Volume
A 0-simplex, which is a single vertex of a tetrahedron.
\sigma^0, 0-simplex
A 3-cell, which is the entire tetrahedron.
\star\sigma^0, 3-cell
The support volume for a 0-simplex, which is the entire tetrahedron.
V_{\sigma^0} = V_{\star\sigma^0}
A 1-simplex, which is an edge of a tetrahedron.
\sigma^1, 1-simplex
A 2-cell, which is a face of a tetrahedron.
\star\sigma^1, 2-cell
The support volume for a 1-simplex, which is a face of the tetrahedron.
V_{\sigma^1} = V_{\star\sigma^1}
A 2-simplex, which is a face of a tetrahedron.
\sigma^2, 2-simplex
A 1-cell, which is an edge of a tetrahedron.
\star\sigma^2, 1-cell
The support volume for a 2-simplex, which is an edge of the tetrahedron.
V_{\sigma^2} = V_{\star\sigma^2}
A 3-simplex, which is the entire tetrahedron.
\sigma^3, 3-simplex
A 0-cell, which is a single vertex of a tetrahedron.
\star\sigma^3, 0-cell
The support volume for a 3-simplex, which is the entire tetrahedron.
V_{\sigma^3} = V_{\star\sigma^3}

We will see in the next section that the notion of boundary in the circumcentric dual has to be modified slightly from the geometric notion of a boundary in order for the circumcentric dual to be made into a cell complex.

2.4. 4. LOCAL AND GLOBAL EMBEDDINGS

While it is computationally more convenient to have a global embedding of the simplicial complex into a higher-dimensional ambient space to account for non-flat manifolds it suffices to have an abstract simplicial complex along with a local metric on vertices. The metric is local in the sense that distances between two vertices are only defined if they are part of a common n-simplex in the abstract simplicial complex. Then, the local metric is a map d : \{(v_0, v_1) \mid v_0, v_1 \in K^{(0)}, [v_0, v_1] \prec \sigma^n \in K\} \rightarrow \mathbb{R}.

The axioms for a local metric are as follows,

Positive.: d(v_0, v_1) \geq 0, and d(v_0, v_0) = 0, \forall [v_0, v_1] \prec \sigma^n \in K.

Strictly Positive.: If d(v_0, v_1) = 0, then v_0 = v_1, \forall [v_0, v_1] \prec \sigma^n \in K.

Symmetry.: d(v_0, v_1) = d(v_1, v_0), \forall [v_0, v_1] \prec \sigma^n \in K.

Triangle Inequality.: d(v_0, v_2) \leq d(v_0, v_1) + d(v_1, v_2), \forall [v_0, v_1, v_2] \prec \sigma^n \in K.

This allows us to embed each n-simplex locally into \mathbb{R}^n, and thereby compute all the necessary metric dependent quantities in our formulation. For example, the volume of a k-dual cell will be computed as the sum of the k-volumes of the dual cell restricted to each n-simplex in its local embedding into \mathbb{R}^n.

This notion of local metrics and local embeddings is consistent with the point of view that exterior calculus is a local theory with operators that operate on objects in the tangent and cotangent space of a fixed point. The issue of comparing objects in different tangent spaces is addressed in the discrete theory of connections on principal bundles in Leok et al. [2003].

This also provides us with a criterion for evaluating a global embedding. The embedding should be such that the metric of the ambient space \mathbb{R}^N restricted to the vertices of the complex, thought of as points in \mathbb{R}^N, agrees with the local metric imposed on the abstract simplicial complex. A global embedding that satisfies this condition will produce the same numerical results in discrete exterior calculus as that obtained using the local embedding method.

It is essential that the metric condition we impose is local, since the notion of distances between points in a manifold which are far away is not a well-defined concept, nor is it particularly useful for embeddings. As the simple example below illustrates, there may not exist any global embeddings into Euclidean space that satisfies a metric constraint imposed for all possible pairs of vertices.

Example 4.1. Consider a circle, with the distance between two points given by the minimal arc length. Consider a discretization given by 4 equidistant points on the circle, labelled v_0, \dots, v_3, with the metric distances as follows,

d(v_i, v_{i+1}) = 1, d(v_i, v_{i+2}) = 2,

where the indices are evaluated modulo 4, and this distance function is extended to a metric on all pairs of vertices by symmetry. It is easy to verify that this distance function is indeed a metric on vertices.

Two diagrams illustrating the metric constraint. The left diagram shows a diamond-shaped graph with four vertices labeled 0, 1, 2, and 3. Vertex 0 is at the top, 1 at the left, 2 at the bottom, and 3 at the right. Edges connect 0-1, 1-2, 2-3, and 3-0. The right diagram shows a diamond shape with vertices at the corners. A solid vertical line connects the top and bottom vertices, labeled 2. A solid horizontal line connects the left and right vertices, labeled 1. Dotted lines connect the top-left, top-right, bottom-left, and bottom-right vertices, forming the outer boundary of the diamond.
Two diagrams illustrating the metric constraint. The left diagram shows a diamond-shaped graph with four vertices labeled 0, 1, 2, and 3. Vertex 0 is at the top, 1 at the left, 2 at the bottom, and 3 at the right. Edges connect 0-1, 1-2, 2-3, and 3-0. The right diagram shows a diamond shape with vertices at the corners. A solid vertical line connects the top and bottom vertices, labeled 2. A solid horizontal line connects the left and right vertices, labeled 1. Dotted lines connect the top-left, top-right, bottom-left, and bottom-right vertices, forming the outer boundary of the diamond.

If we only use the local metric constraint, then we only require that adjacent vertices are separated by 1, and the following is an embedding of the simplicial complex into \mathbb{R}^2,

A diagram showing a diamond-shaped embedding of the simplicial complex into R^2. The four vertices are labeled 1, indicating that the distance between any two adjacent vertices is 1. The shape is a rhombus with all sides of length 1.
A diagram showing a diamond-shaped embedding of the simplicial complex into R^2. The four vertices are labeled 1, indicating that the distance between any two adjacent vertices is 1. The shape is a rhombus with all sides of length 1.

If, however, we use the metric defined on all possible pairs of vertices, by considering v_0, v_1, v_2, we have that d(v_0, v_1) + d(v_1, v_2) = d(v_0, v_2). Since we are embedding these points into a Euclidean space, it follows that v_0, v_1, v_2 are collinear.

Similarly, by considering v_0, v_2, v_3, we conclude that they are collinear as well, and that v_1, v_3 are coincident, which contradicts d(v_1, v_3) = 2. Thus, we find that there does not exist a global embedding of the circle into Euclidean space if we require that the embedding is consistent with the metric on vertices defined for all possible pairs of vertices.

2.5. 5. DIFFERENTIAL FORMS AND EXTERIOR DERIVATIVE

We will now define discrete differential forms. We will use some terms (which we will define) from algebraic topology, but it will become clear by looking at the examples that one can gain a clear and working notion of what a discrete form is without any algebraic topology. We start with a few definitions for which more details can be found on page 26 and 27 of Munkres [1984].

Definition 5.1. Let K be a simplicial complex. We denote the free abelian group generated by a basis consisting of oriented k-simplices by C_k(K; \mathbb{Z}). This is the space of finite formal sums of the k-simplices, with coefficients in \mathbb{Z}. Elements of C_k(K; \mathbb{Z}) are called k-chains.

Example 5.1. Figure 3 shows examples of 1-chains and 2-chains.

Figure 3: Examples of chains. The left diagram shows a 1-chain consisting of five oriented edges labeled 1, 3, 2, 5, and an unlabeled edge. The right diagram shows a 2-chain consisting of three oriented triangles labeled C1, C2, and C3.

The figure contains two diagrams. The left diagram, labeled '1-chain', shows a sequence of five oriented edges connecting five vertices. The edges are labeled 1, 3, 2, 5, and an unlabeled edge. The right diagram, labeled '2-chain', shows three oriented triangles. The first triangle is labeled C1, the second is labeled C2, and the third is labeled C3. They are arranged such that C1 and C2 share a common edge, and C2 and C3 share a common edge.

Figure 3: Examples of chains. The left diagram shows a 1-chain consisting of five oriented edges labeled 1, 3, 2, 5, and an unlabeled edge. The right diagram shows a 2-chain consisting of three oriented triangles labeled C1, C2, and C3.

FIGURE 3. Examples of chains.

We view discrete k-forms as maps from the space of k-chains to \mathbb{R}. Recalling that the space of k-chains is a group, we require that these maps be homomorphisms into the additive group \mathbb{R}. Thus, discrete forms are what are called cochains in algebraic topology. We will define cochains below in the definition of forms but for more context and more details readers can refer to any algebraic topology text, for example, page 251 of Munkres [1984].

This point of view of forms as cochains is not new. The idea of defining forms as cochains appears, for example, in the works of Adams [1996], Dezin [1995], Hiptmair [1999], and Sen et al. [2000]. Our point of departure is that the other authors go on to develop a theory of discrete exterior calculus of forms only by introducing interpolation of forms, which we will be able to avoid. The formal definition of discrete forms follows.

Definition 5.2. A primal discrete k-form \alpha is a homomorphism from the chain group C_k(K; \mathbb{Z}) to the additive group \mathbb{R}. Thus, a discrete k-form is an element of \text{Hom}(C_k(K), \mathbb{R}), the space of cochains. This space becomes an abelian group if we add two homomorphisms by adding their values in \mathbb{R}. The standard notation for \text{Hom}(C_k(K), \mathbb{R}) in algebraic topology is C^k(K; \mathbb{R}). But we will often use the notation \Omega_d^k(K) for this space as a reminder that this is the space of discrete (hence the d subscript) k-forms on the simplicial complex K. Thus,

\Omega_d^k(K) := C^k(K; \mathbb{R}) = \text{Hom}(C_k(K), \mathbb{R}).

Note that, by the above definition, given a k-chain \sum_i a_i c_i^k (where a_i \in \mathbb{Z}) and a discrete k-form \alpha, we have that

\alpha \left( \sum_i a_i c_i^k \right) = \sum_i a_i \alpha(c_i^k),

and for two discrete k-forms \alpha, \beta \in \Omega_d^k(K) and a k-chain c \in C_k(K; \mathbb{Z}),

(\alpha + \beta)(c) = \alpha(c) + \beta(c).

In the usual exterior calculus on smooth manifolds integration of k-forms on a k-dimensional manifold is defined in terms of the familiar integration in \mathbb{R}^k. This is done roughly speaking by doing the integration in local coordinates, and showing that the value is independent of the choice of coordinates, due to the change of variables theorem in \mathbb{R}^k. For details on this, see the first few pages of Chapter 7 of Abraham et al. [1988]. We will not try to introduce the notion of integration of discrete forms on a simplicial complex. Instead the fundamental quantity that we will work with is the natural bilinear pairing of cochains and chains, defined by evaluation. More formally, we have the following definition.

Definition 5.3. The natural pairing of a k-form \alpha and a k-chain c is defined as the bilinear pairing

\langle \alpha, c \rangle = \alpha(c).

As mentioned above, in discrete exterior calculus, this natural pairing plays the role that integration of forms on chains plays in the usual exterior calculus on smooth manifolds. The two are related by a procedure done at the time of discretization. Indeed, consider a simplicial triangulation K of a polyhedron in \mathbb{R}^n, i.e., consider a “flat” discrete manifold. If we are discretizing a continuous problem, we will have some smooth forms defined in the space |K| \subset \mathbb{R}^n. Consider such a smooth k-form \alpha^k. In order to define the discrete form \alpha_d^k corresponding to \alpha^k, one would integrate \alpha^k on all the k-simplices in K. Then, the evaluation of \alpha_d^k on a k-simplex \sigma^k is defined by \alpha_d^k(\sigma^k) := \int_{\sigma^k} \alpha^k. Thus, discretization is the only place where integration plays a role in our discrete exterior calculus.

In the case of a non-flat manifold, the situation is somewhat complicated by the fact that the smooth manifold, and the simplicial complex, as geometric sets embedded in the ambient space do not coincide. A smooth differential form on the manifold can be discretized into the cochain representation by identifying the vertices of the simplicial complex with points on the manifold, and then using a local chart to identify k-simplices with k-volumes on the manifold.

There is the possibility of k-volumes overlapping even when their corresponding k-simplices do not intersect, and this introduces a discretization error that scales like the mesh size. One can alternatively construct geodesic boundary surfaces in an inductive fashion, which yields a partition of the manifold, but this can be computationally prohibitive to compute.

Now we can define the discrete exterior derivative which we will call \mathbf{d}, as in the usual exterior calculus. The discrete exterior derivative will be defined as the dual, with respect to the natural pairing defined above, of the boundary operator, which is defined below.

Definition 5.4. The boundary operator \partial_k : C_k(K; \mathbb{Z}) \rightarrow C_{k-1}(K; \mathbb{Z}) is a homomorphism defined by its action on a simplex \sigma^k = [v_0, \dots, v_k],

\partial_k \sigma^k = \partial_k([v_0, \dots, v_k]) = \sum_{i=0}^k (-1)^i [v_0, \dots, \hat{v}_i, \dots, v_k],

where [v_0, \dots, \hat{v}_i, \dots, v_k] is the (k-1)-simplex obtained by omitting the vertex v_i. Note that \partial_k \circ \partial_{k+1} = 0.

Example 5.2. Given an oriented triangle [v_0, v_1, v_2] the boundary, by the above definition, is the chain [v_1, v_2] - [v_0, v_2] + [v_0, v_1], which are the three boundary edges of the triangle.

Definition 5.5. On a simplicial complex of dimension n, a chain complex is a collection of chain groups and homomorphisms \partial_k, such that,

0 \longrightarrow C_n(K) \xrightarrow{\partial_n} \cdots \xrightarrow{\partial_{k+1}} C_k(K) \xrightarrow{\partial_k} \cdots \xrightarrow{\partial_1} C_0(K) \longrightarrow 0,

and \partial_k \circ \partial_{k+1} = 0.

Definition 5.6. The coboundary operator, \delta^k : C^k(K) \rightarrow C^{k+1}(K), is defined by duality to the boundary operator, with respect to the natural bilinear pairing between discrete forms and chains. Specifically, for a discrete form \alpha^k \in \Omega_d^k(K), and a chain c_{k+1} \in C_{k+1}(K; \mathbb{Z}), we define \delta^k by

(5.1) \quad \langle \delta^k \alpha^k, c_{k+1} \rangle = \langle \alpha^k, \partial_{k+1} c_{k+1} \rangle.

That is to say

\delta^k(\alpha^k) = \alpha^k \circ \partial_{k+1}.

This definition of the coboundary operator induces the cochain complex,

0 \longleftarrow C^n(K) \xleftarrow{\delta^{n-1}} \cdots \xleftarrow{\delta^k} C^k(K) \xleftarrow{\delta^{k-1}} \cdots \xleftarrow{\delta^0} C^0(K) \longleftarrow 0,

where it is easy to see that \delta^{k+1} \circ \delta^k = 0.

Definition 5.7. The discrete exterior derivative denoted by \mathbf{d} : \Omega_d^k(K) \rightarrow \Omega_d^{k+1}(K) is defined to be the coboundary operator \delta^k.

Remark 5.1. With the above definition of the exterior derivative, \mathbf{d} : \Omega_d^k(K) \rightarrow \Omega_d^{k+1}(K), and the relationship between the natural pairing and integration, one can regard equation 5.1 as a discrete generalized Stokes' theorem. Thus, given a k-chain c, and a discrete k-form \alpha, the discrete Stokes' theorem, which is true by definition, states that

\langle \mathbf{d}\alpha, c \rangle = \langle \alpha, \partial c \rangle.

Furthermore, it also follows immediately that \mathbf{d}^{k+1} \mathbf{d}^k = 0.

Dual Discrete Forms. Everything we have said above in terms of simplices and the simplicial complex K can be said in terms of the cells that are duals of simplices and elements of the dual complex \star K. One just has to be a little more careful in the definition of the boundary operator, and the definition we construct below is well-defined on the dual cell complex. This gives us the notion of cochains of cells in the dual complex and these are the dual discrete forms.

Definition 5.8. The dual boundary operator, \partial_k : C_k(\star K; \mathbb{Z}) \rightarrow C_{k-1}(\star K; \mathbb{Z}), is a homomorphism defined by its action on a dual cell \hat{\sigma}^k = \star \sigma^{n-k} = \star[v_0, \dots, v_{n-k}],

\begin{aligned} \partial \hat{\sigma}^k &= \partial \star [v_0, \dots, v_{n-k}] \\ &= \sum_{\sigma^{n-k+1} \succ \sigma^{n-k}} \star \sigma^{n-k+1}, \end{aligned}

where \sigma^{n-k+1} is oriented so that it is consistent with the induced orientation on \sigma^{n-k}.

3. 6. HODGE STAR AND CODIFFERENTIAL

In the exterior calculus for smooth manifolds, the Hodge star, denoted \star, is an isomorphism between the space of k-forms and (n-k)-forms. The Hodge star is useful in defining the adjoint of the exterior derivative and this is adjoint is called the codifferential. The Hodge star, \star : \Omega^k(M) \rightarrow \Omega^{n-k}(M), is in the smooth case uniquely defined by the identity,

\langle \alpha^k, \beta^k \rangle \mathbf{v} = \alpha^k \wedge \star \beta^k,

where \langle\langle \cdot, \cdot \rangle\rangle is a metric on differential forms, and \mathbf{v} is the volume-form. For a more in-depth discussion, see, for example, page 411 of Abraham et al. [1988].

The appearance of k and (n - k) in the definition of Hodge star may be taken to be a hint that primal and dual meshes will play some role in the definition of a discrete Hodge star, since the dual of a k-simplex is an (n - k)-cell. Indeed, this is the case.

Definition 6.1. The discrete Hodge Star is a map * : \Omega_d^k(K) \rightarrow \Omega_d^{n-k}(\star K), defined by its action on simplices. For a k-simplex \sigma^k, and a discrete k-form \alpha^k,

\frac{1}{|\sigma^k|} \langle \alpha^k, \sigma^k \rangle = \frac{1}{|\star \sigma^k|} \langle \star \alpha^k, \star \sigma^k \rangle.

The idea that the discrete Hodge star maps primal discrete forms to dual forms, and vice versa, is well-known. See, for example, Sen et al. [2000]. However, notice we now make use of the volume of these primal and dual meshes. But the definition we have given above does appear in the work of Hiptmair [2002].

The definition implies that the primal and dual averages must be equal. This idea has already been introduced, not in the context of exterior calculus, but in an attempt at defining discrete differential geometry operators, see Meyer et al. [2002].

Remark 6.1. Although we have defined the discrete Hodge star above, we will show in Remark 12.1 of §12 that if an appropriate discrete wedge product and metric on discrete k-forms is defined, then the expression for the discrete Hodge star operator follows from the smooth definition.

Lemma 6.1. For a k-form \alpha^k,

**\alpha^k = (-1)^{k(n-k)}\alpha^k.

Proof. The proof is a simple calculation using the property that for a simplex or a cell \sigma^k, **(\sigma^k) = (-1)^{k(n-k)}\sigma^k (Equation 3.1). \square

Definition 6.2. Given a simplicial or a dual cell complex K the discrete codifferential operator, \delta : \Omega_d^{k+1}(K) \rightarrow \Omega_d^k(K), is defined by \delta(\Omega_d^0(K)) = 0 and on discrete (k + 1)-forms to be

\delta\beta = (-1)^{nk+1} * \mathbf{d} * \beta.

With the discrete forms, Hodge star, \mathbf{d} and \delta defined so far, we already have enough to do an interesting calculation involving the Laplace–Beltrami operator. But, we will show this calculation in §9 after we have introduced discrete divergence operator.

3.1. 7. MAPS BETWEEN 1-FORMS AND VECTOR FIELDS

Just as discrete forms come in two flavors, primal and dual (being linear functionals on primal chains or chains made up of dual cells), discrete vector fields also come in two flavors. Before formally defining primal and dual discrete vector fields, consider the examples illustrated in Figure 4. The distinction lies in the choice of basepoints, be they primal or dual vertices, to which we assign vectors.

Definition 7.1. Let K be a flat simplicial complex, that is, the dimension of K is the same as that of the embedding space. A primal discrete vector field X on a flat simplicial complex K is a map from the zero-dimensional primal subcomplex K^{(0)} (i.e., the primal vertices) to \mathbb{R}^N. We will denote the space of such vector fields by \mathfrak{X}_d(K). The value of such a vector field is piecewise constant on the dual n-cells of \star K. Thus, we could just as well have called such vector fields dual and defined them as functions on the n-cells of \star K.

Definition 7.2. A dual discrete vector field X on a simplicial complex K is a map from the zero-dimensional dual subcomplex (\star K)^{(0)} (i.e, the circumcenters of the primal n simplices) to \mathbb{R}^N such that its value on each dual vertex is tangential to the corresponding primal n-simplex. We will denote the space of such vector fields by \mathfrak{X}_d(\star K). The value of such a vector field is piecewise constant on the n-simplices of K. Thus, we could just as well have called such vector fields primal and defined them as functions on the n-simplices of K.

Figure 4: Discrete vector fields. (a) Primal vector field: A hexagonal mesh with blue arrows pointing from each vertex to the center of the adjacent hexagons. (b) Dual vector field: A hexagonal mesh with red arrows pointing from the center of each hexagon to the vertices of the adjacent hexagons.
(a) Primal vector field (b) Dual vector field
Figure 4: Discrete vector fields. (a) Primal vector field: A hexagonal mesh with blue arrows pointing from each vertex to the center of the adjacent hexagons. (b) Dual vector field: A hexagonal mesh with red arrows pointing from the center of each hexagon to the vertices of the adjacent hexagons.

FIGURE 4. Discrete vector fields.

Remark 7.1. In this paper we have defined the primal vector fields only for flat meshes. We will address the issue of non-flat meshes in separate work.

As in the smooth exterior calculus, we want to define the flat (\flat) and sharp (\sharp) operators that relate forms to vector fields. This allows one to write various vector calculus identities in terms of exterior calculus.

Definition 7.3. Given a simplicial complex K of dimension n, the discrete flat operator on a dual vector field, \flat : \mathfrak{X}_d(\star K) \rightarrow \Omega^d(K), is defined by its evaluation on a primal 1 simplex \sigma^1,

\langle X^\flat, \sigma^1 \rangle = \sum_{\sigma^n \succ \sigma^1} \frac{|\star \sigma^1 \cap \sigma^n|}{|\star \sigma^1|} X \cdot \bar{\sigma}^1,

where X \cdot \bar{\sigma}^1 is the usual dot product of vectors in \mathbb{R}^N, and \bar{\sigma}^1 stands for the vector corresponding to \sigma^1, and with the same orientation. The sum is over all \sigma^n containing the edge \sigma^1. The volume factors are in dimension n.

Definition 7.4. Given a simplicial complex K of dimension n, the discrete sharp operator on a primal 1-form, \sharp : \Omega^d(K) \rightarrow \mathfrak{X}_d(\star K), is defined by its evaluation on a given vertex v,

\alpha^\sharp(v) = \sum_{[v, \sigma^0]} \langle \alpha, [v, \sigma^0] \rangle \sum_{\sigma^n \succ [v, \sigma^0]} \frac{|\star v \cap \sigma^n|}{|\sigma^n|} \hat{n}_{[v, \sigma^0]},

where the outer sum is over all 1-simplices containing the vertex v, and the inner sum is over all n-simplices containing the 1-simplex [v, \sigma^0]. The volume factors are in dimension n, and the vector \hat{n}_{[v, \sigma^0]} is the normal vector to the simplex [v, \sigma^0], pointing into the n-simplex \sigma^n.

For a discussion of the proliferation of discrete sharp and flat operators that arise from considering the interpolation of differential forms and vector fields, please see Hirani [2003].

4. 8. WEDGE PRODUCT

As in the smooth case, the wedge product we will construct is a way to build higher degree forms from lower degree ones. For information about the smooth case, see the first few pages of Chapter 6 of Abraham et al. [1988].

Definition 8.1. Given a primal discrete k-form \alpha^k \in \Omega_d^k(K), and a primal discrete l-form \beta^l \in \Omega_d^l(K), the discrete primal-primal wedge product, \wedge : \Omega_d^k(K) \times \Omega_d^l(K) \rightarrow \Omega_d^{k+l}(K), defined by the evaluation on a (k+l)-simplex \sigma^{k+l} = [v_0, \dots, v_{k+l}] is given by

\langle \alpha^k \wedge \beta^l, \sigma^{k+l} \rangle = \frac{1}{(k+l)!} \sum_{\tau \in S_{k+l+1}} \text{sign}(\tau) \frac{|\sigma^{k+l} \cap \star v_{\tau(k)}|}{|\sigma^{k+l}|} \alpha \smile \beta(\tau(\sigma^{k+l})),

where S_{k+l+1} is the permutation group, and its elements are thought of as permutations of the numbers 0, \dots, k+l+1. The notation \tau(\sigma^{k+l}) stands for the simplex [v_{\tau(0)}, \dots, v_{\tau(k+l)}]. Finally, the notation \alpha \smile \beta(\tau(\sigma^{k+l})) is borrowed from algebraic topology (see, for example, page 206 of Hatcher [2001]) and is defined as

\alpha \smile \beta(\tau(\sigma^{k+l})) := \langle \alpha, [v_{\tau(0)}, \dots, v_{\tau(k)}] \rangle \langle \beta, [v_{\tau(k)}, \dots, v_{\tau(k+l)}] \rangle.

Example 8.1. When we take the wedge product of two discrete 1-forms, we obtain terms in the sum that are graphically represented in Figure 5.

Figure 5: Three diagrams illustrating terms in the wedge product of two discrete 1-forms. Each diagram shows a triangle with red edges. The first triangle has a yellow shaded region in the bottom-left corner. The second triangle has a yellow shaded region in the bottom-right corner. The third triangle has a yellow shaded region in the center, representing the intersection of the two shaded regions from the first two triangles.
Figure 5: Three diagrams illustrating terms in the wedge product of two discrete 1-forms. Each diagram shows a triangle with red edges. The first triangle has a yellow shaded region in the bottom-left corner. The second triangle has a yellow shaded region in the bottom-right corner. The third triangle has a yellow shaded region in the center, representing the intersection of the two shaded regions from the first two triangles.

FIGURE 5. Terms in the wedge product of two discrete 1-forms.

Definition 8.2. Given a dual discrete k-form \hat{\alpha}^k \in \Omega_d^k(\star K), and a primal discrete l-form \beta^l \in \Omega_d^l(\star K), the discrete dual-dual wedge product, \wedge : \Omega_d^k(\star K) \times \Omega_d^l(\star K) \rightarrow \Omega_d^{k+l}(\star K), defined by the evaluation on a (k+l)-cell \hat{\sigma}^{k+l} = \star \sigma^{n-k-l}, is given by

\begin{aligned} \langle \hat{\alpha}^k \wedge \hat{\beta}^l, \hat{\sigma}^{k+l} \rangle &= \langle \hat{\alpha}^k \wedge \hat{\beta}^l, \star \sigma^{n-k-l} \rangle \\ &= \sum_{\sigma^n \succ \sigma^{n-k-l}} \text{sign}(\sigma^{n-k-l}, [v_{k+l}, \dots, v_n]) \sum_{\tau \in S_{k+l}} \text{sign}(\tau) \\ &\quad \cdot \langle \hat{\alpha}^k, \star[v_{\tau(0)}, \dots, v_{\tau(l-1)}, v_{k+l}, \dots, v_n] \rangle \langle \hat{\beta}^l, \star[v_{\tau(l)}, \dots, v_{\tau(k+l-1)}, v_{k+l}, \dots, v_n] \rangle \end{aligned}

where \sigma^n = [v_0, \dots, v_n], and, without loss of generality, assumed that \sigma^{n-k-l} = \pm[v_{k+l}, \dots, v_n].

4.1. Anti-Commutativity of the Wedge Product.

Lemma 8.1. The discrete wedge product, \wedge : C^k(K) \times C^l(K) \rightarrow C^{k+l}(K), is anti-commutative, i.e.,

\alpha^k \wedge \beta^l = (-1)^{kl} \beta^l \wedge \alpha^k.

Proof. We first rewrite the expression for the discrete wedge product using the following computation,

\begin{aligned} & \sum_{\bar{\tau} \in S_{k+l+1}} \text{sign}(\bar{\tau}) |\sigma^{k+l} \cap \star v_{\bar{\tau}(k)}| \langle \alpha^k, \bar{\tau}[v_0, \dots, v_k] \rangle \beta^l, \bar{\tau}[v_k, \dots, v_{k+l}] \rangle \\ &= \sum_{\bar{\tau} \in S_{k+l+1}} (-1)^{k-1} \text{sign}(\bar{\tau}) |\sigma^{k+l} \cap \star v_{\bar{\tau}(k)}| \langle \alpha^k, \bar{\tau}[v_1, \dots, v_0, v_k] \rangle \langle \beta^l, \bar{\tau}[v_k, \dots, v_{k+l}] \rangle \\ &= \sum_{\bar{\tau} \in S_{k+l+1}} (-1)^{k-1} \text{sign}(\bar{\tau}) |\sigma^{k+l} \cap \star v_{\bar{\tau}\rho(0)}| \langle \alpha^k, \bar{\tau}\rho[v_1, \dots, v_k, v_0] \rangle \langle \beta^l, \bar{\tau}\rho[v_0, v_{k+1}, \dots, v_{k+l}] \rangle \\ &= \sum_{\bar{\tau} \in S_{k+l+1}} (-1)^{k-1} (-1)^k \text{sign}(\bar{\tau}) |\sigma^{k+l} \cap \star v_{\bar{\tau}\rho(0)}| \langle \alpha^k, \bar{\tau}\rho[v_0, \dots, v_k] \rangle \langle \beta^l, \bar{\tau}\rho[v_0, v_{k+1}, \dots, v_{k+l}] \rangle \\ &= \sum_{\bar{\tau}\rho \in S_{k+l+1}\rho} (-1)^{k-1} (-1)^k (-1) \text{sign}(\bar{\tau}\rho) |\sigma^{k+l} \cap \star v_{\bar{\tau}\rho(0)}| \\ &\quad \cdot \langle \alpha^k, \bar{\tau}\rho[v_0, \dots, v_k] \rangle \langle \beta^l, \bar{\tau}\rho[v_0, v_{k+1}, \dots, v_{k+l}] \rangle \\ &= \sum_{\tau \in S_{k+l+1}} \text{sign}(\tau) |\sigma^{k+l} \cap \star v_{\tau(0)}| \langle \alpha^k, \tau[v_0, \dots, v_k] \rangle \langle \beta^l, \tau[v_0, v_{k+1}, \dots, v_{k+l}] \rangle. \end{aligned}

Here, we used the elementary fact, from permutation group theory, that a k+1 cycle can be written as the product of k transpositions, which accounts for the (-1)^k factors. Also, \rho is a transposition of 0 and k. Then, the discrete wedge product can be rewritten as

\langle \alpha^k \wedge \beta^l, \sigma^{k+l} \rangle = \frac{1}{(k+l)!} \sum_{\tau \in S_{k+l+1}} \text{sign}(\tau) \frac{|\sigma^{k+l} \cap \star v_{\tau(0)}|}{|\sigma^{k+l}|} \cdot \langle \alpha^k, [v_{\tau(0)}, \dots, v_{\tau(k)}] \rangle \langle \beta^l, [v_{\tau(0), \tau(k+1)}, \dots, v_{\tau(k+l)}] \rangle.

For ease of notation, we denote [v_0, \dots, v_k] by \sigma^k, and [v_0, v_{k+1}, \dots, v_{k+l}] by \sigma^l. Then, we have

\langle \alpha^k \wedge \beta^l, \sigma^{k+l} \rangle = \frac{1}{(k+l)!} \sum_{\tau \in S_{k+l+1}} \text{sign}(\tau) \frac{|\sigma^{k+l} \cap \star v_{\tau(0)}|}{|\sigma^{k+l}|} \langle \alpha^k, \tau(\sigma^k) \rangle \langle \beta^l, \tau(\sigma^l) \rangle.

Furthermore, we denote [v_0, v_{l+1}, \dots, v_{k+l}] by \bar{\sigma}^k, and [v_0, v_1, \dots, v_l] by \bar{\sigma}^l. Then,

\langle \beta^l \wedge \alpha^k, \sigma^{k+l} \rangle = \frac{1}{(k+l)!} \sum_{\bar{\tau} \in S_{k+l+1}} \text{sign}(\bar{\tau}) \frac{|\sigma^{k+l} \cap \star v_{\bar{\tau}(0)}|}{|\sigma^{k+l}|} \langle \alpha^k, \bar{\tau}(\bar{\sigma}^k) \rangle \langle \beta^l, \bar{\tau}(\bar{\sigma}^l) \rangle.

Consider the permutation \theta \in S_{k+l+1}, given by

\theta = \begin{pmatrix} 0 & 1 & \dots & k & k+1 & \dots & k+l \\ 0 & l+1 & \dots & k+l & 1 & \dots & l \end{pmatrix},

which has the property that

\begin{aligned} \bar{\sigma}^k &= \theta(\sigma^k), \\ \bar{\sigma}^l &= \theta(\sigma^l). \end{aligned}

Then, we have

\begin{aligned} \langle \beta^l \wedge \alpha^k, \sigma^{k+l} \rangle &= \frac{1}{(k+l)!} \sum_{\bar{\tau} \in S_{k+l+1}} \text{sign}(\bar{\tau}) \frac{|\sigma^{k+l} \cap \star v_{\bar{\tau}(0)}|}{|\sigma^{k+l}|} \langle \alpha^k, \bar{\tau}(\bar{\sigma}^k) \rangle \langle \beta^l, \bar{\tau}(\bar{\sigma}^l) \rangle \\ &= \frac{1}{(k+l)!} \sum_{\bar{\tau} \in S_{k+l+1}} \text{sign}(\bar{\tau}) \frac{|\sigma^{k+l} \cap \star v_{\bar{\tau}\theta(0)}|}{|\sigma^{k+l}|} \langle \alpha^k, \bar{\tau}\theta(\sigma^k) \rangle \langle \beta^l, \bar{\tau}\theta(\sigma^l) \rangle \end{aligned}

= \frac{1}{(k+l)!} \sum_{\bar{\tau}\theta \in S_{k+l+1}\theta} \text{sign}(\bar{\tau}\theta) \text{sign}(\theta) \frac{|\sigma^{k+l} \cap \star v_{\bar{\tau}\theta(0)}|}{|\sigma^{k+l}|} \langle \alpha^k, \bar{\tau}\theta(\sigma^k) \rangle \langle \beta^l, \bar{\tau}\theta(\sigma^l) \rangle.

By making the substitution, \tau = \bar{\tau}\theta, and noting that S_{k+l+1}\theta = S_{k+l+1}, we obtain

\begin{aligned} \langle \beta^l \wedge \alpha^k, \sigma^{k+l} \rangle &= \text{sign}(\theta) \frac{1}{(k+l)!} \sum_{\tau \in S_{k+l+1}} \text{sign}(\tau) \frac{|\sigma^{k+l} \cap \star v_{\tau(0)}|}{|\sigma^{k+l}|} \langle \alpha^k, \tau(\sigma^k) \rangle \langle \beta^l, \tau(\sigma^l) \rangle \\ &= \text{sign}(\theta) \langle \alpha^k \wedge \beta^l, \sigma^{k+l} \rangle. \end{aligned}

To obtain the desired result, we simply need to compute the sign of \theta, which is given by

\text{sign}(\theta) = (-1)^{kl}.

This follows from the observation that in order to move each of the last l vertices of \sigma^{k+l} forward, we require k transpositions with v_1, \dots, v_k. Therefore, we obtain

\langle \beta^l \wedge \alpha^k, \sigma^{k+l} \rangle = \text{sign}(\theta) \langle \alpha^k \wedge \beta^l, \sigma^{k+l} \rangle = (-1)^{kl} \langle \alpha^k \wedge \beta^l, \sigma^{k+l} \rangle,

and

\alpha^k \wedge \beta^l = (-1)^{kl} \beta^l \wedge \alpha^k. \quad \square

4.2. Leibniz Rule for the Wedge Product.

Lemma 8.2. The discrete wedge product satisfies the Leibniz rule,

\mathbf{d}(\alpha^k \wedge \beta^l) = (\mathbf{d}\alpha^k) \wedge \beta^l + (-1)^k \alpha^k \wedge (\mathbf{d}\beta^l).

Proof. The proof of the Leibniz rule for discrete wedge products is directly analogous to the proof of the coboundary formula for the simplicial cup product on cochains, which can be found on page 206 of Hatcher [2001]. This is because the discrete exterior derivative is precisely the boundary operator, and the wedge product is constructed out of weighted sums of cup products.

The cup product satisfies the Leibniz rule for an given partial ordering of the vertices, and the permutations in the signed sum in the discrete wedge product correspond to different choices of partial ordering. We then obtain the Leibniz rule for the discrete wedge product by applying it term-wise for each choice of permutation.

Consider

\begin{aligned} \langle (\mathbf{d}\alpha^k) \wedge \beta^l, \sigma^{k+l+1} \rangle &= \sum_{i=0}^{k+1} (-1)^i \frac{1}{(k+l)!} \sum_{\tau \in S_{k+l+1}} \text{sign}(\tau) \frac{|\sigma^{k+l} \cap \star v_{\tau(0)}|}{|\sigma^{k+l}|} \\ &\quad \cdot \langle \alpha^k, [v_{\tau(0)}, \dots, \hat{v}_i, \dots, v_{\tau(k+1)}] \rangle \langle \beta^l, [v_{\tau(k+1)}, \dots, v_{\tau(k+l+1)}] \rangle, \end{aligned}

and

\begin{aligned} (-1)^k \langle \alpha^k \wedge (\mathbf{d}\beta^l), \sigma^{k+l+1} \rangle &= (-1)^k \sum_{i=k}^{k+l+1} (-1)^{i-k} \frac{1}{(k+l)!} \sum_{\tau \in S_{k+l+1}} \text{sign}(\tau) \frac{|\sigma^{k+l} \cap \star v_{\tau(0)}|}{|\sigma^{k+l}|} \\ &\quad \cdot \langle \alpha^k, [v_{\tau(0)}, \dots, v_{\tau(k)}] \rangle \langle \beta^l, [v_{\tau(k)}, \dots, \hat{v}_i, \dots, v_{\tau(k+l+1)}] \rangle. \end{aligned}

The last set of terms, i = k+1, of the first expression cancels the first set of terms, i = k, of the second expression, and what remains is simply \langle \alpha^k \wedge \beta^l, \partial \sigma^{k+l+1} \rangle. Therefore, we can conclude that

\langle (\mathbf{d}\alpha^k) \wedge \beta^l, \sigma^{k+l+1} \rangle + (-1)^k \langle \alpha^k \wedge (\mathbf{d}\beta^l), \sigma^{k+l+1} \rangle = \langle \alpha^k \wedge \beta^l, \partial \sigma^{k+l+1} \rangle = \langle \mathbf{d}(\alpha^k \wedge \beta^l), \sigma^{k+l+1} \rangle,

or simply that the Leibniz rule for discrete differential forms holds,

\mathbf{d}(\alpha^k \wedge \beta^l) = (\mathbf{d}\alpha^k) \wedge \beta^l + (-1)^k \alpha^k \wedge (\mathbf{d}\beta^l). \quad \square

Associativity for the Wedge Product. The discrete wedge product which we have introduced is not associative in general. This is a consequence of the fact that the stencil for the two possible triple wedge products are not the same. In the expression for \langle \alpha^k \wedge (\beta^l \wedge \gamma^m), \sigma^{k+l+m} \rangle, each term in the double summation consists of a geometric factor multiplied by \langle \alpha^k, \sigma^k \rangle \langle \beta^l, \sigma^l \rangle \langle \gamma^m, \sigma^m \rangle for some k, l, m simplices \sigma^k, \sigma^l, \sigma^m.

Since \beta^l and \gamma^m are wedged together first, \sigma^l and \sigma^m will always share a common vertex, but \sigma^k could have a vertex in common with only \sigma^l, or only \sigma^m, or both. We can represent this in a graph, where the nodes denote the three simplices, which are connected by an edge if, and only if, they share a common vertex. The graphical representation of the terms which arise in the two possible triple wedge products are given in Figure 6.

Figure 6: Stencils arising in the double summation for the two triple wedge products. The figure shows two columns of three diagrams each. The left column is labeled alpha wedge (beta wedge gamma) and the right column is labeled (alpha wedge beta) wedge gamma. Each diagram consists of three nodes (blue, red, green) connected by edges. In the left column, the red node is connected to both the blue and green nodes. In the right column, the red node is connected to both the blue and green nodes, but the blue and green nodes are also connected to each other, forming a triangle.
Figure 6: Stencils arising in the double summation for the two triple wedge products. The figure shows two columns of three diagrams each. The left column is labeled alpha wedge (beta wedge gamma) and the right column is labeled (alpha wedge beta) wedge gamma. Each diagram consists of three nodes (blue, red, green) connected by edges. In the left column, the red node is connected to both the blue and green nodes. In the right column, the red node is connected to both the blue and green nodes, but the blue and green nodes are also connected to each other, forming a triangle.

FIGURE 6. Stencils arising in the double summation for the two triple wedge products.

For the wedge product to be associative for all forms, the two stencils must agree. Since the stencils for the two possible triple wedge products differ, the wedge product is not associative in general. However, in the case of closed forms, we can rewrite the terms in the sum so that all the discrete forms are evaluated on triples of simplices that share a common vertex. This is illustrated graphically in Figure 7.

Figure 7: Associativity for closed forms. The figure shows three diagrams of a tetrahedron. In each diagram, a red line segment connects two vertices. The first diagram shows the red line segment connecting the top vertex to the bottom-left vertex. The second diagram shows the red line segment connecting the top vertex to the bottom-right vertex. The third diagram shows the red line segment connecting the top vertex to the bottom-right vertex, but the bottom-left and bottom-right vertices are also connected by a blue line segment, forming a triangle.
Figure 7: Associativity for closed forms. The figure shows three diagrams of a tetrahedron. In each diagram, a red line segment connects two vertices. The first diagram shows the red line segment connecting the top vertex to the bottom-left vertex. The second diagram shows the red line segment connecting the top vertex to the bottom-right vertex. The third diagram shows the red line segment connecting the top vertex to the bottom-right vertex, but the bottom-left and bottom-right vertices are also connected by a blue line segment, forming a triangle.

FIGURE 7. Associativity for closed forms.

This result is proved rigorously in the follow lemma.

Lemma 8.3. The discrete wedge product is associative for closed forms. That is to say, for \alpha^k \in C^k(K), \beta^l \in C^l(K), \gamma^m \in C^m(K), such that \mathbf{d}\alpha^k = 0, \mathbf{d}\beta^l = 0, \mathbf{d}\gamma^m = 0, we have that

(\alpha^k \wedge \beta^l) \wedge \gamma^m = \alpha^k \wedge (\beta^l \wedge \gamma^m).

Proof.

\langle (\alpha^k \wedge \beta^l) \wedge \gamma^m, \sigma^{k+l+m} \rangle

\begin{aligned} &= \sum_{\tau \in S_{k+l+m+1}} \text{sign}(\tau) \langle \alpha^k \wedge \beta^l, \tau[v_0, \dots, v_{k+l}] \rangle \langle \gamma^m, \tau[v_{k+l+1}, \dots, v_{k+l+m}] \rangle \\ &= \sum_{\tau \in S_{k+l+m+1}} \sum_{\rho \in S_{k+l+1}} \text{sign}(\tau) \text{sign}(\rho) \langle \alpha^k, \rho\tau[v_0, \dots, v_k] \rangle \\ &\quad \cdot \langle \beta^l, \rho\tau[v_k, \dots, v_{k+l}] \rangle \langle \gamma^m, \tau[v_{k+l+1}, \dots, v_{k+l+m}] \rangle \end{aligned}

Here, either \rho\tau(k) = \tau(k+l), in which case all three permuted simplices share v_{\tau(k+l)} as a common vertex, or we need to rewrite either \langle \alpha^k, \rho\tau[v_0, \dots, v_k] \rangle or \langle \beta^l, \rho\tau[v_k, \dots, v_{k+l}] \rangle, using the fact that \alpha^k and \beta^l are closed forms.

If v_{\tau(k+l)} \notin \rho\tau[v_0, \dots, v_k], then we need to rewrite \langle \alpha^k, \rho\tau[v_0, \dots, v_k] \rangle by considering the simplex obtained by adding the vertex v_{\tau(k+l)} to \rho\tau[v_0, \dots, v_k], which is [v_{\tau(k+l)}, v_{\rho\tau(0)}, \dots, v_{\rho\tau(k)}]. Then, since \alpha^k is closed, we have that

\begin{aligned} 0 &= \langle d\alpha^k, [v_{\tau(k+l)}, v_{\rho\tau(0)}, \dots, v_{\rho\tau(k)}] \rangle \\ &= \langle \alpha^k, \partial[v_{\tau(k+l)}, v_{\rho\tau(0)}, \dots, v_{\rho\tau(k)}] \rangle \\ &= \langle \alpha^k, [v_{\rho\tau(0)}, \dots, v_{\rho\tau(k)}] \rangle - \sum_{i=0}^k (-1)^i \langle \alpha^k, [v_{\tau(k+l)}, v_{\rho\tau(0)}, \dots, \hat{v}_{\rho\tau(i)}, \dots, v_{\rho\tau(k)}] \rangle \end{aligned}

or equivalently,

\langle \alpha^k, [v_{\rho\tau(0)}, \dots, v_{\rho\tau(k)}] \rangle = \sum_{i=0}^k (-1)^i \langle \alpha^k, [v_{\tau(k+l)}, v_{\rho\tau(0)}, \dots, \hat{v}_{\rho\tau(i)}, \dots, v_{\rho\tau(k)}] \rangle.

Notice that all the simplices in the sum, with the exception of the last one, will share two vertices, v_{\tau(k+l)} and v_{\rho\tau(k)} with \rho\tau[v_k, \dots, v_{k+l}], and so their contribution in the triple wedge product will vanish due to the anti-symmetrized sum.

Similarly, if v_{\tau(k+l)} \notin \rho\tau[v_k, \dots, v_{k+l}], using the fact that \beta^l is closed yields

\langle \alpha^k, [v_{\rho\tau(k)}, \dots, v_{\rho\tau(k+l)}] \rangle = \sum_{i=k}^{k+l} (-1)^{(i-k)} \langle \alpha^k, [v_{\tau(k+l)}, v_{\rho\tau(k)}, \dots, \hat{v}_{\rho\tau(i)}, \dots, v_{\rho\tau(k+l)}] \rangle.

As before, all the simplices in the sum, with the exception of the last one, will share two vertices, v_{\tau(k+l)} and v_{\rho\tau(k)} with \rho\tau[v_0, \dots, v_k], and so their contribution in the triple wedge product will vanish due to the anti-symmetrized sum.

This allows us to rewrite the triple wedge product in the case of closed forms as

\begin{aligned} \langle (\alpha^k \wedge \beta^l) \wedge \gamma^m, \sigma^{k+l+m} \rangle &= \sum_{i=0}^{k+l+m} \sum_{\tau \in S_{k+l+m}} \text{sign}(\rho_i \tau) \langle \alpha^k, \rho_i \tau[v_0, \dots, v_k] \rangle \langle \beta^l, \rho_i \tau[v_0, v_{k+1}, \dots, v_{k+l}] \rangle \\ &\quad \cdot \langle \gamma^m, \rho_i \tau[v_0, v_{k+l+1}, \dots, v_{k+l+m}] \rangle, \end{aligned}

where \tau \in S_{k+l+m} is thought of as acting on the set \{1, \dots, k+l+m\}, and \rho_i is a transposition of 0 and i. A similar argument allows us to write \alpha^k \wedge (\beta^l \wedge \gamma^m) in the same form, and therefore, the wedge product is associative for closed forms. \square

Remark 8.1. This lemma is significant, since if we think of a constant smooth differential form, and discretize it to obtain a discrete differential form, this discrete form will be closed. As such, this lemma states that in the infinitesimal limit, the discrete wedge product we have defined will be associative.

In practice, if we have a mesh with characteristic length \Delta x, then we will have that

\frac{1}{|\sigma^{k+l+m}|} \langle \alpha^k \wedge (\beta^l \wedge \gamma^m) - (\alpha^k \wedge \beta^l) \wedge \gamma^m, \sigma^{k+l+m} \rangle = \mathcal{O}(\Delta x),

which is to say that the average of the associativity defect is of the order of the mesh size, and therefore vanishes in the infinitesimal limit.

4.3. 9. DIVERGENCE AND LAPLACE–BELTRAMI

In this section, we will illustrate the application of some of the DEC operations we have previously defined to the construction of new discrete operators such as the divergence and Laplace–Beltrami operators.

Divergence. The divergence of a vector field is given in terms of the Lie derivative of the volume-form, by the expression, (\operatorname{div}(\mathbf{X})\mu = \mathcal{L}_{\mathbf{X}}\mu. Physically, this corresponds to the net flow per unit volume of an infinitesimal volume about a point.

We will define the discrete divergence by using the formulas defining them in the smooth exterior calculus. The divergence definition will be valid for arbitrary dimensions. The resulting expressions involve operators that we have already defined and so we can actually perform some calculations to express these quantities in terms of geometric quantities. We will show that the resulting expression in terms of geometric quantities is the same as that derived by variational means in Tong et al. [2003].

Definition 9.1. For a discrete dual vector field X the divergence \operatorname{div}(X) is defined to be

\operatorname{div}(\mathbf{X}) = -\delta X^b.

Remark 9.1. The above definition is a theorem in smooth exterior calculus. See, for example, page 458 of Abraham et al. [1988].

As an example, we will now compute the divergence of a discrete dual vector field on a two-dimensional simplicial complex K, as illustrated in Figure 8.

Figure 8: A diagram of a hexagonal simplicial complex K. The hexagon is divided into six triangles by lines connecting opposite vertices. Blue arrows represent a discrete dual vector field X. Each arrow starts at a vertex and points towards the center of the hexagon, passing through the center of each of the six triangles. The arrows are arranged such that they all point towards a common central point, illustrating the concept of divergence.
Figure 8: A diagram of a hexagonal simplicial complex K. The hexagon is divided into six triangles by lines connecting opposite vertices. Blue arrows represent a discrete dual vector field X. Each arrow starts at a vertex and points towards the center of the hexagon, passing through the center of each of the six triangles. The arrows are arranged such that they all point towards a common central point, illustrating the concept of divergence.

FIGURE 8. Divergence of a discrete dual vector field.

A similar derivation works in higher dimensions, where one needs to be mindful of the sign that arises from applying the Hodge star twice, **\alpha^k = (-1)^{k(n-k)}\alpha^k. Since \operatorname{div}(X) = -\delta X^b, it follows that \operatorname{div}(X) = *\mathbf{d} * X^b. Since this is a primal 0-form it can be evaluated on a 0-simplex \sigma^0, and we have that

\langle \operatorname{div}(x), \sigma^0 \rangle = \langle *\mathbf{d} * X^b, \sigma^0 \rangle.

Using the definition of discrete Hodge star, and the discrete generalized Stokes' theorem, we get

\begin{aligned} \frac{1}{|\sigma^0|} \langle \operatorname{div}(X), \sigma^0 \rangle &= \frac{1}{|\star \sigma^0|} \langle *\mathbf{d} * X^b, \star \sigma^0 \rangle \\ &= \frac{1}{|\star \sigma^0|} \langle \mathbf{d} * X^b, \star \sigma^0 \rangle \end{aligned}

= \frac{1}{|\star\sigma^0|} \langle \star X^b, \partial(\star\sigma^0) \rangle.

The second equality is obtained by applying the definition of the Hodge star, and the last equality is obtained by applying the discrete generalized Stokes' theorem. But,

\partial(\star\sigma^0) = \sum_{\sigma^1 \succ \sigma^0} \star\sigma^1,

as given by the expression for the boundary of a dual cell in Equation 5.8. Thus,

\begin{aligned} \frac{1}{|\sigma^0|} \langle \operatorname{div}(X), \sigma^0 \rangle &= \frac{1}{|\star\sigma^0|} \langle \star X^b, \sum_{\sigma^1 \succ \sigma^0} \star\sigma^1 \rangle \\ &= \frac{1}{|\star\sigma^0|} \sum_{\sigma^1 \succ \sigma^0} \langle \star X^b, \star\sigma^1 \rangle \\ &= \frac{1}{|\star\sigma^0|} \sum_{\sigma^1 \succ \sigma^0} \frac{|\star\sigma^1|}{|\sigma^1|} \langle X^b, \sigma^1 \rangle \\ &= \frac{1}{|\star\sigma^0|} \sum_{\sigma^1 \succ \sigma^0} \frac{|\star\sigma^1|}{|\sigma^1|} \sum_{\sigma^2 \succ \sigma^1} \frac{|\star\sigma^1 \cap \sigma^2|}{|\star\sigma^1|} X \cdot \sigma^1 \\ &= \frac{1}{|\star\sigma^0|} \sum_{\sigma^1 \succ \sigma^0} \sum_{\sigma^2 \succ \sigma^1} \frac{|\star\sigma^1 \cap \sigma^2|}{|\sigma^1|} X \cdot \vec{\sigma}^1 \\ &= \frac{1}{|\star\sigma^0|} \sum_{\sigma^1 \succ \sigma^0} |\star\sigma^1 \cap \sigma^2| \left( X \cdot \frac{\vec{\sigma}^1}{|\sigma^1|} \right). \end{aligned}

This expression has the nice property that the divergence theorem holds on any dual n-chain, which, as a set, is a simply connected subset of |K|. Furthermore, the coefficients we computed for the discrete divergence operator are the unique ones for which a discrete divergence theorem holds.

Laplace–Beltrami. The Laplace–Beltrami operator is the generalization of the Laplacian to curved spaces. In the smooth case the Laplace–Beltrami operator on smooth functions is defined to be \nabla^2 = \operatorname{div} \circ \operatorname{curl} = \delta d. See, for example, page 459 of Abraham et al. [1988]. Thus, in the smooth case, the Laplace–Beltrami on functions is a special case of the more general Laplace–deRham operator, \Delta : \Omega^k(M) \rightarrow \Omega^k(M), defined by \Delta = \delta d + d\delta.

As an example, we compute \Delta f on a primal vertex \sigma^0, where f \in \Omega_d^0(K), and K is a (not necessarily flat) triangle mesh in \mathbb{R}^3, as illustrated in Figure 9.

This calculation is done below.

\begin{aligned} \frac{1}{|\sigma^0|} \langle \Delta f, \sigma^0 \rangle &= \langle \delta d f, \sigma^0 \rangle \\ &= -\langle \star d \star d f, \sigma^0 \rangle \\ &= -\frac{1}{|\star\sigma^0|} \langle d \star d f, \star\sigma^0 \rangle \\ &= -\frac{1}{|\star\sigma^0|} \langle \star d f, \partial(\star\sigma^0) \rangle \\ &= -\frac{1}{|\star\sigma^0|} \langle \star d f, \sum_{\sigma^1 \succ \sigma^0} \star\sigma^1 \rangle \\ &= -\frac{1}{|\star\sigma^0|} \sum_{\sigma^1 \succ \sigma^0} \langle \star d f, \star\sigma^1 \rangle \end{aligned}

Figure 9: Laplace-Beltrami of a discrete function. The diagram shows a central yellow hexagon with a blue dot at its center labeled sigma^0. Six red lines radiate from the center to the vertices of the hexagon. Six blue dots are located on these red lines, one on each line. These blue dots are connected by a red hexagonal outline. Six black lines extend from the vertices of the red hexagon outwards.
Figure 9: Laplace-Beltrami of a discrete function. The diagram shows a central yellow hexagon with a blue dot at its center labeled sigma^0. Six red lines radiate from the center to the vertices of the hexagon. Six blue dots are located on these red lines, one on each line. These blue dots are connected by a red hexagonal outline. Six black lines extend from the vertices of the red hexagon outwards.

FIGURE 9. Laplace–Beltrami of a discrete function.

\begin{aligned} &= -\frac{1}{|\star \sigma^0|} \sum_{\sigma^1 \succ \sigma^0} \frac{|\star \sigma^1|}{|\sigma^1|} \langle \mathbf{d}f, \sigma^1 \rangle \\ &= -\frac{1}{|\star \sigma^0|} \sum_{\sigma^1 \succ \sigma^0} \frac{|\star \sigma^1|}{|\sigma^1|} (f(v) - f(\sigma^0)), \end{aligned}

where \partial \sigma^1 = v - \sigma^0. But, the above is the same as the formula involving cotangents found by Meyer et al. [2002] without using discrete exterior calculus.

Another interesting aspect, which will be discussed in §12, is that the characterization of harmonic functions as those functions which vanish when the Laplace–Beltrami operator is applied is equivalent to that obtained from a discrete variational principle using DEC as the means of discretizing the Lagrangian.

4.4. 10. CONTRACTION AND LIE DERIVATIVE

In this section we will discuss some more operators that involve vector fields, namely contraction, and Lie derivatives.

For contraction, we will first define the usual smooth contraction algebraically, by relating it to Hodge star and wedge products. This yields one potential approach to defining discrete contraction. However, since in the discrete theory we are only concerned with integrals of forms, we can use the interesting notion of extrusion of a manifold by the flow of a vector field to define the integral of a contracted discrete differential form.

We learned about this definition of contraction via extrusion from Bossavit [2002b], who goes on to define discrete extrusion in his paper. Thus, he is able to obtain a definition of discrete contraction. Extrusion turns out to be a very nice way to define integrals of operators involving vector fields, and we will show how to define integrals of Lie derivatives via extrusion, which will yield discrete Lie derivatives.

Definition 10.1. Given a manifold M, and S, a k-dimensional submanifold of M, and a vector field X \in \mathfrak{X}(M), we call the manifold obtained by sweeping S along the flow of X for time t as the extrusion of S by X for time t, and denote it by E_X^t(S). The manifold S carried by the flow for time t will be denoted \varphi_X^t(S).

Example 10.1. Figure 10 illustrates the 2-simplex that arises from the extrusion of a 1-simplex by a discrete vector field that is interpolated using a linear shape function.

A 3D diagram illustrating the extrusion of a 1-simplex (a line segment) by a discrete vector field. The base is a triangle in a plane, with one edge highlighted in orange. A vector arrow originates from a point on this orange edge and points upwards and outwards. A second, identical triangle is shown above the first, connected by lines, representing the extruded volume. Dashed lines indicate hidden edges of the base triangle.
A 3D diagram illustrating the extrusion of a 1-simplex (a line segment) by a discrete vector field. The base is a triangle in a plane, with one edge highlighted in orange. A vector arrow originates from a point on this orange edge and points upwards and outwards. A second, identical triangle is shown above the first, connected by lines, representing the extruded volume. Dashed lines indicate hidden edges of the base triangle.

FIGURE 10. Extrusion of 1-simplex by a discrete vector field.

Contraction (Extrusion). We first establish an integral property of the contraction operator.

Lemma 10.1.

\int_S \mathbf{i}_X \beta = \left. \frac{d}{dt} \right|_{t=0} \int_{E_X^t(S)} \beta

Proof. Prove instead that

\int_0^t \left[ \int_{S_\tau} \mathbf{i}_X \beta \right] d\tau = \int_{E_X^t(S)} \beta.

Then, by first fundamental theorem of calculus, the desired result will follow. To prove the above, simply take coordinates on S and carry them along with the flow and define the transversal coordinate to be the flow of X. This proof is sketched in Bossavit [2002b]. \square

This lemma allows us to interpret contraction as being the dual, under the integration pairing between k-forms and k-volumes, to the geometric operation of extrusion. The discrete contraction operator is then given by

\langle \mathbf{i}_X \alpha^{k+1}, \sigma^k \rangle = \left. \frac{d}{dt} \right|_{t=0} \langle \alpha^{k+1}, E_X^t(\sigma^k) \rangle,

where the evaluation of the RHS will typically require that the discrete differential form and the discrete vector field are appropriately interpolated.

Remark 10.1. Since the dynamic definition of the contraction operator only depends on the derivative of pairing of the differential form with the extruded region, it will only depend on the vector field in the region S, and not on its extension into the rest of the domain.

In addition, if the interpolation for the discrete vector field satisfies a superposition principle, then the discrete contraction operator will satisfy a corresponding superposition principle.

Contraction (Algebraic). Contraction is an operator that allows one to combine vector fields and forms. For a smooth manifold M, the contraction of a vector field X \in \mathfrak{X}(M) with a (k+1)-form \alpha \in \Omega^{k+1}(M) is written as \mathbf{i}_X \alpha, and for vector fields X_1, \dots, X_k \in \mathfrak{X}(M), the contraction in smooth exterior calculus is defined by

\mathbf{i}_X \alpha(X_1, \dots, X_k) = \alpha(X, X_1, \dots, X_k).

We define contraction by using an identity that is true in smooth exterior calculus. This identity originally appeared in Hirani [2003], and we state it here with proof.

Lemma 10.2 (Hirani [2003]). Given a smooth manifold M of dimension n, a vector field X \in \mathfrak{X}(M), and a k-form \alpha \in \Omega^k(M), we have that

\mathbf{i}_X \alpha = (-1)^{k(n-k)} * (*\alpha \wedge X^\flat).

Proof. Recall that for a smooth function f \in \Omega^0(M), we have that \mathbf{i}_X \alpha = f \mathbf{i}_X \alpha. This, and the multilinearity of \alpha, implies that it is enough to show the result in terms of basis elements. In particular, let \tau \in S_n be a permutation of the numbers 1, \dots, n, such that \tau(1) < \dots < \tau(k), and \tau(k+1) < \dots < \tau(n). Let X = e_{\tau(j)}, for some j \in 1, \dots, n. Then, we have to show that

\mathbf{i}_{e_{\tau(j)}} e^{\tau(1)} \wedge \dots \wedge e^{\tau(k)} = (-1)^{k(n-k)} * (*e^{\tau(1)} \wedge \dots \wedge e^{\tau(k)} \wedge e^{\tau(j)}).

It is easy to see that the LHS is 0 if j > k, and it is

(-1)^{j-1} (e^{\tau(1)} \wedge \dots \wedge \widehat{e^{\tau(j)}} \wedge \dots \wedge e^{\tau(k)}),

otherwise, where \widehat{e^{\tau(j)}} means that e^{\tau(j)} is omitted from the wedge product. Now, on the RHS of Equation 10.2, we have that

*(e^{\tau(1)} \wedge \dots \wedge e^{\tau(k)}) = \text{sign}(\tau) (e^{\tau(k+1)} \wedge \dots \wedge e^{\tau(n)}).

Thus, the RHS is equal to

(-1)^{k(n-k)} \text{sign}(\tau) * (e^{\tau(k+1)} \wedge \dots \wedge e^{\tau(n)} \wedge e^{\tau(j)}),

which is 0 as required if j > k. So, assume that 1 \leq j \leq k. We need to compute

*(e^{\tau(k+1)} \wedge \dots \wedge e^{\tau(n)} \wedge e^{\tau(j)}),

which is given by

s e^{\tau(1)} \wedge \dots \wedge \widehat{e^{\tau(j)}} \wedge \dots \wedge e^{\tau(k)},

where the sign s = \pm 1, such that the equation,

s e^{\tau(k+1)} \wedge \dots \wedge e^{\tau(n)} \wedge e^{\tau(j)} \wedge e^{\tau(1)} \wedge \dots \wedge \widehat{e^{\tau(j)}} \wedge \dots \wedge e^{\tau(k)} = \mu,

holds for the standard volume-form, \mu = e^1 \wedge \dots \wedge e^n. This implies that

s = (-1)^{j-1} (-1)^{k(n-k)} \text{sign}(\tau).

Then, \text{RHS} = \text{LHS} as required. \square

Since we have expressions for the discrete Hodge star (*), wedge product (\wedge), and flat (\flat), we have the necessary ingredients to use the algebraic expression proved in the above lemma to construct a discrete contraction operator.

One has to note, however, that the wedge product is only associative for closed forms, and as a consequence, the Leibniz rule for the resulting contraction operator will only hold for closed forms as well. This is, however, sufficient to establish that the Leibniz rule for the discrete contraction will hold in the limit as the mesh is refined.

Lie Derivative (Extrusion). As was the case with contraction, we will establish an integral identity that allows the Lie derivative to be interpreted as the dual of a geometric operation on a volume. This involves the flow of a volume by a vector field, and it is illustrated in the following example.

Example 10.2. Figure 11 illustrates the flow of a 1-simplex by a discrete vector field interpolated using a linear shape function.

Lemma 10.3.

\int_S \mathcal{L}_X \beta = \frac{d}{dt} \bigg|_{t=0} \int_{\varphi_X^t(S)} \beta.

Figure 11: A 3D diagram of a tetrahedron (3-simplex). An orange arrow originates from one of the bottom vertices and points towards the opposite edge, representing the flow of a 1-simplex by a discrete vector field.
Figure 11: A 3D diagram of a tetrahedron (3-simplex). An orange arrow originates from one of the bottom vertices and points towards the opposite edge, representing the flow of a 1-simplex by a discrete vector field.

FIGURE 11. Flow of a 1-simplex by a discrete vector field.

Proof.

\begin{aligned} F_t^*(\mathcal{L}_X \beta) &= \frac{d}{dt} F_t^* \beta \\ \int_0^t F_\tau^*(\mathcal{L}_X \beta) d\tau &= F_t^* \beta - \beta \\ \int_S \int_0^t F_\tau^*(\mathcal{L}_X \beta) d\tau &= \int_S F_t^* \beta - \int_S \beta \\ \int_0^t \int_{\varphi_X^{-1}(S)} \mathcal{L}_X \beta d\tau &= \int_{\varphi_X^{-1}(S)} \beta - \int_S \beta. \end{aligned}

This lemma allows us to define a discrete Lie derivative as follows,

\langle \mathcal{L}_X \beta^k, \sigma^k \rangle = \left. \frac{d}{dt} \right|_{t=0} \langle \beta^k, \varphi_X^t(\sigma^k) \rangle,

where, as before, evaluating the RHS will require the discrete differential form and discrete vector field to be appropriately interpolated.

Lie Derivative (Algebraic). Alternatively, as we have expressions for the discrete contraction operator (\mathbf{i}_X), and exterior derivative (\mathbf{d}), we can construct a discrete Lie derivative using the Cartan magic formula,

\mathcal{L}_X \omega = \mathbf{i}_X \mathbf{d} \omega + \mathbf{d} \mathbf{i}_X \omega.

As is the case with the algebraic definition of the discrete contraction, the discrete Lie derivative will only satisfy a Leibniz rule for closed forms. As before, this is sufficient to establish that the Leibniz rule will hold in the limit as the mesh is refined.

4.5. 11. DISCRETE POINCARÉ LEMMA

In this section, we will prove the discrete Poincaré lemma by constructing a homotopy operator through a generalized cocone construction. This section is based on the work in Desbrun et al. [2003].

The standard cocone construction fails at the discrete level, since the cone of a simplex is not, in general, expressible as a chain in the simplicial complex. As such, the standard cocone does not necessarily map k-cochains to (k-1)-cochains.

An example of how the standard cone construction fails to map chains to chains is illustrated in Figure 12. Given the simplicial complex on the left, consisting of triangles, edges and nodes, we wish, in the center figure, to consider the cone of the bold edge with respect to the top most node. Clearly, the resulting cone in the right figure, which is shaded grey, cannot be expressed as a combination of the triangles in the original complex.

Figure 12: Three diagrams illustrating the cone of a simplex. The first diagram shows a large triangle divided into four smaller triangles. The second diagram shows the same large triangle with a dot at its top vertex. The third diagram shows the large triangle with a shaded grey region representing the cone of the top vertex, which is a smaller triangle with the same top vertex and a base on the bottom edge of the large triangle.
Figure 12: Three diagrams illustrating the cone of a simplex. The first diagram shows a large triangle divided into four smaller triangles. The second diagram shows the same large triangle with a dot at its top vertex. The third diagram shows the large triangle with a shaded grey region representing the cone of the top vertex, which is a smaller triangle with the same top vertex and a base on the bottom edge of the large triangle.

FIGURE 12. The cone of a simplex is, in general, not expressible as a chain.

In this subsection, a generalized cone operator that is valid for chains is developed which has the essential homotopy properties to yield a discrete analogue of the Poincaré lemma.

We will first consider the case of trivially star-shaped complexes, followed by logically star-shaped complexes, before generalizing the result to contractible complexes.

Definition 11.1. Given a k-simplex \sigma^k = [v_0, \dots, v_k] we construct the cone with vertex w and base \sigma^k, as follows,

w \diamond \sigma^k = [w, v_0, \dots, v_k].

Lemma 11.1. The geometric cone operator satisfies the following property,

\partial(w \diamond \sigma^k) + w \diamond (\partial \sigma^k) = \sigma^k.

Proof. This is a standard result from simplicial algebraic topology.

4.5.1. Trivially Star-Shaped Complexes.

Definition 11.2. A complex K is called trivially star-shaped if there exists a vertex w \in K^{(0)}, such that for all \sigma^k \in K, the cone with vertex w and base \sigma^k is expressible as a chain in K. That is to say,

\exists w \in K^{(0)} \mid \forall \sigma^k \in K, w \diamond \sigma^k \in C_{k+1}(K).

We can then denote the cone operation with respect to w as p : C_k(K) \rightarrow C_{k+1}(K).

Lemma 11.2. In trivially star-shaped complexes, the cone operator, p : C_k(K) \rightarrow C_{k+1}(K), satisfies the following identity,

p\partial + \partial p = I,

at the level of chains.

Proof. Follows immediately from the identity for cones, and noting that the cone is well-defined at the level of chains on trivially star-shaped complexes.

Definition 11.3. The cocone operator, H : C^k(K) \rightarrow C^{k-1}(K), is defined by

\langle H\alpha^k, \sigma^{k-1} \rangle = \langle \alpha^k, p(\sigma^{k-1}) \rangle.

This operator is well-defined on trivially star-shaped simplicial complexes.

Lemma 11.3. The cocone operator, H : C^k(K) \rightarrow C^{k-1}(K), satisfies the following identity,

Hd + dH = I,

at the level of cochains.

Proof. A simple duality argument applied to the cone identity,

p\partial + \partial p = I,

yields the following,

\begin{aligned} \langle \alpha^k, \sigma^k \rangle &= \langle \alpha^k, (p\partial + \partial p)\sigma^k \rangle \\ &= \langle \alpha^k, p\partial\sigma^k \rangle + \langle \alpha^k, \partial p\sigma^k \rangle \\ &= \langle H\alpha^k, \partial\sigma^k \rangle + \langle \mathbf{d}\alpha^k, p\sigma^k \rangle \\ &= \langle (\mathbf{d}H\alpha^k, \sigma^k) + \langle H\mathbf{d}\alpha^k, \sigma^k \rangle \\ &= \langle (\mathbf{d}H + H\mathbf{d})\alpha^k, \sigma^k \rangle. \end{aligned}

Therefore,

H\mathbf{d} + \mathbf{d}H = I,

at the level of cochains. \square

Corollary 11.4 (Discrete Poincaré Lemma for Trivially Star-shaped Complexes). Given a closed cochain \alpha^k, that is to say, \mathbf{d}\alpha^k = 0, there exists a cochain \beta^{k-1}, such that, \mathbf{d}\beta^{k-1} = \alpha^k.

Proof. Applying the identity for cochains,

H\mathbf{d} + \mathbf{d}H = I,

we have,

\langle \alpha^k, \sigma^k \rangle = \langle (H\mathbf{d} + \mathbf{d}H)\alpha^k, \sigma^k \rangle,

but, \mathbf{d}\alpha^k = 0, so,

\langle \alpha^k, \sigma^k \rangle = \langle \mathbf{d}(H\alpha^k), \sigma^k \rangle.

Therefore, \beta^{k-1} = H\alpha^k is such that \mathbf{d}\beta^{k-1} = \alpha^k at the level of cochains. \square

Example 11.1. We demonstrate the construction of the tetrahedralization of the cone of a (n-1)-simplex over the origin.

If we denote by v_i^k, the projection of the v_i vertex to the k-th concentric sphere, where the 0-th concentric sphere is simply the central point, then we fill up the cone [c, v_1, \dots, v_n] with simplices as follows,

[v_1^0, v_1^1, \dots, v_n^1], [v_1^2, v_1^1, \dots, v_n^1], [v_1^2, v_2^2, v_2^1, \dots, v_n^1], \dots, [v_1^2, \dots, v_n^2, v_n^1].

Since S^{n-1} is orientable, we can use a consistent triangulation of S^{n-1} and these n-cones to consistently triangulate B^n such that the resulting triangulation is star-shaped.

This fills up the region to the 1st concentric sphere, and we repeat the process by leapfrogging at the last vertex to add [v_1^2, \dots, v_n^2, v_n^3], and continuing the construction, to fill up the annulus between the 1st and 2nd concentric sphere. Thus, we can keep adding concentric shells to create an arbitrarily dense triangulation of a n-ball about the origin.

In three dimensions, these simplices are given by

Four diagrams illustrating the construction of a tetrahedralization of a cone in 3D. Each diagram shows a cone with a central point 'c' and vertices v1, v2, v3. The diagrams show the addition of concentric spheres and the resulting simplices. The first diagram shows the cone [c, v1, v2, v3]. The second diagram shows the addition of a second sphere, creating simplices [v1^1, v1^2, v2^2, v3^2] and [v1^1, v2^1, v2^2, v3^2]. The third diagram shows the addition of a third sphere, creating simplices [v1^2, v2^2, v2^3, v3^3], [v1^2, v2^2, v2^3, v3^3], and [v1^2, v2^2, v2^3, v3^3]. The fourth diagram shows the addition of a fourth sphere, creating simplices [v1^3, v2^3, v2^4, v3^4], [v1^3, v2^3, v2^4, v3^4], and [v1^3, v2^3, v2^4, v3^4].
[c, v_1^1, v_2^1, v_3^1], [v_1^1, v_1^2, v_2^2, v_3^2], [v_1^2, v_2^2, v_2^3, v_3^3], [v_1^2, v_2^2, v_3^2, v_3^3].
Four diagrams illustrating the construction of a tetrahedralization of a cone in 3D. Each diagram shows a cone with a central point 'c' and vertices v1, v2, v3. The diagrams show the addition of concentric spheres and the resulting simplices. The first diagram shows the cone [c, v1, v2, v3]. The second diagram shows the addition of a second sphere, creating simplices [v1^1, v1^2, v2^2, v3^2] and [v1^1, v2^1, v2^2, v3^2]. The third diagram shows the addition of a third sphere, creating simplices [v1^2, v2^2, v2^3, v3^3], [v1^2, v2^2, v2^3, v3^3], and [v1^2, v2^2, v2^3, v3^3]. The fourth diagram shows the addition of a fourth sphere, creating simplices [v1^3, v2^3, v2^4, v3^4], [v1^3, v2^3, v2^4, v3^4], and [v1^3, v2^3, v2^4, v3^4].

Putting them together, we obtain Figure 13.

Figure 13: A 3D diagram showing the triangulation of a cone. The cone is divided into several tetrahedra. The base is a square, and the apex is a point. The triangulation is shown with different colors: red for the cone, green for the tetrahedra, and blue for the base. The diagram illustrates how a 3D cone can be decomposed into a set of tetrahedra.
Figure 13: A 3D diagram showing the triangulation of a cone. The cone is divided into several tetrahedra. The base is a square, and the apex is a point. The triangulation is shown with different colors: red for the cone, green for the tetrahedra, and blue for the base. The diagram illustrates how a 3D cone can be decomposed into a set of tetrahedra.

FIGURE 13. Triangulation of a three-dimensional cone.

This example is significant, since we have demonstrated that for any n-dimensional ball about a point, we can construct a trivially star-shaped triangulation of the ball, with arbitrarily high resolution. This allows us to recover the smooth Poincaré lemma in the limit of an infinitely fine mesh, using the discrete Poincaré lemma for trivially star-shaped complexes.

4.5.2. Logically Star-Shaped Complexes.

Definition 11.4. A simplicial complex L is logically star-shaped if it is isomorphic, at the level of an abstract simplicial complex, to a trivially star-shaped complex K.

Example 11.2. We see two simplicial complexes, in Figure 14, which are clearly isomorphic as abstract simplicial complexes.

Figure 14: Two simplicial complexes, K (left) and L (right), which are isomorphic. K is a trivially star-shaped complex, and L is a logically star-shaped complex. Both are shown as 2D diagrams with a central point and several triangles meeting at it. The complexes are isomorphic, as indicated by the symbol ≅ between them.
Figure 14: Two simplicial complexes, K (left) and L (right), which are isomorphic. K is a trivially star-shaped complex, and L is a logically star-shaped complex. Both are shown as 2D diagrams with a central point and several triangles meeting at it. The complexes are isomorphic, as indicated by the symbol ≅ between them.

FIGURE 14. Trivially star-shaped complex (left); Logically star-shaped complex (right).

Definition 11.5. The logical cone operator p : C^k(L) \rightarrow C^{k+1}(L) is defined by making the following diagram commute,

\begin{array}{ccc} C^k(K) & \xrightarrow{p_K} & C^{k+1}(K) \\ \parallel & & \parallel \\ C^k(L) & \xrightarrow{p_L} & C^{k+1}(L) \end{array}

Which is to say that, given the isomorphism \varphi : K \rightarrow L, we define

p_L = \varphi \circ p_K \circ \varphi^{-1}.

Example 11.3. We show an example of the construction of the logical cone operator.

A commutative diagram illustrating the construction of the logical cone operator. It consists of four star-shaped complexes arranged in a square. The top-left complex is connected to the top-right complex by a horizontal arrow labeled p_K. The top-right complex is connected to the bottom-right complex by a vertical arrow labeled p_L. The bottom-left complex is connected to the bottom-right complex by a horizontal arrow labeled p_L. The top-left complex is connected to the bottom-left complex by a vertical arrow labeled p_K. The top-right and bottom-right complexes have internal arrows indicating a mapping from the top-right to the bottom-right complex.
A commutative diagram illustrating the construction of the logical cone operator. It consists of four star-shaped complexes arranged in a square. The top-left complex is connected to the top-right complex by a horizontal arrow labeled p_K. The top-right complex is connected to the bottom-right complex by a vertical arrow labeled p_L. The bottom-left complex is connected to the bottom-right complex by a horizontal arrow labeled p_L. The top-left complex is connected to the bottom-left complex by a vertical arrow labeled p_K. The top-right and bottom-right complexes have internal arrows indicating a mapping from the top-right to the bottom-right complex.

This definition of the logical cone operator results in identities for the cone and cocone operator that follow from the trivially star-shaped case, and we record the results as follows.

Lemma 11.5. In logically star-shaped complexes, the logical cone operator satisfies the following identity,

p\partial + \partial p = I,

at the level of chains.

Proof. Follows immediately by pushing forward the result for trivially star-shaped complexes using the isomorphism. \square

Lemma 11.6. In logically star-shaped complexes, the logical cocone operator satisfies the following identity,

Hd + dH = I,

at the level of cochains.

Proof. Follows immediately by pushing forward the result for trivially star-shaped complexes using the isomorphism. \square

Similarly, we have a Discrete Poincaré Lemma for logically star-shaped complexes.

Corollary 11.7 (Discrete Poincaré Lemma for Logically Star-shaped Complexes). Given a closed cochain \alpha^k, that is to say, d\alpha^k = 0, there exists a cochain \beta^{k-1}, such that, d\beta^{k-1} = \alpha^k.

Proof. Follows from the above lemma using the proof for the trivially star-shaped case. \square

Contractible Complexes. For arbitrary contractible complexes, we construct a generalized cone operator such that it satisfies the identity,

p\partial + \partial p = I,

which is the crucial property of the cone operator, from the point of view of proving the discrete Poincaré lemma.

The trivial cone construction gives a clue as to how to proceed in the construction of a generalized cone operator. Notice that if a \sigma^{k+1} is a term in p(\sigma^k), then p(\sigma^{k+1}) = \emptyset. This suggests how we can use the cone identity to inductively construct the generalized cone operator.

To define p(\sigma^k), we consider \sigma^{k+1} \succ \sigma^k, such that, \sigma^{k+1} and \sigma^k are consistently oriented. We apply p\partial + \partial p to \sigma^{k+1}. Then, we have

\sigma^{k+1} = p(\sigma^k) + p(\partial\sigma^{k+1} - \sigma^k) + \partial p(\sigma^{k+1}).

If we set p(\sigma^{k+1}) = \emptyset,

\begin{aligned} \sigma^{k+1} &= p(\sigma^k) + p(\partial\sigma^{k+1} - \sigma^k) + \partial(\emptyset) \\ &= p(\sigma^k) + p(\partial\sigma^{k+1} - \sigma^k). \end{aligned}

Rearranging, we have

p(\sigma^k) = \sigma^{k+1} - p(\partial\sigma^{k+1} - \sigma^k),

and

p(\sigma^{k+1}) = \emptyset.

We are done, so long as the simplices in the chain \partial\sigma^{k+1} - \sigma^k already have p defined on it. This then reduces to enumerating the simplices in such a way that in the right hand side of the equation, we never evoke terms that are undefined.

We now introduce a method of augmenting a complex so that the enumeration condition is always satisfied.

Definition 11.6. Given a n-complex K, consider a (n-1)-chain c_{n-1} that is contained on the boundary of K, and is included in the one-ring of some vertex on \partial K. Then, the one-ring cone augmentation of K is the complex obtained by adding the n-cone w \diamond c_{n-1}, and all its faces to the complex.

Definition 11.7. A complex is generalized star-shaped if it can be constructed by repeatedly applying the one-ring augmentation procedure.

We will explicitly show in Examples 11.4, and 11.7, how to enumerate the vertices in two and three dimensions. And in Examples 11.6, and 11.8, we will introduce regular triangulations of \mathbb{R}^2 and \mathbb{R}^3 that can be constructed by inductive one-ring cone augmentation.

Remark 11.1. Notice that a non-contractible complex cannot be constructed by inductive one-ring cone augmentation, since it will involve adding a cone to a vertex that has two disjoint base chains. This prevents us from enumerating the simplices in such a way that all the terms in \partial\sigma^{k+1} - \sigma^k have had p defined on them, and we see in Example 11.9 how this causes the cone identity, and hence the discrete Poincaré lemma to break.

Example 11.4. In two dimensions, the one-ring condition implies that the base of the cone consists of either one or two 1-simplices. To aid in visualization, consider Figure 15.

Figure 15: One-ring cone augmentation of a complex in two dimensions. The diagram shows a shaded circular region representing a complex. A vertex labeled 'w' is located outside the circle to the left. Two dashed lines connect 'w' to two points on the boundary of the circle, labeled 'v1' and 'v2'. A third dashed line connects 'w' to a point on the boundary labeled 'v0'. The region between 'v1' and 'v2' is shaded, representing the cone added to the complex.
Figure 15: One-ring cone augmentation of a complex in two dimensions. The diagram shows a shaded circular region representing a complex. A vertex labeled 'w' is located outside the circle to the left. Two dashed lines connect 'w' to two points on the boundary of the circle, labeled 'v1' and 'v2'. A third dashed line connects 'w' to a point on the boundary labeled 'v0'. The region between 'v1' and 'v2' is shaded, representing the cone added to the complex.

FIGURE 15. One-ring cone augmentation of a complex in two dimensions.

\begin{aligned} p([w]) &= [v_0, w] + p([v_0]), & p([v_0, w]) &= \emptyset, \\ p([v_1, w]) &= [v_0, v_1, w] - p([v_0, v_1]), & p([v_0, v_1, w]) &= \emptyset. \end{aligned}
\begin{aligned} p([w]) &= [v_0, w] + p([v_0]), & p([v_0, w]) &= \emptyset, \\ p([v_1, w]) &= [v_0, v_1, w] - p([v_0, v_1]), & p([v_0, v_1, w]) &= \emptyset, \\ p([v_2, w]) &= [v_0, v_2, w] - p([v_0, v_2]), & p([v_0, v_2, w]) &= \emptyset. \end{aligned}

As a preliminary, we shall consider a logically star-shaped complex, and augment with a new vertex, as seen in Figure 16.

A 3D geometric figure composed of a 3x3 grid of squares. The front face is a 3x3 grid of squares. The top face is a 3x3 grid of squares, with the top-left square shaded. The right face is a 3x3 grid of squares, with the top-right square shaded. A black dot is located at the bottom-right corner of the front face, and a dashed line connects it to the bottom-right corner of the right face.
A 3D geometric figure composed of a 3x3 grid of squares. The front face is a 3x3 grid of squares. The top face is a 3x3 grid of squares, with the top-left square shaded. The right face is a 3x3 grid of squares, with the top-right square shaded. A black dot is located at the bottom-right corner of the front face, and a dashed line connects it to the bottom-right corner of the right face.

FIGURE 16. Logically star-shaped complex augmented by cone.

\begin{aligned} p \left( \begin{array}{c} \text{Grid with shaded region} \end{array} \right) &= \begin{array}{c} \text{Grid with shaded region} \end{array} + p \left( \begin{array}{c} \text{Grid with shaded region} \end{array} \right) = \begin{array}{c} \text{Grid with shaded region} \end{array}, \\ p \left( \begin{array}{c} \text{Grid with shaded region} \end{array} \right) &= \emptyset, \\ p \left( \begin{array}{c} \text{Grid with shaded region} \end{array} \right) &= \begin{array}{c} \text{Grid with shaded region} \end{array} + p \left( \begin{array}{c} \text{Grid with shaded region} \end{array} \right) = \begin{array}{c} \text{Grid with shaded region} \end{array} + \emptyset \end{aligned}

\begin{aligned} &= \begin{array}{c} \text{Grid 1} \\ \text{Grid 2} \end{array}, \\ p \left( \begin{array}{c} \text{Grid 3} \\ \text{Grid 4} \end{array} \right) &= \emptyset, \\ p \left( \begin{array}{c} \text{Grid 5} \\ \text{Grid 6} \end{array} \right) &= \begin{array}{c} \text{Grid 7} \\ \text{Grid 8} \end{array} + p \left( \begin{array}{c} \text{Grid 9} \\ \text{Grid 10} \end{array} \right) \\ &= \begin{array}{c} \text{Grid 11} \\ \text{Grid 12} \end{array} + \begin{array}{c} \text{Grid 13} \\ \text{Grid 14} \end{array} = \begin{array}{c} \text{Grid 15} \\ \text{Grid 16} \end{array}, \\ p \left( \begin{array}{c} \text{Grid 17} \\ \text{Grid 18} \end{array} \right) &= \emptyset. \end{aligned}

Example 11.6. Clearly, the regular two-dimensional triangulation can be obtained by the successive application of the one-ring cone augmentation procedure, as the following sequence illustrates,

A sequence of four 5x5 triangular grids connected by arrows, showing the step-by-step construction of a regular triangulation. Each grid has a shaded region of triangles. The sequence starts with a small shaded region and progressively adds more triangles until it covers a larger area, with an ellipsis indicating the process continues.
A sequence of four 5x5 triangular grids connected by arrows, showing the step-by-step construction of a regular triangulation. Each grid has a shaded region of triangles. The sequence starts with a small shaded region and progressively adds more triangles until it covers a larger area, with an ellipsis indicating the process continues.

which means that the discrete Poincaré lemma can be extended to the entire regular triangulation of the plane.

Example 11.7. We consider the case of augmentation in three dimensions. Denote by v_0, the center of the one-ring on the two-surface, to which we are augmenting the new vertex w. The other vertices of the one-ring are enumerated in order, v_1, \dots, v_m. To aid in visualization, consider Figure 17.

If the one-ring does not go completely around v_0, we shall denote the missing term by [v_0, v_1, v_m]. The generalized cone operators are given as follows.

k=0,

p([w]) = [v_0, w] + p([v_0]),

p([v_0, w]) = \emptyset,

Figure 17: One-ring cone augmentation of a complex in three dimensions. The diagram shows a sphere with a point w outside it. A tetrahedron is inscribed in the sphere, with vertices v0, v1, v2, v3. A point v4 is on the edge v0v3, and a point v5 is on the edge v0v2. Dashed lines connect w to v0, v1, v2, v3, v4, and v5. The tetrahedron is shaded with a gradient, and the sphere is also shaded with a gradient.
Figure 17: One-ring cone augmentation of a complex in three dimensions. The diagram shows a sphere with a point w outside it. A tetrahedron is inscribed in the sphere, with vertices v0, v1, v2, v3. A point v4 is on the edge v0v3, and a point v5 is on the edge v0v2. Dashed lines connect w to v0, v1, v2, v3, v4, and v5. The tetrahedron is shaded with a gradient, and the sphere is also shaded with a gradient.

FIGURE 17. One-ring cone augmentation of a complex in three dimensions.

k=1,

\begin{aligned} p([v_1, w]) &= [v_0, v_1, w] - p([v_0, v_1]), & p([v_0, v_1, w]) &= \emptyset, \\ p([v_m, w]) &= [v_0, v_m, w] - p([v_0, v_m]), & p([v_0, v_m, w]) &= \emptyset, \end{aligned}

k=2,

\begin{aligned} p([v_1, v_2, w]) &= [v_0, v_1, v_2, w] + p([v_0, v_1, v_2]), & p([v_1, v_2, w]) &= \emptyset, \\ p([v_{m-1}, v_m, w]) &= [v_0, v_{m-1}, v_m, w] + p([v_0, v_{m-1}, v_m]), & p([v_{m-1}, v_m, w]) &= \emptyset. \end{aligned}

If it does go around completely,

p([v_m, v_1, w]) = [v_0, v_m, v_1, w] + p([v_0, v_m, v_1]), \quad p([v_0, v_m, v_1, w]) = \emptyset.

Example 11.8. We provide a tetrahedralization of the unit cube that can be tiled to yield a regular tetrahedralization of \mathbb{R}^3. The 3-simplices are as follows,

\begin{aligned} &[v_{000}, v_{001}, v_{010}, v_{10}], [v_{001}, v_{010}, v_{100}, v_{101}], [v_{001}, v_{010}, v_{011}, v_{101}], \\ &[v_{010}, v_{100}, v_{101}, v_{110}], [v_{010}, v_{011}, v_{101}, v_{110}], [v_{011}, v_{101}, v_{110}, v_{111}]. \end{aligned}

The tetrahedralization of the unit cube can be seen in Figure 18.

Since this regular tetrahedralization can be constructed by the successive application of the one-ring cone augmentation procedure, the Discrete Poincaré lemma can be extended to the entire regular tetrahedralization of \mathbb{R}^3.

In higher dimensions, we can extend the construction of the generalized cone operator inductively using the one-ring cone augmentation by choosing an appropriate enumeration of the base chain. Topologically, the base chain will be the cone of S^{n-2} (with possibly an open (n-2)-ball removed) with respect to the central point.

By spiraling around S^{n-2}, starting from around the boundary of the n-2 ball, and covering the rest of S^{n-2}, as in Figure 19, we obtain the higher-dimensional generalization of the procedure we have taken in Examples 11.4, and 11.7.

Notice that n=2 is distinguished, since S^{2-2} = S^0 is disjoint, which is why in the two-dimensional case, we were not able to use the spiraling technique to enumerate the simplices.

Since we have constructed the generalized cone operator such that the cone identity holds, we have,

Lemma 11.8. In generalized star-shaped complexes, the generalized cone operator satisfies the following identity,

p\partial + \partial p = I,

Figure 18: Two 3D plots illustrating a regular tiling of R^3. (a) Tileable tetrahedralization of the unit cube, showing a unit cube with axes from 0 to 1, divided into several tetrahedra. (b) Partial tiling of R^3, showing a larger region with axes from 0 to 2, containing multiple copies of the tetrahedra from (a).

(a) Tileable tetrahedralization of the unit cube

(b) Partial tiling of \mathbb{R}^3

Figure 18: Two 3D plots illustrating a regular tiling of R^3. (a) Tileable tetrahedralization of the unit cube, showing a unit cube with axes from 0 to 1, divided into several tetrahedra. (b) Partial tiling of R^3, showing a larger region with axes from 0 to 2, containing multiple copies of the tetrahedra from (a).

FIGURE 18. Regular tiling of \mathbb{R}^3 that admits a generalized cone operator.

Figure 19: A 3D rendering of a sphere with a spiral enumeration of S^{n-2} for n=4. The spiral starts at a point on the sphere's surface and winds inward, ending at a central point.
Figure 19: A 3D rendering of a sphere with a spiral enumeration of S^{n-2} for n=4. The spiral starts at a point on the sphere's surface and winds inward, ending at a central point.

FIGURE 19. Spiral enumeration of S^{n-2}, n = 4.

at the level of chains.

Proof. By construction. \square

Lemma 11.9. In generalized star-shaped complexes, the generalized cocone operator satisfies the following identity,

H\mathbf{d} + \mathbf{d}H = I,

at the level of cochains.

Proof. Follows immediately from applying the proof in the trivially star-shaped case, and using the identity in the previous lemma. \square

Similarly, we have a discrete Poincaré lemma for generalized star-shaped complexes.

Corollary 11.10 (Discrete Poincaré Lemma for Generalized Star-shaped Complexes). Given a closed cochain \alpha^k, that is to say, \mathbf{d}\alpha^k = 0, there exists a cochain \beta^{k-1}, such that, \mathbf{d}\beta^{k-1} = \alpha^k.

Proof. Follows from the above lemma using the proof for the trivially star-shaped case. \square

Example 11.9. We will consider an example of how the Poincaré lemma fails in the case when the complex is not contractible. Consider the following trivially star-shaped complex, and augment by one vertex so as to make the region non-contractible, as show in Figure 20.

Figure 20: Counter-example for the discrete Poincaré lemma for a non-contractible complex. (a) Trivially star-shaped complex: A 3D polyhedron with a black dot at a vertex. (b) Non-contractible complex: The same polyhedron with an additional white dot at a vertex, creating a non-contractible region.
(a) Trivially star-shaped complex (b) Non-contractible complex
Figure 20: Counter-example for the discrete Poincaré lemma for a non-contractible complex. (a) Trivially star-shaped complex: A 3D polyhedron with a black dot at a vertex. (b) Non-contractible complex: The same polyhedron with an additional white dot at a vertex, creating a non-contractible region.

FIGURE 20. Counter-example for the discrete Poincaré lemma for a non-contractible complex.

Now we attempt to verify the identity,

p\partial + \partial p = I,

and we will see how this is only true up to a chain that is homotopic to the inner boundary.

\begin{aligned} (p\partial + \partial p) \left( \text{Diagram (a)} \right) &= p \left( \text{Diagram (b)} \right) + \partial \left( \text{Diagram (c)} \right) \\ &= \text{Diagram (d)} + \text{Diagram (e)} \end{aligned}

A diagram showing two 3D tetrahedra. The first tetrahedron is on the left, and the second is on the right. They are separated by a plus sign. The first tetrahedron is shaded with a light blue color, and the second is shaded with a light gray color. The diagram is preceded by an equals sign.
A diagram showing two 3D tetrahedra. The first tetrahedron is on the left, and the second is on the right. They are separated by a plus sign. The first tetrahedron is shaded with a light blue color, and the second is shaded with a light gray color. The diagram is preceded by an equals sign.

Since the second term cannot be expressed as the boundary of a 2-chain, it will contribute a non-trivial effect, even on closed discrete forms, and therefore the discrete Poincaré lemma does not hold for non-contractible complexes, as expected.

4.6. 12. DISCRETE VARIATIONAL MECHANICS AND DEC

We recall that discrete variational mechanics is based on a discrete analogue of Hamilton's principle, and they yield the discrete Euler–Lagrange equations. A particularly interesting property of DEC arises when it is used to construct the discrete Lagrangian for harmonic functions, and Maxwell's equations.

In particular, for these examples, the following diagram commutes,

\begin{array}{ccc} \textbf{Lagrangian} & \xrightarrow{\text{DEC}} & \textbf{Discrete Lagrangian} \\ L : TQ \rightarrow \mathbb{R} & & L_d : Q \times Q \rightarrow \mathbb{R} \\ \downarrow & & \downarrow \\ \textbf{Euler–Lagrange} & \xrightarrow{\text{DEC}} & \textbf{Discrete Euler–Lagrange} \\ \mathcal{EL} : T^2Q \rightarrow T^*Q & & \mathcal{EL}_d : Q^3 \rightarrow T^*Q \end{array}

Which is to say that directly discretizing the differential equations for harmonic functions, and Maxwell's equations using DEC results in the same expressions as the discrete Euler–Lagrange equations associated with a discrete Lagrangian which is discretized from the corresponding continuous Lagrangian by using DEC as the discretization scheme.

This is significant, since it implies that when DEC is used to discretize these equations, the corresponding numerical scheme which is obtained is variational, and consequently exhibits excellent structure-preserving properties.

In the variational principles for both harmonic functions and Maxwell's equations, we require the L^2 norm obtained from the L^2 inner product on \Omega^k(M), which is given by

\langle \alpha^k, \beta^k \rangle = \int_M \alpha \wedge * \beta.

The discrete analogue of this requires a primal-dual wedge product, which is given below for forms of complementary dimension.

Definition 12.1. Given a primal discrete k-form \alpha^k \in \Omega_d^k(K), and a dual discrete (n-k)-form \hat{\beta}^{n-k} \in \Omega_d^{n-k}(*K), the discrete primal-dual wedge product is defined as follows,

\begin{aligned} \langle \alpha^k \wedge \hat{\beta}^{n-k}, V_{\sigma^k} \rangle &= \frac{|V_{\sigma^k}|}{|\sigma^k| \star \sigma^k} \langle \alpha^k, \sigma^k \rangle \langle \hat{\beta}^{n-k}, \star \sigma^k \rangle \\ &= \frac{1}{n} \langle \alpha^k, \sigma^k \rangle \langle \hat{\beta}^{n-k}, \star \sigma^k \rangle, \end{aligned}

where V_{\sigma^k} is the n-dimensional support volume obtained by taking the convex hull of the simplex \sigma^k and its dual cell \star \sigma^k.

The corresponding L^2 inner product is as follows.

Definition 12.2. Given two primal discrete k-forms, \alpha^k, \beta^k \in \Omega_d^k(K), their discrete L^2 inner product, \langle \alpha^k, \beta^k \rangle_d, is given by

\begin{aligned} \langle \alpha^k, \beta^k \rangle_d &= \sum_{\sigma^k \in K} \frac{|V_{\sigma^k}|}{|\sigma^k| |\star \sigma^k|} \langle \alpha^k, \sigma^k \rangle \langle \star \beta^k, \star \sigma^k \rangle \\ &= \frac{1}{n} \sum_{\sigma^k \in K} \langle \alpha^k, \sigma^k \rangle \langle \star \beta^k, \star \sigma^k \rangle. \end{aligned}

Remark 12.1. Notice that it would have been quite natural from the smooth theory to propose the following metric tensor \langle\langle \cdot, \cdot \rangle\rangle for differential forms,

\langle\langle \alpha^k, \beta^k \rangle\rangle_{\mathbf{V}} V_{\sigma^k} = |V_{\sigma^k}| \frac{\langle \alpha^k, \sigma^k \rangle}{|\sigma^k|} \frac{\langle \beta^k, \sigma^k \rangle}{|\sigma^k|},

where the |V_{\sigma^k}| is the factor arising from integrating the volume-form over V_{\sigma^k}, and

\frac{\langle \alpha^k, \sigma^k \rangle}{|\sigma^k|} \frac{\langle \beta^k, \sigma^k \rangle}{|\sigma^k|}

is what we would expect for \langle\langle \alpha^k, \beta^k \rangle\rangle, if the forms \alpha^k and \beta^k were constant on \sigma^k, which is the product of the average values of \alpha^k, and \beta^k.

If we adopt this as our definition of the metric tensor for forms, we can recover the definition we obtained in §6 for the Hodge star operator. Starting from the definition from the smooth theory,

\int \langle\langle \alpha^k, \beta^k \rangle\rangle_{\mathbf{V}} = \int \alpha^k \wedge \star \beta^k,

and expanding this in terms of the metric tensor for discrete forms, and the primal-dual wedge operator, we obtain

\begin{aligned} \langle\langle \alpha^k, \beta^k \rangle\rangle_{\mathbf{V}} V_{\sigma^k} &= \langle \alpha^k \wedge \star \beta^k, V_{\sigma^k} \rangle, \\ |V_{\sigma^k}| \frac{\langle \alpha^k, \sigma^k \rangle}{|\sigma^k|} \frac{\langle \beta^k, \sigma^k \rangle}{|\sigma^k|} &= \frac{|V_{\sigma^k}|}{|\sigma^k| |\star \sigma^k|} \langle \alpha^k, \sigma^k \rangle \langle \star \beta^k, \star \sigma^k \rangle. \end{aligned}

When we eliminate common factors from both sides, we obtain the expression,

\frac{1}{|\sigma^k|} \langle \beta^k, \sigma^k \rangle = \frac{1}{|\star \sigma^k|} \langle \star \beta^k, \star \sigma^k \rangle,

which is the expression we previously obtained in Definition 6.1 of §6.

The L^2 norm for discrete differential forms is given below.

Definition 12.3. Given a primal discrete k-form \alpha^k \in \Omega_d^k(K), its discrete L^2 norm is given by

\begin{aligned} \|\alpha^k\|_d^2 &= \langle \alpha^k, \alpha^k \rangle_d \\ &= \frac{1}{n} \sum_{\sigma^k \in K} \langle \alpha^k, \sigma^k \rangle \langle \star \alpha^k, \star \sigma^k \rangle \\ &= \frac{1}{n} \sum_{\sigma^k \in K} \frac{|\star \sigma^k|}{|\sigma^k|} \langle \alpha^k, \sigma^k \rangle^2. \end{aligned}

Given these definitions, we can now reproduce some computations that were originally shown in Castrillón-López [2003].

Harmonic Functions. Harmonic functions \phi : M \rightarrow \mathbb{R} can be characterized in a variational fashion as extremals of the following action functional,

\mathcal{S}(\phi) = \frac{1}{2} \int_M \|\mathbf{d}\phi\|^2 \mathbf{v},

where \mathbf{v} is a Riemannian volume-form in M. The corresponding Euler–Lagrange equation is given by

*\mathbf{d} * \mathbf{d}\phi = -\Delta\phi = 0,

which is the familiar characterization of harmonic functions in terms of the Laplace–Beltrami operator.

The discrete action functional can be expressed in terms of the L^2 norm we introduced above for discrete forms,

\begin{aligned} \mathcal{S}_d(\phi) &= \frac{1}{2} \|\mathbf{d}\phi\|_d^2 \\ &= \frac{1}{2n} \sum_{\sigma^1 \in K} \frac{|\star\sigma^1|}{|\sigma^1|} \langle \mathbf{d}\phi, \sigma^1 \rangle^2. \end{aligned}

The basic variations needed for the determination of the discrete Euler–Lagrange operator are obtained from variations that vary the value of the function \phi at a given vertex v_0, leaving the other values fixed. These variations have the form,

\phi_\varepsilon = \phi + \varepsilon \tilde{\eta},

where \tilde{\eta} \in \Omega^0(M; \mathbb{R}) is such that \langle \tilde{\eta}, v_0 \rangle = 1, and \langle \tilde{\eta}, v \rangle = 0, for any v \in K^{(0)} - \{v_0\}. This family of variations is enough to establish the variational principle. That is, we have

\begin{aligned} 0 &= \left. \frac{d}{d\varepsilon} \right|_{\varepsilon=0} \mathcal{S}_d(\phi_\varepsilon) \\ &= \frac{1}{n} \sum_{\sigma^1 \in K} \frac{|\star\sigma^1|}{|\sigma^1|} \langle \mathbf{d}\phi, \sigma^1 \rangle \langle \mathbf{d}\tilde{\eta}, \sigma^1 \rangle \\ (12.1) \quad &= \frac{1}{n} \sum_{v_0 \prec \sigma^1} \frac{|\star\sigma^1|}{|\sigma^1|} \langle \mathbf{d}\phi, \sigma^1 \rangle \operatorname{sgn}(\sigma^1; v_0), \end{aligned}

where \operatorname{sgn}(\sigma^1; v) stands for the sign of \sigma^1 with respect to v. Which is to say, \operatorname{sgn}(\sigma^1; v) = 1 if \sigma^1 = [v', v], and \operatorname{sgn}(\sigma^1; v) = -1 if \sigma^1 = [v, v']. On the other hand,

\begin{aligned} \langle *\mathbf{d} * \mathbf{d}\phi, v_0 \rangle &= \frac{1}{|\star v_0|} \langle \mathbf{d} * \mathbf{d}\phi, \star v_0 \rangle \\ &= \frac{1}{|\star v_0|} \langle *\mathbf{d}\phi, \partial \star v_0 \rangle \\ &= \frac{1}{|\star v_0|} \sum_{v_0 \prec \sigma^1} \langle *\mathbf{d}\phi, \star\sigma^1 \rangle \operatorname{sgn}(\sigma^1; v_0) \\ &= \frac{1}{|\star v_0|} \sum_{v_0 \prec \sigma^1} \frac{|\star\sigma^1|}{|\sigma^1|} \langle \mathbf{d}\phi, \sigma^1 \rangle \operatorname{sgn}(\sigma^1; v_0), \end{aligned}

where in the second to last equality, one has to note that the border of the dual cell of a vertex v_0 consists, up to orientation, in the dual of all the 1-simplices starting from v_0. This is illustrated in Figure 21, and follows from a general expression for the boundary of a dual cell that was given in Definition 5.8.

Figure 21: Boundary of a dual cell. The figure consists of five sub-diagrams labeled (a) through (e). (a) shows a vertex v of a hexagonal cell, represented by a blue dot at the center of a hexagon with orange edges. (b) shows the dual cell star v, which is a yellow hexagon with a blue dot at its center and black lines extending from its vertices. (c) shows the boundary of the dual cell, represented by a red hexagon with arrows indicating a counter-clockwise orientation. (d) shows the boundary of the dual cell with a red line segment connecting the center to one of the vertices. (e) shows the boundary of the dual cell with a red line segment connecting the center to one of the vertices, similar to (d) but with a different orientation.
Figure 21: Boundary of a dual cell. The figure consists of five sub-diagrams labeled (a) through (e). (a) shows a vertex v of a hexagonal cell, represented by a blue dot at the center of a hexagon with orange edges. (b) shows the dual cell star v, which is a yellow hexagon with a blue dot at its center and black lines extending from its vertices. (c) shows the boundary of the dual cell, represented by a red hexagon with arrows indicating a counter-clockwise orientation. (d) shows the boundary of the dual cell with a red line segment connecting the center to one of the vertices. (e) shows the boundary of the dual cell with a red line segment connecting the center to one of the vertices, similar to (d) but with a different orientation.

FIGURE 21. Boundary of a dual cell.

The sign factor comes from the relation between the orientation of the dual of the 1-simplices and that of \partial * v_0. From this, we conclude that the variational discrete equation, given in Equation 12.1, is equivalent to the vanishing of the discrete Laplace–Beltrami operator,

*\mathbf{d} * \mathbf{d}\phi = -\Delta = 0.

Maxwell Equations. We can formulate the Maxwell equations of electromagnetism in a covariant fashion by considering the 1-form A (the potential) as our fundamental variable in a Lorentzian manifold X. The action functional for a Lagrangian formulation of electromagnetism is given by,

S(A) = \frac{1}{2} \int_X \|\mathbf{d}A\|^2 \mathbf{v},

where \|\cdot\| is the norm on forms induced by the Lorentzian metric on X, and \mathbf{v} is the pseudo-Riemannian volume-form. The 1-form A is related to the 4-vector potential encountered in the relativistic formulation of electromagnetism (see, for example Jackson [1998]).

The Euler–Lagrange equation corresponding to this action functional is given by

*\mathbf{d} * \mathbf{d}A = 0.

In terms of the field strength, F = \mathbf{d}A, the last equation is usually rewritten as

\mathbf{d}F = 0, \quad *\mathbf{d} * F = 0,

which is the geometric formulation of the Maxwell equations.

For the purposes of simplicity of exposition, we consider the special case where the Lorentzian manifold decomposes into X = M \times \mathbb{R}, where (M, g) is a compact Riemannian 3-manifold. In formulating the discrete version of this variational problem, we need to generalize the notion of a discrete Hodge dual to take into account the pseudo-Riemannian metric structure. This can be subtle in practice, and to overcome this, we consider a special family of complexes instead.

Let K' be a simplicial complex modelling M. For the sake of simplicity we consider M = \mathbb{R}^3 although this is not strictly necessary. We now consider a discretization \{t_n\}_{n \in \mathbb{Z}} of \mathbb{R}. We define the complex K, modelling X = \mathbb{R}^4, the cells of which are the sets \sigma = \sigma' \times \{t_n\} \subset \mathbb{R}^3 \times \mathbb{R}, and \sigma = \sigma' \times (t_n, t_{n+1}) \subset \mathbb{R}^3 \times \mathbb{R} for any \sigma' \in K' and n \in \mathbb{Z}. Of course, this is not a simplicial complex but rather a “prismal” complex, as shown in Figure 22.

Figure 22: A 3D diagram illustrating a prismal cell complex decomposition of space-time. The vertical axis is labeled 'Time' and the horizontal plane is labeled 'Space'. A rectangular prism is shown, representing a cell in the complex. The prism is oriented such that its edges are parallel to the axes. The top and bottom faces are rectangles in the space-time plane, and the side faces are vertical rectangles. The diagram shows the prism's edges and vertices, highlighting its structure as a product of a spatial cell and a time interval.
Figure 22: A 3D diagram illustrating a prismal cell complex decomposition of space-time. The vertical axis is labeled 'Time' and the horizontal plane is labeled 'Space'. A rectangular prism is shown, representing a cell in the complex. The prism is oriented such that its edges are parallel to the axes. The top and bottom faces are rectangles in the space-time plane, and the side faces are vertical rectangles. The diagram shows the prism's edges and vertices, highlighting its structure as a product of a spatial cell and a time interval.

FIGURE 22. Prismal cell complex decomposition of space-time.

The advantage of these cell complexes is the existence of the Voronoi dual. More precisely, given any prismal cells \sigma' \times \{t_n\} \in K and \sigma' \times (t_n, t_{n+1}) \in K, the Lorentz orthonormal to any of its edges coincide with the Euclidean one in \mathbb{R}^4 and the existence of the circumcenter is thus guaranteed. In other words, the Lorentz circumcentric dual \star K to K is the same as the Euclidean one in \mathbb{R}^4.

Remark 12.2. Much of the construction above can be carried out more generally by considering arbitrary cell complexes in \mathbb{R}^4 that are not necessarily prismal, as long as none of its 1-cells are lightlike. This causality condition is necessary to ensure that the circumcentric dual complex is well-behaved. However, it is sufficient for computational purposes that the complex is well-centered, in the sense that the Lorentzian circumcenter of each cell is contained inside the cell. These issues will be addressed in future work.

Recall that the Hodge star \star is uniquely defined by satisfying the following expression,

\alpha \wedge \star \beta = \langle \alpha, \beta \rangle \mathbf{v},

for all \alpha, \beta \in \Omega^k(X). The upshot of this is that the Hodge star operator depends on the metric, and since we have a pseudo-Riemannian metric, there is a sign that is introduced in our expression for the discrete Hodge star (Definition 6.1) that depends on whether the cell it is applied to is either spacelike or timelike. The discrete Hodge star for prismal complexes in Lorentzian space is given below.

Definition 12.4. The discrete Hodge star for prismal complexes in Lorentzian space is a map \star : \Omega_d^k(K) \rightarrow \Omega_d^k(\star K) defined by giving its action on cells in a prismal complex as follows,

\frac{1}{|\star \sigma^k|} \langle \star \alpha^k, \star \sigma^k \rangle = \kappa(\sigma^k) \frac{1}{|\sigma^k|} \langle \alpha^k, \sigma^k \rangle,

where |\cdot| stands for the volume and the causality sign \kappa(\sigma^k) is defined to be +1 if all the edges of \sigma^k are spacelike, and -1 otherwise.

The causality sign of 2-cells in a (2+1)-space-time is summarized in Table 4. We should note that the causality sign for a 0-simplex, \kappa(\sigma^0), is always 1. This is because a 0-simplex has no edges, and as such the statement that all of its edges are spacelike is trivially true.

TABLE 4. Causality sign of 2-cells in a (2+1)-space-time.
\sigma^2Diagram of a 2-cell with a blue top face and a light blue bottom face, representing a positive causality sign.Diagram of a 2-cell with a light blue top face and a blue bottom face, representing a positive causality sign.Diagram of a 2-cell with a yellow top face and a light yellow bottom face, representing a negative causality sign.Diagram of a 2-cell with a light yellow top face and a yellow bottom face, representing a negative causality sign.Diagram of a 2-cell with a yellow top face and a light yellow bottom face, representing a negative causality sign.
\kappa(\sigma^2)+1+1-1-1-1

This causality term in the discrete Hodge star has consequences for the expression for the discrete norm (Definition 12.3), which is now given.

Definition 12.5. Given a primal discrete k-form \alpha^k \in \Omega_d^k(K), its discrete L^2 Lorentzian norm is given by,

\begin{aligned} \|\alpha^k\|_{\text{Lor},d}^2 &= \frac{1}{n} \sum_{\sigma^k \in K} \langle \alpha^k, \sigma^k \rangle \langle \star \alpha^k, \star \sigma^k \rangle \\ &= \frac{1}{n} \sum_{\sigma^k \in K} \kappa(\sigma^k) \frac{|\star \sigma^k|}{|\sigma^k|} \langle \alpha^k, \sigma^k \rangle^2. \end{aligned}

Having defined the discrete Lorentzian norm, we can express the discrete action as

\begin{aligned} \mathcal{S}_d(A) &= \frac{1}{2} \|\mathbf{d}A\|_{\text{Lor},d}^2 \\ &= \frac{1}{8} \sum_{\sigma^2 \in K} \langle \mathbf{d}A, \sigma^2 \rangle \langle \star \mathbf{d}A, \star \sigma^2 \rangle \\ &= \frac{1}{8} \sum_{\sigma^2 \in K} \kappa(\sigma^2) \frac{|\star \sigma^2|}{|\sigma^2|} \langle \mathbf{d}A, \sigma^2 \rangle^2. \end{aligned}

The basic variations needed to determine the discrete Euler–Lagrange operator are obtained from variations that vary the value of the 1-form A at a given 1-simplex \sigma_0^1, leaving the other values fixed. These variations have the form,

A_\varepsilon = A_\varepsilon + \varepsilon \tilde{\eta},

where \tilde{\eta} \in \Omega_d^1(K) is given by \langle \tilde{\eta}, \sigma_0^1 \rangle = 1 for a fixed interior \sigma_0^1 \in K and \langle \tilde{\eta}, \sigma^1 \rangle = 0 for \sigma^1 \neq \sigma_0^1. The derivation of the variational principle gives

\begin{aligned} \left. \frac{d}{d\varepsilon} \right|_{\varepsilon=0} \mathcal{S}_d(A_\varepsilon) &= \frac{1}{4} \sum_{\sigma^2 \in K} \frac{|\star \sigma^2|}{|\sigma^2|} \kappa(\sigma^2) \langle \mathbf{d}A, \sigma^2 \rangle \langle \mathbf{d}\tilde{\eta}, \sigma^2 \rangle \\ &= \frac{1}{4} \sum_{\sigma_0^1 \prec \sigma^2} \frac{|\star \sigma^2|}{|\sigma^2|} \kappa(\sigma^2) \langle \mathbf{d}A, \sigma^2 \rangle \langle \mathbf{d}\tilde{\eta}, \sigma^2 \rangle \\ &= \frac{1}{4} \sum_{\sigma_0^1 \prec \sigma^2} \frac{|\star \sigma^2|}{|\sigma^2|} \kappa(\sigma^2) \langle \mathbf{d}A, \sigma^2 \rangle \text{sgn}(\sigma^2, \sigma_0^1). \end{aligned}

which vanishes for all the basic variations above. On the other hand, we now expand the discrete 1-form \star \mathbf{d} \star \mathbf{d}A. For any \sigma_0^1 \in K, we have that

\begin{aligned} \langle \star \mathbf{d} \star \mathbf{d}A, \sigma_0^1 \rangle &= \frac{|\sigma_0^1|}{|\star \sigma_0^1|} \kappa(\sigma_0^1) \langle \mathbf{d} \star \mathbf{d}A, \star \sigma_0^1 \rangle \\ &= \frac{|\sigma_0^1|}{|\star \sigma_0^1|} \kappa(\sigma_0^1) \langle \star \mathbf{d}A, \partial \star \sigma_0^1 \rangle \\ &= \frac{|\sigma_0^1|}{|\star \sigma_0^1|} \kappa(\sigma_0^1) \sum_{\sigma_0^1 \prec \sigma^2} \text{sgn}(\sigma^2, \sigma_0^1) \langle \star \mathbf{d}A, \star \sigma^2 \rangle \\ &= \frac{|\sigma_0^1|}{|\star \sigma_0^1|} \kappa(\sigma_0^1) \sum_{\sigma_0^1 \prec \sigma^2} \frac{|\star \sigma^2|}{|\sigma^2|} \kappa(\sigma^2) \langle \mathbf{d}A, \star \sigma^2 \rangle \text{sgn}(\sigma^2, \sigma_0^1), \end{aligned}

where the sign \text{sgn}(\sigma^2, \sigma^1) stands for the relative orientation between \sigma^2 and \sigma^1. Which is to say, \text{sgn}(\sigma^2, \sigma^1) = 1 if the orientation induced by \sigma^2 on \sigma^1 coincides with the orientation of \sigma^1, and \text{sgn}(\sigma^2, \sigma^1) = -1 otherwise. For the second to last equality, one has to note that the border of the dual cell of an edge \sigma_0^1 consists, conveniently oriented with the \text{sgn} operator, of the union of the duals of all the 2-simplices containing \sigma_0^1. This statement is the content of Definition 5.8, which gives the expression for the boundary of a dual cell, and was illustrated in Figure 21 for the case of n-dimensional dual cells.

By comparing the two computations, we find that for an arbitrary choice of \sigma_0^1 \in K, \langle \star \mathbf{d} \star \mathbf{d}A, \sigma_0^1 \rangle is equal (up to a non-zero constant) to \delta \mathcal{S}_d(A), which always vanishes. It follows that the variational discrete equations obtained above is equivalent to the discrete Maxwell equations,

\star \mathbf{d} \star \mathbf{d}A = 0.

4.7. 13. EXTENSIONS TO DYNAMIC PROBLEMS

It is desirable to leverage the exactness properties of the operators of discrete exterior calculus to construct numerical algorithms with discrete conservation properties. For these purposes, it is appropriate to extend the scope of DEC to incorporate dynamical behavior, by addressing the issue of discrete diffeomorphisms and flows.

As discussed in the previous section, DEC and discrete mechanics have interesting synergistic properties, and in this section we will explore a groupoid interpretation of discrete mechanics that is particularly appropriate to formulating the notion of pull-back and push-forward of discrete differential forms.

13.1. Groupoid Interpretation of Discrete Variational Mechanics. The groupoid formulation of discrete mechanics is particularly fruitful and natural, and it serves as a unifying tool for understanding the variational formulation of discrete Lagrangian mechanics, and discrete Euler–Poincaré reduction, as discussed in the work of Weinstein [1996] and Marsden et al. [1999, 2000].

The groupoid interpretation of discrete mechanics is most clearly illustrated if we consider the discretization of trajectories on TQ in two stages. Given a curve \gamma : \mathbb{R}^+ \rightarrow TQ, we consider a discrete sampling given by

g_i = \gamma(ih) \in TQ.

We then approximate TQ by Q \times Q, and associate to g_i two elements in Q. We denote this by

g_i \mapsto (q_i^0, q_i^1).

Or equivalently, in the language of groupoids, see Cannas da Silva and Weinstein [1999], Weinstein [2001], we have

\begin{array}{c} G \\ \alpha \downarrow \quad \downarrow \beta \\ Q \end{array}

where \alpha is the source map, and \beta is the target map. Then,

g_i \mapsto (\alpha(g_i), \beta(g_i)) = (q_i^0, q_i^1).

This can be visualized as

\begin{array}{ccc} & g_i & \\ \bullet & \xrightarrow{\quad} & \bullet \\ q_i^0 = \alpha(g_i) & & q_i^1 = \beta(g_i) \end{array}

A product \cdot : G^{(2)} \rightarrow G is defined on the set of composable pairs,

G^{(2)} := \{(g, h) \in G \times G \mid \beta(g) = \alpha(h)\}.

The groupoid composition g \cdot h is defined by

\alpha(g \cdot h) = \alpha(g),

\beta(g \cdot h) = \beta(h).

This can be represented graphically as follows,

\begin{array}{ccccc} & & g \cdot h & & \\ & \swarrow & \xrightarrow{\quad} & \searrow & \\ \alpha(g) = \alpha(g \cdot h) & & \beta(g) = \alpha(h) & & \beta(h) = \beta(g \cdot h) \\ & \nwarrow & \xleftarrow{\quad} & \nearrow & \\ & g & & h & \end{array}

The set of composable pairs is the discrete analogue of the set of second-order curves on TQ. A curve \gamma : \mathbb{R}^+ \rightarrow TQ is said to be second-order if there exists a curve q : \mathbb{R}^+ \rightarrow Q, such that,

\gamma(t) = (q(t), \dot{q}(t)).

The corresponding condition for discrete curves is that given a sequence of points in Q \times Q, (q_1^0, q_1^1), \dots, (q_p^0, q_p^1), we require that

q_i^1 = q_{i+1}^0.

This implies that the discrete curve on Q \times Q is derived from a (p+1)-pointed curve (q_0, \dots, q_p) on Q, where

q_i = \begin{cases} q_{i+1}^0, & \text{if } 0 \leq i < p; \\ q_i^1, & \text{if } i = p. \end{cases}

This condition has a direct equivalent in groupoids,

\beta(g_i) = q_i^1 = q_{i+1}^0 = \alpha(g_{i+1}).

Which is to say that the sequence of points in Q \times Q are composable. In general, this hierarchy of sets is denoted by

G^{(p)} := \{(g_1, \dots, g_p) \in G^p \mid \beta(g_i) = \alpha(g_{i+1})\},

where G^{(0)} \simeq Q.

In addition, the groupoid inverse is defined by the following,

\alpha(g^{-1}) = \beta(g),

\beta(g^{-1}) = \alpha(g).

This is represented as follows,

Diagram illustrating the groupoid inverse. A solid curved arrow labeled 'g' points from a point labeled 'alpha(g^{-1}) = beta(g)' on the right to a point labeled 'beta(g^{-1}) = alpha(g)' on the left. A dashed curved arrow labeled 'g^{-1}' points from the left point back to the right point.
Diagram illustrating the groupoid inverse. A solid curved arrow labeled 'g' points from a point labeled 'alpha(g^{-1}) = beta(g)' on the right to a point labeled 'beta(g^{-1}) = alpha(g)' on the left. A dashed curved arrow labeled 'g^{-1}' points from the left point back to the right point.

Visualizing Groupoids. In summary, composition of groupoid elements, and the inverse of groupoid elements can be illustrated by Figure 23. As we will see in the next subsection, representing discrete

Figure 23: Groupoid composition and inverses. The diagram shows a grid of intersecting lines. A horizontal line is labeled 'G^{(0)} \simeq Q'. Two sets of diagonal lines are labeled 'beta-fibers' (on the left) and 'alpha-fibers' (on the right). A diamond-shaped path is formed by four points: 'g' at the top-left, 'gh' at the top-right, 'h' at the middle-right, and 'beta(g) = alpha(h)' at the bottom-right. A point 'g^{-1}' is located at the bottom-left. Solid lines connect 'g' to 'gh', 'gh' to 'h', and 'h' to 'beta(g) = alpha(h)'. A dashed line connects 'beta(g) = alpha(h)' to 'g^{-1}'.
Figure 23: Groupoid composition and inverses. The diagram shows a grid of intersecting lines. A horizontal line is labeled 'G^{(0)} \simeq Q'. Two sets of diagonal lines are labeled 'beta-fibers' (on the left) and 'alpha-fibers' (on the right). A diamond-shaped path is formed by four points: 'g' at the top-left, 'gh' at the top-right, 'h' at the middle-right, and 'beta(g) = alpha(h)' at the bottom-right. A point 'g^{-1}' is located at the bottom-left. Solid lines connect 'g' to 'gh', 'gh' to 'h', and 'h' to 'beta(g) = alpha(h)'. A dashed line connects 'beta(g) = alpha(h)' to 'g^{-1}'.

FIGURE 23. Groupoid composition and inverses.

diffeomorphisms as pair groupoids is the natural method of ensuring that the mesh remains nondegenerate.

13.2. Discrete Diffeomorphisms and Discrete Flows. We will adopt the point of view of representing a discrete diffeomorphism as a groupoid, which was first introduced in Pekarsky and West [2003], and appropriately modify it to reflect the simplicial nature of our mesh. In addition, we will address the induced action of a discrete diffeomorphism on the dual mesh.

Definition 13.1. Given a complex K embedded in V, and its corresponding abstract simplicial complex M, a discrete diffeomorphism, \varphi \in \text{Diff}_d(M), is a pair of simplicial complexes K_1, K_2, which are realizations of M in the ambient space V. This is denoted by \varphi(M) = (K_1, K_2).

Definition 13.2. A one-parameter family of discrete diffeomorphisms is a map \varphi : I \rightarrow \text{Diff}_d(M), such that,

\pi_1(\varphi(t)) = \pi_1(\varphi(s)), \quad \forall s, t \in I.

Since we are concerned with evolving equations represented by these discrete diffeomorphisms, and mesh degeneracy causes the numerics to fail, we introduce the notion of non-degenerate discrete diffeomorphisms,

Definition 13.3. A non-degenerate discrete diffeomorphism \varphi = (K_1, K_2) is such that K_1 and K_2 are non-degenerate realizations of the abstract simplicial complex M in the ambient space V.

Notice that it is sufficient to define the discrete diffeomorphism on the vertices of the abstract complex M, since we can extend it to the entire complex by the relation

\varphi([v_0, \dots, v_k]) = ([\pi_1\varphi(v_0), \dots, \pi_1\varphi(v_k)], [\pi_2\varphi(v_0), \dots, \pi_2\varphi(v_k)]).

If X \in K^{(0)} is a material vertex of the manifold, corresponding to the abstract vertex w, that is to say, \pi_1\varphi_t(w) = X, \forall t \in I, the corresponding trajectory followed by X in space is x = \pi_2\varphi_t(w). Then, the material velocity V(X, t) is given by

V(\pi_1(w), t) = \left. \frac{\partial \pi_2\varphi_s(w)}{\partial s} \right|_{s=t},

and the spatial velocity v(x, t) is given by

v(\pi_2(w), t) = V(\pi_1(w), t) = \left. \frac{\partial \varphi_s(\varphi_t^{-1}(x))}{\partial s} \right|_{s=t}.

The distinction between the spatial and material representation is illustrated in Figure 24.

Figure 24: Spatial and material representations. The diagram shows two 3D rectangular blocks representing a manifold. The left block is in a standard orientation with axes E1, E2, and E3. A point X is marked on its top surface. The right block is tilted, with axes e1, e2, and e3. A point x is marked on its top surface. A curved arrow labeled with the symbol phi points from the left block to the right block, indicating a diffeomorphism between the two representations.
Figure 24: Spatial and material representations. The diagram shows two 3D rectangular blocks representing a manifold. The left block is in a standard orientation with axes E1, E2, and E3. A point X is marked on its top surface. The right block is tilted, with axes e1, e2, and e3. A point x is marked on its top surface. A curved arrow labeled with the symbol phi points from the left block to the right block, indicating a diffeomorphism between the two representations.

FIGURE 24. Spatial and material representations.

The material velocity field can be thought of as a discrete vector field with the vectors based at the vertices of K, which is to say that T\varphi_t \in \mathfrak{X}_d(K), is a discrete primal vector field. Notice that \varphi_t on K induces a map \star\varphi_t on the vertices of the dual \star K, by the following,

\star\varphi_t(c[v_0, \dots, v_n]) = (c[\pi_1\varphi_t(v_0), \dots, \pi_1\varphi_t(v_n)], c[\pi_2\varphi_t(v_0), \dots, \pi_2\varphi_t(v_n)]).

Similarly then, T\star\varphi_t \in \mathfrak{X}_d(\star K) is a discrete dual vector field.

Comparison with Interpolatory Methods. At first glance, the groupoid formulation seems like a cumbersome way to define a one-parameter family of discrete diffeomorphisms, and one may be tempted to think of extending \varphi_t to the ambient space. We would then be thinking of \varphi_t : V \rightarrow V. This is undesirable since given \varphi_t and \psi_s which are non-degenerate flows, their composition \varphi_t \circ \psi_s, which is defined, may result in a degenerate mesh when applied to K. Thus, non-degenerate flows are not closed under this notion of composition.

If we adopt groupoid composition instead at the level of vertices, we can always be sure that if we compose two nondegenerate discrete diffeomorphisms, they will remain a nondegenerate discrete diffeomorphism.

Discrete Diffeomorphisms as Pair Groupoids. The space of discrete diffeomorphisms naturally has the structure of a pair groupoid. The discrete analogue of T\text{Diff}(M) from the point of view of temporal discretization is the pair groupoid \text{Diff}(M) \times \text{Diff}(M). In addition, we discretize \text{Diff}(M) using \text{Diff}_d(M), which is in turn a pair groupoid involving realizations of an abstract simplicial complex in an ambient space.

13.3. Push-Forward and Pull-Back of Discrete Vector Fields and Discrete Forms. For us to construct a discrete theory of exterior calculus that admits dynamic problems, it is critical that we introduce the notion of push-forward and pull-back of discrete vector fields and discrete forms under a discrete flow.

4.7.1. Push-Forward and Pull-Back of Discrete Vector Fields.

The push-forward of a discrete vector field satisfies the following commutative diagram,

\begin{array}{ccccc} K & \xrightarrow{*} & \star K & \xrightarrow{X} & \mathbb{R}^N \\ \downarrow f & & \downarrow \star f & & \downarrow Tf \\ L & \xrightarrow{*} & \star L & \xrightarrow{f_* X} & \mathbb{R}^N \end{array}

and the pull-back satisfies the following commutative diagram,

\begin{array}{ccccc} K & \xrightarrow{*} & \star K & \xrightarrow{f^* X} & \mathbb{R}^N \\ \downarrow f & & \downarrow \star f & & \downarrow Tf \\ L & \xrightarrow{*} & \star L & \xrightarrow{X} & \mathbb{R}^N \end{array}

By appropriately following the diagram around its boundary, we obtain the following expressions for the push-forward and pull-back of a discrete vector field.

Definition 13.4. The push-forward of a dual discrete vector field X \in \mathfrak{X}_d(\star K), under the map f : K \rightarrow L, is given by its evaluation on a dual vertex \tilde{\sigma}_0 = \star \sigma^n \in (\star L)^{(0)},

f_* X(\star \sigma^n) = Tf \cdot X(\star(f^{-1}(\sigma^n))).

Definition 13.5. The pull-back of a dual discrete vector field X \in \mathfrak{X}_d(\star L), under the map f : K \rightarrow L, is given by its evaluation on a dual vertex \tilde{\sigma}_0 = \star \sigma^n \in (\star K)^{(0)},

f^* X(\star \sigma^n) = (f^{-1})_* X(\star \sigma^n) = T(f^{-1}) \cdot X(\star(f(\sigma^n))).

Pull-Back and Push-Forward of Discrete Forms. A natural operation involving exterior calculus in the context of dynamic problems is the pull-back of a differential form by a flow. We define the pull-back of a discrete form as follows.

Definition 13.6. The pull-back of a discrete form \alpha^k \in \Omega_d^k(L), under the map f : K \rightarrow L, is defined so that the change of variables formula holds,

\langle f^* \alpha^k, \sigma^k \rangle = \langle \alpha^k, f(\sigma^k) \rangle,

where \sigma^k \in K.

We can define the push-forward of a discrete form as its pull-back under the inverse map as follows.

Definition 13.7. The push-forward of a discrete form \alpha^k \in \Omega_d^k(K), under the map f : K \rightarrow L is defined by its action on \sigma^k \in L,

\langle f_* \alpha^k, \sigma^k \rangle = \langle (f^{-1})^* \alpha^k, \sigma^k \rangle = \langle \alpha^k, f^{-1}(\sigma^k) \rangle.

Naturality under Pull-Back of Wedge Product. We find that the discrete wedge product we introduced in §8 is not natural under pull-back, which is to say that the relation

f^*(\alpha \wedge \beta) = f^*\alpha \wedge f^*\beta,

does not hold in general. However, a metric independent definition that is natural under pull-back was proposed in Castrillón-López [2003].

Definition 13.8 (Castrillón-López [2003]). Given a primal discrete k-form \alpha^k \in \Omega_d^k(K), and a primal discrete l-form \beta^l \in \Omega_d^l(K), the natural discrete primal-primal wedge product, \wedge : \Omega_d^k(K) \times \Omega_d^l(K) \rightarrow \Omega_d^{k+l}(K), is defined by its evaluation on a (k+l)-simplex \sigma^{k+l} = [v_0, \dots, v_{k+l}],

\langle \alpha^k \wedge \beta^l, \sigma^{k+l} \rangle = \frac{1}{(k+l+1)!} \sum_{\tau \in S_{k+l+1}} \text{sign}(\tau) \alpha \smile \beta(\tau(\sigma^{k+l})).

In contrasting this definition to that given by Definition 8.1, we see that the geometric factor

\frac{|\sigma^{k+l} \cap \star v_{\tau(k)}|}{|\sigma^{k+l}|},

has been replaced by

\frac{1}{k+l+1}

in this alternative definition. By replacing the geometric factor which is metric dependent with a constant factor, Definition 13.8 becomes natural under pull-back.

The proofs in §8 that the discrete wedge product is anti-commutative, and satisfies a Leibniz rule, remain valid for this alternative discrete wedge product, with only trivial modifications. As for the proof of the associativity of the wedge product for closed forms, we note the following identity,

\sum_{\tau \in S_{k+l+1}} \frac{|\sigma^{k+l} \cap \star v_{\tau(k)}|}{|\sigma^{k+l}|} = \sum_{\tau \in S_{k+l+1}} \frac{1}{k+l+1} = (k+l)!,

which is a crucial observation for the original proof to apply to the alternative wedge product.

4.8. 14. REMESHING COCHAINS AND MULTIGRID EXTENSIONS

It is sometimes desirable, particularly in the context of multigrid, multiscale, and multiresolution computations, to be able to represent a discrete differential form which is given as a cochain on a prescribed mesh, as one which is supported on a new mesh. Given a differential form \omega^k \in \Omega^k(K), and a new mesh M such that |K| = |M|, we can define it at the level of cosimplices,

\forall \tau^k \in M^{(k)}, \quad \langle \omega^k, \tau^k \rangle = \sum_{\sigma^k \in K^{(k)}} \text{sgn}(\tau^k, \sigma^k) \frac{|V_{\tau^k} \cap V_{\sigma^k}|}{|V_{\sigma^k}|} \langle \omega^k, \sigma^k \rangle,

and extend this by linearity to cochains. Here, \text{sgn}(\tau^k, \sigma^k) is +1 if the orientation of \tau^k and \sigma^k are consistent, and -1 otherwise. Since k-skeletons of meshes that are not related by subdivision may not have nontrivial intersections, intersections of support volumes are used in the remeshing formula, as opposed to intersections of the k-simplices.

We denote this transformation at the level of cochains as, T_{K,M} : C^k(K) \rightarrow C^k(M). This has the natural property that if we have a k-volume U^k that can be represented as a chain in either the complex K or the complex M, that is to say, U^k = \sigma_1^k + \dots + \sigma_m^k = \tau_1^k + \dots + \tau_l^k, then we have

\langle \omega^k, \tau_1^k + \dots + \tau_m^k \rangle = \sum_{i=1}^m \langle \omega^k, \tau_i^k \rangle = \sum_{i=1}^m \sum_{\sigma^k \in K^{(k)}} \text{sgn}(\tau_i^k, \sigma^k) \frac{|V_{\tau_i^k} \cap V_{\sigma^k}|}{|V_{\sigma^k}|} \langle \omega^k, \sigma^k \rangle

\begin{aligned} &= \sum_{i=1}^m \sum_{j=1}^l \operatorname{sgn}(\tau_i^k, \sigma_j^k) \frac{|V_{\tau_i^k} \cap V_{\sigma_j^k}|}{|V_{\sigma_j^k}|} \langle \omega^k, \sigma_j^k \rangle \\ &= \sum_{j=1}^l \sum_{i=1}^m \operatorname{sgn}(\tau_i^k, \sigma_j^k) \frac{|V_{\tau_i^k} \cap V_{\sigma_j^k}|}{|V_{\sigma_j^k}|} \langle \omega^k, \sigma_j^k \rangle \\ &= \sum_{j=1}^l \langle \omega^k, \sigma_j^k \rangle = \langle \omega^k, \sigma_1^k + \dots + \sigma_l^k \rangle. \end{aligned}

Which is to say that the integral of the differential form over U^k is well-defined, and independent of the representation of the differential form.

Note that, in particular, if we choose to coarsen the mesh, the value the form takes on a cell in the coarser mesh is simply the sum of the values the form takes on the old cells of the fine mesh which make up the new cell in the coarser mesh.

Non-Flat Manifolds. The case of non-flat manifolds presents a challenge in remeshing akin to that encountered in the discretization of differential forms. In particular, if the two meshes represent different discretizations of a non-flat manifold, they will in general correspond to different polyhedral regions in the embedding space, and not have the same support region.

We assume that our discretization of the manifold is sufficiently fine that for every simplex, all its vertices are contained in some chart. Then, by using these local charts, we can identify support volumes in the computational domain with n-volumes in the manifold, and thereby make sense of the remeshing formula.

4.9. 15. CONCLUSIONS AND FUTURE WORK

We have presented a framework for discrete exterior calculus using the cochain representation of discrete differential forms, and introduced combinatorial representations of discrete analogues of differential operators on discrete forms and discrete vector fields. The role of primal and dual cell complexes in the theory are developed in detail. In addition, extensions to dynamic problems and multi-resolution computations are discussed.

In the next few paragraphs, we will describe some of the future directions that emanate from the current work on discrete exterior calculus.

Relation to Computational Algebraic Topology Since we have introduced a discrete Laplace-deRham operator, one can hope to develop a discrete Hodge-deRham theory, and relate the deRham cohomology of a simplicial complex to its simplicial cohomology.

Extensions to Non-Flat Manifolds. The intrinsic notion of what constitutes the discrete tangent space to a node on a non-flat mesh remains an open question. It is possible that this notion is related to a choice of discrete connection on the mesh, and it is an issue that deserves further exploration.

Generalization to Arbitrary Tensors. The discretization of differential forms as cochains is particularly natural, due to the pairing between forms and volumes by integration. When attempting to discretize an arbitrary tensor, the natural discrete analogue is unclear. In particular, while it is possible to expand an arbitrary tensor using the tensor product of covariant and contravariant one-tensors, this would be cumbersome to represent on a mesh. In Leok et al. [2003], which is on discrete connections, we will see Lie group-valued discrete 1-forms, and one possible method of discretizing a (p, q)-tensor that is alternating in the contravariant indices, is to consider it as a (0, q)-tensor-valued discrete p-form.

It would be particularly interesting to explore this in the context of the elasticity complex (see, for example, Arnold [2002]),

\mathfrak{se}(3) \hookrightarrow C^\infty(\Omega, \mathbb{R}^3) \xrightarrow{\epsilon} C^\infty(\Omega, \mathbb{S}) \xrightarrow{J} C^\infty(\Omega, \mathbb{S}) \xrightarrow{\text{div}} C^\infty(\Omega, \mathbb{R}^3) \longrightarrow 0,

where \mathbb{S} is the space of 3 \times 3 symmetric matrices. One approach to discretize this was suggested in Arnold [2002], which cites the use of the Bernstein–Gelfand–Gelfand resolution in Eastwood [2000] to derive the elasticity complex from the deRham complex. Alternatively, it might be appropriate in the context of the elasticity complex to consider Lie algebra-valued discrete differential forms.

Convergence and Higher-Order Theories. The natural question from the point of view of numerical analysis would be to carefully analyze the convergence properties of these discrete differential geometric operators. In addition, higher-order analogues of the discrete theory of exterior calculus are desirable from the point of view of computational efficiency, but the cochain representation is attractive due to its conceptual simplicity and the elegance of representing discrete operators as combinatorial operations on the mesh.

It would therefore be desirable to reconcile the two, by ensuring that high-order interpolation and combinatorial operations are consistent. As a low-order example, Whitney forms, which are used to interpolate differential forms on a simplicial mesh, have the nice property that taking the Whitney form associated with the coboundary of a simplicial cochain is equal to taking the exterior derivative of the Whitney form associated with the simplicial cochain. As such, the coboundary operation, which is a combinatorial operation akin to finite differences, is an exact discretization of the exterior derivative, when applied to the degrees of freedom associated to the finite-dimensional function space of Whitney forms.

It would be interesting to apply subdivision surface techniques to construct interpolatory spaces that are compatible with differential geometric operations that are combinatorial operations on the degrees of freedom. This will result in a massively simplified approach to higher-order theories of discrete exterior calculus, by avoiding the use of symbolic computation, which would otherwise be necessary to compute the action of continuous exterior differential operators on the polynomial expansions for differential forms.

4.10. REFERENCES

  • R. Abraham, J. E. Marsden, and T. S. Ratiu. Manifolds, Tensor Analysis and Applications, volume 75 of Applied Mathematical Sciences. Springer-Verlag, second edition, 1988.
  • D. H. Adams. R-torsion and linking numbers from simplicial abelian gauge theories. arXiv, hep-th/9612009, 1996.
  • D. N. Arnold. Differential complexes and numerical stability. In Proceedings of the International Congress of Mathematicians, Vol. I (Beijing, 2002), pages 137–157, Beijing, 2002. Higher Ed. Press.
  • A. Bossavit. Generalized finite differences in computational electromagnetics. Progress in Electromagnetics Research, PIER, 32:45–64, 2001.
  • A. Bossavit. Applied differential geometry (a compendium). URL http://www.icm.edu.pl/edukacja/mat/Compendium.php. (preprint), 2002a.
  • A. Bossavit. Extrusion, contraction: Their discretization via Whitney forms. (preprint), 2002b.
  • A. Bossavit. On “generalized finite differences”: Discretization of electromagnetic problems. (preprint), 2002c.
  • A. Cannas da Silva and A. Weinstein. Geometric Models for Noncommutative Algebras, volume 10 of Berkeley Mathematics Lecture Notes. American Mathematical Society, 1999.
  • M. Castrillón-López. Discrete variational problems on forms. (in preparation), 2003.
  • M. Desbrun, A. N. Hirani, M. Leok, and J. E. Marsden. Discrete Poincaré lemma. Appl. Numer. Math., 2003. (submitted).
  • A. A. Dezin. Multidimensional Analysis and Discrete Models. CRC Press, 1995.
  1. M. Eastwood. A complex from linear elasticity. In The Proceedings of the 19th Winter School "Geometry and Physics" (Srní, 1999), number 63 in Rend. Circ. Mat. Palermo (2) Suppl., pages 23–29, 2000.
  2. R. Forman. Discrete Morse theory and the cohomology ring. Trans. Amer. Math. Soc., 354(12):5063–5085 (electronic), 2002.
  3. P. W. Gross and P. R. Kotiuga. Data structures for geometric and topological aspects of finite element algorithms. Progress in Electromagnetics Research, PIER, 32:151–169, 2001.
  4. A. Hatcher. Algebraic Topology. Cambridge University Press, 2001.
  5. R. Hiptmair. Canonical construction of finite elements. Math. Comp., 68(228):1325–1346, 1999.
  6. R. Hiptmair. Discrete Hodge-operators: An algebraic perspective. Progress in Electromagnetics Research, PIER, 32:247–269, 2001a.
  7. R. Hiptmair. Higher order Whitney forms. Progress in Electromagnetics Research, PIER, 32:271–299, 2001b.
  8. R. Hiptmair. Finite elements in computational electromagnetism. In Acta Numerica, volume 11, pages 237–339. Cambridge University Press, 2002.
  9. A. N. Hirani. Discrete Exterior Calculus. PhD thesis, California Institute of Technology, 2003.
  10. J. D. Jackson. Classical Electrodynamics. Wiley, third edition, 1998.
  11. T. Kaczynski, K. Mischaikow, and M. Mrozek. Computational homology, volume 157 of Applied Mathematical Sciences. Springer-Verlag, 2004.
  12. M. Leok, J. E. Marsden, and A. Weinstein. A discrete theory of connections on principal bundles. (in preparation), 2003.
  13. A. Lew, J. E. Marsden, M. Ortiz, and M. West. Asynchronous variational integrators. Arch. Ration. Mech. An., 167(2):85–146, 2003.
  14. E. L. Mansfield and P. E. Hydon. On a variational complex for difference equations. In The Geometrical Study of Differential Equations (Washington, DC, 2000), volume 285 of Contemporary Mathematics, pages 121–129. American Mathematical Society, 2001.
  15. J. E. Marsden, S. Pekarsky, and S. Shkoller. Discrete Euler–Poincaré and Lie–Poisson equations. Nonlinearity, 12(6):1647–1662, 1999.
  16. J. E. Marsden, S. Pekarsky, and S. Shkoller. Symmetry reduction of discrete Lagrangian mechanics on Lie groups. J. Geom. Phys., 36(1-2):140–151, 2000.
  17. C. Mattiussi. An analysis of finite volume, finite element, and finite difference methods using some concepts from algebraic topology. J. Comput. Phys., 133(2):289–309, 1997.
  18. C. Mattiussi. The finite volume, finite difference, and finite element methods as numerical methods for physical field problems. Adv. Imag. Elect. Phys., 113:1–146, 2000.
  19. M. Meyer, M. Desbrun, P. Schröder, and A. H. Barr. Discrete differential-geometry operators for triangulated 2-manifolds. VisMath, 2002.
  20. B. Moritz. Vector Difference Calculus. PhD thesis, University of North Dakota, 2000.
  21. B. Moritz and W. A. Schwalm. Triangle lattice green functions for vector fields. J. Phys. A., 34(3):589–602, 2001.
  22. J. R. Munkres. Elements of Algebraic Topology. Addison-Wesley, 1984.
  23. R. A. Nicolaides and D. -Q. Wang. Convergence analysis of a covolume scheme for Maxwell’s equations in three dimensions. Math. Comp., 67(223):947–963, 1998.
  24. S. Pekarsky and M. West. Discrete diffeomorphism groupoids and circulation conserving fluid integrators. (in preparation), 2003.
  25. J. R. Schewchuck. What is a good linear finite element? Interpolation, conditioning, anisotropy and quality measures. URL http://www.cs.berkeley.edu/~jrs/papers/elemj.ps. (preprint), 2002.
  26. W. A. Schwalm, B. Moritz, M. Giona, and M. K. Schwalm. Vector difference calculus for physical lattice models. Phys. Rev. E, 59(1, part B):1217–1233, 1999.
  27. S. Sen, S. Sen, J. C. Sexton, and D. H. Adams. Geometric discretization scheme applied to the abelian Chern–Simons theory. Phys. Rev. E, 61(3):3174–3185, 2000.
  1. F. L. Teixeira. Geometric aspects of the simplicial discretization of Maxwell's equations. Progress in Electromagnetics Research, PIER, 32:171–188, 2001.
  2. Y. Y. Tong, S. Lombeyda, A. N. Hirani, and M. Desbrun. Discrete multiscale vector field decomposition. ACM Transactions on Graphics (SIGGRAPH), July 2003.
  3. E. Tonti. Finite formulation of electromagnetic field. IEEE Trans. Mag., 38:333–336, 2002.
  4. A. Weinstein. Lagrangian mechanics and groupoids. In Mechanics Day (Waterloo, ON, 1992), volume 7 of Fields Institute Communications, pages 207–231. American Mathematical Society, 1996.
  5. A. Weinstein. Groupoids: unifying internal and external symmetry. A tour through some examples. In Groupoids in Analysis, Geometry, and Physics (Boulder, CO, 1999), volume 282 of Contemporary Mathematics, pages 1–19. American Mathematical Society, 2001.
  6. H. Whitney. Geometric Integration Theory. Princeton University Press, 1957.
  7. Z. J. Wood. Computational Topology Algorithms for Discrete 2-Manifolds. PhD thesis, California Institute of Technology, 2003.

158-79, COMPUTER SCIENCE, CALTECH, PASADENA, CA 91125.

E-mail address: mathieu@caltech.edu

DEPARTMENT OF COMPUTER SCIENCE, UNIVERSITY OF ILLINOIS, URBANA, IL 61801.

E-mail address: hirani@cs.uiuc.edu

DEPARTMENT OF MATHEMATICS, UNIVERSITY OF MICHIGAN, ANN ARBOR, MI 48109.

E-mail address: mleok@umich.edu

107-81, CONTROL AND DYNAMICAL SYSTEMS, CALTECH, PASADENA, CA 91125.

E-mail address: marsden@cds.caltech.edu