<?xml version="1.0" encoding="UTF-8" standalone="yes"?><oembed><version><![CDATA[1.0]]></version><provider_name><![CDATA[Azimuth]]></provider_name><provider_url><![CDATA[https://johncarlosbaez.wordpress.com]]></provider_url><author_name><![CDATA[John Baez]]></author_name><author_url><![CDATA[https://johncarlosbaez.wordpress.com/author/johncarlosbaez/]]></author_url><title><![CDATA[Network Theory (Part&nbsp;22)]]></title><type><![CDATA[link]]></type><html><![CDATA[<p>Okay, now let&#8217;s dig deeper into the proof of the deficiency zero theorem.  We&#8217;re only going to prove a baby version, at first.  Later we can enhance it:</p>
<p><b>Deficiency Zero Theorem (Baby Version).</b>   Suppose we have a weakly reversible reaction network with deficiency zero.  Then for any choice of rate constants there exists an equilibrium solution of the rate equation where all species are present in nonzero amounts.</p>
<p>The first step is to write down the rate equation in a new, more conceptual way.  It&#8217;s incredibly cool.   You&#8217;ve probably seen Schr&ouml;dinger&#8217;s equation, which describes the motion of a quantum particle:</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cdisplaystyle+%7B+%5Cfrac%7Bd+%5Cpsi%7D%7Bd+t%7D+%3D+-i+H+%5Cpsi+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;displaystyle { &#92;frac{d &#92;psi}{d t} = -i H &#92;psi } ' title='&#92;displaystyle { &#92;frac{d &#92;psi}{d t} = -i H &#92;psi } ' class='latex' /></p>
<p>If you&#8217;ve been following this series, you&#8217;ve probably also seen the master equation, which describes the motion of a &#8216;stochastic&#8217; particle:</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cdisplaystyle+%7B+%5Cfrac%7Bd+%5Cpsi%7D%7Bd+t%7D+%3D+H+%5Cpsi+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;displaystyle { &#92;frac{d &#92;psi}{d t} = H &#92;psi } ' title='&#92;displaystyle { &#92;frac{d &#92;psi}{d t} = H &#92;psi } ' class='latex' /></p>
<p>A &#8216;stochastic&#8217; particle is one that&#8217;s carrying out a random walk, and now <img src='https://s0.wp.com/latex.php?latex=%5Cpsi&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;psi' title='&#92;psi' class='latex' /> describes its probability to be somewhere, instead of its amplitude.</p>
<p>Today we&#8217;ll see that the rate equation for a reaction network looks somewhat similar:</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cdisplaystyle+%7B+%5Cfrac%7Bd+x%7D%7Bd+t%7D+%3D++Y+H+x%5EY+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;displaystyle { &#92;frac{d x}{d t} =  Y H x^Y } ' title='&#92;displaystyle { &#92;frac{d x}{d t} =  Y H x^Y } ' class='latex' /></p>
<p>where <img src='https://s0.wp.com/latex.php?latex=Y&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='Y' title='Y' class='latex' /> is some matrix, and <img src='https://s0.wp.com/latex.php?latex=x%5EY&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='x^Y' title='x^Y' class='latex' /> is defined using a new thing called &#8216;matrix exponentiation&#8217;, which makes the equation <i>nonlinear!</i> </p>
<p>If you&#8217;re reading this you probably know how to multiply a vector by a matrix.  But if you&#8217;re like me, you&#8217;ve never seen anyone take a vector and raise to the power of some matrix!   I&#8217;ll explain it, don&#8217;t worry&#8230; right now I&#8217;m just trying to get you intrigued.  It&#8217;s not complicated, but it&#8217;s exciting how this unusual operation shows up naturally in chemistry.  That&#8217;s just what I&#8217;m looking for these days: new math ideas that show up in practical subjects like chemistry, and new ways that math can help people in these subjects.</p>
<p>Since we&#8217;re looking for an <i>equilibrium</i> solution of the rate equation, we actually want to solve</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cdisplaystyle+%7B+%5Cfrac%7Bd+x%7D%7Bd+t%7D+%3D++0+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;displaystyle { &#92;frac{d x}{d t} =  0 } ' title='&#92;displaystyle { &#92;frac{d x}{d t} =  0 } ' class='latex' /></p>
<p>or in other words</p>
<p><img src='https://s0.wp.com/latex.php?latex=Y+H+x%5EY+%3D+0+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='Y H x^Y = 0 ' title='Y H x^Y = 0 ' class='latex' /></p>
<p>In fact we will do better: we will find a solution of</p>
<p><img src='https://s0.wp.com/latex.php?latex=H+x%5EY+%3D+0+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='H x^Y = 0 ' title='H x^Y = 0 ' class='latex' /></p>
<p>And we&#8217;ll do this in two stages:</p>
<p>&bull; First we&#8217;ll find all solutions of</p>
<p><img src='https://s0.wp.com/latex.php?latex=H+%5Cpsi+%3D+0+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='H &#92;psi = 0 ' title='H &#92;psi = 0 ' class='latex' /></p>
<p>This equation is <i>linear</i>, so it&#8217;s easy to understand.</p>
<p>&bull; Then, among these solutions <img src='https://s0.wp.com/latex.php?latex=%5Cpsi%2C&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;psi,' title='&#92;psi,' class='latex' /> we&#8217;ll find one that also obeys</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cpsi+%3D+x%5EY+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;psi = x^Y ' title='&#92;psi = x^Y ' class='latex' /></p>
<p>This is a <i>nonlinear</i> problem involving matrix exponentiation, but still, we can do it, using a clever trick called &#8216;logarithms&#8217;.</p>
<p>Putting the pieces together, we get our solution of </p>
<p><img src='https://s0.wp.com/latex.php?latex=H+x%5EY+%3D+0+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='H x^Y = 0 ' title='H x^Y = 0 ' class='latex' /></p>
<p>and thus our equilibrium solution of the rate equation:</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cdisplaystyle+%7B+%5Cfrac%7Bd+x%7D%7Bd+t%7D+%3D+Y+H+x%5EY+%3D+0+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;displaystyle { &#92;frac{d x}{d t} = Y H x^Y = 0 } ' title='&#92;displaystyle { &#92;frac{d x}{d t} = Y H x^Y = 0 } ' class='latex' /></p>
<p>That&#8217;s a rough outline of the plan.  But now let&#8217;s get started, because the details are actually fascinating.  Today I&#8217;ll just show you how to rewrite the rate equation in this new way.</p>
<h3> The rate equation </h3>
<p>Remember how the rate equation goes.  We start with a <b>stochastic reaction network</b>, meaning a little diagram like this:</p>
<div align="center">
<img src="https://i1.wp.com/math.ucr.edu/home/baez/networks/reaction_network_diagram_1.png" alt="" />
</div>
<p>This contains quite a bit of information:</p>
<p>&bull; a finite set <img src='https://s0.wp.com/latex.php?latex=T&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='T' title='T' class='latex' /> of <b>transitions</b>,</p>
<p>&bull; a finite set <img src='https://s0.wp.com/latex.php?latex=K&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='K' title='K' class='latex' /> of <b>complexes</b>,</p>
<p>&bull; a finite set <img src='https://s0.wp.com/latex.php?latex=S&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='S' title='S' class='latex' /> of <b>species</b>, </p>
<p>&bull; a map <img src='https://s0.wp.com/latex.php?latex=r%3A+T+%5Cto+%280%2C%5Cinfty%29&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='r: T &#92;to (0,&#92;infty)' title='r: T &#92;to (0,&#92;infty)' class='latex' /> giving a <b>rate constant</b> for each transition,</p>
<p>&bull; <b>source</b> and <b>target</b> maps <img src='https://s0.wp.com/latex.php?latex=s%2Ct+%3A+T+%5Cto+K&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='s,t : T &#92;to K' title='s,t : T &#92;to K' class='latex' /> saying where each transition starts and ends,</p>
<p>&bull; a one-to-one map <img src='https://s0.wp.com/latex.php?latex=Y+%3A+K+%5Cto+%5Cmathbb%7BN%7D%5ES&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='Y : K &#92;to &#92;mathbb{N}^S' title='Y : K &#92;to &#92;mathbb{N}^S' class='latex' /> saying how each complex is made of species.</p>
<p>Given all this, the rate equation says how the amount of each species changes with time.  We describe these amounts with a vector <img src='https://s0.wp.com/latex.php?latex=x+%5Cin+%5B0%2C%5Cinfty%29%5ES.&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='x &#92;in [0,&#92;infty)^S.' title='x &#92;in [0,&#92;infty)^S.' class='latex' />  So, we want a differential equation filling in the question marks here:</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cdisplaystyle%7B+%5Cfrac%7Bd+x%7D%7Bd+t%7D+%3D+%3F%3F%3F+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;displaystyle{ &#92;frac{d x}{d t} = ??? } ' title='&#92;displaystyle{ &#92;frac{d x}{d t} = ??? } ' class='latex' /></p>
<p>Now <a href="https://johncarlosbaez.wordpress.com/2012/08/14/network-theory-part-21/">last time</a>, we started by thinking of <img src='https://s0.wp.com/latex.php?latex=K&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='K' title='K' class='latex' /> as a subset of <img src='https://s0.wp.com/latex.php?latex=%5Cmathbb%7BN%7D%5ES%2C&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;mathbb{N}^S,' title='&#92;mathbb{N}^S,' class='latex' /> and thus of the vector space <img src='https://s0.wp.com/latex.php?latex=%5Cmathbb%7BR%7D%5ES.&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;mathbb{R}^S.' title='&#92;mathbb{R}^S.' class='latex' />  Back then, we wrote the rate equation as follows:</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cdisplaystyle%7B+%5Cfrac%7Bd+x%7D%7Bd+t%7D+%3D+%5Csum_%7B%5Ctau+%5Cin+T%7D+r%28%5Ctau%29+%5C%3B+%5Cleft%28t%28%5Ctau%29+-+s%28%5Ctau%29%5Cright%29+%5C%3B+x%5E%7Bs%28%5Ctau%29%7D+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;displaystyle{ &#92;frac{d x}{d t} = &#92;sum_{&#92;tau &#92;in T} r(&#92;tau) &#92;; &#92;left(t(&#92;tau) - s(&#92;tau)&#92;right) &#92;; x^{s(&#92;tau)} } ' title='&#92;displaystyle{ &#92;frac{d x}{d t} = &#92;sum_{&#92;tau &#92;in T} r(&#92;tau) &#92;; &#92;left(t(&#92;tau) - s(&#92;tau)&#92;right) &#92;; x^{s(&#92;tau)} } ' class='latex' /></p>
<p>where vector exponentiation is defined by</p>
<p><img src='https://s0.wp.com/latex.php?latex=x%5Es+%3D+x_1%5E%7Bs_1%7D+%5Ccdots+x_k%5E%7Bs_k%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='x^s = x_1^{s_1} &#92;cdots x_k^{s_k} ' title='x^s = x_1^{s_1} &#92;cdots x_k^{s_k} ' class='latex' /></p>
<p>when <img src='https://s0.wp.com/latex.php?latex=x&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='x' title='x' class='latex' /> and <img src='https://s0.wp.com/latex.php?latex=s&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='s' title='s' class='latex' /> are vectors in <img src='https://s0.wp.com/latex.php?latex=%5Cmathbb%7BR%7D%5ES.&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;mathbb{R}^S.' title='&#92;mathbb{R}^S.' class='latex' /></p>
<p>However, we&#8217;ve now switched to thinking of our set of complexes <img src='https://s0.wp.com/latex.php?latex=K&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='K' title='K' class='latex' /> as a set in its own right that is mapped into <img src='https://s0.wp.com/latex.php?latex=%5Cmathbb%7BN%7D%5ES&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;mathbb{N}^S' title='&#92;mathbb{N}^S' class='latex' /> by <img src='https://s0.wp.com/latex.php?latex=Y.&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='Y.' title='Y.' class='latex' />  This is good for lots of reasons, like defining the concept of &#8216;deficiency&#8217;, which we did last time.   But it means the rate equation above doesn&#8217;t quite parse anymore!   Things like <img src='https://s0.wp.com/latex.php?latex=s%28%5Ctau%29&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='s(&#92;tau)' title='s(&#92;tau)' class='latex' /> and <img src='https://s0.wp.com/latex.php?latex=t%28%5Ctau%29&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='t(&#92;tau)' title='t(&#92;tau)' class='latex' /> live in <img src='https://s0.wp.com/latex.php?latex=K&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='K' title='K' class='latex' />; we need to explicitly convert them into elements of <img src='https://s0.wp.com/latex.php?latex=%5Cmathbb%7BR%7D%5ES&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;mathbb{R}^S' title='&#92;mathbb{R}^S' class='latex' /> using <img src='https://s0.wp.com/latex.php?latex=Y&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='Y' title='Y' class='latex' /> for our equation to make sense!</p>
<p>So now we have to write the <b>rate equation</b> like this:</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cdisplaystyle%7B+%5Cfrac%7Bd+x%7D%7Bd+t%7D+%3D+Y+%5Csum_%7B%5Ctau+%5Cin+T%7D+r%28%5Ctau%29+%5C%3B++%5Cleft%28t%28%5Ctau%29+-+s%28%5Ctau%29%5Cright%29+%5C%3B+x%5E%7BY+s%28%5Ctau%29%7D+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;displaystyle{ &#92;frac{d x}{d t} = Y &#92;sum_{&#92;tau &#92;in T} r(&#92;tau) &#92;;  &#92;left(t(&#92;tau) - s(&#92;tau)&#92;right) &#92;; x^{Y s(&#92;tau)} } ' title='&#92;displaystyle{ &#92;frac{d x}{d t} = Y &#92;sum_{&#92;tau &#92;in T} r(&#92;tau) &#92;;  &#92;left(t(&#92;tau) - s(&#92;tau)&#92;right) &#92;; x^{Y s(&#92;tau)} } ' class='latex' /></p>
<p>This looks more ugly, but if you&#8217;ve got even one mathematical bone in your body, you can already see vague glimmerings of how we&#8217;ll rewrite this the way we want:</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cdisplaystyle+%7B+%5Cfrac%7Bd+x%7D%7Bd+t%7D+%3D++Y+H+x%5EY+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;displaystyle { &#92;frac{d x}{d t} =  Y H x^Y } ' title='&#92;displaystyle { &#92;frac{d x}{d t} =  Y H x^Y } ' class='latex' /></p>
<p>Here&#8217;s how.</p>
<p>First, we extend our maps <img src='https://s0.wp.com/latex.php?latex=s%2C+t&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='s, t' title='s, t' class='latex' /> and <img src='https://s0.wp.com/latex.php?latex=Y&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='Y' title='Y' class='latex' /> to linear maps between vector spaces:</p>
<div align="center">
<img src="https://i0.wp.com/math.ucr.edu/home/baez/networks/reaction_network_diagram_6.png" /></div>
<p>Then, we put an inner product on the vector spaces <img src='https://s0.wp.com/latex.php?latex=%5Cmathbb%7BR%7D%5ET%2C&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;mathbb{R}^T,' title='&#92;mathbb{R}^T,' class='latex' /> <img src='https://s0.wp.com/latex.php?latex=%5Cmathbb%7BR%7D%5EK&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;mathbb{R}^K' title='&#92;mathbb{R}^K' class='latex' /> and <img src='https://s0.wp.com/latex.php?latex=%5Cmathbb%7BR%7D%5ES.&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;mathbb{R}^S.' title='&#92;mathbb{R}^S.' class='latex' />  For <img src='https://s0.wp.com/latex.php?latex=%5Cmathbb%7BR%7D%5EK&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;mathbb{R}^K' title='&#92;mathbb{R}^K' class='latex' /> we do this in the most obvious way, by letting the complexes be an orthonormal basis.  So, given two complexes <img src='https://s0.wp.com/latex.php?latex=%5Ckappa%2C+%5Ckappa%27%2C&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;kappa, &#92;kappa&#039;,' title='&#92;kappa, &#92;kappa&#039;,' class='latex' /> we define their inner product by</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Clangle+%5Ckappa%2C+%5Ckappa%27+%5Crangle+%3D+%5Cdelta_%7B%5Ckappa%2C+%5Ckappa%27%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;langle &#92;kappa, &#92;kappa&#039; &#92;rangle = &#92;delta_{&#92;kappa, &#92;kappa&#039;} ' title='&#92;langle &#92;kappa, &#92;kappa&#039; &#92;rangle = &#92;delta_{&#92;kappa, &#92;kappa&#039;} ' class='latex' /></p>
<p>We do the same for <img src='https://s0.wp.com/latex.php?latex=%5Cmathbb%7BR%7D%5ES.&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;mathbb{R}^S.' title='&#92;mathbb{R}^S.' class='latex' />  But for <img src='https://s0.wp.com/latex.php?latex=%5Cmathbb%7BR%7D%5ET&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;mathbb{R}^T' title='&#92;mathbb{R}^T' class='latex' /> we define the inner product in a more clever way involving the rate constants.  If <img src='https://s0.wp.com/latex.php?latex=%5Ctau%2C+%5Ctau%27+%5Cin+T&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;tau, &#92;tau&#039; &#92;in T' title='&#92;tau, &#92;tau&#039; &#92;in T' class='latex' /> are two transitions, we define their inner product by:</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Clangle+%5Ctau%2C+%5Ctau%27+%5Crangle+%3D+%5Cfrac%7B1%7D%7Br%28%5Ctau%29%7D+%5Cdelta_%7B%5Ctau%2C+%5Ctau%27%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;langle &#92;tau, &#92;tau&#039; &#92;rangle = &#92;frac{1}{r(&#92;tau)} &#92;delta_{&#92;tau, &#92;tau&#039;} ' title='&#92;langle &#92;tau, &#92;tau&#039; &#92;rangle = &#92;frac{1}{r(&#92;tau)} &#92;delta_{&#92;tau, &#92;tau&#039;} ' class='latex' /></p>
<p>This will seem perfectly natural when we continue our study of circuits made of electrical resistors, and if you&#8217;re very clever you can already see it lurking in <a href="http://math.ucr.edu/home/baez/networks/networks_16.html">Part 16</a>.  But never mind.</p>
<p>Having put inner products on these three vector spaces, we can take the adjoints of the linear maps between them, to get linear maps going back the other way:</p>
<div align="center">
<img src="https://i1.wp.com/math.ucr.edu/home/baez/networks/reaction_network_diagram_3.png" /></div>
<p>These are defined in the usual way&#8212;though we&#8217;re using daggers here they way physicists do, where mathematicians would prefer to see stars!   For example, <img src='https://s0.wp.com/latex.php?latex=s%5E%5Cdagger+%3A+%5Cmathbb%7BR%7D%5EK+%5Cto+%5Cmathbb%7BR%7D%5ET&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='s^&#92;dagger : &#92;mathbb{R}^K &#92;to &#92;mathbb{R}^T' title='s^&#92;dagger : &#92;mathbb{R}^K &#92;to &#92;mathbb{R}^T' class='latex' /> is defined by the relation</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Clangle+s%5E%5Cdagger+%5Cphi%2C+%5Cpsi+%5Crangle+%3D+%5Clangle+%5Cphi%2C+s+%5Cpsi+%5Crangle+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;langle s^&#92;dagger &#92;phi, &#92;psi &#92;rangle = &#92;langle &#92;phi, s &#92;psi &#92;rangle ' title='&#92;langle s^&#92;dagger &#92;phi, &#92;psi &#92;rangle = &#92;langle &#92;phi, s &#92;psi &#92;rangle ' class='latex' /></p>
<p>and so on.</p>
<p>Next, we set up a random walk on the set of complexes.  Remember, our reaction network is a graph with complexes as vertices and transitions as edges, like this:</p>
<div align="center">
<img width="200" src="https://i2.wp.com/math.ucr.edu/home/baez/networks/chemical_reaction_network_part_20_V.png" alt="" />
</div>
<p>Each transition <img src='https://s0.wp.com/latex.php?latex=%5Ctau&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;tau' title='&#92;tau' class='latex' /> has a number attached to it: the rate constant <img src='https://s0.wp.com/latex.php?latex=r%28%5Ctau%29.&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='r(&#92;tau).' title='r(&#92;tau).' class='latex' />  So, we can randomly hop from complex to complex along these transitions, with probabilities per unit time described by these numbers.  The probability of being at some particular complex will then be described by a function </p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cpsi+%3A+K+%5Cto+%5Cmathbb%7BR%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;psi : K &#92;to &#92;mathbb{R} ' title='&#92;psi : K &#92;to &#92;mathbb{R} ' class='latex' /></p>
<p>which also depends on time, and changes according to the equation</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cdisplaystyle+%7B+%5Cfrac%7Bd+%5Cpsi%7D%7Bd+t%7D+%3D+H+%5Cpsi+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;displaystyle { &#92;frac{d &#92;psi}{d t} = H &#92;psi } ' title='&#92;displaystyle { &#92;frac{d &#92;psi}{d t} = H &#92;psi } ' class='latex' /></p>
<p>for some <b>Hamiltonian</b> </p>
<p><img src='https://s0.wp.com/latex.php?latex=H+%3A+%5Cmathbb%7BR%7D%5EK+%5Cto+%5Cmathbb%7BR%7D%5EK+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='H : &#92;mathbb{R}^K &#92;to &#92;mathbb{R}^K ' title='H : &#92;mathbb{R}^K &#92;to &#92;mathbb{R}^K ' class='latex' /></p>
<p>I defined this Hamiltonian back in <a href="https://johncarlosbaez.wordpress.com/2011/10/26/network-theory-part-15/">Part 15</a>, but now I see a slicker way to write it:</p>
<p><img src='https://s0.wp.com/latex.php?latex=H+%3D+%28t+-+s%29+s%5E%5Cdagger+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='H = (t - s) s^&#92;dagger ' title='H = (t - s) s^&#92;dagger ' class='latex' /></p>
<p>I&#8217;ll justify this next time.  For now, the main point is that with this Hamiltonian, the rate equation is equivalent to this:</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cdisplaystyle%7B+%5Cfrac%7Bd+x%7D%7Bd+t%7D+%3D+Y+H+x%5EY+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;displaystyle{ &#92;frac{d x}{d t} = Y H x^Y } ' title='&#92;displaystyle{ &#92;frac{d x}{d t} = Y H x^Y } ' class='latex' /></p>
<p>The only thing I haven&#8217;t defined yet is the funny exponential <img src='https://s0.wp.com/latex.php?latex=x%5EY.&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='x^Y.' title='x^Y.' class='latex' />  That&#8217;s what makes the equation nonlinear.  We&#8217;re taking a <i>vector</i> to the power of a <i>matrix</i> and getting a <i>vector</i>.  This sounds weird&#8212;but it actually makes sense!</p>
<p>It only makes sense because we have chosen bases for our vector spaces. To understand it, let&#8217;s number our species <img src='https://s0.wp.com/latex.php?latex=1%2C+%5Cdots%2C+k&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='1, &#92;dots, k' title='1, &#92;dots, k' class='latex' /> as we&#8217;ve been doing all along, and number our complexes <img src='https://s0.wp.com/latex.php?latex=1%2C+%5Cdots%2C+%5Cell.&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='1, &#92;dots, &#92;ell.' title='1, &#92;dots, &#92;ell.' class='latex' />   Our linear map <img src='https://s0.wp.com/latex.php?latex=Y+%3A+%5Cmathbb%7BR%7D%5EK+%5Cto+%5Cmathbb%7BR%7D%5ES&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='Y : &#92;mathbb{R}^K &#92;to &#92;mathbb{R}^S' title='Y : &#92;mathbb{R}^K &#92;to &#92;mathbb{R}^S' class='latex' /> then becomes a <img src='https://s0.wp.com/latex.php?latex=k+%5Ctimes+%5Cell&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='k &#92;times &#92;ell' title='k &#92;times &#92;ell' class='latex' /> matrix of natural numbers.  Its entries say how many times each species shows up in each complex:</p>
<p><img src='https://s0.wp.com/latex.php?latex=Y+%3D+%5Cleft%28+%5Cbegin%7Barray%7D%7Bcccc%7D+++Y_%7B11%7D+%26+Y_%7B12%7D++%26+%5Ccdots+%26+Y_%7B1+%5Cell%7D+%5C%5C++Y_%7B21%7D+%26+Y_%7B22%7D++%26+%5Ccdots+%26+Y_%7B2+%5Cell%7D+%5C%5C++%5Cvdots++%26+%5Cvdots+++%26+%5Cddots+%26+%5Cvdots+%5C%5C++Y_%7Bk1%7D+%26+Y_%7Bk2%7D++%26+%5Ccdots+%26+Y_%7Bk+%5Cell%7D+%5Cend%7Barray%7D+%5Cright%29+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='Y = &#92;left( &#92;begin{array}{cccc}   Y_{11} &amp; Y_{12}  &amp; &#92;cdots &amp; Y_{1 &#92;ell} &#92;&#92;  Y_{21} &amp; Y_{22}  &amp; &#92;cdots &amp; Y_{2 &#92;ell} &#92;&#92;  &#92;vdots  &amp; &#92;vdots   &amp; &#92;ddots &amp; &#92;vdots &#92;&#92;  Y_{k1} &amp; Y_{k2}  &amp; &#92;cdots &amp; Y_{k &#92;ell} &#92;end{array} &#92;right) ' title='Y = &#92;left( &#92;begin{array}{cccc}   Y_{11} &amp; Y_{12}  &amp; &#92;cdots &amp; Y_{1 &#92;ell} &#92;&#92;  Y_{21} &amp; Y_{22}  &amp; &#92;cdots &amp; Y_{2 &#92;ell} &#92;&#92;  &#92;vdots  &amp; &#92;vdots   &amp; &#92;ddots &amp; &#92;vdots &#92;&#92;  Y_{k1} &amp; Y_{k2}  &amp; &#92;cdots &amp; Y_{k &#92;ell} &#92;end{array} &#92;right) ' class='latex' /></p>
<p>The entry <img src='https://s0.wp.com/latex.php?latex=Y_%7Bi+j%7D&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='Y_{i j}' title='Y_{i j}' class='latex' /> says how many times the <img src='https://s0.wp.com/latex.php?latex=i&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='i' title='i' class='latex' />th species shows up in the <img src='https://s0.wp.com/latex.php?latex=j&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='j' title='j' class='latex' />th complex.  </p>
<p>Now, let&#8217;s be a bit daring and think of the vector <img src='https://s0.wp.com/latex.php?latex=x+%5Cin+%5Cmathbb%7BR%7D%5ES&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='x &#92;in &#92;mathbb{R}^S' title='x &#92;in &#92;mathbb{R}^S' class='latex' /> as a row vector with <img src='https://s0.wp.com/latex.php?latex=k&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='k' title='k' class='latex' /> entries:</p>
<p><img src='https://s0.wp.com/latex.php?latex=x+%3D+%5Cleft%28x_1+%2C+x_2+%2C++%5Cdots+%2C++x_k+%5Cright%29+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='x = &#92;left(x_1 , x_2 ,  &#92;dots ,  x_k &#92;right) ' title='x = &#92;left(x_1 , x_2 ,  &#92;dots ,  x_k &#92;right) ' class='latex' /></p>
<p>Then we can multiply <img src='https://s0.wp.com/latex.php?latex=x&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='x' title='x' class='latex' /> on the <i>right</i> by the matrix <img src='https://s0.wp.com/latex.php?latex=Y&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='Y' title='Y' class='latex' /> and get a vector in <img src='https://s0.wp.com/latex.php?latex=%5Cmathbb%7BR%7D%5EK&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;mathbb{R}^K' title='&#92;mathbb{R}^K' class='latex' />:</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cbegin%7Barray%7D%7Bccl%7D+x+Y+%26%3D%26+%28+x_1+%2C+x_2%2C+%5Cdots%2C+x_k%29+%5C%3B+++%5Cleft%28+%5Cbegin%7Barray%7D%7Bcccc%7D+++Y_%7B11%7D+%26+Y_%7B12%7D++%26+%5Ccdots+%26+Y_%7B1+%5Cell%7D+%5C%5C++Y_%7B21%7D+%26+Y_%7B22%7D++%26+%5Ccdots+%26+Y_%7B2+%5Cell%7D+%5C%5C++%5Cvdots++%26+%5Cvdots+++%26+%5Cddots+%26+%5Cvdots+%5C%5C++Y_%7Bk1%7D+%26+Y_%7Bk2%7D++%26+%5Ccdots+%26+Y_%7Bk+%5Cell%7D+%5Cend%7Barray%7D+%5Cright%29+++%5C%5C++%5C%5C++%26%3D%26+%5Cleft%28+x_1+Y_%7B11%7D+%2B+%5Ccdots+%2B+x_k+Y_%7Bk1%7D%2C+%5C%3B+%5Cdots%2C+%5C%3B+x_1+Y_%7B1+%5Cell%7D+%2B+%5Ccdots+%2B+x_k+Y_%7Bk+%5Cell%7D+%5Cright%29+++%5Cend%7Barray%7D++&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;begin{array}{ccl} x Y &amp;=&amp; ( x_1 , x_2, &#92;dots, x_k) &#92;;   &#92;left( &#92;begin{array}{cccc}   Y_{11} &amp; Y_{12}  &amp; &#92;cdots &amp; Y_{1 &#92;ell} &#92;&#92;  Y_{21} &amp; Y_{22}  &amp; &#92;cdots &amp; Y_{2 &#92;ell} &#92;&#92;  &#92;vdots  &amp; &#92;vdots   &amp; &#92;ddots &amp; &#92;vdots &#92;&#92;  Y_{k1} &amp; Y_{k2}  &amp; &#92;cdots &amp; Y_{k &#92;ell} &#92;end{array} &#92;right)   &#92;&#92;  &#92;&#92;  &amp;=&amp; &#92;left( x_1 Y_{11} + &#92;cdots + x_k Y_{k1}, &#92;; &#92;dots, &#92;; x_1 Y_{1 &#92;ell} + &#92;cdots + x_k Y_{k &#92;ell} &#92;right)   &#92;end{array}  ' title='&#92;begin{array}{ccl} x Y &amp;=&amp; ( x_1 , x_2, &#92;dots, x_k) &#92;;   &#92;left( &#92;begin{array}{cccc}   Y_{11} &amp; Y_{12}  &amp; &#92;cdots &amp; Y_{1 &#92;ell} &#92;&#92;  Y_{21} &amp; Y_{22}  &amp; &#92;cdots &amp; Y_{2 &#92;ell} &#92;&#92;  &#92;vdots  &amp; &#92;vdots   &amp; &#92;ddots &amp; &#92;vdots &#92;&#92;  Y_{k1} &amp; Y_{k2}  &amp; &#92;cdots &amp; Y_{k &#92;ell} &#92;end{array} &#92;right)   &#92;&#92;  &#92;&#92;  &amp;=&amp; &#92;left( x_1 Y_{11} + &#92;cdots + x_k Y_{k1}, &#92;; &#92;dots, &#92;; x_1 Y_{1 &#92;ell} + &#92;cdots + x_k Y_{k &#92;ell} &#92;right)   &#92;end{array}  ' class='latex' /></p>
<p>So far, no big deal.  But now you&#8217;re ready to see the definition of <img src='https://s0.wp.com/latex.php?latex=x%5EY%2C&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='x^Y,' title='x^Y,' class='latex' /> which is very similar:</p>
<p><img src="https://i2.wp.com/math.ucr.edu/home/baez/networks/matrix_exponential.png" /></p>
<p>It&#8217;s exactly the same, but with <i>multiplication</i> replacing <i>addition</i>, and <i>exponentiation</i> replacing <i>multiplication!</i>   Apparently my class on matrices stopped too soon: we learned about matrix multiplication, but matrix exponentiation is also worthwhile. </p>
<p>What&#8217;s the point of it?  Well, suppose you have a certain number of hydrogen molecules, a certain number of oxygen molecules, a certain number of water molecules, and so on&#8212;a certain number of things of each species.  You can list these numbers and get a vector <img src='https://s0.wp.com/latex.php?latex=x+%5Cin+%5Cmathbb%7BR%7D%5ES.&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='x &#92;in &#92;mathbb{R}^S.' title='x &#92;in &#92;mathbb{R}^S.' class='latex' />  Then the components of <img src='https://s0.wp.com/latex.php?latex=x%5EY&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='x^Y' title='x^Y' class='latex' /> describe how many ways you can build up each complex from the things you have.  For example, </p>
<p><img src='https://s0.wp.com/latex.php?latex=x_1%5E%7BY_%7B11%7D%7D+x_2%5E%7BY_%7B21%7D%7D+%5Ccdots++x_k%5E%7BY_%7Bk1%7D%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='x_1^{Y_{11}} x_2^{Y_{21}} &#92;cdots  x_k^{Y_{k1}} ' title='x_1^{Y_{11}} x_2^{Y_{21}} &#92;cdots  x_k^{Y_{k1}} ' class='latex' /></p>
<p>say roughly how many ways you can build complex 1 by picking <img src='https://s0.wp.com/latex.php?latex=Y_%7B11%7D&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='Y_{11}' title='Y_{11}' class='latex' /> things of species 1, <img src='https://s0.wp.com/latex.php?latex=Y_%7B21%7D&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='Y_{21}' title='Y_{21}' class='latex' /> things of species 2, and so on.  </p>
<p>Why &#8216;roughly&#8217;?   Well, we&#8217;re pretending we can pick the same thing twice.  So if we have 4 water molecules and we need to pick 3, this formula gives <img src='https://s0.wp.com/latex.php?latex=4%5E3.&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='4^3.' title='4^3.' class='latex' />  The right answer is <img src='https://s0.wp.com/latex.php?latex=4+%5Ctimes+3+%5Ctimes+2.&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='4 &#92;times 3 &#92;times 2.' title='4 &#92;times 3 &#92;times 2.' class='latex' />   To get this answer we&#8217;d need to use the &#8216;falling power&#8217; <img src='https://s0.wp.com/latex.php?latex=4%5E%7B%5Cunderline%7B3%7D%7D+%3D+4+%5Ctimes+3+%5Ctimes+2%2C&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='4^{&#92;underline{3}} = 4 &#92;times 3 &#92;times 2,' title='4^{&#92;underline{3}} = 4 &#92;times 3 &#92;times 2,' class='latex' /> as explained in <a href="http://math.ucr.edu/home/baez/networks/networks_4.html">Part 4</a>.  But the rate equation describes chemistry in the limit where we have lots of things of each species.  In this limit, the ordinary power becomes a good approximation.</p>
<p><b>Puzzle.</b> In this post we&#8217;ve seen a vector raised to a matrix power, which is a vector, and also a vector raised to a vector power, which is a number.  How are they related?</p>
<p>There&#8217;s more to say about this, which I&#8217;d be glad to explain if you&#8217;re interested.  But let&#8217;s get to the punchline:</p>
<p><b>Theorem.</b>  The rate equation:</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cdisplaystyle%7B+%5Cfrac%7Bd+x%7D%7Bd+t%7D+%3D+Y+%5Csum_%7B%5Ctau+%5Cin+T%7D+r%28%5Ctau%29+%5C%3B+%5Cleft%28t%28%5Ctau%29+-+s%28%5Ctau%29%5Cright%29+%5C%3B+x%5E%7BY+s%28%5Ctau%29%7D+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;displaystyle{ &#92;frac{d x}{d t} = Y &#92;sum_{&#92;tau &#92;in T} r(&#92;tau) &#92;; &#92;left(t(&#92;tau) - s(&#92;tau)&#92;right) &#92;; x^{Y s(&#92;tau)} } ' title='&#92;displaystyle{ &#92;frac{d x}{d t} = Y &#92;sum_{&#92;tau &#92;in T} r(&#92;tau) &#92;; &#92;left(t(&#92;tau) - s(&#92;tau)&#92;right) &#92;; x^{Y s(&#92;tau)} } ' class='latex' /></p>
<p>is equivalent to this equation:</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cdisplaystyle%7B+%5Cfrac%7Bd+x%7D%7Bd+t%7D+%3D+Y+%28t+-+s%29+s%5E%5Cdagger+x%5EY+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;displaystyle{ &#92;frac{d x}{d t} = Y (t - s) s^&#92;dagger x^Y } ' title='&#92;displaystyle{ &#92;frac{d x}{d t} = Y (t - s) s^&#92;dagger x^Y } ' class='latex' /></p>
<p>or in other words:</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cdisplaystyle%7B+%5Cfrac%7Bd+x%7D%7Bd+t%7D+%3D+Y+H+x%5EY+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;displaystyle{ &#92;frac{d x}{d t} = Y H x^Y } ' title='&#92;displaystyle{ &#92;frac{d x}{d t} = Y H x^Y } ' class='latex' /></p>
<p><i>Proof.</i>  It&#8217;s enough to show </p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cdisplaystyle%7B+%28t+-+s%29+s%5E%5Cdagger+x%5EY+%3D+%5Csum_%7B%5Ctau+%5Cin+T%7D+r%28%5Ctau%29+%5C%3B+%5Cleft%28t%28%5Ctau%29+-+s%28%5Ctau%29%5Cright%29+%5C%3B+x%5E%7BY+s%28%5Ctau%29%7D+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;displaystyle{ (t - s) s^&#92;dagger x^Y = &#92;sum_{&#92;tau &#92;in T} r(&#92;tau) &#92;; &#92;left(t(&#92;tau) - s(&#92;tau)&#92;right) &#92;; x^{Y s(&#92;tau)} } ' title='&#92;displaystyle{ (t - s) s^&#92;dagger x^Y = &#92;sum_{&#92;tau &#92;in T} r(&#92;tau) &#92;; &#92;left(t(&#92;tau) - s(&#92;tau)&#92;right) &#92;; x^{Y s(&#92;tau)} } ' class='latex' /></p>
<p>So, we&#8217;ll compute <img src='https://s0.wp.com/latex.php?latex=%28t+-+s%29+s%5E%5Cdagger+x%5EY%2C&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='(t - s) s^&#92;dagger x^Y,' title='(t - s) s^&#92;dagger x^Y,' class='latex' /> and think about the meaning of each quantity we get <i>en route</i>.  </p>
<p>We start with <img src='https://s0.wp.com/latex.php?latex=x+%5Cin+%5Cmathbb%7BR%7D%5ES.&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='x &#92;in &#92;mathbb{R}^S.' title='x &#92;in &#92;mathbb{R}^S.' class='latex' />  This is a list of numbers saying how many things of each species we have: our raw ingredients, as it were.  Then we compute</p>
<p><img src='https://s0.wp.com/latex.php?latex=x%5EY+%3D+%28x_1%5E%7BY_%7B11%7D%7D+%5Ccdots++x_k%5E%7BY_%7Bk1%7D%7D+%2C++%5Cdots%2C++x_1%5E%7BY_%7B1+%5Cell%7D%7D+%5Ccdots+x_k%5E%7BY_%7Bk+%5Cell%7D%7D+%29+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='x^Y = (x_1^{Y_{11}} &#92;cdots  x_k^{Y_{k1}} ,  &#92;dots,  x_1^{Y_{1 &#92;ell}} &#92;cdots x_k^{Y_{k &#92;ell}} ) ' title='x^Y = (x_1^{Y_{11}} &#92;cdots  x_k^{Y_{k1}} ,  &#92;dots,  x_1^{Y_{1 &#92;ell}} &#92;cdots x_k^{Y_{k &#92;ell}} ) ' class='latex' /></p>
<p>This is a vector in <img src='https://s0.wp.com/latex.php?latex=%5Cmathbb%7BR%7D%5EK.&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;mathbb{R}^K.' title='&#92;mathbb{R}^K.' class='latex' />  It&#8217;s a list of numbers saying how many ways we can build each complex starting from our raw ingredients.  </p>
<p>Alternatively, we can write this vector <img src='https://s0.wp.com/latex.php?latex=x%5EY&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='x^Y' title='x^Y' class='latex' /> as a sum over basis vectors:</p>
<p><img src='https://s0.wp.com/latex.php?latex=x%5EY+%3D+%5Csum_%7B%5Ckappa+%5Cin+K%7D+x_1%5E%7BY_%7B1%5Ckappa%7D%7D+%5Ccdots++x_k%5E%7BY_%7Bk%5Ckappa%7D%7D+%5C%3B+%5Ckappa+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='x^Y = &#92;sum_{&#92;kappa &#92;in K} x_1^{Y_{1&#92;kappa}} &#92;cdots  x_k^{Y_{k&#92;kappa}} &#92;; &#92;kappa ' title='x^Y = &#92;sum_{&#92;kappa &#92;in K} x_1^{Y_{1&#92;kappa}} &#92;cdots  x_k^{Y_{k&#92;kappa}} &#92;; &#92;kappa ' class='latex' /></p>
<p>Next let&#8217;s apply <img src='https://s0.wp.com/latex.php?latex=s%5E%5Cdagger&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='s^&#92;dagger' title='s^&#92;dagger' class='latex' /> to this.  We claim that</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cdisplaystyle%7B+s%5E%5Cdagger+%5Ckappa+%3D+%5Csum_%7B%5Ctau+%5C%3B+%3A+%5C%3B+s%28%5Ctau%29+%3D+%5Ckappa%7D+r%28%5Ctau%29+%5C%3B+%5Ctau+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;displaystyle{ s^&#92;dagger &#92;kappa = &#92;sum_{&#92;tau &#92;; : &#92;; s(&#92;tau) = &#92;kappa} r(&#92;tau) &#92;; &#92;tau } ' title='&#92;displaystyle{ s^&#92;dagger &#92;kappa = &#92;sum_{&#92;tau &#92;; : &#92;; s(&#92;tau) = &#92;kappa} r(&#92;tau) &#92;; &#92;tau } ' class='latex' /></p>
<p>In other words, we claim <img src='https://s0.wp.com/latex.php?latex=s%5E%5Cdagger+%5Ckappa&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='s^&#92;dagger &#92;kappa' title='s^&#92;dagger &#92;kappa' class='latex' /> is the sum of all the transitions having <img src='https://s0.wp.com/latex.php?latex=%5Ckappa&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;kappa' title='&#92;kappa' class='latex' /> as their source, <i>weighted by their rate constants!</i>   To prove this claim, it&#8217;s enough to take the inner product of each side with any transition <img src='https://s0.wp.com/latex.php?latex=%5Ctau%27%2C&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;tau&#039;,' title='&#92;tau&#039;,' class='latex' /> and check that we get the same answer.  For the left side we get</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Clangle+s%5E%5Cdagger+%5Ckappa%2C+%5Ctau%27+%5Crangle+%3D+%5Clangle+%5Ckappa%2C+s%28%5Ctau%27%29+%5Crangle+%3D+%5Cdelta_%7B%5Ckappa%2C+s+%28%5Ctau%27%29+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;langle s^&#92;dagger &#92;kappa, &#92;tau&#039; &#92;rangle = &#92;langle &#92;kappa, s(&#92;tau&#039;) &#92;rangle = &#92;delta_{&#92;kappa, s (&#92;tau&#039;) } ' title='&#92;langle s^&#92;dagger &#92;kappa, &#92;tau&#039; &#92;rangle = &#92;langle &#92;kappa, s(&#92;tau&#039;) &#92;rangle = &#92;delta_{&#92;kappa, s (&#92;tau&#039;) } ' class='latex' /></p>
<p>To compute the right side, we need to use the cleverly chosen inner product on <img src='https://s0.wp.com/latex.php?latex=%5Cmathbb%7BR%7D%5ET.&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;mathbb{R}^T.' title='&#92;mathbb{R}^T.' class='latex' />  Here we get</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cdisplaystyle%7B+%5Cleft%5Clangle+%5Csum_%7B%5Ctau+%5C%3B+%3A+%5C%3B+s%28%5Ctau%29+%3D+%5Ckappa%7D+r%28%5Ctau%29+%5Ctau%2C+%5C%3B+%5Ctau%27+%5Cright%5Crangle+%3D++%5Csum_%7B%5Ctau+%5C%3B+%3A+%5C%3B+s%28%5Ctau%29+%3D+%5Ckappa%7D+%5Cdelta_%7B%5Ctau%2C+%5Ctau%27%7D+%3D+%5Cdelta_%7B%5Ckappa%2C+s%28%5Ctau%27%29%7D++%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;displaystyle{ &#92;left&#92;langle &#92;sum_{&#92;tau &#92;; : &#92;; s(&#92;tau) = &#92;kappa} r(&#92;tau) &#92;tau, &#92;; &#92;tau&#039; &#92;right&#92;rangle =  &#92;sum_{&#92;tau &#92;; : &#92;; s(&#92;tau) = &#92;kappa} &#92;delta_{&#92;tau, &#92;tau&#039;} = &#92;delta_{&#92;kappa, s(&#92;tau&#039;)}  } ' title='&#92;displaystyle{ &#92;left&#92;langle &#92;sum_{&#92;tau &#92;; : &#92;; s(&#92;tau) = &#92;kappa} r(&#92;tau) &#92;tau, &#92;; &#92;tau&#039; &#92;right&#92;rangle =  &#92;sum_{&#92;tau &#92;; : &#92;; s(&#92;tau) = &#92;kappa} &#92;delta_{&#92;tau, &#92;tau&#039;} = &#92;delta_{&#92;kappa, s(&#92;tau&#039;)}  } ' class='latex' /></p>
<p>In the first step here, the factor of <img src='https://s0.wp.com/latex.php?latex=1+%2Fr%28%5Ctau%29&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='1 /r(&#92;tau)' title='1 /r(&#92;tau)' class='latex' /> in the cleverly chosen inner product canceled the visible factor of <img src='https://s0.wp.com/latex.php?latex=r%28%5Ctau%29.&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='r(&#92;tau).' title='r(&#92;tau).' class='latex' />  For the second step, you just need to think for half a minute&mdash;or ten, depending on how much coffee you&#8217;ve had.   </p>
<p>Either way, we we conclude that indeed</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cdisplaystyle%7B+s%5E%5Cdagger+%5Ckappa+%3D+%5Csum_%7B%5Ctau+%5C%3B+%3A+%5C%3B+s%28%5Ctau%29+%3D+%5Ckappa%7D+r%28%5Ctau%29+%5Ctau+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;displaystyle{ s^&#92;dagger &#92;kappa = &#92;sum_{&#92;tau &#92;; : &#92;; s(&#92;tau) = &#92;kappa} r(&#92;tau) &#92;tau } ' title='&#92;displaystyle{ s^&#92;dagger &#92;kappa = &#92;sum_{&#92;tau &#92;; : &#92;; s(&#92;tau) = &#92;kappa} r(&#92;tau) &#92;tau } ' class='latex' /></p>
<p>Next let&#8217;s combine this with our formula for <img src='https://s0.wp.com/latex.php?latex=x%5EY&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='x^Y' title='x^Y' class='latex' />:</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cdisplaystyle+%7B+x%5EY+%3D+%5Csum_%7B%5Ckappa+%5Cin+K%7D+x_1%5E%7BY_%7B1%5Ckappa%7D%7D+%5Ccdots++x_k%5E%7BY_%7Bk%5Ckappa%7D%7D+%5C%3B+%5Ckappa+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;displaystyle { x^Y = &#92;sum_{&#92;kappa &#92;in K} x_1^{Y_{1&#92;kappa}} &#92;cdots  x_k^{Y_{k&#92;kappa}} &#92;; &#92;kappa } ' title='&#92;displaystyle { x^Y = &#92;sum_{&#92;kappa &#92;in K} x_1^{Y_{1&#92;kappa}} &#92;cdots  x_k^{Y_{k&#92;kappa}} &#92;; &#92;kappa } ' class='latex' /></p>
<p>We get this:</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cdisplaystyle+%7B+s%5E%5Cdagger+x%5EY+%3D+%5Csum_%7B%5Ckappa%2C+%5Ctau+%5C%3B+%3A+%5C%3B+s%28%5Ctau%29+%3D+%5Ckappa%7D+r%28%5Ctau%29+%5C%3B+x_1%5E%7BY_%7B1%5Ckappa%7D%7D+%5Ccdots++x_k%5E%7BY_%7Bk%5Ckappa%7D%7D+%5C%3B+%5Ctau+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;displaystyle { s^&#92;dagger x^Y = &#92;sum_{&#92;kappa, &#92;tau &#92;; : &#92;; s(&#92;tau) = &#92;kappa} r(&#92;tau) &#92;; x_1^{Y_{1&#92;kappa}} &#92;cdots  x_k^{Y_{k&#92;kappa}} &#92;; &#92;tau } ' title='&#92;displaystyle { s^&#92;dagger x^Y = &#92;sum_{&#92;kappa, &#92;tau &#92;; : &#92;; s(&#92;tau) = &#92;kappa} r(&#92;tau) &#92;; x_1^{Y_{1&#92;kappa}} &#92;cdots  x_k^{Y_{k&#92;kappa}} &#92;; &#92;tau } ' class='latex' /></p>
<p>In other words, <img src='https://s0.wp.com/latex.php?latex=s%5E%5Cdagger+x%5EY&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='s^&#92;dagger x^Y' title='s^&#92;dagger x^Y' class='latex' /> is a linear combination of transitions, where each one is weighted both by <i>the rate it happens</i> and <i>how many ways it can happen</i> starting with our raw ingredients.</p>
<p>Our goal is to compute <img src='https://s0.wp.com/latex.php?latex=%28t+-+s%29s%5E%5Cdagger+x%5EY.&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='(t - s)s^&#92;dagger x^Y.' title='(t - s)s^&#92;dagger x^Y.' class='latex' />  We&#8217;re almost there.  Remember, <img src='https://s0.wp.com/latex.php?latex=s&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='s' title='s' class='latex' /> says which complex is the input of a given transition, and <img src='https://s0.wp.com/latex.php?latex=t&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='t' title='t' class='latex' /> says which complex is the output.  So, <img src='https://s0.wp.com/latex.php?latex=%28t+-+s%29+s%5E%5Cdagger+x%5EY&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='(t - s) s^&#92;dagger x^Y' title='(t - s) s^&#92;dagger x^Y' class='latex' /> says the total rate at which complexes are created and/or destroyed starting with the species in <img src='https://s0.wp.com/latex.php?latex=x&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='x' title='x' class='latex' /> as our raw ingredients.  </p>
<p>That sounds good.   But let&#8217;s just pedantically check that everything works.  Applying <img src='https://s0.wp.com/latex.php?latex=t+-+s&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='t - s' title='t - s' class='latex' /> to both sides of our last equation, we get</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cdisplaystyle%7B+%28t+-+s%29+s%5E%5Cdagger+x%5EY+%3D+%5Csum_%7B%5Ckappa%2C+%5Ctau+%5C%3B+%3A+%5C%3B+s%28%5Ctau%29+%3D+%5Ckappa%7D+r%28%5Ctau%29+%5C%3B+x_1%5E%7BY_%7B1%5Ckappa%7D%7D+%5Ccdots++x_k%5E%7BY_%7Bk%5Ckappa%7D%7D+%5C%3B+%5Cleft%28+t%28%5Ctau%29+-+s%28%5Ctau%29%5Cright%29+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;displaystyle{ (t - s) s^&#92;dagger x^Y = &#92;sum_{&#92;kappa, &#92;tau &#92;; : &#92;; s(&#92;tau) = &#92;kappa} r(&#92;tau) &#92;; x_1^{Y_{1&#92;kappa}} &#92;cdots  x_k^{Y_{k&#92;kappa}} &#92;; &#92;left( t(&#92;tau) - s(&#92;tau)&#92;right) } ' title='&#92;displaystyle{ (t - s) s^&#92;dagger x^Y = &#92;sum_{&#92;kappa, &#92;tau &#92;; : &#92;; s(&#92;tau) = &#92;kappa} r(&#92;tau) &#92;; x_1^{Y_{1&#92;kappa}} &#92;cdots  x_k^{Y_{k&#92;kappa}} &#92;; &#92;left( t(&#92;tau) - s(&#92;tau)&#92;right) } ' class='latex' /></p>
<p>Remember, our goal was to prove that this equals</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cdisplaystyle%7B+%5Csum_%7B%5Ctau+%5Cin+T%7D+r%28%5Ctau%29+%5C%3B+%5Cleft%28t%28%5Ctau%29+-+s%28%5Ctau%29%5Cright%29+%5C%3B+x%5E%7BY+s%28%5Ctau%29%7D+%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;displaystyle{ &#92;sum_{&#92;tau &#92;in T} r(&#92;tau) &#92;; &#92;left(t(&#92;tau) - s(&#92;tau)&#92;right) &#92;; x^{Y s(&#92;tau)} } ' title='&#92;displaystyle{ &#92;sum_{&#92;tau &#92;in T} r(&#92;tau) &#92;; &#92;left(t(&#92;tau) - s(&#92;tau)&#92;right) &#92;; x^{Y s(&#92;tau)} } ' class='latex' /></p>
<p>But if you stare at these a while and think, you&#8217;ll see they&#8217;re equal.     &nbsp;  &#9608;</p>
<p>It took me a couple of weeks to really understand this, so I&#8217;ll be happy if it takes you just a few days.  It seems peculiar at first but ultimately it all makes sense.  The interesting subtlety is that we use the linear map called &#8216;multiplying by <img src='https://s0.wp.com/latex.php?latex=Y&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='Y' title='Y' class='latex' />’:</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cbegin%7Barray%7D%7Bccc%7D+%5Cmathbb%7BR%7D%5EK+%26%5Cto%26+%5Cmathbb%7BR%7D%5ES+%5C%5C+++++++++++++++++++++++++++++++%5Cpsi+++++%26%5Cmapsto%26+++Y+%5Cpsi+%5Cend%7Barray%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;begin{array}{ccc} &#92;mathbb{R}^K &amp;&#92;to&amp; &#92;mathbb{R}^S &#92;&#92;                               &#92;psi     &amp;&#92;mapsto&amp;   Y &#92;psi &#92;end{array} ' title='&#92;begin{array}{ccc} &#92;mathbb{R}^K &amp;&#92;to&amp; &#92;mathbb{R}^S &#92;&#92;                               &#92;psi     &amp;&#92;mapsto&amp;   Y &#92;psi &#92;end{array} ' class='latex' /></p>
<p>to take a bunch of complexes and work out the species they contain, while we use the <i>nonlinear</i> map called &#8216;raising to the <img src='https://s0.wp.com/latex.php?latex=Y&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='Y' title='Y' class='latex' />th power’:</p>
<p><img src='https://s0.wp.com/latex.php?latex=%5Cbegin%7Barray%7D%7Bccc%7D+%5Cmathbb%7BR%7D%5ES+%26%5Cto%26+%5Cmathbb%7BR%7D%5EK+%5C%5C+++++++++++++++++++++++++++++++x+++++%26%5Cmapsto%26+++x%5EY+%5Cend%7Barray%7D+&#038;bg=ffffff&#038;fg=000&#038;s=0' alt='&#92;begin{array}{ccc} &#92;mathbb{R}^S &amp;&#92;to&amp; &#92;mathbb{R}^K &#92;&#92;                               x     &amp;&#92;mapsto&amp;   x^Y &#92;end{array} ' title='&#92;begin{array}{ccc} &#92;mathbb{R}^S &amp;&#92;to&amp; &#92;mathbb{R}^K &#92;&#92;                               x     &amp;&#92;mapsto&amp;   x^Y &#92;end{array} ' class='latex' /></p>
<p>to take a bunch of species and work out how many ways we can build each complex from them.  There is much more to say about this: for example, these maps arise from a pair of what category theorists call &#8216;adjoint functors&#8217;.  But I&#8217;m worn out and you probably are too, if you&#8217;re still here at all.</p>
<h3> References </h3>
<p>I found this thesis to be the most helpful reference when I was trying to understand the proof of the deficiency zero theorem:</p>
<p>&bull; Jonathan M. Guberman, <i><a href="http://www4.utsouthwestern.edu/altschulerwulab/theses/GubermanJ_Thesis.pdf">Mass Action Reaction Networks and the Deficiency Zero Theorem</a></i>, B.A. thesis, Department of Mathematics, Harvard University, 2003.</p>
<p>I urge you to check it out.  In particular, Section 3 and Appendix A discuss matrix exponentiation.  Has anyone discussed this before?</p>
<p>Here&#8217;s another good modern treatment of the deficiency zero theorem:</p>
<p>&bull; Jeremy Gunawardena, <a href="http://vcp.med.harvard.edu/papers/crnt.pdf">Chemical reaction network theory for <i>in silico</i> biologists</a>, 2003.</p>
<p>The theorem was first proved here:</p>
<p>&bull; Martin Feinberg, <a href="http://www.seas.upenn.edu/~jadbabai/ESE680/Fei87a.pdf">Chemical reaction network structure and the stability of complex isothermal reactors: I. The deficiency zero and deficiency one theorems</a>, <i>Chemical Engineering Science</i> <b>42</b> (1987), 2229-2268. </p>
<p>However, Feinberg&#8217;s treatment here relies heavily on this paper:</p>
<p>&bull; F. Horn and R. Jackson, General mass action kinetics, <a href="http://www.springerlink.com/content/p345k578348107tj/"><i>Archive for Rational Mechanics and Analysis</i></a> <b>47</b> (1972), 81-116.</p>
<p>(Does anyone work on &#8216;irrational mechanics&#8217;?)  These lectures are also very helpful:</p>
<p>&bull; Martin Feinberg, <a href="http://www.che.eng.ohio-state.edu/~FEINBERG/LecturesOnReactionNetworks/">Lectures on reaction networks</a>, 1979.</p>
<p>If you&#8217;ve seen other proofs, let us know.</p>
]]></html><thumbnail_url><![CDATA[https://i1.wp.com/math.ucr.edu/home/baez/networks/reaction_network_diagram_1.png?fit=440%2C330]]></thumbnail_url><thumbnail_height><![CDATA[44]]></thumbnail_height><thumbnail_width><![CDATA[292]]></thumbnail_width></oembed>