Home › Azimuth Project › › Azimuth Blog

It looks like you're new here. If you want to get involved, click one of these buttons!

- All Categories 2.4K
- Chat 503
- Study Groups 21
- Petri Nets 9
- Epidemiology 4
- Leaf Modeling 2
- Review Sections 9
- MIT 2020: Programming with Categories 51
- MIT 2020: Lectures 20
- MIT 2020: Exercises 25
- Baez ACT 2019: Online Course 339
- Baez ACT 2019: Lectures 79
- Baez ACT 2019: Exercises 149
- Baez ACT 2019: Chat 50
- UCR ACT Seminar 4
- General 75
- Azimuth Code Project 110
- Statistical methods 4
- Drafts 10
- Math Syntax Demos 15
- Wiki - Latest Changes 3
- Strategy 113
- Azimuth Project 1.1K
- - Spam 1
- News and Information 148
- Azimuth Blog 149
- - Conventions and Policies 21
- - Questions 43
- Azimuth Wiki 718

Options

Here's a draft of an article by Manoj Gopalkrishnan:

It needs work, which he will probably do. Below are my comments to him. Do any of you have further suggestions?

Your post looks good! It's technical, but we've gotten so deep into reaction networks on this blog that there will definitely be plenty of readers who will be interested.

It compiles fine. There are some typos that I'll fix, and also deviations from my preferred style, but you don't need to worry about those.

Here's my one big suggestion. Near the start you say:

"Today we will see that for complex-balanced systems, the pseudo-Helmholtz free energy function is what mathematicians call a Lyapunov function, and physicists call an H-function: it is monotonically decreasing along trajectories of the rate equation. I'm going to explain this statement, and give you most of the proof!"

Before you proceed, it would be great to explain why we should care about this fact. You explain at the very end:

"The whole point of having a Lyapunov function is Lyapunov's theorem which implies stability for the dynamics."

But many readers won't make it that far, and fewer will make it if they don't know why they should bother.

I can expand on that. When writing, I always have a mental model of how a certain fraction of the readers get bored and quit reading each time something hard comes along. The unexplained phrases **complex-balanced system**, **pseudo-Helmholtz free energy function**, **Lyapunov function**, and **H-function**, all packed into one paragraph, will kill off about 30% of your readers, since many will assume that to understand what's coming next, they should know those phrases... even though you explain two of them right after you invoke them! (People aren't very persistent when reading blog articles.) So, if I were writing this, my first step would be to eliminate **Lyapunov function** and **H-function** from this passage, and say

"Today we will see that for complex-balanced systems, the pseudo-Helmholtz free energy function is monotonically decreasing along trajectories of the rate equation. I'm going to explain this statement, and give you most of the proof!"

I would later introduce the jargon **Lyapunov function** and **H-function**, after explaining why it's interesting to have a function that decreases along trajectories.

In my second pass, I would also eliminate the adverb **monotonically**, since it's not strictly necessary in order to get the idea, and it makes the paragraph more scary:

"Today we will see that for complex-balanced systems, the pseudo-Helmholtz free energy function decreases along trajectories of the rate equation. I'm going to explain this statement, and give you most of the proof!"

The scary phrases **complex-balanced system** and **rate equation** can stay, since they're necessary to quickly convey the idea, and you can probably afford to kill off readers who don't know these phrases, since I've explained them many times.

Personally, I would probably either add a joke about how scary the phrase **pseudo-Helmholtz free energy function** is, or make up a shorter term just for the purposes of this blog article. Anything "pseudo" or "quasi" sounds technical and vaguely repulsive.

Anyway, once the hurdle presented by this paragraph is low enough, a lot of people will survive it and be very interested t read, in the very next paragraph, why it's interesting to have a function that decreases along trajectories. An intuitive explanation of Lyapunov's theorem, with a bare minimum of jargon, would be nice.

One last comment: near the very end, you never define **conservation class**. You could probably get the idea across pretty quick.

Anyway, apart from these changes I guess all that's needed are the figures! I need to finish editing and post Marc Harper's article on relative entropy as a Lyapunov function in evolutionary game theory before I post yours, so there's no need to get this done in less than a week.

It's great how we're getting more guest posts on related issues! If you care, you can see Marc's post in draft form here.

## Comments

Since this article bears the name "Lyapunov function" in the title, I agree that one should mention it rather early, so that the reader gets an impression on what this article is about, in particular the remark that the H-function is a Lyapunov function appears to me important for the rest, otherwise one would wonder why you come up with this H-function at all.

I dropped out at the definition of reaction graph

what do you mean by that?

`>I would later introduce the jargon Lyapunov function and H-function, after explaining why it’s interesting to have a function that decreases along trajectories. >Before you proceed, it would be great to explain why we should care about this fact. You explain at the very end: >>“The whole point of having a Lyapunov function is Lyapunov’s theorem which implies stability for the dynamics.” >But many readers won’t make it that far, and fewer will make it if they don’t know why they should bother. Since this article bears the name "Lyapunov function" in the title, I agree that one should mention it rather early, so that the reader gets an impression on what this article is about, in particular the remark that the H-function is a Lyapunov function appears to me important for the rest, otherwise one would wonder why you come up with this H-function at all. I dropped out at the definition of reaction graph >Its vertices are all the complexes m(τ),n(τ) where τ varies over all the transitions T what do you mean by that?`

The concept of a graph whose vertices are complexes and whose edges are transitions was explained in part 17 of the network theory series, and used extensively in the next 6 parts. I think it's impossible for anyone to understand the details of Manoj's post without being familiar with this theory.

So, what this means is that Manoj should first summarize what's going on in simple terms, then warn people that he'll assume knowledge of chemical reaction networks, point to the network theory series for an introduction to this theory, and finally dive into his proof of this classic result:

free energy is a Lyapunov function for chemical reactions!`The concept of a graph whose vertices are complexes and whose edges are transitions was explained in <a href = "http://math.ucr.edu/home/baez/networks/networks_17.html">part 17</a> of the network theory series, and used extensively in the next 6 parts. I think it's impossible for anyone to understand the details of Manoj's post without being familiar with this theory. So, what this means is that Manoj should first summarize what's going on in simple terms, then warn people that he'll assume knowledge of chemical reaction networks, point to the network theory series for an introduction to this theory, and finally dive into his proof of this classic result: _free energy is a Lyapunov function for chemical reactions!_`

A complex as defined in part 17 is a function from the species to N and not from the transitions to N that is what irritates me, so what is meant by complexes varying over transitions?

`>The concept of a graph whose vertices are complexes and whose edges are transitions was explained in part 17 of the network theory series, and used extensively in the next 6 parts. A complex as defined in part 17 is a function from the species to N and not from the transitions to N that is what irritates me, so what is meant by complexes varying over transitions?`

by the way John, how does one actually determine the value of the complex $2X_1+X_2$ if the species $X_1$ and $X_2$ are no natural numbers or is this assumed to hold always automatically (since you wrote:each species can show up 0,1,2,3... or any natural number of times.)? That is I wondered what the "can" exactly means and why you didn't write: $X_i \in N$

`by the way John, how does one actually determine the value of the complex $2X_1+X_2$ if the species $X_1$ and $X_2$ are no natural numbers or is this assumed to hold always automatically (since you wrote:each species can show up 0,1,2,3... or any natural number of times.)? That is I wondered what the "can" exactly means and why you didn't write: $X_i \in N$`

Nad wrote:

"$\tau$ varies over all the transitions" is a synonym for "$\tau$ ranges over transitions" which is a synonym for "$\tau$ is an arbitrary element of the set of transitions".

I guess "varies over" is not perfectly standard mathematical English; "ranges over" is more standard. I'll polish Manoj's writing after he's done with a complete draft.

I guess you know that a complex is something like

$$2 X_1 + 3 X_2 + X_3$$ and a transition is something like

$$ 2 X_1 + 3 X_2 + X_3 \to 3X_1 + 2X_2 $$ A reaction network is a graph with some set of complexes as vertices and some set of transitions (arrows like the one above) as edges.

`Nad wrote: > what is meant by complexes varying over transitions? "$\tau$ varies over all the transitions" is a synonym for "$\tau$ ranges over transitions" which is a synonym for "$\tau$ is an arbitrary element of the set of transitions". I guess "varies over" is not perfectly standard mathematical English; "ranges over" is more standard. I'll polish Manoj's writing after he's done with a complete draft. I guess you know that a complex is something like $$2 X_1 + 3 X_2 + X_3$$ and a transition is something like $$ 2 X_1 + 3 X_2 + X_3 \to 3X_1 + 2X_2 $$ A reaction network is a graph with some set of complexes as vertices and some set of transitions (arrows like the one above) as edges.`

Nad wrote:

It doesn't have a "value". The things like $X_1$, $X_2$ are not numbers, they are elements of an arbitrary set, and a complex is a

formallinear combination of these elements. "Formal" means"don't ask what it means - it's just symbols on a page!"In applications to chemistry $X_1, X_2$ etc. are things like "sodium", "water", "glucose" and so on. A complex is something like

$$ 2 NaCl + 3 CaCO_3 $$ You don't "determine a value" for such a thing! It is what it is.

In applications to population biology, a complex is something like

$$ 2 fox + 3 rabbit $$

`Nad wrote: > by the way John, how does one actually determine the value of the complex $2X_1+X_2$? It doesn't have a "value". The things like $X_1$, $X_2$ are not numbers, they are elements of an arbitrary set, and a complex is a _formal_ linear combination of these elements. "Formal" means _"don't ask what it means - it's just symbols on a page!"_ In applications to chemistry $X_1, X_2$ etc. are things like "sodium", "water", "glucose" and so on. A complex is something like $$ 2 NaCl + 3 CaCO_3 $$ You don't "determine a value" for such a thing! It is what it is. In applications to population biology, a complex is something like $$ 2 fox + 3 rabbit $$`

thanks for trying to explain me. Unfortunately this still makes no sense to me.

`>$\tau$ ranges over transitions” which is a synonym for $\tau$ is an arbitrary element of the set of transitions”. thanks for trying to explain me. Unfortunately this still makes no sense to me.`

I probably shouldn't try to keep explaining, because I've been discussing this stuff for a couple of years in the network theory series, and Manoj was writing to people who followed that material.

Let me list some different ways to say more or less the same thing. Maybe some other people reading this, who know about reaction networks and their rate equations, can give me some guidance on what Manoj's post should be like.

1)

That's a pretty clean, dry mathematical statement. Equivalently:

2) We can then make up names for things:

3) We can then relax and be less formal:

4) We can then relax more, as Manoj did, and mix this information with other information:

Perhaps this is confusing because he's reviewing material instead of laying down formal definitions as if we'd never seen this stuff before?

`I probably shouldn't try to keep explaining, because I've been discussing this stuff for a couple of years in the network theory series, and Manoj was writing to people who followed that material. Let me list some different ways to say more or less the same thing. Maybe some other people reading this, who know about reaction networks and their rate equations, can give me some guidance on what Manoj's post should be like. 1) > Let $S$ and $T$ be sets. Let $m,n : T \to \mathbb{N}^S$ be functions. The **reaction graph** is the directed graph whose vertices are elements $m(\tau), n(\tau)$ for $\tau \in T$, and whose edges are elements of $T$, with the edge $\tau \in T$ going from $m(\tau)$ to $n(\tau)$. That's a pretty clean, dry mathematical statement. Equivalently: > Let $S$ and $T$ be sets, and suppose $m,n : T \to \mathbb{N}^S$ . The **reaction graph** is the directed graph whose vertices are elements $m(\tau), n(\tau)$ where $\tau$ ranges over $T$, and whose edges are elements of $T$, with the edge $\tau \in T$ going from $m(\tau)$ to $n(\tau)$. 2) We can then make up names for things: > Let $S$ be a set of **species** and let $T$ be a set of **transitions**. We call an element of $\mathbb{N}^S$ a **complex**. Let $m,n : T \to \mathbb{N}^S$ be functions assigning to each transition its **source** $m(\tau)$ and **target** $n(\tau)$. The **reaction graph** is the directed graph with transitions as edges and with all complexes $m(\tau), n(\tau)$ as vertices, with the edge $\tau \in T$ going from the vertex $m(\tau)$ to the vertex $n(\tau)$. 3) We can then relax and be less formal: > Let $S$ be a set of **species** and let $T$ be a set of **transitions**. We call an element of $\mathbb{N}^S$ a **complex**. Suppose each transition goes from some complex $m(\tau)$ to some complex $n(\tau)$ . The **reaction graph** is the directed graph whose edges range over all transitions, with the edge $\tau$ going from the vertex $m(\tau)$ to the vertex $n(\tau)$. 4) We can then relax more, as Manoj did, and mix this information with other information: > As John explained in <a href="http://math.ucr.edu/home/baez/networks/networks_3.html">part 3</a>,the **rate equation** > $ \frac{d x}{d t} = \sum_{\tau \in T} r(\tau) (n(\tau) - m(\tau)) x^{m(\tau)}$ > is a system of ODEs describing how the **concentrations** $ x$ of the species change with time. Here, $ \tau$ is the transition from the complex $ m(\tau)$ to the complex $ n(\tau)$, and $ x^m$ is shorthand for the monomial $ x_1^{m_1} \cdots x_k^{m_k}$. > We define the **reaction graph** as follows. Its vertices are all the complexes $ m(\tau),n(\tau)$ where $ \tau$ varies over all the transitions $ T$, and its edges are all the transitions $ \tau\in T$. Perhaps this is confusing because he's reviewing material instead of laying down formal definitions as if we'd never seen this stuff before?`

Thanks for the explanation. I think I understand now. I certainly have seen your definition of a reaction network before, even if I haven't followed all of the network theory series as closely as you may think. The problem I had was that he was referring to reaction networks but then he defined something new, namely a reaction graph and so it was crucial what exactly was meant with "varies over" and what the involved quantities mean. So if I get this correct (??) then like if the species are elements of N then Manoj's reaction graph is actually the same as your graph definition of a reaction network:

`>Perhaps this is confusing because he’s reviewing material instead of laying down formal definitions as if we’d never seen this stuff before? Thanks for the explanation. I think I understand now. I certainly have seen your definition of a reaction network before, even if I haven't followed all of the network theory series as closely as you may think. The problem I had was that he was referring to reaction networks but then he defined something new, namely a reaction graph and so it was crucial what exactly was meant with "varies over" and what the involved quantities mean. So if I get this correct (??) then like if the species are elements of N then Manoj's reaction graph is actually the same as your graph <a href="http://math.ucr.edu/home/baez/networks/networks_17.html">definition of a reaction network:</a> >Definition. A reaction network is a set of species together with a directed multigraph whose vertices are labelled by complexes of those species.`

Yes, Manoj's concept of

reaction graphis exactly the same as my concept ofreaction network.But I don't know what you mean about species being elements of N. Species are not natural numbers. As I said in a previous comment, species are just elements of an arbitrary set $S$. A typical example would be

$$ S = { NaCl, \mathrm{H}_2\mathrm{O}, Na^+, Cl^-, NaOH } $$ or

$$ S = { rabbit, fox } $$ In practice, this set is never taken to be the set of natural numbers!

`Yes, Manoj's concept of **reaction graph** is exactly the same as my concept of **reaction network**. But I don't know what you mean about species being elements of N. Species are not natural numbers. As I said in a [previous comment](http://forum.azimuthproject.org/discussion/1287/blog-lyapunov-functions-for-complexbalanced-systems/?Focus=9856#Comment_9856), species are just elements of an arbitrary set $S$. A typical example would be $$ S = \{ NaCl, \mathrm{H}_2\mathrm{O}, Na^+, Cl^-, NaOH \} $$ or $$ S = \{ rabbit, fox \} $$ In practice, this set is never taken to be the set of natural numbers!`

I think it would make sense to mention that in the article with a link to part 17 (don't know how much it is possible to link to the definition of a reaction network in that part). As one can see at my example it may irritate readers if there is a new definition of something that is already referred to. It may get especially problematic if there is another definition they could relate to (see below).

I wrote: "like if the species are elements of N"

That is I took that as an example. The set S above would be another example. The main important point here is that $Na^+$ being the target of one edge and $Na^+$ being the target of another edge is the element of one and the same set. This treatment is different in semantic web applications, where basically an edge, together with target and source maps in the form of URL***'s is called a "RDF triple" (a triple is a bit more since the edge itself may also carry a URL label) and the collection of triples would be called a "graph:"

and

That is it is then only that from that collection one forms the set of nodes (here your set of species). In particular $Na^+$ being the target of one edge and $Na^+$ being the target of another edge are in the RDF context often rather treated as elements of different sets! This is at least how I understood the RDF literature. To make that distinction later is actually important here, because it allows to identify for example two URI's with similar descriptions, that is one could do that identification of course also by identifying elements within the set S, but then you would need to take care of all the edges accordingly i.e. what's happening here is a kind of reverse engineering but in particular the identification information may not be available. But of course in principle this informaiton is usually not important, as it has been discarded,

becauseit was rendered unimportant. This difference seems to be at the core of an ongoing fight between RDF and topic maps. The discussions about that can though be maximally confusing.So in short if one would read Manoj's definition like the "RDF graph" example then your two definitions would be quite different.

***The URL's are actually URI's, i.e. could be more than just a webadress, but since everybody knows what a URL is but not what a URI is, I used that term here.

`>Yes, Manoj’s concept of reaction graph is exactly the same as my concept of reaction network. I think it would make sense to mention that in the article with a link to <a href="http://math.ucr.edu/home/baez/networks/networks_17.html">part 17</a> (don't know how much it is possible to link to the definition of a reaction network in that part). As one can see at my example it may irritate readers if there is a new definition of something that is already referred to. It may get especially problematic if there is another definition they could relate to (see below). >But I don’t know what you mean about species being elements of N. I wrote: "like if the species are elements of N" That is I took that as an example. The set S above would be another example. The main important point here is that $Na^+$ being the target of one edge and $Na^+$ being the target of another edge is the element of one and the same set. This treatment is different in semantic web applications, where basically an edge, together with target and source maps in the form of URL***'s is called a <a href="www.w3.org/TR/rdf-concepts/">"RDF triple"</a> (a triple is a bit more since the edge itself may also carry a URL label) and the <a href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-Graph-syntax">collection of triples would be called a "graph:"</a> >An RDF graph is a set of RDF triples. and >The set of nodes of an RDF graph is the set of subjects and objects of triples in the graph. That is it is then only that from that collection one forms the set of nodes (here your set of species). In particular $Na^+$ being the target of one edge and $Na^+$ being the target of another edge are in the RDF context often rather treated as elements of different sets! This is at least how I understood the RDF literature. To make that distinction later is actually important here, because it allows to identify for example two URI's with similar descriptions, that is one could do that identification of course also by identifying elements within the set S, but then you would need to take care of all the edges accordingly i.e. what's happening here is a kind of reverse engineering but in particular the identification information may not be available. But of course in principle this informaiton is usually not important, as it has been discarded, <em> because </em> it was rendered unimportant. This difference seems to be at the core of an ongoing fight between <a href="http://www.ontopia.net/topicmaps/materials/rdf.html">RDF and topic maps.</a> The discussions about that can though be maximally confusing. So in short if one would read Manoj's definition like the "RDF graph" example then your two definitions would be quite different. ***The URL's are actually URI's, i.e. could be more than just a webadress, but since everybody knows what a URL is but not what a URI is, I used that term here.`

I will probably urge Manoj to use the term "reaction network" instead of "reaction graph", if what he's talking about is exactly a reaction network as defined in the network theory series.

`I will probably urge Manoj to use the term "reaction network" instead of "reaction graph", if what he's talking about is exactly a reaction network as defined in the network theory series.`

Manoj has responded to the first round of comments:

I will put the new draft on

It still needs more copy-editing, and pictures that Manoj will create.

`Manoj has responded to the first round of comments: > Thanks a lot for the feedback! > + I now call it the "free energy function." I have dropped "pseudo-Helmholtz." > + I have taken your advice to postpone usage of Lyapunov and H-function to a later paragraph. > + I have moved the motivation for the main theorem earlier as suggested by you. > + I am not using the term "conservation class" anymore. Instead, I try to end the post more gently. I will get into those technicalities in the next post. > + I have explained the coordinate-wise division and logarithm notations, and dropped the angle brackets. > I am sending you a draft with these changes. The figures remain to be done. Let me know what you think. > Regards, > Manoj I will put the new draft on * [[Blog - Lyapunov functions for complex-balanced systems]]. It still needs more copy-editing, and pictures that Manoj will create.`

Excellent!

I fixed a couple of typos:

The link to Kirchhoff's current law was garbled

Changed "upto" to "up to"

`Excellent! I fixed a couple of typos: * The link to Kirchhoff's current law was garbled * Changed "upto" to "up to"`

Thanks!

Now I've added Manoj's figures and I'm starting to edit the post. I think the main change will be to explain reaction networks in a

slightlyslower way, and make the terminology match that of the network theory series. For example, "reaction network" instead of "reaction graph". Judging from nad's reaction, this will help people who have been following the network theory series.`Thanks! Now I've added Manoj's figures and I'm starting to edit the post. I think the main change will be to explain reaction networks in a _slightly_ slower way, and make the terminology match that of the network theory series. For example, "reaction network" instead of "reaction graph". Judging from nad's reaction, this will help people who have been following the network theory series.`

A cut consists of a partition of the nodes, so what does it mean to move an edge across the cut? Did you mean move a node across the cut? What is your induction variable? Can you elaborate on the proof a bit, even if it's just for the forum, not the article.

Here is a proof, based on the fluid model. Conservative flow means that none of the nodes are sources, and none of them are sinks. Suppose that a cut had a net flow, going from partition A to partition B. Then, as a whole, A is a source, and B is a sink. But in order for A to be a source, then it would have to contain a node that is a source, and similarly B would have to contain a sink node.

To make this rigorous, we need the following:

Lemma. Let N be a subset of nodes in a weighted, directed graph. Let E be the set of edges that have one endpoint in N, and one endpoint outside of N. Define the outflow(N) = the sum of the weights in E, taking the sign of each weight to be positive if the starting point of the edge is inside of N (i.e., if the edge exits N).

This definition specializes to give the outflow({n}) from a single node n. That the entire flow is conservative means just that for each node n, outflow({n}) = 0.

Then: the outflow from N equals the sum of the outflows of the nodes in N.

Proof: By induction on the size of N.

Corollary: For any partition of N, the outflow from N equals the sum of the outflows from the blocks of the partition.

`> Lemma 1. If f is a conservative flow then the new flow across every cut is zero. > This is easy to show by induction, moving one edge across the cut at a time. A cut consists of a partition of the nodes, so what does it mean to move an edge across the cut? Did you mean move a node across the cut? What is your induction variable? Can you elaborate on the proof a bit, even if it's just for the forum, not the article. Here is a proof, based on the fluid model. Conservative flow means that none of the nodes are sources, and none of them are sinks. Suppose that a cut had a net flow, going from partition A to partition B. Then, as a whole, A is a source, and B is a sink. But in order for A to be a source, then it would have to contain a node that is a source, and similarly B would have to contain a sink node. To make this rigorous, we need the following: Lemma. Let N be a subset of nodes in a weighted, directed graph. Let E be the set of edges that have one endpoint in N, and one endpoint outside of N. Define the outflow(N) = the sum of the weights in E, taking the sign of each weight to be positive if the starting point of the edge is inside of N (i.e., if the edge exits N). This definition specializes to give the outflow({n}) from a single node n. That the entire flow is conservative means just that for each node n, outflow({n}) = 0. Then: the outflow from N equals the sum of the outflows of the nodes in N. Proof: By induction on the size of N. Corollary: For any partition of N, the outflow from N equals the sum of the outflows from the blocks of the partition.`

I'm confused about something in the two-cycle example.

For a state $x$, the flow $f_x$ maps each transition to its "activity rate" in that state. (Activity rate equals the rate constant times the multiset-based product of the input concentrations in the state $x$.)

Now let $\alpha$ be the strictly positive point of complex balance, and $f_\alpha$ be the conservative flow. Since it's conservative, the two transitions $\tau_1$, $\tau_2$ must have the same activity rate in $\alpha$. So $\tau_1$ is pumping material into $n$ at exactly the same rate that $\tau_2$ is pumping it out of $n$, and similarly for $m$. So $\alpha$ is an equilibrium state.

Next, the Theorem says that $g_\alpha(x(t))$ is a decreasing function of $t$, and it is strictly decreasing unless $x(t)$ is a "fixed point of the rate equation." Meaning an equilibrium state, right?

Then the statement is made that $d g_\alpha(x(t)) / dt$ is zero iff $(x / \alpha)^m = (x / \alpha)^n$.

These two statements imply that such an $x$ is a "fixed point of the rate equation." Note that such an $x$ is

notequal to $\alpha$.But doesn't that contradict the conclusion drawn above, that $\alpha$ is an equilibrium point?

`I'm confused about something in the two-cycle example. For a state $x$, the flow $f_x$ maps each transition to its "activity rate" in that state. (Activity rate equals the rate constant times the multiset-based product of the input concentrations in the state $x$.) Now let $\alpha$ be the strictly positive point of complex balance, and $f_\alpha$ be the conservative flow. Since it's conservative, the two transitions $\tau_1$, $\tau_2$ must have the same activity rate in $\alpha$. So $\tau_1$ is pumping material into $n$ at exactly the same rate that $\tau_2$ is pumping it out of $n$, and similarly for $m$. So $\alpha$ is an equilibrium state. Next, the Theorem says that $g_\alpha(x(t))$ is a decreasing function of $t$, and it is strictly decreasing unless $x(t)$ is a "fixed point of the rate equation." Meaning an equilibrium state, right? Then the statement is made that $d g_\alpha(x(t)) / dt$ is zero iff $(x / \alpha)^m = (x / \alpha)^n$. These two statements imply that such an $x$ is a "fixed point of the rate equation." Note that such an $x$ is _not_ equal to $\alpha$. But doesn't that contradict the conclusion drawn above, that $\alpha$ is an equilibrium point?`

Now I'll start to actually

think about what Manoj is sayingin his post.David wrote:

Right. Manoj says this occurs when

$$ r_1 \alpha^m = r_2 \alpha^n$$

Right. We shouldn't introduce two synonyms terms, "fixed point" and "equilibrium state". Besides, people most commonly talk about a fixed point for a

function$f : X \to X$ (it's a point with $f(x) = x$), rather than for anequation.I'll fix this point---pardon the pun!

Why not? If $x = \alpha$ then $x/\alpha$ is the vector $(1,1, \dots)$—remember how Manoj has defined division for vectors. Then $(x / \alpha)^m = (x / \alpha)^n$---remember how Manoj has defined exponentiation of vectors.

So: what should he have said, that would avoid this confusion? Maybe simply pointing out that we get $(x / \alpha)^m = (x / \alpha)^n$ when $x = \alpha$? Or something else?

`Now I'll start to actually _think about what Manoj is saying_ in his post. David wrote: > Now let $\alpha$ be the strictly positive point of complex balance, and $f_\alpha$ be the conservative flow. Since it's conservative, the two transitions $\tau_1$, $\tau_2$ must have the same activity rate in $\alpha$. So $\tau_1$ is pumping material into $n$ at exactly the same rate that $\tau_2$ is pumping it out of $n$, and similarly for $m$. So $\alpha$ is an equilibrium state. Right. Manoj says this occurs when $$ r_1 \alpha^m = r_2 \alpha^n$$ > Next, the Theorem says that $g_\alpha(x(t))$ is a decreasing function of $t$, and it is strictly decreasing unless $x(t)$ is a "fixed point of the rate equation." Meaning an equilibrium state, right? Right. We shouldn't introduce two synonyms terms, "fixed point" and "equilibrium state". Besides, people most commonly talk about a fixed point for a _function_ $f : X \to X$ (it's a point with $f(x) = x$), rather than for an _equation_. I'll fix this point---pardon the pun! > Then the statement is made that $d g_\alpha(x(t)) / dt$ is zero iff $(x / \alpha)^m = (x / \alpha)^n$. > These two statements imply that such an $x$ is a "fixed point of the rate equation." Note that such an $x$ is _not_ equal to $\alpha$. Why not? If $x = \alpha$ then $x/\alpha$ is the vector $(1,1, \dots)$—remember how Manoj has defined division for vectors. Then $(x / \alpha)^m = (x / \alpha)^n$---remember how Manoj has defined exponentiation of vectors. So: what should he have said, that would avoid this confusion? Maybe simply pointing out that we get $(x / \alpha)^m = (x / \alpha)^n$ when $x = \alpha$? Or something else?`

David wrote:

I agree that "moving a

nodeacross the cut" seems like a better way to think about this, so I made that change. Manoj can change it back if he wants. (Actually I saidvertex, since that's what we've been calling them in network theory series.)Perhaps more importantly, I added a quick rough definition of a

cut, explained by a picture, with a link for more details.`David wrote: > A cut consists of a partition of the nodes, so what does it mean to move an edge across the cut? Did you mean move a node across the cut? What is your induction variable? Can you elaborate on the proof a bit, even if it’s just for the forum, not the article? I agree that "moving a _node_ across the cut" seems like a better way to think about this, so I made that change. Manoj can change it back if he wants. (Actually I said _vertex_, since that's what we've been calling them in network theory series.) Perhaps more importantly, I added a quick rough definition of a **cut**, explained by a picture, with a link for more details.`

John, thanks for the clarifications you made in message 19, regarding the equilibrium state $\alpha$.

`John, thanks for the clarifications you made in message 19, regarding the equilibrium state $\alpha$.`

Part of the issue was that I was misreading the notation.

The other had to do with the multiplicity of solutions to the stated equation: $d g_\alpha(x(t)) / dt$ is zero iff $(x / \alpha)^m = (x / \alpha)^n$.

Since there's a whole family of solutions, which contains $\alpha$, to this equation, for the Lyapunov function $g_\alpha$, we could say the "bottom of the bowl" consists of a whole seam of equilibrium points, which are in the same "equilibrium family" as $\alpha$. When the complexes m and n just contain as single species, this family is just a one-dimensional subspace of states, but it gets more interesting in the general case.

Some indication of this state of affairs would have helped me from getting tripped up.

`Part of the issue was that I was misreading the notation. The other had to do with the multiplicity of solutions to the stated equation: $d g_\alpha(x(t)) / dt$ is zero iff $(x / \alpha)^m = (x / \alpha)^n$. Since there's a whole family of solutions, which contains $\alpha$, to this equation, for the Lyapunov function $g_\alpha$, we could say the "bottom of the bowl" consists of a whole seam of equilibrium points, which are in the same "equilibrium family" as $\alpha$. When the complexes m and n just contain as single species, this family is just a one-dimensional subspace of states, but it gets more interesting in the general case. Some indication of this state of affairs would have helped me from getting tripped up.`

Here is what Manoj has to say about our questions and comments:

`Here is what Manoj has to say about our questions and comments: > About fixed point versus equilibrium: In chemistry and biology, when people use the word "equilibrium," almost always they are talking about a very special type of fixed point/ equilibrium that is detailed-balanced. This causes a lot of confusion, especially for those of us who go to conferences where half the people are from these backgrounds. Instead of getting embroiled in disputes about which is the "correct" use of the term, I have found it more prudent to say "fixed point" when I mean equilibrium in the mathematical sense. I don't necessarily want to undo the edit or add an explanation, but merely wanted to make people aware of this issue. > Also the equation $(x/\alpha)^m = (x/\alpha)^n$ gives _all_ the positive equilibria! In general, the set of positive equilibria of complex balanced systems is always the solution to a system of binomial equations. This is one place where the "toric" aspect of reaction network theory comes from. I don't think I want to get into it in this blog post, but this is the natural follow-up to David's comments. > I dropped a line from the two-cycle example that seemed out of place. > One comment about the figure eight example after Lemma 4. Lemma 4 is about graphs. So I was illustrating the proof on the figure 8 *graph* and not the figure 8 network. Later on, I consider the figure 8 *network* and showed how to do the decomposition in a way that also decomposes the reaction rates. > If you feel this is too subtle for the reader to catch, I am ok with keeping things as they are, but just wanted to bring this to attention.`

Manoj wrote:

It makes sense to help people reading your article understand this issue, so they don't get embroiled in disputes when they start going to conferences! Since you're explaining complex balance and detailed balance, and you mention stable and unstable equilibrium, you might as well introduce some term or terms for plain old equilibrium - and mention this controversy.

`Manoj wrote: > About fixed point versus equilibrium: In chemistry and biology, when people use the word "equilibrium," almost always they are talking about a very special type of fixed point/ equilibrium that is detailed-balanced. This causes a lot of confusion, especially for those of us who go to conferences where half the people are from these backgrounds. Instead of getting embroiled in disputes about which is the "correct" use of the term, I have found it more prudent to say "fixed point" when I mean equilibrium in the mathematical sense. I don't necessarily want to undo the edit or add an explanation, but merely wanted to make people aware of this issue. It makes sense to help people reading your article understand this issue, so they don't get embroiled in disputes when they start going to conferences! Since you're explaining complex balance and detailed balance, and you mention stable and unstable equilibrium, you might as well introduce some term or terms for plain old equilibrium - and mention this controversy.`

I went ahead and made a change like this:

`I went ahead and made a change like this: > Clearly if $\alpha$ is a point of complex balance, it's an **equilibrium solution** of the rate equation. In other words, $x(t) = \alpha$ is a solution of the rate equation, where $x(t)$ never changes. > I'm using 'equilibrium' the way mathematicians do. But I should warn you that chemists use 'equilibrium' to mean something more than merely a solution that doesn't change with time. They often also mean it's a point of complex balance, or even more. People actually get into arguments about this at conferences. > Complex balance implies more than mere equilibrium. For starters, if a reaction network is such that every edge belongs to a directed cycle, then one says that the reaction network is **weakly reversible**. So Lemmas 1 and 2 establish that complex-balanced systems must be weakly reversible!`

David wrote:

The problem is that every digression confuses some people as it helps others. So, I've attempted a terse parenthetical nudge in the right direction:

This nudge would have helped me, too, because the equation $(x/\alpha)^m = (x/\alpha)^n$ looked sort of "silly" to me, like a longish way of saying $x = \alpha$ — until I thought about it.

`David wrote: > Some indication of this state of affairs would have helped me from getting tripped up. The problem is that every digression confuses some people as it helps others. So, I've attempted a terse parenthetical nudge in the right direction: > This is never positive, and it's zero if and only if $(x/\alpha)^m = (x/\alpha)^n$. Why is this? Simply because the logarithm of something greater than 1 is positive, while the log of something less than 1 is negative, so that the sign of $(x/\alpha)^m - (x/\alpha)^n$ is always opposite the sign of $\log \frac{(x/\alpha)^n}{(x/\alpha)^m}$. We have verified our theorem for this example. > (Note that $(x/\alpha)^m = (x/\alpha)^n$ occurs when $x = \alpha$, but also at other points: in this example, there is a whole _curve_ of points of complex balance.) This nudge would have helped me, too, because the equation $(x/\alpha)^m = (x/\alpha)^n$ looked sort of "silly" to me, like a longish way of saying $x = \alpha$ — until I thought about it.`

I believe this post is ready to go. I'll wait a bit to see if Manoj approves of the latest changes.

Thanks, Nad and David, for comments that helped improve the post!

`I believe this post is ready to go. I'll wait a bit to see if Manoj approves of the latest changes. Thanks, Nad and David, for comments that helped improve the post!`

`Hi John, Nad, David, Thank you everyone for the comments! And thanks John for the many edits! I like the post as it is, and agree with John that it is ready to go.`

I do have one more comment. John, when you say a curve, do you mean a one-dimensional object? I should point out that the points where $(x/\alpha)^m = (x/\alpha)^n$ is in fact a hypersurface, and not a curve. It has codimension 1, and not dimension 1.

`I do have one more comment. John, when you say a curve, do you mean a one-dimensional object? I should point out that the points where $(x/\alpha)^m = (x/\alpha)^n$ is in fact a hypersurface, and not a curve. It has codimension 1, and not dimension 1.`

Oh, for some silly reasoning I was imagining a 2-cycle in question with just two

species, instead of 2complexes.I'll fix this and publish the post. Thanks for this wonderful post, Manoj! I look forward to the next one... but first, I look forward to discussing this one on the blog!

`Oh, for some silly reasoning I was imagining a 2-cycle in question with just two _species_, instead of 2 _complexes_. I'll fix this and publish the post. Thanks for this wonderful post, Manoj! I look forward to the next one... but first, I look forward to discussing this one on the blog!`

Okay, it's on the blog now:

I've thought of some questions and I'll post them as comments to the article in a while. David: this is also your big opportunity to ask more questions. Questions here on the Forum are read only by a few people and don't really energize the community of people who are mildly interested in Azimuth - they're mainly good for perfecting the articles. Questions on the blog do!

`Okay, it's on the blog now: * Manoj Gopalkrishnan, [Lyapunov functions for complex-balanced systems](http://johncarlosbaez.wordpress.com/2014/01/07/lyapunov-functions-for-complex-balanced-systems/), 7 January 2014. I've thought of some questions and I'll post them as comments to the article in a while. David: this is also your big opportunity to ask more questions. Questions here on the Forum are read only by a few people and don't really energize the community of people who are mildly interested in Azimuth - they're mainly good for perfecting the articles. Questions on the blog do!`