Delete toy_notebook_en.ipynb

parent 8c5074b7
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# On the computation of $\\pi$"
]
},
{
"cell_type": "markdown",
"metadata": {
"hideCode": false
},
"source": [
"## Asking the maths library\n",
"My computer tells me that $\\pi$ is *approximatively*"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"hideCode": false,
"hidePrompt": false,
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"3.141592653589793\n"
]
}
],
"source": [
"from math import *\n",
"print(pi)"
]
},
{
"cell_type": "markdown",
"metadata": {
"hidePrompt": false
},
"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__"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"hideCode": false,
"hidePrompt": false,
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"3.128911138923655"
]
},
"execution_count": 2,
"metadata": {
"hideCode": false,
"hidePrompt": false,
},
"output_type": "execute_result"
}
],
"source": [
"import numpy as np\n",
"np.random.seed(seed=42)\n",
"N = 10000\n",
"x = np.random.uniform(size=N, low=0, high=1)\n",
"theta = np.random.uniform(size=N, low=0, high=pi/2)\n",
"2/(sum((x+np.sin(theta))>1)/N)"
]
},
{
"cell_type": "markdown",
"metadata": {
"hideCode": false
},
"source": [
"## 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 $P[X^2+Y^2\\leq 1] = \\pi/4$ (see [\"Monte Carlo method\" on Wikipedia](https://en.wikipedia.org/wiki/Monte_Carlo_method)). The following code uses this approach:"
]
},
{
"cell_type": "code",
"execution_count": 3,
"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": [
"%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",
"ax.set_aspect('equal')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It is then straightforward to obtain a (not really good) approximation to $\\pi$ by counting how many times, on average, $X^2 + Y^2$ is smaller than 1:"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"3.112"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"4*np.mean(accept)"
]
}
],
"metadata": {
"celltoolbar": "Hide code",
"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.6.2"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment