I call one of the n-simplexes into which the manifold has been partitioned, a **zone**, for we must speak of simplexes of lesser dimension as well.
It is natural to use barycentric coordinates (**bcc**) in a simplex.
A problem arises at the interface between two adjacent zones, called a **facet** here.
A facet is an (n−1)-simplex.

To move a vector or tensor across a facet to a neighboring zone we conceptually adopt a new intermediate facet coordinate system whose bases are the n−1 edges of the facet emanating from some particular vertex of the facet, and a vector normal to the facet. This representation is neutral to the two zones, except for the normal’s orientation. To move now to a corresponding facet coordinate system in the neighboring zone we must change the sign of the normal component, and permute the order of the other components to match the vertex numbering plan of the neighbor. After this we transform to the new zone’s bc coordinates. Distracting detail may be found here.

**Pythag**: All of these computations may be carried out if we can only calculate the inner product between vectors.
This is supported directly if we have the metric tensor in whatever coordinate system we have expressed our vectors.
Fortunately it is trivial to compute the covariant metric tensor in bcc given the squared edge lengths of the zone.
The dot product of sides a and b of a triangle is (a^{2} + b^{2} − c^{2})/2.
Note that I use the terms “length”, “vector”, “normal”, and especially “dot product” (as in “a • b”) in a Euclidean geometry sense in distinction to any algebraic sense.
For each zone, choose some vertex of the zone as the origin and take the n edges emanating from the origin as bases for the barycentric coördinate system.

x • y = g

We consider the vector v whose bcc components are the reals in column j of the contravariant metric tensor.
We show here that v is orthogonal to the basis vectors, except for the jth basis vector.
They are orthogonal because their dot product is 0 as we can see:
The kth bcc component of v is v^{k} = g^{kj}.
The ith bcc component of basis vector α is δ^{i}_{α}.
Their dot product is computed with the covariant metric tensor—see above.
It (the dot product of column j of the contravariant metric tensor, and basis vector α) is g^{kj}g_{ki}δ^{i}_{α}
= δ^{j}_{i}δ^{i}_{α}
= δ^{j}_{α}.
If j ≠ α then v is orthogonal to basis element α.
This means that v is orthogonal to every basis element in facet α and thus orthogonal to the entire facet.

The contravariant metric tensor is computed by inverting the covariant metric tensor as a matrix. The rows of the contravariant metric tensor are vectors expressed in bcc, normal to the facets of the zone. Since the normals to all the facets of a zone sum to 0, we have an easy way to find the normal to the facet opposite the origin. Those normals need only be multiplied by the zone’s volume to become the ‘natural’ normals. By “natural normal” to a facet we mean here the normal to the facet whose length is the Grassmann magnitude of the facet.

There is a fundamental problem to be solved before we begin choosing edge lengths to form a complex.

The general curvature tensor may now be computed centered at bones, the (n−2)-simplexes, by carrying a frame around each (n−2)-simplex. We pass thru the set of facets which are incident on the bone. There is just one scalar of curvature from the bone.

Here is an another method of doing this calculation which I currently think is inferior.

Here are fragments of ideas of applying this to General Relativity.

Here is some code.

To Follow Geodesics thru a Complex

If we assemble n-simplexes for some fixed n into a complex we must match edge lengths; or more properly, perhaps, squared edge lengths.
When the length^{2} of a shared edge is computed in the metric of each of the zones sharing that edge, the calculations must agree in order to say we have assembled a complex from n-simplexes.
If our geometry is locally Minkowskian, squared edge lengths may be positive, zero or negative.
Matching squared edge lengths thus leads to inserting causality.
See remark beginning “Simply put:” here.
I do not see how simplexes could be sensibly united to complexes without such a rule.
I had not noticed this before reading some CDT literature.
It makes their causality rule look like a mathematical rather than a physical axiom.

I think there is another requirement on assembly of n-simplexes into a complex. Here is a complex which must be counted as unphysical and perhaps even un-manifold like as the signature of its metric is not uniform. (The numbers near the edges are the squares of the lengths of those edges.)

Another note is that any set of n*(n−1) edge length squares from ℝ^{n*(n−1)} defines a pseudo Riemannian metric and conversely.
Well not quite—some edge length value sets produce indefinite metrics with zero eigenvalues and these are excluded from conventional pseudo Riemannian geometries.
Indeed the n*(n−1) edge length squares are linear in the n*(n−1) independent elements of the symmetric covariant metric tensor.
Beware there is nothing left of the triangle inequality in Minkowskian space.
Picking zones whose metric has signature (+ − − −) is merely to apply a few homogeneous inequalities to the edge length squares.
See this and especially this.

The subject of Causal dynamic triangulation proposes to extend ideas such as these to a theory of everything. CDT Nexus

Names of k-simplexes by k

k | conventional name |

0 | vertex |

1 | edge |

2 | triangle |

3 | tetrahedron |

n−2 | bone |

n−1 | facet |

n | zone |

Here is a zoo of simplexes to avoid.