{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "0e550737-04c7-4410-a844-8777a2cd6c1e",
   "metadata": {},
   "source": [
    "# Imports"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "95872cb7-ffc6-4004-9e63-155c48529fa2",
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import scipy\n",
    "import itertools"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6fdc5e59-538d-44b2-b0f1-87a7be7a5087",
   "metadata": {},
   "source": [
    "# Home made linear congruential generator"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "066eb3bb-5348-4390-a2fd-d15359cb85b8",
   "metadata": {},
   "source": [
    "A few conditions (outlined below) need to be satisfied for the period of the pseudo-random numbers\n",
    "to be the maximum possible for a given modulus."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "0f52eb06-f55c-4ffa-a9eb-95e9c99adb1f",
   "metadata": {},
   "outputs": [],
   "source": [
    "seed = 1\n",
    "\n",
    "x = [seed]\n",
    "\n",
    "m = 13*13 # m and c's greatest common divisor must be 1\n",
    "c = 7\n",
    "a = 13+1 # if q divides m, q has to divide a-1. If 4 divides m, 4 has to divide a-1"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "34f23499-a461-40c5-867e-3697eb232af1",
   "metadata": {},
   "source": [
    "We can see the numbers starting to repeat by saving m+2 (the seed is the first) of them"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "bb0a17e0-a10c-4f56-831e-a0379d1e4438",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The first 3 pseudo-random nubers are: [1, 21, 132]\n",
      "The 169-th, 170-th, and 171-th are  [72, 1, 21]\n"
     ]
    }
   ],
   "source": [
    "for i in range(m+1):\n",
    "    x.append((a*x[-1] + c) % m)\n",
    "    \n",
    "print(\"The first 3 pseudo-random nubers are:\",x[:3])\n",
    "print(\"The %i-th, %i-th, and %i-th are \" %(m, m+1, m+2), x[-3:])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9586243b-6f3b-42f1-9f8c-c9d2ef0c2e35",
   "metadata": {},
   "source": [
    "The numbers we just generated are indeed uniformely distributed, but they are quite obviously not random.\n",
    "We can see this by plotting their pdf, plotting them in the order in which they have been generated, and plotting the spectral test, i.e. the couples (x_i, x_{i+1}) (in this case in 2D)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "05b98a6a-ded2-42b5-9be5-9be0bf8498bc",
   "metadata": {},
   "outputs": [],
   "source": [
    "def plots(x):\n",
    "    plt.hist(x,bins=99)\n",
    "    plt.xlabel(\"x\")\n",
    "    plt.ylabel(\"pdf\")\n",
    "    plt.show()\n",
    "    plt.plot(x, marker=\".\", lw=0)\n",
    "    plt.xlabel(\"$i$\")\n",
    "    plt.ylabel(\"x$_i$\")\n",
    "    plt.show()\n",
    "    plt.plot(x[:-1], x[1:], marker=\".\", lw=0)\n",
    "    plt.xlabel(\"x$_i$\")\n",
    "    plt.ylabel(\"x$_{i+1}$\")\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "2ebee60d-b59e-4aa3-ad84-0bd1bd5fe58c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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xpSVlZnhw4ebrl27mo4dO5prrrnGTJs2zXz99dfOPrFmaOxYNPXnwoZ1cdYbb7xhOnXqZI4dO1Zv/0CtC5cxxjT9fBEAAEDbx3uAAACAdQggAABgHQIIAABYhwACAADWIYAAAIB1CCAAAGAdAggAAFiHAAIAANYhgAAAgHUIIAAAYB0CCAAAWIcAAtDmffXVV4qKitLvf/9739i//vUvdezYUevXr3dwZgBaK74MFUC7kJubq7Fjx2rLli267rrrNHDgQN11113KyMhwemoAWiECCEC7MXnyZG3YsEGDBw/W7t27tX37doWGhjo9LQCtEAEEoN347rvvFBcXp/LychUWFqp///5OTwlAK8V7gAC0G59//rm++OILnTlzRocOHXJ6OgBaMc4AAWgXampqdPPNN+umm27Sddddp4ULF2rPnj2KjIx0emoAWiECCEC78Jvf/EZ//etftXv3bl1++eW6/fbbFRYWpr///e9OTw1AK8RLYADavPz8fGVkZOjtt99Wly5ddMkll+jtt9/WRx99pMzMTKenB6AV4gwQAACwDmeAAACAdQggAABgHQIIAABYhwACAADWIYAAAIB1CCAAAGAdAggAAFiHAAIAANYhgAAAgHUIIAAAYB0CCAAAWOf/AczkN3LebOshAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plots(x)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9b57afb5-61d7-4c05-992f-6f78489ec3df",
   "metadata": {},
   "source": [
    "Better algorithm generates numbers which are still pseudo-random, but which evade the problems we just outlined."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3e2a12cb-df33-497a-93f9-b605393f93a9",
   "metadata": {},
   "source": [
    "# numpy.random"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "9cedf529-3c99-4c00-903b-0d16ebbb5201",
   "metadata": {},
   "outputs": [],
   "source": [
    "rng = np.random.default_rng(seed=1)\n",
    "x = rng.random(100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "ddd7d488-938a-4c37-beeb-0d77849db91b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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Nm/eHKZqo19/1/ull17SLbfcomuuuUYul0sPPvigPvzwwzBVG91qa2s1d+5cjRo1Sg6HQ6+99tpV5wz45+bVfwvUl9v27dut2NhY6/nnn7eOHj1qPf7449a1115rnTp1KuD49957z7rmmmusxx9/3Dp69Kj1/PPPW7Gxsdarr74a5sqjV3/X/PHHH7f+8z//0/rf//1f689//rNVWFhoxcbGWocOHQpz5dGpv+t9yccff2yNHTvWys3NtW655ZbwFGuIYNb8nnvusb72ta9ZVVVVVmNjo/W73/2ux+/mQ2D9Xe99+/ZZgwYNsp555hnrvffes/bt22dlZmZa8+bNC3Pl0amiosJatWqV5fF4LEnWrl27eh0fis9Nws1VTJ061crPz/frGz9+vLVixYqA45cvX26NHz/er+/73/++NW3atJDVaJr+rnkgN998s7V69eqBLs1Iwa73vffea/3whz+0nnzyScJNP/V3zd944w0rMTHR+vDDD8NRnnH6u94/+9nPrLFjx/r1bdiwwUpNTQ1ZjabqS7gJxecmt6V60dXVpYMHDyo3N9evPzc3V2+//XbAOXV1dT3Gz5o1S/X19Tp//nzIajVFMGt+uYsXL+rs2bMaPnx4KEo0SrDrvWXLFr377rt68sknQ12icYJZ89dff13Z2dn66U9/qhtuuEE33XSTli1bpr/+9a/hKDmqBbPe06dP1/vvv6+KigpZlqUPPvhAr776qubMmROOkr90QvG5aftvBY9kbW1tunDhQo9f5JmSktLjF3he0traGnB8d3e32tra5HK5QlavCYJZ88v913/9l86dO6d/+qd/CkWJRglmvd955x2tWLFC+/btU0wMf4X0VzBr/t577+nNN99UXFycdu3apba2Nj366KP66KOPeO7mKoJZ7+nTp+ull17Svffeq88++0zd3d2655579POf/zwcJX/phOJzkys3feBwOPy2Lcvq0Xe18YH6cWX9XfNLXnnlFf37v/+7duzYoeTk5FCVZ5y+rveFCxf0z//8z1q9erVuuummcJVnpP68xy9evCiHw6GXXnpJU6dOVV5entavX6/y8nKu3vRRf9b76NGjWrJkif7t3/5NBw8e1J49e9TY2Oj7vYcYeAP9uck/u3px/fXXa/DgwT3S/ZkzZ3qkzEtGjhwZcHxMTIySkpJCVqspglnzS3bs2KGHH35Yv/rVr3TXXXeFskxj9He9z549q/r6ejU0NOixxx6T9PkHr2VZiomJUWVlpb75zW+GpfZoFcx73OVy6YYbblBiYqKvb8KECbIsS++//77GjRsX0pqjWTDrXVRUpK9//ev6wQ9+IEmaNGmSrr32Ws2YMUM/+clPuAI/wELxucmVm14MGTJEWVlZqqqq8uuvqqrS9OnTA85xu909xldWVio7O1uxsbEhq9UUway59PkVm+9973t6+eWXuS/eD/1d74SEBB05ckSHDx/2tfz8fGVkZOjw4cP62te+Fq7So1Yw7/Gvf/3rOn36tD755BNf35///GcNGjRIqampIa032gWz3p9++qkGDfL/eBw8eLCk/39FAQMnJJ+bQT+K/CVx6SuEZWVl1tGjR60nnnjCuvbaa62TJ09almVZK1assO6//37f+EtfaVu6dKl19OhRq6ysjK+C91N/1/zll1+2YmJirI0bN1per9fXPv74Y7tOIar0d70vx7el+q+/a3727FkrNTXV+od/+AfrT3/6k1VTU2ONGzfOWrhwoV2nEFX6u95btmyxYmJirOeee8569913rTfffNPKzs62pk6datcpRJWzZ89aDQ0NVkNDgyXJWr9+vdXQ0OD76n04PjcJN32wceNG68Ybb7SGDBli3XrrrVZNTY3vtQULFlgzZ870G19dXW1NmTLFGjJkiDVmzBirpKQkzBVHv/6s+cyZMy1JPdqCBQvCX3iU6u97/G8RboLT3zU/duyYddddd1nx8fFWamqqVVBQYH366adhrjp69Xe9N2zYYN18881WfHy85XK5rPvuu896//33w1x1dNq7d2+vfyeH43PTYVlcYwMAAObgmRsAAGAUwg0AADAK4QYAABiFcAMAAIxCuAEAAEYh3AAAAKMQbgAAgFEINwAAwCiEGwAAYBTCDQAAMArhBgAAGIVwAyDq/eUvf9HIkSP1H//xH76+3/3udxoyZIgqKyttrAyAHfjFmQCMUFFRoXnz5untt9/W+PHjNWXKFM2ZM0fFxcV2lwYgzAg3AIyxaNEi/c///I9uu+02/f73v9eBAwcUFxdnd1kAwoxwA8AYf/3rXzVx4kQ1Nzervr5ekyZNsrskADbgmRsAxnjvvfd0+vRpXbx4UadOnbK7HAA24coNACN0dXVp6tSpmjx5ssaPH6/169fryJEjSklJsbs0AGFGuAFghB/84Ad69dVX9fvf/17XXXed7rzzTg0dOlT//d//bXdpAMKM21IAol51dbWKi4v14osvKiEhQYMGDdKLL76oN998UyUlJXaXByDMuHIDAACMwpUbAABgFMINAAAwCuEGAAAYhXADAACMQrgBAABGIdwAAACjEG4AAIBRCDcAAMAohBsAAGAUwg0AADAK4QYAABjl/wHntx7W6ol5gAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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qqqqiv46EomooKBguMMFgLRhtRAS5cUg2dLgJjc3VxkZGb2yNCdOnOiVnekxYcKEPs/PzMzUuHHj+nyN3++X3+9PzqABAHAYrwXJltbcjBo1SiUlJWpoaIg53tDQoLlz5/b5mtLS0l7nv/baa5o9e7ZGjhyZsrECAABnsHy1VFVVlZ555hnt2rVL7733ntasWaNgMKjKykpJ56eUli1bFj2/srJSn3zyiaqqqvTee+9p165d2rlzp7773e9a9U8AAAA2YnnNTUVFhU6ePKlNmzYpFAqpuLhY9fX1KiwslCSFQqGYnjdFRUWqr6/XmjVr9NRTT2nixIl64okn9LWvfc2qfwIAALARn+mpxvWQSCSiQCCgcDisnJwcq4cDAADiEO/92/JpKQAAgGQiuAEAAK5CcAMAAFyF4AYAALgKwQ0AAHAVghsAAOAqBDcAAMBVLG/iZ4We1j6RSMTikQAAgHj13LcHa9HnyeDm1KlTksTO4AAAONCpU6cUCAT6/X1Pdiju7u7WZ599pjFjxsjn8yXtz41EIiooKNCxY8fofJxiXOv04nqnD9c6fbjW6ZOsa22M0alTpzRx4kSNGNF/ZY0nMzcjRozQpEmTUvbn5+Tk8EFJE651enG904drnT5c6/RJxrUeKGPTg4JiAADgKgQ3AADAVQhuksjv9+uRRx6R3++3eiiux7VOL653+nCt04drnT7pvtaeLCgGAADuReYGAAC4CsENAABwFYIbAADgKgQ3AADAVQhukmjr1q0qKipSVlaWSkpKtHfvXquH5HjV1dWaM2eOxowZo8svv1x33HGH3n///ZhzjDH6/ve/r4kTJyo7O1s33nij3n33XYtG7A7V1dXy+XxavXp19BjXObmOHz+ub37zmxo3bpwuueQSzZw5U83NzdHf53onx7lz5/Q3f/M3KioqUnZ2tqZMmaJNmzapu7s7eg7Xenj27NmjJUuWaOLEifL5fHrllVdifj+e69rZ2amHHnpIubm5Gj16tP70T/9Un376aeKDM0iKF1980YwcOdLs2LHDHDlyxKxatcqMHj3afPLJJ1YPzdFuu+028+yzz5rW1lZz8OBBs3jxYjN58mTzxRdfRM+pqakxY8aMMS+//LI5fPiwqaioMPn5+SYSiVg4cud6++23zZVXXmmuueYas2rVquhxrnPyfP7556awsNDce++95q233jJHjx41r7/+uvnwww+j53C9k+Oxxx4z48aNM//yL/9ijh49al566SVz6aWXmi1btkTP4VoPT319vdm4caN5+eWXjSTzs5/9LOb347mulZWV5oorrjANDQ3mnXfeMQsXLjTXXnutOXfuXEJjI7hJkq985SumsrIy5ti0adPMunXrLBqRO504ccJIMrt37zbGGNPd3W0mTJhgampqouf83//9nwkEAmb79u1WDdOxTp06Zf7wD//QNDQ0mBtuuCEa3HCdk+t73/uemTdvXr+/z/VOnsWLF5v7778/5tidd95pvvnNbxpjuNbJcnFwE891/d///V8zcuRI8+KLL0bPOX78uBkxYoT5xS9+kdB4mJZKgrNnz6q5uVnl5eUxx8vLy7V//36LRuVO4XBYkjR27FhJ0tGjR9XW1hZz7f1+v2644Qau/TB8+9vf1uLFi3XLLbfEHOc6J9err76q2bNn68///M91+eWXa9asWdqxY0f097neyTNv3jy98cYb+uCDDyRJhw4d0r59+3T77bdL4lqnSjzXtbm5WV9++WXMORMnTlRxcXHC196TG2cmW3t7u7q6upSXlxdzPC8vT21tbRaNyn2MMaqqqtK8efNUXFwsSdHr29e1/+STT9I+Rid78cUX9c4776ipqanX73Gdk+ujjz7Stm3bVFVVpQ0bNujtt9/WypUr5ff7tWzZMq53En3ve99TOBzWtGnTlJGRoa6uLv3gBz/QN77xDUm8t1Mlnuva1tamUaNG6Q/+4A96nZPovZPgJol8Pl/Mr40xvY5h+B588EH9x3/8h/bt29fr97j2iTl27JhWrVql1157TVlZWf2ex3VOju7ubs2ePVs//OEPJUmzZs3Su+++q23btmnZsmXR87jeiautrdVPfvIT/fSnP9WMGTN08OBBrV69WhMnTtQ999wTPY9rnRrDua7JuPZMSyVBbm6uMjIyekWaJ06c6BW1Yngeeughvfrqq/rlL3+pSZMmRY9PmDBBkrj2CWpubtaJEydUUlKizMxMZWZmavfu3XriiSeUmZkZvZZc5+TIz8/XH//xH8ccmz59uoLBoCTe18m0du1arVu3Tl//+td19dVX6+6779aaNWtUXV0tiWudKvFc1wkTJujs2bP6n//5n37PGS6CmyQYNWqUSkpK1NDQEHO8oaFBc+fOtWhU7mCM0YMPPqi6ujo1NjaqqKgo5veLioo0YcKEmGt/9uxZ7d69m2s/BDfffLMOHz6sgwcPRn9mz56tv/iLv9DBgwc1ZcoUrnMSlZWV9Wpp8MEHH6iwsFAS7+tkOnPmjEaMiL3VZWRkRJeCc61TI57rWlJSopEjR8acEwqF1Nramvi1T6gcGVE9S8F37txpjhw5YlavXm1Gjx5tPv74Y6uH5mh/+Zd/aQKBgPnVr35lQqFQ9OfMmTPRc2pqakwgEDB1dXXm8OHD5hvf+AbLOJPgwtVSxnCdk+ntt982mZmZ5gc/+IH5zW9+Y55//nlzySWXmJ/85CfRc7jeyXHPPfeYK664IroUvK6uzuTm5pq//uu/jp7DtR6eU6dOmZaWFtPS0mIkmc2bN5uWlpZoC5R4rmtlZaWZNGmSef31180777xjbrrpJpaC281TTz1lCgsLzahRo8x1110XXa6M4ZPU58+zzz4bPae7u9s88sgjZsKECcbv95sFCxaYw4cPWzdol7g4uOE6J9fPf/5zU1xcbPx+v5k2bZp5+umnY36f650ckUjErFq1ykyePNlkZWWZKVOmmI0bN5rOzs7oOVzr4fnlL3/Z5/fzPffcY4yJ77p2dHSYBx980IwdO9ZkZ2ebP/mTPzHBYDDhsfmMMSax3A8AAIB9UHMDAABcheAGAAC4CsENAABwFYIbAADgKgQ3AADAVQhuAACAqxDcAAAAVyG4AQAArkJwAwAAXIXgBoDrPPDAA1q6dKnVwwBgEbZfAOA6n3/+ufx+v0aPHm31UABYgOAGAAC4CtNSAFzl448/ls/n0yeffGL1UABYhOAGgKscPHhQl112mQoLC60eCgCLENwAcJVDhw7p2muvtXoYACxEcAPAVQ4ePEhwA3gcwQ0AVzl06JBmzpxp9TAAWIjgBoBrRCIRffzxx2RuAI8juAHgGocOHVJGRoZmzJhh9VAAWIjgBoBrHDp0SNOmTZPf77d6KAAsRBM/AADgKmRuAACAqxDcAAAAVyG4AQAArkJwAwAAXIXgBgAAuArBDQAAcBWCGwAA4CoENwAAwFUIbgAAgKsQ3AAAAFchuAEAAK7y/y++erzFibfvAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plots(x)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d2375bde-5501-42ae-bf83-5c1f466fbdd2",
   "metadata": {},
   "source": [
    "## cos distribution"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ea3dcc52-1e41-40ab-a921-3e57125d7d95",
   "metadata": {},
   "source": [
    "Applying $\\int_0^y \\cos(y') dy' = x$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "6ca41534-70f5-4d21-8a27-71fa1462a6a7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGdCAYAAADAAnMpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABAOUlEQVR4nO3deZxN9ePH8de52wxqRpYGGQwl2pSRLEmKEb7ao8iIUUklJor0rWihha+UpbK1oMlWyhTzbbFEC00b0kZDBlHNjG3udn5/3C+/phmae2c59868n4/HeXzd07lz35+vOt4+93POMUzTNBERERGxiM3qACIiIlK5qYyIiIiIpVRGRERExFIqIyIiImIplRERERGxlMqIiIiIWEplRERERCylMiIiIiKWclgdoDj8fj+7du3i5JNPxjAMq+OIiIhIMZimSV5eHvXq1cNmO/78R0SUkV27dhEfH291DBEREQnBjh07qF+//nH/eUSUkZNPPhkIDCYmJsbiNCIiIlIcubm5xMfHH/tz/Hgioowc/WomJiZGZURERCTC/NMSCy1gFREREUupjIiIiIilVEZERETEUiojIiIiYimVEREREbGUyoiIiIhYSmVERERELKUyIiIiIpZSGRERERFLqYyIiIiIpVRGRERExFIqIyIiImIplRERERGxlMqIiIiIWMphdQCpeBqNWl5o3/YJPSxIIiIikUAzIyIiImIplRERERGxlMqIiIiIWEprRoqhLNdA/P1na22FiIhUNpoZEREREUupjIiIiIilVEZERETEUiojIiIiYimVEREREbGUyoiIiIhYSmVERERELKUyIiIiIpbSTc/CjB4yJyIilY1mRkRERMRSmhkJUaTdxl0zLiIiEq40MyIiIiKWUhkRERERS6mMiIiIiKVURkRERMRSKiMiIiJiKZURERERsZTKiIiIiFhKZUREREQspTIiIiIiltIdWMtQpN2ltTzpjrAiInJU0DMjq1evpmfPntSrVw/DMHjzzTf/8T2rVq0iMTGR6OhoGjduzIwZM0LJKiIiIhVQ0GXk4MGDtGjRgueff75Yx2/bto3u3bvToUMHMjMzeeCBBxg6dCiLFy8OOqyIiIhUPEF/TdOtWze6detW7ONnzJhBgwYNmDx5MgDNmzdnw4YNPPPMM1x33XXBfryIiIhUMGW+ZmT9+vUkJSUV2Ne1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5VGjRo2yiFhioY5xzpw5/PTTTzz88MNlHbHEQhnjsmXLaNWqFU899RSnnXYaTZs2ZcSIERw+fLg8IocklHG2a9eOnTt3kp6ejmma7Nmzh0WLFtGjR4/yiFwuIvHcU1Lhft4piUg694SiLM49IT21NxLs27cPn89X6AF+cXFxhR7cd9Tu3buLPN7r9bJv3z7q1q1bZnlDFco4/27ixIkcPHiQXr16lUXEEgtljD/88AOjRo1izZo1OBzh/695KGP8+eefWbt2LdHR0SxdupR9+/YxZMgQfv/997BdNxLKONu1a8e8efPo3bs3R44cwev1cuWVV/Lcc8+VR+RyEYnnnpIK9/NOqCLt3BOKsjj3VNiZkaMMwyjw2jTNQvv+6fii9oebYMd51IIFC3jkkUdIS0vj1FNPLat4paK4Y/T5fPTp04exY8fStGnT8opXKoL5ffT7/RiGwbx582jdujXdu3dn0qRJzJ07N6xnRyC4cW7evJmhQ4fy0EMPsXHjRt577z22bdt27HlYFUWknntCEUnnnWBE8rknGGVx7qmYtQ2oVasWdru90N+29u7dW+hvIEfVqVOnyOMdDgc1a9Yss6wlEco4j0pLSyMlJYWFCxfSuXPnsoxZIsGOMS8vjw0bNpCZmcldd90FBP7jMU0Th8PBypUrueyyy8ole3GF8vtYt25dTjvttAKP527evDmmabJz507OOOOMMs0cilDGOX78eNq3b8/IkSMBOO+886hWrRodOnTgscceqxCzBpF47glVpJx3QhGJ555QlMW5p8LOjLhcLhITE8nIyCiwPyMjg3bt2hX5nrZt2xY6fuXKlbRq1Qqn01lmWUsilHFC4G8mt9xyC/Pnzw/7796DHWNMTAzffPMNX3755bFt8ODBnHnmmXz55ZdcdNFF5RW92EL5fWzfvj27du3iwIEDx/Z9//332Gw26tevX6Z5QxXKOA8dOoTNVvBUZbfbgf+fPYh0kXjuCUUknXdCEYnnnlCUybmn1JbChqHXX3/ddDqd5qxZs8zNmzebw4YNM6tVq2Zu377dNE3THDVqlNmvX79jx//8889m1apVzeHDh5ubN282Z82aZTqdTnPRokVWDaFYgh3n/PnzTYfDYU6dOtXMzs4+tv35559WDeEfBTvGv4uEFe3BjjEvL8+sX7++ef3115ubNm0yV61aZZ5xxhnmoEGDrBpCsQQ7zjlz5pgOh8OcNm2a+dNPP5lr1641W7VqZbZu3dqqIfyjvLw8MzMz08zMzDQBc9KkSWZmZqb5yy+/mKZZMc49wY4xEs87phn8OP8uEs49wY6xLM49FbqMmKZpTp061WzYsKHpcrnMli1bmqtWrTr2z/r372927NixwPEfffSRecEFF5gul8ts1KiROX369HJOHJpgxtmxY0cTKLT179+//IMHIdjfy7+KhBOCaQY/xi1btpidO3c2q1SpYtavX99MTU01Dx06VM6pgxfsOKdMmWKeddZZZpUqVcy6deuaffv2NXfu3FnOqYvvww8/POF/YxXh3BPsGCP1vBPK7+VfRcK5J5Qxlva5xzDNCjLPKSIiIhGpwq4ZERERkcigMiIiIiKWUhkRERERS6mMiIiIiKVURkRERMRSKiMiIiJiKZURERERsZTKiIiIiFhKZUREREQspTIiIiIillIZEREREUupjIiIiIil/g8m8M4i/CYXDAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = rng.random(10000)\n",
    "y = np.arcsin(x) # inverse of the primitive of the pdf\n",
    "\n",
    "plt.hist(y, bins=100, density=True)\n",
    "xs = np.linspace(0,np.pi/2.)\n",
    "plt.plot(xs, np.cos(xs))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d556a69b-1164-45a8-9a7d-89eb28e6e44c",
   "metadata": {},
   "source": [
    "# Monte Carlo integration"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cfca06d4-5113-47af-ad94-4b62ed9d1fda",
   "metadata": {},
   "source": [
    "## hit or miss"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fdeb420c-211d-4f74-b7b7-3988847908ce",
   "metadata": {},
   "source": [
    "We can use random numbers to evaluate integrals.\n",
    "The following function f(x), which we wish to integrate in [1, 10], is braketed between the x axis and the function g(x) which is easy to integrate.\n",
    "Thus, we can draw random couples (x,y) between y=0 and g(x), with an uniform distribution on the x-y plane, and count which fraction lands below f(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "d111b08a-7fa4-486c-b57e-a4791201ecd6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def f(x): \n",
    "    return np.cos(3*x)**2*(x+1)**-1\n",
    "\n",
    "def g(x):\n",
    "    return (x+1)**-1\n",
    "\n",
    "# extremes of integration\n",
    "a = 2\n",
    "b = 10\n",
    "\n",
    "x = np.linspace(a, b, 1000)\n",
    "y = f(x)\n",
    "plt.plot(x,y)\n",
    "plt.fill_between(x,y, color='lightgray')\n",
    "plt.plot(x,g(x))\n",
    "plt.xlabel('x',size = 16)\n",
    "plt.ylabel('f(x)', size = 16)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "23c8ff4a-3588-415d-9822-b0fcb5b5b320",
   "metadata": {},
   "outputs": [],
   "source": [
    "def Integrate_MC(f, g, invG, I, a, b, N):\n",
    "    xs = invG(rng.random(N)*I) # see slides on the rejection method\n",
    "    ys = f(xs)\n",
    "    MCys = rng.random(N) * g(xs)\n",
    "    #return I * np.sum(MCys < ys) / N, xs, MCys\n",
    "    return I * np.sum(MCys < ys) / N"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ae9ffb20-69a9-4688-92db-bd23c4d1c0df",
   "metadata": {},
   "source": [
    "The primitive G of g(x) (with G(a)=0) is"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "7eee0d18-b39c-4d83-b1bb-00aa301d99f2",
   "metadata": {},
   "outputs": [],
   "source": [
    "def G(x):\n",
    "    return np.log(x+1) - np.log(3)\n",
    "\n",
    "def invG(x):\n",
    "    return -1 + 3*np.exp(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "2f615050-ab00-4f34-9c97-875f2f0c1e07",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.6631059616296723"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "integral_of_g = G(b)\n",
    "Integrate_MC(f, g, invG, I=integral_of_g, a=a, b=b, N=1000000)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8e659a95-3e94-49a8-988a-456872d83220",
   "metadata": {},
   "source": [
    "Integrate another function f"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "647f30fa-cbfa-44c3-91e0-6b9814ad52b4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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8ESQqaO0REREYoICTwQZod6OhrNERESspMATUerwiIiIxAIFnghqGdHSUVoiIiLWUuARERGRuOc4Hk9SXl7Otm3b2LNnDw0NDeTk5NCuXTu6du2K3W4/Hi9xQtrX4RERERErfePAM3fuXF555RUWLlzIpk2bDvqYlJQUzjvvPC655BJGjx5NXl7eNy70RKSjtERERGLDMQWexsZG/vjHPzJt2jS2bdsWOplecnIyubm5ZGdnk5ycTGVlJZWVlZSXl/PBBx8wb948Jk6cyBVXXMH9999P3759I/JmYk3LUVqawyMiImKtow48f//733nwwQfZuXMnTqeT73znO1xxxRWce+65dO/eHZut9XSgyspKlixZwqJFi3j11VeZNWsWb7zxBt/73vd49NFH6dix43F9M7GnucOjvCMiImKpo560/NOf/hSn08mzzz7L7t27mTVrFj/5yU/o2bPnQcMOQHZ2NpdeeikPP/ww69evZ+nSpdx444289tprTJ8+/bi9iVi1b0RLiUdERMRKR93hmT59OjfccMO3moTct29fpk+fzqRJk9ixY8c3fp4Th66lJSIiEguOOvCMHj36uL1o586d6dy583F7vlila2mJiIjEBp2HJ4J0lJaIiEhs+FaBZ+bMmUf9WI/Hw7hx477Ny51w9nV4NJwlIiJipW8VeG644QZ++MMf4nK5Dvu4zz//nD59+jB16tRv83InHnV4REREYsK3Cjw5OTnMnDmTXr16MW/evFb3BwIBHn74YQYMGMDXX3/N4MGDv83LnYB0Hh4REZFY8K0Cz5o1a7j88sspKSlhxIgRTJgwAa/XC8DGjRsZNGgQDz74IIZh8OijjzJ//vzjUbOIiIjIMflWgaddu3a8+eabPPvss6SkpPD000/Tt29fHnnkEfr06cNnn31G9+7dWbJkCXfffTfGSTbEc5K9XRERkZh1XI7S+vnPf87KlSs5++yzWbNmDQ888AANDQ3ceeedLFu2jF69eh2PlznxKPGIiIjEhON2WPrnn3/O5s2bgeBJ9kzTxOVy4fP5jtdLnHB0lJaIiEhs+NaBp6amhjFjxnD99ddTVVXF6NGjef7558nKyuKvf/0rvXv35tNPPz0etZ5wTJ1yUEREJCZ8q8Dz0Ucf0atXL1566SWys7P597//zfTp0xkzZgyrV6/mwgsvZNOmTVxwwQVMnDjx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ERERkbinwCMiIiJxT4FHRERE4p4Cj4iIiMQ9BR4RERGJewo8IiIiEvcUeERERCTuKfCIiIhI3FPgEZG48tOf/hTDMBg+fDimaba6/4EHHsAwDHr27InH47GgQhGxgmEe7F8EEZETVG1tLb1792bz5s38/ve/Z/z48aH7PvvsMwYNGoTdbmfJkiX07t3bukJFJKrU4RGRuJKWlsY//vEP7HY79913H2vWrAGgvr6e0aNH4/f7+e1vf6uwI3KSUeARkbgzcOBA7r77bhobG7nxxhvxer1MmDCBDRs2cMEFF3DnnXdaXaKIRJmGtEQkLjU1NdG/f39WrFjB8OHDmTt3LhkZGaxatYqOHTtaXZ6IRJkCj4jErbVr19K3b18aGxsBeOGFFxgzZozFVYmIFRR4RCRueb1eevbsyfr168nMzGTHjh2kpaVZXZaIWEBzeEQkbk2cOJH169djs9lwuVz88pe/tLokEbGIAo+IxKWFCxfy5JNPkpKSwty5c8nKyuKvf/0rb731ltWliYgFFHhEJO643W7GjBlDIBDg8ccf58ILL+RPf/oTEDwx4Z49eyyuUESiTYFHROLOHXfcwdatWxkxYgS33norADfccAPXX3895eXl/PznP7e4QhGJNk1aFpG4MmvWLEaNGkWbNm348ssvKSwsDN1XVVVFjx492LVrF3//+9/58Y9/bGGlIhJNCjwiEjd2795Njx49qKio4OWXX+b73/9+q8fMmTOHSy+9lLS0NFatWkWnTp2iX6iIRJ0Cj4iIiMQ9zeERERGRuKfAIyIiInFPgUdERETingKPiIiIxD0FHhEREYl7CjwiIiIS9xR4REREJO4p8IiIiEjcU+ARERGRuKfAIyIiInFPgUdERETingKPiIiIxD0FHhEREYl7/w8KhRDIXKocnAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def f(x): \n",
    "    return np.cos(10*x)**2*x**-0.5\n",
    "\n",
    "def g(x):\n",
    "    return x**-0.5\n",
    "\n",
    "def G(x):\n",
    "    return 2*x**0.5\n",
    "\n",
    "def invG(x):\n",
    "    return 0.25*x**2\n",
    "\n",
    "x = np.linspace(0.001,10, 1000)\n",
    "y = f(x)\n",
    "plt.plot(x,y)\n",
    "plt.fill_between(x,y, color='lightgray')\n",
    "plt.plot(x,g(x))\n",
    "plt.xlabel('x',size = 16)\n",
    "plt.ylabel('f(x)', size = 16)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "a85fd843-1fa5-4b36-bb33-8b329663ba93",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3.30483313708877"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a = 0\n",
    "b = 10\n",
    "\n",
    "integral_of_g = G(b)\n",
    "Integrate_MC(f, g, invG, I=integral_of_g, a=a, b=b, N=100000)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "1c6ec034-cc79-401c-90c2-21b67ae0cd2f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "Ns = np.geomspace(100, 100000000, 7)\n",
    "Is = np.array([Integrate_MC(f, g, invG, I=integral_of_g, a=a, b=b, N=int(N)) for N in Ns])\n",
    "\n",
    "plt.plot(Ns, np.abs(Is - 3.29549))\n",
    "plt.xlabel(\"sample size\")\n",
    "plt.ylabel(\"|Error|\")\n",
    "\n",
    "plt.loglog()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ab1ab562-cc1a-4dba-9297-394de0ab4bfa",
   "metadata": {},
   "source": [
    "We try to integrate the same function f, but using a slightly different g"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "4fe3ea9f-8dca-4880-b26c-ddeba8c046d8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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AIDQcEqBZ/369briiiuUm5urUaNGadKkSXK73ZKkrVu3asiQIXrooYdkGIYef/xxzZ8//3TUfGaiSwsAANucUuBp27at3n//fT377LOKjY3VX//6V/Xr10+PPfaY+vbtq6+//lo9evTQ0qVLdc899xxz1lILwFlaAACEhNNyltbNN9+s1atX67zzztP69ev14IMPqqKiQr/5zW+0fPly9e7d+3S8zJmnheU7AABC1Wk7LX3lypXavn27JMk0TZmmqaKiInk8ntP1EmegY+6WDgAAbHHKgaekpETjx4/X9ddfr4KCAo0bN04vvfSSWrVqpRdeeEF9+vTRV199dTpqPeNwlhYAAKHhlALPF198od69e+v1119XSkqK/v3vf+uVV17R+PHjtW7dOl100UXatm2bLrjgAk2ePLmFt/YAAAC7nFLgufDCC7Vr1y5deumlWrduncaMGRNYlpGRoZycHM2YMUNRUVF6/PHHNWDAgFMu+ExiOOjSAgAgFJxS4ImOjtbTTz+tOXPmKD09vdF17r77bq1YsUJ9+/bVmjVrTvo1pk2bpvPPP18JCQlKTU3V1VdfrU2bNtVbxzRNTZkyRRkZGYqJidGIESO0fv367/Q9nV6MWgYAIBScUuBZtWqVbr311hOu161bNy1ZskSTJ08+6ddYsGCB7rjjDi1ZskQ5OTnyeDwaNWqUysrKAus88cQTmj59umbOnKlly5YpPT1dI0eOVElJyUm/nnVo4QEAwC6GaZ5ZfS0HDx5UamqqFixYoAsuuECmaSojI0MTJ07UvffeK8l/3660tDT98Y9/1C233NJgH1VVVaqqqgo8Ly4uVmZmpoqKipSYmHjaal22db/Of72b/8l9uVL06ds3AAAtXXFxsZKSkpr1+X3G3S299r5dKSkpkqQdO3YoLy9Po0aNCqzjcrk0fPhwLV68uNF9TJs2TUlJSYEpMzPTklrrXnfQpIUHAADbNDvwPPHEE/W6kU7FkiVLNGfOnJPezjRNTZo0SUOHDlXPnj0lSXl5eZKktLS0euumpaUFlh3r/vvvV1FRUWDKzc096VpO2pnVkAYAQFhpduC577771KlTJz366KPatWvXSb+Qx+PRhx9+qFGjRmnIkCFavnz5Se/jzjvv1Nq1a/Xmm282WHbsbStM02zyVhYul0uJiYn1JisY4tYSAACEgmYHng8//FDt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XEl4uuOOO3TFFVfokksusbuUsPX++++rf//++vGPf6zU1FT17dtXzz//vN1lhZ2hQ4fqs88+0+bNmyVJa9as0aJFi3T55ZfbXFn42rFjh/Ly8up9LrpcLg0fPjxon4vcPNQChw4dktfrVVpaWr35aWlpysvLs6mq8GaapiZNmqShQ4eqZ8+edpcTdt566y2tXLlSy5Yts7uUsLZ9+3Y988wzmjRpkh544AEtXbpUd999t1wul37605/aXV7YuPfee1VUVKRu3brJ6XTK6/Xqscce009+8hO7SwtbtZ99jX0u7tq1Kyg1EHgsZBhGveemaTaYh9Pjzjvv1Nq1a7Vo0SK7Swk7ubm5mjBhgubOnavo6Gi7ywlrPp9P/fv319SpUyVJffv21fr16/XMM88QeE6jt99+W6+//rreeOMN9ejRQ6tXr9bEiROVkZGh8ePH211eWLPzc5HAY4E2bdrI6XQ2aM3Jz89vkG5x6u666y69//77Wrhwodq3b293OWFnxYoVys/PV79+/QLzvF6vFi5cqJkzZ6qqqkpOp9PGCsNHu3btdO6559ab1717d7377rs2VRSefvvb3+q+++7TDTfcIEnq1auXdu3apWnTphF4LJKeni7J39LTrl27wPxgfi4yhscCUVFR6tevn3JycurNz8nJ0eDBg22qKvyYpqk777xT//nPf/T5558rKyvL7pLC0sUXX6x169Zp9erVgal///668cYbtXr1asLOaTRkyJAGl1bYvHmzOnbsaFNF4am8vFwOR/2PP6fTyWnpFsrKylJ6enq9z0W3260FCxYE7XORFh6LTJo0SePGjVP//v01aNAgzZo1S7t379att95qd2lh44477tAbb7yh9957TwkJCYEWtaSkJMXExNhcXfhISEhoMC4qLi5OrVu3ZrzUafbrX/9agwcP1tSpU3Xddddp6dKlmjVrlmbNmmV3aWHlqquu0mOPPaYOHTqoR48eWrVqlaZPn65f/OIXdpd2RistLdXWrVsDz3fs2KHVq1crJSVFHTp00MSJEzV16lRlZ2crOztbU6dOVWxsrMaOHRucAoNyLlgL9dRTT5kdO3Y0o6KizPPOO4/TpU8zSY1OL730kt2lhT1OS7fOBx98YPbs2dN0uVxmt27dzFmzZtldUtgpLi42J0yYYHbo0MGMjo42O3fubE6ePNmsqqqyu7Qz2rx58xp9Tx4/frxpmv5T0x966CEzPT3ddLlc5gUXXGCuW7cuaPUZpmmawYlWAAAA9mAMDwAACHsEHgAAEPYIPAAAIOwReAAAQNgj8AAAgLBH4AEAAGGPwAMAAMIegQcAAIQ9Ag8AAAh7BB4AABD2CDwAACDsEXgAAEDYI/AAAICwR+ABEFZ++ctfyjAMjRw5UqZpNlj+4IMPyjAM9erVS1VVVTZUCMAOhtnYOwIAnKFKS0vVp08fbd++XX/5y180ceLEwLKvv/5aQ4YMkdPp1NKlS9WnTx/7CgUQVLTwAAgr8fHxeu211+R0OnX//fdr/fr1kqTy8nKNGzdOXq9Xf/jDHwg7QAtD4AEQdgYPHqx77rlHlZWVuummm+R2uzVp0iRt2bJFF1xwgX7zm9/YXSKAIKNLC0BYqq6u1sCBA7Vq1SqNHDlSOTk5SkxM1Nq1a9WxY0e7ywMQZAQeAGFrw4YN6tevnyorKyVJL7/8ssaPH29zVQDsQOABELbcbrd69eqlzZs3KykpSXv27FF8fLzdZQGwAWN4AIStyZMna/PmzXI4HCoqKtKvf/1ru0sCYBMCD4CwtHDhQk2fPl2xsbHKyclRq1at9MILL+iDDz6wuzQANiDwAAg7xcXFGj9+vHw+n5588klddNFFeuqppyT5L0x48OBBmysEEGwEHgBh5+6779bOnTs1atQo3X777ZKksWPH6vrrr1d+fr5uvvlmmysEEGwMWgYQVmbPnq0xY8YoOTlZ33zzjTIyMgLLCgoK1LNnT+3bt08vvviifv7zn9tYKYBgIvAACBsHDhxQz549dejQIb355pu64YYbGqwzd+5cXXbZZYqPj9fatWvVqVOn4BcKIOgIPAAAIOwxhgcAAIQ9Ag8AAAh7BB4AABD2CDwAACDsEXgAAEDYI/AAAICwR+ABAABhj8ADAADCHoEHAACEPQIPAAAIewQeAAAQ9gg8AAAg7BF4AABA2Pv/cpV4SZTraw4AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def f(x): \n",
    "    return np.cos(10*x)**2*x**-0.5\n",
    "\n",
    "def g(x):\n",
    "    return x**-0.5 + 10\n",
    "\n",
    "def G(x):\n",
    "    return 2*x**0.5 + 10*x\n",
    "\n",
    "def invG(x):\n",
    "    return 0.005*(4.+20.*x-4.*np.sqrt(1+10.*x))\n",
    "\n",
    "x = np.linspace(0.001,10, 1000)\n",
    "y = f(x)\n",
    "plt.plot(x,y)\n",
    "plt.fill_between(x,y, color='lightgray')\n",
    "plt.plot(x,g(x))\n",
    "plt.xlabel('x',size = 16)\n",
    "plt.ylabel('f(x)', size = 16)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "515f3e64-e004-4017-9ad0-a60edf95a6b0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3.2994636007006903"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "integral_of_g = G(b)\n",
    "Integrate_MC(f, g, invG, I=integral_of_g, a=a, b=b, N=1000000)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "534cc4a4-2a38-4961-886a-97884c76f0ce",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkMAAAG2CAYAAAB8joKsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABxQ0lEQVR4nO3dd3hUZfrG8e9MekIKIRBaCL2HAKEFAUGRJiIdCx1UENeuqz9du4u6rmVXehEEQToqooKForRQQgu9ht5TSZ35/XEEZSGQhJmcSXJ/risXZ0rOuXNE5sk57/s+FrvdbkdERESkmLKaHUBERETETCqGREREpFhTMSQiIiLFmoohERERKdZUDImIiEixpmJIREREijUVQyIiIlKsqRgSERGRYk3FkIiIiBRr7mYHcHU2m40TJ07g7++PxWIxO46IiIjkgt1uJykpifLly2O13vzaj4qhWzhx4gRhYWFmxxAREZF8iI+Pp2LFijd9T7EohpYsWcJzzz2HzWbj73//O8OHD8/19/r7+wPGyQwICHBWRBEREXGgxMREwsLCrn6O34ylqDdqzcrKom7duvz6668EBATQuHFj1q9fT3BwcK6+PzExkcDAQBISElQMiYiIFBJ5+fwu8gOoN2zYQL169ahQoQL+/v506dKFH3/80exYIiIi4iJcvhhatWoV9913H+XLl8disbB48eLr3jN27FiqVKmCt7c3UVFRrF69+uprJ06coEKFClcfV6xYkePHjxdEdBERESkEXL4YSklJITIyks8+++yGr8+ZM4enn36aV155hS1bttC6dWs6d+7M0aNHAWM0+f+62ayw9PR0EhMTr/kSERGRosvli6HOnTvzzjvv0LNnzxu+/tFHHzFs2DCGDx9OnTp1+OSTTwgLC2PcuHEAVKhQ4ZorQceOHaNcuXI5Hm/06NEEBgZe/dJMMhERkaLN5Yuhm8nIyGDTpk106NDhmuc7dOjAmjVrAGjWrBk7duzg+PHjJCUlsXTpUjp27JjjPl9++WUSEhKufsXHxzv1ZxARERFzFeqp9efOnSM7O5vQ0NBrng8NDeXUqVMAuLu78+9//5t27dphs9l48cUXKVWqVI779PLywsvLy6m5RURExHUU6mLoiv8dA2S32695rlu3bnTr1q2gY4mIiEghUKhvk4WEhODm5nb1KtAVZ86cue5qUV6NGTOG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rFq1ivvuu4/y5ctjsVhueAl07NixVKlSBW9vb6Kioli9evUN97Vx40ZsNhthYWFOTm0OR5yrS5cuERkZScWKFXnxxRcJCQkpoPQFyxHn6vnnn2f06NEFlNhcjjhfiYmJREVF0apVK1auXFlAyQve7Z6rffv2UaJECbp160bjxo355z//WYDpC5Yj/32fO3cu/fr1c3Ji89zuuSpdujTPP/88lSpVonz58rRv355q1ao5JauKISdISUkhMjKSzz777Iavz5kzh6effppXXnmFLVu20Lp1azp37szRo0eved/58+cZOHAgEydOLIjYpnDEuQoKCmLr1q0cOnSIWbNmcfr06YKKX6Bu91x9/fXX1KxZk5o1axZkbNM44u/W4cOH2bRpE+PHj2fgwIEkJiYWVPwCdbvnKjMzk9WrVzNmzBjWrl3L8uXLWb58eUH+CAXGUf++JyYm8vvvvxfpq7S3e64uXrzIkiVLOHz4MMePH2fNmjWsWrXKOWHt4lSAfdGiRdc816xZM/uIESOuea527dr2l1566erjtLQ0e+vWre1ffPFFQcR0Cfk9V381YsQI+9y5c50V0WXk51y99NJL9ooVK9rDw8PtpUqVsgcEBNjffPPNgopsKkf83erUqZM9JibGWRFdRn7O1Zo1a+wdO3a8+toHH3xg/+CDD5ye1Wy38/fqiy++sD/88MPOjugy8nOu5s6da3/88cevvvbBBx/Y33//fafk05WhApaRkcGmTZvo0KHDNc936NCBNWvWAGC32xk8eDB33XUXAwYMMCOmS8jNuTp9+vTV39YTExNZtWoVtWrVKvCsZsvNuRo9ejTx8fEcPnyYDz/8kEceeYTXXnvNjLimy835unjxIunp6QAcO3aMuLg4qlatWuBZzZabc9W0aVNOnz7NxYsXsdlsrFq1ijp16pgR11S5OVdXFPVbZLeSm3MVFhbGmjVrro4HXbFihdP+fdcItwJ27tw5srOzCQ0Nveb50NBQTp06BcDvv//OnDlzaNCgwdV7rDNmzCAiIqKg45oqN+fq2LFjDBs2DLvdjt1u54knnqBBgwZmxDVVbs6V/Ck352vXrl089thjWK1WLBYLn376KcHBwWbENVVuzpW7uzv//Oc/adOmDXa7nQ4dOtC1a1cz4poqt/8fJiQksGHDBhYsWFDQEV1Gbs5VixYt6NKlC40aNcJq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\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "Is_2 = np.array([Integrate_MC(f, g, invG, I=integral_of_g, a=a, b=b, N=int(N)) for N in Ns])\n",
    "\n",
    "plt.plot(Ns, np.abs(Is - 3.29549))\n",
    "plt.plot(Ns, np.abs(Is_2 - 3.29549))\n",
    "plt.xlabel(\"sample size\")\n",
    "plt.ylabel(\"|Error|\")\n",
    "\n",
    "plt.loglog()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "49c7a53e-2f8b-486d-82f9-8af511090878",
   "metadata": {},
   "source": [
    "On average, the closer g is to f, the smaller the error"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c633ee84-ec72-4915-af14-cbc7d19151de",
   "metadata": {},
   "source": [
    "## Mean value method"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "3595b1c6-72d5-4c39-9117-a700b488cc83",
   "metadata": {},
   "outputs": [],
   "source": [
    "def Integrate_MVM(f, a, b, N):\n",
    "    xs = (b-a)*rng.random(N) + a\n",
    "    ys = f(xs)\n",
    "    return  np.sum(ys) * (b-a)/ N"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "ecd8d785-50c7-4438-8898-41c553808517",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9988013725344461"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def f(x):\n",
    "    return np.sin(x)**2/np.pi\n",
    "\n",
    "Integrate_MVM(f, a=0, b=2*np.pi, N=1000000)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "593c3a69-4b15-4739-b2bf-9077c79d2460",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3.3035207566172704"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def f(x): \n",
    "    return np.cos(10*x)**2*x**-0.5\n",
    "\n",
    "Integrate_MVM(f, a=0, b=10, N=1000000)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "707bcb6c-1c1d-488e-a2be-042b50e91dc6",
   "metadata": {},
   "source": [
    "## Importance sampling"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b493efc2-1b86-4773-aaea-ce33300621a9",
   "metadata": {},
   "source": [
    "Integrate f on [0,1] using importance sampling"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "9a0e22a8-0120-4065-863b-2ba5a48621ca",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "I =  0.8389576468190292\n"
     ]
    }
   ],
   "source": [
    "# Integrand function\n",
    "def f(x): return x**(-0.5)/(np.exp(x)+1)\n",
    "\n",
    "# Number of points in the sample\n",
    "N = 1000000\n",
    "\n",
    "# integration domain\n",
    "a = 0\n",
    "b = 1\n",
    "\n",
    "# Sampling x_i: r.v. distributed as p(x) (see above)\n",
    "x = rng.random(N)*(b-a) + a\n",
    "x = np.array(x**2)\n",
    "\n",
    "# Calculating (w(x_i)), for all sampled points\n",
    "w = x**(-0.5)\n",
    "# Calculating f(x_i), for all sampled points\n",
    "fx = f(x)\n",
    "\n",
    "# Implementing importance sampling formula with a=0, b=1 and noting that \\int w(x)dx = 2\n",
    "I = (2./float(N))*np.sum(fx/w)\n",
    "\n",
    "print('I = ', I)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cc198bfe-d1c6-40b2-9eeb-b04ebc6ce4d7",
   "metadata": {},
   "source": [
    "We repackage the algorithm in a function"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "48c566a9-b55c-40c7-844d-ced959ef4771",
   "metadata": {},
   "outputs": [],
   "source": [
    "def Integrate_IS(f, g, invG, I, a, b, N):\n",
    "    xs = rng.random(N)\n",
    "    xs = invG(xs*I)\n",
    "    \n",
    "    ws = g(xs)\n",
    "    fs = f(xs)\n",
    "    return np.sum(fs/ws)/N * I"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "97490e70-5ab3-43e6-9bab-d170531f7587",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.8388701962199012"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def f(x):\n",
    "    return x**(-0.5)/(np.exp(x)+1)\n",
    "\n",
    "def g(x):\n",
    "    return x**-0.5\n",
    "\n",
    "def invG(x): # remember it has t be such that invG(0)=a\n",
    "    return 0.25*x**2\n",
    "\n",
    "I = 2\n",
    "\n",
    "Integrate_IS(f, g, invG, I, a=0, b=1, N= 1000000)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "406c8a38-7a5f-445e-99e0-12aacb49b9c7",
   "metadata": {},
   "source": [
    "Tested on another function"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "0b737156-6814-4cec-9647-2e409233e9bf",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3.2955273519192536"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def f(x): \n",
    "    return np.cos(10*x)**2*x**-0.5\n",
    "\n",
    "def g(x):\n",
    "    return x**-0.5\n",
    "\n",
    "def invG(x):\n",
    "    return 0.25*x**2\n",
    "\n",
    "I = 6.32456\n",
    "\n",
    "Integrate_IS(f, g, invG, I, a=0, b=10, N= 1000000)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "005379b5-dc57-48ae-845f-42f0720c02e1",
   "metadata": {},
   "source": [
    "Same function, changing integration domain"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "04f9b244-3c31-4931-8069-5ae6ef58f35c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2.1340914328460365"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def f(x): \n",
    "    return np.cos(10*x)**2*x**-0.5\n",
    "\n",
    "def g(x):\n",
    "    return x**-0.5\n",
    "\n",
    "def invG(x): # remember it has t be such that invG(0)=a\n",
    "    return 0.25*(2+x)**2 # that's the reason for the +2 added here\n",
    "\n",
    "I = 4.32456\n",
    "\n",
    "Integrate_IS(f, g, invG, I, a=1, b=10, N= 1000000)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "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.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
