  Homeostasis refers to a phenomenon whereby the output $x_o$ of a system is
approximately constant on variation of an input $\mathcal{I}$. Homeostasis
occurs frequently in biochemical networks and in other networks of interacting
elements where mathematical models are based on differential equations
associated to the network. These networks can be abstracted as digraphs
$\mathcal{G}$ with a distinguished input node $\iota$, a different
distinguished output node $o$, and a number of regulatory nodes
$\rho_1,\ldots,\rho_n$. In these models the input-output map $x_o(\mathcal{I})$
is defined by a stable equilibrium $X_0$ at $\mathcal{I}_0$. Stability implies
that there is a stable equilibrium $X(\mathcal{I})$ for each $\mathcal{I}$ near
$\mathcal{I}_0$ and infinitesimal homeostasis occurs at $\mathcal{I}_0$ when
$(dx_o/d\mathcal{I})(\mathcal{I}_0) = 0$. We show that there is an
$(n+1)\times(n+1)$ homeostasis matrix $H(\mathcal{I})$ for which
$dx_o/d\mathcal{I} = 0$ if and only if $\det(H) = 0$. We note that the entries
in $H$ are linearized couplings and $\det(H)$ is a homogeneous polynomial of
degree $n+1$ in these entries. We use combinatorial matrix theory to factor the
polynomial $\det(H)$ and thereby determine a menu of different types of
possible homeostasis associated with each digraph $\mathcal{G}$. Specifically,
we prove that each factor corresponds to a subnetwork of $\mathcal{G}$. The
factors divide into two combinatorially defined classes: structural and
appendage. Structural factors correspond to feedforward motifs and appendage
factors correspond to feedback motifs. Finally, we discover an algorithm for
determining the homeostasis subnetwork motif corresponding to each factor of
$\det(H)$ without performing numerical simulations on model equations. The
algorithm allows us to classify low degree factors of $\det(H)$.
