text:
\section{Introduction}
This paper looks to discretize the following structures in differential geometry. Let $E$ be a vector bundle over a smooth manifold $M$. Consider the vector space of $E$-valued differential $k$-forms~$\Lambda^k(M;E)$ and the graded vector space $\Lambda^\bullet(M;E)\cong \bigoplus_k \Lambda^k(M;E)$ of $E$-valued forms. The graded algebra $\Lambda^\bullet(M)$ of differential forms acts on $\Lambda^\bullet(M;E)$ through linear maps
\begin{equation}
\Lambda^k(M)\times \Lambda^l(M;E)\to \Lambda^{k+l}(M;E),\qquad
(w,\alpha)\mapsto w\wedge \alpha \label{eq:moduleact}
\end{equation}
for each $k$ and $l$.
If we equip $E$ with a connection $\nabla\colon \Gamma(E)\to \Lambda^1(M;E)$, the \emph{exterior covariant derivative} extends~$\nabla$ to a degree~+1 map $d_\nabla$ on $E$-valued forms
\begin{eqnarray}
  \Gamma(E)=\Lambda^0(M;E)\stackrel{\nabla=d_\nabla}{\longrightarrow}
  \Lambda^1(M;E)\stackrel{d_\nabla}{\to}
  \Lambda^2(M;E)\stackrel{d_\nabla}{\to} \Lambda^3(M;E)\to
  \cdots \label{eq:sequence}
\end{eqnarray}
This extension $d_\nabla$ is designed to be compatible with the de~Rham differential $d\colon \Lambda^k(M)\to \Lambda^{k+1}(M)$ by way of the Leibniz rule,
\begin{eqnarray}
d_\nabla(w\wedge \alpha)=d w \wedge \alpha +(-1)^{|w|}w\wedge d_\nabla \alpha. \label{Leibniz}
\end{eqnarray}
When $E$ is the trivial line bundle and $\nabla$ is the trivial connection, we have $(\Lambda^k(M;E),d_\nabla)=(\Lambda^k(M),d)$, and~\eqref{Leibniz} becomes the usual Leibniz rule for the de~Rham differential. For a general connection, one important difference from the de~Rham complex is that $d_\nabla\circ d_\nabla$ need not be zero, and hence~\eqref{eq:sequence} need not be a cochain complex. Indeed, the vanishing of $d_\nabla\circ d_\nabla$ is equivalent to~$\nabla$ being a \emph{flat} connection. The failure of flatness is measured by the operator
\begin{eqnarray}
  d_\nabla\circ d_\nabla=F\in \Lambda^2(M;\text{End}(E))
\end{eqnarray}
aptly called the \emph{curvature} of $\nabla$. Here, $F$ acts on $E$-valued forms via the linear maps defined for each $k$ and $l$,
\begin{eqnarray}
\Lambda^k(M;\text{End}(E))\times \Lambda^l(M;E)\to \Lambda^{k+l}(M;E).\label{eq:actofend}
\end{eqnarray}
The structures~\eqref{eq:moduleact}-\eqref{eq:actofend} are natural in the manifold $M$: a smooth map $f\colon N\to M$ determines a map of the sequences~\eqref{eq:sequence} for $E$ on $M$ and $f^\ast E$ on $N$ using the connections $\nabla$ and $f^\ast\nabla$, this map is compatible with the induced map of de~Rham complexes, the curvature of $f^*\nabla$ is $f^*F$, the pullback of the curvature of $\nabla$. This generalizes naturality of the de~Rham complex, which in turn generalizes the chain rule. This paper develops a theory of discrete vector bundles with connection over simplicial complexes with properties mirroring~\eqref{eq:moduleact}-\eqref{eq:actofend} that are appropriately natural with respect to maps of simplicial complexes. One of the eventual goals of this theory is the development of coordinate independent numerical methods for partial differential equations in which geometry plays an important role. Classical examples include Einstein's equation and the Yang--Mills equations.

Our geometric intuition for discrete vector bundles with connections comes from two sources. The first is \emph{discrete exterior calculus} (DEC), reviewed in~\S\ref{sec:DEC} below. In brief, DEC is a combinatorial framework for discretizing scalar-valued differential forms, vector fields, and exterior calculus operators in a way that faithful encodes expected algebraic identities, e.g., the Leibniz rule for the de~Rham differential. Riemannian metric is encoded in DEC via a primal and dual cell complex incorporating orthogonality and lengths, areas, volumes etc. Our first constraint on any theory of discrete vector bundles with connection is that it specialize to the metric free part of DEC in the case of a trivial bundle with trivial connection.

The second source of inspiration comes from another well-known interpretation of curvature as the failure of parallel transport to be independent of the path. Indeed, a connection is flat if and only parallel transport with respect to a connection is invariant under smooth homotopies of paths preserving the endpoints. Furthermore, curvature can be computed as the infinitesimal parallel transport along the sides of an infinitesimal rectangle in~$M$. This suggests that one discretize the exterior covariant derivative in terms of parallel transport matrices and discretize the curvature operator using parallel transport around small loops. This leads to our second constraint on the theory of discrete vector bundles with connection: the discrete exterior covariant derivative operator and the discrete curvature operator be constructed by parallel transport maps.

This second idea is very much in keeping with various well-established methods. For example, lattice gauge theory as originally developed by Wilson~\cite{Wilson1974} encodes connection data in terms of parallel transport matrices. This is an area of active research in physics, e.g., see the textbook~\cite{LGT} for an overview.

Like lattice gauge theory, the fibers in our theory are situated at vertices and parallel transport maps on edges. Unlike lattice gauge theory our formulation is on simplicial complexes. Simplicial gauge theory has appeared in numerical analysis literature. For example Christiansen and Halvorsen~\cite{ChHa2012} defined an action for gauge theories on simplicial complexes inspired by finite element methods. Christiansen and Hu~\cite{ChHu2019} develop discrete vector bundles with connections with fibers at every dimension. In computer graphics discrete vector bundles with connection have been developed for simplicial surface meshes~\cite{LiToGoDe2016}.

Many of the definitions and constructions below are motivated by infinitesimal arguments, which we then implement ``approximately" on a simplicial mesh. Because of this philosophical underpinning in the infinitesimal, our formulas often resemble those that occur in the field of \emph{synthetic differential geometry}~\cite{Kock2006}, wherein one looks to make infinitesimal arguments rigorous.

\subsection*{Statement of results}
We now summarize our two main theorems. One concerns the structure preserving discretization of the framework for differential geometry using vector bundles described above. The second result is about the application of this discrete framework to trivializability and reduction of structure group. We state the theorems below and prove these in various propositions later in the paper. The new terminology used is defined later in the appropriate sections.

\begin{theorem}[Structure-preserving discretization]\label{mainthm1}
  Let $X'$ and $X$ be simplicial complexes $(E, \nabla)$ a discrete vector bundle with connection over $X$ and $f: X' \to X$ an abstract simplicial map. Then there exists $F \in C^2(X; \text{Hom}(E))$ (discrete curvature) and maps
  \begin{align*}
    \nabla &: \Gamma(E) = C^0(X;E) \to C^1(X;E)\\
    d_\nabla &: C^k(X; E) \to C^{k+1}(X; E)\\
    \wedge &: C^k(X) \times C^l(X;E) \to C^{k+l}(X; E)\\
    C^k(X&; \text{Hom}(E)) \times C^l(X;E) \to C^{k+l}(X; E)\\
    d_\nabla &: C^k(X; \text{Hom}(E)) \to C^{k+1}(X; \text{Hom}(E))
  \end{align*}
  such that
  \begin{enumerate}[(i)]
  \item (Leibniz rule, Prop.~\ref{prop:Leibniz1}, Cor.~\ref{cor:Leibniz_wedge})
    For $\alpha \in C^k(X; E)$ and $w \in C^l(X)$, $k,l \in \mathbb{N}$ :
    \[
      d_\nabla (\alpha \wedge w) = d_\nabla \alpha \wedge w +
      (-1)^k \alpha\wedge d w\, ,
    \]
  \item (Naturality, Prop.~\ref{prop:wedge_naturality} and~\ref{prop:dnaturality})
    $f^\ast(\alpha \wedge w) = f^\ast\alpha \wedge f^\ast w$,
    and $f^\ast d_\nabla = d_\nabla f^\ast$,
  \item (Curvature, Prop.~\ref{prop:dnabla2}) $d_\nabla d_\nabla \alpha = F \; \alpha$, and
  \item (Bianchi identity, Prop.~\ref{prop:bianchi}) $d_\nabla F = 0$.
  \end{enumerate}
\end{theorem}

The naturality results above reduce to results about DEC for a real line bundle and trivial connection. In Prop.~\ref{prop:averaging} we also give a new interpretation of anti-symmetrized cup product which is our discrete wedge product. This interpretation involves a double averaging involving the two cochains involved. In the case of a bundle metric, we show in Prop.~\ref{prop:metric_compatible} metric compatibility of the discrete connection in terms of a Leibniz rule.

We define a \emph{flat} discrete connection $\nabla$ to be one for which parallel transport is the same for homotopic paths. On the other hand, the curvature of the connection $F$ is defined as $d_\nabla^2$. The following shows vanishing curvature is indeed equivalent to a flat connection, and furthermore that curvature obstructs trivializability.

\begin{theorem}[Trivializability, Cor.~\ref{cor:trivializability} and Prop.~\ref{prop:flat}]
  Given a discrete vector bundle with connection $(E, \nabla)$ over a simply connected simplicial complex $X$, the following are equivalent: (i) $(E,\nabla)$ is trivializable; (ii) $(E,\nabla)$ is flat; and (iii) $F=0$.

\end{theorem}

The above follows from a result for connected but (possibly) not simply connected simplicial complexes, namely that a flat discrete vector bundle with connection is determined by a homomorphism out of its fundamental group, $\pi_1(X)\to {\rm GL}_n$.

In \S\ref{sec:reduction} we also describe conditions under which a bundle can be trivialized only partially, e.g., when it admits a trivializable subbundle. We phrase these results in terms of \emph{reduction of structure group} relative to a subgroup $G<{\rm GL}_n$. Reduction to $\{e\}<{\rm GL}_n$ is equivalent to trivializability.

\section{Background: Discrete exterior calculus and naturality}\label{sec:DEC}
In this section we give a brief overview of DEC. The new contributions are the observation that the core objects in DEC are \emph{natural}, mimicking naturality of the de~Rham complex in smooth geometry, and an averaging interpretation of discrete wedge product. In the discrete setting, smooth maps between smooth manifolds are replaced by abstract simplicial maps between simplicial complexes. The resulting naturality is also a warm-up to the naturality exhibited by discrete vector bundles in Theorem~\ref{mainthm1}.

The input data for DEC is a simplicial complex $X$ with additional decorations and properties. The discrete notions of differential form, exterior derivative, and wedge product only depend on the simplicial complex, importing standard methods from simplicial algebraic topology. When incorporating features that depend on a metric (e.g., a discretization of the Hodge star operator) essentially one requires that $X$ approximates a manifold. This assumption is appropriate given the desired applications: DEC has been used mostly as a method for solving partial differential equations (PDEs) on simplicial approximations of embedded orientable manifolds.

With the above in mind, below we will assume that $X$ arises as an approximation of an embedded manifold. In particular, each top dimensional simplex is embedded in $\mathbb{R}^N$ individually, and combinatorial data specifies how these are glued to each other. This may be presented by embedding the entire approximation of the manifold as a complex of dimension $m$ embedded in $\mathbb{R}^N$ for some $N \ge m$. A common example is a piecewise-linear (PL) approximation of a surface in $\mathbb{R}^3$. But the coordinate-independent aspect of DEC does not require such a global embedding. All the operations and objects are local to the simplices and their neighbors. In DEC, the top dimensional simplices of the simplicial approximation of an orientable manifold are oriented consistently and the lower dimensional simplices are oriented arbitrarily.

For simplicial complexes $X$ and $Y$ recall that an \emph{abstract simplicial map} $f\colon  X\to Y$ is of the form $f(\{v_0, \ldots, v_k\}) = \{f^{(0)}(v_0), \ldots, f^{(0)}(v_k)\}$ for some map  $f^{(0)}: X^{(0)} \to Y^{(0)}$ called the \emph{vertex map of $f$}. A vertex map is one that satisfies the property that $\{v_0, \ldots v_k\}$ spanning a simplex in $X$ implies $\{f(v_0), \ldots, f(v_k)\}$ spans one in $Y$. See for instance~\cite{Lee2011}. For us, abstract simplicial maps will be analogous maps between ordered simplices. That is, the sets $\{v_0, \ldots, v_k\}$ (simplices) above are replaced by ordered sets $[v_0, \ldots, v_k]$ (oriented simplices).

Given a differential form $\alpha \in \Lambda^k(M)$, its discrete analog in DEC is the $k$-cochain $\int_{\textvisiblespace }\alpha$ which takes values in $\mathbb{R}$ when evaluated on $k$-dimensional chains, that is, the result of a de~Rham map~\cite{Dodziuk1976}. The space of real-valued $k$-cochains on simplicial complex $X$ will be denoted $C^k(X)$. The coboundary operator on cochains plays the role of discrete exterior derivative ($d$), the cup product ($\smile$) plays the role of tensor product and the antisymmetrized cup product plays the role of a discrete wedge product ($\wedge$). Thus $d$ satisfies a Leibniz rule with respect to $\wedge$ since the coboundary operator does so with respect to $\smile$. Discrete Hodge star construction involves a Poincar\'e dual complex of $X$ using circumcenters and is not relevant to this paper.

\begin{example}
Let $X$ be the oriented simplicial complex with a single edge $[v_0, v_1]$ on which we will evaluate some DEC expressions. First consider $f,g \in C^0(X)$ and $\alpha \in C^1(X)$. If $f_i, g_i$ denote the values of $f,g$ on vertex $v_i$ and $\eval{\alpha}{[01]}$ the evaluation of $\alpha$ on the edge $[v_0, v_1]$. Then the evaluation of $f\alpha = f\wedge \alpha$ on the edge $[01]$ is
\begin{align*}
\eval{f \wedge \alpha}{[01]} = \frac{1}2 \big[\eval{f\smile \alpha}{[01]} - \eval{f\smile \alpha}{[10]}\big] =
\frac{1}2\big[f_0\; \alpha_{01} - f_1 \; \alpha_{10}\big] =
\frac{f_0 + f_1}2 \; \alpha_{01}\, .
\end{align*}
Since 1-cochains take values on edges and 0-cochains take values on vertices, for evaluating a wedge product of the two, one has to make a decision about combining the edge data with its vertex data and the wedge product definition in DEC results in the choice indicated by the averaging in the example above. The fact that this averaging generalizes to all wedge products is new in this paper. See Proposition~\ref{prop:averaging}. The interaction of this discrete wedge product with the discrete $d$ is seen in the simplest Leibniz rule $d(f g) = (df)g + f(dg)$. Writing the wedge products explicitly, the LHS evaluated on the edge is
\[
\eval{d(f\wedge g)}{[01]} = f_1\,g_1 - f_0\,g_0\, .
\]
On the other hand
\begin{align*}
    \eval{df\wedge g}{[01]} &= \frac{1}2
    \big[ \eval{df\smile g}{[01]} - \eval{df\smile g}{[10]}\big]
    =\frac{1}2\big[\eval{df}{[01]}g_1 - \eval{df}{[10]} g_0\big]\\
    &= \frac{1}2(f_1-f_0)g_1 - \frac{1}2(f_0 -f_1)g_0
    = \frac{1}2(f_1 g_1-f_0 g_1 - f_0 g_0 + f_1 g_0)\, ,
\end{align*}
and
\begin{align*}
    \eval{f\wedge dg}{[01]} &= \frac{1}2
    \big[ \eval{f\smile dg}{[01]} - \eval{f\smile dg}{[10]}\big]
    =\frac{1}2\big[f_0\eval{dg}{[01]} - f_1\eval{dg}{[10]} \big]\\
    &= \frac{1}2 f_0(g_1-g_0) - \frac{1}2 f_1(g_0 -g_1)
      = \frac{1}2(f_0 g_1-f_0 g_0 - f_1 g_0 + f_1 g_1)\, .
\end{align*}
Thus $\eval{df\wedge g + f \wedge dg}{[01]}$ is also $f_1 g_1 - f_0 g_0$. The factor 1/2 appearing in both the computations above is a normalizing factor that is part of the definition of the discrete wedge product.
\end{example}

The discrete $d$ and $\wedge$ commute with pullback by abstract simplicial maps. Thus such maps play the role that smooth maps play in calculus on smooth manifolds.

\section{Discrete Vector Bundles with Connection}\label{sec:dscrtvctrbndls}

\begin{definition}\label{defn:dvbwc}
  Given a simplicial complex $X$, a \emph{real} (respectively, \emph{complex}) \emph{discrete vector bundle with connection over $X$} consists of the following:
  \begin{enumerate}
  \item for each vertex $i\in X^{(0)}$, a finite-dimensional real (respectively, complex) vector space $E_{i}$ called the \emph{fiber} at~$i$; and
  \item for each edge $[ij] \in X^{(1)}$, an invertible linear map $U_{ji}\colon E_i\to E_j$ called \emph{parallel transport} from $i$ to $j$.
  \end{enumerate}
  We require the compatibility condition that $U_{ij}=U_{ji}^{-1}$.
\end{definition}

Sometimes we will refer to a discrete vector bundle with connection over $X$ simply as a \emph{vector bundle over $X$}.
  The \emph{rank} of a vector bundle on a connected component of $X$  is the (necessarily constant) dimension of the fibers. Given a subcomplex $Y\subset X$, the \emph{restriction} of a bundle is a discrete vector bundle with connection gotten from the obvious restriction of the data (1) and (2) above.

We note that one is always free to choose a basis for the vector space at each fiber, giving isomorphisms $\mathbb{R}^n\cong E_i$ or $\mathbb{C}^n\cong E_i$ for each~$i$. Borrowing terminology from the physics literature, we refer choices of such isomorphisms as a choice of \emph{gauge}. After a choice of gauge has been made, the parallel transport maps are determined by matrices in ${\rm GL}_n(\mathbb{R})$ for real vector bundles or ${\rm GL}_n(\mathbb{C})$ for complex vector bundles.
Below we use the notation ${\rm GL}_n$ to denote either ${\rm GL}_n(\mathbb{R})$ or ${\rm GL}_n(\mathbb{C})$, i.e., for statements that hold over both $\mathbb{R}$ and $\mathbb{C}$.

\begin{remark}\label{rmk:noconn}
  The notion of a discrete vector bundle without connection is not a particularly useful one: dropping the parallel transport maps gives vector spaces~$E_i$ at each vertex that have no geometric relationship with each other.
\end{remark}

\begin{definition}\label{defn:cochain}
  Given a discrete vector bundle with connection over $X$, a \emph{vector bundle valued $k$-cochain} $\alpha$ assigns to each $k$-simplex $\sigma$ of $X$ an element of $E_l$ where $l$ is a vertex in the simplex. This vector in $E_l$ will be denoted by $\eval{\alpha}{\sigma}^l$. The vector space of $k$-cochains is denoted $C^k(X;E)$. A \emph{section} $s$ is a vector bundle valued 0-cochain, i.e., a vector $s_i\in E_i$ for each vertex.
\end{definition}
In DEC cochains are homomorphisms from chain groups to a group (usually reals for PDEs). In what follows, all definitions and properties will be given as evaluation on a single simplex.

\begin{notation} \label{ntn:shorthand}
To simplify notation, we will often choose a total ordering on the vertices of $X$ and assume that the vertex $l$ in Definition~\ref{defn:cochain} is the lowest numbered vertex in $\sigma$. In such cases, or when it is clear from the context, the superscript in $\eval{\alpha}{\sigma}^l$ will be dropped. If $\tau$ is a permutation in $S_{k+1}$, $\sigma = [v_0, \ldots, v_k]$ then $\tau(\sigma)$ is the oriented simplex $[v_{\tau(0)}, \ldots, v_{\tau(k)}]$. In this case we define $\eval{\alpha}{\tau(\sigma)}^l := \sgn(\tau) \eval{\alpha}{\sigma}^l$ where $\sgn(\tau)$ is the sign of the permutation $\tau$. The cochain value $\eval{\alpha}{\sigma}^l$ when transported to a vertex $i$ will be denoted $\eval{\alpha}{\sigma}^l_i$, i.e., $\eval{\alpha}{\sigma}^l_i := U_{il} \eval{\alpha}{\sigma}^l$. In what follows we will often write $i$ for vertex $v_i$ and dispense with the commas unless needed. Thus the oriented simplex $[v_0, \ldots, v_k]$ may be written as $\simplex{k}$, an edge $[v_i, v_j]$ may be written as $[ij]$ etc. In examples, the value $\eval{\alpha}{[v_0, \ldots, v_k]}^l$ of a cochain may be shortened to $\alpha_{0\,...\, k}$ when $l$ is clear from the context or is not important.
\end{notation}

\begin{remark}\label{rem:form_discretization}
  We describe how to discretize smooth objects to extract vector bundle valued $k$-cochains. Let $E\to M$ be a smooth vector bundle over a smooth manifold $M$ with a chosen oriented triangulation. We discretize a smooth vector bundle valued differential $k$-form $\hat\alpha\in \Lambda^k(M;E)$ as follows. For each $k$-simplex $\mathbb{R}^k \supseteq \sigma \hookrightarrow M$, choose a vertex $l \in \sigma$, and an orientation of the vector space $E_l$ (which is canonical if the vector bundle $E\to M$ is oriented). There is a linear contracting homotopy from $\sigma$ to $l$ that gives an isomorphism of vector bundles $E\vert_\sigma \simeq \sigma \times E_l$ over $\sigma$. This isomorphism identifies the restriction $\hat\alpha|_\sigma$ with a vector \emph{space} valued differential form $\hat\alpha|_\sigma \in \Lambda^k(\sigma;E_l)$, for which the integral $\int_\sigma \hat{\alpha}$ is well-defined. Define the $k$-cochain $\alpha \in C^k(X; E)$ by the formula $\eval{\alpha}{\sigma}^l :=\int_\sigma \hat{\alpha}\in E_l$. The cochain $\alpha\in C^k(X;E)$ is the \emph{discretization} of the $\hat{\alpha}$ relative to the chosen \emph{discretization vertices}~$l\in \sigma$ for each $\sigma\hookrightarrow M$. We note that the discretization of a section $\hat\alpha\in \Lambda^0(M;E)=\Gamma(E)$ is canonical, but for $k>0$ the discretization may depend on the choice of vertices. Indeed, there is no assumption made about the relationship between $\eval{\alpha}{\sigma}^l$ and $\eval{\alpha}{\sigma}^j$ for~$l \ne j$.
\end{remark}

\begin{remark} \label{rem:discretization_vertex}
The discretization notation $\eval{\alpha}{\sigma}^l$ conveys information about the simplex $\sigma$ where the cochain $\alpha$ is being evaluated and also the vertex $l$ that played a role in the discretization as described in Remark~\ref{rem:form_discretization}. The discretization vertex information does not apply to  cochains constructed from other cochains. For example, when we define the discrete exterior covariant derivative $d_\nabla \alpha$ of a cochain $\alpha$ and the wedge product $\alpha\wedge w$ of cochains, the evaluation of the resulting constructed cochains $d_\nabla \alpha$ and $\alpha \wedge w$ on a simplex will be indicated as $\eval{d_\nabla \alpha}{\cdot}_i$ and $\eval{\alpha \wedge w}{\cdot}_i$ where $i$ is the vertex to which the result is transported or where it is constructed. But no vertex can appear in the superscript since such cochains are built from cochains that have already been discretized.
\end{remark}

\begin{definition} \label{defn:connection}
  The \emph{covariant derivative} (or \emph{connection}) is a map $\nabla\colon C^0(X;E)\to C^1(X;E)$ which to a section $s$ assigns the vector-valued 1-cochain defined by its value on edges $[ij]$ by
\begin{eqnarray}
\eval{\nabla s}{[ij]}_i  := U_{ij} s_j-s_i\, .\label{eq:connection}
\end{eqnarray}
\end{definition}

The defining feature of the covariant derivative in smooth geometry is a Leibniz rule with respect to multiplying a section of a bundle by a function on the base. This is proved in Proposition~\ref{prop:Leibniz1} after we have introduced a discrete wedge product and therefore justifies our terminology in the above definition.

\begin{remark}
  The covariant derivative completely determines the data (2) in Definition~\ref{defn:dvbwc}. As such, (following the convention in differential geometry) we use the notation $(E,\nabla)$ to refer to a discrete vector bundle with connection over a simplicial complex $X$.
\end{remark}

\begin{definition} \label{defn:bundlemaps}
 Let $f\colon X\to X'$ be an abstract simplicial map, $(E,\nabla)$ a discrete vetor bundle with connection over $X$, and $(E',\nabla')$ be a discrete vector bundle with connection over $X'$. A \emph{map of discrete vector bundles covering $f$}, denoted $\tilde{f}\colon (E,\nabla)\to (E',\nabla')$, is a collection of linear maps $\tilde{f}_l\colon E_l\to E'_{f(l)}$, one for each $l \in X^{(0)}$ so that the following diagram commutes
\begin{center}
  \begin{tikzcd}
  E_i \arrow[r, "\tilde{f}_i"] \arrow[d, "U_{ji}"] &  E'_{f(i)} \arrow[d, "U_{f(j)f(i)}"]\\
  E_j \arrow[r, "\tilde{f}_j"] & E'_{f(j)}
\end{tikzcd}
\end{center}
whenever there is an edge from vertex $i$ to $j$. In particular, if an edge $[ij]$ in $X$ is sent to a vertex in $X'$ under $f$ (so $f(i) = f(j)$), we assign $U_{f(j), f(i)}=\Id_{E_{f(i)}}$ to be the identity map.

A map of discrete vector bundles with connection is an \emph{isomorphism} if the simplicial map $f\colon X\to X'$ is an isomorphism and $\tilde{f}_i: E_{i}\to E'_{f(i)}$ is an isomorphism for all $i\in X^{(0)}$. An isomorphism of $(E,\nabla)$ covering the identity map on $X$ is called an \emph{automorphism} of $(E,\nabla)$. If a choice of gauge has been fixed, then an automorphism is also called a \emph{gauge transformation}.
\end{definition}

We note that a gauge transformation is specified by the data of an element of ${\rm GL}_n$ at each vertex.
\begin{example}\label{ex:triangle}
We explain how gauge transformations act on parallel transport matrices by way of an example. Consider the 1-dimensional simplicial complex $X$ with three vertices $X^{(0)}=\{0,1,2\}$ and three edges $X^{(1)}=\{[01],[12],[02]\}$, i.e., a triangle. A discrete vector bundle with connection on $X$ is the data of three vector spaces $E_i$, $i=0,1,2$ and three linear maps $U_{ji}\colon E_i\to E_j$. A choice of basis for each $E_i$ identifies $U_{ji}$ with a matrix, and we use the same notation $U_{ji}\in {\rm GL}_n$ to denote the matrix. A gauge transformation is the data of three matrices $g_i\in {\rm GL}_n$, $i=0,1,2$. The action on the parallel transport matrices is
\begin{eqnarray}
U_{ji}\mapsto g_jU_{ji}g_i^{-1}. \label{eq:gaugetrans}
\end{eqnarray}
\end{example}
The formula~\eqref{eq:gaugetrans} for the action of gauge transformations on parallel transport matrices applies to general discrete vector bundles with connection over an arbitrary simplicial complex $X$, where $g_i\in {\rm GL}_n$ is the data of the gauge transformation at each vertex of $X$, and $U_{ji}$ is the parallel transport matrix on an edge $[ij]$ in $X$.

We now describe a couple of basic operations on discrete vector bundles with connection imported from the smooth theory.

 \begin{definition}\label{defn:whitney}
   Given two discrete vector bundles with connection $(E,\nabla)$ and $(E^\prime,\nabla')$ over a simplicial complex $X$, their \emph{Whitney sum} denoted $(E,\nabla)\oplus (E',\nabla')$ or $(E\oplus E',\nabla\oplus\nabla')$ is the discrete vector bundle  with connection whose fibers are $E_{i}\oplus E^\prime_{i}$ and whose parallel transport maps assign to the edge $[ij]$ the linear map $U_{ji}\oplus U_{ji}'\colon E_{i}\oplus E_i'\to E_j\oplus E_j'$.
\end{definition}

\begin{definition} \label{defn:pullback_bundle}
  Let $(E,\nabla)$ be a vector bundle with connection on a simplicial complex $Y$ and $f\colon X\to Y$ an abstract simplicial map. We define the \emph{pullback bundle} $f^*(E,\nabla)=(f^*E,f^*\nabla)$ as the following discrete vector bundle with connection over $X$. The fiber of $f^*E$ at each vertex $i\in X^{(0)}$ is the vector space $E_{f(i)}$ and the connection $f^*\nabla$ is defined by assigning to each edge $[ij] \in X^{(1)}$ the parallel transport map:
  \[
    U_{ji} =
    \begin{cases}
      U_{f(j), f(i)} & \text{if $[f(i), f(j)] \in Y^{(1)}$}\\
      \Id_{E_{f(i)}} = \Id_{E_{f(j)}}  & \text{otherwise.}
    \end{cases}
  \]
  There is an evident map $\tilde{f}\colon (f^*E,f^*\nabla) \to (E,\nabla)$ covering $f\colon X\to Y$ defined fiberwise by $\tilde{f}_i = \tilde{f}\vert_{E_i}\colon (f^*E)_i \to E_{f(i)}$ as the identity map.
\end{definition}

\begin{example}
Let $X$ be the triangle 1-dimensional complex of the boundary of a triangle $[u_0,u_1,u_2]$ and $Y$ a 1-dimensional complex consisting of just the edge $[v_0, v_1]$ with parallel transport maps $U_{10}$. If $f:X\to Y$ is the abstract simplicial map defined by $u_0\mapsto v_0$, $u_1\mapsto v_1$ and $u_2 \mapsto v_0$ then the parallel transport maps of the pullback bundle are $U_{10}$, $\Id_{E_0}$ and $U_{01} = U_{10}^{-1}$ for the edges $[u_0, u_1]$, $[u_0, u_2]$ and $[u_1, u_2]$, respectively. The last one is $U_{01}$ since the edge $[u_1, u_2]$ is oriented from $u_1$ to $u_2$ and maps to the edge $[v_1, v_0]$.
\end{example}

The following result verifies that the pullback in discrete vector bundles satisfies the analogous universal property to the pullback of vector bundles over smooth manifolds.

\begin{proposition}
  Suppose that $(E^\prime,\nabla^\prime)\to (E,\nabla)$ is a map of discrete vector bundles covering map $f\colon X'\to X$ of simplicial complexes. Then there is a unique map $(E',\nabla^\prime)\to (f^*E,f^*\nabla)$ of discrete vector bundles with connection over $X^\prime$ (i.e., over identity map of $X'$).
\end{proposition}

The proof is straightforward and left to the reader.

From standard categorical arguments, the above universal property uniquely characterizes the pullback $f^*(E,\nabla)$ up to unique isomorphism. This allows one to verify many of the standard properties of pullbacks using the same arguments as for vector bundles on smooth manifolds. For example, for maps $f\colon X\to Y$, $g\colon Y\to Z$ of simplicial complexes and $(E,\nabla)$ a discrete vector bundle with connection on $Z$, there is a unique isomorphism between the discrete vector bundles with connection $f^*g^*(E,\nabla)$ and~$(g\circ f)^*(E,\nabla)$ over $X$.

We define pullbacks of $E$-valued cochains as follows.
\begin{definition}
  Given $\alpha\in C^k(Y; E)$, an abstract simplicial map $f\colon X\to Y$ and a $k$-simplex $\simplex[u_0]{u_k}$ in $X$, the \emph{pullback of $\alpha$}, denoted $f^*\alpha$, is the $f^*E$-valued cochain defined by:
  \[
    \eval{f^*\alpha}{\simplex[u_0]{u_k}}_{u_0} \mathrel{\mathop:}=
    \begin{cases}
      \eval{\alpha}{f(\simplex[u_0]{u_k})}_{f(u_0)} &
      \text{if $f(\simplex[u_0]{u_k})$ is a $k$-simplex in $Y$,}\\
      0 & \text{otherwise.}
    \end{cases}
  \]
\end{definition}

\begin{example} \label{ex:pullback}
  Let $X$ be the three-dimensional abstract simplicial complex with vertices, $u_0, \ldots u_3$ (tetrahedron) and $Y$ the two-dimensional complex with vertices $v_0$, $v_1$, $v_2$ (triangle), and $(E,\nabla)$ a discrete vector bundle with connection on $Y$. Assume that all the simplices are oriented by increasing vertex index numbers. For example, $[u_0, u_2, u_3]$ is the positive orientation for that triangle, etc. Let $f: X \to Y$ be the abstract simplicial map with the vertex map $u_i \mapsto v_i$ for $i=0,1, 2$ and $u_3 \mapsto v_0$. Thus $[u_0, u_3]\mapsto v_0$, $[u_1, u_3] \mapsto [v_1, v_0]$, $[u_2, u_3] \mapsto [v_2, v_0]$, $[u_0, u_1, u_2] \mapsto [v_0, v_1, v_2]$.  The pullback bundle $f^\ast E$ on $X$ has fiber $E_0$ at vertices $u_0$ and $u_3$ and fibers $E_1$ and $E_2$ at $u_1$ and $u_2$, respectively.

  Let $\alpha \in C^1(Y; E)$. We compute its pullback to the 1-cochain $f^\ast\alpha$ on $X$. For the edges of the triangle $[u_0, u_1, u_2]$, $\eval{f^\ast \alpha}{[u_0, u_1]}_{u_0} = \eval{\alpha}{f([u_0, u_1])}_{f(u_0)} = \eval{\alpha}{[v_0, v_1]}_{v_0}$ and similarly for $[u_0, u_2]$ and $[u_1, u_2]$.  Since the tetrahedron edge $[u_0, u_3]$ collapses to the vertex $v_0$ the pullback to this edge is 0 for dimensional reason, i.e., $\eval{f^\ast\alpha}{[u_0, u_3]} = \eval{\alpha}{f([u_0, u_3])}_{u_0} = \eval{\alpha}{[v_0]}_{v_0} = 0$. The evaluation of the pullback to the remaining two edges $[u_1, u_3]$ and $[u_2, u_3]$ will involve a sign change. Specifically $\eval{f^\ast\alpha}{[u_1, u_3]}_{u_1}= \eval{\alpha}{f([u_1, u_3])}_{f(u_1)} = \eval{\alpha}{[v_1, v_0]}_{v_1} = -\eval{\alpha}{[v_0, v_1]}_{v_1}$.  Similarly $\eval{f^\ast\alpha}{[u_2, u_3]}_{u_2} = -\eval{\alpha}{[v_0, v_2]}_{v_2}$ since the edge $[u_2, u_3]$ of the tetrahedron $X$ maps to the edge $[v_2, v_0]$ of the triangle $Y$.
 \end{example}

\section{Flat vector bundles and trivializability}
\label{sec:trivial}

Suppose we are given a discrete vector bundle with a choice of gauge, i.e., each fiber is equipped with a choice of basis determining an isomorphism $E_i\cong \mathbb{R}^n$ or $\mathbb{C}^n$. Changing the basis has the effect of conjugating the parallel transport matrices as in~\eqref{eq:gaugetrans}. In good cases, there are choices of basis in which these parallel transport matrices can be simplified. Most optimistically, one might ask to transform the parallel transport matrices into identity matrices. This is formalized in the notion of a \emph{trivialization} of a discrete vector bundle with connection, defined as follows.

\begin{definition} The \emph{rank $n$ trivial} real (respectively, complex) discrete vector bundle with connection over~$X$ has fiber $\mathbb{R}^n$ (respectively, $\mathbb{C}^n$) at each vertex, and the identity $\Id_{\mathbb{R}^n}$ (respectively $\Id_{\rm \mathbb{C}^n}$) parallel transport maps on each edge of $X$. We use the notation $\underline{\mathbb{R}}^n$ (respectively, $\underline{\mathbb{C}}^n$) to denote the trivial discrete vector bundle with connection. A bundle $(E,\nabla)$ over $X$ is \emph{trivializable} if it is isomorphic to the trivial bundle. A choice of isomorphism with the trivial bundle is a \emph{trivialization}. Equivalently, a bundle $(E,\nabla)$ is trivializable if there is a choice of basis for each fiber $E_i\cong \mathbb{R}^n$ (or $E_i\cong \mathbb{C}^n$) such that every parallel transport map is the identity matrix.
\end{definition}

\begin{remark}
Following Remark~\ref{rmk:noconn}, we will not consider trivializations of discrete vector bundles without connection. Hence, we are interested in discrete analogs of \emph{geometric} obstructions to trivializability in smooth geometry (namely, curvature) rather than \emph{topological} ones (e.g., Chern classes).
\end{remark}

As recalled in the introduction, curvature of a vector bundle with connection on a smooth manifold can be understood in terms of parallel transport along infinitesimal loops. With this in mind, obstructions to the existence of a trivialization of a discrete vector bundle with connection will be  constructed out of parallel transport along loops and paths in the underlying simplicial complex. We therefore start with the following definitions of paths and loops borrowed from graph theory.

\begin{definition}
  A \emph{path} $\gamma$ in a simplicial complex $X$ is a sequence of vertices $v_0, \ldots, v_k$ such that $[v_i, v_{i+1}]$ is an edge in $X$, for $i = 0, \ldots, k-1$. The edges $[v_i, v_{i+1}]$ are then called \emph{edges of} $\gamma$. A \emph{loop} is a path such that $v_0 = v_k$.  The \emph{base point} of a loop is the vertex $v_0$.
\end{definition}

Note that vertices and edges of a path may be repeated. That is, a path may self-intersect at vertices and edges.

\begin{definition}
  Given a discrete vector bundle with connection $(E,\nabla)$, the \emph{parallel transport} along a path $\gamma$ is the composition of the parallel transport maps (adjusted according to edge orientations) encountered along the edges of $\gamma$ in the order they appear. The \emph{holonomy} $\text{hol}(\gamma)$ of a loop $\gamma$ is the parallel transport along the loop considered as a path from $v_0$ to itself.
\end{definition}

The following definition is adapted from simple homotopy theory~\cite{Cohen1973}.
\begin{definition}
  An \emph{elementary simple homotopy} of a path $v_0, \ldots,v_i',v_i, v_i'',\dots, v_k$ in a simplicial complex $X$ is a path $v_0, \ldots,v_i',v_i'',\dots, v_k$ where the vertices $v_i, v_i', v_i''$ determine a 2-simplex in $X$. Two paths are \emph{simply homotopic} if one can be obtained from the other by a finite sequence of elementary simply homotopies that leave the endpoints fixed.
\end{definition}

\begin{definition}\label{defn:flat}
 A vector bundle with connection is  \emph{flat} (or the connection is flat) if the parallel transport between any two points only depends on the simple homotopy class of the path connecting the two points.
\end{definition}

Later we shall give an equivalent characterization in terms of vanishing curvature, see Proposition~\ref{prop:flat}. The flatness property defined above is straightforward to check for a given discrete vector bundle with connection using the following result.

\begin{lemma}
  A connection is flat if and only if holonomy around every 2-simplex is the identity.
\end{lemma}
\begin{proof}
  If the holonomy around every 2-simplex is the identity, then parallel transport is invariant under elementary simple homotopies. Hence, parallel transport only depends on the simple homotopy class of the path. The converse is obvious.
\end{proof}

For the remainder of this section we will assume that $X$ is connected; this implies the existence of a spanning tree in the 1-skeleton $X^{(1)}$ of $X$.

\begin{lemma}\label{lem:tree}
  Given a vector bundle $(E,\nabla)$ over a connected simplicial complex $X$, its restriction over any spanning tree of $X^{(1)}$ is trivializable.
\end{lemma}
\begin{proof}
  Fix a spanning tree $T$ of $X^{(1)}$. Choose a basis for the fiber $E_0$ at the root $0$ of $T$. Then for every other vertex $i$ of $X$ take the unique basis of $E_i$ determined by the parallel transport of the basis of $E_0$ to $E_i$. The uniqueness of this parallel transport map follows from the uniqueness of paths between vertices of a tree. The resulting bases provide isomorphisms from $E_i$ to $\mathbb{R}^n$ for each $k$. Furthermore, the parallel transport matrices in this choice of gauge are identity matrices by construction.
  \end{proof}

\begin{definition}
The \emph{fundamental group} $\pi_1(X, 0)$ of a simplicial complex $X$ with respect to a base vertex $0$ is the set of loops in $X$ based at $0$ modulo the equivalence relation of simply homotopy. This set is endowed with a group structure inherited from concatenation of loops.
 \end{definition}

  Given a flat discrete vector bundle with connection $(E, \nabla)$ over a connected simplicial complex~$X$ with a chosen basepoint $0$, consider the map of sets
  \begin{eqnarray}
  \rho\colon  \pi_1(X, 0) \to {\rm GL}(E_0)\qquad [\gamma] \mapsto \text{hol}(\gamma).\label{eq:pi1rep}
  \end{eqnarray}

  \begin{lemma}
  The map~\eqref{eq:pi1rep} is a homomorphism of groups. For basepoints $0$ and $0'$, we obtain homomorphisms $\rho\colon \pi_1(X, 0) \to {\rm GL}(E_0)$ and $\rho'\colon \pi_1(X, 0') \to {\rm GL}(E_{0'})$ that are compatible via isomorphisms $\pi_1(X, 0)\to \pi_1(X, 0')$ and ${\rm GL}(E_0)\to {\rm GL}(E_{0'})$ uniquely specified by a homotopy class of path joining $0$ and $0'$.
  \end{lemma}
  \begin{proof}
  First we observe that the map is well-defined because the discrete vector bundle with connection is assumed to be flat. Next, we recall that the group structure on $\pi_1(X, 0)$ comes from concatenation of loops, $(\gamma,\gamma')\mapsto \gamma*\gamma'$. From the definition of holonomy as a composition of parallel transport matrices, it is immediate that $\text{hol}(\gamma * \gamma')=\text{hol}(\gamma)\circ \text{hol}(\gamma')$ and the first statement follows. If $0$ and $0'$ are different choices of basepoint a choice of path from $0$ to $0'$ determines a change-of-basepoint isomorphism $\pi_1(X, 0)\to \pi_1(X, 0')$ gotten by pre- and post-composing a loop based at $0$ with the path from $0$ to $0'$. By construction, this isomorphism only depends on the homotopy class of the path. Parallel transport along the path from $0$ to $0'$ gives an isomorphism ${\rm GL}(E_0)\to {\rm GL}(E_{0'})$. Flatness of the connection guarantees that this isomorphism only depends on the homotopy class of the path.
  \end{proof}

  We have the following trivializability result.
\begin{proposition}
  A discrete vector bundle with connection $(E,\nabla)$ over a connected simplicial complex $X$ is trivializable if and only if (i) $(E, \nabla)$ is flat, and (ii) the homomorphism~\eqref{eq:pi1rep} is trivial for one (and hence any) choice of basepoint.
  \label{prop:trivializability}
\end{proposition}
\begin{proof}
  For ease of notation, we treat the case of a real vector bundle; the complex case is identical. Suppose $(E,\nabla)$ is trivializable. Choose a trivialization whose data are specified by isomorphisms~$\varphi_i: E_i \to \mathbb{R}^n$ for each vertex. Then relative to these choices of basis, the parallel transport matrices are identity matrices. Then it is clear that the holonomy around any loop $\gamma$ (not just homotopically trivial one) is the identity map for any choice of basepoint. This proves the forward implication.
  Conversely, suppose conditions (i) and (ii) are satisfied. Then choose a spanning tree $T$ of $X^{(1)}$ rooted at vertex 0 and trivialize according to Lemma~\ref{lem:tree}. Note that this trivialization fixes an isomorphism~$\varphi_i: E_i \to \mathbb{R}^n$ and hence a basis of $E_i$ for each vertex~$i$. Now let $e$ be an edge not in $T$ and $\gamma$ be a loop containing $e$ such that every other edge in $\gamma$ is in $T$. Since the parallel transport matrices on $T$ are identities and~\eqref{eq:pi1rep} is assumed to be the trivial homomorphism, $U_e$ is also the identity matrix. This completes the proof.
\end{proof}

A connected simplicial complex $X$ is \emph{simply connected} if $\pi_1(X, 0) = \{e\}$. The following corollary to Proposition~\ref{prop:trivializability} shows that flatness completely determines trivializability in the simply connected case.

\begin{corollary} \label{cor:trivializability}
  Given a discrete vector bundle with connection $(E, \nabla)$ over a simply connected simplicial complex $X$, then $(E, \nabla)$ is trivializable if and only if $(E,\nabla)$ is flat.
\end{corollary}

\section{Reduction of structure group and trivial subbundles}\label{sec:reduction}

The following definition will allow us to consider intermediate versions of trivializability of a discrete vector bundle with connection.

\begin{definition}
Let $G$ be a subgroup of ${\rm GL}_n(\mathbb{R})$ (respectively, ${\rm GL}_n(\mathbb{C})$). A real discrete vector bundle with connection $(E,\nabla)$ has \emph{structure group $G$} if the fibers $E_i$ of $E$ are all the vector space $\mathbb{R}^n$ (respectively $\mathbb{C}^n$) and the parallel transport matrices are elements of~$G$. A discrete vector with connection has \emph{reduction to structure group $G$} if it is isomorphic to a discrete vector bundle with structure group $G$.
\end{definition}

\begin{example}
For a discrete vector bundle with connection $(E,\nabla)$, reduction of structure group to the trivial group~$\{e\}<{\rm GL}_n$ is equivalent to a choice of trivialization.
\end{example}

\begin{example}
Recall Definition~\ref{defn:whitney} of the Whitney sum of discrete vector bundles with connection. Given a rank $n$ discrete vector bundle with connection, there exists a rank $k$ discrete vector bundle with connection $(E',\nabla')$, a rank $(n-k)$ discrete vector bundle with connection $(E'',\nabla'')$ and an isomorphism $(E,\nabla)\cong (E',\nabla')\oplus (E'',\nabla'')$ if any only if there is a reduction to block diagonal structure group,
\begin{equation}\label{eq:blockD}
    G:=\left\{\left[\begin{array}{cc}
            A & 0 \\
            0 & B
        \end{array}\right]\in {\rm GL}_n\mid A\in {\rm GL}_k, B\in {\rm GL}_{n-k} \right\}\, .
\end{equation}
\end{example}

\begin{example}
Suppose that the fibers of a discrete vector bundle with connection are equipped with the structure of inner product spaces. Then parallel transport maps preserve the inner products if and only if there exists a reduction of structure group to ${\rm O}(n)<{\rm GL}_n(\mathbb{R})$. Similarly remarks apply in the complex case for Hermitian forms and reduction to the unitary group,~${\rm U}(n)<{\rm GL}_n(\mathbb{C})$.
\end{example}

The above example prompts the following definition; we will return to this in more detail at the end of~\S\ref{sec:dnabla}.

\begin{definition}\label{def:metriccompatible} Let $(E, \nabla)$ be a discrete vector bundle with connection. A \emph{metric} on $E$ is the structure of an inner product space on each vector space $E_i$. The connection $\nabla$ is \emph{metric compatible} if the parallel transport matrices $U_{ji}$ are inner product preserving linear maps for every edge $[ij]$. Equivalently, a connection is metric compatible if it has structure group ${\rm O}(n)<{\rm GL}_n(\mathbb{R})$, the orthogonal group.
\end{definition}

Special cases of reduction of structure group recover classical problems in linear algebra.

\begin{example}
Consider the discrete vector bundle with connection from Example~\ref{ex:triangle} with parallel transport matrices $A=U_{10}$ and identity matrices $I=U_{21}=U_{20}$ for the other edges. Gauge transformations $g_i=P$ that are equal at all vertices then have the effect
\[
U_{10}=A\mapsto P^{-1}AP,\quad U_{21}=U_{20}=I\mapsto PIP^{-1}=I.
\]
Hence in this example, questions about the reduction of structure group amount to similarity transformations for the matrix $A$. Explicitly, for a subgroup $G<{\rm GL}_n$, we ask whether there exists $B\in G$ and $P\in {\rm GL}_n$ with $P^{-1}AP=B$.
\end{example}

\begin{definition}
  Given a discrete vector bundle with connection $(E, \nabla)$ over a simplicial complex $X$ a \emph{subbundle} is a discrete vector bundle with connection $(E',\nabla')$ over $X$ and a map of discrete vector bundles $(E',\nabla')\to (E,\nabla)$ over $\Id_X$ whose maps on fibers are inclusion of subspaces $E_i'\subset E_i$ for each vertex $i\in X^{(0)}$. We use the notation $(E',\nabla')\subset (E,\nabla)$ to denote a subbundle.
\end{definition}

Note that the definition of a map of discrete vector bundles with connection requires the parallel transport matrices for a subbundle to satisfy $U_{ji}\vert_{E_i'} \subseteq E_j'\subset E_j$ for all edges $[ij]\in X^{(1)}$.

\begin{definition}
A\emph{rank $k$ trivial subbundle} of a discrete vector bundle with connection is a subbundle $(E',\nabla')\subset (E,\nabla)$ and an isomorphism from $(E',\nabla')$ to $\underline{\mathbb{R}}^k$, the trivial rank $k$ discrete vector bundle with connection (or $\underline{\mathbb{C}}^k$ in the complex case).
\end{definition}

An intermediate question to trivializability of a discrete vector bundle with connection is the following. Given a discrete vector bundle with connection $(E,\nabla)$ what is the largest $k$ for $(E,\nabla)$ has a rank $k$ trivial subbundle?

\begin{proposition}
A discrete vector bundle with connection $(E,\nabla)$ has a rank $k$ trivial subbundle if and only if it admits a reduction of structure group to the subgroup of block upper-triangular matrices of the form
  \begin{equation}\label{eq:blockUT}
    G:=\left\{\left[\begin{array}{cc}
            \Id_k & * \\
            0 & A
        \end{array}\right]\in {\rm GL}_n\mid A\in {\rm GL}_{n-k} \right\}\,
    \end{equation}
    where $*$ is an arbitrary $k\times (n-k)$ matrix.
\end{proposition}
\begin{proof}
  If the reduction of structure group exists, then the block upper-triangular form of $G$ yields an evident rank $k$ trivial subbundle given by the inclusions $\mathbb{R}^k\subset \mathbb{R}^n$. Conversely, suppose that $(E,\nabla)$ has a rank $k$ trivial subbundle. This gives the data of an injection $\mathbb{R}^k\hookrightarrow E_i$ for each fiber $E_i$, where the first $k$ basis vectors are the previously chosen basis for the image of $\mathbb{R}^k\hookrightarrow E_i$. Extend the image of the basis vector of $\mathbb{R}^k$ in $E_i$ to a basis of $E_i$ for each $i$. In this choice of gauge, the parallel transport matrices then take the form~\eqref{eq:blockUT}.
\end{proof}

\begin{definition}
A section $s$ of a discrete vector bundle with connection is \emph{parallel} if $\nabla s = 0$. A set of parallel sections $\{s^1,s^2,\dots , s^k\}$ is \emph{linearly independent} if the restriction to each fiber $E_v$ gives a linearly independent set $\{s^1_v,s^2_v,\dots , s^k_v\}$.
\end{definition}

\begin{corollary}
A discrete vector bundle with connection $(E,\nabla)$ admits a rank $k$ trivial subbundle if and only if there exists a set of $k$ linearly independent parallel sections.
\end{corollary}

\begin{proof}
 Extend the linearly independent set $\{s^1_v,s^2_v,\dots , s^k_v\}$ at each $E_v$ to a basis. In this choice of gauge, parallel transport matrices take the form~\eqref{eq:blockUT} and the result follows.
\end{proof}

\section{Wedge Product and Naturality}\label{sec:wedge}

We define a combinatorial wedge product between vector bundle valued and scalar valued cochains by anti-symmetrizing the cup product, as was done for scalar valued cochains in DEC~\cite{Hirani2003}. Thus the cup product plays a role that tensor product plays in exterior calculus on smooth manifolds. The additional ingredient that is needed for vector bundle valued cochains is that the summation for all the terms in the anti-symmetrization has to be carried out at a common vertex after parallel transporting. We show that this combinatorial wedge product is natural with respect to pullbacks under simplicial maps of the base simplicial complex. The anti-commutativity result follows from the corresponding cup product result.

A new result here is an interpretation of the combinatorial wedge product as an averaging. This is Proposition~\ref{prop:averaging} below and illustrative examples are Examples~\ref{eg:wedge1-1} and~\ref{eg:wedge2-1}. This suggests that in the absence of metric structure, discrete calculus theories such as DEC and the discrete differential geometry built here have a very simple underlying structure consisting of taking differences (for exterior derivative) and taking averages and products (for wedge product).

In \S~\ref{sec:dnabla} we define a discrete exterior covariant derivative $d_\nabla$ and show that the discrete wedge product satisfies the Leibniz rule with respect to $d_\nabla$.

\begin{definition}\label{defn:wedge}
  Given a vector bundle valued cochain $\alpha \in C^k(X, E)$ and scalar-valued cochain $w \in C^l(X)$ their \emph{wedge product} $\alpha \wedge w$ is defined by its evaluation on a $(k+l)$-simplex at a specified vertex (taken to be vertex 0 below):
  \begin{equation} \label{eq:wedge}
    \eval{\alpha \wedge w}{\simplex{k+l}}_0 =
    \dfrac{1}{k+l+1!}\sum_{\tau \in S_{k+l+1}} \sgn(\tau) \eval{\alpha \smile w}
    {\simplex[\tau(0)]{\tau(k+l)}}_0\\
  \end{equation}

\end{definition}

\begin{remark}
  In ~\eqref{eq:moduleact} we wrote the action of $\Lambda^\bullet(M)$ on $\Lambda^\bullet(M;E)$ through linear maps $\Lambda^k(M)\times \Lambda^l(M;E)\to \Lambda^{k+l}(M;E)$,
$(w,\alpha)\mapsto w\wedge \alpha$. Due to a choice made early in our work we have discretized $\alpha \wedge w$. The definition of $w \wedge \alpha$ is the same as above but with $\alpha \smile w$ replaced by $w \smile \alpha$.
\end{remark}

The notation used in Definition~\ref{defn:wedge} conveniently hides the use of parallel transport matrices that are needed to ensure that vectors to be added are all first transported to a common vertex. The example below makes the transport explicit and opens the way to the averaging interpretation of Proposition~\ref{prop:averaging}.

\begin{example}\label{eg:wedge1-1}
Let $\alpha \in C^1(X;E)$ and $w \in C^1(X)$ and $\sigma$ the oriented triangle $[012]$. Assume that $\alpha$ is discretized at vertex 0 in the sense of Remark~\ref{rem:form_discretization} and~\ref{rem:discretization_vertex}. Then
\begin{multline}\label{eq:wedge012}
    \eval{\alpha\wedge w}{[012]}_0 = \dfrac{1}6
    \bigg[\eval{\alpha\smile w}{[012]}_0 - \eval{\alpha \smile w}{[021]}_0
    -\eval{\alpha\smile w}{[102]}_0 \\+ \eval{\alpha\smile w}{[120]}_0
    + \eval{\alpha\smile w}{[201]}_0 - \eval{\alpha\smile w}{[210]}_0
    \bigg]\, .
\end{multline}
Some of the terms on the right hand side require a parallel transport to vertex 0. This is needed for $\eval{\alpha\smile w}{[120]}_0$ and $\eval{\alpha\smile w}{[210]}_0$ which involve vectors in $E_1$.  Thus $U_{01}$ has to be used to move these to $E_0$ before the final assembly.

Using the shorthand notation $\alpha_{ij}$ for $\eval{\alpha}{[ij]}$ and $w_{jk}$ for $\eval{w}{[jk]}$, terms like $\eval{\alpha\smile w}{[ijk]}$ above can be written as $\alpha_{ij} w_{jk}$ with an appropriate sign depending on the sign of the permutation corresponding to the ordering $i,j,k$ of vertices. Then~\eqref{eq:wedge012} is
\[
\eval{\alpha\wedge w}{[012]}_0 = \dfrac{1}6 \big[\alpha_{01} w_{12} - \alpha_{02} w_{21} - \alpha_{10} w_{02} + U_{01} \alpha_{12} w_{20} +
\alpha_{20} w_{01} - U_{01} \alpha_{21} w_{10}\big]\, .
\]
The terms can be collected by vertices and the signs adjusted to yield
\[
\eval{\alpha\wedge w}{[012]}_0 = \dfrac{1}6 \big[(\alpha_{01} w_{02} - \alpha_{02} w_{01}) + (\alpha_{01} w_{12} - U_{01} \alpha_{12} w_{01}) +
(\alpha_{02} w_{12} - U_{01} \alpha_{12} w_{02})\big]\, ,
\]
where the terms on the RHS can be interpreted as alternating products at the three vertices. However, another interpretation of the discrete wedge product is obtained by collecting the terms by edges. This yields
\begin{equation} \label{eq:averaged012}
\eval{\alpha\wedge w}{[012]}_0 =\dfrac{1}3 \bigg[ \alpha_{01}\dfrac{\left(w_{02} + w_{12}\right)}2 +
U_{01}\alpha_{12}\dfrac{\left(w_{10} + w_{20}\right)}2 +
\alpha_{20}\dfrac{\left(w_{01} + w_{21}\right)}2
\bigg]\, .
\end{equation}
In this interpretation, to compute the wedge product of two 1-cochains $\alpha$ and $w$ on a triangle, one goes around the triangle multiplying the value of $\alpha$ on an edge by the average value of $w$ on the two edges incident on that first edge. This is done for all 3 edges and the final result is the average of these products. Alternatively one can reverse the roles of $\alpha$ and $w$ (in terms of inner averaging and outer averaging) and then
\begin{equation} \label{eq:averaged012other}
  \eval{\alpha\wedge w}{[012]}_0 =\dfrac{1}3
  \bigg[
  \dfrac{\left(\alpha_{20} +  U_{01}\alpha_{21}\right)}2 \, w_{01} +
  \dfrac{\left(\alpha_{01} + \alpha_{02}\right)}2\, w_{12} +
  \dfrac{\left(\alpha_{10} + U_{01} \alpha_{12}\right)}2\, w_{20}
  \bigg]\, .
\end{equation}
Note that a particular choice of orientation of chains is required for each evaluation of a cochain to reveal this averaging interpretation. For example, $w_{02}$ is used in the first term in~\eqref{eq:averaged012} while $w_{20}$ is used in the second term and $\alpha_{20}$ rather than $\alpha_{02}$ is used in the third term. Informally, in this case one goes around the triangle in the direction it is oriented (counter clockwise in this case) taking values of $\alpha$ on each edge and the values of $w$ being used are taken on the two remaining edges pointing away. For~\eqref{eq:averaged012other} one takes the values with edges pointing towards. In general one can show that such choices permitting an averaging interpretation always exist. See Proposition~\ref{prop:averaging}, which also encodes an algorithm for making the orientation choices that reveal the averaging in the general case.
\end{example}

\begin{example}
  Other low dimensional examples show the simplicity of the averaging interpretation:
  \begin{align*}
    \eval{\alpha \wedge w}{[01]}_0 &= \alpha_{01}\dfrac{w_0 + w_1}2, \text{ for } \alpha \in C^1(X;E), w \in C^0(X)\\
    \eval{\alpha\wedge w}{[012]}_0 &= \left(\dfrac{\alpha_0 + U_{01}\alpha_1 + U_{02} \alpha_2}3\right) w_{012}, \text{ for } \alpha \in C^0(X;E), w \in C^2(X)
\end{align*}
\end{example}

To build intuition for the averaging interpretation in general in Proposition~\ref{prop:averaging} consider the following example.
\begin{example}\label{eg:wedge2-1}
Let $\alpha \in C^2(X;E)$ and $w \in C^1(X)$.  The averaging interpretation will yield an average over 4 terms, one for each triangle of the tetrahedron. Each term will be a product of the value of $\alpha$ on a triangle multiplied by the average of the 3 values of $w$ corresponding to the other 3 edges of the tetrahedron touching the triangles at the vertices of the triangle. That is,
\begin{multline}\label{eq:wedge2-1}
  \eval{\alpha \wedge w}{[0123]}_0 = \dfrac{1}4
  \Big[
  \alpha_{012}\left(\dfrac{w_{03}+ w_{13} + w_{23}}{3}\right) +
  \alpha_{031}\left(\dfrac{w_{02}+ w_{12} + w_{32}}{3}\right) \\+
  \alpha_{023}\left(\dfrac{w_{01}+ w_{21} + w_{31}}{3}\right) +
  U_{01}\alpha_{132}\left(\dfrac{w_{10}+ w_{20} + w_{30}}{3}\right)
  \Big] \end{multline}
The roles of $\alpha$ and $w$ in inner and outer averaging could have been reversed as in~\eqref{eq:averaged012other} as compared with~\eqref{eq:averaged012}.  Notice again that particular choices of orientations have been used in order to achieve the averaging interpretation in~\eqref{eq:wedge2-1}. All triangle terms are on triangles taken counter-clockwise viewed from outside the tetrahedron and all edge terms are on edges going away from the triangle. To see what becomes of the factor 1/24 = 1/(2+1+1)! in Definition~\ref{defn:wedge}, after collecting the terms by vertices the terms can be arranged as
\begin{multline*}
    \frac{1}{24}\Big[
    2(\alpha_{012}w_{03} - \alpha_{013}w_{02} + \alpha_{023}w_{01}) +
    2(\alpha_{012}w_{13} - \alpha_{013}w_{12} + U_{01}\alpha_{123}w_{01}) +\\
    2(\alpha_{012}w_{23} - \alpha_{023}w_{12} + U_{01}\alpha_{123}w_{02}) +
    2(\alpha_{013}w_{23} - \alpha_{023}w_{13} + U_{01}\alpha_{123}w_{03})
    \Big]\, .
\end{multline*}
Thus the factor outside becomes 1/12 which finally appears in equation~\eqref{eq:wedge2-1} as (1/4)(1/3) with (1/4) for the outer averaging over the 4 triangles of the tetrahedron and (1/3) for the inner averaging over the 3 other edges touching each triangle.
\end{example}

To prove the averaging interpretation of discrete wedge product we need the following lemma. Let $k,l \in \mathbb{Z}_{\ge 0}$ and $\sigma = \{0, 1, \ldots, k+l\}$ and let $S_{k+l+1}$ be the group of permutations of the elements of $\sigma$. Let $i: S_k \hookrightarrow S_{k+l+1}$ and $j:S_l \hookrightarrow S_{k+l+1}$ be inclusions so that elements of $i(S_k)$ and $j(S_l)$ act on the first $k$ and last $l$ positions of the input, respectively. For any $F \subset \sigma$ with $k$ elements, $v \in \sigma\setminus F$ and $G = \sigma \setminus (F \cup \{v\})$ define the set of permutations
\[
  P(F,v,G) \mathrel{\mathop:}= \setdef{\rho}{\rho \in S_{k+l+1}, \; \rho(0), \ldots, \rho(k-1) \in F,
    \; \rho(k) = v, \; \rho(k+1),\ldots,\rho(k+l)\in G}\, .
\]
We will denote by $(f,v,g)$ an ordering of the elements of $\sigma$ such that as sets, $f = F$ and $g = G$.  By definition of $P(F,v,G)$ each such ordering corresponds uniquely to a permutation in $P(F,v,G)$. We will write action of a permutation $\rho \in S_{k+l+1}$ on an ordering $(f,v,g)$ as $(\rho(f), v, \rho(g))$ and the action of $\tau_k \circ \tau_l$ for $\tau_k \in i(S_k)$ and $\tau_l \in j(S_l)$ as  $(\tau_k(f),v,\tau_l(g))$.

\begin{lemma}\label{lem:permutation}
  Let $F,v,G$ be as above and $(f_0, v, g_0)$ an ordering corresponding to a particular chosen permutation $\tau \in P(F,v,G)$. Then for all $(f,v,g)$ orderings corresponding to permutations in $P(F,v,G)$ there exist $\tau_k \in i(S_k)$ and $\tau_l \in j(S_l)$ depending on $(f,v,g)$ such that
  \begin{enumerate}[(i)]
  \item   $(\tau_k(f), v, \tau_l(g)) = (f_0, v, g_0)$; and
  \item $\sgn(\tau_k) \sgn(\tau_l) = \sgn(\tau)$.
  \end{enumerate}
\end{lemma}
\begin{proof}
Let $\eta \in S_{k+l+1}$ such that $(\eta(f_0), v, \eta(g_0)) = (0,\ldots, k+l)$. Then $\tau = \eta^{-1} \, \tau_l \, \tau_k\,  \eta$. Also, since the sign homomorphisms from $S_k, S_l, S_{k+l+1}$ to $Z_2$ are compatible with the inclusions $i$ and $j$ we have that $\sgn(\tau) = \sgn(\eta^{-1} \, \tau_k \, \tau_l \, \eta) = \sgn(\tau_k) \, \sgn(\tau_l)$.
\end{proof}
\begin{notation}
In the following we use the notation $f ^k \prec \sigma$ to denote a $k$-face $f$ of simplex $\sigma$, \emph{ignoring} orientations. That is, $f^k$ is just a subset of size $k+1$ of the vertices of $\sigma$. Sometimes we skip the superscript. For $\sigma$ an oriented simplex and $f$ an oriented face or a set of vertices, the face $\sigma \setminus f$ is an oriented face of $\sigma$ formed by deleting the vertices in face $f$ from the vertices of $\sigma$. For $g$ an oriented simplex and vertex $v$, $v \ast g$ is an  oriented simplex formed by union of $\{v\}$ with the vertex set of $g$.  As before, whenever a simplex is used in an evaluation of a cochain, for example $f$ in $\eval{\alpha}{f}$ it is assumed to be oriented. The specific orientation being used is not apparent in this notation.
\end{notation}
\begin{proposition}[Averaging interpretation of wedge product]\label{prop:averaging}
  Let $\alpha \in C^k(X; E)$, $w \in C^l(X)$ and $\sigma$ be a $(k+l)$-simplex in $X$. Then the discrete wedge product of Definition~\ref{defn:wedge} is
  \begin{align}
    \eval{\alpha\wedge w}{\sigma}_0 &=
                                      \frac{1}{\binom{k+l+1}{k+1}}
                                      \sum_{f^k \prec \sigma} \eval{\alpha}{f}_0\quad
                                      \bigg(\frac{1}{k+1} \sum_{v^0 \prec f}
                                      \eval{w}{v \ast (\sigma \setminus f)} \bigg) \label{eq:outer_alpha}\\
                                    &=
                                      \frac{1}{\binom{k+l+1}{l+1}}
                                      \sum_{f^l \prec \sigma}\,
                                      \bigg(\frac{1}{l+1} \sum_{v^0 \prec f}
                                      \eval{\alpha}{v \ast(\sigma\setminus f)}_0\bigg)\quad \eval{w}{f}\, ,
                                      \label{eq:outer_w}
  \end{align}
  where the orientations of $f$ and $v \ast (\sigma \setminus f)$ are such that the ordering $(f\setminus \{v\}, v, \sigma\setminus f)$ corresponds to an even permutation in $S_{k+l+1}$.
\end{proposition}
\begin{proof}
  We prove the first equality. The proof for the second is similar. The RHS of~\eqref{eq:wedge} can be written as a double sum, first summing over all vertices and for a fixed vertex summing over all the $(k-1)$-faces of $\sigma$ not containing that vertex to get
  \[
    \eval{\alpha\wedge w}{\sigma}_0 =\frac{1}{k+l+1!} \; \sum_{v^0 \prec \sigma}
    \quad \sum_{g^{k-1} \prec (\sigma\setminus \{v\})} k! \, \eval{\alpha }{v\ast g}_0
    \quad l! \, \eval{w}{\sigma\setminus g}\, .
  \]
  The orientations of the simplices $v\ast g$ and $\sigma\setminus g$ in the cochain evaluations above are such that the ordering $(g, v, \sigma \setminus (g\cup \{ v\}))$ corresponds to an even permutation in $P (g, v, \sigma \setminus (g\cup \{ v\}))$. (We have used $g$ etc. to represent both an ordering of vertices and the corresponding set.) The fact that the orderings of $\sigma$ corresponding to all the permutations in $P (g, v, \sigma \setminus (g\cup \{ v\}))$ can be reordered to the ordering $(g, v, \sigma \setminus (g\cup \{ v\}))$  follows from Lemma~\ref{lem:permutation}. The $k!\, l!$ factorial follows from the fact that there are $k!$ orderings for $g^{k-1} \prec (\sigma \setminus \{v\})$ once a $g$ is fixed and after in addition fixing a $v$ there are $l!$ orderings for the remaining vertices. The above can be rewritten as
  \[
    \frac{1}{k+1} \frac{1}{\binom{k+l+1}{k+1}} \; \sum_{v^0\prec \sigma}
    \quad \sum_{v^0 \ast g^{k-1} \prec \sigma} \eval{\alpha}{v\ast g}_0
    \quad \eval{w}{v \ast (\sigma \setminus (v \ast g))}\, .
  \]
Renaming $v\ast g \mathrel{\mathop=}: f$ we can rewrite this as
  \[
    \frac{1}{k+1} \frac{1}{\binom{k+l+1}{k+1}} \;
    \sum_{v^0\prec \sigma} \quad \sum_{f^k \prec \sigma} \eval{\alpha}{f}_0
    \quad \eval{w}{v \ast (\sigma \setminus f)}\, ,
  \]
  where it is understood that $f$ is a $k$-face of $\sigma$ that must contain the vertex $v$.  This can be expressed equivalently by using Lemma~\ref{lem:permutation} once for every choice of $v$ and switching the summation and moving the normalizing factors as
  \[
    \frac{1}{\binom{k+l+1}{k+1}} \;
    \sum_{f^k \prec \sigma} \eval{\alpha}{f}_0\quad
    \bigg(\frac{1}{k+1}\sum_{v^0 \prec f} \eval{w}{v \ast (\sigma \setminus f)}\bigg)\, ,
  \]
  where now the vertex summation is over all vertices $v$ in $f$.

It is crucial to note here that the only reason that we have been able to collect all the $w$ evaluations with a single $\alpha$ evaluation is because the Lemma~\ref{lem:permutation} can be used once for every choice of $v$ once the face $f$ and its orientation have been fixed.
\end{proof}

\begin{proposition}[Naturality of wedge product]\label{prop:wedge_naturality}
  Let $X,Y$ be simplicial complexes, $(E,\nabla)$ a discrete vector bundle with connection over $Y$ and $f:X\to Y$ an abstract simplicial map. Then for any $\alpha \in C^k(Y; E)$ and $w \in C^l(Y)$ and simplex $\simplex[u_0]{u_{k+l}}$ in $Y$
  \begin{equation}\label{eq:wedge_naturality}
    \eval{f^\ast(\alpha \wedge w)}{\simplex[u_0]{u_{k+l}}}_{u_0}=
    \eval{f^\ast\alpha \wedge f^\ast w}{\simplex[u_0]{u_{k+l}}}_{u_0}
    \end{equation}
\end{proposition}
\begin{proof}
    For cup product this naturality property follows from the definitions since
  \begin{align*}
    \eval{f^\ast(\alpha \smile w)}{\simplex[u_0]{u_{k+l}}}_{u_0} &=
                                                         \eval{\alpha \smile w}{f(\simplex[u_0]{u_{k+l}})}_{f(u_0)}=
    \eval{\alpha \smile w}{\simplex[f(u_0)]{f(u_{k+l})}}_{f(u_0)}\\
                                                                 &= \eval{\alpha}{\simplex[f(u_0)]{f(u_k)}}_{f(u_0)}\;\;
                                                                   \eval{w}{\simplex[f(u_k)]{f(u_{k+l})}}\\
    &= \eval{f^\ast\alpha}{\simplex[u_0]{u_k}}_{u_0}\eval{f^\ast w}{\simplex[u_k]{u_{k+l}}}\\
    &= \eval{f^\ast\alpha \smile f^\ast w}{\simplex[u_0]{u_{k+l}}}_{u_0}\, .
  \end{align*}
  For dimensional reasons, both sides are 0 if the vertex map of $f$ is not a bijection. For the wedge product, the terms in the expansion of $\eval{\alpha \wedge w}{\simplex[f(u_0)]{f(u_{k+l})}}_{f(u_0)}$ are terms of the form $\eval{\alpha \smile w}{\simplex[f(u_{\tau(0)})]{f(u_{\tau(k+l)})}}_{f(u_0)}$ where $\tau$ is a permutation in $S_{k+l+1}$. If the vertex map of $f$ is a bijection then each such term is equal to
  \begin{equation}\label{eq:tau_term}
    \eval{\alpha}{\simplex[f(u_{\tau(0)})]{f(u_{\tau(k)})}}_{f(u_0)}\;\;
    \eval{w}{\simplex[f(u_{\tau(k)})]{f(u_{\tau(k+l)})}}
  \end{equation}
  by the cup product result by relabelling the vertices under the permutation $\tau$.

  If the vertex map of $f$ is not a bijection then the LHS of~\eqref{eq:wedge_naturality} is 0. To show that the RHS is also 0 assume that for some $i \ne j$, $f(u_i) = f(u_j)$. If both $i$ and $j$ are in $\{\tau(0),\ldots,\tau(k)\}$ or both are in $\{\tau(k),\ldots,\tau(k+l)\}$ then that particular term of the form~\eqref{eq:tau_term} is 0 for dimensional reason.

  So assume now that $i =\tau(a)$ and $j=\tau(b)$ for $0\le a \le k$ and $k \le b \le k+l$ so that the term of type~\eqref{eq:tau_term} is not automatically 0. In this case, there will be a matching term in which $j=\tau(a)$ and $i=\tau(b)$. These two terms are identical and appear with opposite signs $\sgn(\tau)$ and hence cancel.
\end{proof}

\section{Discrete exterior covariant derivative}
\label{sec:dnabla}

The covariant derivative $\nabla$ in smooth geometry is initially defined as an an operator on sections of a smooth vector bundle. It has a natural extension to the exterior covariant derivative $d_\nabla$, an operator on vector bundle valued differential forms as in~\eqref{eq:sequence}. This extension has important geometric content, e.g., $d_\nabla$ squares to the curvature of the connection.

Similarly, the discrete covariant derivative was initially defined as an operator on sections in Definition~\ref{defn:connection}. In this section we extend it to vector bundle valued $k$-cochains for $k > 0$. This generalization is the simplicial interpretation of the operator defined in infinitesimal context by Kock~\cite{Kock1996}. We show here that this simplicial interpretation satisfies Leibniz rule with respect to the discrete wedge product defined in \S\ref{sec:wedge} and it commutes with pullback by abstract simplicial maps. A point of departure from Kock ~\cite{Kock1996}  is that his wedge product is closer to a cup product rather than an anti-symmetrized one.

As above, through this section $(E, \nabla)$ denotes a discrete vector bundle with connection on a simplicial complex $X$.

\begin{definition}
 Let $\alpha\in C^{k-1}(X; E)$ be a $(k-1)$-cochain. The discrete \emph{exterior covariant derivative} of $\alpha$ is the $k$-cochain $d_\nabla\alpha\in C^k(X;E)$ characterized by
  \begin{equation} \label{eq:dnabla}
    \eval{d_\nabla \alpha}{\simplex{k}}_0 \mathrel{\mathop:}= U_{01} \eval{\alpha}{\simplex[1]{k}}_1+
    \sum_{i=1}^k (-1)^i \eval{\alpha}{\face{0}k}_0\,
  \end{equation}
   for $\sigma = \simplex{k}$ a $k$-simplex in $X$.
\end{definition}

As mentioned in \S\ref{sec:dscrtvctrbndls} Leibniz rule is a defining property of covariant derivative. This is also the case for the exterior covariant derivative. We first prove this for sections and then extend it to higher degree cochains.
\begin{proposition}[Leibniz rule for sections]\label{prop:Leibniz1}
For any $f \in C^0(X)$, section $s \in C^0(X; E)$ and edge $[ij]$ in $X$:
  \begin{equation} \label{eq:nabla_Leibniz}
    \eval{\nabla (f\wedge s)}{[ij]}_i =
    \eval{d f\wedge s+f \wedge \nabla s}{[ij]}_i\, .
  \end{equation}
\end{proposition}
\begin{proof}
  The LHS is $U_{ij} ( f_j s_j) - f_i s_i$. On the RHS
  \begin{align*}
    \eval{df \wedge s}{[ij]}_i &= \frac{1}2\big[ \eval{df}{[ij]} U_{ij} s_j - \eval{df}{[ji]} s_i \big]
                               = \frac{1}2(f_j - f_i) (U_{ij}s_j + s_i)\\
    \eval{f\wedge \nabla s}{[ij]}_i &= \frac{1}2\big[f_i\eval{\nabla s}{[ij]} -
                                      f_j \eval{\nabla s}{[ji]}_i\big]
                               = \frac{1}2 \big[f_i(U_{ij} s_j - s_i) - f_j (s_i - U_{ij} s_j)\big]\\
    &= \frac{1}2(f_i + f_j)(U_{ij} s_j - s_i)\, .
  \end{align*}
  Thus
  \begin{align*}
    \eval{df \wedge s}{[ij]}_i + \eval{f\wedge \nabla s}{[ij]}_i &= \frac{1}2(f_j - f_i) (U_{ij}s_j + s_i) + \frac{1}2(f_i + f_j)(U_{ij} s_j - s_i)  \\
    &= U_{ij} ( f_j s_j) - f_i s_i\, .
  \end{align*}
\end{proof}

To prove a generalization to wedge product involving higher degree cochains we need the corresponding result for cup product.
\begin{proposition}(Leibniz rule for cup products) \label{prop:Leibniz_cup}
  The operators $d_\nabla$ and $d$ satisfy a Leibniz rule with respect to the cup product of $\alpha\in C^{k}(X; E)$ and $w \in C^l(X)$. That is:
  \begin{equation}\label{eq:Leibniz_cup}
    \eval{d_\nabla (\alpha\smile w)}{\simplex{k{+}l{+}1}}_0   =
    \eval{d_\nabla \alpha \smile w}{\simplex{k{+}l{+}1}}_0 +
    (-1)^k \eval{\alpha\smile dw}{\simplex{k{+}l{+}1}}_0
  \end{equation}
\end{proposition}
\begin{proof} By definition of $d_\nabla$, the LHS of~\eqref{eq:Leibniz_cup} is
  \begin{equation*}\label{eq:Leibniz_cup_step1}
    U_{01} \eval{\alpha\smile w}{\simplex[1]{k{+}l{+}1}}_1+
    \sum_{i=1}^{k{+}l{+}1} (-1)^i \eval{\alpha\smile w}{\face{0}{k{+}l{+}1}}_0\, .
  \end{equation*}
  Next we evaluate the cup products. The summation above is split into two so that the omitted index is either in the evaluation of $\alpha$ or in the evaluation of $w$. Thus the LHS of~\eqref{eq:Leibniz_cup} becomes:
  \begin{multline}\label{eq:Leibniz_cup_lhs}
    U_{01} \eval{\alpha}{\simplex[1]{k+1}}_1\; \eval{w}{\simplex[k{+}1]{k{+}l{+}1}}  +
    \sum_{i=1}^{k} (-1)^i \eval{\alpha}{\face{0}{k{+}1}}_0\;
    \eval{ w}{\simplex[k{+}1]{k{+}l{+}1}} +\\
    \sum_{i=k{+}1}^{k{+}l{+}1} (-1)^i \eval{\alpha}{\simplex{k}}_0\; \eval{w}{\face{k}{k{+}l{+}1}}\, .
  \end{multline}
  On the other hand the first term on the RHS of~\eqref{eq:Leibniz_cup} evaluates to
  \[
    \eval{d_\nabla \alpha}{\simplex{k+1}}_0\;\eval{w}{\simplex[k+1]{k{+}l{+}1}}\, ,
  \]
  which expands to
  \[
    U_{01}\eval{\alpha}{\simplex[1]{k{+}1}}_1 \; \eval{w}{\simplex[k+1]{k{+}l{+}1}}
    +\sum_{i=1}^{k+1} (-1)^i\eval{\alpha}{\face{0}{k{+}1}}_0\; \eval{w}{\simplex[k{+}1]{k{+}l{+}1}}\, .
  \]
  We will separate out the last term in the summation above in preparation for a cancellation which yields
  \begin{multline}\label{eq:Leibniz_cup_rhs1}
    U_{01}\eval{\alpha}{\simplex[1]{k{+}1}}_1 \; \eval{w}{\simplex[k{+}1]{k{+}l{+}1}}\; +\\
    \sum_{i=1}^k(-1)^i\eval{\alpha}{\face{0}{k{+}1}}_0\; \eval{ w}{\simplex[k{+}1]{k{+}l{+}1}}
     +(-1)^{k+1}\eval{\alpha}{\simplex{k}}_0\; \eval{ w}{\simplex[k{+}1]{k{+}l{+}1}}\, .
  \end{multline}
 Continuing with the RHS of~\eqref{eq:Leibniz_cup}, the second term of the RHS of~\eqref{eq:Leibniz_cup} with the sign $(-1)^k$ included evaluates to
  \[
    (-1)^k\eval{\alpha}{\simplex{k}}_0\; \eval{dw}{\simplex[k]{k{+}l{+}1}} =
    (-1)^k\eval{\alpha}{\simplex{k}}_0\; \sum_{i=k}^{k+l+1}(-1)^{(i-k)} \eval{w}{\face{k}{k{+}l{+}1}}\, .
  \]
Separating out the first term in the summation above results in the second term in RHS of ~\eqref{eq:Leibniz_cup} becoming
\begin{multline}\label{eq:Leibniz_cup_rhs2}
  (-1)^k\eval{\alpha}{\simplex{k}}_0\; (-1)^0\eval{w}{\simplex[k{+}1]{k{+}l{+}1}} + \\
  (-1)^k \sum_{i=k+1}^{k+l+1}\eval{\alpha}{\simplex{k}}_0\; (-1)^{(i-k)}
\eval{w}{\face{k}{k{+}l{+}1}}\, .
\end{multline}
On adding~\eqref{eq:Leibniz_cup_rhs1} and~\eqref{eq:Leibniz_cup_rhs2} the last term  in~\eqref{eq:Leibniz_cup_rhs1} and the first term in~\eqref{eq:Leibniz_cup_rhs2} cancel and the result is ~\eqref{eq:Leibniz_cup_lhs}.
\end{proof}

In the case of DEC the Leibniz rule with respect to cup product easily implies a product rule with respect to discrete wedge product. Consider scalar-valued cochains $\alpha \in C^k(X)$ and $w \in C^l(X)$. Each element of the permutation group $S_{k{+}l{+}2}$ acts as an isomorphism on a $(k{+}l{+}1)$-simplex $\sigma$. Each permutation of vertices defines a vertex map which corresponds to an abstract simplicial isomorphism. Using $\tau$ to refer to an element of $S_{k{+}l{+}2}$  as well as the corresponding simplicial isomorphism, note that $\tau$ commutes with the boundary operator on chains. Thus
\begin{align*}
  \eval{d(\alpha \wedge w)}{\sigma} = \eval{\alpha \wedge w}{\partial \sigma}
  & = \sum_\tau\sgn(\tau) \eval{\alpha \smile w}{\tau \partial \sigma}\\
  & = \sum_\tau \sgn(\tau) \eval{\alpha \smile w}{\partial \tau \sigma} =
    \sum_\tau\sgn(\tau) \eval{d(\alpha \smile w)}{\tau \sigma}\, ,\\
  \intertext{which, by Leibniz rule for cup products is}
  &= \sum_\tau \sgn(\tau) \eval{d\alpha \smile w+
    (-1)^{\vert \alpha \vert} \alpha \smile d\alpha}{\tau\sigma} =
    \eval{d\alpha \wedge w+ (-1)^{\vert \alpha \vert} \alpha \wedge d\alpha}\, .
\end{align*}
This approach however does \emph{not} work directly for vector bundle valued cochains unless one introduces some notion of vector bundle valued chains. Rather than developing the latter, we instead use the proof of Proposition~\ref{prop:Leibniz_cup} to show the Leibniz rule for wedge products as follows.
\begin{corollary}[Leibniz rule]\label{cor:Leibniz_wedge}
  Let $\alpha \in C^{k}(X;E)$ and $w \in C^l(X)$. Then
  \begin{equation}\label{eq:Leibniz_wedge}
    \eval{d_\nabla (\alpha \wedge w)}{\simplex{k{+}l{+}1}}_0=
    \eval{d_\nabla \alpha \wedge w +   (-1)^k \alpha\wedge d w}{\simplex{k{+}l{+}1}}_0\, .
  \end{equation}
\end{corollary}
\begin{proof}
  The LHS of~\eqref{eq:Leibniz_wedge} is
  \[
    U_{01} \eval{\alpha\wedge w}{\simplex[1]{k{+}l{+}1}}_1+
    \sum_{i=1}^{k{+}l{+}1} (-1)^i \eval{\alpha\wedge w}{\face{0}{k{+}l{+}1}}_0\, .
  \]
  Thus instead of~\eqref{eq:Leibniz_cup_lhs} in the proof of Proposition~\ref{prop:Leibniz_cup} the above evaluates to
  \begin{multline}\label{eq:Leibniz_wedge_lhs}
    U_{01} \sum_\tau \sgn(\tau) \eval{\alpha}{\tau \simplex[1]{k+1}}_1\;
    \eval{w}{\tau \simplex[k{+}1]{k{+}l{+}1}}  + \\
    \sum_{i=1}^{k} (-1)^i \sum_\tau \sgn(\tau) \eval{\alpha}{\tau \face{0}{k{+}1}}_0\;
    \eval{ w}{\tau \simplex[k{+}1]{k{+}l{+}1}} +\\
    \sum_{j=k{+}1}^{k{+}l{+}1} (-1)^j \sum_\tau \sgn(\tau)\eval{\alpha}{\tau \simplex{k}}_0\;
    \eval{ w}{\tau\face{k}{k{+}l{+}1}}\, ,
  \end{multline}
  where the summation above and in rest of this proof is over all permutations in $\tau \in S_{k+l+2}$ and $\tau\simplex[v_0]{v_m} = \simplex[\tau(v_0)]{\tau(v_m)}$. Similarly the two terms on the RHS of~\eqref{eq:Leibniz_wedge} will be modifications of~\eqref{eq:Leibniz_cup_rhs1} and~\eqref{eq:Leibniz_cup_rhs2} with summations over the permutations. These summations will be the outermost summations. Just as the last term of~\eqref{eq:Leibniz_cup_rhs1} and first term of~\eqref{eq:Leibniz_cup_rhs2} cancelled on addition, the corresponding modified terms will now be
  \[
    \sum_\tau \sgn(\tau)(-1)^{k+1}\eval{\alpha}{\tau \simplex{k}}_0\; \eval{ w}{\tau \simplex[k{+}1]{k{+}l{+}1}}
  \]
  and
  \[
    \sum_\tau \sgn(\tau) (-1)^k\eval{\alpha}{\tau \simplex{k}}_0\; (-1)^0\eval{w}{\tau\simplex[k{+}1]{k{+}l{+}1}}
  \]
  which also cancel when added. The remaining terms on the RHS of~\eqref{eq:Leibniz_wedge} add up to~\eqref{eq:Leibniz_wedge_lhs} after swapping the summations over the permutations with the other summations that appear in~\eqref{eq:Leibniz_wedge_lhs}.
\end{proof}
In the above proof the efficacy of the evaluation notation~\ref{ntn:shorthand} can be seen in action. A term like $\eval{\alpha}{\tau\simplex{k}}_0$ is shorthand for $U_{0\,\tau(i)}\eval{\alpha}{\tau\simplex{k}}_{\tau(i)}$ where $E_{\tau(i)}$ is the fiber containing the evaluation of the cochain which would be unwieldy to keep track of in proofs such as the one above.

As mentioned in the Introduction, the fact that the exterior derivative for de Rham complex commutes with pullback by smooth maps is the generalization of chain rule of calculus. This naturality is an important property and it is satisfied by the discrete covariant derivative, with smooth maps replaced by abstract simplicial maps.

\begin{proposition}[Naturality of $d_\nabla$] \label{prop:dnaturality}
  Let $(E, \nabla)$ be a discrete vector bundle with connection on a simplicial complex $Y$, and $f: X \to Y$ an abstract simplicial map. Then for any $\alpha\in C^k(Y; E)$ and $(k+1)$-simplex $\simplex[u_0]{u_{k+1}}$ in $X$:
  \begin{equation} \label{eq:dnaturality}
    \eval{f^\ast d_\nabla\alpha}{\simplex[u_0]{u_{k+1}}}_{u_0} =
    \eval{d_\nabla f^\ast\alpha}{\simplex[u_0]{u_{k+1}}}_{u_0}\, .
  \end{equation}
\end{proposition}
\begin{proof}
  Let $f(\simplex[u_0]{u_{k+1}})$ be an $l$-simplex in $Y$. There are two cases to consider: $l = k+1$ or $l < k+1$. For the case of $l=k+1$,~\eqref{eq:dnaturality} follows in a straightforward manner from definitions of the discrete pullback bundle and discrete exterior covariant derivative. The case $l < k+1$ arises when at least two of the vertices of $\simplex[u_0]{u_{k+1}}$ map to the same vertex in $Y$. Since vertex labels are arbitrary, suppose without loss of generality that $f(u_0) = f(u_1) = v_0$. There may be other vertices that map to a common vertex, but it is enough to consider just one pair. The LHS of~\eqref{eq:dnaturality} is then 0.  In the pullback bundle $f^\ast E$ over $X$ the parallel transport map on the edge $[u_0, u_1]$ is $\Id_{E_0}$ where $E_0$ is the fiber over vertex $v_0$ in $Y$. Thus RHS of~\eqref{eq:dnaturality} is
  \[
    \eval{\alpha}{f(\simplex[u_1]{u_{k+1}})}_{u_1} +
    \sum_{j=1}^{k+1} (-1)^j \eval{\alpha}{f([u_0\, ...\, \widehat{u_j}\, ...\, u_{k+1}])}_{u_0}\, .
  \]
  If $l < k$ then each term in the above expression is 0. If $l=k$ then the above expression reduces to
  \[
    \eval{\alpha}{f(\simplex[u_1]{u_{k+1}})}_{u_1} -
    \eval{\alpha}{f(\simplex[u_0 \widehat{u_1}]{u_{k+1}})}_{u_0}\, ,
  \]
  which is 0 since $f(u_0) = f(u_1)$ and the transport map from $u_1$ to $u_0$ is identity.
\end{proof}

\begin{corollary}
  Given simplicial complexes $X$ and $Y$, abstract simplicial map $f: X \to Y$ and a scalar-valued cochain $\alpha \in C^k(Y)$, pullback by $f$ commutes with the discrete exterior derivative, that is, $f^\ast d = d \; f^\ast$.
\end{corollary}
\begin{proof}
  This follows by noting that the definition of the discrete exterior derivative $d$ is the same as that for
  $d_\nabla$ when $U_{01} = \Id_{E_0}$ and the rank of the bundle over $X$ is 1.
\end{proof}

\begin{example} \label{ex:dnabla_pullback}
  Let $X$, $Y$, $(E, \nabla)$, $f:X\to Y$ and $\alpha \in C^1(Y; E)$ be as in Example~\ref{ex:pullback}. We will check that $\eval{d_\nabla f^\ast \alpha}{[u_i, u_j, u_k]}_{u_i} = \eval{f^\ast d_\nabla \alpha}{[u_i, u_j, u_k]}_{u_i}$ for all triangles $[u_i, u_j, u_k]$ of $X$.

  The transport maps of the pullback bundle $f^\ast E$ over $X$ are $U_{10}, U_{20}$ and $U_{21}$ on edges $[u_0, u_1]$, $[u_0, u_2]$ and $[u_1, u_2]$, respectively. On the other three edges of $X$ the transport maps are $\Id_{E_0}$ on $[u_0, u_3]$, $U_{01} = U_{10}^{-1}$ on $[u_1, u_3]$ and $U_{02} = U_{20}^{-1}$ on $[u_2, u_3]$. Now we compute, using the evaluations of the pullback from Example~\ref{ex:pullback}.
  \begin{align*}
    \eval{d_\nabla f ^\ast\alpha}{[u_0, u_1, u_2]}_{u_0} &= U_{01} \eval{f^\ast\alpha}{[u_1, u_2]}_{u_1}
                                                - \eval{f^\ast\alpha}{[u_0, u_2]}_{u_0}
                                                + \eval{f^\ast\alpha}{[u_0, u_1]}_{u_0} \\
                                                  &= U_{01} \eval{\alpha}{[v_1, v_2]}_{v_1}
                                                    - \eval{\alpha}{[v_0, v_2]}_{v_0}
                                                    + \eval{\alpha}{[v_0, v_1]}_{v_0} \\
                                                         &=\eval{d_\nabla \alpha}{[v_0, v_1, v_2]}_{v_0} =
                                                \eval{f^\ast d_\nabla \alpha}{[u_0, u_1, u_2]}_{u_0}\\
    \eval{d_\nabla f^\ast \alpha}{[u_1, u_2, u_3]}_{u_1} &= U_{12}\eval{f^\ast\alpha}{[u_2, u_3]}_{u_2}
                                                           -\eval{f^\ast\alpha}{[u_1, u_3]}_{u_1}
                                                           + \eval{f^\ast\alpha}{[u_1, u_2]}_{u_1}\\
                                                         &= U_{12} \eval{\alpha}{[v_2, v_0]}_{v_2}
                                                           - \eval{\alpha}{[v_1, v_0]}_{v_1} + \eval{\alpha}{[v_1, v_2]}_{v_1}\\
                                                         &= \eval{d_\nabla\alpha}{[v_1, v_2, v_0]}_{v_1}
                                                           = \eval{f^\ast d_\nabla\alpha}{[u_1, u_2, u_3]}_{u_1} \\
    \eval{d_\nabla f^\ast \alpha}{[u_0, u_1, u_3]}_{u_0} &= U_{01} \eval{f^\ast \alpha}{[u_1, u_3]}_{u_1}
                                                      -\eval{f^\ast \alpha}{[u_0, u_3]}_{u_0}
                                                      + \eval{f^\ast \alpha}{[u_0, u_1]}_{u_0}\\
                                                         &= U_{01}\eval{\alpha}{[v_1, v_0]}_{v_1}
                                                           - \eval{\alpha}{[v_0]}_{v_0} + \eval{\alpha}{[v_0, v_1]}_{v_0}\\
                                                         &= \eval{\alpha}{[v_1, v_0]}_{v_0} + \eval{\alpha}{[v_0, v_1]}_{v_0} = 0\\
    \eval{d_\nabla f^\ast \alpha}{[u_0, u_2, u_3]}_{u_0} &= U_{02} \eval{f^\ast \alpha}{[u_2, u_3]}_{u_2}
                                                           -\eval{f^\ast \alpha}{[u_0, u_3]}_{u_0} + \eval{f^\ast \alpha}{[u_0, u_2]}_{u_0}\\
                                                         &= \eval{\alpha}{[v_2, v_0]}_{v_0} + \eval{\alpha}{[v_0, v_2]}_{v_0} = 0\, .
  \end{align*}
\end{example}

\subsection*{Metric compatible connections}
Suppose that the fibers of a smooth vector bundle $E\to M$ are equipped with a smoothly-varying inner product $\langle-,-\rangle$. Then a connection $\nabla$ on $E$ is \emph{metric compatible} if there is an equality of 1-forms,
\begin{eqnarray}
d\langle s,s'\rangle=\langle \nabla s,s'\rangle+\langle s,\nabla s'\rangle \in \Lambda^1(M)\label{eq:metriccompatibility}
\end{eqnarray}
using the inner product of vector bundle valued forms determined by the inner product on fibers discussed in the next paragraph. One consequence of metric compatibility is that parallel transport with respect to $\nabla$ yields an inner product preserving map on the fibers of $E$. This characterization in terms of parallel transport fits nicely in the discrete framework, as already seen in Definition~\ref{def:metriccompatible} above. We now seek to show that this previous definition is equivalent to an appropriate discretization of the formula~\eqref{eq:metriccompatibility}.

Before turning to this discrete theory, we recall a construction of the inner product on smooth forms used in~\eqref{eq:metriccompatibility}. Let
 $\alpha \in \Lambda^k(M; E)$ and $\beta \in \Lambda^l(M; E)$ for a smooth vector bundle $\pi: E\to M$ of rank $r$. Let $x^i$, $i=1,\ldots,n$ be coordinates of $M$ in a coordinate domain $U$ containing $p \in M$ and let $v^s$, $s = 1,\ldots,r$ be a local frame of $E$ in an open subset of $\pi^{-1}(U)$. In local coordinates, $\alpha = \alpha_{Is}\, dx^I \otimes v^s$ and $\beta = \beta_{Jt} \,dx^J \otimes v^t$ where we have used the multi-index notation~\cite[Chapter 14]{Lee2011}.  Then $\alpha \wedge \beta$ is a vector bundle valued form in the vector bundle $E \otimes E$ and in local coordinates
\[
  \alpha \wedge \beta = \alpha_{Is} \beta_{Jt} \, dx^I \wedge dx^J \otimes v^s \otimes v^t\,\label{eqn:innerprodu}
\]
using the Einstein summation notation. Suppose the fibers of $E$ come equipped with an inner product $\langle-,-\rangle$. Then we have the local definition,
\begin{eqnarray}\label{eqn:innerproductformula}
\langle \alpha, \beta\rangle:=\alpha_{Is} \beta_{Jt} \, dx^I \wedge dx^J  \eval{v^s}{v^t}\in \Lambda^{k+l}(M)
\end{eqnarray}
of the inner product as a $(k+l)$-form on $M$.

The above discussion carries over neatly to the discrete case, leading to formula for metric compatible connections as in~\eqref{eq:metriccompatibility}. We start with the definition.

Given a discrete vector bundle with connection $(E,\nabla)$ with metric (as in Definition~\ref{def:metriccompatible}), let $u \cdot v$ denote the inner product for $u, v \in E_i$.
The formula~\eqref{eqn:innerproductformula} together with the averaging interpretation of wedge products of scalar cochains leads to the correct discrete definition of the inner product on vector bundle valued discrete cochains. We only require the following special cases for 0- and 1-cochains.

\begin{definition} \label{defn:innerproduct}
  Given $\alpha \in C^1(X,E)$ and $s, s' \in C^0(X, E)$ the inner product $\alpha \cdot  s \in C^1(X)$ of the 1-cochain and section is defined using the averaging interpretation of wedge product of cochains and its value on an edge $[01]$ is
  \[
    \eval{\alpha \cdot s}{[01]}_0 = \eval{s \cdot \alpha}{[01]}_0 \mathrel{\mathop:}=
    \eval{\alpha}{[01]}_0 \cdot \frac{s_0 + U_{01} s_1}2\, .
  \]
  The inner product between the sections $s$ and $s'$ is $s\cdot s' \in C^0(X)$ and its value at a vertex $0$ is $s_0 \cdot s'_0$.
\end{definition}

\begin{proposition}[Metric compatibility] \label{prop:metric_compatible}
  Let $(E, \nabla)$ be a discrete vector bundle with metric. Then the connection is metric compatible if and only if for all $s, s' \in C^0(X,E)$,
  \begin{eqnarray}
  d (s\cdot s') = \nabla s \cdot s' + s \cdot \nabla s'.\label{eq:metcompat}
  \end{eqnarray}
   i.e., the discrete version of~\eqref{eq:metriccompatibility} holds.
\end{proposition}
\begin{proof}
We will only prove the real case, so that the parallel transport maps are assumed to be orthogonal.  Let $[01]$ be an edge in $X$. Then the evaluation of the LHS on the edge is $\eval{d(s\cdot s')}{[01]}$ is $s_1 \cdot s'_1$ - $s_0 \cdot s'_0$. Evaluating the RHS on this edge
  \begin{align*}
    \eval{\nabla s \cdot s'}{[01]}_0 + \eval{s\cdot \nabla s'}{[01]}_0 =
    \eval{\nabla s}{[01]}_0 \cdot \frac{s'_0 + U_{01}s'_1}2 + \frac{s_0 +   U_{01} s_1}2 \cdot \eval{\nabla s'}{[01]}_0\, .
  \end{align*}
  Then using the definition of $\nabla s$, the cross terms in the resulting RHS expression cancel and the remaining terms add up to $(U_{01} s_1) \cdot (U_{01} s'_1) - s_0 \cdot s'_0$ which is the same as LHS since $U_{01}$ is orthogonal. Running this argument backwards, we see that~\eqref{eq:metcompat} implies that $(U_{01} s_1) \cdot (U_{01} s'_1)=s_1\cdot s_1'$, i.e., the parallel transport matrices are orthogonal with respect to the inner products on fibers.
\end{proof}

\section{Curvature as a homomorphism valued cochain}
As mentioned in the Introduction, in the smooth theory, the curvature operator $d_\nabla \circ d_\nabla = F$ is in $\Lambda^2(M; \text{End}(E))$, the space of endomorphism-valued 2-forms.  A common theme in DEC and discretizations developed in this paper is ``spreading out'' of pointwise definable objects when they are discretized. For example, differential $k$-forms are replaced by simplicial cochains taking values on $k$-simplices rather than at a point. The exterior derivative is replaced by  the coboundary operator that acts on $k$-cochains.

A similar theme repeats in our discretization of endomorphism-valued forms, of which the curvature operator $F$ is the main example. Our combinatorial framework for a discrete bundle analogous to $\Lambda^k(M; \text{End}(E))$ consists of mappings between different vertices and so we will call these homomorphism valued. For bookkeeping purposes we will take these to be from the highest numbered vertex to the lowest but the theory can be developed for arbitrary choice of starting and ending vertex as long as one keeps track of these for each simplex.
\begin{definition}\label{defn:hom}
  A \emph{homomorphism-valued} $k$-cochain $A$ is a map whose value at each $k$-simplex $\simplex{k}$ is a linear map $E_k \to E_0$. The bundle of \emph{homomorphism-valued $k$-cochains} is denoted $C^k(X; \text{Hom}(E))$.
  Given $A \in C^k(X; \text{Hom}(E))$ and $\alpha\in C^l(X; E)$ the action of $A$ on $\alpha$ is defined as:
  \begin{equation} \label{eq:homAction}
    \eval{A\; \alpha}{\simplex{k+l}}_0 = \eval{A}{\simplex{k}}_0 \; \eval{\alpha}{\simplex[k]{k+l}}_k\;.
  \end{equation}
\end{definition}

\begin{remark} \label{rem:whyF} Before we define a discrete curvature operator consider the following simple computation. Let $s \in C^0(X;E)$ be a section. Then the value of $d_\nabla^2 s = d_\nabla \nabla s$ on a triangle $[012]$ is $\eval{d_\nabla d_\nabla s}{[012]}_0 = U_{01} \eval{d_\nabla s}{[12]}_1 - \eval{d_\nabla s}{[02]}_0 + \eval{d_\nabla s}{[01]}_0 = U_{01}(U_{12} s_2 - s_1) - (U_{02} s_2 - s_0) + (U_{01} s_1 - s_0) = (U_{01} U_{12} - U_{02}) s_2$. Since $d_\nabla^2 = F$ in the smooth theory, this computation suggests the following definition for discrete curvature $F$.
\end{remark}

\begin{definition}\label{defn:dscrtCrvtr2}
  Given a discrete vector bundle with connection $(E,\nabla)$ over $X$ with parallel transport maps denoted by $U$, the \emph{discrete curvature} is a homomorphism-valued 2-cochain, $F\in C^2(X;\text{Hom}(E))$, defined on a triangle
  $[012]$ by
  \begin{equation}\label{eq:curvature}
    \eval{F}{[012]} = U_{01}U_{12} - U_{02}\, .
  \end{equation}
  We will also write $\eval{F}{[012]}$ as $F_{012}$.
\end{definition}

\begin{remark}
  The action defined by~\eqref{eq:homAction} uses a cup product rather than an anti-symmetrized cup product such as was used in Defintion~\ref{defn:wedge} of the discrete wedge product. We now see why that is justified in a self-consistent discrete theory.  Starting with a definition of $d_\nabla$ on vector bundle valued cochains the computation in Remark~\ref{rem:whyF} has led to the above definition of discrete curvature $F$. Since $\eval{d_\nabla^2 s}{[012]} = \eval{F}{[012]} s_2 = \eval{F}{[012]}\, \eval{s}{[2]}_2$ this can be achieved via a cup product in the evaluation $\eval{F\, s}{[012]}_0$. This suggests Defintion~\ref{defn:hom} as the correct generalization to action of higher degree homomorphism valued cochains. While this is merely suggestive, the fact that it leads to a self-consistent discrete theory including all forms of Leibniz rules and Bianchi identity are points in its favor.
\end{remark}

According to Definition~\ref{defn:dscrtCrvtr2} the action of the curvature homomorphism is to move a section along two paths in a triangle and compare the resulting transported values. This is unlike the more common ``holonomy minus identity'' definition of curvature which is the measure of how much a vector is changed when it is brought all of the way around a triangle back to its starting point. These two variants are related by a parallel transport since $U_{20} F_{012} = U_{20}U_{01} U_{12} - \Id_{E_2}$ but it is the one in~\eqref{eq:curvature} that we are led to naturally as indicated in Remark~\ref{rem:whyF}.

The next proposition shows that the characterization of flat connections in terms of curvature is similar to that in the smooth case; the proof is straightforward and left to the reader.
\begin{proposition}\label{prop:flat} A discrete vector bundle with connection is flat (in the sense of Definition~\ref{defn:flat}) if and only if its curvature vanishes,~$F=0$.
\end{proposition}

We collect a few elementary properties of discrete curvature below including how it transforms under change in the orientation of the triangle and under gauge transformations. The former results in appropriate sign changes and transports and the latter transforms our discrete curvature in the same way as the holonomy minus identity version transforms.
\begin{proposition}\label{prop:Fproperties}
  Given a discrete vector bundle with connection with curvature $F$ the following are true
  \begin{enumerate}[(i)]
  \item \label{itm:permutation_start} $F_{021} = -F_{012}U_{21}$
  \item $F_{102} = -U_{10}F_{012}$
  \item $F_{120} = U_{10} F_{012} U_{20}$
  \item $F_{201} = U_{20} F_{012} U_{21}$
  \item \label{itm:permutation_end} $F_{210} = {F_{012}}^{-1}$
  \item \label{itm:gauge} Given a gauge transformation $g$ with value $g_i$ at vertex $i$, the curvature transforms as $F_{012}\mapsto g_0 \; F_{012} \; g_2^{-1}$.
  \end{enumerate}
\end{proposition}
\begin{proof}
  \emph{(\ref{itm:permutation_start})}-\emph{(\ref{itm:permutation_end})} follow easily from definition of curvature and~\emph{(\ref{itm:gauge})} follows from the fact that parallel transports transform under gauge transformation as $U_{ij} \mapsto g_i \, U_{ij}\, g_j^{-1}$.
\end{proof}

The above constructions of the homomorphism valued cochains including the curvature lead to an extension of the discrete exterior covariant derivative to homomorphism-valued cochains which is defined next.
\begin{definition}\label{defn:dnabla-hom}
  Let $A \in C^k(X; \text{Hom}(E))$. Then the evaluation of $d_\nabla A$ on a simplex $\simplex{k+1}$ is
  \begin{multline}\label{eq:dnabla-hom}
    \eval{d_\nabla A}{\simplex{k+1}}_0 \mathrel{\mathop:}= U_{01} \eval{A}{\simplex[1]{k+1}}_1 +\sum_{i=1}^{k} \left[(-1)^i \eval{A}{\face{0}{k+1}}_0\right]+\\
    (-1)^{k+1} \eval{A}{\simplex{k}}_0\, U_{k,(k+1)}\, .
  \end{multline}
\end{definition}
This is almost like the definition of $d_\nabla$ on vector bundle valued cochains except for the last term. This is needed since the terms $\eval{A}{\simplex[1]{k+1}}_1$ and  $\eval{A}{\face{0}{k+1}}_0$ are maps from $E_{k+1}$ whereas $\eval{A}{\simplex{k}}$ is a map from $E_k$. Thus a transport from $k+1$ to $k$ is needed in the last term in~\eqref{eq:dnabla-hom}.

Recall that in the smooth setting, for any vector bundle valued form $\alpha$, acting by $d_\nabla$ twice is the same as acting on $\alpha$ with the curvature. Our discrete exterior covariant derivative satisfies a discrete version of that property where the action of a homomorphism-valued cochain on a vector-valued cochain is as defined in Definition~\ref{defn:hom}.

\begin{proposition}[$d_\nabla^2 = F$]\label{prop:dnabla2}
  Given $(E,\nabla)$ a discrete vector bundle with connection over $X$, $\alpha \in C^{(k-1)}(X; E)$, $k \ge 1$ and a $(k+1)$-dimensional simplex $\simplex{k+1}$
  \[
    \eval{d_\nabla d_\nabla \alpha}{\simplex{k+1}}_0  = \eval{F \alpha}{\simplex{k+1}}_0\, .
  \]
\end{proposition}
\begin{proof}
  Applying the exterior covariant derivative twice to the vector-valued
  $(k-1)$-cochain $\alpha$ gives:
  \begin{equation} \label{eq:dnabla2LHS}
    \eval{d_\nabla d_\nabla \alpha}{\simplex{k+1}}_0
    = U_{01} \eval{d_\nabla \alpha}{\simplex[12]{k+1}}_1 +
    \sum_{i=1}^{k+1}(-1)^i \eval{d_\nabla \alpha}{\face{01}{k+1}}_0\, .
  \end{equation}
  The first term on the RHS in~\eqref{eq:dnabla2LHS} is $U_{01} \eval{d_\nabla \alpha}{\simplex[12]{k+1}}_1 = $
  \begin{equation}\label{eq:simple-term}
    U_{01}\left(U_{12}\eval{\alpha}{\simplex[2]{k+1}}_2 +
      \sum_{i=2}^{k+1}(-1)^{i-1}\eval{\alpha}{\face{12}{k+1}}_1\right)\, .
  \end{equation}
  Separating the first term from the summation term in RHS in~\eqref{eq:dnabla2LHS} we have
  \begin{equation} \label{eq:summation}
    (-1) \eval{d_\nabla \alpha}{\simplex[02]{k+1}}_0 +
    \sum_{i=2}^{k+1}(-1)^i \eval{d_\nabla \alpha}{\face{01}{k+1}}_0\, .
  \end{equation}
  Using the definition of $d_\nabla$ for the first term in~\eqref{eq:summation} that term $(-1) \eval{d_\nabla \alpha}{\simplex[02]{k+1}}_0 =$
  \begin{equation}\label{eq:U02term}
    (-1) U_{02}\eval{\alpha}{\simplex[2]{k+1}}_2 -
    \sum_{i=2}^{k+1}(-1)^{i-1}\eval{\alpha}{\face{02}{k+1}}_0\, .
  \end{equation}
  Expanding $d_\nabla$ in the second term in~\eqref{eq:summation}
  $\displaystyle \sum_{i=2}^{k+1}(-1)^i \eval{d_\nabla \alpha}{\face{01}{k+1}}_0=$
  \begin{multline}\label{eq:summation-expanded}
    U_{01}\sum_{i=2}^{k+1}(-1)^i \eval{\alpha}{\face{12}{k+1}}_1 +\\
    \sum_{i=2}^{k+1}\left(
      \sum_{j=1 }^{i-1}(-1)^{i+j}
      \eval{\alpha}{\face[\hat{j} ... \hat{i}]{012}{k+1}}_0\right.
    \left.+\sum_{j=i+1}^{k+1}(-1)^{i+j-1}
      \eval{\alpha}{\face[\hat{i}...\hat{j}]{012}{k+1}}_0\right)\, .
  \end{multline}
  The first term in~\eqref{eq:simple-term} and the first term in~\eqref{eq:U02term} combine to give the curvature $F$:
  \[
    U_{01}U_{12}\eval{\alpha}{\simplex[2]{k+1}}_2 -    U_{02}\eval{\alpha}{\simplex[2]{k+1}}_2
    =F_{012} \eval{\alpha}{\simplex[2]{k+1}}_2= \eval{F\alpha}{\simplex[0]{k+1}}_0\;.
  \]
  The terms that remain unaccounted for are the second term in~\eqref{eq:U02term} and the double summation terms in~\eqref{eq:summation-expanded}. The $j=1$ term in the first double sum in~\eqref{eq:summation-expanded} is
  $\sum_{i=2}^{k+1} (-1)^{i+1}\eval{\alpha}{\face{02}{k+1}}_0$ which cancels with the second term in~\eqref{eq:U02term}. Thus it finally remains to show that
  \begin{equation}\label{eq:double-sum}
    \sum_{i=2}^{k+1}\left(
      \sum_{j=2 }^{i-1}(-1)^{i+j}
      \eval{\alpha}{\face[\hat{j} ... \hat{i}]{012}{k+1}}_0\right.
    \left.+\sum_{j=i+1}^{k+1}(-1)^{i+j-1}
      \eval{\alpha}{\face[\hat{i}...\hat{j}]{012}{k+1}}_0\right) = 0\, .
  \end{equation}
  This just requires an accounting of the indices as follows. Let $I_1 = \setdef{(i,j)}{2 \le i \le k+1, \; 2 \le j \le i-1}$ and $I_2 = \setdef{(i,j)}{2 \le i \le k+1, \; i+1 \le j \le k+1}$ be the set of indices in the two double sums in~\eqref{eq:double-sum}. Then it is clear that $(i,j) \in I_1$ if and only if $(j,i) \in I_2$. Thus the two double sums have exactly the same terms with opposite signs and hence add up to 0.
\end{proof}

A straightforward simple consequence of the definitions of curvature and $d_\nabla$ above is a combinatorial Bianchi identity.

\begin{proposition}[Bianchi identity] \label{prop:bianchi}
  The discrete curvature satisfies the Bianchi identity $d_\nabla F = 0$.
\end{proposition}
\begin{proof}
  Consider a tetrahedron $[0123]$. By Definition~\ref{defn:dnabla-hom}
  \begin{align*}
    \eval{d_\nabla F}{[0123]}_0 &= U_{01} F_{123} - F_{023} +  F_{013}- F_{012} U_{23}\\
                                & = U_{01}(U_{12} U_{23}- U_{13})  -(U_{02}U_{23}- U_{03}) +
                                (U_{01} U_{13}- U_{03}) - (U_{01} U_{12}- U_{02}) U_{23}= 0
  \end{align*}
\end{proof}

\begin{remark}
  We note that the above combinatorial Bianchi identity is not true due to $F$ being constant on each triangle. Since $F$ is a 2-cochain, $d_\nabla F$ is a 3-cochain and hence it has to be evaluated on tetrahedra. Thus the triangles of a tetrahedron are all involved in the cancellation that leads to the Bianchi identity.
\end{remark}
Finally we show that the $d_\nabla$  on $C^\bullet(X; \text{Hom}(E))$ and on $C^\bullet(X; E)$ are compatible with each other via a Leibniz rule.
\begin{proposition}
 Given $A \in C^k(X; \text{Hom}(E)$ and $\alpha \in C^l(X; E)$
  \begin{align}\label{eq:AalphaLeibniz}
    \eval{d_\nabla \left(A\, \alpha\right)}{\simplex{k+l+1}}_0
    &= \eval{d_\nabla A}{\simplex{k+1}}_0\, \eval{\alpha}{\simplex[k+1]{k+l+1}}_{k+1} \\
    &\qquad+(-1)^k\eval{A}{\simplex{k}}_0\, \eval{d_\nabla \alpha}{\simplex[k]{k+l+1}}_k\;.
  \end{align}
\end{proposition}
\begin{proof} The LHS of~\eqref{eq:AalphaLeibniz}, $\eval{d_\nabla \left(A\alpha\right)}{\simplex{k+l+1}}_0$ is
  \[
    U_{01}\eval{A\,\alpha}{\simplex[1]{k+l+1}}_1 +
    \sum_{i=1}^{k+l+1}(-1)^i \eval{A\, \alpha}{\face{0}{k+l+1}}_0\, ,
  \]
  which using~\eqref{eq:homAction} is
  \begin{multline}\label{eq:add_subtract}
    U_{01}\eval{A}{\simplex[1]{k+1}}_1\; \eval{\alpha}{\simplex[k+1]{k+l+1}}_{k+1}
    + \sum_{i=1}^k(-1)^i\eval{A}{\face{0}{k+1}}_0\; \eval{\alpha}{\simplex[k+1]{k+l+1}}_{k+1}\\
    + \sum_{i=k+1}^{k+l+1}(-1)^i\eval{A}{\simplex{k}}_0\; \eval{\alpha}{\face{k}{k+l+1}}_k
  \end{multline}
  Next we add and subtract $(-1)^{k+1}\eval{A}{\simplex{k}}_0\; U_{k, k+1}\eval{\alpha}{\simplex[k+1]{k+l+1}}_{k+1}$ to~\eqref{eq:add_subtract}. The added term combines with the first two terms of~\eqref{eq:add_subtract}, extending the summation $\sum_i^k$ to $i= k+1$ which can then be recognized as $\eval{d_\nabla A}{\simplex{k+1}}_0\; \eval{\alpha}{\simplex[k+1]{k+l+1}}_{k+1}$. The subtracted term has sign $- (-1)^{k+1} = (-1)^k$ and this is combined with the last summation to extend that sum to start from $i=k$. With that the resulting summation is recognized as $(-1)^k\eval{A}{\simplex{k}}_0\; \eval{d_\nabla \alpha}{\simplex[k]{k+l+1}}_k$.
\end{proof}

\section{Conclusion}

We have given a combinatorial discretization of vector bundles with connection. Using $d_\nabla$ as the building block, curvature emerges from the discretization as a homomorphism valued cochain. While we have studied the notion of a bundle metric, we did not discuss Riemannian metric here.
Organizing the discrete connection as we have, by placing fibers at vertices is not the only way to organize such a discrete theory. For example, Christiansen and Hu~\cite{ChHu2019} place the fibers at a simplex of every dimension. This also leads to a discrete Bianchi identity and other properties.

redpajama_set_name: RedPajamaArXiv