\documentclass[11pt]{article}

\usepackage{amsmath}
\usepackage{amssymb}

\usepackage{xcolor}
\usepackage{tikz}
\usepackage{tikz-cd}

%\usepackage{systeme}

%\usepackage[textheight=8.5in, margin=1.6in]{geometry}
\usepackage[total={6in,8in}]{geometry}

\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\tikzstyle{ball} = [circle,shading=ball, ball color=black,
    minimum size=1mm,inner sep=1.3pt]
\tikzstyle{miniball} = [circle,shading=ball, ball color=black,
    minimum size=1mm,inner sep=0.5pt]
\tikzstyle{mminiball} = [circle,shading=ball, ball color=black,
    minimum size=0.6mm,inner sep=0.1pt]
\usetikzlibrary{arrows.meta}
\tikzset{>={Latex[length=2mm,width=1.5mm]}}
\tikzset{->-/.style={decoration={markings, mark=at position #1 with
  {\arrow{>}}},postaction={decorate}}}
\usetikzlibrary{decorations.pathmorphing}    
\usetikzlibrary{decorations.pathreplacing}
\usetikzlibrary{arrows.meta,calc}
\usetikzlibrary{bending}
\usetikzlibrary{decorations.markings,shapes.geometric}
\tikzset{->-/.style={decoration={markings, mark=at position #1 with
  {\arrow{>}}},postaction={decorate}}}
\tikzset{-|-/.style={decoration={markings, mark=at position #1 with
  {\arrow{stealth}}},postaction={decorate}}}
\tikzset{movearrow/.style 2 args ={
        decoration={markings,
	  mark= at position {#1} with {\arrow{#2}} ,
        },
        postaction={decorate}
    }
}

%\usepackage{graphicx}

\usepackage{needspace}  % <-- to prevent bad pagebreak over environment titles
% Use:  \Needspace{3\baselineskip} before opening an environment

\usepackage{enumitem}
%\setlist[enumerate]{leftmargin=*}

%\allowdisplaybreaks

%\usepackage[colorlinks=true,citecolor=black,linkcolor=black,urlcolor=blue]{hyperref}

\usepackage{algorithm}
\usepackage[noend]{algpseudocode}

\newcommand{\N}{\mathbb{N}}
\newcommand{\Z}{\mathbb{Z}}
\newcommand{\Q}{\mathbb{Q}}
\newcommand{\R}{\mathbb{R}}
\newcommand{\C}{\mathbb{C}}
\newcommand{\W}{\mathbb{W}}
\newcommand{\sn}{\mathfrak{S}}
\newcommand{\ve}{\varepsilon}
\newcommand{\ips}[2]{\langle{#1}, {#2}\rangle}
\newcommand{\incid}{\mathcal{I}(P)}
\newcommand{\tL}{\widetilde{L}}
\newcommand{\tV}{\widetilde{V}}
\DeclareMathOperator{\tr}{tr}
\DeclareMathOperator{\Span}{\mathrm{Span}}
\DeclareMathOperator{\rk}{\mathrm{rank}}
\DeclareMathOperator{\wt}{\mathrm{wt}}
\DeclareMathOperator{\trace}{\mathrm{tr}}
\DeclareMathOperator{\im}{\mathrm{im}}
\DeclareMathOperator{\Sym}{\mathrm{Sym}}
\DeclareMathOperator{\Hom}{\mathrm{Hom}}
\DeclareMathOperator{\diag}{\mathrm{diag}}
\DeclareMathOperator{\glb}{\mathrm{glb}}
\DeclareMathOperator{\lub}{\mathrm{lub}}
\DeclareMathOperator{\Pic}{\mathrm{Pic}}
\DeclareMathOperator{\Div}{\mathrm{Div}}
\DeclareMathOperator{\Jac}{\mathrm{Jac}}
\DeclareMathOperator{\cok}{\mathrm{cok}}
\DeclareMathOperator{\sgn}{\mathrm{sgn}}
\DeclareMathOperator{\outdeg}{\mathrm{outdeg}}
\DeclareMathOperator{\supp}{\mathrm{supp}}

\parskip = 0.05in
\parindent = 0.0in

%\pagestyle{empty}

\begin{document}
\centerline{Math 372 lecture for Wednesday, Week 13}
\bigskip

\centerline{\bf Firing posets I.}
\bigskip

Let~$G=(V,E)$ be a connected, undirected multigraph with no loops. We assume
that~$G$ is {\em locally finite}, meaning that there is a finite number of edges
coming into and going out of each vertex.  We also assume that not only is~$G$
connected, but that there is a finite path between any two vertices~$G$.  A {\em
divisor} on~$G$ is a formal, possibly infinite, sum~$D=\sum_{v\in V}D(v)v$ where
each~$D(v)\in\Z$. The {\em support} of~$D$ is~$\mathrm{supp}(D):=\left\{ v\in
V:D(v)\neq 0 \right\}$.  If~$\supp(D)$ is finite, then~$\deg(D):=\sum_{v\in
V}D(v)$.  We think of~$D$ as an assignment of~$D(v)$ dollars to each vertex~$v$.
Negative dollars are considered debt.  Together, the set of divisors with
vertex-wise addition forms an abelian group ($\Z$-module)~$\Div(G)$.  The {\em
Laplacian} for~$G$ is the~$\Z$-linear mapping~$L\colon \Div(G)\to\Div(G)$
defined as follows for each vertex~$v$ (considered as a divisor): (i) if~$w\neq
v$, then~$(Lv)(w)=-n_{vw}$ where~$n_{vw}$ is the number of directed edges
from~$v$ to~$w$, and (ii)~$(Lv)(v)=\deg_G(v)$.  Equivalently,
\[
  L(D)(v) := \sum_{vw\in E}(D(v)-D(w))v.
\]
Local finiteness guarantees that~$L$ is well-defined.  Fixing an ordering of the
vertices, we can think of~$L$ as a (possibly infinite) matrix with rows and
columns indexed by~$V$.  

We can {\em fire} a vertex~$v$ on~$D$ to obtain a
new divisor~$D'$ defined by
\[
  D':=D-Lv,
\]
and we then write~$D\xrightarrow{v}D'$.  Firing~$v$ is called a {\em
vertex-firing} or a {\em lending move} by~$v$.  We could also say that~$D'=D+Lv$ is
obtained from~$D$ by a {\em reverse-firing} or {\em lending move} at~$v$, and
write~$D'\xrightarrow{-v}D$.  Two divisors~$D$ and~$D'$ are {\em linearly
equivalent}, written~$D\sim D'$ if~$D-D'\in\im(L)$. If~$D\sim D'$, then there
exists divisor~$\sigma$ such that~$D'=D-L\sigma$.  We call~$\sigma$ a firing
script taking~$D$ to~$D'$ and write~$D\xrightarrow{\sigma}D'$.

A vertex~$v$ is {\em unstable} in~$D$ if~$D(v)\geq\deg_G(v)$.  This means that
after firing~$v$, the vertex~$v$ will not be in debt. A vertex-firing is {\em
legal} for~$D$ if~$v$ is unstable in~$D$.  We say~$D$ is {\em stable} if it has
no unstable vertices, and~$D$ is stabilizable if there exists a finite
sequence~$v_1,v_2,\dots$ of legal vertex firings leading to a stable divisor. 
(Question: what if we allowed infinite sequences?)  
\medskip

\noindent{\bf Definition 1.} The {\em firing graph} for~$D\in\Div(G)$ is the directed
graph~$\mathcal{F}(D)$ whose vertices are the divisors reachable from~$D$ by a
finite sequence of legal vertex-firings, and with an edge from vertex~$H$ to
vertex~$H'$ if there is a legal vertex firing taking~$H$ to~$H'$.
\medskip

\noindent{\bf Example.} Consider the diamond graph\ \ 
\begin{tikzpicture}[baseline=-0.5ex,scale=0.4]
  \node[ball,label={below:$v_1$}] (1) at (0,-1.732) {};
  \node[ball,label={left:$v_2$}] (2) at (-1,0) {};
  \node[ball,label={right:$v_3$}] (3) at (1,0) {};
  \node[ball,label={above:$v_4$}] (4) at (0,1.732) {};
  \draw (1)--(2)--(4)--(3)--(1);
  \draw (2)--(3);
  \node at (0,-3.7) {$G$};
\end{tikzpicture}
.

\noindent The firing graph for~$D=2v_1+2v_4=(2,0,0,2)$ is appears in
Figure~\ref{fig: 13wed2002}, and the firing graph
for~$D'=2v_1+v_2+2v_4=(2,1,0,2)$ appears in Figure~\ref{fig: 13wed2102}.
\begin{figure}[ht]
  \centering
  \begin{tikzpicture}[scale=0.4]
    \def\x{6cm}
    \def\y{6cm}
    \begin{scope}
      \node[ball,label={below:$2$}] (1) at (0,-1.732) {};
      \node[ball,label={left:$0$}] (2) at (-1,0) {};
      \node[ball,label={right:$0$}] (3) at (1,0) {};
      \node[ball,label={above:$2$}] (4) at (0,1.732) {};
      \draw (1)--(2)--(4)--(3)--(1);
      \draw (2)--(3);
      \node at (0,-3.8) {$D$};
    \end{scope}
    \begin{scope}[xshift=-\x,yshift=\y]
      \node[ball,label={below:$0$}] (1) at (0,-1.732) {};
      \node[ball,label={left:$1$}] (2) at (-1,0) {};
      \node[ball,label={right:$1$}] (3) at (1,0) {};
      \node[ball,label={above:$2$}] (4) at (0,1.732) {};
      \draw (1)--(2)--(4)--(3)--(1);
      \draw (2)--(3);
    \end{scope}
    \begin{scope}[xshift=\x,yshift=\y]
      \node[ball,label={below:$2$}] (1) at (0,-1.732) {};
      \node[ball,label={left:$1$}] (2) at (-1,0) {};
      \node[ball,label={right:$1$}] (3) at (1,0) {};
      \node[ball,label={above:$0$}] (4) at (0,1.732) {};
      \draw (1)--(2)--(4)--(3)--(1);
      \draw (2)--(3);
    \end{scope}
    \begin{scope}[yshift=2*\y]
      \node[ball,label={below:$0$}] (1) at (0,-1.732) {};
      \node[ball,label={left:$2$}] (2) at (-1,0) {};
      \node[ball,label={right:$2$}] (3) at (1,0) {};
      \node[ball,label={above:$0$}] (4) at (0,1.732) {};
      \draw (1)--(2)--(4)--(3)--(1);
      \draw (2)--(3);
    \end{scope}
    \draw[->] (-1.5,1.5)--(-4.5,4.5);
    \draw[->] (1.5,1.5)--(4.5,4.5);
    \draw[->] (-4.5,7.5)--(-1.5,10.5);
    \draw[->] (4.5,7.5)--(1.5,10.5);
  \end{tikzpicture}
  \caption{Firing graph for~$D=(2,0,0,2)$}\label{fig: 13wed2002} 
\end{figure}
\begin{figure}[ht]
  \centering
  \begin{tikzpicture}[scale=0.4]
    \def\x{6cm}
    \def\y{6cm}
    \begin{scope}
      \node[ball,label={below:$2$}] (1) at (0,-1.732) {};
      \node[ball,label={left:$1$}] (2) at (-1,0) {};
      \node[ball,label={right:$0$}] (3) at (1,0) {};
      \node[ball,label={above:$2$}] (4) at (0,1.732) {};
      \draw (1)--(2)--(4)--(3)--(1);
      \draw (2)--(3);
      \node at (0,-3.8) {$D'$};
    \end{scope}
    \begin{scope}[xshift=-1.5*\x,yshift=1.5*\y]
      \node[ball,label={below:$0$}] (1) at (0,-1.732) {};
      \node[ball,label={left:$2$}] (2) at (-1,0) {};
      \node[ball,label={right:$1$}] (3) at (1,0) {};
      \node[ball,label={above:$2$}] (4) at (0,1.732) {};
      \draw (1)--(2)--(4)--(3)--(1);
      \draw (2)--(3);
    \end{scope}
    \begin{scope}[xshift=1.5*\x,yshift=1.5*\y]
      \node[ball,label={below:$2$}] (1) at (0,-1.732) {};
      \node[ball,label={left:$2$}] (2) at (-1,0) {};
      \node[ball,label={right:$1$}] (3) at (1,0) {};
      \node[ball,label={above:$0$}] (4) at (0,1.732) {};
      \draw (1)--(2)--(4)--(3)--(1);
      \draw (2)--(3);
    \end{scope}
    \begin{scope}[yshift=3*\y]
      \node[ball,label={below:$0$}] (1) at (0,-1.732) {};
      \node[ball,label={left:$3$}] (2) at (-1,0) {};
      \node[ball,label={right:$2$}] (3) at (1,0) {};
      \node[ball,label={above:$0$}] (4) at (0,1.732) {};
      \draw (1)--(2)--(4)--(3)--(1);
      \draw (2)--(3);
    \end{scope}
    \begin{scope}[yshift=1.5*\y]
      \node[ball,label={below:$1$}] (1) at (0,-1.732) {};
      \node[ball,label={left:$0$}] (2) at (-1,0) {};
      \node[ball,label={right:$3$}] (3) at (1,0) {};
      \node[ball,label={above:$1$}] (4) at (0,1.732) {};
      \draw (1)--(2)--(4)--(3)--(1);
      \draw (2)--(3);
    \end{scope}
    \draw[->] (-1.5,1.5)--(-7,7);
    \draw[->] (1.5,1.5)--(7,7);
    \draw[->] (-7,11)--(-1.5,16.5);
    \draw[->] (7,11)--(1.5,16.5);
    \draw[->] (0,14.5)--(0,12.5);
    \draw[->] (0,5.5)--(0,3.5);
  \end{tikzpicture}
  \caption{Firing graph for~$D=(2,1,0,2)$}\label{fig: 13wed2102} 
\end{figure} 


\noindent{\bf Proposition 2.} If~$G$ is finite, then the kernel of~$L$ is
generated by~$1_V=\sum_{v\in V}v$ (or the all-ones vector, thinking of~$L$ as a
matrix).
\smallskip

\noindent{\bf Proof.} Suppose~$L(D)=0$, and let
\[
  m = \max\left\{ D(w):w\in V \right\}.
\]
Choose~$v$ such that~$D(v)=m$. Since~$L(D)=0$, we have
\[
  0=L(D)(v)=\sum_{vw\in E}(D(v)-D(w))=\deg_G(v)m-\sum_{vw\in E}D(w).
\]
Therefore,
\[
  m=\frac{1}{\deg_G(v)}\sum_{vw\in E}D(w).
\]
However, since~$D(w)\leq m$ for all~$w\in V$, the above equality can
only hold if~$D(w)=m$ for all~$w$ adjacent to~$v$.  Then, since~$G$ is
connected, it must be that~$D(w)=m$ for all~$w\in V$.
\hfill$\Box$
\medskip

\noindent{\bf Corollary.} Suppose~$G$ is finite, and let~$D\in\Div(G)$.
\begin{enumerate}
  \item Let~$C$ be a directed cycle in~$\mathcal{F}(D)$ starting and ending at some divisor~$H$.  Say
    \[
      H=H_1\xrightarrow{v_1}H_2\xrightarrow{v_2}\cdots\xrightarrow{v_{k}}H_{k+1}=H
    \]
    is a sequence of legal vertex firings corresponding to~$C$.
    Then~$\sum_{i=1}^{k}v_{i}=a 1_V$ for some integer~$a$.
  \item Suppose~$v_1,v_1,\dots,v_{k}$ and~$w_1,\dots,w_{\ell}$ are both legal
    firing sequences taking~$D$ to the some divisor~$D'$.  Also suppose that
    neither firing sequence contains all of the vertices.  Then the sequences
    are the same up to a permutation.
  \item The firing poset is graded.  The rank of~$D'\in\mathcal{F}(D)$ is the number of
    vertices that must be fired from~$D$ to reach~$D'$ in the firing graph
    (which also equals the length of a smallest legal sequence of firings
    taking~$D$ to~$D'$).
\end{enumerate}
\smallskip

\noindent{\bf Proof.} For part~1, let~$\sigma=\sum_{i=1}^{k}v_i$.  Then~$H =
H-L\sigma$. It follows that~$\sigma\in\ker(L)$, and hence~$\sigma$ is a multiple
of~$1_V$.  For part~2, let~$\sigma:=\sum_{i=1}^{k}v_i$
and~$\tau=\sum_{i=1}^{\ell}w_i$. Then
\[
D'=D-L\sigma=D-L\tau
\]
implies that~$\sigma-\tau\in\ker(L)$.  Therefore,~$\sigma=\tau+a1_V$ for some
integer~$a$.  Since~$\tau(w)=0$ for some~$w\in V$, and~$\sigma\geq0$, it follows
that~$a\geq 0$.  The since~$\sigma(u)=0$ for some~$u\in V$ and~$\tau\geq0$, it
follows that~$a\leq0$. Therefore, $a=0$ and~$\sigma=\tau$.  Then since
both~$\sigma$ and~$\tau$ are nonnegative, the result follows.

Part~3 follows immediately from part~2.
\hfill$\Box$
\medskip

\noindent{\bf Theorem.} (Least action principle) Let~$G$ be finite, and
let~$D\in\Div(G)$.  Suppose that~$v_1,\dots,v_k$ is a sequence of legal vertex
firings for~$D$, and let~$\sigma=\sum_{i=1}^kv_i$.  Then if~$D-L\tau$ is stable
with~$\tau\geq0$, it follows that~$\tau\geq\sigma$. 
\smallskip

\noindent{\bf Proof.} The proof goes by induction on~$k$.  The case~$k=0$, in
which~$\sigma=0$, it obvious. So suppose~$k>0$.  Since~$v_1$ is unstable in~$D$,
in order for~$D$ to stabilize,~$v_1$ must fire.  Therefore,~$v_1\in\supp(\tau)$.
Say~$D\xrightarrow{v_1}D'$, and let~$\tau'=\tau-v_1$.  Then~$\tau'$
stabilizes~$D'$ and~$v_2,\dots,v_k$ is a sequence of legal vertex firings.  By
induction~$\sigma-v_1\leq\tau'$, and the result follows:
\[
  \sigma\leq\tau'+v_1=\tau.
\]
\hfill$\Box$
\medskip

\noindent{\bf Corollary.} Let~$G$ be finite and~$D\in\Div(G)$. Suppose
that $v_1,\dots,v_k$ and~$w_1,\dots,w_{\ell}$ are both legal firing sequences,
and let~$\sigma:=\sum_{i=}^{k}v_i$ and~$\tau:=\sum_{i=1}^{\ell}w_i$ be the
corresponding firing scripts.  Further suppose that~$D\xrightarrow{\sigma}D'$
and~$D\xrightarrow{\tau}D''$ with both~$D'$ and~$D''$ stable.
Then~$\sigma=\tau$ and~$D'=D''$.
\smallskip

\noindent{\bf Proof.} From the least action principle we have~$\sigma\leq\tau$
and~$\tau\leq\sigma$.
\hfill$\Box$
\medskip

%\noindent{\bf Proposition.} If~$G$ is infinite and~$D\in\Div(G)$, then~$\F(D)$ has
%no finite cycles.  (Question: can it have an infinite cycle?)
%\smallskip
%
%\noindent{\bf Proof.} 
%Let~$H\in\Div(G)$ be any vertex of~$\F(D)$, and suppose
%that
%\[
%  H=H_1\xrightarrow{v_1}H_1\xrightarrow{v_2}\cdots\xrightarrow{v_{k}}H_{k+1}
%\]
%is any legal sequence of vertex firings with~$H_{k+1}$ not necessarily equal
%to~$H_1$.  Since~$G$ is infinite and connected, there exists an edge~$v_iw$ for
%some~$i$ and for some~$w\notin\left\{ v_1,\dots,v_k \right\}$.
%Then~$H_k(w)>H_0(w)$, and therefore the sequence of vertex-firings does not create a
%cycle.  (Do we have to worry about infinite cycles?)
%\hfill$\Box$
\end{document}
