How is the Jacobian or Sandpile group of a graph computed? From what I understand, given a graph, the Jacobian group and the Sandpile group refer to the same object.  Until now, I have been computing this group in the way detailed in Chapter 1 of this undergraduate thesis.  The approach is to use a theorem that says for any graph $G$ on $n$ vertices,
$$
\text{Jac}(G) \cong \mathbb{Z}^{n-1}/\text{im}\left(\tilde{\Delta}\right),
$$
where $\tilde{\Delta}$ is the reduced Laplacian of the graph.  To find the image of $\tilde{\Delta}$, it is first reduced to Smith normal form.  I am looking for more insight into the process and was wondering if anyone could explain or link an alternative method for arriving at the Jacobian of a graph.  In particular, I am interested in graphs of hypercubes.
 A: In a survey article on chip-firing, the sandpile group is defined on page 7 (definition 2.7) as $$\mathbb{Z}^{n-1} / \mathbb{Z}^{n-1} \tilde{\Delta}$$
Note that the authors use $\Delta'(G)$ to denote the reduced Laplacian. In the paper, $\mathbb{Z}^{n-1} \Delta'(G)$ refers to the abelian group generated by taking integer-linear combinations of the rows of $\Delta'(G)$, which I assume is what you mean by $im(\tilde{\Delta})$.
This gives a related, but alternative way of arriving at the Jacobian/Sandpile group: each element of the group corresponds to the a recurrent chip configuration in the chip-firing game (Corollary 2.16). 
The chip-firing game is a variation of the lending-and-borrowing game described in the thesis you've linked. In chip-firing, no vertex is allowed to go into debt, and the game terminates if a sequence of lending moves results in no vertex being able to lend without going into debt (such a configuration is stable). A recurrent chip configuration is a stable configuration with the additional property that it is accessible (Definition 2.11). 
Referenced: Holroyd, Alexander E., et al. "Chip-firing and rotor-routing on directed graphs." In and Out of Equilibrium 2. Birkhäuser Basel, 2008. 331-364.
