completely.[]{data-label="fig:hplayers"}](HP_layers){width=".45\textwidth"}

### Node Addressal {#sec:addressal}

A hierarchy on $N$ nodes gives a natural labeling of the nodes. Suppose the hierarchy $H$ contains $k$ levels and each level is described by a graph $G$ with $|G|=n$ nodes, where $n^k=N$. Label the vertices of $G$ by indices $j=0,1,\ldots,n-1$. Then, the adjacency matrix ${\mathbbm{1}}_G\otimes G$ (which corresponds to $n$ disjoint copies of $G$) has vertices which may be labeled as $(jk)$, where $j,k=0,1,\ldots n-1$. The first label identifies which copy of $G$ the node occurs in, while the second identifies where in $G$ it appears. The same vertex labeling can then be used for the 2-level hierarchy $G{\mathbin{\Pi}}G$. In this manner, the $k$-level hierarchy has $n^{k}$ vertices with labels of the form $(b_1b_2\cdots b_k)$, where $b_i\in{\left\{0,1,\ldots, n-1\right\}}$ for all $i$. This is essentially a $k$-digit, base-$n$ representation of numbers from $0$ to $N=n^k - 1$, as illustrated in Fig. \[fig:hplayers\].

This node addressal scheme allows for each node to be uniquely identified in a way that simultaneously describes its connectivity to other nodes and allows for easy counting of how many nodes lie in either the entire graph or in particular subgraphs. This addressal scheme will be important for describing a variant of 