2

A cell of an oriented $n$-dimensional simplicial complex consists of the ordered tuple $[v_0, \ldots, v_m]$ of its vertices, modulo positive permutations. So for example $[v_0, v_1, v_2]$ and $[v_1, v_2, v_0]$ represent the same cell but $[v_1, v_0, v_2]$ does not; instead, we can say that $[v_1, v_0, v_2] = -[v_0, v_1, v_2]$. The boundary of a cell is a formal integer linear combination of cells with a single vertex removed:

$$\partial[v_0, \ldots, v_m] = \sum_k(-1)^k[v_0, \ldots, \hat v_k, \ldots, v_m]$$

On the other hand, we can represent the boundary operators for a finite cell complex by a collection of integer matrices $D_0, \ldots, D_m$ such that $D_k\cdot D_{k + 1} = 0$ for each $k$. The 0th boundary matrix $D_0$ has a single row and every entry is equal to 1.

All simplicial complexes can be represented as cell complexes. For example, consider the simplex $[v_0, v_1, v_2]$; the boundary matrices are

$$\begin{align} D_0 & = \left[\begin{matrix}1 & 1 & 1\end{matrix}\right]\\ D_1 & = \left[\begin{matrix}+1 & 0 & +1 \\ -1 & +1 & 0 \\ 0 & -1 & -1\end{matrix}\right]\\ D_2 & = \left[\begin{matrix}+1 \\ +1 \\ -1\end{matrix}\right] \end{align}$$

if we take the previous equation at its most literal. But you can do a lot of things to a cell complex that leave it invariant. Given any two integer matrices $A$, $B$ such that $AB = I$, we can transform the boundary matrices like so: $D_k \mapsto D_k \cdot A$, $D_{k + 1} \mapsto BD_{k + 1}$ and still preserve the relation $\partial\partial = 0$. For example, I could flip the sign of the last column of $D_1$ and the last row of $D_2$:

$$D_1 = \left[\begin{matrix}+1 & 0 & -1 \\ -1 & +1 & 0 \\ 0 & -1 & +1\end{matrix}\right], \qquad D_2 = \left[\begin{matrix} +1 \\ +1 \\ +1\end{matrix}\right]$$

and this is still a representation of the same simplex. But (for example) flipping all the signs of $D_2$ would instead be a representation of the distinct simplex $[v_2, v_1, v_0]$.

Question: Given a set of matrices $D_0, \ldots, D_m$ that I know to be the cell representation of a single $m$-simplex, how do I quickly recognize which vertex ordering is consistent with that simplex?

The best I can come up with so far:

  1. Take one ordering $[v_0, \ldots, v_m]$ and compute some matrices $\tilde D_0, \ldots, \tilde D_m$ that represent this simplex.
  2. For each $k = 1,\ldots,m - 1$, apply a permutation to the columns and selective sign flips to $\tilde D_k$ until it's equal to $D_k$, and apply the inverses of those operations to $\tilde D_{k + 1}$.
  3. Eventually, we'll arrive at either $D_m$, in which case $[v_0, \ldots, v_m]$ is the desired ordering, or $-D_m$, in which case some odd permutation is the desired ordering.

I'm wondering if my thinking is correct here, if there isn't a faster or better way to do the same thing, and if this is written about anywhere.

For context, I'm writing some code to compute Delaunay triangulations and things like that. Internally, I represent everything like a cell complex because we can describe polygons or non-manifold things quite nicely. At the end it all gets converted to a simplicial type of representation.

RobPratt
  • 50,938
  • Dumb question, but does the answer to the question depend on whether we're talking about ordered simplicial complexes or unordered simplicial complexes? Is this question asking about the ordered version (it seems like it to me)? – hasManyStupidQuestions Jun 08 '23 at 22:12

0 Answers0