Skip to content

Commit 5a43dcb

Browse files
committed
HTML rebuild
1 parent e2052f8 commit 5a43dcb

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

book.html

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,9 @@ <h2><a class="toc-backref" href="#contents">About the author</a></h2>
150150
resources and tutorials (Matplotlib, numpy, OpenGL) and he's teaching Python,
151151
numpy and scientific visualization at the University of Bordeaux and in various
152152
conferences and schools worldwide (SciPy, EuroScipy, etc). He's also the author
153-
of the popular article <a class="reference external" href="http://dx.doi.org/10.1371/journal.pcbi.1003833">Ten Simple Rules for Better Figures</a>.</p>
153+
of the popular article <a class="reference external" href="http://dx.doi.org/10.1371/journal.pcbi.1003833">Ten Simple Rules for Better Figures</a> and a popular
154+
'matplotlib tutorial
155+
&lt;<a class="reference external" href="http://www.labri.fr/perso/nrougier/teaching/matplotlib/matplotlib.html">http://www.labri.fr/perso/nrougier/teaching/matplotlib/matplotlib.html</a>&gt;`_.</p>
154156
</div>
155157
<div class="section" id="about-this-book">
156158
<h2><a class="toc-backref" href="#contents">About this book</a></h2>
@@ -311,6 +313,8 @@ <h2><a class="toc-backref" href="#table-of-contents">Simple example</a></h2>
311313
<span class="keyword namespace">from</span> <span class="name namespace">itertools</span> <span class="keyword namespace">import</span> <span class="name">accumulate</span>
312314
<span class="name">steps</span> <span class="operator">=</span> <span class="name">random</span><span class="operator">.</span><span class="name">sample</span><span class="punctuation">([</span><span class="literal number integer">1</span><span class="punctuation">,</span> <span class="operator">-</span><span class="literal number integer">1</span><span class="punctuation">]</span><span class="operator">*</span><span class="name">n</span><span class="punctuation">,</span> <span class="name">n</span><span class="punctuation">)</span>
313315
<span class="keyword">return</span> <span class="name builtin">list</span><span class="punctuation">(</span><span class="name">accumulate</span><span class="punctuation">(</span><span class="name">steps</span><span class="punctuation">))</span>
316+
317+
<span class="name">walk</span> <span class="operator">=</span> <span class="name">random_walk_faster</span><span class="punctuation">(</span><span class="literal number integer">1000</span><span class="punctuation">)</span>
314318
</pre>
315319
<p>In fact, we've just <em>vectorized</em> our function. Instead of looping for picking
316320
sequential steps and add them to the current position, we fist generate all the
@@ -329,6 +333,8 @@ <h2><a class="toc-backref" href="#table-of-contents">Simple example</a></h2>
329333
<span class="keyword">def</span> <span class="name function">random_walk_fastest</span><span class="punctuation">(</span><span class="name">n</span><span class="operator">=</span><span class="literal number integer">1000</span><span class="punctuation">):</span>
330334
<span class="name">steps</span> <span class="operator">=</span> <span class="literal number integer">2</span><span class="operator">*</span><span class="name">np</span><span class="operator">.</span><span class="name">random</span><span class="operator">.</span><span class="name">randint</span><span class="punctuation">(</span><span class="literal number integer">0</span><span class="punctuation">,</span> <span class="literal number integer">2</span><span class="punctuation">,</span> <span class="name">size</span><span class="operator">=</span><span class="literal number integer">1000</span><span class="punctuation">)</span> <span class="operator">-</span> <span class="literal number integer">1</span>
331335
<span class="keyword">return</span> <span class="name">np</span><span class="operator">.</span><span class="name">cumsum</span><span class="punctuation">(</span><span class="name">steps</span><span class="punctuation">)</span>
336+
337+
<span class="name">walk</span> <span class="operator">=</span> <span class="name">random_walk_fastest</span><span class="punctuation">(</span><span class="literal number integer">1000</span><span class="punctuation">)</span>
332338
</pre>
333339
<p>Not too difficult, but we gained a factor 500x using numpy:</p>
334340
<pre class="code pycon literal-block">

0 commit comments

Comments
 (0)