diff --git a/module2/exo1/toy_notebook_en.ipynb b/module2/exo1/toy_notebook_en.ipynb index 32c4bb20437a2325449459cf39e127f0f6a0c913..42bd493feb363b83a5d6d0356418bc0d156a76b3 100644 --- a/module2/exo1/toy_notebook_en.ipynb +++ b/module2/exo1/toy_notebook_en.ipynb @@ -4,21 +4,15 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# On the computation of \\\\( \\pi \\\\)" + "# On the computation of $\\pi$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Asking the maths library" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "My computer tells me that \\\\(\\pi\\\\) is *approximatively*" + "## Asking the maths library\n", + "My computer tells me that $\\pi$ is *approximatively*" ] }, { @@ -43,13 +37,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Buffon’s needle" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ + "## Buffon’s needle\n", "Applying the method of [Buffon’s needle](https://en.wikipedia.org/wiki/Buffon%27s_needle_problem), we get the **approximation**" ] }, @@ -82,20 +70,14 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Using a surface fraction argument" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "A method that is easier to understand and does not make use of the sin function is based on the fact that if \\\\( X \\sim U(0, 1) \\\\) and \\\\( Y \\sim U(0, 1) \\\\), then \\\\(P[X^2 + Y^2 \\le 1] = \\pi/4 \\\\) (see [\"Monte Carlo method\"\n", + "## Using a surface fraction argument\n", + "A method that is easier to understand and does not make use of the sin function is based on the fact that if $X \\sim U(0, 1)$ and $Y \\sim U(0, 1)$, then $[X^2 + Y^2 \\le 1] = \\pi/4$ (see [\"Monte Carlo method\"\n", "on Wikipedia](https://en.wikipedia.org/wiki/Monte_Carlo_method)). The following code uses this approach:" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -114,12 +96,15 @@ "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", + "\n", "np.random.seed(seed=42)\n", "N = 1000\n", "x = np.random.uniform(size=N, low=0, high=1)\n", "y = np.random.uniform(size=N, low=0, high=1)\n", + "\n", "accept = (x*x+y*y) <= 1\n", "reject = np.logical_not(accept)\n", + "\n", "fig, ax = plt.subplots(1)\n", "ax.scatter(x[accept], y[accept], c='b', alpha=0.2, edgecolor=None)\n", "ax.scatter(x[reject], y[reject], c='r', alpha=0.2, edgecolor=None)\n", @@ -130,13 +115,13 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "It is then straightforward to obtain a (not really good) approximation to \\\\( \\pi \\\\) by counting how\n", - "many times, on average, \\\\( X^2 + Y^2 \\\\) is smaller than \\\\(1\\\\):" + "It is then straightforward to obtain a (not really good) approximation to $\\pi$ by counting how\n", + "many times, on average, $X^2 + Y^2$ is smaller than $1$:" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -145,7 +130,7 @@ "3.112" ] }, - "execution_count": 5, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" }