Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mooc-rr
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
8388c1425d3a684d1ec014af187ba020
mooc-rr
Commits
2b07cb57
Commit
2b07cb57
authored
Mar 24, 2020
by
8388c1425d3a684d1ec014af187ba020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update toy_document_orgmode_python_en.org
parent
2f558eee
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
21 additions
and
29 deletions
+21
-29
toy_document_orgmode_python_en.org
module2/exo1/toy_document_orgmode_python_en.org
+21
-29
No files found.
module2/exo1/toy_document_orgmode_python_en.org
View file @
2b07cb57
#+TITLE: Mr.
#+TITLE: On the computation of pi
#+AUTHOR: Bikash Adhikari
#+DATE: 23/03/2020
#+LANGUAGE: en
# #+PROPERTY: header-args :eval never-export
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="http://www.pirilampo.org/styles/readtheorg/css/htmlize.css"/>
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="http://www.pirilampo.org/styles/readtheorg/css/readtheorg.css"/>
#+HTML_HEAD: <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
#+HTML_HEAD: <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
#+HTML_HEAD: <script type="text/javascript" src="http://www.pirilampo.org/styles/lib/js/jquery.stickytableheaders.js"></script>
#+HTML_HEAD: <script type="text/javascript" src="http://www.pirilampo.org/styles/readtheorg/js/readtheorg.js"></script>
#+PROPERTY: header-args :session :export both
* Table of Contents
* [[1. Asking the math library]]
* [[2. *Buffon's needle]]
* [[3. Using a surface fraction argument]]
* 1. Asking the math library
My computer tells me that \pi is /approximately/
#+begin_src python :results output :exports both
* Asking the math library
My computer tells me that $\pi$ is /approximately/
#+begin_src python :results value :session *python* :export both
from math import *
pi
#+end_src
* 2. *Buffon's needle
Applying the method of [[https://en.wikipedia.org/wiki/Buffon%27s_needle_problem][_Buffon's needle_]], we get the *approximation*
#+begin_src python :results output :exports both
* * Buffon's needle
Applying the method of [[https://en.wikipedia.org/wiki/Buffon%27s_needle_problem][_Buffon's needle_]], we get the *approximation
#+begin_src python :results value :session *python* :export both
import numpy as np
np.random.seed(seed=42)
N
=
10000
x
=np.random.uniform(size=N, low =0, high=pi/2
)
theta
=np.random.uniform(size=N, low=0, high =
pi/2)
N
=
10000
x
= np.random.uniform(size=N, low=0, high=1
)
theta
= np.random.uniform(size=N, low=0, high=
pi/2)
2/(sum((x+np.sin(theta))>1)/N)
#+end_src
* 3. Using a surface fraction argument
* Using a surface fraction argument
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 [[https://en.wikipedia.org/wiki/Monte_Carlo_method][_"Monte Carlo method on
Wikipedia"_]]). THe following code use this approach:
U(0,1)$, then $P[X^2 + Y^2 \leq 1] = \pi/4$ (see
[[https://en.wikipedia.org/wiki/Monte_Carlo_method][ _"Monte Carlo method" on
Wikipedia_]]). The following code use this approach:
#+begin_src python :results
output :exports both
#+begin_src python :results
value :session *python* :export both
import matplotlib.pyplot as plt
np.random.seed(seed=42)
...
...
@@ -68,7 +61,6 @@ print(matplot_lib_filename)
It is then straightforward to obtain a (not really good) approximation
of \pi by counting how many time, on average, $X^2$ + $^{}Y^2$ is smaller
than 1:
#+begin_src python :results
output :exports both
#+begin_src python :results
value :session *python* :export both
4*np.mean(accept)
#+end_src
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment