<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Simon Dobson (Posts about algorithms)</title><link>https://simondobson.org/</link><description></description><atom:link href="https://simondobson.org/categories/algorithms.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2025 &lt;a href="mailto:simoninireland@gmail.com"&gt;Simon Dobson&lt;/a&gt; </copyright><lastBuildDate>Thu, 23 Jan 2025 17:16:08 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>High-degree numerical differentiation</title><link>https://simondobson.org/2023/12/30/high-degree-differentiation/</link><dc:creator>Simon Dobson</dc:creator><description>&lt;div class="cell border-box-sizing text_cell rendered" id="cell-id=7028d361"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;h2 id="High-degree-numerical-differentiation"&gt;High-degree numerical differentiation&lt;a class="anchor-link" href="https://simondobson.org/2023/12/30/high-degree-differentiation/#High-degree-numerical-differentiation"&gt;¶&lt;/a&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered" id="cell-id=4d6b9970"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;p&gt;Performing differentiation in a computer usually relies on numerical techniques. There are several well-known approaches to this, but all tend to suffer from numerical instability when applied many times to compute high-degree derivatives. This isn't usually a problem, but it is when applied to differentiating the generating functions used to represent degree sequences and other elements of complex networks. We therefore need a better way of performing repeated differentiation.&lt;/p&gt;
&lt;p&gt;It's worth noting that this technique -- Cauchy's formula -- has nothing to do with generating functions &lt;em&gt;per se&lt;/em&gt;, and can be used in any setting that needs high-degree numerical differentiation of a function. It deserves to be better-known.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered" id="cell-id=87bc86bf"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;h3 id="Context"&gt;Context&lt;a class="anchor-link" href="https://simondobson.org/2023/12/30/high-degree-differentiation/#Context"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered" id="cell-id=2cabb649"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;p&gt;Generating functions represent entire probability distributions as a single function, which can then be manipulated in various ways to perform actions on the underlying probabilities. A probability generating function is a formal power series representing a discrete probability distribution, where each term of the series specifies the probability of the random variable taking a given value. The most common example is the node degree distribution generated by:&lt;/p&gt;
&lt;p&gt;$$
G_0(x) = \sum_k p_k \, x^k
$$&lt;/p&gt;
&lt;p&gt;where $p_k$ is the probability that a node chosen at random has degree $k$. The $x^k$ term is simply a formal "binder" that associates the coefficient with the value to which it refers.&lt;/p&gt;
&lt;p&gt;There are two main ways to create such a generating function. In the first case (the &lt;em&gt;discrete&lt;/em&gt; case) we know all the $p_k$ and simply chain them together with their "binders". In the second (&lt;em&gt;continuous&lt;/em&gt;) case we have an expression for the series itself, for example the Poisson-distributed degree distribution of an ER network is generated by&lt;/p&gt;
&lt;p&gt;$$
G_0(x) = e^{\langle k \rangle (x - 1)}
$$&lt;/p&gt;
&lt;p&gt;One common operation to perform on this kind of distribution would be to extract the coefficient of a specific degree: what is the probability of choosing a node with degree 4, for example? This is by definition the coefficient of the term in $x^4$. In the discrete case we can simply read-off the appropriate coefficient; in the continuous case we cany differentiate $G_0(x)$ four times, normalise to get rid of the multiplicative factors introduced by differentiation, and then evaluate at $0$:&lt;/p&gt;
&lt;p&gt;$$
p_4 = \frac{1}{4!} \bigg( \frac{d}{dx} \bigg)^4 G_0(x) \, \bigg|_{x = 0}
$$&lt;/p&gt;
&lt;p&gt;This method of differentiation works for &lt;em&gt;any&lt;/em&gt; generating function, including those that have no closed-form solution, which suggests that we need to be able to perform the operation numerically.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered" id="cell-id=fd8594d8"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;h3 id="Numerical-differentiation-using-scipy"&gt;Numerical differentiation using &lt;code&gt;scipy&lt;/code&gt;&lt;a class="anchor-link" href="https://simondobson.org/2023/12/30/high-degree-differentiation/#Numerical-differentiation-using-scipy"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered" id="cell-id=91f39c02"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;p&gt;There are lots of software solutions for numerical differentiation. In Python, the &lt;code&gt;scipy&lt;/code&gt; library includes a function that's suitable for computing fairly low-degree derivatives.&lt;/p&gt;
&lt;p&gt;To explore this approach, we'll need to compare the calculations against real networks. Let's define a function the extracts the degree histogram of a network, the number of nodes of each degree.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing code_cell rendered celltag_remove-cell" id="cell-id=2a5a5564"&gt;
&lt;div class="input"&gt;
&lt;div class="prompt input_prompt"&gt;In [1]:&lt;/div&gt;
&lt;div class="inner_cell"&gt;
&lt;div class="input_area"&gt;
&lt;div class="highlight hl-ipython3"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;math&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;cmath&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;numpy&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;networkx&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;scipy.misc&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;mpmath&lt;/span&gt;

&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;matplotlib&lt;/span&gt;
&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="k"&gt;matplotlib&lt;/span&gt; inline
&lt;span class="n"&gt;matplotlib&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;style&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;use&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"./book.mplstyle"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;matplotlib.pyplot&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;as&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;plt&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing code_cell rendered" id="cell-id=ec567774"&gt;
&lt;div class="input"&gt;
&lt;div class="prompt input_prompt"&gt;In [2]:&lt;/div&gt;
&lt;div class="inner_cell"&gt;
&lt;div class="input_area"&gt;
&lt;div class="highlight hl-ipython3"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;nk_g&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;g&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="sd"&gt;'''Given a network g, return a function that returns the number of&lt;/span&gt;
&lt;span class="sd"&gt;    nodes of a particular degree.&lt;/span&gt;
&lt;span class="sd"&gt;    &lt;/span&gt;
&lt;span class="sd"&gt;    :param g: a network&lt;/span&gt;
&lt;span class="sd"&gt;    :returns: a function from degree to number of nodes'''&lt;/span&gt;
    &lt;span class="n"&gt;degrees&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;dict&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;_&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;g&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;degree&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;k&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;degrees&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;degrees&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
        &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;degrees&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
    
    &lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;nk&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="sd"&gt;'''Return the number of nodes with degree k.&lt;/span&gt;
&lt;span class="sd"&gt;        &lt;/span&gt;
&lt;span class="sd"&gt;        :param k: the degree&lt;/span&gt;
&lt;span class="sd"&gt;        :returns: the number of nodes of this degree&lt;/span&gt;
&lt;span class="sd"&gt;        '''&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;k&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;degrees&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;degrees&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
        
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;nk&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered" id="cell-id=901ecd13"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;p&gt;We can use this function to create the more familiar function that gives us the probability $p_k$ that a node chosen at random will have degree $k$.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing code_cell rendered" id="cell-id=9ffd309f"&gt;
&lt;div class="input"&gt;
&lt;div class="prompt input_prompt"&gt;In [3]:&lt;/div&gt;
&lt;div class="inner_cell"&gt;
&lt;div class="input_area"&gt;
&lt;div class="highlight hl-ipython3"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;pk_g&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;g&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="sd"&gt;'''Given a network, return a function that gives the fraction of&lt;/span&gt;
&lt;span class="sd"&gt;    nodes with a given degree. This is also the probability that a&lt;/span&gt;
&lt;span class="sd"&gt;    node chosen from the network at random will have degree k.&lt;/span&gt;
&lt;span class="sd"&gt;    &lt;/span&gt;
&lt;span class="sd"&gt;    :param g: a network&lt;/span&gt;
&lt;span class="sd"&gt;    :returns: a function from degree to fraction'''&lt;/span&gt;
    &lt;span class="n"&gt;nk&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;nk_g&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;g&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    
    &lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;pk&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="sd"&gt;'''Return the fraction of nodes of degree k.&lt;/span&gt;
&lt;span class="sd"&gt;        &lt;/span&gt;
&lt;span class="sd"&gt;        :param k: the degree&lt;/span&gt;
&lt;span class="sd"&gt;        :returns: the fraction of nodes with degree k'''&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;nk&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;g&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;order&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;pk&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered" id="cell-id=eb01509e"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;p&gt;This function constructs $p_k$ given an empirical network: it counts the node degrees that actually exist. But we know that the degree distribution of an ER network has a closed-form expression: the probability of encountering a node of degree $k$ is given by $p_k = \frac{1}{\langle k \rangle !} \langle k \rangle^k e^{-\langle k \rangle}$, which we can code directly.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing code_cell rendered" id="cell-id=894196de"&gt;
&lt;div class="input"&gt;
&lt;div class="prompt input_prompt"&gt;In [4]:&lt;/div&gt;
&lt;div class="inner_cell"&gt;
&lt;div class="input_area"&gt;
&lt;div class="highlight hl-ipython3"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;pk_ER&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;kmean&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="sd"&gt;'''Return a function that computes p_k for a given k on an ER network.&lt;/span&gt;
&lt;span class="sd"&gt;    &lt;/span&gt;
&lt;span class="sd"&gt;    :param kmean: the mean degree of the network&lt;/span&gt;
&lt;span class="sd"&gt;    :returns: a function from degree to probability'''&lt;/span&gt;
    
    &lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;pk&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="sd"&gt;'''Return the probability of choosing a node of degree k.&lt;/span&gt;
&lt;span class="sd"&gt;        &lt;/span&gt;
&lt;span class="sd"&gt;        :param k: the degree&lt;/span&gt;
&lt;span class="sd"&gt;        :returnsd: the probability of picking a node of degree k'''&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;math&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;pow&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;kmean&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;math&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;exp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;kmean&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;math&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;factorial&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;pk&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered" id="cell-id=f094dac5"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;p&gt;We're making use of higher-order functions to simplify the code later on. To get a function    from degree to probability, we create a constructor function that takes all the necessary parameters and then hides them from later code. This means we can create a probability function for an explicit network, an ER network, or any other sort of network, and use it uniformly without having to carry the parameters that were used to create it into the later code. This is a useful tool for code re-use.&lt;/p&gt;
&lt;p&gt;We now have two functions for extracting the degree distribution: one that extracts it empirically from a network, and one that constructs the distribution of an ER network theoretically. These two functions should coincide, which we can check for a sample network with $N = 10^4$ nodes and a mean degree $\langle k \rangle = 5$.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing code_cell rendered celltag_hide-input" id="cell-id=a50e8d27"&gt;
&lt;div class="input"&gt;
&lt;div class="prompt input_prompt"&gt;In [5]:&lt;/div&gt;
&lt;div class="inner_cell"&gt;
&lt;div class="input_area"&gt;
&lt;div class="highlight hl-ipython3"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="c1"&gt;# network parameters&lt;/span&gt;
&lt;span class="n"&gt;N&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;1e4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;kmean&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;

&lt;span class="c1"&gt;# create a random network with this topology&lt;/span&gt;
&lt;span class="n"&gt;g&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;networkx&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;fast_gnp_random_graph&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;kmean&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;fig&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;figure&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;figsize&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="c1"&gt;# theoretical values&lt;/span&gt;
&lt;span class="n"&gt;ks&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="n"&gt;theoretical&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pk_ER&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;kmean&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;ks&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="c1"&gt;# empirical values&lt;/span&gt;
&lt;span class="n"&gt;pk&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pk_g&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;g&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;empirical&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pk&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ks&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;plot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ks&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;theoretical&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'r-'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;label&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'Theoretical'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;plot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ks&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;empirical&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'go'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;label&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'Empirical'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;xlabel&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'$k$'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ylabel&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'$p_k$'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;legend&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;loc&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'upper right'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;title&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s1"&gt;'Degree distribution ($N = &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s1"&gt;, &lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s1"&gt;langle k &lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s1"&gt;rangle = &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;kmean&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s1"&gt;$)'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;show&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="output_wrapper"&gt;
&lt;div class="output"&gt;
&lt;div class="output_area"&gt;
&lt;div class="prompt"&gt;&lt;/div&gt;
&lt;div class="output_png output_subarea"&gt;
&lt;img alt="No description has been provided for this image" src="data:image/png;base64,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"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered" id="cell-id=ae72cb54"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;p&gt;So far so good. We can also encapsulate the degree distribution as a generating function as defined above.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing code_cell rendered" id="cell-id=198a3360"&gt;
&lt;div class="input"&gt;
&lt;div class="prompt input_prompt"&gt;In [6]:&lt;/div&gt;
&lt;div class="inner_cell"&gt;
&lt;div class="input_area"&gt;
&lt;div class="highlight hl-ipython3"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;G0_ER&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;kmean&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="sd"&gt;'''Return the degree generating function for an ER network with mean degree kmean.&lt;/span&gt;
&lt;span class="sd"&gt;    &lt;/span&gt;
&lt;span class="sd"&gt;    :param kmean: the mean degree&lt;/span&gt;
&lt;span class="sd"&gt;    :returns: the generating function'''&lt;/span&gt;
    
    &lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;G0&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;cmath&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;exp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;kmean&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
    
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;G0&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered" id="cell-id=3e7dd7eb"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;p&gt;(You might have noticed that we used the &lt;code&gt;cmath&lt;/code&gt; package to get exponentiation that includes complex numbers. The reason for this will become clear later.) The theory says that we can extract the $p_k$ values by repeated differentiation of this function, and we can use &lt;code&gt;scipy&lt;/code&gt; to find the derivative of the appropriate order.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing code_cell rendered" id="cell-id=fc158298"&gt;
&lt;div class="input"&gt;
&lt;div class="prompt input_prompt"&gt;In [7]:&lt;/div&gt;
&lt;div class="inner_cell"&gt;
&lt;div class="input_area"&gt;
&lt;div class="highlight hl-ipython3"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;pk_scipy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;gf&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="sd"&gt;'''Construct a function to extract the probability of finding a node&lt;/span&gt;
&lt;span class="sd"&gt;    with given degree by numerically differentiating the degree generating&lt;/span&gt;
&lt;span class="sd"&gt;    function using `scipy`.&lt;/span&gt;
&lt;span class="sd"&gt;    &lt;/span&gt;
&lt;span class="sd"&gt;    :param gf: the generating function&lt;/span&gt;
&lt;span class="sd"&gt;    :returns: the degree probability function'''&lt;/span&gt;
    
    &lt;span class="c1"&gt;# we need the real part of the generating funcxtion&lt;/span&gt;
    &lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;gf_real&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;gf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;real&lt;/span&gt;
    
    &lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;pk&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;scipy&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;misc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;derivative&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;gf_real&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;0.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                                     &lt;span class="n"&gt;dx&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;1e-2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                                     &lt;span class="n"&gt;order&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;k&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;math&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;factorial&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;pk&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered" id="cell-id=760951ee"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;p&gt;If we now plot the theoretical values against the results extracted from the generating function, they should again coincide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing code_cell rendered celltag_hide-input" id="cell-id=2d73691d"&gt;
&lt;div class="input"&gt;
&lt;div class="prompt input_prompt"&gt;In [8]:&lt;/div&gt;
&lt;div class="inner_cell"&gt;
&lt;div class="input_area"&gt;
&lt;div class="highlight hl-ipython3"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;fig&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;figure&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;figsize&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="c1"&gt;# theoretical values&lt;/span&gt;
&lt;span class="n"&gt;ks&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="n"&gt;theoretical&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pk_ER&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;kmean&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;ks&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="c1"&gt;# extracted values&lt;/span&gt;
&lt;span class="n"&gt;pk&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pk_scipy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;G0_ER&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;kmean&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="n"&gt;extracted&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pk&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ks&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;plot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ks&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;theoretical&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'r-'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;label&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'Theoretical'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;plot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ks&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;extracted&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'go'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;label&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'Extracted'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;xlabel&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'$k$'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ylabel&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'$p_k$'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ylim&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;0.15&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;legend&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;loc&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'upper right'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;title&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s1"&gt;'Degree distribution ($N = &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;N&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s1"&gt;, &lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s1"&gt;langle k &lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s1"&gt;rangle = &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;kmean&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s1"&gt;$)'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;show&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="output_wrapper"&gt;
&lt;div class="output"&gt;
&lt;div class="output_area"&gt;
&lt;div class="prompt"&gt;&lt;/div&gt;
&lt;div class="output_png output_subarea"&gt;
&lt;img alt="No description has been provided for this image" src="data:image/png;base64,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"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered" id="cell-id=9993175c"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;p&gt;It was going well up to about $k=12$, but then something went seriously wrong: the extracted values don't match. We can see this even more clearly if we try the same technique against a powerlaw-with-cutoff network.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing code_cell rendered" id="cell-id=c7fba05d"&gt;
&lt;div class="input"&gt;
&lt;div class="prompt input_prompt"&gt;In [9]:&lt;/div&gt;
&lt;div class="inner_cell"&gt;
&lt;div class="input_area"&gt;
&lt;div class="highlight hl-ipython3"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;pk_PLC&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;exponent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;cutoff&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="sd"&gt;'''Return a function that computes p_k for a powerlaw network&lt;/span&gt;
&lt;span class="sd"&gt;    with the given exponent and cutoff.&lt;/span&gt;
&lt;span class="sd"&gt;    &lt;/span&gt;
&lt;span class="sd"&gt;    :param exponent: the exponent of the distribution&lt;/span&gt;
&lt;span class="sd"&gt;    :param cutoff: the cutoff&lt;/span&gt;
&lt;span class="sd"&gt;    :returns: a function from degree to probability'''&lt;/span&gt;
    
    &lt;span class="c1"&gt;# the normalising constant, which will be a real number&lt;/span&gt;
    &lt;span class="c1"&gt;# despite the possibility of polylog being complex&lt;/span&gt;
    &lt;span class="n"&gt;C&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;complex&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;mpmath&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;polylog&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;exponent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;math&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;exp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;cutoff&lt;/span&gt;&lt;span class="p"&gt;)))&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;real&lt;/span&gt;
    
    &lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;pk&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="sd"&gt;'''Return the probability of choosing a node of degree k &amp;gt;= 1.&lt;/span&gt;
&lt;span class="sd"&gt;        &lt;/span&gt;
&lt;span class="sd"&gt;        :param k: the degree&lt;/span&gt;
&lt;span class="sd"&gt;        :returns: the probability of picking a node of degree k'''&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;C&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;math&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;pow&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;exponent&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;math&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;exp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;cutoff&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;pk&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;G0_PLC&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;exponent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;cutoff&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="sd"&gt;'''Return the generating function for a powerlaw distribution with the&lt;/span&gt;
&lt;span class="sd"&gt;    given exponent and cutoff.&lt;/span&gt;
&lt;span class="sd"&gt;    &lt;/span&gt;
&lt;span class="sd"&gt;    :param exponent: the exponent&lt;/span&gt;
&lt;span class="sd"&gt;    :param cutoff: the cutoff&lt;/span&gt;
&lt;span class="sd"&gt;    :returns: the generating function'''&lt;/span&gt;
    
    &lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;G0&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;mpmath&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;polylog&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;exponent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;math&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;exp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;cutoff&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;mpmath&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;polylog&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;exponent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;math&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;exp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;cutoff&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
    
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;G0&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing code_cell rendered celltag_hide-input" id="cell-id=0b8c4d30"&gt;
&lt;div class="input"&gt;
&lt;div class="prompt input_prompt"&gt;In [10]:&lt;/div&gt;
&lt;div class="inner_cell"&gt;
&lt;div class="input_area"&gt;
&lt;div class="highlight hl-ipython3"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="c1"&gt;# PLC network parameters&lt;/span&gt;
&lt;span class="n"&gt;exponent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;2.0&lt;/span&gt;
&lt;span class="n"&gt;cutoff&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;

&lt;span class="n"&gt;fig&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;figure&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;figsize&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="c1"&gt;# theoretical values&lt;/span&gt;
&lt;span class="n"&gt;ks&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;60&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="n"&gt;theoretical&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pk_PLC&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;exponent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;cutoff&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;ks&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="c1"&gt;# extracted values&lt;/span&gt;
&lt;span class="n"&gt;pk&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pk_scipy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;G0_PLC&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;exponent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;cutoff&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="n"&gt;extracted&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pk&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ks&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;plot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ks&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;theoretical&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'r-'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;label&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'Theoretical'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;plot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ks&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;extracted&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'go'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;label&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'Extracted'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;xlabel&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'$k$'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ylabel&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'$p_k$'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;yscale&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'log'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ylim&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="mf"&gt;1e-5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;legend&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;loc&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'upper right'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;title&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s1"&gt;'Degree distribution ($&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s1"&gt;tau = &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;exponent&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s1"&gt;, \kappa = &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;cutoff&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s1"&gt;$)'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;show&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="output_wrapper"&gt;
&lt;div class="output"&gt;
&lt;div class="output_area"&gt;
&lt;div class="prompt"&gt;&lt;/div&gt;
&lt;div class="output_png output_subarea"&gt;
&lt;img alt="No description has been provided for this image" src="data:image/png;base64,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GufOnbPFZUsdzhNTAJIE3bffQt+qlclmRXQ0lPms40VERPJgkyTm8OHDkCQJq1atwtChQ1H133k5vL29ERoaikWLFuHixYvo0qULbt68ibCwMKSkpNji0qWKUqmEWq02eUiS5Oywii9XV2jXroXIMeJAOW8eFMvyn+uDiIiKN5skMUIIuLm5ITQ0NNcyvr6++O2339CxY0fcuHEDM2bMsMWlifLm4wPt+vUQrq4mm5Vvvw1p924nBUVERLZgkySmZs2a0Fux4J5CocCMGTMghMDGjRttcWmifIngYOjmzTPZJmm1UPXtC5w/76SoiIioqGySxDz//PPIzMzEH3/8kW/ZoKAgeHh4IDY21haXJrKKfuBA6N5912SblJwMdY8ewO3bToqKiIiKwiZJzIcffghPT0+MHTs235EymZmZyMjIgJeXly0uTWQ13dSp0PfoYbJNunYNql69gPR0J0VFRESFZZMk5uuvv0a/fv0QGxuLVq1aYceOHbmWXb16NbRaLTp27GiLSxNZ798ZffXNm5tuPnIEqsGDAS57QUQkKzaZsXfOnDmQJAmSJCE2NhadOnVC48aN0bt3bwQHB6NSpUpISkpCVFQU5s2bB19fX/zf//2fLS5NVDDu7tBu2gT1c89BunbNuFnx669QfvQRdNOnOzE4IiIqCJskMSNHjsSJEydw5swZpP/bLH/y5EmL6yF5eXlh6tSpUKkcumwT0X+qVoXm11+hbtcO0oMHxs3K2bMhatSAftw458VGRERWs0kmMX/+fABZQ61jYmJw4sQJHD9+HCdOnMDJkydNZul98OABhv47k2r58uURFBRkfDRu3BhNmza1RUhEeWvQANp166B68UVI2WbwVX3wAbSVKkE/cKATgyMiImvYtDlEkiTUr18f9evXR79+/YzbExISTBKbEydO4PLly7h37x52796NPXv2GI/XZlu0j0zpdDqzoexcO6nwRLt20M2fD9WwYSbblSNGQJQvD9Gli5MiIyIiazjkno6vry98fX0RFhZm3JaWloaTJ08aE5vjx49zOYJ8hIeHY8qUKWbbK1Wq5IRoSgb9oEHQ3roF1SefGLdJOh1UAwZA+8cfEK1bOzE6IiLKiySK0Vd5nU4HpVLp7DCKLUstMUFBQQCAEydO5HlsfHw8AKB6jin4CYAQUH74IZTffWe62dsb2l27IAIDnRQY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"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered" id="cell-id=a3d0f37c"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;p&gt;Again, we lose results at about $k = 10$.&lt;/p&gt;
&lt;p&gt;What's happening? The problem is the numerical instability of the approach used for numerical differentiation, which starts to break down for high-order derivatives. Since we might have networks with degree significantly greater than 10, this approach to manipulating generating functions isn't going to be practical.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered" id="cell-id=bd0ef2f0"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;h3 id="Numerical-differentiation-using-Cauchy's-formula"&gt;Numerical differentiation using Cauchy's formula&lt;a class="anchor-link" href="https://simondobson.org/2023/12/30/high-degree-differentiation/#Numerical-differentiation-using-Cauchy's-formula"&gt;¶&lt;/a&gt;&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered" id="cell-id=1d63846d"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;p&gt;There is, however, another approach that involves significantly more sophisticated mathematics. This is suggested in a throwaway comment by Newman about using &lt;a href="https://en.wikipedia.org/wiki/Cauchy%27s_integral_formula"&gt;Cauchy's integral formula&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;$$
f^{(n)}(z) = \frac{n!}{2 \pi i} \oint_C \frac{f(w)}{(w - z)^{n + 1}} \, dw
$$&lt;/p&gt;
&lt;p&gt;This approach will give us the tools we need, and so may be worth understanding despite the fearsome-looking mathematics.&lt;/p&gt;
&lt;p&gt;The general approach is simple to state. To compute the $n$'th derivative of a real-valued function $f$, we make an excursion into the complex plane, choosing a closed contour $C$ and computing a path integral around this path. Under certain conditions to do with the function having no poles within $C$, this approach computes high-order derivatives without succumbing to numerical instability.&lt;/p&gt;
&lt;p&gt;We need to turn the formula into something executable. We will do this in stages.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered" id="cell-id=c20bf15b"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;h4 id="Stage-1:-Defining-the-contour"&gt;Stage 1: Defining the contour&lt;a class="anchor-link" href="https://simondobson.org/2023/12/30/high-degree-differentiation/#Stage-1:-Defining-the-contour"&gt;¶&lt;/a&gt;&lt;/h4&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered" id="cell-id=63ea3b25"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;p&gt;We first need the contour $C$. By "contour" we simply mean a closed loop in the complex plane that encloses the poiint at which we want to perform the differentiation. The simplest appropriate contour is therefore a circle around the point in the complex plane where we want to evaluate the derivative.&lt;/p&gt;
&lt;p&gt;We can describe a circle around the origin as a parameterised curve $w = r e^{i\theta}$ where $r$ is the radius of the circle and $0 &amp;lt; \theta &amp;lt; 2\pi$. The circle around a point $z$ is simply this circle shifted to that point, so $w = r e^{i\theta} + z$.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered" id="cell-id=8625d352"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;h4 id="Step-2:-Integrating-round-the-contour"&gt;Step 2: Integrating round the contour&lt;a class="anchor-link" href="https://simondobson.org/2023/12/30/high-degree-differentiation/#Step-2:-Integrating-round-the-contour"&gt;¶&lt;/a&gt;&lt;/h4&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered" id="cell-id=f6f1048b"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;p&gt;We now need to integrae around this countour. We change the path integral around $C$, $\oint_C$, into an ordinary integral on the range of $\theta$, $\int_0^{2\pi}$, changing the variable of integration accordingly. Essentially this changes the arbitrary contour into a circle that we "walk around" by moving through $2 \pi$ radians. To change variable we perform&lt;/p&gt;
&lt;p&gt;$$
\oint_C f(w) \, dw = \int_l^h f(\theta) \frac{dw}{d\theta} d\theta 
$$&lt;/p&gt;
&lt;p&gt;Taking $w$ from above, $\frac{dw}{d\theta} = r i e^{i\theta}$, so&lt;/p&gt;
&lt;p&gt;$$
\oint_C \frac{f(w)}{(w - z)^{n + 1}} \, dw
    = \int_0^{2 \pi} \frac{f(r e^{i \theta} + z)}{(r e^{i \theta} + z - z)^{n + 1}} \, r i e^{i \theta} \, d\theta
    = \int_0^{2 \pi} \frac{f(r e^{i \theta} + z)}{(r e^{i \theta})^n} \, i \, d\theta
$$&lt;/p&gt;
&lt;p&gt;and so&lt;/p&gt;
&lt;p&gt;$$
f^{(n)}(z) = \frac{n!}{2 \pi} \int_0^{2 \pi} \frac{f(r e^{i \theta} + z)}{(r e^{i \theta})^n} \, d\theta
$$&lt;/p&gt;
&lt;p&gt;with the complex unit $i$ within the integrand being taken out to cancel the $i$ in the constant factor.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered" id="cell-id=af284be2"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;h4 id="Step-3:-Simplifying"&gt;Step 3: Simplifying&lt;a class="anchor-link" href="https://simondobson.org/2023/12/30/high-degree-differentiation/#Step-3:-Simplifying"&gt;¶&lt;/a&gt;&lt;/h4&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered" id="cell-id=cca63eae"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;p&gt;We could code-up this integral directly, but we can simplify slightly more by observing that we can make $\theta = 2 \pi x$ and let $0 &amp;lt; x &amp;lt; 1$. Changing variable of integration again, we have $\frac{d\theta}{dx} = 2 \pi$ and so&lt;/p&gt;
&lt;p&gt;$$
f^{(n)}(z) = \frac{n!}{2 \pi} \int_0^{2 \pi} \frac{f(r e^{i \theta} + z)}{(r e^{i \theta})^n} \, d\theta
           = \frac{n!}{2 \pi} \int_0^1 \frac{f(r e^{2 \pi x i} + z)}{(r e^{2 \pi x i})^n} \, 2 \pi \, dx 
           = n! \int_0^1 \frac{f(r e^{2 \pi x i} + z)}{(r e^{2 \pi x i})^n} \, dx
$$&lt;/p&gt;
&lt;p&gt;That gets rid of the constant $\frac{1}{2 \pi}$ factor.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered" id="cell-id=92de3662"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;h4 id="Step-4:-Discretising-the-integral"&gt;Step 4: Discretising the integral&lt;a class="anchor-link" href="https://simondobson.org/2023/12/30/high-degree-differentiation/#Step-4:-Discretising-the-integral"&gt;¶&lt;/a&gt;&lt;/h4&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered" id="cell-id=0ab55721"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;p&gt;The expression we now have is an integral on a continuous range $[0, 1]$. To evaluate this integral numrically we need to discretise it so that we compute the integrand at specific points. To do this we create the Riemann sum of the integral where we evaluate it at $m$ equally-spaced points on the range, which of course correspond to $m$ equally-spaced points around the circular contour in the complex plane.&lt;/p&gt;
&lt;p&gt;Let $\delta x = \frac{1}{m}$ (where the numerator comes from knowing we have a unit interval) be the step size along the interval. Then&lt;/p&gt;
&lt;p&gt;$$
\int_0^1 f(z) \, dz \approx \sum_{j = 1}^m f(z + j \delta x) \, \delta x
$$&lt;/p&gt;
&lt;p&gt;where the approximation becomes exact in the limit of $m \rightarrow \infty$. We can re-arrange this expression slightly to make it simpler to evaluate, by observing that&lt;/p&gt;
&lt;p&gt;$$
\sum_{j = 1}^m f(z + j \delta x) \, \delta x 
   = \sum_{j = 1}^m f(z + j \delta x) \, \frac{1}{m} 
   = \frac{1}{m} \sum_{j = 1}^m f(z + j \delta x)
   = mean \bigg[ f(z + j \delta x) \bigg]_{j = 1}^m
$$&lt;/p&gt;
&lt;p&gt;So if we take a small length of the unit interval, we can simply take the average of the integrand computed at these points to get an approximation of the overall integral. The smaller the length the finer the approximation, but the more calculations we need to do.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered" id="cell-id=8a0e71fe"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;h4 id="Coding-in-Python"&gt;Coding in Python&lt;a class="anchor-link" href="https://simondobson.org/2023/12/30/high-degree-differentiation/#Coding-in-Python"&gt;¶&lt;/a&gt;&lt;/h4&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered" id="cell-id=974b6e85"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;p&gt;We can now code this expression directly in Python. We first construct the array of points along the unit interval. We then compute the mean of the integrand at these points to get the approximate integral, and multiply the result by $n!$.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing code_cell rendered" id="cell-id=d759db78"&gt;
&lt;div class="input"&gt;
&lt;div class="prompt input_prompt"&gt;In [11]:&lt;/div&gt;
&lt;div class="inner_cell"&gt;
&lt;div class="input_area"&gt;
&lt;div class="highlight hl-ipython3"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;differentiate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;z&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;1.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dx&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;1e-2&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="sd"&gt;'''Compute the n'th derivative of f at z using a Cauchy contour&lt;/span&gt;
&lt;span class="sd"&gt;    integral around a circle of radius r in the complex plane.&lt;/span&gt;

&lt;span class="sd"&gt;    :param f: function of one (complex) variable&lt;/span&gt;
&lt;span class="sd"&gt;    :param z: point at which to find the derivative&lt;/span&gt;
&lt;span class="sd"&gt;    :param n: order of derivative (defaults to 1)&lt;/span&gt;
&lt;span class="sd"&gt;    :param r: radius of contour (defaults to 1.0)&lt;/span&gt;
&lt;span class="sd"&gt;    :param dx: step size (defaults to 1e-2)'''&lt;/span&gt;

    &lt;span class="c1"&gt;# make sure the function vectorises&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="nb"&gt;isinstance&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;numpy&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;vectorize&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;numpy&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;vectorize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;# compute the array of points at which to compute the integrand&lt;/span&gt;
    &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;numpy&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;exp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;numpy&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;pi&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;numpy&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;arange&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dx&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
    
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;math&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;factorial&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;numpy&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;mean&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;z&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="o"&gt;**&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered" id="cell-id=cff823eb"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;p&gt;(We use &lt;code&gt;numpy&lt;/code&gt;'s vectorised functions to let us apply a function pointwise to an array, and &lt;code&gt;numpy&lt;/code&gt;'s exponentiation function to handle complex exponentials. We also fix some defaults, such as using a unit circle of radius 1 as the contour and a step size that gives us 100 points to compute.)&lt;/p&gt;
&lt;p&gt;Now we can check whether this approach lets us extract the higher-order derivatives we need. The values of $p_k$ extracted in theory for the network, and the values extracted by differentiating the generating function, should coincide.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing code_cell rendered" id="cell-id=73b58f11"&gt;
&lt;div class="input"&gt;
&lt;div class="prompt input_prompt"&gt;In [12]:&lt;/div&gt;
&lt;div class="inner_cell"&gt;
&lt;div class="input_area"&gt;
&lt;div class="highlight hl-ipython3"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;pk_cauchy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;gf&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="sd"&gt;'''Construct a function to extract the probability of finding a node&lt;/span&gt;
&lt;span class="sd"&gt;    with given degree by numerically differentiating the degree generating&lt;/span&gt;
&lt;span class="sd"&gt;    function using Cauchy's formula.&lt;/span&gt;
&lt;span class="sd"&gt;    &lt;/span&gt;
&lt;span class="sd"&gt;    :param gf: the generating function&lt;/span&gt;
&lt;span class="sd"&gt;    :returns: the degree probability function'''&lt;/span&gt;
    
    &lt;span class="k"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;pk&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nb"&gt;complex&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;differentiate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;gf&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;real&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;math&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;factorial&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;k&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;pk&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing code_cell rendered celltag_hide-input" id="cell-id=5e90d2c6"&gt;
&lt;div class="input"&gt;
&lt;div class="prompt input_prompt"&gt;In [13]:&lt;/div&gt;
&lt;div class="inner_cell"&gt;
&lt;div class="input_area"&gt;
&lt;div class="highlight hl-ipython3"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="c1"&gt;# PLC network parameters&lt;/span&gt;
&lt;span class="n"&gt;exponent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;2.0&lt;/span&gt;
&lt;span class="n"&gt;cutoff&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;

&lt;span class="n"&gt;fig&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;figure&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;figsize&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="c1"&gt;# theoretical values&lt;/span&gt;
&lt;span class="n"&gt;ks&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;60&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="n"&gt;theoretical&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pk_PLC&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;exponent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;cutoff&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;ks&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="c1"&gt;# extracted values&lt;/span&gt;
&lt;span class="n"&gt;pk&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pk_cauchy&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;G0_PLC&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;exponent&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;cutoff&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="n"&gt;extracted&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pk&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ks&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;plot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ks&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;theoretical&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'r-'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;label&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'Theoretical'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;plot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ks&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;extracted&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'go'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;label&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'Extracted'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;xlabel&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'$k$'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ylabel&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'$p_k$'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;yscale&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'log'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ylim&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="mf"&gt;1e-5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;legend&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;loc&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'upper right'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;title&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s1"&gt;'Degree distribution ($&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s1"&gt;tau = &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;exponent&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s1"&gt;, \kappa = &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;cutoff&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s1"&gt;$)'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;show&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="output_wrapper"&gt;
&lt;div class="output"&gt;
&lt;div class="output_area"&gt;
&lt;div class="prompt"&gt;&lt;/div&gt;
&lt;div class="output_png output_subarea"&gt;
&lt;img alt="No description has been provided for this image" src="data:image/png;base64,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"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="cell border-box-sizing text_cell rendered" id="cell-id=47bd9c8b"&gt;&lt;div class="prompt input_prompt"&gt;
&lt;/div&gt;&lt;div class="inner_cell"&gt;
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
&lt;p&gt;&lt;em&gt;Much&lt;/em&gt; better! Using the Cauchy formula to compute the derivatives allows us to go up to far higher orders than using more direct methods. The mathematics looks formidable, but can be translated step-by-step into something that can easily be coded directly. The only thing that still requires care is to ensure that the generating function is coded to work with complex numbers so that it can be evaluated around the countour in the complex plane. This can generally be accomplished transparently by using either &lt;code&gt;numpy&lt;/code&gt; or &lt;code&gt;cmath&lt;/code&gt; functions for exponentiation and so on.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description><category>algorithms</category><category>complex networks</category><category>generating functions</category><category>mathematics</category><guid>https://simondobson.org/2023/12/30/high-degree-differentiation/</guid><pubDate>Sat, 30 Dec 2023 11:52:05 GMT</pubDate></item></channel></rss>