{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "a91a90c9",
   "metadata": {},
   "source": [
    "### Exercise\n",
    "\n",
    "The cosmological growth factor describes the rate of growth of dark matter perturbations in the Universe and is defined as \n",
    "\n",
    "$D(a) = \\large \\frac{5 \\Omega_m}{2} \\frac{H(a)}{H_0} \\int_0^a \\frac{da'}{ (a' H(a')/H_0)^3}$,\n",
    "\n",
    "where $a$ is the scale factor, $\\Omega_m$ is the matter density parameter and $H(a)$ is the Hubble rate. In a flat Universe, after radiation domination, we can write H(a) as:\n",
    "\n",
    "$ H(a) = H_0 \\sqrt{(\\Omega_m a^{-3} + \\Omega_{\\Lambda})}$,\n",
    "\n",
    "where $\\Omega_\\Lambda$ is the vacuum energy density (in a flat Universe, $\\Omega_{\\Lambda} = 1 - \\Omega_m$).\n",
    "\n",
    "1) Write a code to calculate the growth factor as a function of a, for given values of the cosmological parameters, using two numerical integration methods of your choice.\n",
    "\n",
    "2) Plot the growth factor in the scale factor range $a \\in [0.1,2]$ for the following values of $\\Omega_m$: $0.1$, $0.3$, $0.6$, $1$ (assume a present day expansion rate $H_0 = 67.4 \\, {\\rm km} \\, {\\rm s}^{-1}\\, {\\rm Mpc}^{-1}$). Make a panel with two plots, one for each integration method you chose. Set logscale on x-axis.\n",
    "\n",
    "3) Optional. For $a = 0.5$, compute the growth factor using the Simpson's rule with varying N and check the convergence rate of the result. Start by sampling the integration interval with ten points and then increase the sample size by a factor of $2$ at each step. How many steps do you need to achieve a final desired accuracy of $10^{-12}$ ?\n",
    "\n",
    "4) Do cosmic structures grow faster in a matter dominated Universe, or in a Universe with a cosmological constant?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "id": "afa592c7",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import scipy as sp\n",
    "import scipy.integrate as integrate\n",
    "from matplotlib import pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "id": "036f0dce",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Hubble parameter as a function of a (I also include curvature for generality)\n",
    "def hubble(a):\n",
    "    \n",
    "    omegak = 1.0 - omegam - omegav\n",
    "    H = H0*np.sqrt((omegam*a**(-3) + omegak*a**(-2) + omegav))\n",
    "    \n",
    "    return H"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "id": "00a4cfa1",
   "metadata": {},
   "outputs": [],
   "source": [
    "def integrand(a):\n",
    "\n",
    "    omegak = 1.0 - omegam - omegav\n",
    "    \n",
    "    if (a < 1e-20):\n",
    "         integrand = 0.0\n",
    "    else:\n",
    "        H = hubble(a)\n",
    "        integrand = H0**3/(H**3*a**3)\n",
    "    \n",
    "    return integrand\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "id": "22157803",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Integral with simpson rule (N = number of points in the interval)\n",
    "\n",
    "def growth_simp(a,N):\n",
    "\n",
    "    C = (5*omegam*hubble(a))/(2*H0)\n",
    "    da = a/float(N) \n",
    "    grid = np.arange(0.0,a,da)\n",
    "    y = [ ]\n",
    "    for x in grid:\n",
    "        y.append(integrand(x))\n",
    "    growth = C*integrate.simpson(y,grid)\n",
    "    \n",
    "    return growth"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "id": "3044ed52",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Integral with Romberg\n",
    "\n",
    "def growth_rom(integrand,a):\n",
    "\n",
    "    C = (5*omegam*hubble(a))/(2*H0)\n",
    "    growth = C*integrate.romberg(integrand,0.0,a)\n",
    "    \n",
    "    return growth"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8b19da16",
   "metadata": {},
   "source": [
    "#### Calculating and plotting the growth factor"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "id": "3a5ae679",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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lCxZklWrVlGsWLF8i7NHjx789ddf3HXXXbRv3x6TycS2bdu4ceMGd999t/UHS5oKFSrwww8/0Lt3byZOnMisWbOoW7cufn5+REREcOzYMU6fPo2/vz9PPvlkjmJZtGgRhw4dYsuWLVStWpW2bdtiGAbbt2+nZMmS9OjRg7Vr1+br30dERCQpKYkVK1awYsUKSpcuTaNGjShVqhTh4eEcPXrUOvT9ySefTJc828uzzz7L/fffz3333Uf58uX566+/OHz4MGazmaVLl1K2bFlr3dWrVzNw4EDKlStHw4YN8fb2JiwsjF27dhEREUHdunV55plnrPXr1avHwoULGT58OE899RRz5861TksMCAjAMAymTZuW6c4+IncC9eCLFGEDBgzgnnvuISoqitmzZ+Ps7MzPP//MBx98QIMGDfjtt9/4/vvvcXJyYvTo0fz55580adIkX2P09vbm999/p1+/fuzdu5f169dTvHhxxowZw++//46vr2+Ga9q0acORI0d49dVXqVChAnv37mXVqlUcPHiQMmXKMHXqVD7++OMcx1KuXDkCAwMZOXIkrq6urF+/nn379vHYY4/x+++/W7fuKVWqVK6/t4iISHYNGTKENWvWMHr0aKpWrcrRo0dZtWoVW7duxWw289hjj/HTTz/x2WefFYhF5ObOncsHH3xAZGQka9as4dy5c3Tp0oUdO3ZkGCU4YcIExo0bR4UKFfjjjz9YtWoVf/zxB/fccw/vv/8+v//+u3XV/jTDhg0jICCAPn36cPnyZb755huOHz9Ot27d2LhxI1OnTs3PrytSoJgMjTkVEbml8PBw7rrrLiIiIrh69aqSfBERkf+RttuM0gsR+7H/Kz4RkQIkMDAwQ9n169cZOHAgYWFhdO/eXcm9iIiIiBRI6sEXEfkPk8lEhQoVqF27NiVLluTSpUscOHCA6OhoKlWqxM6dO9Mt+iciIiIW6sEXsT8l+CIi//Hqq6+yefNmTp8+TVhYGMWKFaNatWp0796d8ePHU7JkSXuHKCIiUiApwRexPyX4IiIiIiIiIkWA5uCLiIiIiIiIFAFK8EVERERERESKAEd7B1CYpKamcvnyZdzd3a1zjEREROzJMAyioqIoV65cgdj/urDTs15ERAqanDzrleDnwOXLl7V6toiIFEgXLlygQoUK9g6j0NOzXkRECqrsPOuV4OeAu7s7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RKQTUIIvIiIiIiIi0gkowRcRERERERHpBJTgi4iIiIiIiHQCSvBFREREREREOgEl+CIiIiIiIiKdgBJ8ERERERERkU5ACb6IiIiIiIhIJ6AEX0Raxdq1a7nrrrtISkoiLCwMFxcXQkNDOe+881iyZElbN09EREROkWK9SNuzGIZhtHUjRKTzmzBhAt999x19+vQhOjoaT09PkpOT2bhxIwBz587l9ttvb+NWioiIyG+lWC/S9pTgi0ir+PLLLxk4cCDh4eGH7V+1ahWTJ0+murqalJQUIiMj26iFIiIicioU60Xankr0RaRVTJky5aiADzBixAhuueUW6uvr+eSTT9qgZSIiItIcFOtF2p5TWzdARE4fhYWFfP7552zbto3i4mLq6+sB2Lt3LwC7d+9uy+aJiIjIKVKsF2lbSvBFpFW8/PLL/O1vf6OysvK4x5SVlbVii0RERKQ5KdaLtD2V6ItIi9uwYQN/+tOfqK2t5cknn2THjh1UVFTgcDgwDIMXX3wRAE0JIiIi0jEp1ou0D+rBF5EW9/7772MYBrfddht33XXXUa8fLNsTERGRjkmxXqR9UA++iLS4oqIiAGJjY496raamhg8//LC1myQiIiLNSLFepH1Qgi8iLa5Xr14ALFy4kPLy8qb9NTU13HzzzaSkpLRV00RERKQZKNaLtA9K8EWkxU2fPp3Y2Fh++uknunTpwoUXXsgll1xCbGwsH3zwAbfffntbN1FEREROgWK9SPugBF9EWpyfnx/r16/n5ptvxs/Pjy+//JJVq1YxceJENm7cyMCBA9u6iSIiInIKFOtF2geLoaksRURERERERDo89eCLiIiIiIiIdAJK8EVEREREREQ6ASX4IiIiIiIiIp2AEnwRERERERGRTkAJvoiIiIiIiEgnoARfREREREREpBNQgi8iIiIiIiLSCSjBFxEREREREekElOCLiIiIiIiIdAJK8EVEREREREQ6ASX4IiIiIiIiIp2AEnwRERERERGRTkAJvoiIiIiIiEgn8P/pj0aTJqmu6QAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1200x500 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Sampling points in 0.1 < a < 2\n",
    "amin = 0.1\n",
    "amax = 2.0\n",
    "step = 0.1\n",
    "alist = np.arange(amin,amax,step)\n",
    "\n",
    "# Number of points for Simpson's method\n",
    "N = 100\n",
    "\n",
    "# Hubble rate today\n",
    "H0 = 67.4\n",
    "\n",
    "# Plot layout\n",
    "fig, axs = plt.subplots(1,2,figsize=(12,5))\n",
    "axs[0].set_xscale('log')\n",
    "axs[1].set_xscale('log')\n",
    "axs[0].set_xlabel('a',fontsize=16)\n",
    "axs[1].set_xlabel('a',fontsize=16)\n",
    "axs[0].set_ylabel('D(a)',fontsize=16)\n",
    "axs[0].set_title('Romberg',fontsize=16)\n",
    "axs[1].set_title('Simpson',fontsize=16)\n",
    "\n",
    "\n",
    "# Calculating growth factor for all sampled values of the scale factor.\n",
    "# Using Romberg and Simpson.\n",
    "for omegam in [0.1,0.3,0.6,1.0]:\n",
    "    \n",
    "    gfrom = [ ]\n",
    "    gfsimp = [ ]\n",
    "    omegav = 1.0 - omegam\n",
    "    \n",
    "    for a in alist:\n",
    "        # With Romberg\n",
    "        gfrom.append(growth_rom(integrand,a))\n",
    "        # With Simpson's\n",
    "        gfsimp.append(growth_simp(a,N))\n",
    "    \n",
    "    # Plotting\n",
    "    axs[0].plot(alist,gfrom,label='$\\Omega_m =$' + str('%.1f' % (omegam)))\n",
    "    axs[0].legend(fontsize=12)\n",
    "    axs[1].plot(alist,gfsimp)\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bd0ca695",
   "metadata": {},
   "source": [
    "#### Accuracy and convergence check using adaptive Simpson's integration"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "id": "c925e708",
   "metadata": {},
   "outputs": [],
   "source": [
    "def simp(func,a,b,tol):\n",
    "    \n",
    "    demomode = True\n",
    "        \n",
    "    # Initial number of sampled points\n",
    "    N = 10\n",
    "    \n",
    "    # 1/3*f(a) + 1/3*f(b)\n",
    "    s = (1./3.)*func(a) + (1./3.)*func(b)\n",
    "    \n",
    "    # Starting with N points\n",
    "    h = (b-a)/N\n",
    "    s1odd = 0.\n",
    "    for k in range(1,N,2):\n",
    "        s1odd += func(a + k*h)\n",
    "    s1even = 0.\n",
    "    for k in range(2,N,2):\n",
    "        s1even += func(a+k*h)\n",
    "    \n",
    "    # Simpson's rule with N points in [a,b]\n",
    "    simp1N = h*(s + (4./3.)*s1odd + (2./3.)*s1even)\n",
    "    \n",
    "    if demomode:\n",
    "            print(N, simp1N)\n",
    "    \n",
    "    acc = tol+1.\n",
    "    \n",
    "    while (acc > tol):\n",
    "        # Now doubling the number of points and updating h\n",
    "        N = 2*N\n",
    "        h = (b-a)/N\n",
    "        # All points in previous interval (odd+even) are\n",
    "        # now the even points in the new interval.\n",
    "        s2even = s1odd + s1even\n",
    "        # Now getting s2odd\n",
    "        s2odd = 0.\n",
    "        for k in range(1,N,2):\n",
    "            s2odd += func(a+k*h)\n",
    "        # Simpson's rule with 2N points in the sample\n",
    "        simp2N = h*(s + (4./3.)*s2odd + (2./3.)*s2even)\n",
    "    \n",
    "        acc = ((1./15.)*abs(simp2N-simp1N))/abs(simp2N)\n",
    "        \n",
    "        # Update and loop\n",
    "        s1even, s1odd = s2even, s2odd\n",
    "        simp1N = simp2N\n",
    "        \n",
    "        if demomode:\n",
    "            print(N, simp2N)\n",
    "        \n",
    "        # Exit loop if N > 1e6\n",
    "        if (N > 1e6):\n",
    "            print(' ')\n",
    "            print('The required accuracy could not be reached with N=1e6 points.')\n",
    "            print('Stopping here, N =', N, '; acc =', acc)\n",
    "            break\n",
    "    \n",
    "    return simp2N"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "id": "c22c97c7",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "10 0.07071850966554898\n",
      "20 0.07071206673622876\n",
      "40 0.07071092385650815\n",
      "80 0.07071072157581391\n",
      "160 0.07071068580189514\n",
      "320 0.07071067947693682\n",
      "640 0.07071067835877139\n",
      "1280 0.070710678161102\n",
      "2560 0.0707106781261585\n",
      "5120 0.07071067811998126\n",
      "10240 0.07071067811888931\n",
      "20480 0.07071067811869614\n"
     ]
    }
   ],
   "source": [
    "# Finding the number of points/step to achieve 1e-12 accuracy.\n",
    "\n",
    "a = 0.5\n",
    "tol = 1e-12\n",
    "\n",
    "growth = simp(integrand,0.0,a,tol)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3c70c459",
   "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.9.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
