Discrete calculus

Discrete calculus or the calculus of discrete functions, is the mathematical study of incremental change, in the same way that geometry is the study of shape and algebra is the study of generalizations of arithmetic operations. The word calculus is a Latin word, meaning originally "small pebble"; as such pebbles were used for calculation, the meaning of the word has evolved and today usually means a method of computation. Meanwhile, calculus, originally called infinitesimal calculus or "the calculus of infinitesimals", is the study of continuous change.

Discrete calculus has two entry points, differential calculus and integral calculus. Differential calculus concerns incremental rates of change and the slopes of piece-wise linear curves. Integral calculus concerns accumulation of quantities and the areas under piece-wise constant curves. These two points of view are related to each other by the fundamental theorem of discrete calculus.

The study of the concepts of change starts with their discrete form. The development is dependent on a parameter, the increment $$\Delta x$$ of the independent variable. If we so choose, we can make the increment smaller and smaller and find the continuous counterparts of these concepts as limits. Informally, the limit of discrete calculus as $$\Delta x\to 0$$ is infinitesimal calculus. Even though it serves as a discrete underpinning of calculus, the main value of discrete calculus is in applications.

Two initial constructions
Discrete differential calculus is the study of the definition, properties, and applications of the difference quotient of a function. The process of finding the difference quotient is called differentiation. Given a function defined at several points of the real line, the difference quotient at that point is a way of encoding the small-scale (i.e., from the point to the next) behavior of the function. By finding the difference quotient of a function at every pair of consecutive points in its domain, it is possible to produce a new function, called the difference quotient function or just the difference quotient of the original function. In formal terms, the difference quotient is a linear operator which takes a function as its input and produces a second function as its output. This is more abstract than many of the processes studied in elementary algebra, where functions usually input a number and output another number. For example, if the doubling function is given the input three, then it outputs six, and if the squaring function is given the input three, then it outputs nine. The derivative, however, can take the squaring function as an input. This means that the derivative takes all the information of the squaring function—such as that two is sent to four, three is sent to nine, four is sent to sixteen, and so on—and uses this information to produce another function. The function produced by differentiating the squaring function turns out to be something close to the doubling function.

Suppose the functions are defined at points separated by an increment $$\Delta x=h>0$$:
 * $$a, a+h, a+2h, \ldots, a+nh,\ldots$$

The "doubling function" may be denoted by $$g(x)=2x$$ and the "squaring function" by $$f(x)=x^2$$. The "difference quotient" is the rate of change of the function over one of the intervals $$[x,x+h]$$ defined by the formula:
 * $$\frac{f(x+h)-f(x)}{h}.$$

It takes the function $$f$$ as an input, that is all the information—such as that two is sent to four, three is sent to nine, four is sent to sixteen, and so on—and uses this information to output another function, the function $$g(x)=2x+h$$, as will turn out. As a matter of convenience, the new function may defined at the middle points of the above intervals:
 * $$a+h/2, a+h+h/2, a+2h+h/2,..., a+nh+h/2,...$$

As the rate of change is that for the whole interval $$[x,x+h]$$, any point within it can be used as such a reference or, even better, the whole interval which makes the difference quotient a $$1$$-cochain.

The most common notation for the difference quotient is:
 * $$\frac{\Delta f}{\Delta x}(x+h/2)=\frac{f(x+h)-f(x)}{h}.$$

If the input of the function represents time, then the difference quotient represents change with respect to time. For example, if $$f$$ is a function that takes a time as input and gives the position of a ball at that time as output, then the difference quotient of $$f$$ is how the position is changing in time, that is, it is the velocity of the ball.

If a function is linear (that is, if the points of the graph of the function lie on a straight line), then the function can be written as $$y=mx + b$$, where $$x$$ is the independent variable, $$y$$ is the dependent variable, $$b$$ is the $$y$$-intercept, and:
 * $$m= \frac{\text{rise}}{\text{run}}= \frac{\text{change in } y}{\text{change in } x} = \frac{\Delta y}{\Delta x}.$$

This gives an exact value for the slope of a straight line.

If the function is not linear, however, then the change in $$y$$ divided by the change in $$x$$ varies. The difference quotient give an exact meaning to the notion of change in output with respect to change in input. To be concrete, let $$f$$ be a function, and fix a point $$x$$ in the domain of $$f$$. $$(x, f(x))$$ is a point on the graph of the function. If $$h$$ is the increment of $$x$$, then $$x + h$$ is the next value of $$x$$. Therefore, $$(x+h, f(x+h))$$ is the increment of $$(x, f(x))$$. The slope of the line between these two points is
 * $$m = \frac{f(x+h) - f(x)}{(x+h) - x} = \frac{f(x+h) - f(x)}{h}.$$

So $$m$$ is the slope of the line between $$(x, f(x))$$ and $$(x+h, f(x+h))$$.

Here is a particular example, the difference quotient of the squaring function. Let $$f(x)=x^2$$ be the squaring function. Then:
 * $$\begin{align}\frac{\Delta f}{\Delta x}(x) &={(x+h)^2 - x^2\over{h}} \\

&={x^2 + 2hx + h^2 - x^2\over{h}} \\ &={2hx + h^2\over{h}} \\ &= 2x + h. \end{align} $$

The difference quotient of the difference quotient is called the second difference quotient and it is defined at
 * $$a+h, a+2h, a+3h, \ldots, a+nh,\ldots$$

and so on.

Discrete integral calculus is the study of the definitions, properties, and applications of the Riemann sums. The process of finding the value of a sum is called integration. In technical language, integral calculus studies a certain linear operator.

The Riemann sum inputs a function and outputs a function, which gives the algebraic sum of areas between the part of the graph of the input and the x-axis.

A motivating example is the distances traveled in a given time.
 * $$\text{distance} = \text{speed} \cdot \text{time}$$

If the speed is constant, only multiplication is needed, but if the speed changes, we evaluate the distance traveled by breaking up the time into many short intervals of time, then multiplying the time elapsed in each interval by one of the speeds in that interval, and then taking the sum (a Riemann sum) of the distance traveled in each interval.



When velocity is constant, the total distance traveled over the given time interval can be computed by multiplying velocity and time. For example, travelling a steady 50 mph for 3 hours results in a total distance of 150 miles. In the diagram on the left, when constant velocity and time are graphed, these two values form a rectangle with height equal to the velocity and width equal to the time elapsed. Therefore, the product of velocity and time also calculates the rectangular area under the (constant) velocity curve. This connection between the area under a curve and distance traveled can be extended to any irregularly shaped region exhibiting an incrementally varying velocity over a given time period. If the bars in the diagram on the right represents speed as it varies from an interval to the next, the distance traveled (between the times represented by $$a$$ and $$b$$) is the area of the shaded region $$s$$.

So, the interval between $$a$$ and $$b$$ is divided into a number of equal segments, the length of each segment represented by the symbol $$\Delta x$$. For each small segment, we have one value of the function $$f(x)$$. Call that value $$v$$. Then the area of the rectangle with base $$\Delta x$$ and height $$v$$ gives the distance (time $$\Delta x$$ multiplied by speed $$v$$) traveled in that segment. Associated with each segment is the value of the function above it, $$f(x) = v$$. The sum of all such rectangles gives the area between the axis and the piece-wise constant curve, which is the total distance traveled.

Suppose a function is defined at the mid-points of the intervals of equal length $$\Delta x=h>0$$:
 * $$a+h/2, a+h+h/2, a+2h+h/2,\ldots, a+nh-h/2,\ldots$$

Then the Riemann sum from $$a$$ to $$b=a+nh$$ in sigma notation is:
 * $$\sum_{i=1}^n f(a+ih)\, \Delta x.$$

As this computation is carried out for each $$n$$, the new function is defined at the points:
 * $$a, a+h, a+2h, \ldots, a+nh,\ldots$$

The fundamental theorem of calculus states that differentiation and integration are inverse operations. More precisely, it relates the difference quotients to the Riemann sums. It can also be interpreted as a precise statement of the fact that differentiation is the inverse of integration.

The fundamental theorem of calculus: If a function $$f$$ is defined on a partition of the interval $$[a, b]$$, $$b=a+nh$$, and if $$F$$ is a function whose difference quotient is $$f$$, then we have:
 * $$\sum_{i=0}^{n-1} f(a+ih+h/2)\, \Delta x = F(b) - F(a).$$

Furthermore, for every $m=0,1,2,\ldots,n-1$, we have:
 * $$\frac{\Delta}{\Delta x}\sum_{i=0}^m f(a+ih+h/2)\, \Delta x = f(a+mh+h/2).$$

This is also a prototype solution of a difference equation. Difference equations relate an unknown function to its difference or difference quotient, and are ubiquitous in the sciences.

History
The early history of discrete calculus is the history of calculus. Such basic ideas as the difference quotients and the Riemann sums appear implicitly or explicitly in definitions and proofs. After the limit is taken, however, they are never to be seen again. However, the Kirchhoff's voltage law (1847) can be expressed in terms of the one-dimensional discrete exterior derivative.

During the 20th century discrete calculus remains interlinked with infinitesimal calculus especially differential forms but also starts to draw from algebraic topology as both develop. The main contributions come from the following individuals:
 * Henri Poincaré: triangulations (barycentric subdivision, dual triangulation), Poincaré lemma, the first proof of the general Stokes Theorem, and a lot more
 * L. E. J. Brouwer: simplicial approximation theorem
 * Élie Cartan, Georges de Rham: the notion of differential form, the exterior derivative as a coordinate-independent linear operator, exactness/closedness of forms
 * Emmy Noether, Heinz Hopf, Leopold Vietoris, Walther Mayer: modules of chains, the boundary operator, chain complexes
 * J. W. Alexander, Solomon Lefschetz, Lev Pontryagin, Andrey Kolmogorov, Norman Steenrod, Eduard Čech: the early cochain notions
 * Hermann Weyl: the Kirchhoff laws stated in terms of the boundary and the coboundary operators
 * W. V. D. Hodge: the Hodge star operator, the Hodge decomposition
 * Samuel Eilenberg, Saunders Mac Lane, Norman Steenrod, J.H.C. Whitehead: the rigorous development of homology and cohomology theory including chain and cochain complexes, the cup product
 * Hassler Whitney: cochains as integrands

The recent development of discrete calculus, starting with Whitney, has been driven by the needs of applied modeling.

Applications
Discrete calculus is used for modeling either directly or indirectly as a discretization of infinitesimal calculus in every branch of the physical sciences, actuarial science, computer science, statistics, engineering, economics, business, medicine, demography, and in other fields wherever a problem can be mathematically modeled. It allows one to go from (non-constant) rates of change to the total change or vice versa, and many times in studying a problem we know one and are trying to find the other.

Physics makes particular use of calculus; all discrete concepts in classical mechanics and electromagnetism are related through discrete calculus. The mass of an object of known density that varies incrementally, the moment of inertia of such objects, as well as the total energy of an object within a discrete conservative field can be found by the use of discrete calculus. An example of the use of discrete calculus in mechanics is Newton's second law of motion: historically stated it expressly uses the term "change of motion" which implies the difference quotient saying The change of momentum of a body is equal to the resultant force acting on the body and is in the same direction. Commonly expressed today as Force = Mass × Acceleration, it invokes discrete calculus when the change is incremental because acceleration is the difference quotient of velocity with respect to time or second difference quotient of the spatial position. Starting from knowing how an object is accelerating, we use the Riemann sums to derive its path.

Maxwell's theory of electromagnetism and Einstein's theory of general relativity have been expressed in the language of discrete calculus.

Chemistry uses calculus in determining reaction rates and radioactive decay (exponential decay).

In biology, population dynamics starts with reproduction and death rates to model population changes (population modeling).

In engineering, difference equations are used to plot a course of a spacecraft within zero gravity environments, to model heat transfer, diffusion, and wave propagation.

The discrete analogue of Green's theorem is applied in an instrument known as a planimeter, which is used to calculate the area of a flat surface on a drawing. For example, it can be used to calculate the amount of area taken up by an irregularly shaped flower bed or swimming pool when designing the layout of a piece of property. It can be used to efficiently calculate sums of rectangular domains in images, to rapidly extract features and detect object; another algorithm that could be used is the summed area table.

In the realm of medicine, calculus can be used to find the optimal branching angle of a blood vessel so as to maximize flow. From the decay laws for a particular drug's elimination from the body, it is used to derive dosing laws. In nuclear medicine, it is used to build models of radiation transport in targeted tumor therapies.

In economics, calculus allows for the determination of maximal profit by calculating both marginal cost and marginal revenue, as well as modeling of markets.

In signal processing and machine learning, discrete calculus allows for appropriate definitions of operators (e.g., convolution), level set optimization and other key functions for neural network analysis on graph structures.

Discrete calculus can be used in conjunction with other mathematical disciplines. For example, it can be used in probability theory to determine the probability of a discrete random variable from an assumed density function.

Calculus of differences and sums
Suppose a function (a $$0$$-cochain) $$f$$ is defined at points separated by an increment $$\Delta x=h>0$$:
 * $$a, a+h, a+2h, \ldots, a+nh,\ldots$$

The difference (or the exterior derivative, or the coboundary operator) of the function is given by:
 * $$\big(\Delta f\big)\big([x,x+h]\big)=f(x+h)-f(x).$$

It is defined at each of the above intervals; it is a $$1$$-cochain.

Suppose a $$1$$-cochain $$g$$ is defined at each of the above intervals. Then its sum is a function (a $$0$$-cochain) defined at each of the points by:
 * $$\left(\sum g\right)\!(a+nh) = \sum_{i=1}^{n} g\big([a+(i-1)h,a+ih]\big).$$

These are their properties:
 * Constant rule: If $$c$$ is a constant, then
 * $$\Delta c = 0$$


 * Linearity: if $$a$$ and $$b$$ are constants,
 * $$\Delta (a f + b g) = a \,\Delta f + b \,\Delta g,\quad \sum (a f + b g) = a \,\sum f + b \,\sum g$$


 * Product rule:
 * $$ \Delta (f g) = f \,\Delta g + g \,\Delta f + \Delta f \,\Delta g $$


 * Fundamental theorem of calculus I:
 * $$ \left( \sum \Delta f\right)\!(a+nh) = f(a+nh)-f(a) $$


 * Fundamental theorem of calculus II:
 * $$ \Delta\!\left(\sum g\right) = g $$

The definitions are applied to graphs as follows. If a function (a $$0$$-cochain) $$f$$ is defined at the nodes of a graph:
 * $$a, b, c, \ldots $$

then its exterior derivative (or the differential) is the difference, i.e., the following function defined on the edges of the graph ($$1$$-cochain):
 * $$\left(df\right)\!\big([a,b]\big) = f(b)-f(a).$$

If $$g$$ is a $$1$$-cochain, then its integral over a sequence of edges $$\sigma$$ of the graph is the sum of its values over all edges of $$\sigma$$ ("path integral"):
 * $$\int_\sigma g = \sum_{\sigma} g\big([a,b]\big).$$

These are the properties:
 * Constant rule: If $$c$$ is a constant, then
 * $$dc = 0$$


 * Linearity: if $$a$$ and $$b$$ are constants,
 * $$d(a f + b g) = a \,df + b \,dg,\quad \int_\sigma (a f + b g) = a \,\int_\sigma f + b \,\int_\sigma g$$


 * Product rule:
 * $$d(f g) = f \,dg + g \,df + df \,dg$$


 * Fundamental theorem of calculus I: if a $$1$$-chain $$\sigma$$ consists of the edges $$[a_0,a_1],[a_1,a_2],...,[a_{n-1},a_n]$$, then for any $$0$$-cochain $$f$$
 * $$\int_\sigma df = f(a_n)-f(a_0)$$


 * Fundamental theorem of calculus II: if the graph is a tree, $$g$$ is a $$1$$-cochain, and a function ($$0$$-cochain) is defined on the nodes of the graph by
 * $$f(x) = \int_\sigma g$$
 * where a $$1$$-chain $$\sigma$$ consists of $$[a_0,a_1],[a_1,a_2],...,[a_{n-1},x]$$ for some fixed $$a_0$$, then
 * $$df = g$$

See references.

Chains of simplices and cubes


A simplicial complex $$S$$ is a set of simplices that satisfies the following conditions:
 * 1. Every face of a simplex from $$S$$ is also in $$S$$.
 * 2. The non-empty intersection of any two simplices $$\sigma_1, \sigma_2 \in S$$ is a face of both $$\sigma_1$$ and $$\sigma_2$$.



By definition, an orientation of a k-simplex is given by an ordering of the vertices, written as $$(v_0,...,v_k)$$, with the rule that two orderings define the same orientation if and only if they differ by an even permutation. Thus every simplex has exactly two orientations, and switching the order of two vertices changes an orientation to the opposite orientation. For example, choosing an orientation of a 1-simplex amounts to choosing one of the two possible directions, and choosing an orientation of a 2-simplex amounts to choosing what "counterclockwise" should mean.

Let $$S$$ be a simplicial complex. A simplicial k-chain is a finite formal sum
 * $$\sum_{i=1}^N c_i \sigma_i, \,$$

where each ci is an integer and σi is an oriented k-simplex. In this definition, we declare that each oriented simplex is equal to the negative of the simplex with the opposite orientation. For example,
 * $$ (v_0,v_1) = -(v_1,v_0).$$

The vector space of k-chains on $$S$$ is written $$C_k$$. It has a basis in one-to-one correspondence with the set of k-simplices in $$S$$. To define a basis explicitly, one has to choose an orientation of each simplex. One standard way to do this is to choose an ordering of all the vertices and give each simplex the orientation corresponding to the induced ordering of its vertices.

Let $$\sigma = (v_0,...,v_k)$$ be an oriented k-simplex, viewed as a basis element of $$C_k$$. The boundary operator
 * $$\partial_k: C_k \rightarrow C_{k-1}$$

is the linear operator defined by:
 * $$\partial_k(\sigma)=\sum_{i=0}^k (-1)^i (v_0, \dots , \widehat{v_i} , \dots ,v_k),$$

where the oriented simplex
 * $$(v_0, \dots , \widehat{v_i} , \dots ,v_k)$$

is the $$i$$th face of $$\sigma$$, obtained by deleting its $$i$$th vertex.

In $$C_k$$, elements of the subgroup
 * $$Z_k = \ker \partial_k$$

are referred to as cycles, and the subgroup
 * $$B_k = \operatorname{im} \partial_{k+1}$$

is said to consist of boundaries.

A direct computation shows that $$\partial^2= 0$$. In geometric terms, this says that the boundary of anything has no boundary. Equivalently, the vector spaces $$(C_k, \partial_k)$$ form a chain complex. Another equivalent statement is that $$B_k$$ is contained in $$Z_k$$.

A cubical complex is a set composed of points, line segments, squares, cubes, and their n-dimensional counterparts. They are used analogously to simplices to form complexes. An elementary interval is a subset $$I\subset\mathbf{R}$$ of the form
 * $$I = [\ell, \ell+1]\quad\text{or}\quad I=[\ell, \ell]$$

for some $$\ell\in\mathbf{Z}$$. An elementary cube $$Q$$ is the finite product of elementary intervals, i.e.
 * $$Q=I_1\times I_2\times \cdots\times I_d\subset \mathbf{R}^d$$

where $$I_1,I_2,\ldots,I_d$$ are elementary intervals. Equivalently, an elementary cube is any translate of a unit cube $$[0,1]^n$$ embedded in Euclidean space $$\mathbf{R}^d$$ (for some $$n,d\in\mathbf{N}\cup\{0\}$$ with $$n\leq d$$). A set $$X\subseteq\mathbf{R}^d$$ is a cubical complex if it can be written as a union of elementary cubes (or possibly, is homeomorphic to such a set) and it contains all of the faces of all of its cubes. The boundary operator and the chain complex are defined similarly to those for simplicial complexes.

More general are cell complexes.

A chain complex $$(C_*, \partial_*)$$ is a sequence of vector spaces $$\ldots,C_0, C_1, C_2, C_3, C_4, \ldots$$ connected by linear operators (called boundary operators) $$\partial_n : C_n \to C_{n-1}$$, such that the composition of any two consecutive maps is the zero map. Explicitly, the boundary operators satisfy $$\partial_n \circ \partial_{n+1} = 0$$, or with indices suppressed, $$\partial^2 = 0$$. The complex may be written out as follows.

\cdots \xleftarrow{\partial_0} C_0 \xleftarrow{\partial_1} C_1 \xleftarrow{\partial_2} C_2 \xleftarrow{\partial_3} C_3 \xleftarrow{\partial_4} C_4 \xleftarrow{\partial_5} \cdots $$

A simplicial map is a map between simplicial complexes with the property that the images of the vertices of a simplex always span a simplex (therefore, vertices have vertices for images). A simplicial map $$f$$ from a simplicial complex $$S$$ to another $$T$$ is a function from the vertex set of $$S$$ to the vertex set of $$T$$ such that the image of each simplex in $$S$$ (viewed as a set of vertices) is a simplex in $$T$$. It generates a linear map, called a chain map, from the chain complex of $$S$$ to the chain complex of $$T$$. Explicitly, it is given on $$k$$-chains by
 * $$f((v_0, \ldots, v_k)) = (f(v_0),\ldots,f(v_k))$$

if $$f(v_0), ..., f(v_k)$$ are all distinct, and otherwise it is set equal to $$0$$.

A chain map $$f$$ between two chain complexes $$(A_*, d_{A,*})$$ and $$(B_*, d_{B,*})$$ is a sequence $$f_*$$ of homomorphisms $$f_n : A_n \rightarrow B_n$$ for each $$n$$ that commutes with the boundary operators on the two chain complexes, so $$ d_{B,n} \circ f_n = f_{n-1} \circ d_{A,n}$$. This is written out in the following commutative diagram:
 * Chain map.svg

A chain map sends cycles to cycles and boundaries to boundaries.

See references.

Discrete differential forms: cochains
For each vector space Ci in the chain complex we consider its dual space $$C_i^* := \mathrm{Hom}(C_i,{\bf R}),$$ and $$d^i=\partial^*_i$$ is its dual linear operator
 * $$d^{i-1}: C_{i-1}^* \to C_{i}^*.$$

This has the effect of "reversing all the arrows" of the original complex, leaving a cochain complex
 * $$\cdots \leftarrow C_{i+1}^* \stackrel{\partial^*_i}{\leftarrow}\ C_{i}^* \stackrel{\partial^*_{i-1}}{\leftarrow} C_{i-1}^* \leftarrow \cdots $$

The cochain complex $$(C^*, d^*)$$ is the dual notion to a chain complex. It consists of a sequence of vector spaces $$...,C_0, C_1, C_2, C_3, C_4, ...$$ connected by linear operators $$d^n: C^n\to C^{n+1}$$ satisfying $$d^{n+1}\circ d^n = 0$$. The cochain complex may be written out in a similar fashion to the chain complex.

\cdots \xrightarrow{d^{-1}} C^0 \xrightarrow{d^0} C^1 \xrightarrow{d^1} C^2 \xrightarrow{d^2} C^3 \xrightarrow{d^3} C^4 \xrightarrow{d^4} \cdots $$

The index $$n$$ in either $$C_n$$ or $$C^n$$ is referred to as the degree (or dimension). The difference between chain and cochain complexes is that, in chain complexes, the differentials decrease dimension, whereas in cochain complexes they increase dimension.

The elements of the individual vector spaces of a (co)chain complex are called cochains. The elements in the kernel of $$d$$ are called cocycles (or closed elements), and the elements in the image of $$d$$ are called coboundaries (or exact elements). Right from the definition of the differential, all boundaries are cycles.

The Poincaré lemma states that if $$B$$ is an open ball in $${\bf R}^n$$, any closed $$p$$-form $$\omega$$ defined on $$B$$ is exact, for any integer $$p$$ with $$1 \le p\le n$$.

When we refer to cochains as discrete (differential) forms, we refer to $$d$$ as the exterior derivative. We also use the calculus notation for the values of the forms:
 * $$\omega (s)=\int_s\omega.$$

Stokes' theorem is a statement about the discrete differential forms on manifolds, which generalizes the fundamental theorem of discrete calculus for a partition of an interval:
 * $$\sum_{i=0}^{n-1} \frac{\Delta F}{\Delta x}(a+ih+h/2) \, \Delta x = F(b) - F(a).$$

Stokes' theorem says that the sum of a form $$\omega$$ over the boundary of some orientable manifold $$\Omega$$ is equal to the sum of its exterior derivative $$d\omega$$ over the whole of $$\Omega$$, i.e.,
 * $$\int_\Omega d\omega=\int_{\partial \Omega}\omega\,.$$



It is worthwhile to examine the underlying principle by considering an example for $$d=2$$ dimensions. The essential idea can be understood by the diagram on the left, which shows that, in an oriented tiling of a manifold, the interior paths are traversed in opposite directions; their contributions to the path integral thus cancel each other pairwise. As a consequence, only the contribution from the boundary remains.

See references.

The wedge product of forms
In discrete calculus, this is a construction that creates from forms higher order forms: adjoining two cochains of degree $$p$$ and $$q$$ to form a composite cochain of degree $$p + q$$.

For cubical complexes, the wedge product is defined on every cube seen as a vector space of the same dimension.

For simplicial complexes, the wedge product is implemented as the cup product: if $$f^p$$ is a $$p$$-cochain and $$g^q$$ is a $$q$$-cochain, then
 * $$(f^p \smile g^q)(\sigma) = f^p(\sigma_{0,1, ..., p}) \cdot g^q(\sigma_{p, p+1 ,..., p + q})$$

where $$\sigma$$ is a $$(p + q)$$ -simplex and $$\sigma_S,\ S \subset \{0,1,...,p+q \}$$, is the simplex spanned by $$S$$ into the $$(p+q)$$-simplex whose vertices are indexed by $$\{0,...,p+q \}$$. So, $$\sigma_{0,1, ..., p}$$ is the $$p$$-th front face and $$\sigma_{p, p+1, ..., p + q}$$ is the $$q$$-th back face of $$\sigma$$, respectively.

The coboundary of the cup product of cochains $$f^p$$ and $$g^q$$ is given by
 * $$d(f^p \smile g^q) = d{f^p} \smile g^q + (-1)^p(f^p \smile d{g^q}).$$

The cup product of two cocycles is again a cocycle, and the product of a coboundary with a cocycle (in either order) is a coboundary.

The cup product operation satisfies the identity
 * $$\alpha^p \smile \beta^q = (-1)^{pq}(\beta^q \smile \alpha^p).$$

In other words, the corresponding multiplication is graded-commutative.

See references.

Laplace operator
The Laplace operator $$\Delta f$$ of a function $$f$$ at a vertex $$p$$, is (up to a factor) the rate at which the average value of $$f$$ over a cellular neighborhood of $$p$$ deviates from $$f(p)$$. The Laplace operator represents the flux density of the gradient flow of a function. For instance, the net rate at which a chemical dissolved in a fluid moves toward or away from some point is proportional to the Laplace operator of the chemical concentration at that point; expressed symbolically, the resulting equation is the diffusion equation. For these reasons, it is extensively used in the sciences for modelling various physical phenomena.

The codifferential
 * $$\delta:C^k\to C^{k-1}$$

is an operator defined on $$k$$-forms by:
 * $$\delta = (-1)^{n(k-1) + 1} {\star} d {\star} = (-1)^{k}\, {\star}^{-1} d {\star} ,$$

where $$d$$ is the exterior derivative or differential and $$\star$$ is the Hodge star operator.

The codifferential is the adjoint of the exterior derivative according to Stokes' theorem:
 * $$ (\eta,\delta \zeta) = (d\eta,\zeta). $$

Since the differential satisfies $$d^2=0$$, the codifferential has the corresponding property
 * $$\delta^2 = {\star} d {\star} {\star} d {\star} = (-1)^{k(n-k)} {\star} d^2 {\star} = 0 .$$

The Laplace operator is defined by:
 * $$\Delta = (\delta + d)^2 = \delta d + d\delta .$$

See references.

Related

 * Discrete element method
 * Divided differences
 * Finite difference coefficient
 * Finite difference method
 * Finite element method
 * Finite volume method
 * Numerical differentiation
 * Numerical integration
 * Numerical methods for ordinary differential equations