From dd1ea1e521e8c632485ad489a8aef83a6cc489aa Mon Sep 17 00:00:00 2001 From: a1b871d0ecf115713a1a78157e18e70b Date: Thu, 6 May 2021 16:36:01 +0000 Subject: [PATCH] Oh, yeah, `$` works too --- module2/exo1/toy_notebook_en.ipynb | 43 ++++++++++-------------------- 1 file changed, 14 insertions(+), 29 deletions(-) diff --git a/module2/exo1/toy_notebook_en.ipynb b/module2/exo1/toy_notebook_en.ipynb index 32c4bb2..42bd493 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" } -- 2.18.1