From 045c0944ac3ce0e412690bbed528acdaef31e9f8 Mon Sep 17 00:00:00 2001
From: Mauro Donega <mauro.donega@cern.ch>
Date: Mon, 8 Mar 2021 09:07:55 +0100
Subject: [PATCH] notebooks first/second lectures

---
 notebooks/MeanMedianMode.ipynb    | 251 +++++++++++++++++++++++++
 notebooks/cumulative.ipynb        | 140 ++++++++++++++
 notebooks/errorPropagation.ipynb  | 262 ++++++++++++++++++++++++++
 notebooks/exponentialGrowth.ipynb | 290 +++++++++++++++++++++++++++++
 notebooks/harmonicMean.ipynb      | 100 ++++++++++
 notebooks/moments.ipynb           | 297 ++++++++++++++++++++++++++++++
 6 files changed, 1340 insertions(+)
 create mode 100644 notebooks/MeanMedianMode.ipynb
 create mode 100644 notebooks/cumulative.ipynb
 create mode 100644 notebooks/errorPropagation.ipynb
 create mode 100644 notebooks/exponentialGrowth.ipynb
 create mode 100644 notebooks/harmonicMean.ipynb
 create mode 100644 notebooks/moments.ipynb

diff --git a/notebooks/MeanMedianMode.ipynb b/notebooks/MeanMedianMode.ipynb
new file mode 100644
index 0000000..bd6892d
--- /dev/null
+++ b/notebooks/MeanMedianMode.ipynb
@@ -0,0 +1,251 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Generate random numbers from a gaussian, store them into a numpy array and compute mean, median and mode"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": true
+   },
+   "outputs": [],
+   "source": [
+    "import numpy as np"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "mu,sigma = 0,5\n",
+    "X = np.random.normal(mu, sigma, 11)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[-1.26455776  1.38453698  0.73973744 -1.15468409  1.53464198  5.19383441\n",
+      "  4.68666505 -3.37484882 -2.02648859 -1.23785353 -3.25495203]\n",
+      "size of the array =  11\n"
+     ]
+    }
+   ],
+   "source": [
+    "print X\n",
+    "print \"size of the array = \", np.size(X)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Compute the mean\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "mean =  0.111457367391\n"
+     ]
+    }
+   ],
+   "source": [
+    "#compute the mean\n",
+    "sum = 0\n",
+    "for x in X:\n",
+    "    sum += x\n",
+    "print \"mean = \", sum/np.size(X)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "0.111457367391\n"
+     ]
+    }
+   ],
+   "source": [
+    "# mean from numpy\n",
+    "print np.mean(X)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Compute the median"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "array([-3.37484882, -3.25495203, -2.02648859, -1.26455776, -1.23785353,\n",
+       "       -1.15468409,  0.73973744,  1.38453698,  1.53464198,  4.68666505,\n",
+       "        5.19383441])"
+      ]
+     },
+     "execution_count": 6,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "np.sort(X)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "-1.1546840894861969"
+      ]
+     },
+     "execution_count": 7,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "np.median(X)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Compute the mode"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[-1  1  0 -1  1  5  4 -3 -2 -1 -3]\n"
+     ]
+    }
+   ],
+   "source": [
+    "# to show what is the mode we can cast to integers the previous array and use a new library scipy.stats\n",
+    "\n",
+    "from scipy.stats import mode\n",
+    "\n",
+    "intX = X.astype(int)\n",
+    "print intX"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "ModeResult(mode=array([-1]), count=array([3]))"
+      ]
+     },
+     "execution_count": 9,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "mode(intX) # this will give you back the mode and the number of times it appears"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\nrkJggg==\n",
+      "text/plain": [
+       "<matplotlib.figure.Figure at 0x1a0a693910>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "# plot the distribution to see visually the mode\n",
+    "import matplotlib.pyplot as plt\n",
+    "%matplotlib inline\n",
+    "\n",
+    "n, bins, patches = plt.hist(intX, 21, facecolor='blue')\n",
+    "plt.show()\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "collapsed": true
+   },
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.8.5"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
diff --git a/notebooks/cumulative.ipynb b/notebooks/cumulative.ipynb
new file mode 100644
index 0000000..605d205
--- /dev/null
+++ b/notebooks/cumulative.ipynb
@@ -0,0 +1,140 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Get familiar with the cumulative distribution function"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import numpy as np\n",
+    "import matplotlib.pyplot as plt\n",
+    "%matplotlib inline"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "# Gaussian parameters\n",
+    "mu, sigma = 0, 1 # mean and standard deviation\n",
+    "norm = 1000000\n",
+    "# Generate a dataset from a gaussian with the previous parameters\n",
+    "data = np.random.normal(mu, sigma, norm)\n",
+    "\n",
+    "# evaluate the histogram\n",
+    "values, base = np.histogram(data, bins=100)\n",
+    "\n",
+    "#plot the histogram\n",
+    "plt.plot(base[:-1], values, c='green')\n",
+    "\n",
+    "plt.show()\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {
+    "scrolled": false
+   },
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "#evaluate the cumulative\n",
+    "values = values/float(norm)\n",
+    "# print values\n",
+    "cumulative = np.cumsum(values)\n",
+    "# plot the cumulative function\n",
+    "plt.plot(base[:-1], cumulative, c='blue')\n",
+    "\n",
+    "plt.show()\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "25% quantile =  -0.844458262841628\n",
+      "50% quantile =  1.8674329206111777e-05\n",
+      "75% quantile =  0.8427427463616668\n"
+     ]
+    }
+   ],
+   "source": [
+    "q25 = np.percentile(data, 20)\n",
+    "q50 = np.percentile(data, 50)\n",
+    "q75 = np.percentile(data, 80)\n",
+    "\n",
+    "print (\"25% quantile = \", q25)\n",
+    "print (\"50% quantile = \", q50)\n",
+    "print (\"75% quantile = \", q75)\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.8.5"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
diff --git a/notebooks/errorPropagation.ipynb b/notebooks/errorPropagation.ipynb
new file mode 100644
index 0000000..fce948c
--- /dev/null
+++ b/notebooks/errorPropagation.ipynb
@@ -0,0 +1,262 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Error propagation"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": true
+   },
+   "outputs": [],
+   "source": [
+    "from uncertainties import ufloat\n",
+    "import math"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "1.00+/-0.10\n",
+      "1.50+/-0.10\n"
+     ]
+    }
+   ],
+   "source": [
+    "x = ufloat(1.0,0.1)\n",
+    "y = ufloat(1.5,0.1)\n",
+    "print x\n",
+    "print y"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# scale\n",
+    "$\\sigma  = |a| \\sigma_x $"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "6.0+/-0.6\n",
+      "-6.0+/-0.6\n",
+      "-0.1\n"
+     ]
+    }
+   ],
+   "source": [
+    "# absolute uncertainty\n",
+    "a = 6\n",
+    "print a*x\n",
+    "a = -6\n",
+    "print a*x\n",
+    "\n",
+    "# relative uncertainty\n",
+    "print (a*x).s/(a*x).n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# sum\n",
+    "$\\sigma  = \\sqrt{\\sigma_x^2 + \\sigma_y^2}$"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "2.50+/-0.10\n",
+      "0.0400000002\n"
+     ]
+    }
+   ],
+   "source": [
+    "print x+y\n",
+    "# relative uncertainty\n",
+    "print (x+y).s/(x+y).n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# difference\n",
+    "$\\sigma  = \\sqrt{\\sigma_x^2 + \\sigma_y^2}$"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "-0.50+/-0.10\n",
+      "-0.200000001\n"
+     ]
+    }
+   ],
+   "source": [
+    "print x-y\n",
+    "# relative uncertainty\n",
+    "print (x-y).s/(x-y).n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# product\n",
+    "$\\sigma  = xy \\cdot \\sqrt{\\left(\\frac{\\sigma_x}{x}\\right)^2 + \\left(\\frac{\\sigma_y}{y}\\right)^2 }   $"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "1.50+/-0.15\n",
+      "0.100000000222\n"
+     ]
+    }
+   ],
+   "source": [
+    "print x*y\n",
+    "# relative uncertainty\n",
+    "print (x*y).s/(x*y).n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# division\n",
+    "$\\sigma  = x/y \\cdot \\sqrt{\\left(\\frac{\\sigma_x}{x}\\right)^2 + \\left(\\frac{\\sigma_y}{y}\\right)^2 }   $"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "0.67+/-0.07\n",
+      "0.100000000222\n"
+     ]
+    }
+   ],
+   "source": [
+    "print x/y\n",
+    "# relative uncertainty\n",
+    "print (x/y).s/(x/y).n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# square\n",
+    "$\\sigma = x^2 \\cdot \\sqrt{\\left(2\\cdot \\frac{\\sigma_x}{x}\\right)^2 } = x^2 \\cdot\\left(2\\cdot \\frac{\\sigma_x}{x}\\right)   $"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "1.00+/-0.20\n",
+      "0.2\n"
+     ]
+    }
+   ],
+   "source": [
+    "print x*x\n",
+    "# relative uncertainty\n",
+    "print (x*x).s/(x*x).n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "collapsed": true
+   },
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.12"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/notebooks/exponentialGrowth.ipynb b/notebooks/exponentialGrowth.ipynb
new file mode 100644
index 0000000..2c1ccf5
--- /dev/null
+++ b/notebooks/exponentialGrowth.ipynb
@@ -0,0 +1,290 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Example of exponential growth"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 47,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import numpy as np\n",
+    "import matplotlib.pyplot as plt"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 109,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "9000.594901999999\n"
+     ]
+    }
+   ],
+   "source": [
+    "r = 0.651 # growth factor\n",
+    "t = np.arange(0., 4., 0.1)\n",
+    "\n",
+    "plt.plot(t, 2000*(1+r)**t, '-')\n",
+    "plt.xlabel('days')\n",
+    "plt.ylabel('Number of bacteria')\n",
+    "plt.show()\n",
+    "\n",
+    "print (2000*(1+r)**3)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Compound interest"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Despite the different jargon the compound interest is nothing but an exponential (geometric) growth. \n",
+    "The initial capital grows by an amount called interest rate. Periodically (typically every year) the incraesed capital is computed. If you choose to reinvest the increased capital, the interest rate will now be computed on this new amount. This is called a **compound interest** (interest on interest - exponential growth). If you choose to cash the interest and leave only the intial capital then it is called **simple interest**."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "The finance example is a great one to show how little the human brain is used to work with expoential growths."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 110,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "# Use an interest rate of 1,2,4,5%, an initial capital of 1 CHF and compunond yearly for several years\n",
+    "\n",
+    "c = 1\n",
+    "t = np.arange(0., 100., 1)\n",
+    "\n",
+    "plt.plot(t, c*(1+0.01)**t, 'c-')\n",
+    "plt.plot(t, c*(1+0.02)**t, 'b-')\n",
+    "plt.plot(t, c*(1+0.03)**t , 'g-')\n",
+    "plt.plot(t, c*(1+0.04)**t , 'g-')\n",
+    "plt.plot(t, c*(1+0.05)**t , 'r-')\n",
+    "plt.xlabel('years')\n",
+    "plt.ylabel('Capital')\n",
+    "plt.show()\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "The exponential growth can only be appreciated on long periods (is another way to read the first term of a Taylor expansion: locally an exponential can be approximated with a linear function)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Growing lengths"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Suppose you start folding a sheet of paper that has a thickness of 0.1 mm. How long does it take to create a stack that reaches the moon ?"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 111,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "r = 1 # 100% growth means doubling \n",
+    "c = 0.0001 # 0.1 mm = 0.0001 m\n",
+    "t = np.arange(0., 40., 1)\n",
+    "\n",
+    "plt.plot(t, c*(1+r)**t, '-')\n",
+    "plt.xlabel('foldings')\n",
+    "plt.ylabel('Thickness [m]')\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "The distance between the earth and the moon is about 380000 km. You would need only about 38 foldings to reach it.\n",
+    "If you keep folding only 12 times more, you will reach the sun (150 millions km from the earth)\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 112,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Foldings to the sun  =  50.413883924031595\n",
+      "Foldings to the moon =  38.46720846231721\n"
+     ]
+    }
+   ],
+   "source": [
+    "import math\n",
+    "print (\"Foldings to the sun  = \", math.log(1.5E15,2))\n",
+    "print (\"Foldings to the moon = \", math.log(380.E9, 2))"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Growing areas"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "Suppose a baterium can replicate without any resource limitations. Assume its has a round shape with a diameter of 1 micrometer. How many replications steps does it need to cover Europe (10 millions km^2)? and the entire earth (500 millions km^2)?"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 119,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "r = 1 # 100% growth means doubling \n",
+    "c = 3.141*(0.5E-9)**2 # 1 um = 1E-9 km\n",
+    "t = np.arange(0., 90., 1)\n",
+    "\n",
+    "plt.plot(t, c*(1+r)**t, '-')\n",
+    "plt.xlabel('foldings')\n",
+    "plt.ylabel('Area [km^2]')\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 118,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "7.850000000000001e-19\n",
+      "83.39743781306716\n",
+      "89.04129400284188\n"
+     ]
+    }
+   ],
+   "source": [
+    "# Area of the bacterium in km ^2:\n",
+    "a = 3.14*(0.5E-9)**2\n",
+    "print (a)\n",
+    "\n",
+    "# number of replicas for Europe\n",
+    "print (math.log(1E7 / a,2))\n",
+    "\n",
+    "# number of replicas for the earth\n",
+    "print (math.log(5E8/a, 2 ))"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.15"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/notebooks/harmonicMean.ipynb b/notebooks/harmonicMean.ipynb
new file mode 100644
index 0000000..98f2508
--- /dev/null
+++ b/notebooks/harmonicMean.ipynb
@@ -0,0 +1,100 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import numpy as np\n",
+    "import matplotlib.pyplot as plt"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 28,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "# Harmonic series\n",
+    "\n",
+    "a = 0\n",
+    "d = 1\n",
+    "t = np.arange(1., 10., 1)\n",
+    "\n",
+    "plt.plot(t, 1./(a+t*d), '-')\n",
+    "plt.xlabel('k')\n",
+    "plt.ylabel('harmonic series')\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Harmonic mean"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "A car travels at 80 km/h for the half of the trip (goes to some place) and 100 km/h for the second half (comes back home). What’s his average speed? 2/(1/80+1/100) = 89 km/h (averaging over periods of time not distances)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 30,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "88.88888888888889\n"
+     ]
+    }
+   ],
+   "source": [
+    "v1 = 80\n",
+    "v2 = 100\n",
+    "hm = 1./2 * (1./v1 + 1./v2)\n",
+    "print (1./ hm)"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.8.5"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/notebooks/moments.ipynb b/notebooks/moments.ipynb
new file mode 100644
index 0000000..d7cc735
--- /dev/null
+++ b/notebooks/moments.ipynb
@@ -0,0 +1,297 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Generate random numbers from a gaussian, store them into a numpy array and compute the moments"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": true
+   },
+   "outputs": [],
+   "source": [
+    "import numpy as np"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "metadata": {
+    "collapsed": true
+   },
+   "outputs": [],
+   "source": [
+    "mu,sigma = 0,5\n",
+    "X = np.random.normal(mu, sigma, 101)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 14,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[  6.27265747   1.75971971  -1.08017055   2.5903397   10.79626943\n",
+      "  -5.85003272   0.95183325   8.48845836  -1.21790446  -2.01326093\n",
+      "  -8.31109072   7.64996167   9.51524459  -0.50653375   2.46708215\n",
+      "  -0.87948418 -10.26520769   0.41514702  -1.26120255 -11.83137135\n",
+      "  -0.83481427  -3.66663942   4.76172066   0.52355515  -0.18520153\n",
+      "   3.39793953   6.37751278   4.16807057   3.86102666  -0.04139788\n",
+      "  -3.59339116  -0.34549429   3.2219589   -3.43358704  -7.13655555\n",
+      " -14.44166887  -0.19782629   1.12514633   5.6122418   -1.23455283\n",
+      "   4.36736606  -7.51110582   6.56526644   4.06214003  -2.23007982\n",
+      "  -7.57351791  -4.11519788  -4.34251299   6.11264004   8.79410106\n",
+      "  -0.20574378  -4.12271325   9.92985019  -4.66585995   0.73881871\n",
+      "   1.73628128   2.73627568  -5.96397234   1.03547802  -5.21136343\n",
+      "  -3.89780487  -2.04640804   2.81191789  -0.63058863   2.32572277\n",
+      "  -7.60637772   5.95401148   3.1303829   -6.2889197    5.00964531\n",
+      "  -0.12552854  10.39525193   2.37780501   4.3470164   -2.63662303\n",
+      "   8.75751201 -13.08785833  -6.09515351  -0.88338654  -7.91495386\n",
+      "   1.72421502   2.08030645  -5.25015255   8.37122754  -3.91787621\n",
+      "   3.18759229  11.26588128  -5.30954044  -6.26860149  -1.25099037\n",
+      "   0.63635125  -3.60323745 -11.48597719   4.78925014   3.27808002\n",
+      "  -3.88384086   7.18321145  -0.02580855  -5.51052456   2.935128\n",
+      "  -3.05036108]\n",
+      "size of the array =  101\n"
+     ]
+    }
+   ],
+   "source": [
+    "print X\n",
+    "print \"size of the array = \", np.size(X)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 15,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<matplotlib.figure.Figure at 0x1a0ff37ad0>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "# plot the distribution to see visually the mode\n",
+    "import matplotlib.pyplot as plt\n",
+    "%matplotlib inline\n",
+    "\n",
+    "n, bins, patches = plt.hist(X, 21, facecolor='blue')\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Compute the mean"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 16,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "mean =  -0.0440134288623\n"
+     ]
+    }
+   ],
+   "source": [
+    "mu = np.mean(X)\n",
+    "print \"mean = \", mu"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Compute the 0th, 1st, 2nd, 3rd, 4th central moment"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 17,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "1 -moment =  2.63815372188e-17\n",
+      "2 -moment =  30.4156353546\n",
+      "3 -moment =  -28.5310364136\n",
+      "4 -moment =  2522.65732038\n"
+     ]
+    }
+   ],
+   "source": [
+    "N = np.size(X)\n",
+    "for n in range(1,5):\n",
+    "    sum = 0\n",
+    "    for x in X:\n",
+    "        sum += (x-mu)**n\n",
+    "    print n,\"-moment = \", sum/N\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 18,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from scipy.stats import moment"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 19,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "1 -moment 0.0\n",
+      "2 -moment 30.4156353546\n",
+      "3 -moment -28.5310364136\n",
+      "4 -moment 2522.65732038\n"
+     ]
+    }
+   ],
+   "source": [
+    "for i in range(1,5):\n",
+    "    print i,\"-moment\", moment(X, moment=i)\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# skewness"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 20,
+   "metadata": {
+    "collapsed": true
+   },
+   "outputs": [],
+   "source": [
+    "from scipy.stats import skew"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 21,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "left -0.381844059074\n",
+      "right 0.337575590141\n"
+     ]
+    }
+   ],
+   "source": [
+    "skew(X)\n",
+    "\n",
+    "# left tail\n",
+    "Xleft = np.array([0,1,1,1,3,3,3,3,3,4])\n",
+    "print \"left\", skew(Xleft)\n",
+    "\n",
+    "# right tail\n",
+    "Xright = np.array([0,1,1,1,3,4,5,6])\n",
+    "print \"right\", skew(Xright)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# kurtosis"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 22,
+   "metadata": {
+    "collapsed": true
+   },
+   "outputs": [],
+   "source": [
+    "from scipy.stats import kurtosis"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 23,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "-0.273129749940078"
+      ]
+     },
+     "execution_count": 23,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "kurtosis(X)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "collapsed": true
+   },
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.8.5"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
-- 
GitLab