Skip to main content
1 of 2
Sam Hopkins
  • 24.2k
  • 5
  • 97
  • 171

This is just to record the observation of lambda from the comments.

I'll keep your convention that the rows of $H$ determine the chip-firing moves, so that for a sequence of firings $v\in\mathbb{Z}^n$ the result of caring out these firings (starting from the zero configuration) is $vH$. (But this means that we should really be talking about the kernel and cokernel of $H^t$ everywhere...)

For $x\in \mathbb{Z}^n$, the linear function $f(v)=\langle v, x\rangle \mod k$ is a clock if and only if $Hx=\mathbf{1} \mod k$. (Here $\langle \cdot , \cdot \rangle$ is the usual inner product, and $\mathbf{1}$ is the all ones vector.) This is because the requirement we have to satisfy to be a clock is that $f(vH)=\langle v, \mathbf{1}\rangle \mod k$ for all $v\in\mathbb{Z}^n$, so we need $f(vH)=\langle vH, x\rangle =\langle v,Hx\rangle$ to be equal moulo $k$ to $\langle v, \mathbf{1}\rangle$ for all $v\in \mathbb{Z}^n$, which happens if and only if $Hx=\mathbf{1} \mod k$.

It still is not totally clear how given a graph $G$ to find the (finite!) list of $k$ for which a clock exists, but for a fixed $k$ at least this makes it clear that the question of whether such a $k$ exists is a "linear algebra" problem (if $k$ is prime then indeed we're talking about linear algebra over a field).

Sam Hopkins
  • 24.2k
  • 5
  • 97
  • 171