1 Introduction

1.1 Overview and perspective

This paper divides into three parts. Part I, which is just Sect. 1.1, puts our work in perspective. Part II, which consists of Sects. 1.21.14, gives a precise technical description of our results. Finally, Part III consists of Sects. 27 and contains the rigorous mathematics, along with the proofs of theorems mentioned in Part II. We note that certain graph theoretic notions and theorems are needed in the proofs in Part III, but are not needed in the description of our results in Part II.

A system exhibits homeostasis if on change of an input variable \({{\mathcal {I}}}\) some observable \(x_o({{\mathcal {I}}})\) remains approximately constant. Many researchers have emphasized that homeostasis is an important phenomenon in biology. For example, the extensive work of Nijhout, Reed, Best and collaborators (Nijhout et al. 2004; Reed et al. 2010; Best et al. 2009; Nijhout and Reed 2014; Nijhout et al. 2015, 2018) consider biochemical networks associated with metabolic signaling pathways. Further examples include regulation of cell number and size (Lloyd 2013), control of sleep (Wyatt et al. 1999), and expression level regulation in housekeeping genes (Antoneli et al. 2018).

Adaptation is a closely related notion. It is the ability of a system to reset an observable \(x_o({{\mathcal {I}}})\) to its prestimulated output level (its set point) after responding to an external stimulus \({{\mathcal {I}}}\). Adaptation has been widely used in synthetic biology and control engineering (cf. Ma et al. 2009; Ang and McMillen 2013; Tang and McMillen 2016; Ferrell 2016; Qian and Vecchio 2018; Araujo and Liota 2018; Vecchio et al. 2018; Aoki et al. 2019). Here, the focus of the research is on the stronger condition of perfect adaptation, where the observable \(x_o({{\mathcal {I}}})\) is required to be constant over a range of external stimuli \({{\mathcal {I}}}\). The literature is huge, and these articles are a small sample.

The mathematical formulation of both homeostasis and adaptation is as follows. Start with a system of ordinary differential equations usually associated to a network of interacting elements. Next define an input–output function that maps the input variable or the external stimulus \({{\mathcal {I}}}\) to the output \(x_o({{\mathcal {I}}})\). Then the occurrence of homeostasis or perfect adaptation is a question about the properties of \(x_o({{\mathcal {I}}})\) under (time-dependent) variation of \({{\mathcal {I}}}\).

For instance, Reed et al. (2017) consider biochemical signaling networks whose nodes represent the concentrations of certain biochemical substrates that interact through mass action kinetics. They identify two homeostasis motifs in three-node networks: the feedforward loop motif (FFL) (Fig. 3c) and the kinetic motif (K) (Fig. 3b). There is notation in these figures that we have not yet defined. In related work on three-node biochemical networks with Michaelis-Menten kinetics, Ma et al. (2009) identify numerically two network topologies that achieve perfect adaptation. To do this, the authors searched 16,038 equations in various three-node network topologies over a wide range of parameter space. They found just two motifs that achieved perfect adaptation: the negative feedback loop motif (NFL) (Fig. 3a) and the incoherent feedforward loop (IFL) (Fig. 3c). The combined results of Reed et al. (2017) and Ma et al. (2009) show that at least three network topologies (K, NFL, IFL \(\cong \) FFL) emerge as motifs exhibiting homeostasis or perfect adaptation in three-node biochemical networks.

Recently, Golubitsky and Wang (2020) classified the ‘homeostasis types’ that can occur in three-node input–output networks based on the notion of infinitesimal homeostasis (Golubitsky and Stewart 2017) (see Definition 1.2). Using this approach, they were able to reproduce the classification results in Ma et al. (2009) and Reed et al. (2017), within a broader class of systems including, but not limited to, specific model systems based on mass action or Michaelis-Menten kinetics. They showed that three-node networks that can exhibit infinitesimal homeostasis are, up to core equivalence (see Definition 1.9), the three network topologies mentioned above.

This paper generalizes the results of Golubitsky and Wang (2020) on three-node networks to arbitrarily large input–output networks. We follow (Golubitsky and Stewart 2006) and abstract the notion of biochemical network to a ‘math network’ given by a digraph \({{\mathcal {G}}}\) with a distinguished input node \(\iota \) and a different distinguished output node o. The specific model equations are abstracted into admissible systems of differential equations, namely, one-parameter smooth families of vector fields compatible with the network topology of \({{\mathcal {G}}}\), such that only the input node depends explicitly on \({{\mathcal {I}}}\). These networks and their associated systems of differential equations are called input–output networks. We show that under certain conditions (the existence of an asymptotically stable equilibrium \(X_0\) for a particular parameter value \({{\mathcal {I}}}_0\)), one can always define the input–output function \({{\mathcal {I}}}\mapsto x_o({{\mathcal {I}}})\) associated to a given input–output network \({{\mathcal {G}}}\).

A straightforward application of Cramer’s rule (Lemma 1.5) gives a useful method for computing infinitesimal homeostasis points: infinitesimal homeostasis occur at \({{\mathcal {I}}}_0\), namely, \(\frac{dx_o}{d{{\mathcal {I}}}}({{\mathcal {I}}}_0)=0\), if and only if \(\det \big (H({{\mathcal {I}}}_0)\big )=0\) (Sect. 1.3). This result motivates the introduction of the homeostasis matrix \(H({{\mathcal {I}}})\) (see equation (1.6)), whose entries are linearized coupling strengths and linearized self-coupling strengths associated with the input–output network. The homeostasis matrix H—which has appeared in the literature under different names and notations (cf. Ma et al. 2009; Ang and McMillen 2013; Tang and McMillen 2016; Golubitsky and Stewart 2017; Araujo and Liota 2018; Aoki et al. 2019)—is the central object in our theory. As an aside: In our math networks arrows are identical and represent couplings and nodes are identical and represent differential equations, but neither the couplings nor the equations are assumed to be identical.

Our main result states that the homeostasis types that occur in admissible systems of differential equations associated with the network \({{\mathcal {G}}}\) are classified by the topology of certain subnetwork motifs of \({{\mathcal {G}}}\). Moreover, there is an algorithm (Sect. 1.8) for determining all the homeostasis subnetwork motifs and the corresponding homeostasis conditions, which also can be used for designing network topologies that display infinitesimal homeostasis.

In order to prove our results we introduce new concepts and techniques. The notion of core network (Sect. 1.4) allows one to go from a general input–output network to a ‘minimal network’ that retains all essential features of homeostasis. We define core equivalence of core networks in such a way that the determinant of a homeostasis matrix is determined by its core equivalence class. Combinatorial matrix theory (Brualdi and Ryser 1991) lets us put H into block upper triangular form and each diagonal block \(B_\eta \) is irreducible (no further triangularization is possible) and corresponds to a homeostasis type (Sect. 1.5). The degree of the homeostasis type is defined as the size k of the square block \(B_\eta \) and we prove that each block \(B_\eta \) has either k or \(k-1\) self-couplings. In the first case we call the homeostasis type appendage class and in the second structural class (Sect. 1.6). We characterize combinatorially both homeostasis types by identifying homeostasis subnetwork motifs and associating a subnetwork motif to each homeostasis type (Sect. 1.7). We also give an algorithm that determines the homeostasis blocks and their respective homeostasis types (Sect. 1.8).

In the biochemical network literature on homeostasis (or adaptation) it is usual to find designations attached to the networks, such as negative feedback loop, antithetical integral feedback, incoherent feedforward loop, etc. Ma et al. (2009); Tang and McMillen (2016); Ferrell (2016). These names refer to the presence of a certain mechanism that is responsible for the occurrence of homeostasis in a particular network. Ma et al. (2009) suggest that studies of these mechanisms can yield design principles for constructing network topologies that exhibit homeostasis. This could be called a ‘bottom-up’ approach for constructing homeostasis. It starts by identifying small building blocks that are associated with homeostasis and then how the blocks can be combined to build-up increasingly more complex networks that exhibit homeostasis. Here we take a ’top-down’ approach. We start with an input–output network \({{\mathcal {G}}}\) and have an algorithm that shows us how homeostasis in \({{\mathcal {G}}}\) can be generated from homeostasis in certain subnetworks.

Fundamental to our approach is the discovery that homeostasis in \({{\mathcal {G}}}\) can be associated with only two ‘classes of mechanisms’ that we called structural and appendage, each associated with certain topological properties (Sect. 1.7). In addition to classifying homeostasis types in a given network, these topological constraints also provide insights into the ‘bottom-up’ construction of homeostasis systems. The structural and appendage classes are abstract generalizations of the usual ‘feedforward’ and ‘feedback’ mechanisms (Ma et al. 2009; Ferrell 2016). More precisely, for each homeostasis type (in each class), there is a corresponding ‘network motif’ and an associated homeostasis mechanism. For instance, negative feedback loop and antithetical integral feedback are types in the appendage class, and incoherent feedforward loop is a type in the structural class.

The motivation for the term structural homeostasis comes from Reed et al. (2017), where the authors identify the feedforward loop as one of the homeostastic motifs in three-node biochemical networks. In general, structural homeostasis corresponds to a balancing of two or more excitatory/inhibitory sequence of couplings from the input node to the output node; that is, a generalized feedforward loop. There is a degenerate case where the role of the balancing is played by neutral coupling, a transition state between excitation and inhibition. This homeostasis type is called Haldane, because Haldane (1965) seems to have been the first to observe this homeostatic mechanism.

The intuition behind the term appendage homeostasis is that homeostasis is generated by a cycle of regulatory nodes; that is, a generalized feedback loop. This loop functions as controller nodes on a system that does not by itself exhibit homeostasis. There is a degenerate case of appendage homeostasis that we call null degradation where the role of the controller is played by a neutral node that balances between degradation and production. See Sect. 1.13 for additional detail.

A striking outcome of our approach is that we do not need to specify any homeostasis generating mechanisms at the outset. However, we find a posteriori that (given the appropriate generalizations) there are essentially only the two well-known feedback / feedforward types of homeostasis generating mechanisms.

Our work is unusual in that it combines ideas from combinatorial matrix theory and graph theory adapted to input–output networks to determine properties of equilibria of differential equations. Specifically, the determinant formula (Theorem 3.2) connects the nonzero summands of \(\det (H)\) with simple paths from the input node to the output node of the network \({{\mathcal {G}}}\). It is reminiscent of the connection between a directed graph and its adjacency matrix (Brualdi and Cvetkoić 2009). These simple paths allow us to identify both structural and appendage homeostasis. Finally, our theoretical results also allow us to derive formulas for determining the chair singularities (Nijhout et al. 2014; Reed et al. 2017).

1.2 Input–output networks and infinitesimal homeostasis

We now define the basic objects: input–output networks, network admissible systems of differential equations, and input–output functions.

An input–output network \({{\mathcal {G}}}\) has a distinguished input node \(\iota \), a distinguished output node o (distinct from \(\iota \)), and n regulatory nodes \(\rho = (\rho _1,\ldots ,\rho _n)\). The network \({{\mathcal {G}}}\) also has a specified set of arrows (or directed edges) connecting nodes \(\ell \) to nodes j. The associated network systems of differential equations have the form

$$\begin{aligned} \begin{array}{rcl} {\dot{x}}_\iota &{} = &{} f_\iota \left( x_\iota ,x_\rho , x_o,{{\mathcal {I}}}\right) \\ {\dot{x}}_\rho &{} = &{} f_\rho \left( x_\iota ,x_\rho , x_o\right) \\ {\dot{x}}_o &{} = &{} f_o\left( x_\iota ,x_\rho , x_o\right) \end{array} \end{aligned}$$
(1.1)

where \({{\mathcal {I}}}\in {{\mathbf {R}}}\) is an external input parameter, \(X=(x_\iota ,x_{\rho },x_o)\in {{\mathbf {R}}}\times {{\mathbf {R}}}^n\times {{\mathbf {R}}}\) is the vector of state variables associated to the network nodes and \(F(X,{{\mathcal {I}}})=(f_\iota , f_{\rho }, f_o)\) is a smooth one-parameter family of \({{\mathcal {G}}}\)-admissible vector fields on the state space \({{\mathbf {R}}}\times {{\mathbf {R}}}^n\times {{\mathbf {R}}}\) (see Golubitsky and Stewart 2006 for the definition of the space of admissible vector fields attached to a given network \({{\mathcal {G}}}\)). We write the network system (1.1) as

$$\begin{aligned} {\dot{X}} = F(X, {{\mathcal {I}}}) \end{aligned}$$
(1.2)

Let \(f_{j,x_\ell }\) denote the partial derivative of the \(j^{th}\) node function \(f_j\) with respect to the \(\ell ^{th}\) node variable \(x_\ell \). We make the following assumptions about the vector field F throughout:

  1. (a)

    F has an asymptotically stable equilibrium at \((X_0,{{\mathcal {I}}}_0)\).

  2. (b)

    The partial derivative \(f_{j,x_\ell }\) can be nonzero only if the network \({{\mathcal {G}}}\) has an arrow \(\ell \rightarrow j\).

  3. (c)

    Only the input node coordinate function \(f_\iota \) depends on the external input parameter \({{\mathcal {I}}}\) and the partial derivative of \(f_\iota \) with respect to \({{\mathcal {I}}}\) at the equilibrium point \((X_0,{{\mathcal {I}}}_0)\) satisfies

    $$\begin{aligned} f_{\iota ,{{\mathcal {I}}}}\left( X_0,{{\mathcal {I}}}_0\right) \ne 0 \end{aligned}$$
    (1.3)

It follows from (a) and the implicit function theorem applied to

$$\begin{aligned} F(X,{{\mathcal {I}}}) = 0 \end{aligned}$$
(1.4)

that there exists a unique smooth family of stable equilibria

$$\begin{aligned} X({{\mathcal {I}}}) = \big (x_\iota ({{\mathcal {I}}}),x_\rho ({{\mathcal {I}}}),x_o({{\mathcal {I}}})\big ) \end{aligned}$$
(1.5)

such that \(F(X({{\mathcal {I}}}),{{\mathcal {I}}})\equiv 0\) and \(X({{\mathcal {I}}}_0) = X_0\).

Definition 1.1

The mapping \({{\mathcal {I}}}\mapsto x_o({{\mathcal {I}}})\) is called the input–output function.

Local homeostasis is defined near \({{\mathcal {I}}}_0\) when the input–output function \(x_o\) is approximately constant near \({{\mathcal {I}}}_0\). An important observation is that locally homeostasis occurs when the derivative of \(x_o\) with respect to \({{\mathcal {I}}}\) is zero at \({{\mathcal {I}}}_0\). More precisely:

Definition 1.2

Infinitesimal homeostasis occurs at \({{\mathcal {I}}}_0\) if \(x'_o({{\mathcal {I}}}_0) = 0\) where \('\) indicates differentiation with respect to \({{\mathcal {I}}}\).

Terms that involve coupling in network systems are:

Definition 1.3

Let \(F=(f_\iota , f_{\rho }, f_o)\) be an admissible system for the network \({{\mathcal {G}}}\).

  1. (a)

    The partial derivative \(f_{j,x_\ell }(X_0,{{\mathcal {I}}}_0)\) is the linearized coupling associated with the arrow \(\ell \rightarrow j\) at the equilibrium \((X_0,{{\mathcal {I}}}_0)\).

  2. (b)

    The partial derivative \(f_{j,x_j}(X_0,{{\mathcal {I}}}_0)\) is the linearized self-coupling of node j at the equilibrium \((X_0,{{\mathcal {I}}}_0)\).

Remark 1.4

A notion similar to infinitesimal homeostasis, called perfect homeostasis or perfect adaptation, requires the stronger condition that the derivative of the input–output function be identically zero on an interval. It follows from Taylor’s theorem that infinitesimal homeostasis implies that the input–output function \(x_o\) is approximately constant near \({{\mathcal {I}}}_0\), the converse is not valid in general (Reed et al. 2017). This property is called near perfect homeostasis or near perfect adaptation in the literature (cf. Ferrell 2016; Tang and McMillen 2016). Hence, infinitesimal homeostasis is an intermediate notion between perfect homeostasis and near perfect homeostasis.

1.3 Infinitesimal homeostasis using Cramer’s rule

As noted previously (Golubitsky and Stewart 2017; Reed et al. 2017; Golubitsky and Wang 2020), a straightforward application of Cramer’s rule gives a formula for determining infinitesimal homeostasis points. See Lemma 1.5.

We use the following notation. Let J be the \((n+2)\times (n+2)\) Jacobian matrix of (1.2) and let \(H\) be the \((n+1)\times (n+1)\) homeostasis matrix given by dropping the first row and the last column of J:

(1.6)

Here all partial derivatives \(f_{\ell ,x_j}\) are evaluated at the equilibrium \(X_0\). The next lemma has appeared in several places including (Ma et al. 2009, Figure 5A), (Golubitsky and Stewart 2017, Lemma 6.1), (Reed et al. 2017, Theorem 3),and (Golubitsky and Wang 2020, Lemma 9), though not in this generality. The proof is included here for completeness, even though it is virtually identical to the one in Golubitsky and Wang (2020).

Lemma 1.5

Let \((X_0,{{\mathcal {I}}}_0)\) be an asymptotically stable equilibrium of (1.2). The input–output function \(x_o({{\mathcal {I}}})\) satisfies

$$\begin{aligned} x_o' = \pm \frac{f_{\iota , {{\mathcal {I}}}}}{\det (J)} \det (H) \end{aligned}$$
(1.7)

Hence, \({{\mathcal {I}}}_0\) is a point of infinitesimal homeostasis if and only if

$$\begin{aligned} \det (H)= 0 \end{aligned}$$
(1.8)

at \((X_0, {{\mathcal {I}}}_0)\).

Proof

Implicit differentiation of (1.4) with respect to \({{\mathcal {I}}}\) yields the matrix system

(1.9)

Since \(X_0\) is assumed to be a stable equilibrium, it follows that \(\det (J)\ne 0\). On applying Cramer’s rule to (1.9) we can solve for \(x_o'\) obtaining

(1.10)

which leads to (1.7). By assumption (1.3), \(f_{\iota , {{\mathcal {I}}}} \ne 0\). Hence, the fact that infinitesimal homeostasis for (1.2) is equivalent to (1.8) follows directly from (1.7). \(\square \)

1.4 Core networks

Homeostasis in a given network \({{\mathcal {G}}}\) can be determined by analyzing a simpler network that is obtained by eliminating certain nodes and arrows from \({{\mathcal {G}}}\). We call the network formed by the remaining nodes and arrows the core subnetwork.

Definition 1.6

A node \(\tau \) in a network \({{\mathcal {G}}}\) is downstream from a node \(\rho \) in \({{\mathcal {G}}}\) if there exists a path in \({{\mathcal {G}}}\) from \(\rho \) to \(\tau \). Node \(\rho \) is upstream from node \(\tau \) if \(\tau \) is downstream from \(\rho \).

These relationships are important when trying to classify infinitesimal homeostasis. For example, if the output node o is not downstream from the input node \(\iota \), then the input–output function \(x_o({{\mathcal {I}}})\) is identically constant in \({{\mathcal {I}}}\). Although technically this is a form of infinitesimal homeostasis, it is an uninteresting form.

Definition 1.7

  1. (a)

    The input–output network is a core network if every node is both upstream from the output node and downstream from the input node.

  2. (b)

    Every input–output network \({{\mathcal {G}}}\) has a core subnetwork \({{\mathcal {G}}}_c\) whose nodes are the nodes in \({{\mathcal {G}}}\) that are both upstream from the output node and downstream from the input node and whose arrows are the arrows in \({{\mathcal {G}}}\) whose head and tail nodes are both nodes in \({{\mathcal {G}}}_c\).

Fig. 1
figure 1

Example of a core subnetwork. \({{\mathcal {G}}}_c\) obtained from \({{\mathcal {G}}}\) by deleting nodes that are not both upstream from o and downstream from \(\iota \) and all arrows into and out of the deleted nodes

The next result concerning core networks follows from Theorem 2.4.

Corollary 1.8

Let \({{\mathcal {G}}}\) be an input–output network and let \({{\mathcal {G}}}_c\) be the associated core subnetwork. The input–output function associated with \({{\mathcal {G}}}_c\) has a point of infinitesimal homeostasis at \({{\mathcal {I}}}_0\) if and only if the input–output function associated with \({{\mathcal {G}}}\) has a point of infinitesimal homeostasis at \({{\mathcal {I}}}_0\).

It follows from Corollary 1.8 that classifying infinitesimal homeostasis for networks \({{\mathcal {G}}}\) is equivalent to classifying infinitesimal homeostasis for the core subnetwork \({{\mathcal {G}}}_c\).

Figure 1 gives an example of reducing a network to a core network. In this case the left two nodes in Fig. 1a are deleted to get to the core network, which is illustrated in Fig. 1b.

Definition 1.9

  1. (a)

    Two \((n+2)\)-node core networks are core equivalent if the determinants of their homeostasis matrices are identical polynomials of degree \(n+1\).

  2. (b)

    A backward arrow is an arrow whose head is the input node \(\iota \) or whose tail is the output node o.

Corollary 1.10

If two core networks differ from each other by the presence or absence of backward arrows, then the core networks are core equivalent.

Proof

The linearized couplings associated to backward arrows are of form \(f_{\iota ,x_k}\) and \(f_{k,x_o}\), which do not appear in the homeostasis matrix (1.8). \(\square \)

Therefore, backward arrows can be ignored when computing infinitesimal homeostasis with the homeostasis matrix \(H\). However, backward arrows cannot be totally ignored, since they are involved in the determination of both the equilibria of (1.2) and their stability.

Corollary 1.10 can be generalized to a theorem giving necessary and sufficient graph theoretic conditions for core equivalence. See Theorem 3.3.

1.5 Infinitesimal homeostasis blocks

The previous results imply that the computation of infinitesimal homeostasis reduces to solving \(\det (H)=0\), where \(H\) is the homeostasis matrix associated with a core network. From now on we assume that the input–output network \({{\mathcal {G}}}\) is a core network.

It is important to observe that the nonzero entries of \(H\) are the linearized coupling strengths \(f_{j,x_\ell }\) for the network connected nodes \(\ell \rightarrow j\) and the linearized self-coupling strengths \(f_{j,x_j}\). It follows that \(h = \det (H)\) is a homogeneous polynomial of degree \(n+1\) in the \((n+1)^2\) entries of \(H\). We use combinatorial matrix theory to show that in general h is nonzero and can factor, and that there is a different type of infinitesimal homeostasis associated with each factor. (Note that if \(h\equiv 0\), then the input–output function is constant.)

Frobenius-König theory (Brualdi and Ryser 1991) (see Schneider 1977 for an historical account) applied to the homeostasis matrix \(H\) implies that there are two constant \((n+1)\times (n+1)\) permutation matrices P and Q such that

(1.11)

where the square matrices \(B_1,\ldots ,B_m\) are unique up to permutation. More precisely, each block \(B_\eta \) cannot be brought into the form (1.11) by permutation of its rows and columns. Hence

$$\begin{aligned} \det (H) = \det \left( B_1\right) \cdots \det \left( B_m\right) \quad \text{ or }\quad h = h_1\cdots h_m \end{aligned}$$
(1.12)

is a unique factorization since \(h_\eta = \det (B_\eta )\) cannot further factor for each \(\eta \); that is, each \(\det (B_\eta )\) is an irreducible homogeneous polynomial. Specifically:

Theorem 1.11

The polynomial \(h_\eta =\det (B_\eta )\) is irreducible (in the sense that it cannot be factored as a polynomial) if and only if the block submatrix \(B_\eta \) is irreducible (in the sense that \(B_\eta \) cannot be brought to the form (1.11) by permutation of rows and columns of \(B_\eta \)).

Proof

The decomposition (1.11) corresponds to the irreducible components in the factorization (1.12) follows from (Brualdi and Ryser (1991), Theorem 4.2.6 (pp. 114–115) and Theorem 9.2.4 (p. 296)). \(\square \)

A consequence of (1.12) and (1.8) is that for each \(\eta = 1,\ldots , m\) there is a defining condition for infinitesimal homeostasis given by the polynomial equation \(\det (B_\eta ) = 0\). Recall that the input–output function is implicitly defined in terms of the external input \({{\mathcal {I}}}\) and \(\det (B_\eta )\) is a homogeneous polynomial in the linearized coupling strengths \(f_{j,x_\ell }\) evaluated at \(X({{\mathcal {I}}})\). Hence, there are m different defining conditions for infinitesimal homeostasis, \(h_\eta ({{\mathcal {I}}}) = 0\), where each one gives a nonlinear equation that can be solved for some \({{\mathcal {I}}}={{\mathcal {I}}}_0\). In practice, for a given model, it is unlikely that these equations can be solved in closed form; however, it is possible that each defining condition can be solved numerically. So, the decomposition of the homeostasis matrix \(H\) into blocks \(B_\eta \) simplifies the solution of \(\det (H)=0\).

Definition 1.12

Given the homeostasis matrix \(H\) of an input–output network \({{\mathcal {G}}}\), we call the unique irreducible diagonal blocks \(B_\eta \) in the decomposition (1.11) irreducible components. We say that homeostasis in \({{\mathcal {G}}}\) is of type \(B_\eta \) if \(\det (B_\eta ) = 0\) and \(\det (B_\xi ) \ne 0\) for all \(\xi \ne \eta \).

1.6 Infinitesimal homeostasis classes

The next results assert that the irreducible components \(B_\eta \) of \(H\) determine two distinct homeostasis classes (appendage and structural) and that one can associate a subnetwork \({{\mathcal {K}}}_\eta \) of \({{\mathcal {G}}}\) with each \(B_\eta \) (see Sect. 4).

Let \(B_\eta \) be an irreducible component in the decomposition (1.11), where \(B_\eta \) is a \(k\times k\) diagonal block, that is, \(B_\eta \) has degree k. Since the entries of \(B_\eta \) are entries of \(H\), these entries have the form \(f_{\rho ,x_\tau }\); that is, the entries are either 0 (if \(\tau \rightarrow \rho \) is not an arrow in \({{\mathcal {G}}}\)), self-coupling (if \(\tau = \rho \)), or coupling (if \(\tau \rightarrow \rho \) is an arrow in \({{\mathcal {G}}}\)).

Since P and Q in (1.11) are constant permutation matrices, all entries in each row (resp. column) of \(B_\eta \) must lie in a single row (resp. column) of \(H\). Hence, \(B_\eta \) has the form

(1.13)

It follows that the number of self-coupling entries of \(B_\eta \) are the same no matter which permutation matrices P and Q are used in (1.11) to determine \(B_\eta \). In Theorem 4.4 we show that a \(k\times k\) submatrix \(B_\eta \) has either k or \(k-1\) self-coupling entries.

Definition 1.13

The homeostasis class of an irreducible component \(B_\eta \) of degree k is appendage if \(B_\eta \) has k self-couplings and structural if \(B_\eta \) has \(k-1\) self-couplings.

Definition 1.14

The subnetwork \({{\mathcal {K}}}_\eta \) of \({{\mathcal {G}}}\) associated with the homeostasis block \(B_\eta \) is defined as follows. The nodes in \({{\mathcal {K}}}_\eta \) are the union of nodes p and q where \(f_{p,x_q}\) is a nonzero entry in \(B_\eta \) and the arrows of \({{\mathcal {K}}}_\eta \) are the union of arrows \(q\rightarrow p\) where \(p\ne q\).

Theorem 4.7 implies that when \(B_\eta \) is appendage, the subnetwork \({{\mathcal {K}}}_\eta \) has k nodes and \(B_\eta \) can be put in a standard Jacobian form without any distinguished nodes ((4.4)). Also, when \(B_\eta \) is structural, the subnetwork \({{\mathcal {K}}}_\eta \) has \(k+1\) nodes and \(B_\eta \) can be put in a standard homeostasis form with designated input node and output node ((4.3)). Moreover, in this case, the subnetwork \({{\mathcal {K}}}_\eta \) has no backward arrows. That is, \({{\mathcal {K}}}_\eta \) has no arrows whose head is the input node or whose tail is the output node. See Remark 4.8 for details.

1.7 Combinatorial characterization of homeostasis

In Sects. 1.7.1 and 1.7.2 we define a number of combinatorial terms. These terms are illustrated in the 12-node network in Fig. 2.

Fig. 2
figure 2

The 12-node example

1.7.1 Simple nodes

Core input–output networks \({{\mathcal {G}}}\) have combinatorial properties that we now define and exploit. The key ideas are the concepts of \(\iota o\)-simple paths and super-simple nodes.

Definition 1.15

Let \({{\mathcal {G}}}\) be a core input–output network.

  1. (a)

    A directed path connecting nodes \(\rho \) and \(\tau \) is called a simple path if it visits each node on the path at most once.

  2. (b)

    An \(\iota o\)-simple path is a simple path connecting the input node \(\iota \) to the output node o.

  3. (c)

    A node in \({{\mathcal {G}}}\) is simple if the node lies on an \(\iota o\)-simple path and appendage if the node is not simple.

  4. (d)

    A super-simple node is a simple node that lies on every \(\iota o\)-simple path.

Nodes \(\iota \) and o are super-simple since by definition these nodes are on every \(\iota o\)-simple path. Lemma 6.1 shows that super-simple nodes are well ordered (by downstream ordering) and hence adjacent super-simple pairs of nodes can be identified.

1.7.2 Properties of appendage homeostasis

Characterization of appendage homeostasis networks requires the following definitions.

Definition 1.16

Let \({{\mathcal {G}}}\) be a core input–output network.

  1. (a)

    The appendage subnetwork \({{\mathcal {A}}}_{{\mathcal {G}}}\) of \({{\mathcal {G}}}\) is the subnetwork consisting of all appendage nodes and all arrows in \({{\mathcal {G}}}\) connecting appendage nodes.

  2. (b)

    The complementary subnetwork of an \(\iota o\)-simple path S is the subnetwork \({{\mathcal {C}}}_S\) consisting of all nodes not on S and all arrows in \({{\mathcal {G}}}\) connecting those nodes.

  3. (c)

    Nodes \(\rho _i,\rho _j\) in \({{\mathcal {A}}}_{{\mathcal {G}}}\) are path equivalent if there exists paths in \({{\mathcal {A}}}_{{\mathcal {G}}}\) from \(\rho _i\) to \(\rho _j\) and from \(\rho _j\) to \(\rho _i\). An appendage path component (or an appendage strongly connected component) is a path equivalence class in \({{\mathcal {A}}}_{{\mathcal {G}}}\).

  4. (d)

    A cycle is a path whose first and last nodes are identical.

  5. (e)

    Let \({{\mathcal {K}}}\subset {{\mathcal {A}}}_{{\mathcal {G}}}\) be an appendage path component. A cycle is \({{\mathcal {K}}}\)-bad if it contains both nodes in \({{\mathcal {K}}}\) and simple nodes, but it does not contain super-simple nodes. \({{\mathcal {K}}}\) satisfies the no-cycle condition if there are no \({{\mathcal {K}}}\)-bad cycles with nodes in \({{\mathcal {K}}}\).

Note that the definition of the no-cycle condition in Definition 1.16(e) is equivalent to: Let \({{\mathcal {K}}}\subset {{\mathcal {A}}}_{{\mathcal {G}}}\) be an appendage path component. We say that \({{\mathcal {K}}}\) satisfies the no cycle condition if for every \(\iota o\)-simple path S, nodes in \({{\mathcal {K}}}\) do not form a cycle with nodes in \({{\mathcal {C}}}_S{\setminus }{{\mathcal {K}}}\).

In Sect. 5 we prove that every subnetwork \({{\mathcal {K}}}_\eta \) of \({{\mathcal {G}}}\) associated with an irreducible appendage homeostasis block \(B_\eta \) consists of appendage nodes (Lemma 5.2), is an appendage path component of \({{\mathcal {A}}}_{{\mathcal {G}}}\), and satisfies the no cycle condition (Theorem 5.4). The converse is proved in Theorem 7.1.

Remark 1.17

Nodes in the appendage subnetwork \({{\mathcal {A}}}_{{\mathcal {G}}}\) can be written uniquely as the disjoint union

$$\begin{aligned} {{\mathcal {A}}}_{{\mathcal {G}}}= \left( {{\mathcal {A}}}_1{\dot{\cup }}\cdots {\dot{\cup }}{{\mathcal {A}}}_s\right) \; {\dot{\cup }}\;\left( {{\mathcal {B}}}_1{\dot{\cup }}\cdots {\dot{\cup }}{{\mathcal {B}}}_t\right) \end{aligned}$$
(1.14)

where each \({{\mathcal {A}}}_i\) is an appendage path component that satisfies the no cycle condition and each \({{\mathcal {B}}}_i\) is an appendage path component that violates the no cycle condition. Moreover, each \({{\mathcal {A}}}_i\) (resp. \({{\mathcal {B}}}_i\)) can be viewed as a subnetwork of \({{\mathcal {A}}}_{{\mathcal {G}}}\) by including the arrows in \({{\mathcal {A}}}_{{\mathcal {G}}}\) that connect nodes in \({{\mathcal {A}}}_i\) (resp. \({{\mathcal {B}}}_i\)). We call \({{\mathcal {A}}}_i\) a no cycle appendage path component and \({{\mathcal {B}}}_i\) a cycle appendage path component.

1.7.3 A 12-node example illustrating combinatorial terms

The 12 nodes consist of the input node \(\iota \), the output node o, six simple nodes \(\rho _1,\ldots ,\rho _6\), and four appendage nodes \(\tau _1,\ldots ,\tau _4\). See Definition 1.15(c). The network has four \(\iota o\)-simple paths (see Definition 1.15(b) and Table 1) and five super-simple nodes \(\iota ,\rho _1,\rho _3,\rho _4,o\). See Definition 1.15(d).

The appendage subnetwork is \(\tau _1\leftarrow \tau _2\leftrightarrow \tau _3\leftarrow \tau _4\). See Definition 1.16(a). The complementary subnetworks (see Definition 1.16(b)) are listed in Table 1. There are three path components in the appendage subnetwork, namely, \(\tau _1\), \(\tau _2\leftrightarrow \tau _3\), and \(\tau _4\). See Definition 1.16(c).

Table 1 Four \(\iota o\)-simple paths for network in Fig. 2

An example of a cycle containing both appendage and simple nodes is \(\tau _4\rightarrow \rho _6 \rightarrow \tau _4\). See Definition 1.16(d). Note that this cycle is \(\tau _4\)-bad. The two path components \(\tau _1\) and \(\tau _2\leftrightarrow \tau _3\) satisfy the no-cycle condition given in Definition 1.16(e) since there are no \({{\mathcal {K}}}\)-bad cycles for \({{\mathcal {K}}}=\{\tau _1\}\) or \({{\mathcal {K}}}= \{\tau _2\leftrightarrow \tau _3\}\).

1.7.4 Properties of structural homeostasis

Corollary 6.10 shows that if \(B_\eta \) corresponds to an irreducible structural block, then \({{\mathcal {K}}}_\eta \) has two adjacent super-simple nodes (Proposition 6.9) and these super-simple nodes are the input node \(\ell \) and the output node j in \({{\mathcal {K}}}_\eta \). In addition, it follows from the standard homeostasis form (Theorem 4.7) that the network \({{\mathcal {K}}}_\eta \) contains no backward arrows. That is, no arrows of \({{\mathcal {K}}}_\eta \) go into the input node \(\ell \) nor out of the output node j.

We use the properties of structural homeostasis to construct all structural homeostasis subnetworks \({{\mathcal {K}}}_\eta \) up to core equivalence. First, we introduce the following terminology.

Definition 1.18

The structural subnetwork \({{\mathcal {S}}}_{{\mathcal {G}}}\) of \({{\mathcal {G}}}\) is the subnetwork whose nodes are either simple or in a cycle appendage path component \({{\mathcal {B}}}_i\) (see Remark 1.17) and whose arrows are arrows in \({{\mathcal {G}}}\) that connect nodes in \({{\mathcal {S}}}_{{\mathcal {G}}}\).

Lemma 5.5 implies that all structural homeostasis subnetworks are contained in \({{\mathcal {S}}}_{{\mathcal {G}}}\), which is an input–output network. That is, \({{\mathcal {G}}}\) and \({{\mathcal {S}}}_{{\mathcal {G}}}\) have the same simple, super-simple, input, and output nodes. Lemma 6.2 shows that every non-super-simple simple node lies between two adjacent super-simple nodes. Using this fact, we can define a subnetwork \({{\mathcal {L}}}\) of \({{\mathcal {S}}}_{{\mathcal {G}}}\) for every pair of adjacent super-simple nodes.

Definition 1.19

Let \(\rho _1, \rho _2\) be adjacent super-simple nodes.

  1. (a)

    A simple node \(\rho \) is between \(\rho _1\) and \(\rho _2\) if there exists an \(\iota o\)-simple path that includes \(\rho _1\) to \(\rho \) to \(\rho _2\) in that order.

  2. (b)

    The super-simple subnetwork, denoted \({{\mathcal {L}}}(\rho _1,\rho _2)\), is the subnetwork whose nodes are simple nodes between \(\rho _1\) and \(\rho _2\) and whose arrows are arrows of \({{\mathcal {G}}}\) connecting nodes in \({{\mathcal {L}}}(\rho _1,\rho _2)\).

It follows that all \({{\mathcal {L}}}(\rho _1,\rho _2)\) are contained in \({{\mathcal {S}}}_{{\mathcal {G}}}\). By Lemma 6.3 (d), each appendage node in \({{\mathcal {S}}}_{{\mathcal {G}}}\) connects to exactly one \({{\mathcal {L}}}\). This lets us expand a super-simple subnetwork \({{\mathcal {L}}}\subset {{\mathcal {S}}}_{{\mathcal {G}}}\) to a super-simple structural subnetwork \({{\mathcal {L}}}'\subset {{\mathcal {S}}}_{{\mathcal {G}}}\) as follows.

Definition 1.20

Let \(\rho _1\) and \(\rho _2\) be adjacent super-simple nodes in \({{\mathcal {G}}}\). The super-simple structural subnetwork \({{\mathcal {L}}}'(\rho _1,\rho _2)\) is the input–output subnetwork consisting of nodes in \({{\mathcal {L}}}(\rho _1,\rho _2)\cup {{\mathcal {B}}}\) where \({{\mathcal {B}}}\) consists of all appendage nodes that form cycles with nodes in \({{\mathcal {L}}}(\rho _1,\rho _2)\); that is, all cycle appendage path components that connect to \({{\mathcal {L}}}(\rho _1,\rho _2)\). Arrows of \({{\mathcal {L}}}'(\rho _1,\rho _2)\) are arrows of \({{\mathcal {G}}}\) that connect nodes in \({{\mathcal {L}}}'(\rho _1,\rho _2)\). Note that \(\rho _1\) is the input node and \(\rho _2\) is the output node of \({{\mathcal {L}}}'(\rho _1,\rho _2)\).

In Sect. 6 we prove that every subnetwork \({{\mathcal {K}}}_\eta \) of \({{\mathcal {G}}}\) associated with an irreducible structural homeostasis block \(B_\eta \) is a super-simple structural subnetwork (Theorem 6.11). The converse is proved in Theorem 7.2.

1.8 Algorithm for enumerating homeostasis subnetworks

Before finding homeostasis in a model (say a biochemical model) one must choose input and output nodes (a modeling assumption) and reduce the resulting input–output network to a core network. Then we apply the following algorithm.

Step 0: We begin by identifying the \(\iota o\)-simple paths in the core network and thus identifying the simple, super-simple, and appendage nodes. We also identify the appendage subnetwork \({{\mathcal {A}}}_{{\mathcal {G}}}\).

Step 1: Determining the appendage homeostasis subnetworks from \({{\mathcal {A}}}_{{\mathcal {G}}}\). Let

$$\begin{aligned} {{\mathcal {A}}}_1\;,\ldots ,\;{{\mathcal {A}}}_s \end{aligned}$$
(1.15)

be the no cycle appendage path components of \({{\mathcal {A}}}_{{\mathcal {G}}}\) (see Remark 1.17). Theorem 7.1 implies that these appendage path components are the subnetworks \({{\mathcal {K}}}_\eta \) that correspond to appendage homeostasis blocks. In addition, there are s independent defining conditions for appendage homeostasis given by the determinants of the Jacobian matrices \(\det (J_{{{\mathcal {A}}}_i}) = 0\) for \(i = 1,\ldots , s\).

Step 2: Determining the structural homeostasis subnetworks from \({{\mathcal {S}}}_{{\mathcal {G}}}\) (see Definition 1.18). Let \(\iota = \rho _1> \rho _2> \cdots > \rho _{q+1} = o\) be the super-simple nodes in \({{\mathcal {S}}}_{{\mathcal {G}}}\) in downstream order. Theorems 6.11 and 7.2 imply that up to core equivalence the q super-simple structural subnetworks

$$\begin{aligned} {{\mathcal {L}}}'\left( \iota ,\rho _2\right) ,\; {{\mathcal {L}}}'\left( \rho _2,\rho _3\right) \;,\ldots ,\; {{\mathcal {L}}}'\left( \rho _{q-1},\rho _q\right) ,\; {{\mathcal {L}}}'\left( \rho _q,o\right) \end{aligned}$$
(1.16)

are the subnetworks \({{\mathcal {K}}}_\eta \) that correspond to structural homeostasis blocks. In addition, there are q defining conditions for structural homeostasis blocks given by the determinants of the homeostasis matrices of the input–output networks: \(\det \big (H({{\mathcal {L}}}'(\rho _i,\rho _{i+1}))\big ) = 0\) for \(i = 1,\ldots , q\).

Therefore, the \(m = s + q\) subnetworks listed in (1.15) and (1.16) enumerate the appendage and structural homeostasis subnetworks in \({{\mathcal {G}}}\).

1.9 Low degree homeostasis types

Here we specialize our discussion to the low degree cases \(k=1\) and \(k=2\) where we determine all such homeostasis types (see Fig. 3). The first three types appear in three node networks and are given in the classification in Golubitsky and Wang (2020). The fourth type has degree \(k = 2\), but can only appear in networks with at least four nodes (see Fig. 4a). We note that the lowest degree of a structural homeostasis block with an appendage node (that is, \({{\mathcal {L}}}'\supsetneq {{\mathcal {L}}}\)) is \(k = 3\) (see Fig. 4b).

Fig. 3
figure 3

Homeostasis types in three-node networks. a Three-node core network exhibiting Haldane (\(\iota \rightarrow o\)) and null-degradation (\(\tau \)) homeostasis. b Three-node core network exhibiting Haldane \((\iota \rightarrow \rho \); \(\rho \rightarrow o)\) homeostasis. c Three-node core network exhibiting degree 2 structural homeostasis. According to Golubitsky and Wang (2020) this is a list of all three-node core networks up to core equivalence

1.9.1 Degree 1 no cycle appendage homeostasis (null-degradation)

This corresponds to the vanishing of a degree 1 irreducible factor of the form \((f_{\tau ,x_\tau })\). The single node \(\tau \) is a no cycle appendage path component. Apply Step 1 in the algorithm in Sects. 1.71.8 to Fig. 3a.

1.9.2 Degree 1 structural homeostasis (Haldane)

This corresponds to the vanishing of a degree 1 irreducible factor of the form \((f_{j, x_\ell })\) whose associated subnetwork is \({{\mathcal {L}}}'(\ell ,j)\) of the form \(\ell \rightarrow j\). Apply Step 2 in the algorithm in Sects. 1.71.8 to Fig. 3b.

1.9.3 Degree 2 structural homeostasis (feedforward loop)

This corresponds to a three-node input–output subnetwork \({{\mathcal {L}}}'(\ell ,j)\) with input node \(\ell \), output node j, and regulatory node \(\rho \), where \(\ell \) and j are adjacent super-simple and \(\rho \) is a simple node between the two super-simple nodes. It follows that both paths \(\ell \rightarrow \rho \rightarrow j\) and \(\ell \rightarrow j\) are in \({{\mathcal {L}}}' = {{\mathcal {L}}}\). Hence, \({{\mathcal {L}}}'\) is a feedforward loop motif. Homeostasis occurs when

$$\begin{aligned} \det \left( H({{\mathcal {L}}}'(\ell ,j))\right) = f_{\rho ,x_{\ell }} f_{j,x_{\rho }} - f_{j,x_{\ell }}f_{\rho ,x_{\rho }} = 0 \end{aligned}$$

Apply Step 2 in the algorithm in Sects. 1.71.8 to Fig. 3c.

1.9.4 Degree 2 no cycle appendage homeostasis

This is associated with a two-node appendage path component \({{\mathcal {A}}}= \{\tau _1, \tau _2\}\) with arrows \(\tau _1 \rightarrow \tau _2\) and \(\tau _2 \rightarrow \tau _1\). Homeostasis occurs when

$$\begin{aligned} \det \left( J({{\mathcal {A}}})\right) = f_{\tau _1, x_{\tau _1}} f_{\tau _2, x_{\tau _2}} - f_{\tau _1, x_{\tau _2}} f_{\tau _2, x_{\tau _1}} = 0 \end{aligned}$$

Apply Step 1 in the algorithm in Sects. 1.71.8 to Fig. 4a.

Fig. 4
figure 4

Homeostasis types in four-node networks. a Smallest network exhibiting degree 2 no cycle appendage homeostasis. b Smallest network exhibiting appendage node in structural homeostasis

1.10 12-node artificial network example

We now return to the artificial example in Sect. 1.7.3 to illustrate the algorithm for enumerating homeostasis blocks. The network shown in Fig. 2 has input node (\(\iota \)), output node (o), six simple nodes (\(\rho _1,\ldots ,\rho _6\)), and four appendage nodes (\(\tau _1,\tau _2,\tau _3,\tau _4\)). The input–output network \({{\mathcal {G}}}\) in Fig. 2 has four \(\iota o\)-simple paths (see Table 1) and six homeostasis subnetworks that can be found in two steps using the algorithm in Sect. 1.8.

Step 1: \({{\mathcal {G}}}\) has three appendage path components (\({{\mathcal {A}}}_1 = \{\tau _1\}\), \({{\mathcal {A}}}_2 = \{\tau _2,\tau _3\}\), \({{\mathcal {B}}}_1 = \{\tau _4\}\)) in \({{\mathcal {A}}}_{{\mathcal {G}}}\). Among these, \({{\mathcal {A}}}_1\) and \({{\mathcal {A}}}_2\) satisfy the no cycle condition, whereas \({{\mathcal {B}}}_1\) does not since \(\tau _4\) forms a cycle with simple node \(\rho _6\). Hence, there are two appendage homeostasis subnetworks given by \({{\mathcal {A}}}_1\) and \({{\mathcal {A}}}_2\).

Step 2: \({{\mathcal {G}}}\) has five super-simple nodes (in downstream order, they are \(\iota , \rho _1, \rho _3, \rho _4, o\)). The five super-simple nodes lead to four structural homeostasis subnetworks given (up to core equivalence) by \({{\mathcal {L}}}'(\iota ,\rho _1)\), \({{\mathcal {L}}}'(\rho _1,\rho _3)\), \({{\mathcal {L}}}'(\rho _3,\rho _4)\), \({{\mathcal {L}}}'(\rho _4,o)\).

Table 2 lists the six homeostasis subnetworks in \({{\mathcal {G}}}\), which give the six irreducible factors of \(\det (H)\) where H is the \(11\times 11\) homeostasis matrix of \({{\mathcal {G}}}\). The factorization of the degree 11 homogeneous polynomial \(\det (H)\) is given by

$$\begin{aligned} \det (H) = \pm f_{\tau _1,x_{\tau _1}} \det \left( B_2\right) f_{\rho _1,x_{\iota }} \det \left( B_4\right) f_{\rho _4,x_{\rho _3}} \det \left( B_6\right) \end{aligned}$$

where

Table 2 Homeostasis subnetworks in Fig. 2

1.11 A biological example

The first step in applying our algorithm for finding infinitesimal homeostasis to a biological input–output network is to convert the network to a mathematical input–output network and then, if necessary, reducing the math network to a core network. See Golubitsky and Wang (2020) for the application of our methods to three-node biochemical systems. As another application, we consider the five-node E. coli chemotaxis network studied in Ma et al. (2009) (see Fig. 5, left panel). In this example the input node is the Receptor complex and the output node is the response regulator CheY.

The corresponding 5-node mathematical network is shown in the middle panel of Fig. 5. This network can be reduced to a 4-node core network (Fig. 5, right panel) by removing the node \(\tau _3\), which is not downstream from the input node, and the arrow \(\tau _3 \rightarrow \tau _2\). The remaining nodes are both downstream from \(\iota \) and upstream from o and hence form a core network \({{\mathcal {G}}}_c\) (see Definition 1.7).

The core network \({{\mathcal {G}}}_c\) has one \(\iota o\)-simple path \(\iota \rightarrow o\) with \(\iota \) and o being the super-simple nodes. The appendage subnetwork \({{\mathcal {A}}}_{{{\mathcal {G}}}_c}\) consists of two appendage nodes \(\tau _1\) and \(\tau _2\). We enumerate the homeostasis blocks in two steps:

  1. 1.

    \({{\mathcal {A}}}_{{{\mathcal {G}}}_c}\) has two appendage path components (\({{\mathcal {A}}}_1 = \{ \tau _1\}\), \({{\mathcal {A}}}_2=\{\tau _2\}\)) and each component satisfies the no-cycle condition. Hence, there are two appendage homeostasis subnetworks given by \({{\mathcal {A}}}_1\) and \({{\mathcal {A}}}_2\).

  2. 2.

    The two super-simple nodes lead to only one structural homeostasis subnetwork given by \({{\mathcal {L}}}(\iota , o)={{\mathcal {L}}}'(\iota , o)\), which is the \(\iota o\)-simple path.

These three homeostasis subnetworks give degree 1 factors of \(\det (H)\) where H is the \(3\times 3\) homeostasis matrix of \({{\mathcal {G}}}_c\). It follows that two types of homeostasis can occur in this E. coli network: null-degradation homeostasis occurs when \(f_{\tau _1,x_{\tau _1}}\) or \(f_{\tau _2,x_{\tau _2}}\) vanish (that is, the linearized internal dynamics of Methylation level or CheB is zero) and Haldane homeostasis occurs when \(f_{o,x_\iota } = 0\) (that is, the coupling from the input node Receptor complex to the output node CheY is 0).

Fig. 5
figure 5

A biological network example. (Left) The E. coli chemotaxis network from Ma et al. (2009). (Middle) The mathematical input–output network \({{\mathcal {G}}}\) corresponding to the E. coli network. (Right) The core subnetwork \({{\mathcal {G}}}_c\) of \({{\mathcal {G}}}\)

The analysis in Ma et al. (2009) proceeds along a slightly different tack. There the authors simplify the network to 3-nodes by combining \(\tau _1\) and \(\tau _2\). This changes the outcome whereby null-degradation can only occur in one way in their formulation and it is through the simultaneous occurrence of null-degradation in \(\tau _1\) and \(\tau _2\).

1.12 Remark on chairs

Nijhout et al. (2014) observed that homeostasis often appears in models in the form of a chair. That is, as \({{\mathcal {I}}}\) varies, the input–output function \(x_0({{\mathcal {I}}})\) has the piecewise linear description: increases linearly, is approximately constant, and then increases linearly again. Golubitsky and Stewart (2017) observed that it follows from elementary catastrophe theory that smooth chair singularities have the normal form \({{\mathcal {I}}}^3\), defining conditions

$$\begin{aligned} x_o'\left( {{\mathcal {I}}}_0\right) = x_o''\left( {{\mathcal {I}}}_0\right) = 0 \end{aligned}$$

and nondegeneracy condition \(x_0'''({{\mathcal {I}}}_0) \ne 0\). Moreover, Golubitsky and Wang (2020) noted that if \(x_0'({{\mathcal {I}}}) = g({{\mathcal {I}}}) h({{\mathcal {I}}})\), where \(g({{\mathcal {I}}}_0) \ne 0\), then the defining conditions for a chair singularity are equivalent to

$$\begin{aligned} h\left( {{\mathcal {I}}}_0\right) = h'\left( {{\mathcal {I}}}_0\right) = 0 \qquad \text {and}\qquad h''\left( {{\mathcal {I}}}_0\right) \ne 0 \end{aligned}$$
(1.17)

It follows from Lemma 1.5 and (1.12) that a chair singularity for infinitesimal homeostasis is of type \(B_\eta \) if \(h_\eta ({{\mathcal {I}}})\) satisfies (1.17) at \({{\mathcal {I}}}={{\mathcal {I}}}_0\).

1.13 Remarks on the interpretation of structural and appendage homeostasis

We claim that structural homeostasis balances fluxes along simple paths from one super-simple node to the next. This is defined by \(\det (H({{\mathcal {L}}}'(\rho _j,\rho _{j+1})))\) and gives a feedforward interpretation to structural homeostasis. See Definition 1.20. The balancing can be weighted by appendage nodes that appear in \({{\mathcal {L}}}'(\rho _j,\rho _{j+1}){\setminus }{{\mathcal {L}}}(\rho _j,\rho _{j+1})\).

On the other hand, appendage homeostasis balances fluxes in a given appendage path component. Each of these path components has input from a super-simple node and output to an upstream super-simple node, and this gives a feedback interpretation.

1.14 Structure of the paper

In Sect. 2 we show that infinitesimal homeostasis in the original system (1.1) occurs in a network if and only if infinitesimal homeostasis occurs in the core network for the associated frozen system. See Theorem 2.4. We discuss when backward arrows can be ignored when computing the determinant of the homeostasis matrix and the limitations of this procedure. See Corollary 1.10. In Sect. 3 we relate the form of the summands of the determinant of the homeostasis matrix H with the form of \(\iota o\)-simple paths of the input–output network. See Theorem 3.2. In Theorem 3.3 we also discuss ‘core equivalence’. In Sect. 4 we prove the theorems about the appendage and structural classes of homeostasis. See Definition 4.3, Theorem 4.4, and the normal form Theorem 4.7. In Sect. 5 we prove the necessary conditions that appendage homeostasis must satisfy. See Theorem 5.4. In Sect. 6, specifically Sect. 6.5, we introduce an ordering of super-simple nodes that leads to a combinatorial definition of structural blocks. See Definition 1.19 and Definition 1.20. The connection of these blocks with the subnetworks \({{\mathcal {K}}}_\eta \) obtained from the homeostasis matrix is given in Corollary 6.7 and Theorem 6.11. In Sect. 7 we summarize our algorithm for finding infinitesimal homeostasis directly from the input–output network \({{\mathcal {G}}}\). It also gives a topological classification of the different types of infinitesimal homeostasis that the network \({{\mathcal {G}}}\) can support.

2 Core networks

Let \({{\mathcal {G}}}\) be an input–output network with input node \(\iota \), output node o, and regulatory nodes \(\rho _j\). We use the notions of upstream and downstream nodes to construct a core subnetwork \({{\mathcal {G}}}_c\) of \({{\mathcal {G}}}\).

The stable equilibrium \((X_0,{{\mathcal {I}}}_0)\) of the system of differential Eq. (1.1) satisfy a system of nonlinear Eq. (1.4), that can be explicitly written as

$$\begin{aligned} \begin{aligned} f_\iota \left( x_\iota ,x_\rho , x_o,{{\mathcal {I}}}\right)&= 0\\ f_\rho \left( x_\iota ,x_\rho , x_o\right)&= 0\\ f_\iota \left( x_\iota ,x_\rho , x_o\right)&= 0 \end{aligned} \end{aligned}$$
(2.1)

We start by partitioning the regulatory nodes \(\rho \) into three types:

  • those nodes \(\sigma \) that are both upstream from o and downstream from \(\iota \),

  • those nodes d that are not downstream from \(\iota \),

  • those nodes u that are downstream from \(\iota \) and not upstream from o.

Based on this partition, the system (2.1) has the form

$$\begin{aligned} \begin{aligned} f_\iota \left( x_\iota ,x_\sigma ,x_u, x_d, x_o,{{\mathcal {I}}}\right)&= 0\\ f_\sigma \left( x_\iota ,x_\sigma ,x_u, x_d, x_o\right)&= 0 \\ f_u\left( x_\iota ,x_\sigma ,x_u, x_d, x_o\right)&= 0 \\ f_d\left( x_\iota ,x_\sigma ,x_u, x_d, x_o\right)&= 0 \\ f_o\left( x_\iota ,x_\sigma ,x_u, x_d, x_o\right)&= 0 \end{aligned} \end{aligned}$$
(2.2)

In Lemma 2.1 we make this form more explicit.

Lemma 2.1

The definitions of \(\sigma \), u, and d nodes imply the admissible system (2.2) has the form

$$\begin{aligned} \begin{array}{rcl} {\dot{x}}_\iota &{} = &{} f_\iota \left( x_\iota ,x_\sigma , x_d, x_o,{{\mathcal {I}}}\right) \\ {\dot{x}}_\sigma &{} = &{} f_\sigma \left( x_\iota ,x_\sigma , x_d, x_o\right) \\ {\dot{x}}_u &{} = &{} f_u\left( x_\iota ,x_\sigma ,x_u, x_d, x_o\right) \\ {\dot{x}}_d &{} = &{} f_d\left( x_d\right) \\ {\dot{x}}_o &{} = &{} f_o\left( x_\iota ,x_\sigma , x_d, x_o\right) \end{array} \end{aligned}$$
(2.3)

Specifically, arrows of type \(\sigma \rightarrow d\), \(\iota \rightarrow d\), \(u\rightarrow d\), \(o\rightarrow d\), \(u\rightarrow \sigma \), \(u\rightarrow o\), \(u\rightarrow \iota \) do not exist.

Proof

We list the restrictions on (2.2) given first by the definition of d and then by the definition of u.

\(\sigma \not \rightarrow d\):

If a node in \(\sigma \) connects to a node in d, then there would be a path from \(\iota \) to a node in d and that node in d would be downstream from \(\iota \), a contradiction. Therefore, \(f_d\) is independent of \(x_\sigma \).

\(\iota \not \rightarrow d\):

Similarly, the node \(\iota \) cannot connect to a node in d, because that node would then be downtream from \(\iota \), a contradiction. Therefore, \(f_d\) is independent of \(x_\iota \).

\(o\not \rightarrow d\):

If there is an arrow \(o\rightarrow d\), then there is a path \(\iota \rightarrow \sigma \rightarrow o\rightarrow d\). Hence there is a path \(\iota \rightarrow d\) and that is not allowed. Therefore, \(f_d\) is independent of \(x_o\).

\(u\not \rightarrow d\):

Note that nodes in u must be downstream from \(\iota \). Hence, there cannot be a connection from u to d or else there would be a connection from \(\iota \) to d. Therefore, \(f_d\) is independent of \(x_u\).

\(u\not \rightarrow \sigma \):

if a node in u connects to a node in \(\sigma \), then there would be a path from u to o and u would be upstream from o, a contradiction. Therefore, \(f_\sigma \) is independent of \(x_u\).

\(u\not \rightarrow o\):

Suppose a node in u connects to o. Then that node is upstream from o, a contradiction. Therefore, \(f_o\) is independent of \(x_u\).

\(u\not \rightarrow \iota \):

Finally, if u connects to \(\iota \), then u connects to o, a contradiction. Therefore, \(f_\iota \) is independent of \(x_u\).

The remaining types of connections can exist in \({{\mathcal {G}}}_c\). Nodes and arrows that can exist in \({{\mathcal {G}}}_c\) are shown in Fig. 6b. \(\square \)

Fig. 6
figure 6

Nodes and arrows in general network and core network

Lemma 2.2

Suppose \(X_0=(x^*_\iota , x^*_\sigma , x^*_u, x^*_d, x^*_o)\) is a stable equilibrium of (2.3). Then the core admissible system (obtained by freezing the \(x_d\) nodes at \(x^*_d\) and deleting the \(x_u\) nodes)

$$\begin{aligned} \begin{array}{rcl} {\dot{x}}_\iota &{} = &{} f_\iota \left( x_\iota ,x_\sigma ,x^*_d, x_o,{{\mathcal {I}}}\right) \\ {\dot{x}}_\sigma &{} = &{} f_\sigma \left( x_\iota ,x_\sigma ,x^*_d, x_o\right) \\ {\dot{x}}_o &{} = &{} f_o\left( x_\iota ,x_\sigma ,x^*_d, x_o\right) \end{array} \end{aligned}$$
(2.4)

has a stable equilibrium at \(Y_0=(x^*_\iota ,x^*_\sigma ,x^*_o)\).

Proof

It is straightforward that \(Y_0\) is an equilibrium of (2.4). Reorder coordinates \((\iota , \sigma , u, d, o)\) to \((\iota ,\sigma ,o,d,u)\). Then Lemma 2.1 implies that the Jacobian J of (2.3) has the form

(2.5)

and on swapping the u and o coordinates we see that J is similar to

(2.6)

It follows that the eigenvalues of J at \(X_0\) are the eigenvalues of \(f_{d,x_d}\), \(f_{u,x_u}\), and the eigenvalues of the Jacobian of (2.4) at \(Y_0\). Since the eigenvalues of \(J_1\) have negative real part, the equilibrium \(Y_0\) is stable. \(\square \)

Lemma 2.3

Suppose that \({{\mathcal {G}}}\) is an input–output network with core network \({{\mathcal {G}}}_c\). Suppose that the core admissible system

$$\begin{aligned} \begin{array}{rcl} {\dot{x}}_\iota &{} = &{} f_\iota \left( x_\iota ,x_\sigma , x_o,{{\mathcal {I}}}\right) \\ {\dot{x}}_\sigma &{} = &{} f_\sigma \left( x_\iota ,x_\sigma , x_o\right) \\ {\dot{x}}_o &{} = &{} f_o\left( x_\iota ,x_\sigma , x_o\right) \end{array} \end{aligned}$$
(2.7)

has a stable equilibrium at \(Y_0=(x^*_\iota ,x^*_\sigma ,x^*_o)\) and a point of infinitesimal homeostasis at \({{\mathcal {I}}}_0\). Then the admissible system for the original network \({{\mathcal {G}}}\) can be taken to be

$$\begin{aligned} \begin{array}{rcl} {\dot{x}}_\iota &{} = &{} f_\iota \left( x_\iota ,x_\sigma , x_o,{{\mathcal {I}}}\right) \\ {\dot{x}}_\sigma &{} = &{} f_\sigma \left( x_\iota ,x_\sigma , x_o\right) \\ {\dot{x}}_d &{} = &{} -x_d \\ {\dot{x}}_u &{} = &{} -x_u \\ {\dot{x}}_o &{} = &{} f_o\left( x_\iota ,x_\sigma , x_o\right) \end{array} \end{aligned}$$
(2.8)

has a stable equilibrium at \(X_0 = (x^*_\iota , x^*_\sigma , 0,0, x^*_o)\) and infinitesimal homeostasis at \({{\mathcal {I}}}_0\).

Theorem 2.4

Let \(x_o({{\mathcal {I}}})\) be the input–output function of the admissible system (2.3) and let \(x_o^c({{\mathcal {I}}})\) be the input–output function of the associated core admissible system (2.4). Then the input–output function \(x_o^c({{\mathcal {I}}})\) associated with the core subnetwork has a point of infinitesimal homeostasis at \({{\mathcal {I}}}_0\) if and only if the input–output function \(x_o({{\mathcal {I}}})\) associated with the original network has a point of infinitesimal homeostasis at \({{\mathcal {I}}}_0\). More precisely,

$$\begin{aligned} x_o'({{\mathcal {I}}}) = k({{\mathcal {I}}})\,x_o^{c\;\prime }({{\mathcal {I}}}) \end{aligned}$$
(2.9)

where \(k({{\mathcal {I}}}_0)\ne 0\).

Proof

It follows from Lemma 1.5 that \(x'_o({{\mathcal {I}}}_0) = 0\) if and only if

if and only if

if and only if

Both matrices \(f_{u,x_u}\) and \(f_{d,x_d}\) are triangular with negative diagonal entries and thus have nonzero determinants. It then follows from Lemma 1.5 that \(x_o^{c\;\prime }({{\mathcal {I}}}_0) = 0\) if and only if

(2.10)

is satisfied. \(\square \)

It follows from Theorem 2.4 and Lemma 2.3 that classifying infinitesimal homeostasis for networks \({{\mathcal {G}}}\) is identical to classifying infinitesimal homeostasis for the core subnetwork \({{\mathcal {G}}}_c\). Specifically, an admissible system with infinitesimal homeostasis for the core subnetwork yields, by Lemma 2.3, an admissible system with infinitesimal homeostasis for the original network which in turn yields the original system for the core subnetwork with infinitesimal homeostasis by Theorem 2.4.

Remark 2.5

Corollary 1.10 implies that backward arrows can be eliminated when computing zeros of \(\det (H)\). These arrows cannot be eliminated when computing equilibria of the network equations or their stability. See (2.13) in Example 1.

Example 1

Consider the network in Fig. 7. Assume WLOG that an admissible vector field for this network

$$\begin{aligned} \begin{array}{rcl} {\dot{x}}_\iota &{} = &{} f_\iota \left( x_\iota ,x_\rho ,{{\mathcal {I}}}\right) \\ {\dot{x}}_\rho &{} = &{} f_\rho \left( x_\iota ,x_\rho \right) \\ {\dot{x}}_o &{} = &{} f_o\left( x_\rho , x_o\right) \end{array} \end{aligned}$$
(2.11)

has an equilibrium at the origin \((X_0,{{\mathcal {I}}}_0)=(0,0)\); that is

$$\begin{aligned} f_\iota (0,0,0) = f_\rho (0,0) = f_o(0,0) = 0. \end{aligned}$$

Begin by noting that the Jacobian of (2.11) is

(2.12)
Fig. 7
figure 7

Backward arrow. Network with a (dashed) backward arrow

The origin is a linearly stable equilibrium if and only if

$$\begin{aligned} f_{o,x_0}< 0 \qquad f_{\iota , x_\iota } + f_{\rho , x_\rho } < 0 \qquad f_{\iota , x_\iota } f_{\rho , x_\rho } - f_{\iota , x_\rho } f_{\rho , x_\iota } > 0 \end{aligned}$$
(2.13)

Whether the third inequality in (2.13) holds depends on the value of the backward coupling \(f_{\iota , x_\rho } = 0\). However, whether infinitesimal homeostasis (\(x_o'(0) = 0\)) occurs is independent of the backward coupling since

3 Determinant formulas

Let \(H\) be the \((n+1)\times (n+1)\) homeostasis matrix (1.6) of the input–output network \({{\mathcal {G}}}\) with input node \(\iota \), n regulatory nodes \(\rho _j\), and output node o, and admissible system (1.1).

Lemma 3.1

Every nonzero summand of \(\det (H)\) corresponds to a unique \(\iota o\)-simple path and has all coupling strengths within this \(\iota o\)-simple path as its factors.

Proof

Each nonzero summand in \(\det (H)\) has \(n+1\) factors and each factor is the strength of a coupling arrow or of the linearized internal dynamics of a node. We can write \(H\) as

(3.1)

The columns of \(H\) correspond to \(n+1\) nodes in the order \(\iota ,\rho _1,\ldots ,\rho _n\) and the rows of \(H\) correspond to \(n+1\) nodes in the order \(\rho _1,\ldots ,\rho _n,o\). The entry \(f_{j,\iota } = f_{\rho _j,x_\iota }\) in column \(\iota \) is the linearized coupling strength of an arrow \(\iota \rightarrow \rho _j\). The entry \(f_{o,k} = f_{o,x_{\rho _k}}\) in row o is the linearized coupling strength of an arrow \(\rho _{k}\rightarrow o\). The entry \(f_{j,k} = f_{\rho _j,x_{\rho _k}}\) is the linearized coupling strength of an arrow \(\rho _k\rightarrow \rho _j\). If \(j=k\), the entry \(f_{k,k} = f_{\rho _k,x_{\rho _k}}\) is the linearized internal dynamics of node k. Note that each summand in the expansion of \(\det (H)\) has one factor associated with each column of \(H\) and one factor associated with each row of \(H\).

Fix a summand. By assumption there is a unique factor associated with the first column. If this factor is \(f_{o,\iota }\), we are done and the simple path is \(\iota \rightarrow o\). So assume the factor in the first column is \(f_{k,\iota }\), where \(1\le k\le n\). This factor is associated with the arrow \(\iota \rightarrow \rho _k\).

Next there is a unique factor in the column called \(\rho _k\) and that factor corresponds to an arrow \(\rho _k\rightarrow \rho _j\) for some node \(\rho _j\). If node \(\rho _j\) is o, the summand includes \((f_{k,\iota } f_{o,k})\) and the associated simple path is \(\iota \rightarrow \rho _k\rightarrow o\). Hence we are done. If not, we assume \(1\le j\le n\). Since there is only one summand factor in each row of \(H\), it follows that \(k\ne j\). This summand is then associated with the path \(\iota \rightarrow \rho _k\rightarrow \rho _j\) and contains the factors \((f_{k,\iota } f_{j, k})\).

Proceed inductively. By the pigeon hole principle we eventually reach a node that connects to o. The simple path that is associated to the given summand is unique because we start with the unique factor in the summand that has an arrow whose tail is \(\iota \) and the choice of \(\rho _i\) is unique at each step. Moreover, every coupling within this simple path is a factor of the given summand. \(\square \)

The determinant formula (3.2) for \(\det (H)\) in Theorem 3.2 is obtained by indexing the sum by the \(\iota o\)-simple paths of \({{\mathcal {G}}}\) as described in Lemma 3.1.

Theorem 3.2

Suppose \({{\mathcal {G}}}\) has k \(\iota o\)-simple paths \(S_1,\ldots , S_k\) with corresponding complementary subnetworks \(C_1,\ldots ,C_k \). Then

  1. (a)

    The determinant formula holds:

    $$\begin{aligned} \det (H) = \sum _{i=1}^k F_{S_i}\, G_{C_i} \end{aligned}$$
    (3.2)

    where \(F_{S_i}\) is the product of the coupling strengths within the \(\iota o\)-simple path \(S_i\) and \(G_{C_i}\) is a function of coupling strengths (including self-coupling strengths) from \(C_i\).

  2. (b)

    Specifically,

    $$\begin{aligned} G_{C_i} = \pm \det \left( J_{C_i}\right) \end{aligned}$$
    (3.3)

    where \(J_{C_i}\) is the Jacobian matrix of the admissible system corresponding to the complementary subnetwork \(C_i\). Generically, a coupling strength in \({{\mathcal {G}}}\) cannot be a factor of \(G_{C_i}\).

Proof

  1. (a)

    Let \(S_i\) be the \(r+2\) node \(\iota o\)-simple path \(\iota \rightarrow j_1\rightarrow \cdots \rightarrow j_r\rightarrow o\) and let

    $$\begin{aligned} F_{S_i} = f_{i_1,x_\iota } f_{i_2,x_{i_1}} \cdots f_{i_r,x_{i_{r-1}}} f_{o,x_{i_r}} \end{aligned}$$

    be the product of all coupling strengths in \(S_i\). By Lemma 3.1, \(\det (H)\) has the form (3.2). We claim that \(G_{C_i}\) is a function depending only on the coupling strengths (including self-coupling strengths) from the complementary subnetwork \(C_i\). Since each summand in the expansion of \(\det (H)\) has only one factor in each column of \(H\) and one factor in each row of \(H\), the couplings in \(G_{C_i}\) must have different tails and heads from the ones that appear in the simple path. Hence, \(G_{C_i}\) is a function of couplings (including self-couplings) between nodes that are not in the simple path \(S_i\), as claimed.

  2. (b)

    Next we show that up to sign \(G_{C_i}\) is the determinant of the Jacobian matrix of the admissible system for the subnetwork \(C_i\) (see (3.3)). To this end, relabel the nodes so that the \(\iota o\)-simple path \(S_i\) is

    $$\begin{aligned} \iota \rightarrow 1 \rightarrow \cdots \rightarrow r \rightarrow o \end{aligned}$$

    and the nodes in the complementary subnetwork \(C_i\) are labeled \(r+1, \ldots , n\). Then

    $$\begin{aligned} F_{S_i} = (-1)^\chi f_{1, x_\iota } f_{2, x_1} \cdots f_{r,x_{r-1}} f_{o, x_r} \end{aligned}$$

    where \(\chi \) permutes the nodes of the \(\iota o\)-simple path \(S_i\) to \(1,\ldots , r\). The summands of \(\det (H)\) associated with \(S_i\) are \(F_{S_i} G_{C_i}\), where

    $$\begin{aligned} G_{C_i} = \sum _{\sigma } (-1)^\sigma f_{r+1,x_{\sigma (r+1)}} \cdots f_{n,x_{\sigma (n)}} \end{aligned}$$
    (3.4)

    and \(\sigma \) is a permutation of the indices \(r+1,\ldots ,n\). Observe that the right hand side of (3.4) is just \(\det (J_{C_i})\) up to sign.

    Lastly, we show that no coupling strength in \({{\mathcal {G}}}\) can be a factor of \(\det (J_{C_i})\). The coupling strengths correspond to the arrows and the self-coupling strengths correspond to the nodes. The self-coupling strengths are the diagonal entries of \(J_{C_i}\), which are generically nonzero. If we set all coupling strengths to 0 (that is, assume they are neutral), then the off-diagonal entries of \(\det (J_{C_i})\) are 0 and \(\det (J_{C_i}) \ne 0\). Now suppose that one coupling strength is a factor of \(\det (J_{C_i})\), then \(\det (J_{C_i}) = 0\) if that coupling is neutral and we have a contradiction. It follows that no coupling strength can be a factor of \(\det (J_{C_i})\).\(\square \)

Theorem 3.3

Two core networks are core equivalent if and only if they have the same set of \(\iota o\)-simple paths and the Jacobian matrices of the complementary subnetworks to any simple path have the same determinant up to sign.

Proof

\({\varvec{{\Rightarrow }}}\) Let \({{\mathcal {G}}}_1\) and \({{\mathcal {G}}}_2\) be core networks and assume they are core equivalent. Therefore, \(\det (B_1) = \det (B_2)\) and by Theorem 3.2

$$\begin{aligned} \det \left( B_1\right) \equiv \sum _{i=1}^k F_{S_i}\, G_{C_i} = \sum _{j=1}^\ell F_{T_j}\, G_{D_j} \equiv \det \left( B_2\right) \end{aligned}$$

If a simple path of \({{\mathcal {G}}}_1\) were not a simple path of \({{\mathcal {G}}}_2\), the equality would fail; that is, the polynomials would be unequal. Therefore, we may assume \(\ell = k\) and (by renumbering if needed) that \(T_i = S_i\) for all i. It follows that

$$\begin{aligned} \sum _{i=1}^k F_{S_i}\, \left( G_{C_i} - G_{D_i}\right) = 0 \end{aligned}$$

Since the \(F_{S_i}\) are linearly independent it follows that \(G_{C_i} = G_{D_i}\) for all i; that is, \(\det (J_{C_i}) = \pm \det (J_{D_i})\) where \(J_{C_i}\) and \(J_{D_i}\) are the Jacobian matrices associated with \({{\mathcal {G}}}_1\) and \({{\mathcal {G}}}_2\). Hence the Jacobian matrices of the two complementary subnetworks have the same determinant up to sign.

\({\varvec{{\Leftarrow }}}\) The converse follows directly from Theorem 3.2. \(\square \)

Corollary 3.4

Two core networks are core equivalent if they have the same set of \(\iota o\)-simple paths and the same complementary subnetworks to these simple paths.

Proof

Follows directly from Theorem 3.3. \(\square \)

4 Infinitesimal homeostasis classes

In this section we prove that there are two classes of infinitesimal homeostasis: appendage and structural. See Definition 4.3 and Theorem 4.4. The section ends with a description of a ‘normal form’ for appendage and structural homeostasis blocks. These ‘normal forms’ are given in Theorem 4.7.

Section 5 discusses graph theoretic attributes of appendage homeostasis and Sect. 6.5 discusses graph theoretic attributes of structural homeostasis. This material leads to the conclusions in Sect. 7 where it is shown that each structural block is generated by two adjacent super-simple nodes and each appendage block is generated by a path component of the subnetwork of appendage nodes.

Recall from (1.11) that we can associate with each homeostasis matrix H a set of m irreducible square blocks \(B_1,\ldots ,B_m\) where

(4.1)

and P and Q are \((n+1)\times (n+1)\) permutation matrices.

Lemma 4.1

Let H be an \((n+1)\times (n+1)\) homeostasis matrix and let P and Q be \((n+1)\times (n+1)\) permutation matrices. Then the rows (and columns) of PHQ are the same as the rows (and columns) of H up to reordering. Moreover, the set of entries of H are identical with the set of entries of PHQ.

Proof

The set of rows of PH are identical to the set of rows of H. A row of HQ contains the same entries as the corresponding row of H—but with entries permuted. The second statement follows from the first. \(\square \)

Recall that the entries of the homeostasis matrix H, defined in (1.6) for an admissible system of a given input–output network \({{\mathcal {G}}}\), appear in three types: 0, coupling, and self-coupling. The following lemma is important in our discussion of homeostasis types.

Lemma 4.2

The number of self-coupling entries in each diagonal block \(B_\eta \) is an invariant of the homeostasis matrix H.

Proof

Suppose H is transformed in two different ways to upper triangular form (4.1). Then one obtains two sets of diagonal blocks \(B_1,\ldots , B_m\) and \({\tilde{B}}_1,\ldots {\tilde{B}}_{{\tilde{m}}}\). Since one set of blocks is transformed into the other by a permutation, it follows that the number of blocks in each set is the same. Moreover, the blocks are related by

$$\begin{aligned} {\tilde{B}}_{M(\nu )} = P_\nu B_\nu Q_\nu \end{aligned}$$

where M is a permutation of the index sets and for each \(\nu \), \(P_\nu \) and \(Q_\nu \) are permutation matrices. It follows from Lemma 4.1 that the size and the number of self-coupling entries of the square matrices \({\tilde{B}}_{M(\nu )}\) and \(B_\nu \) are identical. \(\square \)

Definition 1.13 defined two homeostasis classes. We repeat that definition here but with more specificity.

Definition 4.3

Let \(B_\eta \) be an irreducible \(k\times k\) square block associated with the \((n+1)\times (n+1)\) homeostasis matrix H in (4.1). The homeostasis class associated with \(B_\eta \) is appendage if \(B_\eta \) has k self-coupling entries and structural if \(B_\eta \) has \(k-1\) self-coupling entries.

Theorem 4.4 shows that each square block is either appendage or structural.

Theorem 4.4

Let \(H\) be an \((n+1)\times (n+1)\) homeostasis matrix and let \(B_\eta \) be a \(k\times k\) square diagonal block of the matrix PHQ given in (4.1), where P and Q are permutation matrices and \(k\ge 1\). Then \(B_\eta \) has either \(k-1\) self-couplings or k self-couplings.

Proof

Note that either

(4.2)

where A is an nonempty square matrix. In the first case in (4.2) \(B_\eta \) has single self-coupling entries in each of either \(k-1\) or k columns.

We assume the second case in (4.2). From Lemma 4.1 it follows that PHQ has exactly one row and exactly one column without a self-coupling entry. Hence, if \(B_\eta \) has more than k self-couplings, then \(B_\eta \) and hence \(H\) have a row with at least two self-couplings, which is not allowed.

We show by contradiction that \(B_\eta \) has at least \(k-1\) self-couplings. Suppose \(B_\eta \) has \(\ell \le k-2\) self-coupling entries. Note that there are \(\ell \) self-couplings in \(B_\eta \) by assumption, and there are no self-couplings in the 0 block. Let b be the number of self-couplings in B. Then \(b+\ell \) is the number of self-couplings in \([B \; B_\eta \; 0]^t\). Now, either every column or every column but one in \([B \; B_\eta \; 0]^t\) has a self-coupling. Therefore,

$$\begin{aligned} k - 1 \le b+\ell \le k \qquad \text {or}\qquad k- \ell - 1 \le b \le k-\ell \end{aligned}$$

We consider the two cases:

  • Assume \(b = k-\ell -1\). Then there exists one column in \([B \; B_\eta \; 0]^t\) that has no self-couplings. Therefore, every column in A has a self-coupling. Since B has a self-coupling, it follows that one row in \([A\; B\; C]\) has two self-couplings—a contradiction.

  • Assume \(b = k -\ell \). Since \([B \; B_\eta \; 0]^t\) has self-couplings in every column, it follows that A has a self-coupling in every column save at most one. It then follows that A has a self-coupling in every row save at most one. Since \(k-\ell \ge 2\), at east one row in \([A\; B\; C]\) has two self-couplings—also a contradiction.

Therefore, \(\ell = k-1\) or \(\ell = k\). \(\square \)

We build on Theorem 4.4 by putting \(B_\eta \) into a standard form of type (4.6). Its proof uses the next two lemmas about shapes and summands. A shape \({{\mathcal {E}}}\) is a subspace of \(m\times n\) matrices \(E=(e_{ij})\), where \(e_{ij} = 0\) for some fixed subset of indices ij. A square shape \({{\mathcal {D}}}\) is nonsingular if \(\det (D) \ne 0\) for some \(D\in {{\mathcal {D}}}\). A summand of a nonsingular shape \({{\mathcal {D}}}\) is a nonzero product in \(\det (D)\) for some \(D\in {{\mathcal {D}}}\).

Lemma 4.5

The nonzero summands of \(\det (PHQ)\) and \(\det (H)\) are identical.

Proof

Since \(\det (P) = \det (Q) = \pm 1\), it follows that \(\det (PHQ) = \pm \det (H)\). Hence, the nonzero summands must be identical. \(\square \)

Lemma 4.6

Suppose \({{\mathcal {B}}}\) and \({{\mathcal {C}}}\) are nonsingular shapes. Let \({{\mathcal {E}}}\) be the shape whose size is chosen so that \({{\mathcal {D}}}\) is the shape consisting of matrices

$$\begin{aligned} D = \left[ \begin{array}{rr} B &{} E \\ 0 &{} C\end{array}\right] \end{aligned}$$

where \(B \in {{\mathcal {B}}}\), \(C\in {{\mathcal {C}}}\), \(E\in {{\mathcal {E}}}\). Then each summand of \({{\mathcal {D}}}\) is the product of a summand of \({{\mathcal {B}}}\) with a summand of \({{\mathcal {C}}}\).

Proof

Suppose \(\mathsf{d}\) is a summand of \({{\mathcal {D}}}\). The product \(\mathsf{d}\) cannot have any entries in the 0 block of \({{\mathcal {D}}}\). Hence, \(\mathsf{d} = \mathsf{bc}\). Moreover, there is a matrix \(B\in {{\mathcal {B}}}\) such that \(\det (B) = \mathsf{b}\) and a matrix \(C\in {{\mathcal {C}}}\) such that \(\det (C) = \mathsf{c}\). In fact, we can assume that the nonzero entries of B are precisely the entries in the nonzero product \(\mathsf{b}\). Similarly for \(\mathsf{c}\). Since \(\det (D)\ne 0\) and \(\det (D) = \det (B)\det (C)\), it follows that \(\det (B) = \mathsf{b} \ne 0\) and \(\det (C) = \mathsf{c}\ne 0\). Therefore, \(\mathsf{b}\) and \(\mathsf{c}\) are summands of \({{\mathcal {B}}}\) and \({{\mathcal {C}}}\), respectively. Conversely, assume that \(\mathsf{b}\) and \(\mathsf{c}\) are summands and conclude that \(\mathsf{d}\) is also a summand. \(\square \)

It follows from Lemma 4.1 that the number of each type of entry in PHQ is the same as the number in H. Moreover, generically, the coupling and self-coupling entries are nonzero. It follows from (1.6) that the n superdiagonal entries of H are self-coupling entries and these are the only self-coupling entries in H. In addition, H has one self-coupling entry in each row except the last row, and one self-coupling in each column except the first column. By Lemma 4.1 there are exactly n self-coupling entries in PHQ with one in each row but one, and one in each column but one. We use these observations in the proof of Theorem 4.7.

Theorem 4.7

Let \(H\) be an \((n+1)\times (n+1)\) homeostasis matrix. Suppose \(\det (H)\) has a degree \(k \ge 1\) irreducible factor \(\det (B_\eta )\), where \(B_\eta \) be a \(k\times k\) block diagonal submatrix of the matrix PHQ given in (4.1) and P and Q are permutation matrices. If \(B_\eta \) has \(k-1\) self-coupling entries, then we can assume that \(B_\eta \) has the form

(4.3)

and if \(B_\eta \) has k self-coupling entries, then we can assume that \(B_\eta \) has the form

(4.4)

Proof

Theorem 4.4 implies that \(B_\eta \) has either \(k-1\) or k self-couplings. Since \(B_\eta \) is a \(k\times k\) submatrix of PHQ (a matrix that has the same set of rows and the same set of columns as H), \(B_\eta \) must consists of \(k^2\) entries of the form

(4.5)

Since self-couplings must be in different rows and different columns we can use permutation matrices of the form

where S is a \(k\times k\) permutation matrix to put \(B_\eta \) in the form:

(4.6)

where sc denotes a self-coupling entry and \(*\) denotes either a 0 entry or a coupling entry. Note that we could just as well have put the self-coupling entries along the diagonal in (4.6) (left).

If \(B_\eta \) has \(k-1\) self-couplings, as in (4.6) (left), then \(\rho _k \ne \tau _k\) and \(\rho _j = \tau _j\) for \(1\le j \le k-1\). If \(B_\eta \) has k self-couplings, as in (4.6) (right), then we may assume \(\rho _j = \tau _j\) for all j. It follows that the matrices in (4.6) have the form (4.3) or (4.4). \(\square \)

Remark 4.8

We use Theorem 4.7 to associate a subnetwork \({{\mathcal {K}}}_\eta \) with each homeostasis \(k\times k\) block \(B_\eta \). This construction implements the one in Definition 1.14 for appendage and structural homeostasis blocks. The network \({{\mathcal {K}}}_\eta \) will be an input–output subnetwork with \(k+1\) nodes when \(B_\eta \) is structural and the network \({{\mathcal {K}}}_\eta \) will be a standard subnetwork with k nodes when \(B_\eta \) is appendage.

If \(B_\eta \) is appendage, then the k nodes in \({{\mathcal {K}}}_\eta \) will correspond to the k self-couplings in \(B_\eta \) and the arrows in \(K_\eta \) will be \(\tau _i\rightarrow \tau _j\) if \(h_{\tau _j,x_{\tau _j}}\) is a coupling entry in (4.4).

If \(B_\eta \) is structural, then the \(k-1\) regulatory nodes of \({{\mathcal {K}}}_\eta \) will correspond to the self-couplings in \(B_\eta \) and the input node \(\ell \) and the output node j of \({{\mathcal {K}}}_\eta \) will be given by the coupling entry in (4.3). The arrows in \({{\mathcal {K}}}_\eta \) are given by the coupling entries of \(B_\eta \).

Note that the constructions of \({{\mathcal {K}}}\) from H do not require that H is a homeostasis block; the constructions only require that H has the form given in either (4.3) or (4.4).

5 Appendage homeostasis blocks

An appendage block \(B_\eta \) has k self-couplings and the form of a \(k \times k\) matrix (4.4), that is rewritten here as:

(5.1)

As discussed in Remark 4.8 this homeostasis block is associated with a subnetwork \({{\mathcal {K}}}_\eta \) consisting of distinct nodes \(\tau _1,\ldots ,\tau _k\) and arrows specified by \(B_\eta \) that connect these nodes. In this section we show that \({{\mathcal {K}}}_\eta \) satisfies three additional conditions:

  1. (a)

    Each node \(\tau _j\in {{\mathcal {K}}}_\eta \) is an appendage node (Lemma 5.2).

  2. (b)

    For every \(\iota o\)-simple path S, nodes in \({{\mathcal {K}}}_\eta \) do not form a cycle with nodes in \({{\mathcal {C}}}_S{\setminus }{{\mathcal {K}}}_\eta \) (Theorem 5.4(a)).

  3. (c)

    \({{\mathcal {K}}}_\eta \) is a path component of the subnetwork of appendage nodes of \({{\mathcal {G}}}\) (Theorem 5.4(b)).

Lemma 5.1

Suppose a nonzero summand \(\beta \) of \(\det (B_\eta )\) in (5.1) has \(f_{\tau _j,{x_{\tau _i}}}\) as a factor, where \(\tau _j \ne \tau _i\). Then the arrow \(\tau _i \rightarrow \tau _j\) is contained in a cycle in \({{\mathcal {K}}}_\eta \).

Proof

To simplify notation we drop the subscript \(\eta \) below on \({\tilde{H}}\), \({{\mathcal {K}}}\), and \({\tilde{{{\mathcal {K}}}}}\). Let \({{\tilde{H}}}\) be the \((k-1) \times (k-1)\) submatrix obtained by eliminating the \(j^{th}\) row and the \(i^{th}\) column of \(B_\eta \) in (5.1). Since \(\tau _i \ne \tau _j\), \({{\tilde{H}}}\) has \(k-2\) self-coupling entries. Specifically, the two self-couplings \(f_{\tau _i,x_{\tau _i}}\) and \(f_{\tau _j,x_{\tau _j}}\) have been removed when creating \({\tilde{H}}\) from \(B_\eta \).

It follows from Remark 4.8 that since \({\tilde{H}}\) has the form (4.3), we can associate an input–output network \({\tilde{{{\mathcal {K}}}}}\) with \({{\tilde{H}}}\), where the input node is \(\tau _j\) since it does not receive any input and the output node is \(\tau _i\) since it does not output to any node in \({\tilde{{{\mathcal {K}}}}}\). By Lemma 3.1, every nonzero summand in \(\det ({{\tilde{H}}})\) corresponds to a simple path from \(\tau _j \rightarrow \tau _i\). Hence, the nonzero summand \(\beta \) is given by \(f_{\tau _j,x_{\tau _i}} \) times a nonzero summand corresponding to a simple path from \(\tau _j \rightarrow \tau _i\). Therefore, the arrow \(\tau _i \rightarrow \tau _j\) coupled with the path \(\tau _j \rightarrow \tau _i\) forms a cycle in \({{\mathcal {K}}}\). \(\square \)

Lemma 5.2

Let \({{\mathcal {K}}}_\eta \) be a subnetwork of \({{\mathcal {G}}}\) associated with an appendage homeostasis block \(B_\eta \) that consists of a subset of nodes \(\tau _1,\cdots ,\tau _k\) of \({{\mathcal {G}}}\). Then \(B_\eta \) equals the Jacobian \(J_{{{\mathcal {K}}}_\eta }\) of the network \({{\mathcal {K}}}_\eta \) and each node \(\tau _j\) is an appendage node.

Proof

Admissible systems associated with the network \({{\mathcal {K}}}_\eta \) have the form

$$\begin{aligned} \begin{array}{rcl} {\dot{x}}_{\tau _1} &{} = &{} f_{\tau _1}\left( x_{\tau _1},\ldots ,x_{\tau _k}\right) \\ &{} \vdots &{} \\ {\dot{x}}_{\tau _k} &{} = &{} f_{\tau _k}\left( x_{\tau _1},\ldots ,x_{\tau _k}\right) \end{array} \end{aligned}$$

where the variables that appear on the RHS of each equation correspond to the couplings in (5.1). It follows that the matrix \(B_\eta \) in (5.1) equals the Jacobian \(J_{{{\mathcal {K}}}_\eta }\), as claimed.

We show that \(\tau _j\in {{\mathcal {K}}}_\eta \) is an appendage node for each j. More specifically, we show that \(\tau _j\) is in the complementary subnetwork \(C_S\) of each \(\iota o\)-simple path S. We now fix \(\tau _j\) and S.

We make two claims. First, every nonzero summand \(\alpha \) of \(\det (H)\) either contains the self-coupling \(f_{\tau _j,{x_{\tau _j}}}\) as a factor or a coupling \(f_{\tau _j,{x_{\tau _i}}}\) for some \(i\ne j\) as a factor. Second, this dichotomy is sufficient to prove the theorem.

First claim. It follows from Lemma 4.6 that each summand of \(\det (PHQ)\) has a summand of \(\det (B_\eta )\) as a factor. Therefore, each summand \(\alpha \) of \(\det (H)\) has a summand \(\beta \) of \(\det (B_\eta )\) as a factor. The claim follows from two facts. The first is that \(B_\eta \) is the Jacobian \(J_{{{\mathcal {K}}}_\eta }\) and hence either the self-coupling is in \(\beta \) or the off diagonal entry is in \(\beta \); and the second is that once these entries are in \(\beta \), they are also in \(\alpha \).

Second claim. Recall that Theorem 3.2 (the determinant theorem) implies that the summand \(\alpha \) has the form \(F_S g_{C_S}\) where S is an \(\iota o\)-simple path, \(C_S\) is the complementary subnetwork to S, \(F_S\) is the product of the coupling strengths within S, \(J_{C_S}\) is the Jacobian matrix of the admissible system corresponding to \(C_S\), and \(g_{C_S}\) is a summand in \(\det (J_{C_S})\).

If the summand \(\alpha \) has \(f_{\tau _j,{x_{\tau _j}}}\) as a factor, it follows that \(f_{\tau _j,{x_{\tau _j}}}\) is a factor of \(g_{C_S}\) since it is a self-coupling and cannot be a factor of \(F_S\). Hence, node \(\tau _j\) is a node in \(C_S\).

If the summand \(\alpha \) has \(f_{\tau _j,{x_{\tau _i}}}\) as a factor, then \(f_{\tau _j,{x_{\tau _i}}}\) is either not a factor of \(F_S\) or is a factor of \(F_S\). In the first case, \(f_{\tau _j,{x_{\tau _i}}}\) is a factor of \(g_{C_S}\). It follows that \(\tau _j\) is a node in \(C_S\). In the second case, the arrow \(\tau _i\rightarrow \tau _j\) is on the simple path S. Recall that \(f_{\tau _j,{x_{\tau _i}}}\) is also a factor of the summand \(\beta \). It follows from Lemma 5.1 applied to \(\beta \) that \(\tau _i \rightarrow \tau _j\) is contained in a cycle in \(K_\eta \). This is a contradiction since we show that \(\tau _i\rightarrow \tau _j\) cannot be contained in both the simple path S and a cycle in \({{\mathcal {K}}}_\eta \).

Since \(\tau _i\rightarrow \tau _j\) is contained in a cycle in \({{\mathcal {K}}}_\eta \), there exists an arrow \(\tau _k\rightarrow \tau _i\) where \(\tau _k\) is a node in \({{\mathcal {K}}}_\eta \) (\(\tau _k\) can be \(\tau _j\)). Since every nonzero summand of \(\det (H)\) has a summand of \(\det (B_\eta )\) as a factor, there exists a summand \(F_S g_{C_S}\) having both \(f_{\tau _j,x_{\tau _i}}\) and \(f_{\tau _i,x_{\tau _k}}\) as factors. Note that \(f_{\tau _j,x_{\tau _i}}\) is a factor of \(F_S\) and \(g_{C_S}\) is a summand in \(\det (J_{C_S})\). Since \(\tau _k\rightarrow \tau _i\) cannot be contained in S it must be a factor of \(g_{C_S}\). However, \(C_S\) is the complementary subnetwork to S that does not contain any arrow connecting to \(\tau _i\) in the simple path S. \(\square \)

Lemma 5.3

Let \({{\mathcal {K}}}\) be a proper subnetwork of a subnetwork C of \({{\mathcal {G}}}\). If nodes in \({{\mathcal {K}}}\) do not form a cycle with nodes in \(C{\setminus }{{\mathcal {K}}}\), then upon relabelling nodes \(J_C\) is block lower triangular.

Proof

The no cycle condition implies that we can partition nodes in C into three classes:

  1. (i)

    nodes in \(C{\setminus }{{\mathcal {K}}}\) that are strictly upstream from \({{\mathcal {K}}}\),

  2. (ii)

    nodes in \({{\mathcal {K}}}\),

  3. (iii)

    nodes in \(C{\setminus }{{\mathcal {K}}}\) that are not upstream from \({{\mathcal {K}}}\).

By definition nodes in sets (i) and (iii) are disjoint from nodes in (ii). Also, nodes in sets (i) and (iii) are disjoint because nodes in \({{\mathcal {K}}}\) do not form a cycle with nodes in \(C{\setminus }{{\mathcal {K}}}\). Finally, it is straightforward to see that \({{\mathcal {C}}}= \mathrm {(i)}\cup \mathrm {(ii)}\cup \mathrm {(iii)}\). Using this partition of \({{\mathcal {C}}}\), we claim that the Jacobian matrix of C has the desired block lower triangular form:

$$\begin{aligned} J_{C} = \left[ \begin{array}{ccc|c|ccc} *&{} \cdots &{}*&{} 0 &{} 0 &{} \cdots &{} 0\\ \vdots &{} \vdots &{} \vdots &{} \vdots &{} \vdots &{} \vdots &{} \vdots \\ *&{} \cdots &{} *&{} 0 &{} 0 &{} \cdots &{} 0\\ \hline *&{} \cdots &{} *&{} J_{{{\mathcal {K}}}} &{} 0 &{} \cdots &{} 0 \\ \hline *&{} \cdots &{}*&{} *&{} *&{} \cdots &{} *\\ \vdots &{} \vdots &{} \vdots &{} \vdots &{} \vdots &{} \vdots &{} \vdots \\ *&{} \cdots &{} *&{} *&{} *&{} \cdots &{} *\end{array}\right] \end{aligned}$$
(5.2)

Specifically, observe that there are no connections from (i) to (iii) because then a node in (iii) would be strictly upstream from \({{\mathcal {K}}}\). By definition there are no connections from (ii) to (iii). Finally, the cycle condition implies that there are no connections from (i) to (ii). \(\square \)

Theorem 5.4

Let \({{\mathcal {K}}}_\eta \) be a subnetwork of \({{\mathcal {G}}}\) associated with an appendage homeostasis block \(B_\eta \). Then:

  1. (a)

    For every \(\iota o\)-simple path S, nodes in \({{\mathcal {K}}}_\eta \) do not form a cycle with nodes in \(C_S{\setminus }{{\mathcal {K}}}_\eta \).

  2. (b)

    \({{\mathcal {K}}}_\eta \) is a path component of \({{\mathcal {A}}}_{{\mathcal {G}}}\).

Proof

By Lemma 5.2, \({{\mathcal {K}}}_\eta \subset {{\mathcal {A}}}_{{\mathcal {G}}}\) is an appendage subnetwork that is contained in each complementary subnetwork \(C_S\), \(B_\eta =J_{{{\mathcal {K}}}_\eta }\) and \(\det (J_{{{\mathcal {K}}}_\eta })\) is a factor of \(\det (H)\). To simplify notation in the rest of the proof, we drop the subscript \(\eta \) and use \({{\mathcal {K}}}\) to denote the appendage subnetwork.

Proof of (a)

We proceed by contradiction and assume there is a cycle. Let S be an \(\iota o\)-simple path. Let \({{\mathcal {B}}}\subset C_S{\setminus } {{\mathcal {K}}}\) be the nonempty subset of nodes that are on some cycle connecting nodes in \({{\mathcal {K}}}\) with nodes in \(C_S{\setminus } {{\mathcal {K}}}\). It follows that nodes in \({{\mathcal {K}}}\) do not form any cycle with nodes in \((C_S{\setminus } {{\mathcal {K}}})\setminus {{\mathcal {B}}}= C_S {\setminus } ({{\mathcal {K}}}\cup {{\mathcal {B}}})\). Since \({{\mathcal {K}}}\cup {{\mathcal {B}}}\subset C_S\) and nodes in \({{\mathcal {K}}}\cup {{\mathcal {B}}}\) do not form a cycle with nodes in \(C_S{\setminus }({{\mathcal {K}}}\cup {{\mathcal {B}}})\), by Lemma 5.3 we see that the Jacobian matrix of \(C_S\) has the form

$$\begin{aligned} J_{C_S} = \left[ \begin{array}{ccc} U &{} 0 &{} 0\\ *&{} J_{{{\mathcal {K}}}\cup {{\mathcal {B}}}} &{} 0 \\ *&{} *&{} D \end{array}\right] \end{aligned}$$
(5.3)

where

Note that \(f_{{{\mathcal {K}}}, x_{{\mathcal {B}}}}\ne 0\) and \(f_{{{\mathcal {B}}}, x_{{\mathcal {K}}}}\ne 0\), since there is a cycle containing nodes in \({{\mathcal {K}}}\) and \({{\mathcal {B}}}\). We claim that the polynomial \(\det (J_{{\mathcal {K}}})\) does not factor the polynomial \(\det (J_{{{\mathcal {K}}}\cup {{\mathcal {B}}}})\). It is sufficient to verify this statement for one admissible vector field.

Relabel the nodes so that there is a cycle of nodes \(1\rightarrow 2 \rightarrow \cdots \rightarrow p\rightarrow 1\) where the first q nodeas are in \({{\mathcal {K}}}\). We can choose the cycle so that the remaining nodes are in \({{\mathcal {B}}}\). An admissible system for this cycle has the form

$$\begin{aligned} \left( f_1, f_2, \ldots ,f_p\right) (x) =\left( f_1\left( x_1,x_p\right) , f_2\left( x_2, x_1\right) , \cdots , f_p\left( x_p,x_{p-1}\right) \right) \end{aligned}$$

and all other coordinate functions \(f_r(x) = x_r\). Hence the associated Jacobian matrix is

$$\begin{aligned} J_{{{\mathcal {K}}}\cup {{\mathcal {B}}}} = \left[ \begin{array}{cccc|ccc|ccc} f_{1,x_1} &{} 0 &{}\cdots &{} 0 &{} 0 &{} \cdots &{} f_{1,x_p}&{}\cdots &{}\cdots &{}0\\ f_{2,x_1}&{}f_{2,x_2}&{}\cdots &{} 0&{}0&{} \cdots &{} \cdots &{}\cdots &{}\cdots &{}0\\ \vdots &{} \ddots &{} \ddots &{} \vdots &{} \vdots &{} \vdots &{}\vdots &{}\vdots &{} \vdots &{}\vdots \\ *&{} \cdots &{} f_{q,x_{q-1}} &{} f_{q,x_q} &{} 0 &{} \cdots &{}\cdots &{}\cdots &{} \cdots &{}0 \\ \hline 0 &{} \cdots &{}0 &{} f_{q+1,x_{q}} &{} f_{q+1,x_{q+1}}&{} \cdots &{}\cdots &{}\cdots &{}\cdots &{} 0\\ \vdots &{} \vdots &{} \vdots &{} \vdots &{} \ddots &{} \ddots &{}\vdots &{}\vdots &{}\vdots &{} \vdots \\ 0 &{} \cdots &{} 0 &{} 0 &{} 0 &{} f_{p,x_{p-1}} &{} f_{p,x_p} &{}\cdots &{}\cdots &{}\cdots \\ \hline 0 &{} \cdots &{} 0 &{} 0 &{} 0 &{} \cdots &{} 0 &{}1&{}\cdots &{}0\\ \vdots &{} \vdots &{} \vdots &{} \vdots &{} \vdots &{} \vdots &{}\vdots &{}\vdots &{} \ddots &{} 0 \\ 0 &{} \cdots &{} 0 &{} 0 &{} 0 &{} \cdots &{}\cdots &{} 0 &{}\cdots &{} 1 \end{array}\right] \end{aligned}$$
(5.4)

where the upper left block is \(J_{{\mathcal {K}}}\). It follows from direct calculation that the determinant of the \(J_{{{\mathcal {K}}}\cup {{\mathcal {B}}}}\) is

$$\begin{aligned} \begin{aligned} \det \left( J_{{{\mathcal {K}}}\cup {{\mathcal {B}}}}\right) = \;&f_{1,x_1}f_{2,x_2}\cdots f_{p,x_p} \\&+ (-1)^{(p-1)}f_{1,x_2}f_{2,x_3}\cdots f_{p,x_1} \end{aligned} \end{aligned}$$
(5.5)

Hence

$$\begin{aligned} \det \left( J_{{{\mathcal {K}}}}\right) = f_{1,x_1}f_{2,x_2}\cdots f_{q,x_q} \end{aligned}$$

is not a factor of \(\det (J_{{{\mathcal {K}}}\cup {{\mathcal {B}}}})\), given in (5.5). We claim that \(\det (J_{{\mathcal {K}}})\) is also not a factor of \(\det (J_{C_S})\) because by (5.3), \(\det (J_{C_S}) = \det (U)\det (J_{{{\mathcal {K}}}\cup {{\mathcal {B}}}})\det (D)\). Suppose \( \det (J_{{{\mathcal {K}}}})\) is a factor of \(\det (J_{C_S})\), then it must be a factor of \(\det (J_{{{\mathcal {K}}}\cup {{\mathcal {B}}}})\), which is a contradiction. Thus \(\det (J_{{{\mathcal {K}}}})\) is not a factor of \(\det (J_{C_S})\), which contradicts the fact that \({{\mathcal {K}}}_\eta \) is an appendage homeostasis block. Hence, nodes in \({{\mathcal {K}}}\) cannot form a cycle with nodes in \(C_S{\setminus }{{\mathcal {K}}}\). \(\square \)

Proof of (b)

We begin by showing that \({{\mathcal {K}}}\) is path connected; that is, there is a path from \(\tau _i\) to \(\tau _j\) for every pair of nodes \(\tau _i, \tau _j\in {{\mathcal {K}}}\). Suppose not, then the path components of \({{\mathcal {K}}}\) give \({{\mathcal {K}}}\) a feedforward structure. It follows that we can partition the set of nodes in \({{\mathcal {K}}}\) into two disjoint classes: A and B where nodes in B are strictly downstream from nodes in A. Thus, there exist permutation matrices \(P_\eta \) and \(Q_\eta \) such that

$$\begin{aligned} P_\eta B_\eta Q_\eta =\left[ \begin{array}{rr} J_A &{} 0\\ *&{} J_B\end{array}\right] \end{aligned}$$

which contradicts the fact that \(B_\eta \) is irreducible. Therefore, \({{\mathcal {K}}}\) is path connected.

Next, we show that \({{\mathcal {K}}}\) is a path component of \({{\mathcal {A}}}_{{\mathcal {G}}}\). Suppose that the path component \({{\mathcal {W}}}\subset C_S\) of \({{\mathcal {A}}}_{{\mathcal {G}}}\) that contains \({{\mathcal {K}}}\) is larger than \({{\mathcal {K}}}\). Then there would be a cycle in \({{\mathcal {W}}}\subset C_S\) that starts and ends in \({{\mathcal {K}}}\), and contains nodes not in \({{\mathcal {K}}}\). This contradicts (a) and \({{\mathcal {W}}}={{\mathcal {K}}}\). \(\square \)

Recall from Definition 1.18 that \({{\mathcal {S}}}_{{\mathcal {G}}}\) is a subnetwork of \({{\mathcal {G}}}\) that can be obtained by removing all appendage path components that satisfy the no cycle condition.

Lemma 5.5

Let \({{\mathcal {G}}}\) be an input–output network with homeostasis matrix H. Then the structural subnetwork \({{\mathcal {S}}}_{{\mathcal {G}}}\) is an input–output network with homeostasis matrix \(H'\) and \(\det (H')\) is a factor of \(\det (H)\).

Proof

By Theorem 5.2, if \(B_\eta \) is an appendage homeostasis block, then the associated subnetwork \({{\mathcal {K}}}_\eta \) consists of appendage nodes, and \(B_\eta =J_{{{\mathcal {K}}}_\eta }\). Relabel the blocks so that \(B_{1},\cdots , B_p\) are appendage homeostasis blocks. We can write

Hence \(\det (H')\) is a factor of \(\det (H)\).

Recall H is an \((n+1)\times (n+1)\) matrix with n self-couplings. Since the main diagonal entries of \(J_{{{\mathcal {K}}}_i}\) are all self-couplings, \(H'\) is a \((n+1 - \gamma ) \times (n+1-\gamma )\) matrix where \(\gamma \) is the total number of self-couplings in \({{\mathcal {K}}}_1,\cdots , {{\mathcal {K}}}_p\). It follows that \(H'\) has \(n- \gamma \) self-couplings. By Theorem 4.7 we can assume \(H'\) has the homeostasis matrix form and is associated with an input–output subnetwork \({{\mathcal {S}}}_{{\mathcal {G}}}\) of \({{\mathcal {G}}}\).

It follows from the upper triangular form of PHQ that \({{\mathcal {S}}}_{{\mathcal {G}}}\) does not contain any node in appendage blocks or any coupling whose head or tail is a node in an appendage block. Moreover, a node that is not associated with any appendage block must be contained in \({{\mathcal {S}}}_{{\mathcal {G}}}\). Otherwise, the self-coupling of this node will appear in some \(J_{{{\mathcal {K}}}_i}\), which is a contradiction.

Hence, \({{\mathcal {S}}}_{{\mathcal {G}}}\) is an input–output network that consists of all nodes not associated with any appendage block and all arrows that connect nodes in \({{\mathcal {S}}}_{{\mathcal {G}}}\). \(\square \)

Remark 5.6

Suppose \({{\mathcal {K}}}_\eta \) is an input–output subnetwork of \({{\mathcal {G}}}\) associated with an irreducible matrix \(B_\eta \) in (4.3). Then, it follows from Lemma 5.5 that \(B_\eta \) is a structural block of \({{\mathcal {G}}}\) if and only if \(B_\eta \) is a structural block of \({{\mathcal {S}}}_{{\mathcal {G}}}\).

6 Structural homeostasis blocks

In this section we give a combinatorial description of \({{\mathcal {S}}}_{{\mathcal {G}}}\) in terms of input–output subnetworks defined by super-simple nodes. We do this in four stages.

§6.1 shows that the super-simple nodes in \({{\mathcal {G}}}\) can be ordered by \(\iota> \rho _1> \cdots>\rho _q >o\) where \(a>b\) if b is downstream from a. See Lemma 6.1.

§6.2 defines the sets \({{\mathcal {L}}}\) of simple nodes that lie between adjacent super-simple nodes. See Definition 1.19 and Lemma 6.2.

§6.3 shows how to assign each appendage node in \({{\mathcal {S}}}_{{\mathcal {G}}}\) to a unique \({{\mathcal {L}}}\), thus forming combinatorially the subnetwork \({{\mathcal {L}}}'\). See Definition 1.20.

§6.4 shows that the homeostasis matrix of \({{\mathcal {S}}}_{{\mathcal {G}}}\) can be put in block upper trimngular form with blocks given by the homeostasis matrices of the \({{\mathcal {L}}}'\). See Corollary 6.7.

6.1 Ordering of super-simple nodes

Lemma 6.1

Super-simple nodes in \({{\mathcal {G}}}\) are ordered by \(\iota o\)-simple paths.

Proof

Let \(\rho _1\) and \(\rho _2\) be distinct super-simple nodes and let S and T be two \(\iota o\)-simple paths. Suppose \(\rho _2\) is downstream from \(\rho _1\) along S and \(\rho _1\) is downstream from \(\rho _2\) along T. It follows that there is a simple path from \(\iota \) to \(\rho _2\) along T that does not contain \(\rho _1\) and a simple path from \(\rho _2\) to o along S that does not contain \(\rho _1\). Hence, there is an \(\iota o\)-simple path that does not contain \(\rho _1\) contradicting the fact that \(\rho _1\) is super-simple. \(\square \)

6.2 Simple nodes between adjacent super-simple nodes

A super-simple subnetwork \({{\mathcal {L}}}(\rho _1,\rho _2)\) is a subnetwork consisting of all simple nodes between adjacent super-simple nodes \(\rho _1\) and \(\rho _2\) (see Definition 1.19). The following Lemma shows that each non-super-simple simple node belongs to a unique \({{\mathcal {L}}}\).

Lemma 6.2

Every non-super-simple simple node lies uniquely between two adjacent super-simple nodes.

Proof

Let \(\rho \) be a simple node that is not super-simple. By definition \(\rho \) is on an \(\iota o\)-simple path S and \(\rho \) lies between two adjacent super-simple nodes \(\rho _1\) and \(\rho _2\) on S. Suppose \(\rho \) is also on an \(\iota o\)-simple path T. Then, by Lemma 6.1\(\rho _1\) and \(\rho _2\) must be ordered in the same way along T and \(\rho _1\) and \(\rho _2\) must be adjacent super-simple nodes along T. If \(\rho \) is downstream from \(\rho _2\) along T, then there would be an \(\iota o\)-simple path that does not contain \(\rho _2\), which is a contradiction. A similar comment holds if \(\rho \) is upstream from \(\rho _1\) along T. Therefore, \(\rho \) is also between \(\rho _1\) and \(\rho _2\) on T. \(\square \)

Definition 1.19 implies that if \(\rho _3\) is downstream from \(\rho _2\) then

$$\begin{aligned} {{\mathcal {L}}}\left( \rho _1,\rho _2\right) \cap {{\mathcal {L}}}\left( \rho _3,\rho _4\right) = \left\{ \begin{array}{cl} \emptyset &{} \text{ if } \rho _3 \ne \rho _2 \\ \{\rho _2\} &{} \text{ otherwise } \end{array}\right. \end{aligned}$$
(6.1)

Lemma 6.3 identifies several properties of the subnetworks \({{\mathcal {L}}}\).

Lemma 6.3

Let the pairs of super-simple nodes \(\rho _1,\rho _2\) and \(\rho _3,\rho _4\) be adjacent.

  1. (a)

    No arrow connects an upstream node \(\rho \) in the subnetwork \({{\mathcal {L}}}(\rho _1,\rho _2)\) to a downstream node \(\tau \) in the subnetwork \({{\mathcal {L}}}(\rho _3,\rho _4)\) unless \(\rho =\rho _2\), \(\tau = \rho _3\) and \(\rho _2\) and \(\rho _3\) are adjacent super-simple nodes.

  2. (b)

    No arrow connects an upstream node \(\rho \) in the subnetwork \({{\mathcal {L}}}(\rho _1,\rho _2)\) to a downstream node \(\tau \) in the subnetwork \({{\mathcal {L}}}(\rho _2,\rho _4)\) unless \(\rho = \rho _2\) or \(\tau = \rho _2\).

  3. (c)

    Suppose that a path of appendage nodes connects \({{\mathcal {L}}}(\rho _1,\rho _2)\) to \({{\mathcal {L}}}(\rho _3,\rho _4)\). Then \(\rho _4\) is upstream from \(\rho _1\).

  4. (d)

    Suppose that the appendage path component \({{\mathcal {B}}}\) fails the no cycle condition and there is a cycle that connects nodes in \({{\mathcal {B}}}\) with nodes in \(C_S{\setminus }{{\mathcal {B}}}\), where \(C_S\) is a complementary subnetwork. Then the nodes in \(C_S{\setminus }{{\mathcal {B}}}\) that are in the cycle are non-super-simple simple nodes that are contained in a unique super-simple subnetwork.

Proof

  1. (a)

    Suppose an arrow connects a node \(\rho \ne \rho _2\) in \({{\mathcal {L}}}(\rho _1,\rho _2)\) to a node \(\tau \) in \({{\mathcal {L}}}(\rho _3,\rho _4)\) where \(\rho _3\) is downstream from \(\rho _2\). Then there would be an \(\iota o\)-simple path that connects \(\rho _1\) to \(\rho \) to \(\tau \) to \(\rho _4\) in that order. That \(\iota o\)-simple path would miss \(\rho _2\), contradicting the fact that \(\rho _2\) is super-simple. A similar statement holds if \(\tau \ne \rho _3\) or \(\rho _2\) and \(\rho _3\) are not adjacent. This proves (a).

  2. (b)

    Suppose an arrow connects a node \(\rho \ne \rho _2\) in \({{\mathcal {L}}}(\rho _1,\rho _2)\) to a node \(\tau \ne \rho _2\) in \({{\mathcal {L}}}(\rho _2,\rho _4)\). Then there would be an \(\iota o\)-simple path that connects \(\rho _1\) to \(\rho \) to \(\tau \) to \(\rho _4\) in that order. That \(\iota o\)-simple path would miss \(\rho _2\), contradicting the fact that \(\rho _2\) is super-simple.

  3. (c)

    Suppose \(\rho _4\) is strictly downstream from \(\rho _1\). Then there is an \(\iota o\)-simple path from \(\iota \) to \(\rho _1\) to some nodes in \({{\mathcal {A}}}_{{\mathcal {G}}}\) to \(\rho _4\) to o. Therefore, at least one node in \({{\mathcal {A}}}_{{\mathcal {G}}}\) is not an appendage node. A contradiction.

  4. (d)

    If the cycle contains a super-simple node, then the cycle cannot be in \(C_S\). Since the cycle must contain simple nodes that simple node cannot be super-simple.

    Suppose the cycle contains a simple node \(\tau _1\) in \({{\mathcal {L}}}(\rho _1,\rho _2)\) and another simple node \(\tau _2\) in \({{\mathcal {L}}}(\rho _3,\rho _4)\) where \(\rho _3\) is downstream from \(\rho _1\), then there would be a path connecting \(\tau _1\) to \(\tau _2\) that does not contain any super-simple node. This would lead to an \(\iota o\)-simple path from \(\rho _1\) to \(\tau _1\) to \(\tau _2\) to \(\rho _4\) that misses \(\rho _2\) and \(\rho _3\). Hence, the simple nodes contained in the cycle must come from a single super-simple subnetwork.

\(\square \)

Remark 6.4

Lemma 6.3 (a, b) implies that two different super-simple subnetworks \({{\mathcal {L}}}(\rho _1,\rho _2)\) and \({{\mathcal {L}}}(\rho _3,\rho _4)\) where \(\rho _2\) is upstream from \(\rho _3\) can only be connected by either having a common super-simple node (\(\rho _2=\rho _3\)) or by having an arrow \(\rho _2\rightarrow \rho _3\) where \(\rho _2\) and \(\rho _3\) are adjacent super-simple nodes.

6.3 Assignment of appendage nodes to \({{\mathcal {L}}}\)

By Lemma 6.3 (d) any appendage path component that fails the cycle condition forms cycles with non-super-simple simple nodes in a unique super-simple subnetwork. We can therefore expand a super-simple subnetwork \({{\mathcal {L}}}\) to a super-simple structural subnetwork \({{\mathcal {L}}}'\) by recruiting all appendage nodes that form cycles with nodes in \({{\mathcal {L}}}\) (see Definition 1.20).

It follows that if \(\rho _3\) is downstream from \(\rho _2\), then

$$\begin{aligned} {{\mathcal {L}}}'\left( \rho _1,\rho _2\right) \cap {{\mathcal {L}}}'\left( \rho _3,\rho _4\right) = \left\{ \begin{array}{cl} \emptyset &{} \text{ if } \rho _3 \ne \rho _2 \\ \{\rho _2\} &{} \text{ otherwise } \end{array}\right. \end{aligned}$$
(6.2)

In particular, each appendage node in \({{\mathcal {G}}}\) is attached to at most one \({{\mathcal {L}}}\).

Remark 6.5

Suppose \(\rho _3\) is downstream from \(\rho _2\). By Lemma 6.3 (c) and Remark 6.4, no arrow connects a node \(\rho \) in \({{\mathcal {L}}}'(\rho _1,\rho _2){\setminus }\{\rho _2\}\) to a node \(\tau \) in \({{\mathcal {L}}}'(\rho _3,\rho _4)\) unless \(\rho _2=\rho _3\) and \(\tau =\rho _2\).

6.4 Relating \({{\mathcal {S}}}_{{\mathcal {G}}}\) with \({{\mathcal {L}}}'\)

Proposition 6.6

Let \({{\mathcal {K}}}\) be an input–output core subnetwork of \({{\mathcal {S}}}_{{\mathcal {G}}}\) with \(q+1\) super-simple nodes \(\rho _1,\ldots ,\rho _{q+1}\) in downstream order in \({{\mathcal {G}}}\). Then the homeostasis matrix \(H_{{\mathcal {K}}}\) of \({{\mathcal {K}}}\) can be written in an upper block triangular form

(6.3)

where for \(\ell =1,\ldots ,q\), \(H_{{{\mathcal {L}}}'_\ell }\) is the homeostasis matrix of the super-simple structural subnetwork \({{\mathcal {L}}}'_\ell = {{\mathcal {L}}}'(\rho _\ell ,\rho _{(\ell +1)})\).

Proof

Since \({{\mathcal {K}}}\) is an input–output core subnetwork of \({{\mathcal {S}}}_{{\mathcal {G}}}\), it follows that \({{\mathcal {K}}}\) consists of all simple nodes between adjacent super-simple nodes of \({{\mathcal {K}}}\) and appendage nodes that form cycles with non-super-simple simple nodes in \({{\mathcal {K}}}\). Hence, \({{\mathcal {K}}}\) consists of nodes and arrows in \({{\mathcal {L}}}'(\rho _1,\rho _2)\cup \cdots \cup {{\mathcal {L}}}'(\rho _q,\rho _{q+1})\) plus backward arrows between different super-simple structural subnetworks. Hence, for \(\ell = 1,\ldots , q\), nodes in \({{\mathcal {K}}}\) can be partitioned into disjoint classes: \((\ell ) = {{\mathcal {L}}}'_\ell {\setminus } \{\rho _{\ell +1}\}\). We claim that the homeostasis matrix \(H_{{\mathcal {K}}}\) of \({{\mathcal {K}}}\) is given by (6.3).

It follows from Remark 6.5 that an arrow from a node in one class (\(\ell \)) to a node in another class (j) where \(\mathrm{j}> \ell \) can exist only when the two classes are adjacent (that is, \(\mathrm{j} = \ell +1\)) and the head of this arrow is the input node \(\rho _{\ell +1}\) of the downstream class (\(\ell +1\)). Since entries below \(H_{{{\mathcal {K}}}_\ell }\) denote the arrows from nodes in class (\(\ell \)) to nodes in classes (\(\ell +1\)) through (q) except the input node \(\rho _{\ell +1}\) in class (\(\ell +1\)). It follows that all entries below \(H_{{{\mathcal {K}}}_\ell }\) are zero and hence \(H_{{\mathcal {K}}}\) has the upper block triangular form shown in (6.3). \(\square \)

Corollary 6.7

Suppose that \(\tau _1,\ldots ,\tau _{p+1}\) are the super-simple nodes of \({{\mathcal {G}}}\) in downstream order. Then the homeostasis matrix \(H'\) of \({{\mathcal {S}}}_{{\mathcal {G}}}\) can be written in upper block triangular form

(6.4)

where \(B_\ell '\) is the homeostasis matrix of the super-simple structural subnetwork \({{\mathcal {L}}}'(\tau _{\ell },\tau _{\ell +1})\) for \(1\le \ell \le p\). In addition, p is less than or equal to the number m of structural blocks \({{\mathcal {K}}}_\eta \).

Proof

It follows from Definition 1.18 that \({{\mathcal {S}}}_{{\mathcal {G}}}\) has the same super-simple nodes as \({{\mathcal {G}}}\) and \({{\mathcal {S}}}_{{\mathcal {G}}}\) is a core subnetwork. By Proposition 6.6, the homeostasis matrix \(H'\) of \({{\mathcal {S}}}_{{\mathcal {G}}}\) is given by (6.4). The number of irreducible blocks is the number of \({{\mathcal {K}}}_\eta \) and that is m. Since m is the maximum number of blocks in \(H'\), it follows that \(m\ge p\) by (6.4). \(\square \)

If we can show that the number of super-simple nodes in \(K_\eta \) is two, then we will show that \({{\mathcal {K}}}_\eta \) is core equivalent to one of the \({{\mathcal {L}}}'\).

6.5 Relation between structural homeostasis and \({{\mathcal {L}}}'\)

This section shows that each structural subnetwork \({{\mathcal {K}}}_\eta \) is core equivalent to the \({{\mathcal {L}}}'\) having the same input node. Specifically, we show that the input and output nodes in \({{\mathcal {K}}}_\eta \) are adjacent super-simple and that no other nodes in \({{\mathcal {K}}}_\eta \) are super-simple.

Proposition 6.8

Let \({{\mathcal {K}}}_\eta \) be an input–output subnetwork of \({{\mathcal {G}}}\) associated with an irreducible structural homeostasis matrix \(B_\eta \) in (4.3). Then the input and output nodes of \({{\mathcal {K}}}_\eta \) are super-simple nodes.

Proof

We prove this theorem by proving that both the input and output nodes \(\ell \) and j of \({{\mathcal {K}}}_\eta \) are on the \(\iota o\)-simple path associated with \(\alpha \) for all summands \(\alpha \) of \(\det (H)\). Theorem 3.2 (the determinant theorem) implies that \(\alpha \) has the form \(F_S g_{C_S}\) where S is an \(\iota o\)-simple path, \(C_S\) is the complementary subnetwork to S, \(F_S\) is the product of the coupling strengths within S, \(J_{C_S}\) is the Jacobian matrix of the admissible system corresponding to \(C_S\), and \(g_{C_S}\) is a summand in \(\det (J_{C_S})\).

It follows from Lemma 4.6 that the summands of form (4.2) are the summands of A times the summands of \(B_\eta \) times the summands of E. Hence, every nonzero summand of \(\det (H)\) contains a nonzero summand of \(\det (B_\eta )\) as a factor. Since \(\ell \) and j are the input output nodes for the homeostasis matrix \(B_\eta \), it follows that every nonzero summand of \(\det (B_\eta )\), and hence \(\det (H)\), has both \(f_{m,x_\ell }\) (where m is one of \(\rho _1,\ldots ,\rho _{k-1}, j\)) and \(f_{j,x_n}\) (where n is one of \(\rho _1,\ldots ,\rho _{k-1}, \ell \)) as factors.

From the form of PHQ (and hence H) we see that \(f_{\ell ,x_\ell }\) and \(f_{j,x_j}\) are not factors of nonzero summands of \(\det (H)\). Suppose the summand \(\alpha \) has \(f_{m,x_\ell }\) as a factor, then \(f_{m,x_\ell }\) is either a factor of \(F_S\) or not a factor of \(F_S\). In the first case, it follows that the arrow \(\ell \rightarrow m\) is on the simple path S. Hence, the node \(\ell \) is contained in S. In the second case, suppose \(f_{m,x_\ell }\) is not a factor of \(F_S\), then it must be a factor of \(g_{C_S}\). That implies that \(\ell \) is a node in \(C_S\). It follows that there exists another nonzero summand \(\alpha '\) of \(\det (H)\) which contains \(f_{\ell ,x_\ell }\) as a factor, which is is a contradiction. Therefore, we conclude every \(\iota o\)-simple path contains node \(\ell \). By the same type of argument we can also conclude that every \(\iota o\)-simple path contains node j. \(\square \)

Proposition 6.9

If a structural block \(B_\eta \) of \({{\mathcal {G}}}\) is irreducible, then \({{\mathcal {K}}}_\eta \) is an input–output subnetwork that has exactly two super-simple nodes.

Proof

By Remark 5.6, \({{\mathcal {K}}}_\eta \) is an input–output subnetwork of \({{\mathcal {S}}}_{{\mathcal {G}}}\) and \({{\mathcal {K}}}_\eta \) is a core subnetwork because it is irreducible. Suppose in addition to the input and output nodes there are other \(q>1\) super-simple nodes in \({{\mathcal {K}}}_\eta \), then by Proposition 6.6, the homeostasis matrix \(B_\eta \) of \({{\mathcal {K}}}_\eta \) can be written in an upper block triangular form with \(q+1>2\) diagonal blocks and hence \({{\mathcal {K}}}_\eta \) is reducible, a contradiction. \(\square \)

Corollary 6.10

The input and output nodes of a structural homeostasis block are adjacent super-simple nodes.

Proof

Super-simple nodes can be well-ordered. The proof then follows from Proposition 6.9. \(\square \)

Theorem 6.11

In \({{\mathcal {G}}}\), there is a 1:1 correspondence between structural homeostasis blocks \({{\mathcal {K}}}_\eta \) and super-simple structural subnetworks \({{\mathcal {L}}}'\) and that correspondence is given by having the same input node. Moreover, the corresponding \({{\mathcal {K}}}_\eta \) and \({{\mathcal {L}}}'\) are core equivalent.

Proof

By Corollary 6.10, the input and output nodes of each \({{\mathcal {K}}}_\eta \) are adjacent super-simple nodes and hence each \({{\mathcal {K}}}_\eta \) leads to a unique \({{\mathcal {L}}}'\) that has the same input node. Therefore, the number of \({{\mathcal {K}}}_\eta \) (equal to m) is less than or equal to the number p of \({{\mathcal {L}}}'\). Corollary 6.7 states that \(p\le m\); hence, \(p=m\). That is, there is a 1:1 correspondence between \({{\mathcal {K}}}_\eta \) and \({{\mathcal {L}}}'\).

Let \(\ell \) and j be the input and output nodes of the structural block \({{\mathcal {K}}}_\eta \). Then the corresponding super-simple structural subnetwork is \({{\mathcal {L}}}'(\ell ,j)\). By Definition 1.14, \({{\mathcal {K}}}_\eta \) consists of simple nodes between the two adjacent super-simple nodes \(\ell \) and j and appendage nodes that form cycles with non-super-simple simple nodes in \({{\mathcal {K}}}_\eta \). Arrows in \({{\mathcal {K}}}_\eta \) are non-backward arrows that connect nodes in \({{\mathcal {K}}}_\eta \). It follows from Definition 1.20 that \({{\mathcal {L}}}'(\ell , j)\) is the union of \({{\mathcal {K}}}_\eta \) and arrows whose head is \(\ell \) or whose tail is j. By Corollary 1.10, \({{\mathcal {K}}}_\eta \) is core equivalent to \({{\mathcal {L}}}'(\ell ,j)\). \(\square \)

7 Classification and construction

In the Introduction we showed how Cramer’s rule coupled with basic combinatorial matrix theory can be applied to the homeostasis matrix H to determine the different types of infinitesimal homeostasis that an input–output network \({{\mathcal {G}}}\) can support. Specifically the zeros of \(\det (H)\), a homogeneous polynomial in the linearized couplings and self-couplings, can be factored into \(\det (B_1)\cdots \det (B_m)\). In this paper we show that there are two types of factors that depend on the number of self-couplings: one we call appendage and the other we call structural. Each factor corresponds to a type of homeostasis in subnetworks \({{\mathcal {K}}}_\eta \) for \(\eta = 1,\ldots ,m\) that can be read directly from \({{\mathcal {G}}}\).

Appendage blocks Theorem 5.4 shows that an appendage block \(B_\eta \) leads to a subnetwork \({{\mathcal {K}}}_\eta \) that is a path component of the appendage network \({{\mathcal {A}}}_{{\mathcal {G}}}\subset {{\mathcal {G}}}\). Moreover, the nodes in \({{\mathcal {K}}}_\eta \) do not form a cycle with other nodes in the complementary subnetwork \({{\mathcal {C}}}_S\) for every \(\iota o\)-simple path S. The factors of \(\det (H)\) that stem from appendage nodes are \(\det (J_{{\mathcal {A}}})\), the determinant of the Jacobian of the appendage path components \({{\mathcal {A}}}\). The converse is also valid as shown in Theorem 7.1.

Theorem 7.1

Suppose \({{\mathcal {K}}}_\eta \) is an appendage path component. If \({{\mathcal {K}}}_\eta \) satisfies the no cycle condition, then \(\det (J_{{{\mathcal {K}}}_\eta })\) is an irreducible factor of \(\det (H)\).

Proof

Let \(C_S\) be the complementary subnetwork of an \(\iota o\)-simple path S. By Definition 1.15(c), \({{\mathcal {K}}}_\eta \subset C_S\). Since nodes in \({{\mathcal {K}}}_\eta \) do not form a cycle with other nodes in \(C_S\), by Lemma 5.3, \(J_{C_S}\) has the following block lower triangular form:

$$\begin{aligned} J_{C_S} = \left[ \begin{array}{ccc|c|ccc} *&{} \cdots &{}*&{} 0 &{} 0 &{} \cdots &{} 0\\ \vdots &{} \vdots &{} \vdots &{} \vdots &{} \vdots &{} \vdots &{} \vdots \\ *&{} \cdots &{} *&{} 0 &{} 0 &{} \cdots &{} 0\\ \hline *&{} \cdots &{} *&{} J_{{{\mathcal {K}}}_\eta } &{} 0 &{} \cdots &{} 0 \\ \hline *&{} \cdots &{}*&{} *&{} *&{} \cdots &{} *\\ \vdots &{} \vdots &{} \vdots &{} \vdots &{} \vdots &{} \vdots &{} \vdots \\ *&{} \cdots &{} *&{} *&{} *&{} \cdots &{} *\end{array}\right] \end{aligned}$$
(7.1)

Hence \(\det (J_{{{\mathcal {K}}}_\eta })\) is a factor of \(\det (J_{C_S})\), and so a factor of \(\det (H)\). Since \({{\mathcal {K}}}_\eta \) is a path component and hence is path connected, it follows that \(J_{{{\mathcal {K}}}_\eta }\) is irreducible. \(\square \)

It follows that we can construct appendage blocks as follows. First we determine the path components of the appendage subnetwork of \({{\mathcal {G}}}\) and second we determine which of these components \({{\mathcal {K}}}_\eta \) satisfy the cycle condition in Theorem 5.4.

Structural blocks Next, we form the subnetwork \({{\mathcal {S}}}_{{\mathcal {G}}}\) that is obtained from \({{\mathcal {G}}}\) by deleting the appendage path components identified above. The last result that is needed is:

Theorem 7.2

Let \(\ell \) and j be adjacent super-simple nodes in \({{\mathcal {S}}}_{{\mathcal {G}}}\), then \(\det ({{\mathcal {L}}}'(\ell ,j))\) is an irreducible factor of \(\det (H)\).

Proof

It follows from Corollary 6.7 that \(\det ({{\mathcal {L}}}'(\ell ,j))\) is a factor of \(\det (H')\) and hence a factor of \(\det (H)\) by Lemma 5.5. Theorem 6.11 states that \({{\mathcal {L}}}'(\ell ,j)\) is core equivalent to a unique \({{\mathcal {K}}}_\eta \) that is irreducible. Hence, \(\det ({{\mathcal {L}}}'(\ell ,j))\) is an irreducible factor of \(\det (H)\). \(\square \)

Next, we compute the super-simple nodes in \({{\mathcal {S}}}_{{\mathcal {G}}}\) in downstream order, namely,

$$\begin{aligned} \iota = \rho _1> \rho _2> \cdots> \rho _q > \rho _{q+1} = o \end{aligned}$$

It follows that the subnetworks \({{\mathcal {L}}}'(\rho _i,\rho _{i+1})\) are core equivalent to the structural networks \({{\mathcal {K}}}_\eta \). Let \(B_i\) be the homeostasis matrix associated with the input–output networks \({{\mathcal {L}}}'(\rho _i,\rho _{i+1})\) and \(\det (B_i)\) is a factor of \(\det (H)\).