Show More
@@ -1,924 +1,923 b'' | |||||
1 | { |
|
1 | { | |
2 | "metadata": { |
|
2 | "metadata": { | |
3 | "name": "00_notebook_tour" |
|
3 | "name": "00_notebook_tour" | |
4 | }, |
|
4 | }, | |
5 | "nbformat": 2, |
|
5 | "nbformat": 2, | |
6 | "worksheets": [ |
|
6 | "worksheets": [ | |
7 | { |
|
7 | { | |
8 | "cells": [ |
|
8 | "cells": [ | |
9 | { |
|
9 | { | |
10 | "cell_type": "markdown", |
|
10 | "cell_type": "markdown", | |
11 | "source": [ |
|
11 | "source": [ | |
12 | "# A brief tour of the IPython notebook", |
|
12 | "# A brief tour of the IPython notebook", | |
13 | "", |
|
13 | "", | |
14 | "This document will give you a brief tour of the capabilities of the IPython notebook. ", |
|
14 | "This document will give you a brief tour of the capabilities of the IPython notebook. ", | |
15 | "You can view its contents by scrolling around, or execute each cell by typing `Shift-Enter`.", |
|
15 | "You can view its contents by scrolling around, or execute each cell by typing `Shift-Enter`.", | |
16 | "After you conclude this brief high-level tour, you should read the accompanying notebook ", |
|
16 | "After you conclude this brief high-level tour, you should read the accompanying notebook ", | |
17 | "titled `01_notebook_introduction`, which takes a more step-by-step approach to the features of the", |
|
17 | "titled `01_notebook_introduction`, which takes a more step-by-step approach to the features of the", | |
18 | "system. ", |
|
18 | "system. ", | |
19 | "", |
|
19 | "", | |
20 | "The rest of the notebooks in this directory illustrate various other aspects and ", |
|
20 | "The rest of the notebooks in this directory illustrate various other aspects and ", | |
21 | "capabilities of the IPython notebook; some of them may require additional libraries to be executed.", |
|
21 | "capabilities of the IPython notebook; some of them may require additional libraries to be executed.", | |
22 | "", |
|
22 | "", | |
23 | "**NOTE:** This notebook *must* be run from its own directory, so you must ``cd``", |
|
23 | "**NOTE:** This notebook *must* be run from its own directory, so you must ``cd``", | |
24 | "to this directory and then start the notebook, but do *not* use the ``--notebook-dir``", |
|
24 | "to this directory and then start the notebook, but do *not* use the ``--notebook-dir``", | |
25 | "option to run it from another location.", |
|
25 | "option to run it from another location.", | |
26 | "", |
|
26 | "", | |
27 | "The first thing you need to know is that you are still controlling the same old IPython you're used to,", |
|
27 | "The first thing you need to know is that you are still controlling the same old IPython you're used to,", | |
28 | "so things like shell aliases and magic commands still work:" |
|
28 | "so things like shell aliases and magic commands still work:" | |
29 | ] |
|
29 | ] | |
30 | }, |
|
30 | }, | |
31 | { |
|
31 | { | |
32 | "cell_type": "code", |
|
32 | "cell_type": "code", | |
33 | "collapsed": false, |
|
33 | "collapsed": false, | |
34 | "input": [ |
|
34 | "input": [ | |
35 | "pwd" |
|
35 | "pwd" | |
36 | ], |
|
36 | ], | |
37 | "language": "python", |
|
37 | "language": "python", | |
38 | "outputs": [ |
|
38 | "outputs": [ | |
39 | { |
|
39 | { | |
40 | "output_type": "pyout", |
|
40 | "output_type": "pyout", | |
41 | "prompt_number": 1, |
|
41 | "prompt_number": 1, | |
42 | "text": [ |
|
42 | "text": [ | |
43 |
"u |
|
43 | "u'/home/fperez/ipython/ipython/docs/examples/notebooks'" | |
44 | ] |
|
44 | ] | |
45 | } |
|
45 | } | |
46 | ], |
|
46 | ], | |
47 | "prompt_number": 1 |
|
47 | "prompt_number": 1 | |
48 | }, |
|
48 | }, | |
49 | { |
|
49 | { | |
50 | "cell_type": "code", |
|
50 | "cell_type": "code", | |
51 | "collapsed": false, |
|
51 | "collapsed": false, | |
52 | "input": [ |
|
52 | "input": [ | |
53 | "ls" |
|
53 | "ls" | |
54 | ], |
|
54 | ], | |
55 | "language": "python", |
|
55 | "language": "python", | |
56 | "outputs": [ |
|
56 | "outputs": [ | |
57 | { |
|
57 | { | |
58 | "output_type": "stream", |
|
58 | "output_type": "stream", | |
59 | "stream": "stdout", |
|
59 | "stream": "stdout", | |
60 | "text": [ |
|
60 | "text": [ | |
61 | "00_notebook_tour.ipynb python-logo.svg", |
|
61 | "00_notebook_tour.ipynb python-logo.svg", | |
62 | "01_notebook_introduction.ipynb sympy.ipynb", |
|
62 | "01_notebook_introduction.ipynb sympy.ipynb", | |
63 | "animation.m4v sympy_quantum_computing.ipynb", |
|
63 | "animation.m4v sympy_quantum_computing.ipynb", | |
64 | "display_protocol.ipynb trapezoid_rule.ipynb", |
|
64 | "display_protocol.ipynb trapezoid_rule.ipynb", | |
65 | "formatting.ipynb" |
|
65 | "formatting.ipynb" | |
66 | ] |
|
66 | ] | |
67 | } |
|
67 | } | |
68 | ], |
|
68 | ], | |
69 | "prompt_number": 2 |
|
69 | "prompt_number": 2 | |
70 | }, |
|
70 | }, | |
71 | { |
|
71 | { | |
72 | "cell_type": "code", |
|
72 | "cell_type": "code", | |
73 | "collapsed": false, |
|
73 | "collapsed": false, | |
74 | "input": [ |
|
74 | "input": [ | |
75 | "message = 'The IPython notebook is great!'", |
|
75 | "message = 'The IPython notebook is great!'", | |
76 | "# note: the echo command does not run on Windows, it's a unix command.", |
|
76 | "# note: the echo command does not run on Windows, it's a unix command.", | |
77 | "!echo $message" |
|
77 | "!echo $message" | |
78 | ], |
|
78 | ], | |
79 | "language": "python", |
|
79 | "language": "python", | |
80 | "outputs": [ |
|
80 | "outputs": [ | |
81 | { |
|
81 | { | |
82 | "output_type": "stream", |
|
82 | "output_type": "stream", | |
83 | "stream": "stdout", |
|
83 | "stream": "stdout", | |
84 | "text": [ |
|
84 | "text": [ | |
85 | "The IPython notebook is great!" |
|
85 | "The IPython notebook is great!" | |
86 | ] |
|
86 | ] | |
87 | } |
|
87 | } | |
88 | ], |
|
88 | ], | |
89 | "prompt_number": 3 |
|
89 | "prompt_number": 3 | |
90 | }, |
|
90 | }, | |
91 | { |
|
91 | { | |
92 | "cell_type": "markdown", |
|
92 | "cell_type": "markdown", | |
93 | "source": [ |
|
93 | "source": [ | |
94 | "Plots with matplotlib: do *not* execute the next below if you do not have matplotlib installed or didn't start up ", |
|
94 | "Plots with matplotlib: do *not* execute the next below if you do not have matplotlib installed or didn't start up ", | |
95 | "this notebook with the `--pylab` option, as the code will not work." |
|
95 | "this notebook with the `--pylab` option, as the code will not work." | |
96 | ] |
|
96 | ] | |
97 | }, |
|
97 | }, | |
98 | { |
|
98 | { | |
99 | "cell_type": "code", |
|
99 | "cell_type": "code", | |
100 | "collapsed": false, |
|
100 | "collapsed": false, | |
101 | "input": [ |
|
101 | "input": [ | |
102 | "x = linspace(0, 3*pi, 500)", |
|
102 | "x = linspace(0, 3*pi, 500)", | |
103 | "plot(x, sin(x**2))", |
|
103 | "plot(x, sin(x**2))", | |
104 | "title('A simple chirp');" |
|
104 | "title('A simple chirp');" | |
105 | ], |
|
105 | ], | |
106 | "language": "python", |
|
106 | "language": "python", | |
107 | "outputs": [ |
|
107 | "outputs": [ | |
108 | { |
|
108 | { | |
109 | "output_type": "display_data", |
|
109 | "output_type": "display_data", | |
110 | "png": "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\n" |
|
110 | "png": "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\n" | |
111 | } |
|
111 | } | |
112 | ], |
|
112 | ], | |
113 | "prompt_number": 4 |
|
113 | "prompt_number": 4 | |
114 | }, |
|
114 | }, | |
115 | { |
|
115 | { | |
116 | "cell_type": "markdown", |
|
116 | "cell_type": "markdown", | |
117 | "source": [ |
|
117 | "source": [ | |
118 | "You can paste blocks of input with prompt markers, such as those from", |
|
118 | "You can paste blocks of input with prompt markers, such as those from", | |
119 | "[the official Python tutorial](http://docs.python.org/tutorial/interpreter.html#interactive-mode)" |
|
119 | "[the official Python tutorial](http://docs.python.org/tutorial/interpreter.html#interactive-mode)" | |
120 | ] |
|
120 | ] | |
121 | }, |
|
121 | }, | |
122 | { |
|
122 | { | |
123 | "cell_type": "code", |
|
123 | "cell_type": "code", | |
124 | "collapsed": false, |
|
124 | "collapsed": false, | |
125 | "input": [ |
|
125 | "input": [ | |
126 | ">>> the_world_is_flat = 1", |
|
126 | ">>> the_world_is_flat = 1", | |
127 | ">>> if the_world_is_flat:", |
|
127 | ">>> if the_world_is_flat:", | |
128 | "... print \"Be careful not to fall off!\"" |
|
128 | "... print \"Be careful not to fall off!\"" | |
129 | ], |
|
129 | ], | |
130 | "language": "python", |
|
130 | "language": "python", | |
131 | "outputs": [ |
|
131 | "outputs": [ | |
132 | { |
|
132 | { | |
133 | "output_type": "stream", |
|
133 | "output_type": "stream", | |
134 | "stream": "stdout", |
|
134 | "stream": "stdout", | |
135 | "text": [ |
|
135 | "text": [ | |
136 | "Be careful not to fall off!" |
|
136 | "Be careful not to fall off!" | |
137 | ] |
|
137 | ] | |
138 | } |
|
138 | } | |
139 | ], |
|
139 | ], | |
140 | "prompt_number": 5 |
|
140 | "prompt_number": 5 | |
141 | }, |
|
141 | }, | |
142 | { |
|
142 | { | |
143 | "cell_type": "markdown", |
|
143 | "cell_type": "markdown", | |
144 | "source": [ |
|
144 | "source": [ | |
145 | "Errors are shown in informative ways:" |
|
145 | "Errors are shown in informative ways:" | |
146 | ] |
|
146 | ] | |
147 | }, |
|
147 | }, | |
148 | { |
|
148 | { | |
149 | "cell_type": "code", |
|
149 | "cell_type": "code", | |
150 | "collapsed": false, |
|
150 | "collapsed": false, | |
151 | "input": [ |
|
151 | "input": [ | |
152 | "%run non_existent_file" |
|
152 | "%run non_existent_file" | |
153 | ], |
|
153 | ], | |
154 | "language": "python", |
|
154 | "language": "python", | |
155 | "outputs": [ |
|
155 | "outputs": [ | |
156 | { |
|
156 | { | |
157 | "output_type": "stream", |
|
157 | "output_type": "stream", | |
158 | "stream": "stderr", |
|
158 | "stream": "stderr", | |
159 | "text": [ |
|
159 | "text": [ | |
160 |
"ERROR: File |
|
160 | "ERROR: File `non_existent_file.py` not found." | |
161 | ] |
|
161 | ] | |
162 | } |
|
162 | } | |
163 | ], |
|
163 | ], | |
164 | "prompt_number": 6 |
|
164 | "prompt_number": 6 | |
165 | }, |
|
165 | }, | |
166 | { |
|
166 | { | |
167 | "cell_type": "code", |
|
167 | "cell_type": "code", | |
168 | "collapsed": false, |
|
168 | "collapsed": false, | |
169 | "input": [ |
|
169 | "input": [ | |
170 | "x = 1", |
|
170 | "x = 1", | |
171 | "y = 4", |
|
171 | "y = 4", | |
172 | "z = y/(1-x)" |
|
172 | "z = y/(1-x)" | |
173 | ], |
|
173 | ], | |
174 | "language": "python", |
|
174 | "language": "python", | |
175 | "outputs": [ |
|
175 | "outputs": [ | |
176 | { |
|
176 | { | |
177 | "ename": "ZeroDivisionError", |
|
177 | "ename": "ZeroDivisionError", | |
178 | "evalue": "integer division or modulo by zero", |
|
178 | "evalue": "integer division or modulo by zero", | |
179 | "output_type": "pyerr", |
|
179 | "output_type": "pyerr", | |
180 | "traceback": [ |
|
180 | "traceback": [ | |
181 | "<span class=\"ansired\">---------------------------------------------------------------------------</span>\n<span class=\"ansired\">ZeroDivisionError</span> Traceback (most recent call last)", |
|
181 | "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mZeroDivisionError\u001b[0m Traceback (most recent call last)", | |
182 | "<span class=\"ansigreen\">/home/fperez/ipython/ipython/docs/examples/notebooks/<ipython-input-7-dc39888fd1d2></span> in <span class=\"ansicyan\"><module></span><span class=\"ansiblue\">()</span>\n<span class=\"ansigreen\"> 1</span> x <span class=\"ansiyellow\">=</span> <span class=\"ansicyan\">1</span><span class=\"ansiyellow\"></span>\n<span class=\"ansigreen\"> 2</span> y <span class=\"ansiyellow\">=</span> <span class=\"ansicyan\">4</span><span class=\"ansiyellow\"></span>\n<span class=\"ansigreen\">----> 3</span><span class=\"ansiyellow\"> </span>z <span class=\"ansiyellow\">=</span> y<span class=\"ansiyellow\">/</span><span class=\"ansiyellow\">(</span><span class=\"ansicyan\">1</span><span class=\"ansiyellow\">-</span>x<span class=\"ansiyellow\">)</span><span class=\"ansiyellow\"></span>\n", |
|
182 | "\u001b[0;32m/home/fperez/ipython/ipython/docs/examples/notebooks/<ipython-input-7-dc39888fd1d2>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m4\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mz\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", | |
183 |
" |
|
183 | "\u001b[0;31mZeroDivisionError\u001b[0m: integer division or modulo by zero" | |
184 | ] |
|
184 | ] | |
185 | } |
|
185 | } | |
186 | ], |
|
186 | ], | |
187 | "prompt_number": 7 |
|
187 | "prompt_number": 7 | |
188 | }, |
|
188 | }, | |
189 | { |
|
189 | { | |
190 | "cell_type": "markdown", |
|
190 | "cell_type": "markdown", | |
191 | "source": [ |
|
191 | "source": [ | |
192 | "When IPython needs to display additional information (such as providing details on an object via `x?`", |
|
192 | "When IPython needs to display additional information (such as providing details on an object via `x?`", | |
193 | "it will automatically invoke a pager at the bottom of the screen:" |
|
193 | "it will automatically invoke a pager at the bottom of the screen:" | |
194 | ] |
|
194 | ] | |
195 | }, |
|
195 | }, | |
196 | { |
|
196 | { | |
197 | "cell_type": "code", |
|
197 | "cell_type": "code", | |
198 | "collapsed": true, |
|
198 | "collapsed": true, | |
199 | "input": [ |
|
199 | "input": [ | |
200 | "magic" |
|
200 | "magic" | |
201 | ], |
|
201 | ], | |
202 | "language": "python", |
|
202 | "language": "python", | |
203 | "outputs": [], |
|
203 | "outputs": [], | |
204 | "prompt_number": 8 |
|
204 | "prompt_number": 8 | |
205 | }, |
|
205 | }, | |
206 | { |
|
206 | { | |
207 | "cell_type": "markdown", |
|
207 | "cell_type": "markdown", | |
208 | "source": [ |
|
208 | "source": [ | |
209 | "## Non-blocking output of kernel", |
|
209 | "## Non-blocking output of kernel", | |
210 | "", |
|
210 | "", | |
211 | "If you execute the next cell, you will see the output arriving as it is generated, not all at the end." |
|
211 | "If you execute the next cell, you will see the output arriving as it is generated, not all at the end." | |
212 | ] |
|
212 | ] | |
213 | }, |
|
213 | }, | |
214 | { |
|
214 | { | |
215 | "cell_type": "code", |
|
215 | "cell_type": "code", | |
216 | "collapsed": false, |
|
216 | "collapsed": false, | |
217 | "input": [ |
|
217 | "input": [ | |
218 | "import time, sys", |
|
218 | "import time, sys", | |
219 | "for i in range(8):", |
|
219 | "for i in range(8):", | |
220 | " print i,", |
|
220 | " print i,", | |
221 | " time.sleep(0.5)" |
|
221 | " time.sleep(0.5)" | |
222 | ], |
|
222 | ], | |
223 | "language": "python", |
|
223 | "language": "python", | |
224 | "outputs": [ |
|
224 | "outputs": [ | |
225 | { |
|
225 | { | |
226 | "output_type": "stream", |
|
226 | "output_type": "stream", | |
227 | "stream": "stdout", |
|
227 | "stream": "stdout", | |
228 | "text": [ |
|
228 | "text": [ | |
229 | "0 " |
|
229 | "0 " | |
230 | ] |
|
230 | ] | |
231 | }, |
|
231 | }, | |
232 | { |
|
232 | { | |
233 | "output_type": "stream", |
|
233 | "output_type": "stream", | |
234 | "stream": "stdout", |
|
234 | "stream": "stdout", | |
235 | "text": [ |
|
235 | "text": [ | |
236 | "1 " |
|
236 | "1 " | |
237 | ] |
|
237 | ] | |
238 | }, |
|
238 | }, | |
239 | { |
|
239 | { | |
240 | "output_type": "stream", |
|
240 | "output_type": "stream", | |
241 | "stream": "stdout", |
|
241 | "stream": "stdout", | |
242 | "text": [ |
|
242 | "text": [ | |
243 | "2 " |
|
243 | "2 " | |
244 | ] |
|
244 | ] | |
245 | }, |
|
245 | }, | |
246 | { |
|
246 | { | |
247 | "output_type": "stream", |
|
247 | "output_type": "stream", | |
248 | "stream": "stdout", |
|
248 | "stream": "stdout", | |
249 | "text": [ |
|
249 | "text": [ | |
250 | "3 " |
|
250 | "3 " | |
251 | ] |
|
251 | ] | |
252 | }, |
|
252 | }, | |
253 | { |
|
253 | { | |
254 | "output_type": "stream", |
|
254 | "output_type": "stream", | |
255 | "stream": "stdout", |
|
255 | "stream": "stdout", | |
256 | "text": [ |
|
256 | "text": [ | |
257 | "4 " |
|
257 | "4 " | |
258 | ] |
|
258 | ] | |
259 | }, |
|
259 | }, | |
260 | { |
|
260 | { | |
261 | "output_type": "stream", |
|
261 | "output_type": "stream", | |
262 | "stream": "stdout", |
|
262 | "stream": "stdout", | |
263 | "text": [ |
|
263 | "text": [ | |
264 | "5 " |
|
264 | "5 " | |
265 | ] |
|
265 | ] | |
266 | }, |
|
266 | }, | |
267 | { |
|
267 | { | |
268 | "output_type": "stream", |
|
268 | "output_type": "stream", | |
269 | "stream": "stdout", |
|
269 | "stream": "stdout", | |
270 | "text": [ |
|
270 | "text": [ | |
271 | "6 " |
|
271 | "6 " | |
272 | ] |
|
272 | ] | |
273 | }, |
|
273 | }, | |
274 | { |
|
274 | { | |
275 | "output_type": "stream", |
|
275 | "output_type": "stream", | |
276 | "stream": "stdout", |
|
276 | "stream": "stdout", | |
277 | "text": [ |
|
277 | "text": [ | |
278 | "7" |
|
278 | "7" | |
279 | ] |
|
279 | ] | |
280 | } |
|
280 | } | |
281 | ], |
|
281 | ], | |
282 | "prompt_number": 9 |
|
282 | "prompt_number": 9 | |
283 | }, |
|
283 | }, | |
284 | { |
|
284 | { | |
285 | "cell_type": "markdown", |
|
285 | "cell_type": "markdown", | |
286 | "source": [ |
|
286 | "source": [ | |
287 | "## Clean crash and restart", |
|
287 | "## Clean crash and restart", | |
288 | "", |
|
288 | "", | |
289 | "We call the low-level system libc.time routine with the wrong argument via", |
|
289 | "We call the low-level system libc.time routine with the wrong argument via", | |
290 | "ctypes to segfault the Python interpreter:" |
|
290 | "ctypes to segfault the Python interpreter:" | |
291 | ] |
|
291 | ] | |
292 | }, |
|
292 | }, | |
293 | { |
|
293 | { | |
294 | "cell_type": "code", |
|
294 | "cell_type": "code", | |
295 | "collapsed": true, |
|
295 | "collapsed": true, | |
296 | "input": [ |
|
296 | "input": [ | |
297 | "from ctypes import CDLL", |
|
297 | "from ctypes import CDLL", | |
298 | "# This will crash a linux system; equivalent calls can be made on Windows or Mac", |
|
298 | "# This will crash a linux system; equivalent calls can be made on Windows or Mac", | |
299 | "libc = CDLL(\"libc.so.6\") ", |
|
299 | "libc = CDLL(\"libc.so.6\") ", | |
300 | "libc.time(-1) # BOOM!!" |
|
300 | "libc.time(-1) # BOOM!!" | |
301 | ], |
|
301 | ], | |
302 | "language": "python", |
|
302 | "language": "python", | |
303 | "outputs": [], |
|
303 | "outputs": [], | |
304 | "prompt_number": "*" |
|
304 | "prompt_number": "*" | |
305 | }, |
|
305 | }, | |
306 | { |
|
306 | { | |
307 | "cell_type": "markdown", |
|
307 | "cell_type": "markdown", | |
308 | "source": [ |
|
308 | "source": [ | |
309 | "## Markdown cells can contain formatted text and code", |
|
309 | "## Markdown cells can contain formatted text and code", | |
310 | "", |
|
310 | "", | |
311 | "You can *italicize*, **boldface**", |
|
311 | "You can *italicize*, **boldface**", | |
312 | "", |
|
312 | "", | |
313 | "* build", |
|
313 | "* build", | |
314 | "* lists", |
|
314 | "* lists", | |
315 | "", |
|
315 | "", | |
316 | "and embed code meant for illustration instead of execution in Python:", |
|
316 | "and embed code meant for illustration instead of execution in Python:", | |
317 | "", |
|
317 | "", | |
318 | " def f(x):", |
|
318 | " def f(x):", | |
319 | " \"\"\"a docstring\"\"\"", |
|
319 | " \"\"\"a docstring\"\"\"", | |
320 | " return x**2", |
|
320 | " return x**2", | |
321 | "", |
|
321 | "", | |
322 | "or other languages:", |
|
322 | "or other languages:", | |
323 | "", |
|
323 | "", | |
324 | " if (i=0; i<n; i++) {", |
|
324 | " if (i=0; i<n; i++) {", | |
325 | " printf(\"hello %d\\n\", i);", |
|
325 | " printf(\"hello %d\\n\", i);", | |
326 | " x += 4;", |
|
326 | " x += 4;", | |
327 | " }" |
|
327 | " }" | |
328 | ] |
|
328 | ] | |
329 | }, |
|
329 | }, | |
330 | { |
|
330 | { | |
331 | "cell_type": "markdown", |
|
331 | "cell_type": "markdown", | |
332 | "source": [ |
|
332 | "source": [ | |
333 | "Courtesy of MathJax, you can include mathematical expressions both inline: ", |
|
333 | "Courtesy of MathJax, you can include mathematical expressions both inline: ", | |
334 | "$e^{i\\pi} + 1 = 0$ and displayed:", |
|
334 | "$e^{i\\pi} + 1 = 0$ and displayed:", | |
335 | "", |
|
335 | "", | |
336 | "$$e^x=\\sum_{i=0}^\\infty \\frac{1}{i!}x^i$$" |
|
336 | "$$e^x=\\sum_{i=0}^\\infty \\frac{1}{i!}x^i$$" | |
337 | ] |
|
337 | ] | |
338 | }, |
|
338 | }, | |
339 | { |
|
339 | { | |
340 | "cell_type": "markdown", |
|
340 | "cell_type": "markdown", | |
341 | "source": [ |
|
341 | "source": [ | |
342 | "## Rich displays: include anyting a browser can show", |
|
342 | "## Rich displays: include anyting a browser can show", | |
343 | "", |
|
343 | "", | |
344 | "Note that we have an actual protocol for this, see the `display_protocol` notebook for further details.", |
|
344 | "Note that we have an actual protocol for this, see the `display_protocol` notebook for further details.", | |
345 | "", |
|
345 | "", | |
346 | "### Images" |
|
346 | "### Images" | |
347 | ] |
|
347 | ] | |
348 | }, |
|
348 | }, | |
349 | { |
|
349 | { | |
350 | "cell_type": "code", |
|
350 | "cell_type": "code", | |
351 | "collapsed": false, |
|
351 | "collapsed": false, | |
352 | "input": [ |
|
352 | "input": [ | |
353 | "from IPython.core.display import Image", |
|
353 | "from IPython.core.display import Image", | |
354 | "Image(filename='../../source/_static/logo.png')" |
|
354 | "Image(filename='../../source/_static/logo.png')" | |
355 | ], |
|
355 | ], | |
356 | "language": "python", |
|
356 | "language": "python", | |
357 | "outputs": [ |
|
357 | "outputs": [ | |
358 | { |
|
358 | { | |
359 | "output_type": "pyout", |
|
359 | "output_type": "pyout", | |
360 | "png": "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\n", |
|
360 | "png": "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\n", | |
361 | "prompt_number": 1, |
|
361 | "prompt_number": 1, | |
362 | "text": [ |
|
362 | "text": [ | |
363 | "<IPython.core.display.Image at 0x41d4690>" |
|
363 | "<IPython.core.display.Image at 0x41d4690>" | |
364 | ] |
|
364 | ] | |
365 | } |
|
365 | } | |
366 | ], |
|
366 | ], | |
367 | "prompt_number": 1 |
|
367 | "prompt_number": 1 | |
368 | }, |
|
368 | }, | |
369 | { |
|
369 | { | |
370 | "cell_type": "markdown", |
|
370 | "cell_type": "markdown", | |
371 | "source": [ |
|
371 | "source": [ | |
372 | "An image can also be displayed from raw data or a url" |
|
372 | "An image can also be displayed from raw data or a url" | |
373 | ] |
|
373 | ] | |
374 | }, |
|
374 | }, | |
375 | { |
|
375 | { | |
376 | "cell_type": "code", |
|
376 | "cell_type": "code", | |
377 | "collapsed": false, |
|
377 | "collapsed": false, | |
378 | "input": [ |
|
378 | "input": [ | |
379 | "Image('http://python.org/images/python-logo.gif')" |
|
379 | "Image('http://python.org/images/python-logo.gif')" | |
380 | ], |
|
380 | ], | |
381 | "language": "python", |
|
381 | "language": "python", | |
382 | "outputs": [ |
|
382 | "outputs": [ | |
383 | { |
|
383 | { | |
384 | "html": [ |
|
384 | "html": [ | |
385 | "<img src=\"http://python.org/images/python-logo.gif\" />" |
|
385 | "<img src=\"http://python.org/images/python-logo.gif\" />" | |
386 | ], |
|
386 | ], | |
387 | "output_type": "pyout", |
|
387 | "output_type": "pyout", | |
388 | "prompt_number": 2, |
|
388 | "prompt_number": 2, | |
389 | "text": [ |
|
389 | "text": [ | |
390 | "<IPython.core.display.Image at 0x41d4550>" |
|
390 | "<IPython.core.display.Image at 0x41d4550>" | |
391 | ] |
|
391 | ] | |
392 | } |
|
392 | } | |
393 | ], |
|
393 | ], | |
394 | "prompt_number": 2 |
|
394 | "prompt_number": 2 | |
395 | }, |
|
395 | }, | |
396 | { |
|
396 | { | |
397 | "cell_type": "markdown", |
|
397 | "cell_type": "markdown", | |
398 | "source": [ |
|
398 | "source": [ | |
399 | "SVG images are also supported out of the box (since modern browsers do a good job of rendering them):" |
|
399 | "SVG images are also supported out of the box (since modern browsers do a good job of rendering them):" | |
400 | ] |
|
400 | ] | |
401 | }, |
|
401 | }, | |
402 | { |
|
402 | { | |
403 | "cell_type": "code", |
|
403 | "cell_type": "code", | |
404 | "collapsed": false, |
|
404 | "collapsed": false, | |
405 | "input": [ |
|
405 | "input": [ | |
406 | "from IPython.core.display import SVG", |
|
406 | "from IPython.core.display import SVG", | |
407 | "SVG(filename='python-logo.svg')" |
|
407 | "SVG(filename='python-logo.svg')" | |
408 | ], |
|
408 | ], | |
409 | "language": "python", |
|
409 | "language": "python", | |
410 | "outputs": [ |
|
410 | "outputs": [ | |
411 | { |
|
411 | { | |
412 | "output_type": "pyout", |
|
412 | "output_type": "pyout", | |
413 | "prompt_number": 3, |
|
413 | "prompt_number": 3, | |
414 | "svg": [ |
|
414 | "svg": [ | |
415 | "<svg height=\"115.02pt\" id=\"svg2\" inkscape:version=\"0.43\" sodipodi:docbase=\"/home/sdeibel\" sodipodi:docname=\"logo-python-generic.svg\" sodipodi:version=\"0.32\" version=\"1.0\" width=\"388.84pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:cc=\"http://web.resource.org/cc/\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:sodipodi=\"http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd\" xmlns:svg=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">", |
|
415 | "<svg height=\"115.02pt\" id=\"svg2\" inkscape:version=\"0.43\" sodipodi:docbase=\"/home/sdeibel\" sodipodi:docname=\"logo-python-generic.svg\" sodipodi:version=\"0.32\" version=\"1.0\" width=\"388.84pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:cc=\"http://web.resource.org/cc/\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:inkscape=\"http://www.inkscape.org/namespaces/inkscape\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:sodipodi=\"http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd\" xmlns:svg=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">", | |
416 | " <metadata id=\"metadata2193\">", |
|
416 | " <metadata id=\"metadata2193\">", | |
417 | " <rdf:RDF>", |
|
417 | " <rdf:RDF>", | |
418 | " <cc:Work rdf:about=\"\">", |
|
418 | " <cc:Work rdf:about=\"\">", | |
419 | " <dc:format>image/svg+xml</dc:format>", |
|
419 | " <dc:format>image/svg+xml</dc:format>", | |
420 | " <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>", |
|
420 | " <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>", | |
421 | " </cc:Work>", |
|
421 | " </cc:Work>", | |
422 | " </rdf:RDF>", |
|
422 | " </rdf:RDF>", | |
423 | " </metadata>", |
|
423 | " </metadata>", | |
424 | " <sodipodi:namedview bordercolor=\"#666666\" borderopacity=\"1.0\" id=\"base\" inkscape:current-layer=\"svg2\" inkscape:cx=\"243.02499\" inkscape:cy=\"71.887497\" inkscape:pageopacity=\"0.0\" inkscape:pageshadow=\"2\" inkscape:window-height=\"543\" inkscape:window-width=\"791\" inkscape:window-x=\"0\" inkscape:window-y=\"0\" inkscape:zoom=\"1.4340089\" pagecolor=\"#ffffff\"/>", |
|
424 | " <sodipodi:namedview bordercolor=\"#666666\" borderopacity=\"1.0\" id=\"base\" inkscape:current-layer=\"svg2\" inkscape:cx=\"243.02499\" inkscape:cy=\"71.887497\" inkscape:pageopacity=\"0.0\" inkscape:pageshadow=\"2\" inkscape:window-height=\"543\" inkscape:window-width=\"791\" inkscape:window-x=\"0\" inkscape:window-y=\"0\" inkscape:zoom=\"1.4340089\" pagecolor=\"#ffffff\"/>", | |
425 | " <defs id=\"defs4\">", |
|
425 | " <defs id=\"defs4\">", | |
426 | " <linearGradient id=\"linearGradient2795\">", |
|
426 | " <linearGradient id=\"linearGradient2795\">", | |
427 | " <stop id=\"stop2797\" offset=\"0\" style=\"stop-color:#b8b8b8;stop-opacity:0.49803922\"/>", |
|
427 | " <stop id=\"stop2797\" offset=\"0\" style=\"stop-color:#b8b8b8;stop-opacity:0.49803922\"/>", | |
428 | " <stop id=\"stop2799\" offset=\"1\" style=\"stop-color:#7f7f7f;stop-opacity:0\"/>", |
|
428 | " <stop id=\"stop2799\" offset=\"1\" style=\"stop-color:#7f7f7f;stop-opacity:0\"/>", | |
429 | " </linearGradient>", |
|
429 | " </linearGradient>", | |
430 | " <linearGradient id=\"linearGradient2787\">", |
|
430 | " <linearGradient id=\"linearGradient2787\">", | |
431 | " <stop id=\"stop2789\" offset=\"0\" style=\"stop-color:#7f7f7f;stop-opacity:0.5\"/>", |
|
431 | " <stop id=\"stop2789\" offset=\"0\" style=\"stop-color:#7f7f7f;stop-opacity:0.5\"/>", | |
432 | " <stop id=\"stop2791\" offset=\"1\" style=\"stop-color:#7f7f7f;stop-opacity:0\"/>", |
|
432 | " <stop id=\"stop2791\" offset=\"1\" style=\"stop-color:#7f7f7f;stop-opacity:0\"/>", | |
433 | " </linearGradient>", |
|
433 | " </linearGradient>", | |
434 | " <linearGradient id=\"linearGradient3676\">", |
|
434 | " <linearGradient id=\"linearGradient3676\">", | |
435 | " <stop id=\"stop3678\" offset=\"0\" style=\"stop-color:#b2b2b2;stop-opacity:0.5\"/>", |
|
435 | " <stop id=\"stop3678\" offset=\"0\" style=\"stop-color:#b2b2b2;stop-opacity:0.5\"/>", | |
436 | " <stop id=\"stop3680\" offset=\"1\" style=\"stop-color:#b3b3b3;stop-opacity:0\"/>", |
|
436 | " <stop id=\"stop3680\" offset=\"1\" style=\"stop-color:#b3b3b3;stop-opacity:0\"/>", | |
437 | " </linearGradient>", |
|
437 | " </linearGradient>", | |
438 | " <linearGradient id=\"linearGradient3236\">", |
|
438 | " <linearGradient id=\"linearGradient3236\">", | |
439 | " <stop id=\"stop3244\" offset=\"0\" style=\"stop-color:#f4f4f4;stop-opacity:1\"/>", |
|
439 | " <stop id=\"stop3244\" offset=\"0\" style=\"stop-color:#f4f4f4;stop-opacity:1\"/>", | |
440 | " <stop id=\"stop3240\" offset=\"1\" style=\"stop-color:#ffffff;stop-opacity:1\"/>", |
|
440 | " <stop id=\"stop3240\" offset=\"1\" style=\"stop-color:#ffffff;stop-opacity:1\"/>", | |
441 | " </linearGradient>", |
|
441 | " </linearGradient>", | |
442 | " <linearGradient id=\"linearGradient4671\">", |
|
442 | " <linearGradient id=\"linearGradient4671\">", | |
443 | " <stop id=\"stop4673\" offset=\"0\" style=\"stop-color:#ffd43b;stop-opacity:1\"/>", |
|
443 | " <stop id=\"stop4673\" offset=\"0\" style=\"stop-color:#ffd43b;stop-opacity:1\"/>", | |
444 | " <stop id=\"stop4675\" offset=\"1\" style=\"stop-color:#ffe873;stop-opacity:1\"/>", |
|
444 | " <stop id=\"stop4675\" offset=\"1\" style=\"stop-color:#ffe873;stop-opacity:1\"/>", | |
445 | " </linearGradient>", |
|
445 | " </linearGradient>", | |
446 | " <linearGradient id=\"linearGradient4689\">", |
|
446 | " <linearGradient id=\"linearGradient4689\">", | |
447 | " <stop id=\"stop4691\" offset=\"0\" style=\"stop-color:#5a9fd4;stop-opacity:1\"/>", |
|
447 | " <stop id=\"stop4691\" offset=\"0\" style=\"stop-color:#5a9fd4;stop-opacity:1\"/>", | |
448 | " <stop id=\"stop4693\" offset=\"1\" style=\"stop-color:#306998;stop-opacity:1\"/>", |
|
448 | " <stop id=\"stop4693\" offset=\"1\" style=\"stop-color:#306998;stop-opacity:1\"/>", | |
449 | " </linearGradient>", |
|
449 | " </linearGradient>", | |
450 | " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2987\" x1=\"224.23996\" x2=\"-65.308502\" xlink:href=\"#linearGradient4671\" y1=\"144.75717\" y2=\"144.75717\"/>", |
|
450 | " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2987\" x1=\"224.23996\" x2=\"-65.308502\" xlink:href=\"#linearGradient4671\" y1=\"144.75717\" y2=\"144.75717\"/>", | |
451 | " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2990\" x1=\"172.94208\" x2=\"26.670298\" xlink:href=\"#linearGradient4689\" y1=\"77.475983\" y2=\"76.313133\"/>", |
|
451 | " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2990\" x1=\"172.94208\" x2=\"26.670298\" xlink:href=\"#linearGradient4689\" y1=\"77.475983\" y2=\"76.313133\"/>", | |
452 | " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2587\" x1=\"172.94208\" x2=\"26.670298\" xlink:href=\"#linearGradient4689\" y1=\"77.475983\" y2=\"76.313133\"/>", |
|
452 | " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2587\" x1=\"172.94208\" x2=\"26.670298\" xlink:href=\"#linearGradient4689\" y1=\"77.475983\" y2=\"76.313133\"/>", | |
453 | " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2589\" x1=\"224.23996\" x2=\"-65.308502\" xlink:href=\"#linearGradient4671\" y1=\"144.75717\" y2=\"144.75717\"/>", |
|
453 | " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2589\" x1=\"224.23996\" x2=\"-65.308502\" xlink:href=\"#linearGradient4671\" y1=\"144.75717\" y2=\"144.75717\"/>", | |
454 | " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2248\" x1=\"172.94208\" x2=\"26.670298\" xlink:href=\"#linearGradient4689\" y1=\"77.475983\" y2=\"76.313133\"/>", |
|
454 | " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2248\" x1=\"172.94208\" x2=\"26.670298\" xlink:href=\"#linearGradient4689\" y1=\"77.475983\" y2=\"76.313133\"/>", | |
455 | " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2250\" x1=\"224.23996\" x2=\"-65.308502\" xlink:href=\"#linearGradient4671\" y1=\"144.75717\" y2=\"144.75717\"/>", |
|
455 | " <linearGradient gradientTransform=\"translate(100.2702,99.61116)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2250\" x1=\"224.23996\" x2=\"-65.308502\" xlink:href=\"#linearGradient4671\" y1=\"144.75717\" y2=\"144.75717\"/>", | |
456 | " <linearGradient gradientTransform=\"matrix(0.562541,0,0,0.567972,-11.5974,-7.60954)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2255\" x1=\"224.23996\" x2=\"-65.308502\" xlink:href=\"#linearGradient4671\" y1=\"144.75717\" y2=\"144.75717\"/>", |
|
456 | " <linearGradient gradientTransform=\"matrix(0.562541,0,0,0.567972,-11.5974,-7.60954)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2255\" x1=\"224.23996\" x2=\"-65.308502\" xlink:href=\"#linearGradient4671\" y1=\"144.75717\" y2=\"144.75717\"/>", | |
457 | " <linearGradient gradientTransform=\"matrix(0.562541,0,0,0.567972,-11.5974,-7.60954)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2258\" x1=\"172.94208\" x2=\"26.670298\" xlink:href=\"#linearGradient4689\" y1=\"76.176224\" y2=\"76.313133\"/>", |
|
457 | " <linearGradient gradientTransform=\"matrix(0.562541,0,0,0.567972,-11.5974,-7.60954)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient2258\" x1=\"172.94208\" x2=\"26.670298\" xlink:href=\"#linearGradient4689\" y1=\"76.176224\" y2=\"76.313133\"/>", | |
458 | " <radialGradient cx=\"61.518883\" cy=\"132.28575\" fx=\"61.518883\" fy=\"132.28575\" gradientTransform=\"matrix(1,0,0,0.177966,0,108.7434)\" gradientUnits=\"userSpaceOnUse\" id=\"radialGradient2801\" r=\"29.036913\" xlink:href=\"#linearGradient2795\"/>", |
|
458 | " <radialGradient cx=\"61.518883\" cy=\"132.28575\" fx=\"61.518883\" fy=\"132.28575\" gradientTransform=\"matrix(1,0,0,0.177966,0,108.7434)\" gradientUnits=\"userSpaceOnUse\" id=\"radialGradient2801\" r=\"29.036913\" xlink:href=\"#linearGradient2795\"/>", | |
459 | " <linearGradient gradientTransform=\"matrix(0.562541,0,0,0.567972,-9.399749,-5.305317)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient1475\" x1=\"150.96111\" x2=\"112.03144\" xlink:href=\"#linearGradient4671\" y1=\"192.35176\" y2=\"137.27299\"/>", |
|
459 | " <linearGradient gradientTransform=\"matrix(0.562541,0,0,0.567972,-9.399749,-5.305317)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient1475\" x1=\"150.96111\" x2=\"112.03144\" xlink:href=\"#linearGradient4671\" y1=\"192.35176\" y2=\"137.27299\"/>", | |
460 | " <linearGradient gradientTransform=\"matrix(0.562541,0,0,0.567972,-9.399749,-5.305317)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient1478\" x1=\"26.648937\" x2=\"135.66525\" xlink:href=\"#linearGradient4689\" y1=\"20.603781\" y2=\"114.39767\"/>", |
|
460 | " <linearGradient gradientTransform=\"matrix(0.562541,0,0,0.567972,-9.399749,-5.305317)\" gradientUnits=\"userSpaceOnUse\" id=\"linearGradient1478\" x1=\"26.648937\" x2=\"135.66525\" xlink:href=\"#linearGradient4689\" y1=\"20.603781\" y2=\"114.39767\"/>", | |
461 | " <radialGradient cx=\"61.518883\" cy=\"132.28575\" fx=\"61.518883\" fy=\"132.28575\" gradientTransform=\"matrix(2.382716e-8,-0.296405,1.43676,4.683673e-7,-128.544,150.5202)\" gradientUnits=\"userSpaceOnUse\" id=\"radialGradient1480\" r=\"29.036913\" xlink:href=\"#linearGradient2795\"/>", |
|
461 | " <radialGradient cx=\"61.518883\" cy=\"132.28575\" fx=\"61.518883\" fy=\"132.28575\" gradientTransform=\"matrix(2.382716e-8,-0.296405,1.43676,4.683673e-7,-128.544,150.5202)\" gradientUnits=\"userSpaceOnUse\" id=\"radialGradient1480\" r=\"29.036913\" xlink:href=\"#linearGradient2795\"/>", | |
462 | " </defs>", |
|
462 | " </defs>", | |
463 | " <g id=\"g2303\">", |
|
463 | " <g id=\"g2303\">", | |
464 | " <path d=\"M 184.61344,61.929363 C 184.61344,47.367213 180.46118,39.891193 172.15666,39.481813 C 168.85239,39.325863 165.62611,39.852203 162.48754,41.070593 C 159.98254,41.967323 158.2963,42.854313 157.40931,43.751043 L 157.40931,78.509163 C 162.72147,81.842673 167.43907,83.392453 171.55234,83.148783 C 180.25649,82.573703 184.61344,75.507063 184.61344,61.929363 z M 194.85763,62.533683 C 194.85763,69.931723 193.12265,76.072393 189.63319,80.955683 C 185.7441,86.482283 180.35396,89.328433 173.46277,89.484393 C 168.26757,89.650093 162.91642,88.022323 157.40931,84.610843 L 157.40931,116.20116 L 148.50047,113.02361 L 148.50047,42.903043 C 149.96253,41.109583 151.84372,39.569543 154.12454,38.263433 C 159.42696,35.173603 165.86978,33.584823 173.45302,33.506853 L 173.57973,33.633563 C 180.50991,33.545833 185.85132,36.391993 189.60395,42.162263 C 193.10315,47.454933 194.85763,54.238913 194.85763,62.533683 z \" id=\"path46\" style=\"fill:#646464;fill-opacity:1\"/>", |
|
464 | " <path d=\"M 184.61344,61.929363 C 184.61344,47.367213 180.46118,39.891193 172.15666,39.481813 C 168.85239,39.325863 165.62611,39.852203 162.48754,41.070593 C 159.98254,41.967323 158.2963,42.854313 157.40931,43.751043 L 157.40931,78.509163 C 162.72147,81.842673 167.43907,83.392453 171.55234,83.148783 C 180.25649,82.573703 184.61344,75.507063 184.61344,61.929363 z M 194.85763,62.533683 C 194.85763,69.931723 193.12265,76.072393 189.63319,80.955683 C 185.7441,86.482283 180.35396,89.328433 173.46277,89.484393 C 168.26757,89.650093 162.91642,88.022323 157.40931,84.610843 L 157.40931,116.20116 L 148.50047,113.02361 L 148.50047,42.903043 C 149.96253,41.109583 151.84372,39.569543 154.12454,38.263433 C 159.42696,35.173603 165.86978,33.584823 173.45302,33.506853 L 173.57973,33.633563 C 180.50991,33.545833 185.85132,36.391993 189.60395,42.162263 C 193.10315,47.454933 194.85763,54.238913 194.85763,62.533683 z \" id=\"path46\" style=\"fill:#646464;fill-opacity:1\"/>", | |
465 | " <path d=\"M 249.30487,83.265743 C 249.30487,93.188283 248.31067,100.05998 246.32227,103.88084 C 244.32411,107.7017 240.52275,110.75254 234.90842,113.02361 C 230.35653,114.81707 225.43425,115.79178 220.15133,115.95748 L 218.67952,110.34316 C 224.05016,109.61213 227.83204,108.88109 230.02513,108.15006 C 234.34309,106.688 237.30621,104.44617 238.93397,101.44406 C 240.24008,98.997543 240.88339,94.328693 240.88339,87.418003 L 240.88339,85.098203 C 234.79146,87.866373 228.40711,89.240713 221.73036,89.240713 C 217.34417,89.240713 213.47457,87.866373 210.14107,85.098203 C 206.39818,82.086343 204.52674,78.265483 204.52674,73.635623 L 204.52674,36.557693 L 213.43558,33.506853 L 213.43558,70.828453 C 213.43558,74.815013 214.7222,77.885353 217.29543,80.039463 C 219.86866,82.193563 223.20217,83.226753 227.2862,83.148783 C 231.37023,83.061053 235.74667,81.482023 240.39603,78.392203 L 240.39603,34.851953 L 249.30487,34.851953 L 249.30487,83.265743 z \" id=\"path48\" style=\"fill:#646464;fill-opacity:1\"/>", |
|
465 | " <path d=\"M 249.30487,83.265743 C 249.30487,93.188283 248.31067,100.05998 246.32227,103.88084 C 244.32411,107.7017 240.52275,110.75254 234.90842,113.02361 C 230.35653,114.81707 225.43425,115.79178 220.15133,115.95748 L 218.67952,110.34316 C 224.05016,109.61213 227.83204,108.88109 230.02513,108.15006 C 234.34309,106.688 237.30621,104.44617 238.93397,101.44406 C 240.24008,98.997543 240.88339,94.328693 240.88339,87.418003 L 240.88339,85.098203 C 234.79146,87.866373 228.40711,89.240713 221.73036,89.240713 C 217.34417,89.240713 213.47457,87.866373 210.14107,85.098203 C 206.39818,82.086343 204.52674,78.265483 204.52674,73.635623 L 204.52674,36.557693 L 213.43558,33.506853 L 213.43558,70.828453 C 213.43558,74.815013 214.7222,77.885353 217.29543,80.039463 C 219.86866,82.193563 223.20217,83.226753 227.2862,83.148783 C 231.37023,83.061053 235.74667,81.482023 240.39603,78.392203 L 240.39603,34.851953 L 249.30487,34.851953 L 249.30487,83.265743 z \" id=\"path48\" style=\"fill:#646464;fill-opacity:1\"/>", | |
466 | " <path d=\"M 284.08249,88.997033 C 283.02006,89.084753 282.04535,89.123743 281.14862,89.123743 C 276.10937,89.123743 272.18129,87.924853 269.37413,85.517323 C 266.57671,83.109793 265.17314,79.786033 265.17314,75.546053 L 265.17314,40.456523 L 259.07146,40.456523 L 259.07146,34.851953 L 265.17314,34.851953 L 265.17314,19.968143 L 274.07223,16.800333 L 274.07223,34.851953 L 284.08249,34.851953 L 284.08249,40.456523 L 274.07223,40.456523 L 274.07223,75.302373 C 274.07223,78.645623 274.96896,81.014163 276.76243,82.398253 C 278.30247,83.538663 280.74899,84.191723 284.08249,84.357423 L 284.08249,88.997033 z \" id=\"path50\" style=\"fill:#646464;fill-opacity:1\"/>", |
|
466 | " <path d=\"M 284.08249,88.997033 C 283.02006,89.084753 282.04535,89.123743 281.14862,89.123743 C 276.10937,89.123743 272.18129,87.924853 269.37413,85.517323 C 266.57671,83.109793 265.17314,79.786033 265.17314,75.546053 L 265.17314,40.456523 L 259.07146,40.456523 L 259.07146,34.851953 L 265.17314,34.851953 L 265.17314,19.968143 L 274.07223,16.800333 L 274.07223,34.851953 L 284.08249,34.851953 L 284.08249,40.456523 L 274.07223,40.456523 L 274.07223,75.302373 C 274.07223,78.645623 274.96896,81.014163 276.76243,82.398253 C 278.30247,83.538663 280.74899,84.191723 284.08249,84.357423 L 284.08249,88.997033 z \" id=\"path50\" style=\"fill:#646464;fill-opacity:1\"/>", | |
467 | " <path d=\"M 338.02288,88.266003 L 329.11404,88.266003 L 329.11404,53.878273 C 329.11404,50.379063 328.29528,47.367213 326.66753,44.852463 C 324.78634,42.006313 322.17411,40.583233 318.82112,40.583233 C 314.73708,40.583233 309.6296,42.737343 303.4987,47.045563 L 303.4987,88.266003 L 294.58985,88.266003 L 294.58985,6.0687929 L 303.4987,3.2616329 L 303.4987,40.700203 C 309.191,36.557693 315.40963,34.481563 322.16436,34.481563 C 326.88196,34.481563 330.70282,36.070333 333.62694,39.238143 C 336.56082,42.405943 338.02288,46.353513 338.02288,51.071103 L 338.02288,88.266003 L 338.02288,88.266003 z \" id=\"path52\" style=\"fill:#646464;fill-opacity:1\"/>", |
|
467 | " <path d=\"M 338.02288,88.266003 L 329.11404,88.266003 L 329.11404,53.878273 C 329.11404,50.379063 328.29528,47.367213 326.66753,44.852463 C 324.78634,42.006313 322.17411,40.583233 318.82112,40.583233 C 314.73708,40.583233 309.6296,42.737343 303.4987,47.045563 L 303.4987,88.266003 L 294.58985,88.266003 L 294.58985,6.0687929 L 303.4987,3.2616329 L 303.4987,40.700203 C 309.191,36.557693 315.40963,34.481563 322.16436,34.481563 C 326.88196,34.481563 330.70282,36.070333 333.62694,39.238143 C 336.56082,42.405943 338.02288,46.353513 338.02288,51.071103 L 338.02288,88.266003 L 338.02288,88.266003 z \" id=\"path52\" style=\"fill:#646464;fill-opacity:1\"/>", | |
468 | " <path d=\"M 385.37424,60.525783 C 385.37424,54.930953 384.31182,50.310833 382.19669,46.655673 C 379.68195,42.201253 375.77337,39.852203 370.49044,39.608523 C 360.72386,40.173863 355.85032,47.172273 355.85032,60.584263 C 355.85032,66.734683 356.86401,71.871393 358.91089,75.994413 C 361.52312,81.248093 365.44145,83.840823 370.66589,83.753103 C 380.47146,83.675123 385.37424,75.935933 385.37424,60.525783 z M 395.13109,60.584263 C 395.13109,68.547643 393.09395,75.175663 389.02941,80.468333 C 384.5555,86.394563 378.37584,89.367423 370.49044,89.367423 C 362.67328,89.367423 356.58135,86.394563 352.18541,80.468333 C 348.19885,75.175663 346.21044,68.547643 346.21044,60.584263 C 346.21044,53.098503 348.36455,46.801883 352.67276,41.674913 C 357.22466,36.236033 363.20937,33.506853 370.6074,33.506853 C 378.00545,33.506853 384.02914,36.236033 388.66877,41.674913 C 392.97697,46.801883 395.13109,53.098503 395.13109,60.584263 z \" id=\"path54\" style=\"fill:#646464;fill-opacity:1\"/>", |
|
468 | " <path d=\"M 385.37424,60.525783 C 385.37424,54.930953 384.31182,50.310833 382.19669,46.655673 C 379.68195,42.201253 375.77337,39.852203 370.49044,39.608523 C 360.72386,40.173863 355.85032,47.172273 355.85032,60.584263 C 355.85032,66.734683 356.86401,71.871393 358.91089,75.994413 C 361.52312,81.248093 365.44145,83.840823 370.66589,83.753103 C 380.47146,83.675123 385.37424,75.935933 385.37424,60.525783 z M 395.13109,60.584263 C 395.13109,68.547643 393.09395,75.175663 389.02941,80.468333 C 384.5555,86.394563 378.37584,89.367423 370.49044,89.367423 C 362.67328,89.367423 356.58135,86.394563 352.18541,80.468333 C 348.19885,75.175663 346.21044,68.547643 346.21044,60.584263 C 346.21044,53.098503 348.36455,46.801883 352.67276,41.674913 C 357.22466,36.236033 363.20937,33.506853 370.6074,33.506853 C 378.00545,33.506853 384.02914,36.236033 388.66877,41.674913 C 392.97697,46.801883 395.13109,53.098503 395.13109,60.584263 z \" id=\"path54\" style=\"fill:#646464;fill-opacity:1\"/>", | |
469 | " <path d=\"M 446.20583,88.266003 L 437.29699,88.266003 L 437.29699,51.928853 C 437.29699,47.942293 436.0981,44.832973 433.70032,42.591133 C 431.30253,40.359053 428.10549,39.277123 424.11893,39.364853 C 419.8887,39.442833 415.86314,40.826913 412.04229,43.507363 L 412.04229,88.266003 L 403.13345,88.266003 L 403.13345,42.405943 C 408.26042,38.672813 412.97801,36.236033 417.28621,35.095623 C 421.35076,34.033193 424.93769,33.506853 428.02752,33.506853 C 430.14264,33.506853 432.13104,33.711543 434.00248,34.120913 C 437.50169,34.929923 440.34783,36.430973 442.54093,38.633823 C 444.98744,41.070593 446.20583,43.994723 446.20583,47.415943 L 446.20583,88.266003 z \" id=\"path56\" style=\"fill:#646464;fill-opacity:1\"/>", |
|
469 | " <path d=\"M 446.20583,88.266003 L 437.29699,88.266003 L 437.29699,51.928853 C 437.29699,47.942293 436.0981,44.832973 433.70032,42.591133 C 431.30253,40.359053 428.10549,39.277123 424.11893,39.364853 C 419.8887,39.442833 415.86314,40.826913 412.04229,43.507363 L 412.04229,88.266003 L 403.13345,88.266003 L 403.13345,42.405943 C 408.26042,38.672813 412.97801,36.236033 417.28621,35.095623 C 421.35076,34.033193 424.93769,33.506853 428.02752,33.506853 C 430.14264,33.506853 432.13104,33.711543 434.00248,34.120913 C 437.50169,34.929923 440.34783,36.430973 442.54093,38.633823 C 444.98744,41.070593 446.20583,43.994723 446.20583,47.415943 L 446.20583,88.266003 z \" id=\"path56\" style=\"fill:#646464;fill-opacity:1\"/>", | |
470 | " <path d=\"M 60.510156,6.3979729 C 55.926503,6.4192712 51.549217,6.8101906 47.697656,7.4917229 C 36.35144,9.4962267 34.291407,13.691825 34.291406,21.429223 L 34.291406,31.647973 L 61.103906,31.647973 L 61.103906,35.054223 L 34.291406,35.054223 L 24.228906,35.054223 C 16.436447,35.054223 9.6131468,39.73794 7.4789058,48.647973 C 5.0170858,58.860939 4.9078907,65.233996 7.4789058,75.897973 C 9.3848341,83.835825 13.936449,89.491721 21.728906,89.491723 L 30.947656,89.491723 L 30.947656,77.241723 C 30.947656,68.391821 38.6048,60.585475 47.697656,60.585473 L 74.478906,60.585473 C 81.933857,60.585473 87.885159,54.447309 87.885156,46.960473 L 87.885156,21.429223 C 87.885156,14.162884 81.755176,8.7044455 74.478906,7.4917229 C 69.872919,6.7249976 65.093809,6.3766746 60.510156,6.3979729 z M 46.010156,14.616723 C 48.779703,14.616723 51.041406,16.915369 51.041406,19.741723 C 51.041404,22.558059 48.779703,24.835473 46.010156,24.835473 C 43.23068,24.835472 40.978906,22.558058 40.978906,19.741723 C 40.978905,16.91537 43.23068,14.616723 46.010156,14.616723 z \" id=\"path1948\" style=\"fill:url(#linearGradient1478);fill-opacity:1\"/>", |
|
470 | " <path d=\"M 60.510156,6.3979729 C 55.926503,6.4192712 51.549217,6.8101906 47.697656,7.4917229 C 36.35144,9.4962267 34.291407,13.691825 34.291406,21.429223 L 34.291406,31.647973 L 61.103906,31.647973 L 61.103906,35.054223 L 34.291406,35.054223 L 24.228906,35.054223 C 16.436447,35.054223 9.6131468,39.73794 7.4789058,48.647973 C 5.0170858,58.860939 4.9078907,65.233996 7.4789058,75.897973 C 9.3848341,83.835825 13.936449,89.491721 21.728906,89.491723 L 30.947656,89.491723 L 30.947656,77.241723 C 30.947656,68.391821 38.6048,60.585475 47.697656,60.585473 L 74.478906,60.585473 C 81.933857,60.585473 87.885159,54.447309 87.885156,46.960473 L 87.885156,21.429223 C 87.885156,14.162884 81.755176,8.7044455 74.478906,7.4917229 C 69.872919,6.7249976 65.093809,6.3766746 60.510156,6.3979729 z M 46.010156,14.616723 C 48.779703,14.616723 51.041406,16.915369 51.041406,19.741723 C 51.041404,22.558059 48.779703,24.835473 46.010156,24.835473 C 43.23068,24.835472 40.978906,22.558058 40.978906,19.741723 C 40.978905,16.91537 43.23068,14.616723 46.010156,14.616723 z \" id=\"path1948\" style=\"fill:url(#linearGradient1478);fill-opacity:1\"/>", | |
471 | " <path d=\"M 91.228906,35.054223 L 91.228906,46.960473 C 91.228906,56.191228 83.403011,63.960472 74.478906,63.960473 L 47.697656,63.960473 C 40.361823,63.960473 34.291407,70.238956 34.291406,77.585473 L 34.291406,103.11672 C 34.291406,110.38306 40.609994,114.65704 47.697656,116.74172 C 56.184987,119.23733 64.323893,119.68835 74.478906,116.74172 C 81.229061,114.78733 87.885159,110.85411 87.885156,103.11672 L 87.885156,92.897973 L 61.103906,92.897973 L 61.103906,89.491723 L 87.885156,89.491723 L 101.29141,89.491723 C 109.08387,89.491723 111.98766,84.056315 114.69765,75.897973 C 117.49698,67.499087 117.37787,59.422197 114.69765,48.647973 C 112.77187,40.890532 109.09378,35.054223 101.29141,35.054223 L 91.228906,35.054223 z M 76.166406,99.710473 C 78.945884,99.710476 81.197656,101.98789 81.197656,104.80422 C 81.197654,107.63057 78.945881,109.92922 76.166406,109.92922 C 73.396856,109.92922 71.135156,107.63057 71.135156,104.80422 C 71.135158,101.98789 73.396853,99.710473 76.166406,99.710473 z \" id=\"path1950\" style=\"fill:url(#linearGradient1475);fill-opacity:1\"/>", |
|
471 | " <path d=\"M 91.228906,35.054223 L 91.228906,46.960473 C 91.228906,56.191228 83.403011,63.960472 74.478906,63.960473 L 47.697656,63.960473 C 40.361823,63.960473 34.291407,70.238956 34.291406,77.585473 L 34.291406,103.11672 C 34.291406,110.38306 40.609994,114.65704 47.697656,116.74172 C 56.184987,119.23733 64.323893,119.68835 74.478906,116.74172 C 81.229061,114.78733 87.885159,110.85411 87.885156,103.11672 L 87.885156,92.897973 L 61.103906,92.897973 L 61.103906,89.491723 L 87.885156,89.491723 L 101.29141,89.491723 C 109.08387,89.491723 111.98766,84.056315 114.69765,75.897973 C 117.49698,67.499087 117.37787,59.422197 114.69765,48.647973 C 112.77187,40.890532 109.09378,35.054223 101.29141,35.054223 L 91.228906,35.054223 z M 76.166406,99.710473 C 78.945884,99.710476 81.197656,101.98789 81.197656,104.80422 C 81.197654,107.63057 78.945881,109.92922 76.166406,109.92922 C 73.396856,109.92922 71.135156,107.63057 71.135156,104.80422 C 71.135158,101.98789 73.396853,99.710473 76.166406,99.710473 z \" id=\"path1950\" style=\"fill:url(#linearGradient1475);fill-opacity:1\"/>", | |
472 | " <path d=\"M 463.5544,26.909383 L 465.11635,26.909383 L 465.11635,17.113143 L 468.81648,17.113143 L 468.81648,15.945483 L 459.85427,15.945483 L 459.85427,17.113143 L 463.5544,17.113143 L 463.5544,26.909383 M 470.20142,26.909383 L 471.53589,26.909383 L 471.53589,17.962353 L 474.4323,26.908259 L 475.91799,26.908259 L 478.93615,17.992683 L 478.93615,26.909383 L 480.39194,26.909383 L 480.39194,15.945483 L 478.46605,15.945483 L 475.16774,25.33834 L 472.35477,15.945483 L 470.20142,15.945483 L 470.20142,26.909383\" id=\"text3004\" style=\"font-size:15.16445827px;font-style:normal;font-weight:normal;line-height:125%;fill:#646464;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans\"/>", |
|
472 | " <path d=\"M 463.5544,26.909383 L 465.11635,26.909383 L 465.11635,17.113143 L 468.81648,17.113143 L 468.81648,15.945483 L 459.85427,15.945483 L 459.85427,17.113143 L 463.5544,17.113143 L 463.5544,26.909383 M 470.20142,26.909383 L 471.53589,26.909383 L 471.53589,17.962353 L 474.4323,26.908259 L 475.91799,26.908259 L 478.93615,17.992683 L 478.93615,26.909383 L 480.39194,26.909383 L 480.39194,15.945483 L 478.46605,15.945483 L 475.16774,25.33834 L 472.35477,15.945483 L 470.20142,15.945483 L 470.20142,26.909383\" id=\"text3004\" style=\"font-size:15.16445827px;font-style:normal;font-weight:normal;line-height:125%;fill:#646464;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans\"/>", | |
473 | " <path d=\"M 110.46717 132.28575 A 48.948284 8.6066771 0 1 1 12.570599,132.28575 A 48.948284 8.6066771 0 1 1 110.46717 132.28575 z\" id=\"path1894\" style=\"opacity:0.44382019;fill:url(#radialGradient1480);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1\" transform=\"matrix(0.73406,0,0,0.809524,16.24958,27.00935)\"/>", |
|
473 | " <path d=\"M 110.46717 132.28575 A 48.948284 8.6066771 0 1 1 12.570599,132.28575 A 48.948284 8.6066771 0 1 1 110.46717 132.28575 z\" id=\"path1894\" style=\"opacity:0.44382019;fill:url(#radialGradient1480);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:20;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1\" transform=\"matrix(0.73406,0,0,0.809524,16.24958,27.00935)\"/>", | |
474 | " </g>", |
|
474 | " </g>", | |
475 | "</svg>" |
|
475 | "</svg>" | |
476 | ], |
|
476 | ], | |
477 | "text": [ |
|
477 | "text": [ | |
478 | "<IPython.core.display.SVG at 0x41d4910>" |
|
478 | "<IPython.core.display.SVG at 0x41d4910>" | |
479 | ] |
|
479 | ] | |
480 | } |
|
480 | } | |
481 | ], |
|
481 | ], | |
482 | "prompt_number": 3 |
|
482 | "prompt_number": 3 | |
483 | }, |
|
483 | }, | |
484 | { |
|
484 | { | |
485 | "cell_type": "markdown", |
|
485 | "cell_type": "markdown", | |
486 | "source": [ |
|
486 | "source": [ | |
487 | "### Video" |
|
487 | "### Video" | |
488 | ] |
|
488 | ] | |
489 | }, |
|
489 | }, | |
490 | { |
|
490 | { | |
491 | "cell_type": "markdown", |
|
491 | "cell_type": "markdown", | |
492 | "source": [ |
|
492 | "source": [ | |
493 | "And more exotic objects can also be displayed, as long as their representation supports ", |
|
493 | "And more exotic objects can also be displayed, as long as their representation supports ", | |
494 | "the IPython display protocol.", |
|
494 | "the IPython display protocol.", | |
495 | "", |
|
495 | "", | |
496 | "For example, videos hosted externally on YouTube are easy to load (and writing a similar wrapper for other", |
|
496 | "For example, videos hosted externally on YouTube are easy to load (and writing a similar wrapper for other", | |
497 | "hosted content is trivial):" |
|
497 | "hosted content is trivial):" | |
498 | ] |
|
498 | ] | |
499 | }, |
|
499 | }, | |
500 | { |
|
500 | { | |
501 | "cell_type": "code", |
|
501 | "cell_type": "code", | |
502 | "collapsed": false, |
|
502 | "collapsed": false, | |
503 | "input": [ |
|
503 | "input": [ | |
504 | "from IPython.lib.display import YouTubeVideo", |
|
504 | "from IPython.lib.display import YouTubeVideo", | |
505 | "# a talk about IPython at Sage Days at U. Washington, Seattle.", |
|
505 | "# a talk about IPython at Sage Days at U. Washington, Seattle.", | |
506 | "# Video credit: William Stein.", |
|
506 | "# Video credit: William Stein.", | |
507 | "YouTubeVideo('1j_HxD4iLn8')" |
|
507 | "YouTubeVideo('1j_HxD4iLn8')" | |
508 | ], |
|
508 | ], | |
509 | "language": "python", |
|
509 | "language": "python", | |
510 | "outputs": [ |
|
510 | "outputs": [ | |
511 | { |
|
511 | { | |
512 | "html": [ |
|
512 | "html": [ | |
513 | "", |
|
513 | "", | |
514 | " <iframe", |
|
514 | " <iframe", | |
515 | " width=\"400\"", |
|
515 | " width=\"400\"", | |
516 | " height=\"300\"", |
|
516 | " height=\"300\"", | |
517 | " src=\"http://www.youtube.com/embed/1j_HxD4iLn8\"", |
|
517 | " src=\"http://www.youtube.com/embed/1j_HxD4iLn8\"", | |
518 | " frameborder=\"0\"", |
|
518 | " frameborder=\"0\"", | |
519 | " allowfullscreen", |
|
519 | " allowfullscreen", | |
520 | " ></iframe>", |
|
520 | " ></iframe>", | |
521 | " " |
|
521 | " " | |
522 | ], |
|
522 | ], | |
523 | "output_type": "pyout", |
|
523 | "output_type": "pyout", | |
524 | "prompt_number": 4, |
|
524 | "prompt_number": 4, | |
525 | "text": [ |
|
525 | "text": [ | |
526 | "<IPython.lib.display.YouTubeVideo at 0x41d4310>" |
|
526 | "<IPython.lib.display.YouTubeVideo at 0x41d4310>" | |
527 | ] |
|
527 | ] | |
528 | } |
|
528 | } | |
529 | ], |
|
529 | ], | |
530 | "prompt_number": 4 |
|
530 | "prompt_number": 4 | |
531 | }, |
|
531 | }, | |
532 | { |
|
532 | { | |
533 | "cell_type": "markdown", |
|
533 | "cell_type": "markdown", | |
534 | "source": [ |
|
534 | "source": [ | |
535 | "Using the nascent video capabilities of modern browsers, you may also be able to display local", |
|
535 | "Using the nascent video capabilities of modern browsers, you may also be able to display local", | |
536 | "videos. At the moment this doesn't work very well in all browsers, so it may or may not work for you;", |
|
536 | "videos. At the moment this doesn't work very well in all browsers, so it may or may not work for you;", | |
537 | "we will continue testing this and looking for ways to make it more robust. ", |
|
537 | "we will continue testing this and looking for ways to make it more robust. ", | |
538 | "", |
|
538 | "", | |
539 | "The following cell loads a local file called `animation.m4v`, encodes the raw video as base64 for http", |
|
539 | "The following cell loads a local file called `animation.m4v`, encodes the raw video as base64 for http", | |
540 | "transport, and uses the HTML5 video tag to load it. On Chrome 15 it works correctly, displaying a control", |
|
540 | "transport, and uses the HTML5 video tag to load it. On Chrome 15 it works correctly, displaying a control", | |
541 | "bar at the bottom with a play/pause button and a location slider." |
|
541 | "bar at the bottom with a play/pause button and a location slider." | |
542 | ] |
|
542 | ] | |
543 | }, |
|
543 | }, | |
544 | { |
|
544 | { | |
545 | "cell_type": "code", |
|
545 | "cell_type": "code", | |
546 | "collapsed": false, |
|
546 | "collapsed": false, | |
547 | "input": [ |
|
547 | "input": [ | |
548 | "from IPython.core.display import HTML", |
|
548 | "from IPython.core.display import HTML", | |
549 | "video = open(\"animation.m4v\", \"rb\").read()", |
|
549 | "video = open(\"animation.m4v\", \"rb\").read()", | |
550 | "video_encoded = video.encode(\"base64\")", |
|
550 | "video_encoded = video.encode(\"base64\")", | |
551 | "video_tag = '<video controls alt=\"test\" src=\"data:video/x-m4v;base64,{0}\">'.format(video_encoded)", |
|
551 | "video_tag = '<video controls alt=\"test\" src=\"data:video/x-m4v;base64,{0}\">'.format(video_encoded)", | |
552 | "HTML(data=video_tag)" |
|
552 | "HTML(data=video_tag)" | |
553 | ], |
|
553 | ], | |
554 | "language": "python", |
|
554 | "language": "python", | |
555 | "outputs": [ |
|
555 | "outputs": [ | |
556 | { |
|
556 | { | |
557 | "html": [ |
|
557 | "html": [ | |
558 | "<video controls alt=\"test\" src=\"data:video/x-m4v;base64,AAAAHGZ0eXBNNFYgAAACAGlzb21pc28yYXZjMQAAAAhmcmVlAAAqiW1kYXQAAAKMBgX//4jcRem9", |
|
558 | "<video controls alt=\"test\" src=\"data:video/x-m4v;base64,AAAAHGZ0eXBNNFYgAAACAGlzb21pc28yYXZjMQAAAAhmcmVlAAAqiW1kYXQAAAKMBgX//4jcRem9", | |
559 | "5tlIt5Ys2CDZI+7veDI2NCAtIGNvcmUgMTE4IC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENv", |
|
559 | "5tlIt5Ys2CDZI+7veDI2NCAtIGNvcmUgMTE4IC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENv", | |
560 | "cHlsZWZ0IDIwMDMtMjAxMSAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9w", |
|
560 | "cHlsZWZ0IDIwMDMtMjAxMSAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9w", | |
561 | "dGlvbnM6IGNhYmFjPTEgcmVmPTMgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MzoweDExMyBtZT1o", |
|
561 | "dGlvbnM6IGNhYmFjPTEgcmVmPTMgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MzoweDExMyBtZT1o", | |
562 | "ZXggc3VibWU9NyBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0xIG1lX3JhbmdlPTE2", |
|
562 | "ZXggc3VibWU9NyBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0xIG1lX3JhbmdlPTE2", | |
563 | "IGNocm9tYV9tZT0xIHRyZWxsaXM9MSA4eDhkY3Q9MSBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0", |
|
563 | "IGNocm9tYV9tZT0xIHRyZWxsaXM9MSA4eDhkY3Q9MSBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0", | |
564 | "X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0tMiB0aHJlYWRzPTEgc2xpY2VkX3RocmVhZHM9MCBu", |
|
564 | "X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0tMiB0aHJlYWRzPTEgc2xpY2VkX3RocmVhZHM9MCBu", | |
565 | "cj0wIGRlY2ltYXRlPTEgaW50ZXJsYWNlZD0wIGJsdXJheV9jb21wYXQ9MCBjb25zdHJhaW5lZF9p", |
|
565 | "cj0wIGRlY2ltYXRlPTEgaW50ZXJsYWNlZD0wIGJsdXJheV9jb21wYXQ9MCBjb25zdHJhaW5lZF9p", | |
566 | "bnRyYT0wIGJmcmFtZXM9MyBiX3B5cmFtaWQ9MiBiX2FkYXB0PTEgYl9iaWFzPTAgZGlyZWN0PTEg", |
|
566 | "bnRyYT0wIGJmcmFtZXM9MyBiX3B5cmFtaWQ9MiBiX2FkYXB0PTEgYl9iaWFzPTAgZGlyZWN0PTEg", | |
567 | "d2VpZ2h0Yj0xIG9wZW5fZ29wPTAgd2VpZ2h0cD0yIGtleWludD0yNTAga2V5aW50X21pbj0yNSBz", |
|
567 | "d2VpZ2h0Yj0xIG9wZW5fZ29wPTAgd2VpZ2h0cD0yIGtleWludD0yNTAga2V5aW50X21pbj0yNSBz", | |
568 | "Y2VuZWN1dD00MCBpbnRyYV9yZWZyZXNoPTAgcmNfbG9va2FoZWFkPTQwIHJjPWNyZiBtYnRyZWU9", |
|
568 | "Y2VuZWN1dD00MCBpbnRyYV9yZWZyZXNoPTAgcmNfbG9va2FoZWFkPTQwIHJjPWNyZiBtYnRyZWU9", | |
569 | "MSBjcmY9MjMuMCBxY29tcD0wLjYwIHFwbWluPTAgcXBtYXg9NjkgcXBzdGVwPTQgaXBfcmF0aW89", |
|
569 | "MSBjcmY9MjMuMCBxY29tcD0wLjYwIHFwbWluPTAgcXBtYXg9NjkgcXBzdGVwPTQgaXBfcmF0aW89", | |
570 | "MS40MCBhcT0xOjEuMDAAgAAACqVliIQAV/0TAAI/3gU2tIW7KawwaCmQGTGHKmuYAAADACBcshU+", |
|
570 | "MS40MCBhcT0xOjEuMDAAgAAACqVliIQAV/0TAAI/3gU2tIW7KawwaCmQGTGHKmuYAAADACBcshU+", | |
571 | "yICkgAA14AHowiEeT6ei7v7h3Hu0i2fpUBLGBIkbCMP3Vfz+9BVGCDXnw9Uv5o3iN030tb7eq6rs", |
|
571 | "yICkgAA14AHowiEeT6ei7v7h3Hu0i2fpUBLGBIkbCMP3Vfz+9BVGCDXnw9Uv5o3iN030tb7eq6rs", | |
572 | "EEhHs2azbdTiE9Csz5Zm6SiUWRdmB43hbD5i6syATuODUJd7LM3d9cbFpc7zFlu5y3vUmNGd6urp", |
|
572 | "EEhHs2azbdTiE9Csz5Zm6SiUWRdmB43hbD5i6syATuODUJd7LM3d9cbFpc7zFlu5y3vUmNGd6urp", | |
573 | "vKKT9iyleIyTuR1sVS431DhevGfkUllVeIznYUe2USoMW1tufETjyRdmGldN6eNlhAOsGAH4z+Hk", |
|
573 | "vKKT9iyleIyTuR1sVS431DhevGfkUllVeIznYUe2USoMW1tufETjyRdmGldN6eNlhAOsGAH4z+Hk", | |
574 | "rwKecPPU7Q5T4gDAIxj9hW84jVExMTSTHxkPTq1I4OotgUxURCGTsw60k/ezPNmNg38j1bqaGmPc", |
|
574 | "rwKecPPU7Q5T4gDAIxj9hW84jVExMTSTHxkPTq1I4OotgUxURCGTsw60k/ezPNmNg38j1bqaGmPc", | |
575 | "ruDKEIBDsK5qEytFB90Q68s0h2wmlf2KXd5bleBefiK+/p47ZsyUO4IdlW25rRy+HLjt6wQXfYee", |
|
575 | "ruDKEIBDsK5qEytFB90Q68s0h2wmlf2KXd5bleBefiK+/p47ZsyUO4IdlW25rRy+HLjt6wQXfYee", | |
576 | "3IkiQOoOK+U7u/lxcl78zfxwIoEMjUUSKNZjkp8clnmecDDJ3Kz+viF7bPklk7N6QRyizAKPIIpn", |
|
576 | "3IkiQOoOK+U7u/lxcl78zfxwIoEMjUUSKNZjkp8clnmecDDJ3Kz+viF7bPklk7N6QRyizAKPIIpn", | |
577 | "NJUuMWQmqeL2Or6cr4D0/0tOym+4tficxmhuEONKUtO2pPn3hRjMllkd12tXp70fLTfxy0dwB70M", |
|
577 | "NJUuMWQmqeL2Or6cr4D0/0tOym+4tficxmhuEONKUtO2pPn3hRjMllkd12tXp70fLTfxy0dwB70M", | |
578 | "L9iLEcItHb7zVupHlP5RxdvecpREw+OsIPr9KWilIesNE19jgIbT+TkiRBjOoKvUuwcQnKg7fOTH", |
|
578 | "L9iLEcItHb7zVupHlP5RxdvecpREw+OsIPr9KWilIesNE19jgIbT+TkiRBjOoKvUuwcQnKg7fOTH", | |
579 | "VoLvnKuAfea+oujEdm1Rwd2tEOnkF+ZC11WaNQsiNR/eJ9EnUXjXDYGfhB+Oe7qj8nYTT+eOXg1c", |
|
579 | "VoLvnKuAfea+oujEdm1Rwd2tEOnkF+ZC11WaNQsiNR/eJ9EnUXjXDYGfhB+Oe7qj8nYTT+eOXg1c", | |
580 | "uJNgLXEs4vOheWEjQOqfIWMQc3DmTof5s0ksBmUQ3PQ+UHPxZSnmOEZB+j6xT3wbm7HGzDjWtSg1", |
|
580 | "uJNgLXEs4vOheWEjQOqfIWMQc3DmTof5s0ksBmUQ3PQ+UHPxZSnmOEZB+j6xT3wbm7HGzDjWtSg1", | |
581 | "SjTxd1EiJ8xA4SIxxR8WIKLg+TwFxJNS7Laxq7Uglu3AkXe82P1JCdJX5PsbFbxuDbuJgakzRcTw", |
|
581 | "SjTxd1EiJ8xA4SIxxR8WIKLg+TwFxJNS7Laxq7Uglu3AkXe82P1JCdJX5PsbFbxuDbuJgakzRcTw", | |
582 | "MLLSKCiizS/eCW0uJed/lev9yb80kKlVET4S219cn/zhkpeDV83cHYOr+sJQKDRk/Wh2c7fsuxfx", |
|
582 | "MLLSKCiizS/eCW0uJed/lev9yb80kKlVET4S219cn/zhkpeDV83cHYOr+sJQKDRk/Wh2c7fsuxfx", | |
583 | "aEH/6reSmvFDsAnXAyPXliJ3G4VG3OkEM5K5WyGGrBizZbTrdGsBnzj5VSGGOJdCKuRrUluw/8es", |
|
583 | "aEH/6reSmvFDsAnXAyPXliJ3G4VG3OkEM5K5WyGGrBizZbTrdGsBnzj5VSGGOJdCKuRrUluw/8es", | |
584 | "2vYRPs9BcTqAqvHk9M52SSIf+1T6L53EZP8VbtXB+G29CMW4xVCK/B/YDjaNmqMwJ61dapugjnWJ", |
|
584 | "2vYRPs9BcTqAqvHk9M52SSIf+1T6L53EZP8VbtXB+G29CMW4xVCK/B/YDjaNmqMwJ61dapugjnWJ", | |
585 | "fqeXlGGa3Ch3aA7gi30T8PucNRBjLK3lF67ZDDvkWXRQXd+VMnKWHkBbCkQ/F/fMuNpHO3C00Y2p", |
|
585 | "fqeXlGGa3Ch3aA7gi30T8PucNRBjLK3lF67ZDDvkWXRQXd+VMnKWHkBbCkQ/F/fMuNpHO3C00Y2p", | |
586 | "ljna1qImBhVMvPe0F7Qx7G/YyxLRzhyUU8e23HGzp0agtNJRbydbrPV+TqJMSifJMNcZIf8wkdnC", |
|
586 | "ljna1qImBhVMvPe0F7Qx7G/YyxLRzhyUU8e23HGzp0agtNJRbydbrPV+TqJMSifJMNcZIf8wkdnC", | |
587 | "3/xdpcXnLf2Ye3Kbd0o7utciTG+q5h6WTEk+PaNbXLLA0YyZ2VnLTcyV1QTS76aNCbV9Q1/OQ7QU", |
|
587 | "3/xdpcXnLf2Ye3Kbd0o7utciTG+q5h6WTEk+PaNbXLLA0YyZ2VnLTcyV1QTS76aNCbV9Q1/OQ7QU", | |
588 | "81Gg0hPa9aSiscGary6jLVwDQaik4zLsi7jPqgPVdup7pwx7uJDqRCVcVi5QoZFp/GHdex5sJTF6", |
|
588 | "81Gg0hPa9aSiscGary6jLVwDQaik4zLsi7jPqgPVdup7pwx7uJDqRCVcVi5QoZFp/GHdex5sJTF6", | |
589 | "9A6sja69/NLkFIWNSIeRcuGahXpF+wZeYIrqJv975s1TKYKAvp1WtzgtgWNkcbzCtROqf8rPtlAI", |
|
589 | "9A6sja69/NLkFIWNSIeRcuGahXpF+wZeYIrqJv975s1TKYKAvp1WtzgtgWNkcbzCtROqf8rPtlAI", | |
590 | "xkX8GLcEo9zfExyfimeXQ64qfFxEy0IMy2Hsxau9fSMqUnIjntuVVjCQtBL+94gx1RZLndE6wROV", |
|
590 | "xkX8GLcEo9zfExyfimeXQ64qfFxEy0IMy2Hsxau9fSMqUnIjntuVVjCQtBL+94gx1RZLndE6wROV", | |
591 | "Tq/wHwHrQzo9QL9cpPqPFJjiZ/NGZIFuudS+wsBFe6Hu8Oitf5zToLqLdtU4Smwh4ne3JsiT9lOz", |
|
591 | "Tq/wHwHrQzo9QL9cpPqPFJjiZ/NGZIFuudS+wsBFe6Hu8Oitf5zToLqLdtU4Smwh4ne3JsiT9lOz", | |
592 | "N+4PPw3VSx9l5FppVwdKUWELw1dYpCOppyVWlJ3YQ8H4FQQM8EcYMG9N3Bxu79y1J1ikuvuhMmLQ", |
|
592 | "N+4PPw3VSx9l5FppVwdKUWELw1dYpCOppyVWlJ3YQ8H4FQQM8EcYMG9N3Bxu79y1J1ikuvuhMmLQ", | |
593 | "lehLTbguhbix74hd1VIQC8EjHmOZSSWbssulYwPbr6FF49tifk6PymJvulR9/u+2585HkRfbxveG", |
|
593 | "lehLTbguhbix74hd1VIQC8EjHmOZSSWbssulYwPbr6FF49tifk6PymJvulR9/u+2585HkRfbxveG", | |
594 | "eWCz0ix1pIVfaNpESKmtLy/0mcbMg9hYDz2werz9oe0lT2BiMV6uAin6RaQcT8Vk9MPctfwae+gk", |
|
594 | "eWCz0ix1pIVfaNpESKmtLy/0mcbMg9hYDz2werz9oe0lT2BiMV6uAin6RaQcT8Vk9MPctfwae+gk", | |
595 | "vtnZA/sOBk8MbpylaHqc0KIVHhhLFMNnkOFiucjtGo/JWTa/F6g8wWeow5ZuIJUORaYHWqegZbTg", |
|
595 | "vtnZA/sOBk8MbpylaHqc0KIVHhhLFMNnkOFiucjtGo/JWTa/F6g8wWeow5ZuIJUORaYHWqegZbTg", | |
596 | "M9dCsYYsfZGjjVMuSlDIvpYvIvFFooGPC7Ye2Jfawmq4Ut7EL/nv/dyAd2HRc5msmUhzeu/XpX3r", |
|
596 | "M9dCsYYsfZGjjVMuSlDIvpYvIvFFooGPC7Ye2Jfawmq4Ut7EL/nv/dyAd2HRc5msmUhzeu/XpX3r", | |
597 | "VlzRmf9/Qan8Dbve3QfW1Ym0o5J/KAc3z1VBho7JBr5PgCL68RiD9jZHN0VvsT4gzsEjNlW3D91U", |
|
597 | "VlzRmf9/Qan8Dbve3QfW1Ym0o5J/KAc3z1VBho7JBr5PgCL68RiD9jZHN0VvsT4gzsEjNlW3D91U", | |
598 | "y4RduaodBFoNTzXwlfUYULBzdiTbH75l/UmVMC4TKeTWhNzw2UezaqeGd8at3WSY7W/VR3+hvZHD", |
|
598 | "y4RduaodBFoNTzXwlfUYULBzdiTbH75l/UmVMC4TKeTWhNzw2UezaqeGd8at3WSY7W/VR3+hvZHD", | |
599 | "pkIjgKuNNH0DsCRa/Kk56XQoHIyvvUH/eNekNvziReqS4qgLnXUT4BRGt2BOtCifI6+X/DGHUOmW", |
|
599 | "pkIjgKuNNH0DsCRa/Kk56XQoHIyvvUH/eNekNvziReqS4qgLnXUT4BRGt2BOtCifI6+X/DGHUOmW", | |
600 | "lX7TN5b4pw5U7jwfwshtbhGZM49T8JMk15Mzrc7tM6J11TYxb5R3mQhZ8TZumJ0bMJXPM69HFyih", |
|
600 | "lX7TN5b4pw5U7jwfwshtbhGZM49T8JMk15Mzrc7tM6J11TYxb5R3mQhZ8TZumJ0bMJXPM69HFyih", | |
601 | "r5dJSEJMycxJVUh6NTQALUOoRTHIOwE+FpWI6feTv1SiZ0YpYe5DbkYJJbN7zAHbAKw25XvqR2mA", |
|
601 | "r5dJSEJMycxJVUh6NTQALUOoRTHIOwE+FpWI6feTv1SiZ0YpYe5DbkYJJbN7zAHbAKw25XvqR2mA", | |
602 | "jQmOlsfX/tK8DPjP/8h5/xgAF4EUbj1tOnQCBQL8jk9vHtfsXncsprww4Z+P/Z/UrKifuFyEpBWN", |
|
602 | "jQmOlsfX/tK8DPjP/8h5/xgAF4EUbj1tOnQCBQL8jk9vHtfsXncsprww4Z+P/Z/UrKifuFyEpBWN", | |
603 | "8kLpF7yywE2iYdDruV9+/qKR8rC9ozNKyqQNIwtxrzYkWpE5t8K7gG4JFnrHona/Rp8dOX6VW41+", |
|
603 | "8kLpF7yywE2iYdDruV9+/qKR8rC9ozNKyqQNIwtxrzYkWpE5t8K7gG4JFnrHona/Rp8dOX6VW41+", | |
604 | "jb5LB1LEtE8MwjLp3RCUOq/+6yLzaOEgBTqzvEjDeFpg/u9DMHMr4/2TOchfjg7dl+uQ6Gsx+4Ia", |
|
604 | "jb5LB1LEtE8MwjLp3RCUOq/+6yLzaOEgBTqzvEjDeFpg/u9DMHMr4/2TOchfjg7dl+uQ6Gsx+4Ia", | |
605 | "9W7vivG95027p25eKL0nHvx/OqmAQEZYJL/JO58lOj0zPdJxrQ5dZksjMISzVZNn7DsxqE3zgBBu", |
|
605 | "9W7vivG95027p25eKL0nHvx/OqmAQEZYJL/JO58lOj0zPdJxrQ5dZksjMISzVZNn7DsxqE3zgBBu", | |
606 | "Nzk50R8lTK3U8P12QiOAQYSTeGlYlkvfeofrfO1AitEj02m9aUkxTFd1ZZJoLQT2d3zEU5PmE4lx", |
|
606 | "Nzk50R8lTK3U8P12QiOAQYSTeGlYlkvfeofrfO1AitEj02m9aUkxTFd1ZZJoLQT2d3zEU5PmE4lx", | |
607 | "MVfL5ttNnIbqfcIU2RJKNWqdw77xfjfrNc/eNpRKPZ/6z50LzBprgjzBHRfKgSWWkDxHrX0aTbgw", |
|
607 | "MVfL5ttNnIbqfcIU2RJKNWqdw77xfjfrNc/eNpRKPZ/6z50LzBprgjzBHRfKgSWWkDxHrX0aTbgw", | |
608 | "QFwd51+PoUWH4DkQg26uGslF5Hn3hB58+fkeLTosTANOIBNAeFZtTc4PIaLHw759zae7scY55xcT", |
|
608 | "QFwd51+PoUWH4DkQg26uGslF5Hn3hB58+fkeLTosTANOIBNAeFZtTc4PIaLHw759zae7scY55xcT", | |
609 | "abzlilYIftst2RZ6ntsRC3zFxduCKvL6wLfYT+TiIWJn5P7sTwZwXuSzXY+9Q3xMZ5o4Xcpz6vD9", |
|
609 | "abzlilYIftst2RZ6ntsRC3zFxduCKvL6wLfYT+TiIWJn5P7sTwZwXuSzXY+9Q3xMZ5o4Xcpz6vD9", | |
610 | "FtTjzS69iefEYt4pXiDrZUo4ePGiLeoIFIwYB/v6GXdmG5VLLk+eKbOc9AmsX2zmvqtcvDRGQbzu", |
|
610 | "FtTjzS69iefEYt4pXiDrZUo4ePGiLeoIFIwYB/v6GXdmG5VLLk+eKbOc9AmsX2zmvqtcvDRGQbzu", | |
611 | "gXbH/kTH/lkNPBTmqN3ZJODUEXVohPEJ6th0xna0EVleB73Q3eNvaVUvhlJbjs3D/T17FRCebN7A", |
|
611 | "gXbH/kTH/lkNPBTmqN3ZJODUEXVohPEJ6th0xna0EVleB73Q3eNvaVUvhlJbjs3D/T17FRCebN7A", | |
612 | "OXvzzbLE/I5kNfEmJcv4dxtIeo2uQ/z9ohSpiZzbDj1u40nJRyJxUK60wEv0nA9f/NuJ6/PEyU0b", |
|
612 | "OXvzzbLE/I5kNfEmJcv4dxtIeo2uQ/z9ohSpiZzbDj1u40nJRyJxUK60wEv0nA9f/NuJ6/PEyU0b", | |
613 | "kK16z2KH12k3Lc4+1f5fawIzkK2qJRB4wnj8VHhUW9mbJhs9vgfFmU3xrXSShY67Ygb+gYNPxxtn", |
|
613 | "kK16z2KH12k3Lc4+1f5fawIzkK2qJRB4wnj8VHhUW9mbJhs9vgfFmU3xrXSShY67Ygb+gYNPxxtn", | |
614 | "4K/9eTSwIA9fv/nR33lA2lZoXALRUTmOZIl3R0gAM5h6oX1y1thIyqViBK95VZc8Pvy7G3O90M9S", |
|
614 | "4K/9eTSwIA9fv/nR33lA2lZoXALRUTmOZIl3R0gAM5h6oX1y1thIyqViBK95VZc8Pvy7G3O90M9S", | |
615 | "4zkpyFQ36jrMazvMveMA4d39fvoaC7p90quiJfjI4yrl+ECVkCJL5MxRSa+iVcIL7Xbl0jVaGhZI", |
|
615 | "4zkpyFQ36jrMazvMveMA4d39fvoaC7p90quiJfjI4yrl+ECVkCJL5MxRSa+iVcIL7Xbl0jVaGhZI", | |
616 | "cMYmcGOBbLzhJgloM1x1zFnnj3ggJRFAM8yNnXxhavk+mA18JC+y3lqGsp6vPReRxGlGHMou17L4", |
|
616 | "cMYmcGOBbLzhJgloM1x1zFnnj3ggJRFAM8yNnXxhavk+mA18JC+y3lqGsp6vPReRxGlGHMou17L4", | |
617 | "It070LzkoeCzarpv8Apw59smdS5KN9qVN1WgeL7OSN8BHg94ubCvS7DW6H3/PbtRB62jFLsBhUV5", |
|
617 | "It070LzkoeCzarpv8Apw59smdS5KN9qVN1WgeL7OSN8BHg94ubCvS7DW6H3/PbtRB62jFLsBhUV5", | |
618 | "YqCIbIN5VZ81AAACpUGaIWxFfwAru8x8uT3FuOjrAeSWXmAWqq9jCNGE+N5AOv//9//xjk4uBAcA", |
|
618 | "YqCIbIN5VZ81AAACpUGaIWxFfwAru8x8uT3FuOjrAeSWXmAWqq9jCNGE+N5AOv//9//xjk4uBAcA", | |
619 | "DN96c97AVGmzRtnWwPsgcCbLrVdQJgbKp4QSmPwQnVhv0hXyBjeFWWlcvx70urEN3FK6/lvk2tQe", |
|
619 | "DN96c97AVGmzRtnWwPsgcCbLrVdQJgbKp4QSmPwQnVhv0hXyBjeFWWlcvx70urEN3FK6/lvk2tQe", | |
620 | "ZgbtlbzXluvTfnSj/Ctz7vZ+O1FjhDzzdpL7uLzewzCIW5VWLAEKUVuS2J6wNk6MR7UblcEd4EtO", |
|
620 | "ZgbtlbzXluvTfnSj/Ctz7vZ+O1FjhDzzdpL7uLzewzCIW5VWLAEKUVuS2J6wNk6MR7UblcEd4EtO", | |
621 | "Y+R4/qJgfojCsfRvA0oC5dc41Vd0erZbSkrmPTjLCn815bxlchUJMS8gQD5hJNwoKHvNLNwn7XKu", |
|
621 | "Y+R4/qJgfojCsfRvA0oC5dc41Vd0erZbSkrmPTjLCn815bxlchUJMS8gQD5hJNwoKHvNLNwn7XKu", | |
622 | "TtYIhH2wVNZvDWgzCjlPeQajnrcMsb6bZYJvNJU8HuGHvm50r7VG8qifEwmuyegAZXojh5Ul5Vvj", |
|
622 | "TtYIhH2wVNZvDWgzCjlPeQajnrcMsb6bZYJvNJU8HuGHvm50r7VG8qifEwmuyegAZXojh5Ul5Vvj", | |
623 | "DW7kSAZyw8a7I6mHY3FZHd+OA3V4JZMbNliI3Tj1L6+MKTmilVialmyZagRtEMeKRdtxUPd3vVEt", |
|
623 | "DW7kSAZyw8a7I6mHY3FZHd+OA3V4JZMbNliI3Tj1L6+MKTmilVialmyZagRtEMeKRdtxUPd3vVEt", | |
624 | "rOBVIVYWdgAGA7HmZiHQUQNxLkWxbLyWVlrh5EM0Do2NdbclHxxArz90d+MSVeUOIXQ/4V9quq8C", |
|
624 | "rOBVIVYWdgAGA7HmZiHQUQNxLkWxbLyWVlrh5EM0Do2NdbclHxxArz90d+MSVeUOIXQ/4V9quq8C", | |
625 | "8qVflo1gPtPMkjO2/UrdOYqhY404ReObOu/fdp4hAEDq6jhy64vOeT7XUK/Onq0rXTldtA6kvgQa", |
|
625 | "8qVflo1gPtPMkjO2/UrdOYqhY404ReObOu/fdp4hAEDq6jhy64vOeT7XUK/Onq0rXTldtA6kvgQa", | |
626 | "Jg+mgYSR9hfXtMbOUSLgLj/RmBSO8aAMHuJJZqf1tCM5pZ9eYUsrHmy+/z2NGalon0//uF6+33bQ", |
|
626 | "Jg+mgYSR9hfXtMbOUSLgLj/RmBSO8aAMHuJJZqf1tCM5pZ9eYUsrHmy+/z2NGalon0//uF6+33bQ", | |
627 | "zT/RLRfBbYTjy9QrJqHLlw46lggWPGkHuPKSqk/CB7U4pNPXUbR0DdcJy9Db00wCzVzxVc6h7jfC", |
|
627 | "zT/RLRfBbYTjy9QrJqHLlw46lggWPGkHuPKSqk/CB7U4pNPXUbR0DdcJy9Db00wCzVzxVc6h7jfC", | |
628 | "FgiL2Y0HVqd6bgIaVUqn/gJCEyCDVplnzebv0gg3XwMJAGu639lHu7rEvxTp1smIYjWp9R5L4Ssp", |
|
628 | "FgiL2Y0HVqd6bgIaVUqn/gJCEyCDVplnzebv0gg3XwMJAGu639lHu7rEvxTp1smIYjWp9R5L4Ssp", | |
629 | "VvS07Nb+Smk1FgsMp1K3EMUT8X2Fty4VG54/Ec6bE8tNVw4/QV1VzBw7Px2/2eEhhUS+FMfbHAlD", |
|
629 | "VvS07Nb+Smk1FgsMp1K3EMUT8X2Fty4VG54/Ec6bE8tNVw4/QV1VzBw7Px2/2eEhhUS+FMfbHAlD", | |
630 | "28x00jRgAAACW0GaQjwhkymEVwArOUkEOhoFqiELtH8wgecFLiUq6WqmwAP7iGEwbYzfnHacfqUN", |
|
630 | "28x00jRgAAACW0GaQjwhkymEVwArOUkEOhoFqiELtH8wgecFLiUq6WqmwAP7iGEwbYzfnHacfqUN", | |
631 | "XAfD+CGR2ap0lAHL25ipuYtd5j2O0PU/MpaWPG/n2y5OkfTzaOpotaR5tWjN55B2XblVVqsFfBC/", |
|
631 | "XAfD+CGR2ap0lAHL25ipuYtd5j2O0PU/MpaWPG/n2y5OkfTzaOpotaR5tWjN55B2XblVVqsFfBC/", | |
632 | "mvsiPvCBWUHFChacdY5whj5mP5rqQ0dqLJCsWjrs4TWnIbL2V/Iwfj3hwI35jfo1JkTOeR+8GhOd", |
|
632 | "mvsiPvCBWUHFChacdY5whj5mP5rqQ0dqLJCsWjrs4TWnIbL2V/Iwfj3hwI35jfo1JkTOeR+8GhOd", | |
633 | "ma9rgiKWafCbQyhYMTDmVdvhND60Flm97EDSTjF0OC+0gD9b8Yn4tNeHipCa/aWyt0n79bMmjfcj", |
|
633 | "ma9rgiKWafCbQyhYMTDmVdvhND60Flm97EDSTjF0OC+0gD9b8Yn4tNeHipCa/aWyt0n79bMmjfcj", | |
634 | "ntBCPjrcB5ecRTpfGHbEHy1IRj2cjkGXKC+VYoYJXBp4rd4cMd8ygLCk5nBSd8/cTaKNRjdBscOe", |
|
634 | "ntBCPjrcB5ecRTpfGHbEHy1IRj2cjkGXKC+VYoYJXBp4rd4cMd8ygLCk5nBSd8/cTaKNRjdBscOe", | |
635 | "TXG6QEjSxj9/2pVwx9DMRVtWQR0BSaAcQcZ8W2KPSaeRC4QwmNMu2xx25CSyrDiq2rFSK/JJtmvo", |
|
635 | "TXG6QEjSxj9/2pVwx9DMRVtWQR0BSaAcQcZ8W2KPSaeRC4QwmNMu2xx25CSyrDiq2rFSK/JJtmvo", | |
636 | "IjAKq0ciEXoOgw+Ke+Ylb7ULKCS3k1p/613UNRp450uSq5b7CAHo7S0b7fBMLfNmwSjRYEhLlo0H", |
|
636 | "IjAKq0ciEXoOgw+Ke+Ylb7ULKCS3k1p/613UNRp450uSq5b7CAHo7S0b7fBMLfNmwSjRYEhLlo0H", | |
637 | "UaRe/I+IX2Z6XdZH9Hty/399ZA1PwZGC6EfvUJIf7CBeaxv7cu6IT2/s0zPRGthpvXpYw6A7P4Ww", |
|
637 | "UaRe/I+IX2Z6XdZH9Hty/399ZA1PwZGC6EfvUJIf7CBeaxv7cu6IT2/s0zPRGthpvXpYw6A7P4Ww", | |
638 | "z5C4V98KnIUNUanadqabKP6eXWhvbvcQHxAjiOOiKZgXZplZW2g+B2NNyJSLiR+g48DqvWR6t9S2", |
|
638 | "z5C4V98KnIUNUanadqabKP6eXWhvbvcQHxAjiOOiKZgXZplZW2g+B2NNyJSLiR+g48DqvWR6t9S2", | |
639 | "aGfFjdOW1Gi6oTtZ1d4p5XIslAr8mryeZ6+htSSQe4AcfVt7k+V6mOthBCYtr/LEU4ZHtl0mW987", |
|
639 | "aGfFjdOW1Gi6oTtZ1d4p5XIslAr8mryeZ6+htSSQe4AcfVt7k+V6mOthBCYtr/LEU4ZHtl0mW987", | |
640 | "6PK8mRFAaT8DJOUFVz1lPfzRApuPggkkyq+UMvyfKTUbCk7/DpfX8Y4s4QAAAg9BmmNJ4Q8mUwIr", |
|
640 | "6PK8mRFAaT8DJOUFVz1lPfzRApuPggkkyq+UMvyfKTUbCk7/DpfX8Y4s4QAAAg9BmmNJ4Q8mUwIr", | |
641 | "/wAsWUPjZw3ksgRsxZ6n4fQjprPbkj2aUh30y0bZJnLmiXnWskvOGnCPwBnG9dEhatwX3hoxk7BN", |
|
641 | "/wAsWUPjZw3ksgRsxZ6n4fQjprPbkj2aUh30y0bZJnLmiXnWskvOGnCPwBnG9dEhatwX3hoxk7BN", | |
642 | "yG+wQ4emZUpcVzcWl2T9nKQB1euucuZWHTg7TCtM/iHyfPO2vbmGsfzs70b/egIbywUH4y4BQSL1", |
|
642 | "yG+wQ4emZUpcVzcWl2T9nKQB1euucuZWHTg7TCtM/iHyfPO2vbmGsfzs70b/egIbywUH4y4BQSL1", | |
643 | "nWc1SmpHm2zHMBcUjYLDZ5gL5vdfxn0V8FFw66G88c/LN4I5icUa7xf4fcSBKywU0ajbp1P+aJYj", |
|
643 | "nWc1SmpHm2zHMBcUjYLDZ5gL5vdfxn0V8FFw66G88c/LN4I5icUa7xf4fcSBKywU0ajbp1P+aJYj", | |
644 | "BgWT6Ggu0MDLDNl54tfqd42lKosQtM1aif4WXAZFP5Ww3vrQ1rH9+utSYxqZd6N6gGtNbSNMcVia", |
|
644 | "BgWT6Ggu0MDLDNl54tfqd42lKosQtM1aif4WXAZFP5Ww3vrQ1rH9+utSYxqZd6N6gGtNbSNMcVia", | |
645 | "Kn5LcnjsbBi3T3EmGqshEbcme8VHKwR3kSfBOAprrIsv6K8R+X6az+MD23rWka/2v64m1qM69D7X", |
|
645 | "Kn5LcnjsbBi3T3EmGqshEbcme8VHKwR3kSfBOAprrIsv6K8R+X6az+MD23rWka/2v64m1qM69D7X", | |
646 | "a+Kcs/n0KLCJdTilyaGadopLeaAn3eYvWTeHcucMM1Fp1KgHD1tiFeO6HvobLkZlRximsA3/7Mio", |
|
646 | "a+Kcs/n0KLCJdTilyaGadopLeaAn3eYvWTeHcucMM1Fp1KgHD1tiFeO6HvobLkZlRximsA3/7Mio", | |
647 | "hYklLIcJrZL22BH+6W9d6kZsYIsej9RM681nU6mWNjepBAfAfTbrGRrVB/h2DxC5B8YyRjgSIzQj", |
|
647 | "hYklLIcJrZL22BH+6W9d6kZsYIsej9RM681nU6mWNjepBAfAfTbrGRrVB/h2DxC5B8YyRjgSIzQj", | |
648 | "NYrse0rzChqbrsLl7mQ7W+1bsNKze5//9ZIa8rSsF+BXh/vgoRTDkPW/ws95B7VPCZEFChfX0icw", |
|
648 | "NYrse0rzChqbrsLl7mQ7W+1bsNKze5//9ZIa8rSsF+BXh/vgoRTDkPW/ws95B7VPCZEFChfX0icw", | |
649 | "+tpcpN/q7NY87tUn4vESdSiMMlyhKklMjQu/G51J69ZRQLs2oUO6YfoJFqliy4qCFCrf8SZE9Fc6", |
|
649 | "+tpcpN/q7NY87tUn4vESdSiMMlyhKklMjQu/G51J69ZRQLs2oUO6YfoJFqliy4qCFCrf8SZE9Fc6", | |
650 | "DcCagAAAAodBmoRJ4Q8mUwIr/wArPWF/KOw78THwadfPqhJO0CnmR/M74/XYZLqVYKlNcEaYauf+", |
|
650 | "DcCagAAAAodBmoRJ4Q8mUwIr/wArPWF/KOw78THwadfPqhJO0CnmR/M74/XYZLqVYKlNcEaYauf+", | |
651 | "vrRUDJPmu75sMKy2Y+Bnslc/iAISSyWtw/h/3CF8fE5ZrbrwSNst+MSyCoNWP+8imtoX2eyojpdC", |
|
651 | "vrRUDJPmu75sMKy2Y+Bnslc/iAISSyWtw/h/3CF8fE5ZrbrwSNst+MSyCoNWP+8imtoX2eyojpdC", | |
652 | "k8YP5K+cbK4SJPCkZXbYqSXYk7hO8AdSemBHgXKWiZ+UOr802aJo+98ZOIjX9hWL9bo31Gqx7cy4", |
|
652 | "k8YP5K+cbK4SJPCkZXbYqSXYk7hO8AdSemBHgXKWiZ+UOr802aJo+98ZOIjX9hWL9bo31Gqx7cy4", | |
653 | "ZG+W/ar/WGlzDa1xPWnPRsEdrIcZlEVGV/jGmbirkxw1lyUYoqj8Vv7Bxube9XPQlBkXOV6Lc1LT", |
|
653 | "ZG+W/ar/WGlzDa1xPWnPRsEdrIcZlEVGV/jGmbirkxw1lyUYoqj8Vv7Bxube9XPQlBkXOV6Lc1LT", | |
654 | "2IzNq0V7WwVhF0kA6yxfAsFxc9krNEH8vGGntTWI608ovjatXc/CKKXw7AjJSftlTcLI0hIIGXbR", |
|
654 | "2IzNq0V7WwVhF0kA6yxfAsFxc9krNEH8vGGntTWI608ovjatXc/CKKXw7AjJSftlTcLI0hIIGXbR", | |
655 | "Ur0NCYNp7M4cVd/n73Rjetnixz4SAKpcz/P47UsijZG7T3SxzK2D79WS42aEalc12hQwCZ01LfmF", |
|
655 | "Ur0NCYNp7M4cVd/n73Rjetnixz4SAKpcz/P47UsijZG7T3SxzK2D79WS42aEalc12hQwCZ01LfmF", | |
656 | "/H2mmGEvOzPBie1D0YT7Jh19vxa4Dd3SQ1FrDfmSUpvv4DjbYcZ2PrPpFpWtMjWqHBeoyMiZf6RP", |
|
656 | "/H2mmGEvOzPBie1D0YT7Jh19vxa4Dd3SQ1FrDfmSUpvv4DjbYcZ2PrPpFpWtMjWqHBeoyMiZf6RP", | |
657 | "3EfYR6z9jsVNIIHxM0bzzBQF8eeYkPgDySydxPXv9Izo+QUY94N8kWi16fI6eZSDc1G0Yo0L91jc", |
|
657 | "3EfYR6z9jsVNIIHxM0bzzBQF8eeYkPgDySydxPXv9Izo+QUY94N8kWi16fI6eZSDc1G0Yo0L91jc", | |
658 | "RQuDMGGS7B2zuf/0GbJyRhUO48UbMrqnILMrbQg1LF00Q3pH9nbGEK/RRQpRN3T/J/4IZQjwW2Ft", |
|
658 | "RQuDMGGS7B2zuf/0GbJyRhUO48UbMrqnILMrbQg1LF00Q3pH9nbGEK/RRQpRN3T/J/4IZQjwW2Ft", | |
659 | "2ipWGztg1Jn9I4DmffKS60QC+JQcyakdVON6zDcKttIKlqeTcmAi4xzmo4QXa2dRKleS+fs3EtTd", |
|
659 | "2ipWGztg1Jn9I4DmffKS60QC+JQcyakdVON6zDcKttIKlqeTcmAi4xzmo4QXa2dRKleS+fs3EtTd", | |
660 | "BBtony2wK9T2Imj+NCziOSEL7Q7VuIU8kclUHrJJsSneFcxGRgIgGGUEQM8/pklwTOqab7mMmJeR", |
|
660 | "BBtony2wK9T2Imj+NCziOSEL7Q7VuIU8kclUHrJJsSneFcxGRgIgGGUEQM8/pklwTOqab7mMmJeR", | |
661 | "iaBrjJDEnDpkR4Vz3qXxgyn4/5x24FuTMNVPwQAAAhtBmqVJ4Q8mUwIr/wApcLwPT0/Xh9UdWqWX", |
|
661 | "iaBrjJDEnDpkR4Vz3qXxgyn4/5x24FuTMNVPwQAAAhtBmqVJ4Q8mUwIr/wApcLwPT0/Xh9UdWqWX", | |
662 | "Is8Wbj5K1hivmN6qIQnq+aolcegdlM/63MbHsdC6xYZC1e/Q8UjQCt9N/Ejqwms8DzeWv2qxskel", |
|
662 | "Is8Wbj5K1hivmN6qIQnq+aolcegdlM/63MbHsdC6xYZC1e/Q8UjQCt9N/Ejqwms8DzeWv2qxskel", | |
663 | "iZH0kt1QWkErWSEodq7V0ZNksctLkMGWayX33gBT368EehfIeGDolBZoqIbJfb4nqcfU+ev4OzVv", |
|
663 | "iZH0kt1QWkErWSEodq7V0ZNksctLkMGWayX33gBT368EehfIeGDolBZoqIbJfb4nqcfU+ev4OzVv", | |
664 | "9zVqWyLck315GFmXxQKIM8pICQc8Q5es34LH1+DmnMnW8kQpVGrztQcDXhjCU3F0fOgoSsXSVWCj", |
|
664 | "9zVqWyLck315GFmXxQKIM8pICQc8Q5es34LH1+DmnMnW8kQpVGrztQcDXhjCU3F0fOgoSsXSVWCj", | |
665 | "c6XKqGbCwQDfJUxCfXfIT6YmQoPpVp1mpGy1wQypXus9z0bScDpyDu23hViYDntdj1O45ea0znKZ", |
|
665 | "c6XKqGbCwQDfJUxCfXfIT6YmQoPpVp1mpGy1wQypXus9z0bScDpyDu23hViYDntdj1O45ea0znKZ", | |
666 | "kj1+tLHbBtqAGJ1WTcbGlF6Vya6hQhEsiiZUIC2fRxIj8/wEXCICIbr0gZ/m6gcOhE10tenvE7iy", |
|
666 | "kj1+tLHbBtqAGJ1WTcbGlF6Vya6hQhEsiiZUIC2fRxIj8/wEXCICIbr0gZ/m6gcOhE10tenvE7iy", | |
667 | "+BKY81wLWrnzos3S6FWxYtmCRes+LLhNGOKWRuQo6SyePH2OZ90xZm8oA1MuTe3V59euVNxjAt0F", |
|
667 | "+BKY81wLWrnzos3S6FWxYtmCRes+LLhNGOKWRuQo6SyePH2OZ90xZm8oA1MuTe3V59euVNxjAt0F", | |
668 | "LkAc9TEiFhP/8CB+gA8mF+A8h1U01f4DVX55GzCH51jHI2xUS0L9GtsHoBxLPLK/NNel8zcnwG4X", |
|
668 | "LkAc9TEiFhP/8CB+gA8mF+A8h1U01f4DVX55GzCH51jHI2xUS0L9GtsHoBxLPLK/NNel8zcnwG4X", | |
669 | "+UusfcfEb5hh+ffnXteCE9vRGbs2n9wYW0xA3ZicklfadmWKUtMiHYBfkMSULWnkBQr4CXxjpYOs", |
|
669 | "+UusfcfEb5hh+ffnXteCE9vRGbs2n9wYW0xA3ZicklfadmWKUtMiHYBfkMSULWnkBQr4CXxjpYOs", | |
670 | "6ygeEoA5+5B0B1SZObgZ42wWqddyyYE0NfwQAl75tfdJGqOa7OMHwBYNeatJaJK0zT2+bFaw2qWC", |
|
670 | "6ygeEoA5+5B0B1SZObgZ42wWqddyyYE0NfwQAl75tfdJGqOa7OMHwBYNeatJaJK0zT2+bFaw2qWC", | |
671 | "WwAAAitBmsZJ4Q8mUwIr/wAstkdsayRXchoFk703izqzduZ5WsyXriI9cfUdMUWvm0iGHwYIrUuj", |
|
671 | "WwAAAitBmsZJ4Q8mUwIr/wAstkdsayRXchoFk703izqzduZ5WsyXriI9cfUdMUWvm0iGHwYIrUuj", | |
672 | "vz3Yjou+JLwv9df2kt7MJo8u+3P5CjEKbwlz4vkE5AHTAbgXn3+Xc/MMJLgW5cm7iX3KiGNnBpbp", |
|
672 | "vz3Yjou+JLwv9df2kt7MJo8u+3P5CjEKbwlz4vkE5AHTAbgXn3+Xc/MMJLgW5cm7iX3KiGNnBpbp", | |
673 | "hhwJRlb3u91NRDr0d1IR2up/z7lKxE7XPAPFe0siPMYVlIqWNSn5KqLABPeuxxbOsvMEb27/nH1L", |
|
673 | "hhwJRlb3u91NRDr0d1IR2up/z7lKxE7XPAPFe0siPMYVlIqWNSn5KqLABPeuxxbOsvMEb27/nH1L", | |
674 | "UVM8I2F95c1I3Lv1SpkhZXjs1JsmS9X7gsoTxkXyShGC2+zRJSGUbhCPo/q1XSFMHQyMWJ79FKPQ", |
|
674 | "UVM8I2F95c1I3Lv1SpkhZXjs1JsmS9X7gsoTxkXyShGC2+zRJSGUbhCPo/q1XSFMHQyMWJ79FKPQ", | |
675 | "SL/RpVsacN2bYwdKo4TFBw1SsKq/L1iOmqMI+4Gxnbbjojdk0ek0JIcDb4bHv1czxchF7FX1Ym8H", |
|
675 | "SL/RpVsacN2bYwdKo4TFBw1SsKq/L1iOmqMI+4Gxnbbjojdk0ek0JIcDb4bHv1czxchF7FX1Ym8H", | |
676 | "6IpPuE8CeNKjzQ1a1wqhEu+wl1N0x3Y37ZryCCKJRkxj0FT7bOoH3L38/yMUuh/v3aCmxY4eCkyk", |
|
676 | "6IpPuE8CeNKjzQ1a1wqhEu+wl1N0x3Y37ZryCCKJRkxj0FT7bOoH3L38/yMUuh/v3aCmxY4eCkyk", | |
677 | "b2p6ZrYMFE044anM/nMjmbErMibfRFuCz58Io1rBlF7JfkIz0R2/5vjUMVskcdbX2mm7DntncOsW", |
|
677 | "b2p6ZrYMFE044anM/nMjmbErMibfRFuCz58Io1rBlF7JfkIz0R2/5vjUMVskcdbX2mm7DntncOsW", | |
678 | "DIdg/XVmgsC9CzVzUyq4VsS/sk97lJggcddpWLNw/29egz8iLyzWHOAXCvl2fTIPkviYAOQXfVhZ", |
|
678 | "DIdg/XVmgsC9CzVzUyq4VsS/sk97lJggcddpWLNw/29egz8iLyzWHOAXCvl2fTIPkviYAOQXfVhZ", | |
679 | "UQdxsyJUNFMTiALrZCmoQLMp2LmDbfbW8JQriDeR3fVz6P1sjT8C2yEDvzkCn7sh0aTBK+sx7BKH", |
|
679 | "UQdxsyJUNFMTiALrZCmoQLMp2LmDbfbW8JQriDeR3fVz6P1sjT8C2yEDvzkCn7sh0aTBK+sx7BKH", | |
680 | "1nb4320+caQepQj4TCJtCeNXjdrVcNEnjvwlcRJwFT1pT+Y7HREbHnT71XYNh4EAAAGEQZrnSeEP", |
|
680 | "1nb4320+caQepQj4TCJtCeNXjdrVcNEnjvwlcRJwFT1pT+Y7HREbHnT71XYNh4EAAAGEQZrnSeEP", | |
681 | "JlMCK/8AKIjxcI58rm/ML255fOJW1zbznFna7lfgMQrka7OTPPsvVAV4EJXye/Uxiu9dlftmRypJ", |
|
681 | "JlMCK/8AKIjxcI58rm/ML255fOJW1zbznFna7lfgMQrka7OTPPsvVAV4EJXye/Uxiu9dlftmRypJ", | |
682 | "qfDot3xwDe8lX/qAVf6pBkSlUsaLyBYtww/SUSa1bGl1JvrJCN7FXCCXbLd5R4PoYlPiDIm/DQH2", |
|
682 | "qfDot3xwDe8lX/qAVf6pBkSlUsaLyBYtww/SUSa1bGl1JvrJCN7FXCCXbLd5R4PoYlPiDIm/DQH2", | |
683 | "puO0StIWmrR77Isc/J1pRvdu5+mQa/n0SEHUeM2KkoRzCznfD9zaaRO7BDtvC9SYIT0uYZxrwTjx", |
|
683 | "puO0StIWmrR77Isc/J1pRvdu5+mQa/n0SEHUeM2KkoRzCznfD9zaaRO7BDtvC9SYIT0uYZxrwTjx", | |
684 | "Q7N7UERTrYG0P+vRLAhxkfohFIYl3HXyjPOvnlbUFP2oiiy6nkUFuaIyQcJawJv3GU8k4ObcKsC1", |
|
684 | "Q7N7UERTrYG0P+vRLAhxkfohFIYl3HXyjPOvnlbUFP2oiiy6nkUFuaIyQcJawJv3GU8k4ObcKsC1", | |
685 | "cNDXjSpsyQRrxLFaCCjke4mikyt7vs0iN0bnrNWv9HXruG9zOFEOer1ggIFTsT1Eos5CXRkgja5H", |
|
685 | "cNDXjSpsyQRrxLFaCCjke4mikyt7vs0iN0bnrNWv9HXruG9zOFEOer1ggIFTsT1Eos5CXRkgja5H", | |
686 | "N4QUM6MhWpc5du/HgBIH8ANFcoo2kJpqcadw9r/0qk25X91MQSDJQiH8Hny2dQhqR+LFWEawiW75", |
|
686 | "N4QUM6MhWpc5du/HgBIH8ANFcoo2kJpqcadw9r/0qk25X91MQSDJQiH8Hny2dQhqR+LFWEawiW75", | |
687 | "3SJhn0ngZcv/mPj3mwcHv1SL9ErBqAjm4JGiDetPKYtFwANYY11OyQAAAVdBmwhJ4Q8mUwIr/wAr", |
|
687 | "3SJhn0ngZcv/mPj3mwcHv1SL9ErBqAjm4JGiDetPKYtFwANYY11OyQAAAVdBmwhJ4Q8mUwIr/wAr", | |
688 | "Ox5HV2505jRePGgMxptW4PGIHEszV1xGZS+flSkF+aq30AaqO7u6XK9jJsuWXTfYCRQTn1bZfFQ2", |
|
688 | "Ox5HV2505jRePGgMxptW4PGIHEszV1xGZS+flSkF+aq30AaqO7u6XK9jJsuWXTfYCRQTn1bZfFQ2", | |
689 | "2DbO5DXAxK/TUmbQleCflFzeS6/czxkL4PJ8AwOs2U+oehekgCZC8gZyHHaQSaKbNJ46gTjNsLy8", |
|
689 | "2DbO5DXAxK/TUmbQleCflFzeS6/czxkL4PJ8AwOs2U+oehekgCZC8gZyHHaQSaKbNJ46gTjNsLy8", | |
690 | "4ACQ5uNt11TPuCPqPTuh+schdw9S+/lU/6m+EyaqGZ49wDFPiBFBYXglQQBjyP9k/rqq0xL7SiLj", |
|
690 | "4ACQ5uNt11TPuCPqPTuh+schdw9S+/lU/6m+EyaqGZ49wDFPiBFBYXglQQBjyP9k/rqq0xL7SiLj", | |
691 | "pe4riYg8SFUuUtOzPdWHyvxnI7Ug/0VLPGAAhgMISUnqe01d5QFf36yHpwMAHexjAZFIGQHAFaut", |
|
691 | "pe4riYg8SFUuUtOzPdWHyvxnI7Ug/0VLPGAAhgMISUnqe01d5QFf36yHpwMAHexjAZFIGQHAFaut", | |
692 | "uMuEw6HzUZVzNdeHYxvEYOGkTo007bLwbuf/nxzrywGOxlRTYJLRdYI0mk0SdN3+LeTv1RIJwv21", |
|
692 | "uMuEw6HzUZVzNdeHYxvEYOGkTo007bLwbuf/nxzrywGOxlRTYJLRdYI0mk0SdN3+LeTv1RIJwv21", | |
693 | "+e9rT5iFOTCgzeQoekEWXLYz0X8YLq5bVCtijP7/T7w1Ck71j0aqfrEn6wtIAAABNUGbKUnhDyZT", |
|
693 | "+e9rT5iFOTCgzeQoekEWXLYz0X8YLq5bVCtijP7/T7w1Ck71j0aqfrEn6wtIAAABNUGbKUnhDyZT", | |
694 | "Aiv/ACcySi7VBgOid6qZNXvhh/JsllHkMLLq0yNbQTqv/Wk2EBoSKICZwFwAD0WRzhvvReCGirep", |
|
694 | "Aiv/ACcySi7VBgOid6qZNXvhh/JsllHkMLLq0yNbQTqv/Wk2EBoSKICZwFwAD0WRzhvvReCGirep", | |
695 | "1Fe4bxjm49/UR+OYrXRmHR18T0C83AUVeBk7KvDZmb/eHzuzEN4yfXucr/NWFJl+USVMY4r4UQ9C", |
|
695 | "1Fe4bxjm49/UR+OYrXRmHR18T0C83AUVeBk7KvDZmb/eHzuzEN4yfXucr/NWFJl+USVMY4r4UQ9C", | |
696 | "ayrfEY9v6AQ6mzAdLy2UMfFxrRJ99g/Rfl8qx+m4jIZNjlrTaThzJ/3OpVmAliDfxVyg8+CVIlI3", |
|
696 | "ayrfEY9v6AQ6mzAdLy2UMfFxrRJ99g/Rfl8qx+m4jIZNjlrTaThzJ/3OpVmAliDfxVyg8+CVIlI3", | |
697 | "1IykiwQrXcebgajG+av8XU1SfyAG5ibvwbtdSAxkGBcJWL387V+uTdY56w3KN2vBtoQpVKD2zb3y", |
|
697 | "1IykiwQrXcebgajG+av8XU1SfyAG5ibvwbtdSAxkGBcJWL387V+uTdY56w3KN2vBtoQpVKD2zb3y", | |
698 | "azIcATZ02upwIytNcM/rpaLCdMb1myWcikE25agzLhDhOS+4zwjYz2DnW6VY0gFBAPsphhsUMnau", |
|
698 | "azIcATZ02upwIytNcM/rpaLCdMb1myWcikE25agzLhDhOS+4zwjYz2DnW6VY0gFBAPsphhsUMnau", | |
699 | "VVdUVHzCTSdvzEve/H8q4AAAAVdBm0pJ4Q8mUwIr/wAo+x5XKuiN1am7SkJKSMonFZDPU3f5XFcD", |
|
699 | "VVdUVHzCTSdvzEve/H8q4AAAAVdBm0pJ4Q8mUwIr/wAo+x5XKuiN1am7SkJKSMonFZDPU3f5XFcD", | |
700 | "QSs0FLVq2idfsKwuIkt1mxIq8NgMHpzofTnDHqs/WedvAmhBgL0N5azdQa5MNKG2rJ4IAvGQY/uF", |
|
700 | "QSs0FLVq2idfsKwuIkt1mxIq8NgMHpzofTnDHqs/WedvAmhBgL0N5azdQa5MNKG2rJ4IAvGQY/uF", | |
701 | "m3jKQAKzvhSS01gO1oIfizF817z9IShS4QK2WT0PeFPELqLSpED8eNOpVTR96vmwpk/WBKRVJdTQ", |
|
701 | "m3jKQAKzvhSS01gO1oIfizF817z9IShS4QK2WT0PeFPELqLSpED8eNOpVTR96vmwpk/WBKRVJdTQ", | |
702 | "JzjiCQ5pgEwjtvk7KqoS0+lwXSbvIrXkYm8DignEts3DLNoLHrPjXlQmbIop76JZSyJEtB+91GrL", |
|
702 | "JzjiCQ5pgEwjtvk7KqoS0+lwXSbvIrXkYm8DignEts3DLNoLHrPjXlQmbIop76JZSyJEtB+91GrL", | |
703 | "wo6Km5GeebyA2E6qGL3xSkpppej/ruoFprSKrH60UMbrq/SK7eCo+1QFoySPQmqDFsMGiQFqvtld", |
|
703 | "wo6Km5GeebyA2E6qGL3xSkpppej/ruoFprSKrH60UMbrq/SK7eCo+1QFoySPQmqDFsMGiQFqvtld", | |
704 | "5BXDYdVI4yRaoyN7Y7wi83HRC6eVazuHU9OtIY3xJJApBWq1aJOsYwc38aTC3ee863Aa/4n9Lk4D", |
|
704 | "5BXDYdVI4yRaoyN7Y7wi83HRC6eVazuHU9OtIY3xJJApBWq1aJOsYwc38aTC3ee863Aa/4n9Lk4D", | |
705 | "AtyFYHNZjB5m2e2vk8G2Gny9YFlBAAABQEGba0nhDyZTAiv/ACoZSZQfHxhfQxEqOBQrP+L3Dmgv", |
|
705 | "AtyFYHNZjB5m2e2vk8G2Gny9YFlBAAABQEGba0nhDyZTAiv/ACoZSZQfHxhfQxEqOBQrP+L3Dmgv", | |
706 | "HSJQtB1iVkcLTxm+vagLHBLG91OGnopwrr7gT/loDypIhoRxjcwAAOeg/jN4WBbXzCJtnWGGllUC", |
|
706 | "HSJQtB1iVkcLTxm+vagLHBLG91OGnopwrr7gT/loDypIhoRxjcwAAOeg/jN4WBbXzCJtnWGGllUC", | |
707 | "SdtUZQzKOSp9iM4yX18C6jrY4Sq6R9PUV/lEGNveJR4gw4FMve7110XdEPL1O2VTdHvdqeANyaq0", |
|
707 | "SdtUZQzKOSp9iM4yX18C6jrY4Sq6R9PUV/lEGNveJR4gw4FMve7110XdEPL1O2VTdHvdqeANyaq0", | |
708 | "nLdEmtXnrzvdrFlBaUvmaR4EdlkqGkvkZKWJej8Vq+msbKa7JdbxjwZtRufiyGfD/NVqMgSrYRzw", |
|
708 | "nLdEmtXnrzvdrFlBaUvmaR4EdlkqGkvkZKWJej8Vq+msbKa7JdbxjwZtRufiyGfD/NVqMgSrYRzw", | |
709 | "9z/a8Zwbr+9+19CxlWD5bCuAEfPmjY6kZJE2L/CQI6+tnCBTXOmWZtZMBoCLGOf7G2uAC3+kFlbo", |
|
709 | "9z/a8Zwbr+9+19CxlWD5bCuAEfPmjY6kZJE2L/CQI6+tnCBTXOmWZtZMBoCLGOf7G2uAC3+kFlbo", | |
710 | "h9as5WCkO6+iqXq29dyhKnsHInorRYsPlgxIXyU1Om/Kyhj1DJV0Am9WJK3Dln0zNUH0q6ZTOnZc", |
|
710 | "h9as5WCkO6+iqXq29dyhKnsHInorRYsPlgxIXyU1Om/Kyhj1DJV0Am9WJK3Dln0zNUH0q6ZTOnZc", | |
711 | "FD36AAABYkGbjEnhDyZTAiv/ACcwdIOLRFfoGK2ZkKsvgMwG0m0qsY0vMLPSzefc+ebp/aztyF7M", |
|
711 | "FD36AAABYkGbjEnhDyZTAiv/ACcwdIOLRFfoGK2ZkKsvgMwG0m0qsY0vMLPSzefc+ebp/aztyF7M", | |
712 | "lsBz/fBeNtxFBcsKgR4pf65GvdfOMHah0ltZ918sMDmXUEZMeRHy/xpnWpTLeGz6uTs/7MATPmU5", |
|
712 | "lsBz/fBeNtxFBcsKgR4pf65GvdfOMHah0ltZ918sMDmXUEZMeRHy/xpnWpTLeGz6uTs/7MATPmU5", | |
713 | "BgHbT/DkD8QeaZnFAzidyFCXDz2l/jaKhEdgqipbB2pH0+fQ039r05z9axxEWGmaLQjg6x9+po1o", |
|
713 | "BgHbT/DkD8QeaZnFAzidyFCXDz2l/jaKhEdgqipbB2pH0+fQ039r05z9axxEWGmaLQjg6x9+po1o", | |
714 | "24yhkVO7m03YwWmPyCgy8cOwrvRyJkXJpRN4m8ZBS1zwY80HeN/VyMQQJSMwsTo7R1XMerSFuyx0", |
|
714 | "24yhkVO7m03YwWmPyCgy8cOwrvRyJkXJpRN4m8ZBS1zwY80HeN/VyMQQJSMwsTo7R1XMerSFuyx0", | |
715 | "nz+8qOuhiqykc2ohCCsXia/+kIKbJ5Vs+cbWtvkqBKIDSfU7FhAd3GjcY/xar0EVmi6wWFTugAog", |
|
715 | "nz+8qOuhiqykc2ohCCsXia/+kIKbJ5Vs+cbWtvkqBKIDSfU7FhAd3GjcY/xar0EVmi6wWFTugAog", | |
716 | "R3I7mTrQDdlTAqYgqO7Gn5NMXQVHu2i1zhFSdo9GjMbeGnbkJwsFbQ2XkoKRIDpuW7AewC9AEBt0", |
|
716 | "R3I7mTrQDdlTAqYgqO7Gn5NMXQVHu2i1zhFSdo9GjMbeGnbkJwsFbQ2XkoKRIDpuW7AewC9AEBt0", | |
717 | "Ox/Ah6dGXfXO1jl8pEApj2RFmgAAAPlBm61J4Q8mUwIr/wAlR+eW/VZ7bSrmwwMA62G05DZ7p/5F", |
|
717 | "Ox/Ah6dGXfXO1jl8pEApj2RFmgAAAPlBm61J4Q8mUwIr/wAlR+eW/VZ7bSrmwwMA62G05DZ7p/5F", | |
718 | "UugsSsQdonUq6abtbU5hjFr+I1lPgoiV5c3CkTQZS+K5zivdo+Ti2P4K90xXANp8dSMAu85uJIOC", |
|
718 | "UugsSsQdonUq6abtbU5hjFr+I1lPgoiV5c3CkTQZS+K5zivdo+Ti2P4K90xXANp8dSMAu85uJIOC", | |
719 | "Qn2TXbEnNDifLB+3V84ht5tj4lvTaZx317BcliV8D5v2zZQW8RO1mUbuJEBItst8E7hfE+ZXj7tf", |
|
719 | "Qn2TXbEnNDifLB+3V84ht5tj4lvTaZx317BcliV8D5v2zZQW8RO1mUbuJEBItst8E7hfE+ZXj7tf", | |
720 | "DxNZPTvtpFyUv0fH1cTg1pr2VLy0d0zQLiA58dg+GkRvR1/hs2LyifBgHcj6eTWz0vsypVn9iPXR", |
|
720 | "DxNZPTvtpFyUv0fH1cTg1pr2VLy0d0zQLiA58dg+GkRvR1/hs2LyifBgHcj6eTWz0vsypVn9iPXR", | |
721 | "H/unJ6i8cfFL69NO24tQ9QQB+nDFhoP2cRhkAvhHwn56n5PppBD/oxni2f8AAAE9QZvOSeEPJlMC", |
|
721 | "H/unJ6i8cfFL69NO24tQ9QQB+nDFhoP2cRhkAvhHwn56n5PppBD/oxni2f8AAAE9QZvOSeEPJlMC", | |
722 | "K/8AJjAXVGf+Kj2XNJnFeKC/gr7dJDTC2ngpd4WeAHlg04GuJKnn9hAmiECxxo9qM1IYMRiB85t6", |
|
722 | "K/8AJjAXVGf+Kj2XNJnFeKC/gr7dJDTC2ngpd4WeAHlg04GuJKnn9hAmiECxxo9qM1IYMRiB85t6", | |
723 | "gALnlm9sRqGmioyzAm18RJndc9Ah8RlpGzr+44a6ntRaPx0cIwNIWAA8buL2JP00dmfjNqEiAlCa", |
|
723 | "gALnlm9sRqGmioyzAm18RJndc9Ah8RlpGzr+44a6ntRaPx0cIwNIWAA8buL2JP00dmfjNqEiAlCa", | |
724 | "8OdV8FQxjp1vDXsGcAGF3Qbd62KEpkimeI3wH2nuXpbDHm8/ZKOR49s5ifUCkxCoJpfp43aC0lTz", |
|
724 | "8OdV8FQxjp1vDXsGcAGF3Qbd62KEpkimeI3wH2nuXpbDHm8/ZKOR49s5ifUCkxCoJpfp43aC0lTz", | |
725 | "h2NXpcfVw6h0QnK8G60R4ZAxOxaJB7c0nn8ixXSU2JVY24EtGMF53nxJnHfzUheewUfBOGYSxeo8", |
|
725 | "h2NXpcfVw6h0QnK8G60R4ZAxOxaJB7c0nn8ixXSU2JVY24EtGMF53nxJnHfzUheewUfBOGYSxeo8", | |
726 | "oK7oUCqX4rztzDwoc2QywNqQUJUkFrqIN+sb5ecYvX24Zujn+ZzTW6UDAF3R6WdNyJyRAremgC8s", |
|
726 | "oK7oUCqX4rztzDwoc2QywNqQUJUkFrqIN+sb5ecYvX24Zujn+ZzTW6UDAF3R6WdNyJyRAremgC8s", | |
727 | "pSflTqygQNGfHyGkfIEEJJaFo/pBCBkAAAEWQZvvSeEPJlMCK/8AKI41fuekXG59Knbw4Y6YJrit", |
|
727 | "pSflTqygQNGfHyGkfIEEJJaFo/pBCBkAAAEWQZvvSeEPJlMCK/8AKI41fuekXG59Knbw4Y6YJrit", | |
728 | "sh9VtQgc3QKvVmxrzzo7f4aXn8N74eyP4b2lV1Z2Q+rohxps7EHTkOY9jLdqxI3MXe7je4g2qepz", |
|
728 | "sh9VtQgc3QKvVmxrzzo7f4aXn8N74eyP4b2lV1Z2Q+rohxps7EHTkOY9jLdqxI3MXe7je4g2qepz", | |
729 | "71+hY+jYdX+9LO0kA0Zg3NfyAlIRX7k6c/YHAZNtNaGZgTBMqiPgmEjiJH9Luk7shbgr+srfwiYw", |
|
729 | "71+hY+jYdX+9LO0kA0Zg3NfyAlIRX7k6c/YHAZNtNaGZgTBMqiPgmEjiJH9Luk7shbgr+srfwiYw", | |
730 | "BX9rdS3fQNNFwcT8orQC+F60LAY9+GbFo2Sw3Ld4Tw9jq9yJtrY8RtHAdzytyek/mv2+j2TbTvAQ", |
|
730 | "BX9rdS3fQNNFwcT8orQC+F60LAY9+GbFo2Sw3Ld4Tw9jq9yJtrY8RtHAdzytyek/mv2+j2TbTvAQ", | |
731 | "KbbCYtdC8E/KtR4V5ZTSScr5Wb63vmbw7UpddEXYvl55pARyyvMxWNSh3Li4GF8Jk5JBi5B5ASQw", |
|
731 | "KbbCYtdC8E/KtR4V5ZTSScr5Wb63vmbw7UpddEXYvl55pARyyvMxWNSh3Li4GF8Jk5JBi5B5ASQw", | |
732 | "xCMYpX5hkAMc+d8tl2bT+IEvUTsAAAElQZoQSeEPJlMCK/8AJIAzFZs00JJ0yfm8CZiew4xWdArL", |
|
732 | "xCMYpX5hkAMc+d8tl2bT+IEvUTsAAAElQZoQSeEPJlMCK/8AJIAzFZs00JJ0yfm8CZiew4xWdArL", | |
733 | "klEvBVXo/+ukPLu3XP9HFOfsme3T6BJEKmPPgZw/Lxnraq6Sl2kLVW19YU1qmqgfv+80LkZaWU5g", |
|
733 | "klEvBVXo/+ukPLu3XP9HFOfsme3T6BJEKmPPgZw/Lxnraq6Sl2kLVW19YU1qmqgfv+80LkZaWU5g", | |
734 | "RAH4hqyo3bFYcbuY2SC3IW5Wm69gtYyAXOdbAYSEHA16fvCeRQjHEsxKVndJdrRAlrGHsKgUBQ3U", |
|
734 | "RAH4hqyo3bFYcbuY2SC3IW5Wm69gtYyAXOdbAYSEHA16fvCeRQjHEsxKVndJdrRAlrGHsKgUBQ3U", | |
735 | "p/ZXIy1vkdFOfKSjpuZnswkuqr8NZI5tJ/dnBSErBTNWPaNwWV7nNomC0EYVGo+geGBhLXzaLw0U", |
|
735 | "p/ZXIy1vkdFOfKSjpuZnswkuqr8NZI5tJ/dnBSErBTNWPaNwWV7nNomC0EYVGo+geGBhLXzaLw0U", | |
736 | "AOCYGjiPc3803BDw1GLoLIXjrIFJxwRfBNIAXYZAglu30oYzhpAfRWSprkeULMWYJTlWvbUQ5CNe", |
|
736 | "AOCYGjiPc3803BDw1GLoLIXjrIFJxwRfBNIAXYZAglu30oYzhpAfRWSprkeULMWYJTlWvbUQ5CNe", | |
737 | "wSZssuDWIRAc3w8AcFaywwn+YSGhtR8VI1OGjYkfBbcAAAD8QZoxSeEPJlMCK/8AJdokjCUETRw/", |
|
737 | "wSZssuDWIRAc3w8AcFaywwn+YSGhtR8VI1OGjYkfBbcAAAD8QZoxSeEPJlMCK/8AJdokjCUETRw/", | |
738 | "nciVPtaZQSBP/VxAQSITASEzlJBl9Na1r0DJhLOz279+KQLtl/xHZ8vAKc528mTMTqtWs4sFbeVg", |
|
738 | "nciVPtaZQSBP/VxAQSITASEzlJBl9Na1r0DJhLOz279+KQLtl/xHZ8vAKc528mTMTqtWs4sFbeVg", | |
739 | "HWyBpHcHEtgTzjIqEinp/MPuUXF5poo8YLSSMFn9Ozx2FbU5/Kh9A39oN9NHQflVxV1NA6yT/84H", |
|
739 | "HWyBpHcHEtgTzjIqEinp/MPuUXF5poo8YLSSMFn9Ozx2FbU5/Kh9A39oN9NHQflVxV1NA6yT/84H", | |
740 | "HyfMtfdSMS8KTvAEE2lDs14VQayNs5ctjXboQT7xMBf5OLj6thhPvgaDrFB2o/PV9ouK147lruWT", |
|
740 | "HyfMtfdSMS8KTvAEE2lDs14VQayNs5ctjXboQT7xMBf5OLj6thhPvgaDrFB2o/PV9ouK147lruWT", | |
741 | "P2mkoA9oDIMYW1pcBx4yyV/t9GOPZ3aXneMUb2fFmUCX43BjXfUDMaa4GO2/Ankj3UEQwDxA7ZlN", |
|
741 | "P2mkoA9oDIMYW1pcBx4yyV/t9GOPZ3aXneMUb2fFmUCX43BjXfUDMaa4GO2/Ankj3UEQwDxA7ZlN", | |
742 | "UQK2AAAA4UGaUknhDyZTAiv/ACJHv33I08bkhybYiJ/JiiheW5zMPBu4n5CxGr3frhE7TkLh0vPk", |
|
742 | "UQK2AAAA4UGaUknhDyZTAiv/ACJHv33I08bkhybYiJ/JiiheW5zMPBu4n5CxGr3frhE7TkLh0vPk", | |
743 | "tM8m/AhaDiJisdk5QXNe/4WmxEDSAyaVi4eUVu0iHT2ly/KNTGqiORqA2oKpTjh84nYbrpXwnGv9", |
|
743 | "tM8m/AhaDiJisdk5QXNe/4WmxEDSAyaVi4eUVu0iHT2ly/KNTGqiORqA2oKpTjh84nYbrpXwnGv9", | |
744 | "SOf/34Z06xN6Yo3t35UZrP8nlcs/63GtnEmnUwVZHBYfPM6bs5M5AeBfAQ/9mIqu7vnEst+5O2wp", |
|
744 | "SOf/34Z06xN6Yo3t35UZrP8nlcs/63GtnEmnUwVZHBYfPM6bs5M5AeBfAQ/9mIqu7vnEst+5O2wp", | |
745 | "PjzdItjwGCZ2ApHVjGnYYFomlA9nm6AXnxNIWHIsDgxCk3zx+6QbXipu/CWLG1Wf0WIbt4C0JPVl", |
|
745 | "PjzdItjwGCZ2ApHVjGnYYFomlA9nm6AXnxNIWHIsDgxCk3zx+6QbXipu/CWLG1Wf0WIbt4C0JPVl", | |
746 | "3TEb0QAAAMlBmnNJ4Q8mUwIr/wAVV64OfTKmlktYOqZHH1W1DhPy/X/6sD4T6hRdzfOgNtTOX2Ic", |
|
746 | "3TEb0QAAAMlBmnNJ4Q8mUwIr/wAVV64OfTKmlktYOqZHH1W1DhPy/X/6sD4T6hRdzfOgNtTOX2Ic", | |
747 | "kRJHshfBQVkJIzns079io6kpJFCcS3VD4zrWCn/dNaGV0kWTpFBRuusfn8F0C0R/EhsQeyTsdZft", |
|
747 | "kRJHshfBQVkJIzns079io6kpJFCcS3VD4zrWCn/dNaGV0kWTpFBRuusfn8F0C0R/EhsQeyTsdZft", | |
748 | "EkLGb5tq+nrir3vfmeb7rjmWJRXkIrTEKu8pIuAd+4FBGp8ARgGe80Jqpp//s1433HqBFqXsIFJT", |
|
748 | "EkLGb5tq+nrir3vfmeb7rjmWJRXkIrTEKu8pIuAd+4FBGp8ARgGe80Jqpp//s1433HqBFqXsIFJT", | |
749 | "mU8j/toF9HyueI1Ea4uvsQ6NANGcYCbOAKCmbNiwABMCFaiUTMAAAAPSbW9vdgAAAGxtdmhkAAAA", |
|
749 | "mU8j/toF9HyueI1Ea4uvsQ6NANGcYCbOAKCmbNiwABMCFaiUTMAAAAPSbW9vdgAAAGxtdmhkAAAA", | |
750 | "AHwlsIB8JbCAAAAD6AAAAyAAAQAAAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAA", |
|
750 | "AHwlsIB8JbCAAAAD6AAAAyAAAQAAAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAA", | |
751 | "AAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAv10cmFrAAAAXHRraGQA", |
|
751 | "AAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAv10cmFrAAAAXHRraGQA", | |
752 | "AAAPfCWwgHwlsIAAAAABAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAB", |
|
752 | "AAAPfCWwgHwlsIAAAAABAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAB", | |
753 | "AAAAAAAAAAAAAAAAAABAAAAAAY4AAAGGAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAMgAAAA", |
|
753 | "AAAAAAAAAAAAAAAAAABAAAAAAY4AAAGGAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAMgAAAA", | |
754 | "AgABAAAAAAJ1bWRpYQAAACBtZGhkAAAAAHwlsIB8JbCAAAAAGQAAABRVxAAAAAAALWhkbHIAAAAA", |
|
754 | "AgABAAAAAAJ1bWRpYQAAACBtZGhkAAAAAHwlsIB8JbCAAAAAGQAAABRVxAAAAAAALWhkbHIAAAAA", | |
755 | "AAAAAHZpZGUAAAAAAAAAAAAAAABWaWRlb0hhbmRsZXIAAAACIG1pbmYAAAAUdm1oZAAAAAEAAAAA", |
|
755 | "AAAAAHZpZGUAAAAAAAAAAAAAAABWaWRlb0hhbmRsZXIAAAACIG1pbmYAAAAUdm1oZAAAAAEAAAAA", | |
756 | "AAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAAeBzdGJsAAAAtHN0c2QA", |
|
756 | "AAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAAeBzdGJsAAAAtHN0c2QA", | |
757 | "AAAAAAAAAQAAAKRhdmMxAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAY4BhgBIAAAASAAAAAAAAAAB", |
|
757 | "AAAAAAAAAQAAAKRhdmMxAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAY4BhgBIAAAASAAAAAAAAAAB", | |
758 | "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGP//AAAAMmF2Y0MBZAAV/+EAGWdkABWs", |
|
758 | "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGP//AAAAMmF2Y0MBZAAV/+EAGWdkABWs", | |
759 | "2UGQz6mhAAADAAEAAAMAMg8WLZYBAAZo6+PLIsAAAAAcdXVpZGtoQPJfJE/FujmlG88DI/MAAAAA", |
|
759 | "2UGQz6mhAAADAAEAAAMAMg8WLZYBAAZo6+PLIsAAAAAcdXVpZGtoQPJfJE/FujmlG88DI/MAAAAA", | |
760 | "AAAAGHN0dHMAAAAAAAAAAQAAABQAAAABAAAAFHN0c3MAAAAAAAAAAQAAAAEAAAAYY3R0cwAAAAAA", |
|
760 | "AAAAGHN0dHMAAAAAAAAAAQAAABQAAAABAAAAFHN0c3MAAAAAAAAAAQAAAAEAAAAYY3R0cwAAAAAA", | |
761 | "AAABAAAAFAAAAAIAAAAcc3RzYwAAAAAAAAABAAAAAQAAAAEAAAABAAAAZHN0c3oAAAAAAAAAAAAA", |
|
761 | "AAABAAAAFAAAAAIAAAAcc3RzYwAAAAAAAAABAAAAAQAAAAEAAAABAAAAZHN0c3oAAAAAAAAAAAAA", | |
762 | "ABQAAA05AAACqQAAAl8AAAITAAACiwAAAh8AAAIvAAABiAAAAVsAAAE5AAABWwAAAUQAAAFmAAAA", |
|
762 | "ABQAAA05AAACqQAAAl8AAAITAAACiwAAAh8AAAIvAAABiAAAAVsAAAE5AAABWwAAAUQAAAFmAAAA", | |
763 | "/QAAAUEAAAEaAAABKQAAAQAAAADlAAAAzQAAAGBzdGNvAAAAAAAAABQAAAAsAAANZQAAEA4AABJt", |
|
763 | "/QAAAUEAAAEaAAABKQAAAQAAAADlAAAAzQAAAGBzdGNvAAAAAAAAABQAAAAsAAANZQAAEA4AABJt", | |
764 | "AAAUgAAAFwsAABkqAAAbWQAAHOEAAB48AAAfdQAAINAAACIUAAAjegAAJHcAACW4AAAm0gAAJ/sA", |
|
764 | "AAAUgAAAFwsAABkqAAAbWQAAHOEAAB48AAAfdQAAINAAACIUAAAjegAAJHcAACW4AAAm0gAAJ/sA", | |
765 | "ACj7AAAp4AAAAGF1ZHRhAAAAWW1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAA", |
|
765 | "ACj7AAAp4AAAAGF1ZHRhAAAAWW1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAA", | |
766 | "AAAAAAAALGlsc3QAAAAkqXRvbwAAABxkYXRhAAAAAQAAAABMYXZmNTIuMTExLjA=", |
|
766 | "AAAAAAAALGlsc3QAAAAkqXRvbwAAABxkYXRhAAAAAQAAAABMYXZmNTIuMTExLjA=", | |
767 | "\">" |
|
767 | "\">" | |
768 | ], |
|
768 | ], | |
769 | "output_type": "pyout", |
|
769 | "output_type": "pyout", | |
770 | "prompt_number": 5, |
|
770 | "prompt_number": 5, | |
771 | "text": [ |
|
771 | "text": [ | |
772 | "<IPython.core.display.HTML at 0x423a550>" |
|
772 | "<IPython.core.display.HTML at 0x423a550>" | |
773 | ] |
|
773 | ] | |
774 | } |
|
774 | } | |
775 | ], |
|
775 | ], | |
776 | "prompt_number": 5 |
|
776 | "prompt_number": 5 | |
777 | }, |
|
777 | }, | |
778 | { |
|
778 | { | |
779 | "cell_type": "markdown", |
|
779 | "cell_type": "markdown", | |
780 | "source": [ |
|
780 | "source": [ | |
781 | "### External sites", |
|
781 | "### External sites", | |
782 | "", |
|
782 | "", | |
783 | "You can even embed an entire page from another site in an iframe; for example this is today's Wikipedia", |
|
783 | "You can even embed an entire page from another site in an iframe; for example this is today's Wikipedia", | |
784 | "page for mobile users:" |
|
784 | "page for mobile users:" | |
785 | ] |
|
785 | ] | |
786 | }, |
|
786 | }, | |
787 | { |
|
787 | { | |
788 | "cell_type": "code", |
|
788 | "cell_type": "code", | |
789 | "collapsed": false, |
|
789 | "collapsed": false, | |
790 | "input": [ |
|
790 | "input": [ | |
791 | "HTML('<iframe src=http://en.mobile.wikipedia.org/?useformat=mobile width=700 height=350>')" |
|
791 | "HTML('<iframe src=http://en.mobile.wikipedia.org/?useformat=mobile width=700 height=350>')" | |
792 | ], |
|
792 | ], | |
793 | "language": "python", |
|
793 | "language": "python", | |
794 | "outputs": [ |
|
794 | "outputs": [ | |
795 | { |
|
795 | { | |
796 | "html": [ |
|
796 | "html": [ | |
797 | "<iframe src=http://en.mobile.wikipedia.org/?useformat=mobile width=700 height=350>" |
|
797 | "<iframe src=http://en.mobile.wikipedia.org/?useformat=mobile width=700 height=350>" | |
798 | ], |
|
798 | ], | |
799 | "output_type": "pyout", |
|
799 | "output_type": "pyout", | |
800 | "prompt_number": 6, |
|
800 | "prompt_number": 6, | |
801 | "text": [ |
|
801 | "text": [ | |
802 | "<IPython.core.display.HTML at 0x41d4710>" |
|
802 | "<IPython.core.display.HTML at 0x41d4710>" | |
803 | ] |
|
803 | ] | |
804 | } |
|
804 | } | |
805 | ], |
|
805 | ], | |
806 | "prompt_number": 6 |
|
806 | "prompt_number": 6 | |
807 | }, |
|
807 | }, | |
808 | { |
|
808 | { | |
809 | "cell_type": "markdown", |
|
809 | "cell_type": "markdown", | |
810 | "source": [ |
|
810 | "source": [ | |
811 | "### Mathematics", |
|
811 | "### Mathematics", | |
812 | "", |
|
812 | "", | |
813 | "And we also support the display of mathematical expressions typeset in LaTeX, which is rendered", |
|
813 | "And we also support the display of mathematical expressions typeset in LaTeX, which is rendered", | |
814 | "in the browser thanks to the [MathJax library](http://mathjax.org). ", |
|
814 | "in the browser thanks to the [MathJax library](http://mathjax.org). ", | |
815 | "", |
|
815 | "", | |
816 | "Note that this is *different* from the above examples. Above we were typing mathematical expressions", |
|
816 | "Note that this is *different* from the above examples. Above we were typing mathematical expressions", | |
817 | "in Markdown cells (along with normal text) and letting the browser render them; now we are displaying", |
|
817 | "in Markdown cells (along with normal text) and letting the browser render them; now we are displaying", | |
818 | "the output of a Python computation as a LaTeX expression wrapped by the `Math()` object so the browser", |
|
818 | "the output of a Python computation as a LaTeX expression wrapped by the `Math()` object so the browser", | |
819 | "renders it:" |
|
819 | "renders it:" | |
820 | ] |
|
820 | ] | |
821 | }, |
|
821 | }, | |
822 | { |
|
822 | { | |
823 | "cell_type": "code", |
|
823 | "cell_type": "code", | |
824 | "collapsed": false, |
|
824 | "collapsed": false, | |
825 | "input": [ |
|
825 | "input": [ | |
826 | "from IPython.core.display import Math", |
|
826 | "from IPython.core.display import Math", | |
827 | "Math(r'$F(k) = \\int_{-\\infty}^{\\infty} f(x) e^{2\\pi i k} dx$')" |
|
827 | "Math(r'$F(k) = \\int_{-\\infty}^{\\infty} f(x) e^{2\\pi i k} dx$')" | |
828 | ], |
|
828 | ], | |
829 | "language": "python", |
|
829 | "language": "python", | |
830 | "outputs": [ |
|
830 | "outputs": [ | |
831 | { |
|
831 | { | |
832 | "latex": [ |
|
832 | "latex": [ | |
833 | "$F(k) = \\int_{-\\infty}^{\\infty} f(x) e^{2\\pi i k} dx$" |
|
833 | "$F(k) = \\int_{-\\infty}^{\\infty} f(x) e^{2\\pi i k} dx$" | |
834 | ], |
|
834 | ], | |
835 | "output_type": "pyout", |
|
835 | "output_type": "pyout", | |
836 | "prompt_number": 8, |
|
836 | "prompt_number": 8, | |
837 | "text": [ |
|
837 | "text": [ | |
838 | "<IPython.core.display.Math at 0x45840d0>" |
|
838 | "<IPython.core.display.Math at 0x45840d0>" | |
839 | ] |
|
839 | ] | |
840 | } |
|
840 | } | |
841 | ], |
|
841 | ], | |
842 | "prompt_number": 8 |
|
842 | "prompt_number": 8 | |
843 | }, |
|
843 | }, | |
844 | { |
|
844 | { | |
845 | "cell_type": "markdown", |
|
845 | "cell_type": "markdown", | |
846 | "source": [ |
|
846 | "source": [ | |
847 | "# Loading external codes", |
|
847 | "# Loading external codes", | |
848 | "* Drag and drop a ``.py`` in the dashboard", |
|
848 | "* Drag and drop a ``.py`` in the dashboard", | |
849 | "* Use ``%loadpy`` with any local or remote url: [the Matplotlib Gallery!](http://matplotlib.sourceforge.net/gallery.html)", |
|
849 | "* Use ``%loadpy`` with any local or remote url: [the Matplotlib Gallery!](http://matplotlib.sourceforge.net/gallery.html)", | |
850 | "", |
|
850 | "", | |
851 | "In this notebook we've kept the output saved so you can see the result, but you should run the next", |
|
851 | "In this notebook we've kept the output saved so you can see the result, but you should run the next", | |
852 | "cell yourself (with an active internet connection)." |
|
852 | "cell yourself (with an active internet connection)." | |
853 | ] |
|
853 | ] | |
854 | }, |
|
854 | }, | |
855 | { |
|
855 | { | |
856 | "cell_type": "code", |
|
856 | "cell_type": "code", | |
857 | "collapsed": true, |
|
857 | "collapsed": true, | |
858 | "input": [ |
|
858 | "input": [ | |
859 | "%loadpy http://matplotlib.sourceforge.net/mpl_examples/pylab_examples/integral_demo.py" |
|
859 | "%loadpy http://matplotlib.sourceforge.net/mpl_examples/pylab_examples/integral_demo.py" | |
860 | ], |
|
860 | ], | |
861 | "language": "python", |
|
861 | "language": "python", | |
862 | "outputs": [], |
|
862 | "outputs": [], | |
863 | "prompt_number": 8 |
|
863 | "prompt_number": 8 | |
864 | }, |
|
864 | }, | |
865 | { |
|
865 | { | |
866 | "cell_type": "code", |
|
866 | "cell_type": "code", | |
867 | "collapsed": false, |
|
867 | "collapsed": false, | |
868 | "input": [ |
|
868 | "input": [ | |
869 | "#!/usr/bin/env python", |
|
869 | "#!/usr/bin/env python", | |
870 | "", |
|
870 | "", | |
871 | "# implement the example graphs/integral from pyx", |
|
871 | "# implement the example graphs/integral from pyx", | |
872 | "from pylab import *", |
|
872 | "from pylab import *", | |
873 | "from matplotlib.patches import Polygon", |
|
873 | "from matplotlib.patches import Polygon", | |
874 | "", |
|
874 | "", | |
875 | "def func(x):", |
|
875 | "def func(x):", | |
876 | " return (x-3)*(x-5)*(x-7)+85", |
|
876 | " return (x-3)*(x-5)*(x-7)+85", | |
877 | "", |
|
877 | "", | |
878 | "ax = subplot(111)", |
|
878 | "ax = subplot(111)", | |
879 | "", |
|
879 | "", | |
880 | "a, b = 2, 9 # integral area", |
|
880 | "a, b = 2, 9 # integral area", | |
881 | "x = arange(0, 10, 0.01)", |
|
881 | "x = arange(0, 10, 0.01)", | |
882 | "y = func(x)", |
|
882 | "y = func(x)", | |
883 | "plot(x, y, linewidth=1)", |
|
883 | "plot(x, y, linewidth=1)", | |
884 | "", |
|
884 | "", | |
885 | "# make the shaded region", |
|
885 | "# make the shaded region", | |
886 | "ix = arange(a, b, 0.01)", |
|
886 | "ix = arange(a, b, 0.01)", | |
887 | "iy = func(ix)", |
|
887 | "iy = func(ix)", | |
888 | "verts = [(a,0)] + zip(ix,iy) + [(b,0)]", |
|
888 | "verts = [(a,0)] + zip(ix,iy) + [(b,0)]", | |
889 | "poly = Polygon(verts, facecolor='0.8', edgecolor='k')", |
|
889 | "poly = Polygon(verts, facecolor='0.8', edgecolor='k')", | |
890 | "ax.add_patch(poly)", |
|
890 | "ax.add_patch(poly)", | |
891 | "", |
|
891 | "", | |
892 | "text(0.5 * (a + b), 30,", |
|
892 | "text(0.5 * (a + b), 30,", | |
893 | " r\"$\\int_a^b f(x)\\mathrm{d}x$\", horizontalalignment='center',", |
|
893 | " r\"$\\int_a^b f(x)\\mathrm{d}x$\", horizontalalignment='center',", | |
894 | " fontsize=20)", |
|
894 | " fontsize=20)", | |
895 | "", |
|
895 | "", | |
896 | "axis([0,10, 0, 180])", |
|
896 | "axis([0,10, 0, 180])", | |
897 | "figtext(0.9, 0.05, 'x')", |
|
897 | "figtext(0.9, 0.05, 'x')", | |
898 | "figtext(0.1, 0.9, 'y')", |
|
898 | "figtext(0.1, 0.9, 'y')", | |
899 | "ax.set_xticks((a,b))", |
|
899 | "ax.set_xticks((a,b))", | |
900 | "ax.set_xticklabels(('a','b'))", |
|
900 | "ax.set_xticklabels(('a','b'))", | |
901 | "ax.set_yticks([])", |
|
901 | "ax.set_yticks([])", | |
902 | "show()" |
|
902 | "show()" | |
903 | ], |
|
903 | ], | |
904 | "language": "python", |
|
904 | "language": "python", | |
905 | "outputs": [ |
|
905 | "outputs": [ | |
906 | { |
|
906 | { | |
907 | "output_type": "display_data", |
|
907 | "output_type": "display_data", | |
908 | "png": "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\nSUVORK5CYII=\n" |
|
908 | "png": "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\nSUVORK5CYII=\n" | |
909 | } |
|
909 | } | |
910 | ], |
|
910 | ], | |
911 | "prompt_number": 9 |
|
911 | "prompt_number": 9 | |
912 | }, |
|
912 | }, | |
913 | { |
|
913 | { | |
914 | "cell_type": "code", |
|
914 | "cell_type": "code", | |
915 | "collapsed": true, |
|
915 | "collapsed": true, | |
916 | "input": [], |
|
916 | "input": [], | |
917 | "language": "python", |
|
917 | "language": "python", | |
918 |
"outputs": [] |
|
918 | "outputs": [] | |
919 | "prompt_number": " " |
|
|||
920 | } |
|
919 | } | |
921 | ] |
|
920 | ] | |
922 | } |
|
921 | } | |
923 | ] |
|
922 | ] | |
924 | } No newline at end of file |
|
923 | } |
@@ -1,421 +1,419 b'' | |||||
1 | { |
|
1 | { | |
2 | "metadata": { |
|
2 | "metadata": { | |
3 | "name": "01_notebook_introduction" |
|
3 | "name": "01_notebook_introduction" | |
4 | }, |
|
4 | }, | |
5 | "nbformat": 2, |
|
5 | "nbformat": 2, | |
6 | "worksheets": [ |
|
6 | "worksheets": [ | |
7 | { |
|
7 | { | |
8 | "cells": [ |
|
8 | "cells": [ | |
9 | { |
|
9 | { | |
10 | "cell_type": "markdown", |
|
10 | "cell_type": "markdown", | |
11 | "source": [ |
|
11 | "source": [ | |
12 | "# An introduction to the IPython notebook", |
|
12 | "# An introduction to the IPython notebook", | |
13 | "", |
|
13 | "", | |
14 | "The IPython web notebook is a frontend that allows for new modes", |
|
14 | "The IPython web notebook is a frontend that allows for new modes", | |
15 | "of interaction with IPython: this web-based interface allows you to execute Python and IPython", |
|
15 | "of interaction with IPython: this web-based interface allows you to execute Python and IPython", | |
16 | "commands in each input cell just like you would at the IPython terminal or Qt console, but you can", |
|
16 | "commands in each input cell just like you would at the IPython terminal or Qt console, but you can", | |
17 | "also save an entire session as a document in a file with the `.ipynb` extension.", |
|
17 | "also save an entire session as a document in a file with the `.ipynb` extension.", | |
18 | "", |
|
18 | "", | |
19 | "The document you are reading now is precisely an example of one such notebook, and we will show you", |
|
19 | "The document you are reading now is precisely an example of one such notebook, and we will show you", | |
20 | "here how to best use this new interface.", |
|
20 | "here how to best use this new interface.", | |
21 | "", |
|
21 | "", | |
22 | "The first thing to understand is that a notebook consists of a sequence of 'cells' that can contain ", |
|
22 | "The first thing to understand is that a notebook consists of a sequence of 'cells' that can contain ", | |
23 | "either text (such as this one) or code meant for execution (such as the next one):", |
|
23 | "either text (such as this one) or code meant for execution (such as the next one):", | |
24 | "", |
|
24 | "", | |
25 | "* Text cells can be written using [Markdown syntax](http://daringfireball.net/projects/markdown/syntax) ", |
|
25 | "* Text cells can be written using [Markdown syntax](http://daringfireball.net/projects/markdown/syntax) ", | |
26 | "(in a future release we will also provide support for reStructuredText and Sphinx integration, and we ", |
|
26 | "(in a future release we will also provide support for reStructuredText and Sphinx integration, and we ", | |
27 | "welcome help from interested contributors to make that happen).", |
|
27 | "welcome help from interested contributors to make that happen).", | |
28 | "", |
|
28 | "", | |
29 | "* Code cells take IPython input (i.e. Python code, `%magics`, `!system calls`, etc) like IPython at", |
|
29 | "* Code cells take IPython input (i.e. Python code, `%magics`, `!system calls`, etc) like IPython at", | |
30 | "the terminal or at the Qt Console. The only difference is that in order to execute a cell, you *must*", |
|
30 | "the terminal or at the Qt Console. The only difference is that in order to execute a cell, you *must*", | |
31 | "use `Shift-Enter`, as pressing `Enter` will add a new line of text to the cell. When you type ", |
|
31 | "use `Shift-Enter`, as pressing `Enter` will add a new line of text to the cell. When you type ", | |
32 | "`Shift-Enter`, the cell content is executed, output displayed and a new cell is created below. Try", |
|
32 | "`Shift-Enter`, the cell content is executed, output displayed and a new cell is created below. Try", | |
33 | "it now by putting your cursor on the next cell and typing `Shift-Enter`:" |
|
33 | "it now by putting your cursor on the next cell and typing `Shift-Enter`:" | |
34 | ] |
|
34 | ] | |
35 | }, |
|
35 | }, | |
36 | { |
|
36 | { | |
37 | "cell_type": "code", |
|
37 | "cell_type": "code", | |
38 | "collapsed": false, |
|
38 | "collapsed": false, | |
39 | "input": [ |
|
39 | "input": [ | |
40 | "\"This is the new IPython notebook\"" |
|
40 | "\"This is the new IPython notebook\"" | |
41 | ], |
|
41 | ], | |
42 | "language": "python", |
|
42 | "language": "python", | |
43 | "outputs": [ |
|
43 | "outputs": [ | |
44 | { |
|
44 | { | |
45 | "output_type": "pyout", |
|
45 | "output_type": "pyout", | |
46 |
"prompt_number": |
|
46 | "prompt_number": 1, | |
47 | "text": [ |
|
47 | "text": [ | |
48 |
" |
|
48 | "'This is the new IPython notebook'" | |
49 | ] |
|
49 | ] | |
50 | } |
|
50 | } | |
51 | ], |
|
51 | ], | |
52 |
"prompt_number": |
|
52 | "prompt_number": 1 | |
53 | }, |
|
53 | }, | |
54 | { |
|
54 | { | |
55 | "cell_type": "markdown", |
|
55 | "cell_type": "markdown", | |
56 | "source": [ |
|
56 | "source": [ | |
57 | "You can re-execute the same cell over and over as many times as you want. Simply put your", |
|
57 | "You can re-execute the same cell over and over as many times as you want. Simply put your", | |
58 | "cursor in the cell again, edit at will, and type `Shift-Enter` to execute. ", |
|
58 | "cursor in the cell again, edit at will, and type `Shift-Enter` to execute. ", | |
59 | "", |
|
59 | "", | |
60 | "**Tip:** A cell can also be executed", |
|
60 | "**Tip:** A cell can also be executed", | |
61 | "*in-place*, where IPython executes its content but leaves the cursor in the same cell. This is done by", |
|
61 | "*in-place*, where IPython executes its content but leaves the cursor in the same cell. This is done by", | |
62 | "typing `Ctrl-Enter` instead, and is useful if you want to quickly run a command to check something ", |
|
62 | "typing `Ctrl-Enter` instead, and is useful if you want to quickly run a command to check something ", | |
63 | "before tping the real content you want to leave in the cell. For example, in the next cell, try issuing", |
|
63 | "before tping the real content you want to leave in the cell. For example, in the next cell, try issuing", | |
64 | "several system commands in-place with `Ctrl-Enter`, such as `pwd` and then `ls`:" |
|
64 | "several system commands in-place with `Ctrl-Enter`, such as `pwd` and then `ls`:" | |
65 | ] |
|
65 | ] | |
66 | }, |
|
66 | }, | |
67 | { |
|
67 | { | |
68 | "cell_type": "code", |
|
68 | "cell_type": "code", | |
69 | "collapsed": false, |
|
69 | "collapsed": false, | |
70 | "input": [ |
|
70 | "input": [ | |
71 | "ls" |
|
71 | "ls" | |
72 | ], |
|
72 | ], | |
73 | "language": "python", |
|
73 | "language": "python", | |
74 | "outputs": [ |
|
74 | "outputs": [ | |
75 | { |
|
75 | { | |
76 | "output_type": "stream", |
|
76 | "output_type": "stream", | |
77 | "stream": "stdout", |
|
77 | "stream": "stdout", | |
78 | "text": [ |
|
78 | "text": [ | |
79 | "00_notebook_tour.ipynb formatting.ipynb sympy_quantum_computing.ipynb", |
|
79 | "00_notebook_tour.ipynb formatting.ipynb sympy_quantum_computing.ipynb", | |
80 | "01_notebook_introduction.ipynb python-logo.svg trapezoid_rule.ipynb", |
|
80 | "01_notebook_introduction.ipynb python-logo.svg trapezoid_rule.ipynb", | |
81 | "display_protocol.ipynb sympy.ipynb" |
|
81 | "display_protocol.ipynb sympy.ipynb" | |
82 | ] |
|
82 | ] | |
83 | } |
|
83 | } | |
84 | ], |
|
84 | ], | |
85 |
"prompt_number": |
|
85 | "prompt_number": 2 | |
86 | }, |
|
86 | }, | |
87 | { |
|
87 | { | |
88 | "cell_type": "markdown", |
|
88 | "cell_type": "markdown", | |
89 | "source": [ |
|
89 | "source": [ | |
90 | "In a cell, you can type anything from a single python expression to an arbitrarily long amount of code ", |
|
90 | "In a cell, you can type anything from a single python expression to an arbitrarily long amount of code ", | |
91 | "(although for reasons of readability, you should probably limit this to a few dozen lines):" |
|
91 | "(although for reasons of readability, you should probably limit this to a few dozen lines):" | |
92 | ] |
|
92 | ] | |
93 | }, |
|
93 | }, | |
94 | { |
|
94 | { | |
95 | "cell_type": "code", |
|
95 | "cell_type": "code", | |
96 | "collapsed": false, |
|
96 | "collapsed": false, | |
97 | "input": [ |
|
97 | "input": [ | |
98 | "def f(x):", |
|
98 | "def f(x):", | |
99 | " \"\"\"My function", |
|
99 | " \"\"\"My function", | |
100 | " x : parameter\"\"\"", |
|
100 | " x : parameter\"\"\"", | |
101 | " ", |
|
101 | " ", | |
102 | " return x+1", |
|
102 | " return x+1", | |
103 | "", |
|
103 | "", | |
104 | "print \"f(3) = \", f(3)" |
|
104 | "print \"f(3) = \", f(3)" | |
105 | ], |
|
105 | ], | |
106 | "language": "python", |
|
106 | "language": "python", | |
107 | "outputs": [ |
|
107 | "outputs": [ | |
108 | { |
|
108 | { | |
109 | "output_type": "stream", |
|
109 | "output_type": "stream", | |
110 | "stream": "stdout", |
|
110 | "stream": "stdout", | |
111 | "text": [ |
|
111 | "text": [ | |
112 | "f(3) = 4" |
|
112 | "f(3) = 4" | |
113 | ] |
|
113 | ] | |
114 | } |
|
114 | } | |
115 | ], |
|
115 | ], | |
116 |
"prompt_number": |
|
116 | "prompt_number": 3 | |
117 | }, |
|
117 | }, | |
118 | { |
|
118 | { | |
119 | "cell_type": "markdown", |
|
119 | "cell_type": "markdown", | |
120 | "source": [ |
|
120 | "source": [ | |
121 | "## User interface", |
|
121 | "## User interface", | |
122 | "", |
|
122 | "", | |
123 | "When you start a new notebook server with `ipython notebook`, your", |
|
123 | "When you start a new notebook server with `ipython notebook`, your", | |
124 | "browser should open into the *Dashboard*, a page listing all notebooks", |
|
124 | "browser should open into the *Dashboard*, a page listing all notebooks", | |
125 | "available in the current directory as well as letting you create new", |
|
125 | "available in the current directory as well as letting you create new", | |
126 | "notebooks. In this page, you can also drag and drop existing `.py` files", |
|
126 | "notebooks. In this page, you can also drag and drop existing `.py` files", | |
127 | "over the file list to import them as notebooks (see the manual for ", |
|
127 | "over the file list to import them as notebooks (see the manual for ", | |
128 | "[further details on how these files are ", |
|
128 | "[further details on how these files are ", | |
129 | "interpreted](http://ipython.org/ipython-doc/stable/interactive/htmlnotebook.html)).", |
|
129 | "interpreted](http://ipython.org/ipython-doc/stable/interactive/htmlnotebook.html)).", | |
130 | "", |
|
130 | "", | |
131 | "Once you open an existing notebook (like this one) or create a new one,", |
|
131 | "Once you open an existing notebook (like this one) or create a new one,", | |
132 | "you are in the main notebook interface, which consists of a main editing", |
|
132 | "you are in the main notebook interface, which consists of a main editing", | |
133 | "area (where these cells are contained) as well as a collapsible left panel, ", |
|
133 | "area (where these cells are contained) as well as a collapsible left panel, ", | |
134 | "a permanent header area at the top, and a pager that rises from the", |
|
134 | "a permanent header area at the top, and a pager that rises from the", | |
135 | "bottom when needed and can be collapsed again." |
|
135 | "bottom when needed and can be collapsed again." | |
136 | ] |
|
136 | ] | |
137 | }, |
|
137 | }, | |
138 | { |
|
138 | { | |
139 | "cell_type": "markdown", |
|
139 | "cell_type": "markdown", | |
140 | "source": [ |
|
140 | "source": [ | |
141 | "### Main editing area", |
|
141 | "### Main editing area", | |
142 | "", |
|
142 | "", | |
143 | "Here, you can move with the arrow keys or using the ", |
|
143 | "Here, you can move with the arrow keys or using the ", | |
144 | "scroll bars. The cursor enters code cells immediately, but only selects", |
|
144 | "scroll bars. The cursor enters code cells immediately, but only selects", | |
145 | "text (markdown) cells without entering in them; to enter a text cell,", |
|
145 | "text (markdown) cells without entering in them; to enter a text cell,", | |
146 | "use `Enter`, and `Shift-Enter` to exit it again (just like to execute a ", |
|
146 | "use `Enter`, and `Shift-Enter` to exit it again (just like to execute a ", | |
147 | "code cell)." |
|
147 | "code cell)." | |
148 | ] |
|
148 | ] | |
149 | }, |
|
149 | }, | |
150 | { |
|
150 | { | |
151 | "cell_type": "markdown", |
|
151 | "cell_type": "markdown", | |
152 | "source": [ |
|
152 | "source": [ | |
153 | "### Left panel", |
|
153 | "### Left panel", | |
154 | "", |
|
154 | "", | |
155 | "This panel contains a number of panes that can be", |
|
155 | "This panel contains a number of panes that can be", | |
156 | "collapsed vertically by clicking on their title bar, and the whole panel", |
|
156 | "collapsed vertically by clicking on their title bar, and the whole panel", | |
157 | "can also be collapsed by clicking on the vertical divider (note that you", |
|
157 | "can also be collapsed by clicking on the vertical divider (note that you", | |
158 | "can not *drag* the divider, for now you can only click on it).", |
|
158 | "can not *drag* the divider, for now you can only click on it).", | |
159 | "", |
|
159 | "", | |
160 | "The *Notebook* section contains actions that pertain to the whole notebook,", |
|
160 | "The *Notebook* section contains actions that pertain to the whole notebook,", | |
161 | "such as downloading the current notebook either in its original format", |
|
161 | "such as downloading the current notebook either in its original format", | |
162 | "or as a `.py` script, and printing it. When you click the `Print` button,", |
|
162 | "or as a `.py` script, and printing it. When you click the `Print` button,", | |
163 | "a new HTML page opens with a static copy of the notebook; you can then", |
|
163 | "a new HTML page opens with a static copy of the notebook; you can then", | |
164 | "use your web browser's mechanisms to save or print this file.", |
|
164 | "use your web browser's mechanisms to save or print this file.", | |
165 | "", |
|
165 | "", | |
166 | "The *Cell* section lets you manipulate individual cells, and the names should ", |
|
166 | "The *Cell* section lets you manipulate individual cells, and the names should ", | |
167 | "be fairly self-explanatory.", |
|
167 | "be fairly self-explanatory.", | |
168 | "", |
|
168 | "", | |
169 | "The *Kernel* section lets you signal the kernel executing your code. ", |
|
169 | "The *Kernel* section lets you signal the kernel executing your code. ", | |
170 | "`Interrupt` does the equivalent of hitting `Ctrl-C` at a terminal, and", |
|
170 | "`Interrupt` does the equivalent of hitting `Ctrl-C` at a terminal, and", | |
171 | "`Restart` fully kills the kernel process and starts a fresh one. Obviously", |
|
171 | "`Restart` fully kills the kernel process and starts a fresh one. Obviously", | |
172 | "this means that all your previous variables are destroyed, but it also", |
|
172 | "this means that all your previous variables are destroyed, but it also", | |
173 | "makes it easy to get a fresh kernel in which to re-execute a notebook, perhaps", |
|
173 | "makes it easy to get a fresh kernel in which to re-execute a notebook, perhaps", | |
174 | "after changing an extension module for which Python's `reload` mechanism", |
|
174 | "after changing an extension module for which Python's `reload` mechanism", | |
175 | "does not work. If you check the 'Kill kernel upon exit' box, when you ", |
|
175 | "does not work. If you check the 'Kill kernel upon exit' box, when you ", | |
176 | "close the page IPython will automatically shut down the running kernel;", |
|
176 | "close the page IPython will automatically shut down the running kernel;", | |
177 | "otherwise the kernels won't close until you stop the whole ", |
|
177 | "otherwise the kernels won't close until you stop the whole ", | |
178 | "", |
|
178 | "", | |
179 | "The *Help* section contains links to the documentation of some projects", |
|
179 | "The *Help* section contains links to the documentation of some projects", | |
180 | "closely related to IPython as well as the minimal keybindings you need to", |
|
180 | "closely related to IPython as well as the minimal keybindings you need to", | |
181 | "know. But you should use `Ctrl-m h` (or click the `QuickHelp` button at", |
|
181 | "know. But you should use `Ctrl-m h` (or click the `QuickHelp` button at", | |
182 | "the top) and learn some of the other keybindings, as it will make your ", |
|
182 | "the top) and learn some of the other keybindings, as it will make your ", | |
183 | "workflow much more fluid and efficient.", |
|
183 | "workflow much more fluid and efficient.", | |
184 | "", |
|
184 | "", | |
185 | "The *Configuration* section at the bottom lets you change some values", |
|
185 | "The *Configuration* section at the bottom lets you change some values", | |
186 | "related to the display of tooltips and the behavior of the tab completer." |
|
186 | "related to the display of tooltips and the behavior of the tab completer." | |
187 | ] |
|
187 | ] | |
188 | }, |
|
188 | }, | |
189 | { |
|
189 | { | |
190 | "cell_type": "markdown", |
|
190 | "cell_type": "markdown", | |
191 | "source": [ |
|
191 | "source": [ | |
192 | "### Header bar", |
|
192 | "### Header bar", | |
193 | "", |
|
193 | "", | |
194 | "The header area at the top allows you to rename an existing ", |
|
194 | "The header area at the top allows you to rename an existing ", | |
195 | "notebook and open up a short help tooltip. This area also indicates", |
|
195 | "notebook and open up a short help tooltip. This area also indicates", | |
196 | "with a red **Busy** mark on the right whenever the kernel is busy executing", |
|
196 | "with a red **Busy** mark on the right whenever the kernel is busy executing", | |
197 | "code." |
|
197 | "code." | |
198 | ] |
|
198 | ] | |
199 | }, |
|
199 | }, | |
200 | { |
|
200 | { | |
201 | "cell_type": "markdown", |
|
201 | "cell_type": "markdown", | |
202 | "source": [ |
|
202 | "source": [ | |
203 | "### The pager at the bottom", |
|
203 | "### The pager at the bottom", | |
204 | "", |
|
204 | "", | |
205 | "Whenever IPython needs to display additional ", |
|
205 | "Whenever IPython needs to display additional ", | |
206 | "information, such as when you type `somefunction?` in a cell, the notebook", |
|
206 | "information, such as when you type `somefunction?` in a cell, the notebook", | |
207 | "opens a pane at the bottom where this information is shown. You can keep", |
|
207 | "opens a pane at the bottom where this information is shown. You can keep", | |
208 | "this pager pane open for reference (it doesn't block input in the main area)", |
|
208 | "this pager pane open for reference (it doesn't block input in the main area)", | |
209 | "or dismiss it by clicking on its divider bar." |
|
209 | "or dismiss it by clicking on its divider bar." | |
210 | ] |
|
210 | ] | |
211 | }, |
|
211 | }, | |
212 | { |
|
212 | { | |
213 | "cell_type": "markdown", |
|
213 | "cell_type": "markdown", | |
214 | "source": [ |
|
214 | "source": [ | |
215 | "### Tab completion and tooltips", |
|
215 | "### Tab completion and tooltips", | |
216 | "", |
|
216 | "", | |
217 | "The notebook uses the same underlying machinery for tab completion that ", |
|
217 | "The notebook uses the same underlying machinery for tab completion that ", | |
218 | "IPython uses at the terminal, but displays the information differently.", |
|
218 | "IPython uses at the terminal, but displays the information differently.", | |
219 | "Whey you complete with the `Tab` key, IPython shows a drop list with all", |
|
219 | "Whey you complete with the `Tab` key, IPython shows a drop list with all", | |
220 | "available completions. If you type more characters while this list is open,", |
|
220 | "available completions. If you type more characters while this list is open,", | |
221 | "IPython automatically eliminates from the list options that don't match the", |
|
221 | "IPython automatically eliminates from the list options that don't match the", | |
222 | "new characters; once there is only one option left you can hit `Tab` once", |
|
222 | "new characters; once there is only one option left you can hit `Tab` once", | |
223 | "more (or `Enter`) to complete. You can also select the completion you", |
|
223 | "more (or `Enter`) to complete. You can also select the completion you", | |
224 | "want with the arrow keys or the mouse, and then hit `Enter`.", |
|
224 | "want with the arrow keys or the mouse, and then hit `Enter`.", | |
225 | "", |
|
225 | "", | |
226 | "In addition, if you hit `Tab` inside of open parentheses, IPython will ", |
|
226 | "In addition, if you hit `Tab` inside of open parentheses, IPython will ", | |
227 | "search for the docstring of the last object left of the parens and will", |
|
227 | "search for the docstring of the last object left of the parens and will", | |
228 | "display it on a tooltip. For example, type `list(<TAB>` and you will", |
|
228 | "display it on a tooltip. For example, type `list(<TAB>` and you will", | |
229 | "see the docstring for the builtin `list` constructor:" |
|
229 | "see the docstring for the builtin `list` constructor:" | |
230 | ] |
|
230 | ] | |
231 | }, |
|
231 | }, | |
232 | { |
|
232 | { | |
233 | "cell_type": "code", |
|
233 | "cell_type": "code", | |
234 | "collapsed": true, |
|
234 | "collapsed": true, | |
235 | "input": [ |
|
235 | "input": [ | |
236 | "# Position your cursor after the ( and hit the Tab key:", |
|
236 | "# Position your cursor after the ( and hit the Tab key:", | |
237 | "list(" |
|
237 | "list(" | |
238 | ], |
|
238 | ], | |
239 | "language": "python", |
|
239 | "language": "python", | |
240 |
"outputs": [] |
|
240 | "outputs": [] | |
241 | "prompt_number": " " |
|
|||
242 | }, |
|
241 | }, | |
243 | { |
|
242 | { | |
244 | "cell_type": "markdown", |
|
243 | "cell_type": "markdown", | |
245 | "source": [ |
|
244 | "source": [ | |
246 | "## The frontend/kernel model", |
|
245 | "## The frontend/kernel model", | |
247 | "", |
|
246 | "", | |
248 | "The IPython notebook works on a client/server model where an *IPython kernel*", |
|
247 | "The IPython notebook works on a client/server model where an *IPython kernel*", | |
249 | "starts in a separate process and acts as a server to executes the code you type,", |
|
248 | "starts in a separate process and acts as a server to executes the code you type,", | |
250 | "while the web browser provides acts as a client, providing a front end environment", |
|
249 | "while the web browser provides acts as a client, providing a front end environment", | |
251 | "for you to type. But one kernel is capable of simultaneously talking to more than", |
|
250 | "for you to type. But one kernel is capable of simultaneously talking to more than", | |
252 | "one client, and they do not all need to be of the same kind. All IPython frontends", |
|
251 | "one client, and they do not all need to be of the same kind. All IPython frontends", | |
253 | "are capable of communicating with a kernel, and any number of them can be active", |
|
252 | "are capable of communicating with a kernel, and any number of them can be active", | |
254 | "at the same time. In addition to allowing you to have, for example, more than one", |
|
253 | "at the same time. In addition to allowing you to have, for example, more than one", | |
255 | "browser session active, this lets you connect clients with different user interface features.", |
|
254 | "browser session active, this lets you connect clients with different user interface features.", | |
256 | "", |
|
255 | "", | |
257 | "For example, you may want to connect a Qt console to your kernel and use it as a help", |
|
256 | "For example, you may want to connect a Qt console to your kernel and use it as a help", | |
258 | "browser, calling `??` on objects in the Qt console (whose pager is more flexible than the", |
|
257 | "browser, calling `??` on objects in the Qt console (whose pager is more flexible than the", | |
259 | "one in the notebook). You can start a new Qt console connected to your current kernel by ", |
|
258 | "one in the notebook). You can start a new Qt console connected to your current kernel by ", | |
260 | "using the `%qtconsole` magic, this will automatically detect the necessary connection", |
|
259 | "using the `%qtconsole` magic, this will automatically detect the necessary connection", | |
261 | "information.", |
|
260 | "information.", | |
262 | "", |
|
261 | "", | |
263 | "If you want to open one manually, or want to open a text console from a terminal, you can ", |
|
262 | "If you want to open one manually, or want to open a text console from a terminal, you can ", | |
264 | "get your kernel's connection information with the `%connect_info` magic:" |
|
263 | "get your kernel's connection information with the `%connect_info` magic:" | |
265 | ] |
|
264 | ] | |
266 | }, |
|
265 | }, | |
267 | { |
|
266 | { | |
268 | "cell_type": "code", |
|
267 | "cell_type": "code", | |
269 | "collapsed": false, |
|
268 | "collapsed": false, | |
270 | "input": [ |
|
269 | "input": [ | |
271 | "%connect_info" |
|
270 | "%connect_info" | |
272 | ], |
|
271 | ], | |
273 | "language": "python", |
|
272 | "language": "python", | |
274 | "outputs": [ |
|
273 | "outputs": [ | |
275 | { |
|
274 | { | |
276 | "output_type": "stream", |
|
275 | "output_type": "stream", | |
277 | "stream": "stdout", |
|
276 | "stream": "stdout", | |
278 | "text": [ |
|
277 | "text": [ | |
279 | "{", |
|
278 | "{", | |
280 |
" |
|
279 | " \"stdin_port\": 53970, ", | |
281 |
" |
|
280 | " \"ip\": \"127.0.0.1\", ", | |
282 |
" |
|
281 | " \"hb_port\": 53971, ", | |
283 | " "key": "e7b658da-b60b-42f6-b6b0-5098f5d2e533", ", |
|
282 | " \"key\": \"30daac61-6b73-4bae-a7d9-9dca538794d5\", ", | |
284 |
" |
|
283 | " \"shell_port\": 53968, ", | |
285 |
" |
|
284 | " \"iopub_port\": 53969", | |
286 | "}", |
|
285 | "}", | |
287 | "", |
|
286 | "", | |
288 | "Paste the above JSON into a file, and connect with:", |
|
287 | "Paste the above JSON into a file, and connect with:", | |
289 |
" $ |
|
288 | " $> ipython <app> --existing <file>", | |
290 | "or, if you are local, you can connect with just:", |
|
289 | "or, if you are local, you can connect with just:", | |
291 |
" $ |
|
290 | " $> ipython <app> --existing kernel-dd85d1cc-c335-44f4-bed8-f1a2173a819a.json ", | |
292 | "or even just:", |
|
291 | "or even just:", | |
293 |
" $ |
|
292 | " $> ipython <app> --existing ", | |
294 | "if this is the most recent IPython session you have started." |
|
293 | "if this is the most recent IPython session you have started." | |
295 | ] |
|
294 | ] | |
296 | } |
|
295 | } | |
297 | ], |
|
296 | ], | |
298 |
"prompt_number": |
|
297 | "prompt_number": 4 | |
299 | }, |
|
298 | }, | |
300 | { |
|
299 | { | |
301 | "cell_type": "markdown", |
|
300 | "cell_type": "markdown", | |
302 | "source": [ |
|
301 | "source": [ | |
303 | "## The kernel's `raw_input` and `%debug`", |
|
302 | "## The kernel's `raw_input` and `%debug`", | |
304 | "", |
|
303 | "", | |
305 | "The one feature the notebook currently doesn't support as a client is the ability to send data to the kernel's", |
|
304 | "The one feature the notebook currently doesn't support as a client is the ability to send data to the kernel's", | |
306 | "standard input socket. That is, if the kernel requires information to be typed interactively by calling the", |
|
305 | "standard input socket. That is, if the kernel requires information to be typed interactively by calling the", | |
307 | "builtin `raw_input` function, the notebook will be blocked. This happens for example if you run a script", |
|
306 | "builtin `raw_input` function, the notebook will be blocked. This happens for example if you run a script", | |
308 | "that queries interactively for parameters, and very importantly, is how the interactive IPython debugger that ", |
|
307 | "that queries interactively for parameters, and very importantly, is how the interactive IPython debugger that ", | |
309 | "activates when you type `%debug` works.", |
|
308 | "activates when you type `%debug` works.", | |
310 | "", |
|
309 | "", | |
311 | "So, in order to be able to use `%debug` or anything else that requires `raw_input`, you can either use a Qt ", |
|
310 | "So, in order to be able to use `%debug` or anything else that requires `raw_input`, you can either use a Qt ", | |
312 | "console or a terminal console:", |
|
311 | "console or a terminal console:", | |
313 | "", |
|
312 | "", | |
314 | "- From the notebook, typing `%qtconsole` finds all the necessary connection data for you.", |
|
313 | "- From the notebook, typing `%qtconsole` finds all the necessary connection data for you.", | |
315 | "- From the terminal, first type `%connect_info` while still in the notebook, and then copy and paste the ", |
|
314 | "- From the terminal, first type `%connect_info` while still in the notebook, and then copy and paste the ", | |
316 | "resulting information, using `qtconsole` or `console` depending on which type of client you want." |
|
315 | "resulting information, using `qtconsole` or `console` depending on which type of client you want." | |
317 | ] |
|
316 | ] | |
318 | }, |
|
317 | }, | |
319 | { |
|
318 | { | |
320 | "cell_type": "markdown", |
|
319 | "cell_type": "markdown", | |
321 | "source": [ |
|
320 | "source": [ | |
322 | "## Display of complex objects", |
|
321 | "## Display of complex objects", | |
323 | "", |
|
322 | "", | |
324 | "As the 'tour' notebook shows, the IPython notebook has fairly sophisticated display capabilities. In addition", |
|
323 | "As the 'tour' notebook shows, the IPython notebook has fairly sophisticated display capabilities. In addition", | |
325 | "to the examples there, you can study the `display_protocol` notebook in this same examples folder, to ", |
|
324 | "to the examples there, you can study the `display_protocol` notebook in this same examples folder, to ", | |
326 | "learn how to customize arbitrary objects (in your own code or external libraries) to display in the notebook", |
|
325 | "learn how to customize arbitrary objects (in your own code or external libraries) to display in the notebook", | |
327 | "in any way you want, including graphical forms or mathematical expressions." |
|
326 | "in any way you want, including graphical forms or mathematical expressions." | |
328 | ] |
|
327 | ] | |
329 | }, |
|
328 | }, | |
330 | { |
|
329 | { | |
331 | "cell_type": "markdown", |
|
330 | "cell_type": "markdown", | |
332 | "source": [ |
|
331 | "source": [ | |
333 | "## Plotting support", |
|
332 | "## Plotting support", | |
334 | "", |
|
333 | "", | |
335 | "As we've explained already, the notebook is just another frontend talking to the same IPython kernel that", |
|
334 | "As we've explained already, the notebook is just another frontend talking to the same IPython kernel that", | |
336 | "you're already familiar with, so the same options for plotting support apply.", |
|
335 | "you're already familiar with, so the same options for plotting support apply.", | |
337 | "", |
|
336 | "", | |
338 | "If you start the notebook with `--pylab`, you will get matplotlib's floating, interactive windows and you", |
|
337 | "If you start the notebook with `--pylab`, you will get matplotlib's floating, interactive windows and you", | |
339 | "can call the `display` function to paste figures into the notebook document. If you start it with ", |
|
338 | "can call the `display` function to paste figures into the notebook document. If you start it with ", | |
340 | "`--pylab inline`, all plots will appear inline automatically. In this regard, the notebook works identically", |
|
339 | "`--pylab inline`, all plots will appear inline automatically. In this regard, the notebook works identically", | |
341 | "to the Qt console.", |
|
340 | "to the Qt console.", | |
342 | "", |
|
341 | "", | |
343 | "Note that if you start the notebook server with pylab support, *all* kernels are automatically started in", |
|
342 | "Note that if you start the notebook server with pylab support, *all* kernels are automatically started in", | |
344 | "pylab mode and with the same choice of backend (i.e. floating windows or inline figures). But you can also", |
|
343 | "pylab mode and with the same choice of backend (i.e. floating windows or inline figures). But you can also", | |
345 | "start the notebook server simply by typing `ipython notebook`, and then selectively turn on pylab support ", |
|
344 | "start the notebook server simply by typing `ipython notebook`, and then selectively turn on pylab support ", | |
346 | "only for the notebooks you want by using the `%pylab` magic (see its docstring for details)." |
|
345 | "only for the notebooks you want by using the `%pylab` magic (see its docstring for details)." | |
347 | ] |
|
346 | ] | |
348 | }, |
|
347 | }, | |
349 | { |
|
348 | { | |
350 | "cell_type": "code", |
|
349 | "cell_type": "code", | |
351 | "collapsed": false, |
|
350 | "collapsed": false, | |
352 | "input": [ |
|
351 | "input": [ | |
353 | "%pylab inline", |
|
352 | "%pylab inline", | |
354 | "plot(rand(100))" |
|
353 | "plot(rand(100))" | |
355 | ], |
|
354 | ], | |
356 | "language": "python", |
|
355 | "language": "python", | |
357 | "outputs": [ |
|
356 | "outputs": [ | |
358 | { |
|
357 | { | |
359 | "output_type": "stream", |
|
358 | "output_type": "stream", | |
360 | "stream": "stdout", |
|
359 | "stream": "stdout", | |
361 | "text": [ |
|
360 | "text": [ | |
362 | "", |
|
361 | "", | |
363 | "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].", |
|
362 | "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].", | |
364 |
"For more information, type |
|
363 | "For more information, type 'help(pylab)'." | |
365 | ] |
|
364 | ] | |
366 | }, |
|
365 | }, | |
367 | { |
|
366 | { | |
368 | "output_type": "pyout", |
|
367 | "output_type": "pyout", | |
369 |
"prompt_number": |
|
368 | "prompt_number": 5, | |
370 | "text": [ |
|
369 | "text": [ | |
371 |
"[ |
|
370 | "[<matplotlib.lines.Line2D at 0x11165bcd0>]" | |
372 | ] |
|
371 | ] | |
373 | }, |
|
372 | }, | |
374 | { |
|
373 | { | |
375 | "output_type": "display_data", |
|
374 | "output_type": "display_data", | |
376 | "png": "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\n" |
|
375 | "png": "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\n" | |
377 | } |
|
376 | } | |
378 | ], |
|
377 | ], | |
379 |
"prompt_number": |
|
378 | "prompt_number": 5 | |
380 | }, |
|
379 | }, | |
381 | { |
|
380 | { | |
382 | "cell_type": "markdown", |
|
381 | "cell_type": "markdown", | |
383 | "source": [ |
|
382 | "source": [ | |
384 | "## Security", |
|
383 | "## Security", | |
385 | "", |
|
384 | "", | |
386 | "By default the notebook only listens on localhost, so it does not expose your computer to attacks coming from", |
|
385 | "By default the notebook only listens on localhost, so it does not expose your computer to attacks coming from", | |
387 | "the internet. By default the notebook does not require any authentication, but you can configure it to", |
|
386 | "the internet. By default the notebook does not require any authentication, but you can configure it to", | |
388 | "ask for a password before allowing access to the files. ", |
|
387 | "ask for a password before allowing access to the files. ", | |
389 | "", |
|
388 | "", | |
390 | "Furthermore, you can require the notebook to encrypt all communications by using SSL and making all connections", |
|
389 | "Furthermore, you can require the notebook to encrypt all communications by using SSL and making all connections", | |
391 | "using the https protocol instead of plain http. This is a good idea if you decide to run your notebook on", |
|
390 | "using the https protocol instead of plain http. This is a good idea if you decide to run your notebook on", | |
392 | "addresses that are visible from the internet. For further details on how to configure this, see the", |
|
391 | "addresses that are visible from the internet. For further details on how to configure this, see the", | |
393 | "[security section](http://ipython.org/ipython-doc/stable/interactive/htmlnotebook.html#security) of the ", |
|
392 | "[security section](http://ipython.org/ipython-doc/stable/interactive/htmlnotebook.html#security) of the ", | |
394 | "manual.", |
|
393 | "manual.", | |
395 | "", |
|
394 | "", | |
396 | "Finally, note that you can also run a notebook with the `--read-only` flag, which lets you provide access", |
|
395 | "Finally, note that you can also run a notebook with the `--read-only` flag, which lets you provide access", | |
397 | "to your notebook documents to others without letting them execute code (which can be useful to broadcast", |
|
396 | "to your notebook documents to others without letting them execute code (which can be useful to broadcast", | |
398 | "a computation to colleagues or students, for example). The read-only flag behaves differently depending", |
|
397 | "a computation to colleagues or students, for example). The read-only flag behaves differently depending", | |
399 | "on whether the server has a password or not:", |
|
398 | "on whether the server has a password or not:", | |
400 | "", |
|
399 | "", | |
401 | "- Passwordless server: users directly see all notebooks in read-only mode.", |
|
400 | "- Passwordless server: users directly see all notebooks in read-only mode.", | |
402 | "- Password-protected server: users can see all notebooks in read-only mode, but a login button is available", |
|
401 | "- Password-protected server: users can see all notebooks in read-only mode, but a login button is available", | |
403 | "and once a user authenticates, he or she obtains write/execute privileges.", |
|
402 | "and once a user authenticates, he or she obtains write/execute privileges.", | |
404 | "", |
|
403 | "", | |
405 | "The first case above makes it easy to broadcast on the fly an existing notebook by simply starting a *second* ", |
|
404 | "The first case above makes it easy to broadcast on the fly an existing notebook by simply starting a *second* ", | |
406 | "notebook server in the same directory as the first, but in read-only mode. This can be done without having", |
|
405 | "notebook server in the same directory as the first, but in read-only mode. This can be done without having", | |
407 | "to configure a password first (which requires calling a hashing function and editing a configuration file)." |
|
406 | "to configure a password first (which requires calling a hashing function and editing a configuration file)." | |
408 | ] |
|
407 | ] | |
409 | }, |
|
408 | }, | |
410 | { |
|
409 | { | |
411 | "cell_type": "code", |
|
410 | "cell_type": "code", | |
412 | "collapsed": true, |
|
411 | "collapsed": true, | |
413 | "input": [], |
|
412 | "input": [], | |
414 | "language": "python", |
|
413 | "language": "python", | |
415 |
"outputs": [] |
|
414 | "outputs": [] | |
416 | "prompt_number": " " |
|
|||
417 | } |
|
415 | } | |
418 | ] |
|
416 | ] | |
419 | } |
|
417 | } | |
420 | ] |
|
418 | ] | |
421 | } |
|
419 | } No newline at end of file |
@@ -1,126 +1,126 b'' | |||||
1 | { |
|
1 | { | |
2 | "metadata": { |
|
2 | "metadata": { | |
3 | "name": "formatting" |
|
3 | "name": "formatting" | |
4 | }, |
|
4 | }, | |
5 | "nbformat": 2, |
|
5 | "nbformat": 2, | |
6 | "worksheets": [ |
|
6 | "worksheets": [ | |
7 | { |
|
7 | { | |
8 | "cells": [ |
|
8 | "cells": [ | |
9 | { |
|
9 | { | |
10 | "cell_type": "markdown", |
|
10 | "cell_type": "markdown", | |
11 | "source": [ |
|
11 | "source": [ | |
12 | "# Examples of basic formatting in the notebook", |
|
12 | "# Examples of basic formatting in the notebook", | |
13 | "", |
|
13 | "", | |
14 | "Normal and formatted text cells such as this one use the ", |
|
14 | "Normal and formatted text cells such as this one use the ", | |
15 | "[Markdown](http://daringfireball.net/projects/markdown/basics) syntax.", |
|
15 | "[Markdown](http://daringfireball.net/projects/markdown/basics) syntax.", | |
16 | "", |
|
16 | "", | |
17 | "", |
|
17 | "", | |
18 | "# Title (h1)", |
|
18 | "# Title (h1)", | |
19 | "", |
|
19 | "", | |
20 | "## Heading (h2)", |
|
20 | "## Heading (h2)", | |
21 | "", |
|
21 | "", | |
22 | "### Heading (h3)", |
|
22 | "### Heading (h3)", | |
23 | "", |
|
23 | "", | |
24 | "Here is a paragraph of text.", |
|
24 | "Here is a paragraph of text.", | |
25 | "", |
|
25 | "", | |
26 | "* One.", |
|
26 | "* One.", | |
27 | " - Sublist", |
|
27 | " - Sublist", | |
28 | " - Here we go", |
|
28 | " - Here we go", | |
29 | " - Sublist", |
|
29 | " - Sublist", | |
30 | " - Here we go", |
|
30 | " - Here we go", | |
31 | " - Here we go", |
|
31 | " - Here we go", | |
32 | "* Two.", |
|
32 | "* Two.", | |
33 | " - Sublist", |
|
33 | " - Sublist", | |
34 | "* Three.", |
|
34 | "* Three.", | |
35 | " - Sublist", |
|
35 | " - Sublist", | |
36 | "", |
|
36 | "", | |
37 | "Now another list:", |
|
37 | "Now another list:", | |
38 | "", |
|
38 | "", | |
39 | "---", |
|
39 | "---", | |
40 | "", |
|
40 | "", | |
41 | "1. Here we go", |
|
41 | "1. Here we go", | |
42 | " 1. Sublist", |
|
42 | " 1. Sublist", | |
43 | " 2. Sublist", |
|
43 | " 2. Sublist", | |
44 | "2. There we go", |
|
44 | "2. There we go", | |
45 | "3. Now this", |
|
45 | "3. Now this", | |
46 | "", |
|
46 | "", | |
47 | "And another paragraph.", |
|
47 | "And another paragraph.", | |
48 | "", |
|
48 | "", | |
49 | "### Heading (h3)", |
|
49 | "### Heading (h3)", | |
50 | "", |
|
50 | "", | |
51 | "#### Heading (h4)", |
|
51 | "#### Heading (h4)", | |
52 | "", |
|
52 | "", | |
53 | "##### Heading (h5)", |
|
53 | "##### Heading (h5)", | |
54 | "", |
|
54 | "", | |
55 | "###### Heading (h6)", |
|
55 | "###### Heading (h6)", | |
56 | "", |
|
56 | "", | |
57 | "## Heading (h2)" |
|
57 | "## Heading (h2)" | |
58 | ] |
|
58 | ] | |
59 | }, |
|
59 | }, | |
60 | { |
|
60 | { | |
61 | "cell_type": "markdown", |
|
61 | "cell_type": "markdown", | |
62 | "source": [ |
|
62 | "source": [ | |
63 | "# Heading (h1)", |
|
63 | "# Heading (h1)", | |
64 | "", |
|
64 | "", | |
65 | "## Heading (h2)", |
|
65 | "## Heading (h2)", | |
66 | "", |
|
66 | "", | |
67 | "### Heading (h3)", |
|
67 | "### Heading (h3)", | |
68 | "", |
|
68 | "", | |
69 | "#### Heading (h4)", |
|
69 | "#### Heading (h4)", | |
70 | "", |
|
70 | "", | |
71 | "##### Heading (h5)", |
|
71 | "##### Heading (h5)", | |
72 | "", |
|
72 | "", | |
73 | "###### Heading (h6)", |
|
73 | "###### Heading (h6)", | |
74 | "", |
|
74 | "", | |
75 | "Now for a simple code example:", |
|
75 | "Now for a simple code example:", | |
76 | "", |
|
76 | "", | |
77 | " for i in range(10):", |
|
77 | " for i in range(10):", | |
78 | " print i", |
|
78 | " print i", | |
79 | "", |
|
79 | "", | |
80 | "Now more text" |
|
80 | "Now more text" | |
81 | ] |
|
81 | ] | |
82 | }, |
|
82 | }, | |
83 | { |
|
83 | { | |
84 | "cell_type": "markdown", |
|
84 | "cell_type": "markdown", | |
85 | "source": [ |
|
85 | "source": [ | |
86 | "## Heading (h2)", |
|
86 | "## Heading (h2)", | |
87 | "", |
|
87 | "", | |
88 | "Here is text.", |
|
88 | "Here is text.", | |
89 | "", |
|
89 | "", | |
90 | "> This is a *block* quote. This is a block quote. This is a block quote. ", |
|
90 | "> This is a *block* quote. This is a block quote. This is a block quote. ", | |
91 | "> This is a **block** quote. This is a block quote. This is a block quote. ", |
|
91 | "> This is a **block** quote. This is a block quote. This is a block quote. ", | |
92 | "> This is a `block` quote. This is a block quote. This is a block quote. ", |
|
92 | "> This is a `block` quote. This is a block quote. This is a block quote. ", | |
93 | "> This is a block quote. This is a block quote. This is a block quote. ", |
|
93 | "> This is a block quote. This is a block quote. This is a block quote. ", | |
94 | "> This is a block quote. This is a block quote. This is a block quote. ", |
|
94 | "> This is a block quote. This is a block quote. This is a block quote. ", | |
95 | "> This is a block quote. This is a block quote. This is a block quote. ", |
|
95 | "> This is a block quote. This is a block quote. This is a block quote. ", | |
96 | "", |
|
96 | "", | |
97 | "Here is text", |
|
97 | "Here is text", | |
98 | "", |
|
98 | "", | |
99 | "<table>", |
|
99 | "<table>", | |
100 | "<tr>", |
|
100 | "<tr>", | |
101 | "<th>Header 1</th>", |
|
101 | "<th>Header 1</th>", | |
102 | "<th>Header 2</th>", |
|
102 | "<th>Header 2</th>", | |
103 | "</tr>", |
|
103 | "</tr>", | |
104 | "<tr>", |
|
104 | "<tr>", | |
105 | "<td>row 1, cell 1</td>", |
|
105 | "<td>row 1, cell 1</td>", | |
106 | "<td>row 1, cell 2</td>", |
|
106 | "<td>row 1, cell 2</td>", | |
107 | "</tr>", |
|
107 | "</tr>", | |
108 | "<tr>", |
|
108 | "<tr>", | |
109 | "<td>row 2, cell 1</td>", |
|
109 | "<td>row 2, cell 1</td>", | |
110 | "<td>row 2, cell 2</td>", |
|
110 | "<td>row 2, cell 2</td>", | |
111 | "</tr>", |
|
111 | "</tr>", | |
112 | "</table>" |
|
112 | "</table>" | |
113 | ] |
|
113 | ] | |
114 | }, |
|
114 | }, | |
115 | { |
|
115 | { | |
116 | "cell_type": "code", |
|
116 | "cell_type": "code", | |
117 | "collapsed": true, |
|
117 | "collapsed": true, | |
118 | "input": [], |
|
118 | "input": [], | |
119 | "language": "python", |
|
119 | "language": "python", | |
120 |
"outputs": [], |
|
120 | "outputs": [], | |
121 | "prompt_number": " " |
|
121 | "prompt_number": " " | |
122 | } |
|
122 | } | |
123 | ] |
|
123 | ] | |
124 | } |
|
124 | } | |
125 | ] |
|
125 | ] | |
126 | } No newline at end of file |
|
126 | } |
@@ -1,625 +1,626 b'' | |||||
1 | { |
|
1 | { | |
2 | "metadata": { |
|
2 | "metadata": { | |
3 | "name": "sympy" |
|
3 | "name": "sympy" | |
4 | }, |
|
4 | }, | |
5 | "nbformat": 2, |
|
5 | "nbformat": 2, | |
6 | "worksheets": [ |
|
6 | "worksheets": [ | |
7 | { |
|
7 | { | |
8 | "cells": [ |
|
8 | "cells": [ | |
9 | { |
|
9 | { | |
10 | "cell_type": "markdown", |
|
10 | "cell_type": "markdown", | |
11 | "source": [ |
|
11 | "source": [ | |
12 | "# SymPy: Open Source Symbolic Mathematics", |
|
12 | "# SymPy: Open Source Symbolic Mathematics", | |
13 | "", |
|
13 | "", | |
14 | "This notebook uses the [SymPy](http://sympy.org) package to perform symbolic manipulations,", |
|
14 | "This notebook uses the [SymPy](http://sympy.org) package to perform symbolic manipulations,", | |
15 | "and combined with numpy and matplotlib, also displays numerical visualizations of symbolically", |
|
15 | "and combined with numpy and matplotlib, also displays numerical visualizations of symbolically", | |
16 | "constructed expressions.", |
|
16 | "constructed expressions.", | |
17 | "", |
|
17 | "", | |
18 | "We first load sympy printing and plotting support, as well as all of sympy:" |
|
18 | "We first load sympy printing and plotting support, as well as all of sympy:" | |
19 | ] |
|
19 | ] | |
20 | }, |
|
20 | }, | |
21 | { |
|
21 | { | |
22 | "cell_type": "code", |
|
22 | "cell_type": "code", | |
23 | "collapsed": false, |
|
23 | "collapsed": false, | |
24 | "input": [ |
|
24 | "input": [ | |
25 | "%load_ext sympyprinting", |
|
25 | "%load_ext sympyprinting", | |
26 | "%pylab inline", |
|
26 | "%pylab inline", | |
27 | "", |
|
27 | "", | |
28 | "from __future__ import division", |
|
28 | "from __future__ import division", | |
29 | "import sympy as sym", |
|
29 | "import sympy as sym", | |
30 | "from sympy import *", |
|
30 | "from sympy import *", | |
31 | "x, y, z = symbols(\"x y z\")", |
|
31 | "x, y, z = symbols(\"x y z\")", | |
32 | "k, m, n = symbols(\"k m n\", integer=True)", |
|
32 | "k, m, n = symbols(\"k m n\", integer=True)", | |
33 | "f, g, h = map(Function, 'fgh')" |
|
33 | "f, g, h = map(Function, 'fgh')" | |
34 | ], |
|
34 | ], | |
35 | "language": "python", |
|
35 | "language": "python", | |
36 | "outputs": [ |
|
36 | "outputs": [ | |
37 | { |
|
37 | { | |
38 | "output_type": "stream", |
|
38 | "output_type": "stream", | |
39 | "stream": "stdout", |
|
39 | "stream": "stdout", | |
40 | "text": [ |
|
40 | "text": [ | |
41 | "", |
|
41 | "", | |
42 | "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].", |
|
42 | "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].", | |
43 |
"For more information, type |
|
43 | "For more information, type 'help(pylab)'." | |
44 | ] |
|
44 | ] | |
45 | } |
|
45 | } | |
46 | ], |
|
46 | ], | |
47 | "prompt_number": 1 |
|
47 | "prompt_number": 1 | |
48 | }, |
|
48 | }, | |
49 | { |
|
49 | { | |
50 | "cell_type": "markdown", |
|
50 | "cell_type": "markdown", | |
51 | "source": [ |
|
51 | "source": [ | |
52 | "<h2>Elementary operations</h2>" |
|
52 | "<h2>Elementary operations</h2>" | |
53 | ] |
|
53 | ] | |
54 | }, |
|
54 | }, | |
55 | { |
|
55 | { | |
56 | "cell_type": "code", |
|
56 | "cell_type": "code", | |
57 | "collapsed": false, |
|
57 | "collapsed": false, | |
58 | "input": [ |
|
58 | "input": [ | |
59 | "Rational(3,2)*pi + exp(I*x) / (x**2 + y)" |
|
59 | "Rational(3,2)*pi + exp(I*x) / (x**2 + y)" | |
60 | ], |
|
60 | ], | |
61 | "language": "python", |
|
61 | "language": "python", | |
62 | "outputs": [ |
|
62 | "outputs": [ | |
63 | { |
|
63 | { | |
64 | "latex": [ |
|
64 | "latex": [ | |
65 | "$$\\frac{3}{2} \\pi + \\frac{e^{\\mathbf{\\imath} x}}{x^{2} + y}$$" |
|
65 | "$$\\frac{3}{2} \\pi + \\frac{e^{\\mathbf{\\imath} x}}{x^{2} + y}$$" | |
66 | ], |
|
66 | ], | |
67 | "output_type": "pyout", |
|
67 | "output_type": "pyout", | |
68 | "png": "iVBORw0KGgoAAAANSUhEUgAAAFAAAAAlCAYAAADV/m7fAAAABHNCSVQICAgIfAhkiAAAA91JREFU\naIHt2luIVVUcx/HPjFNm2YxhZA0hk5HkJbtAWTReioIuUyFRmBZGE12wIoiUHoLpoXsRCRFBDyNS\nPmQWVg9RD0FRD5bagwRpdKUYGro4mSHk9PDfR7cnxzn7nL3P8cj5wmHWOrPP//8/e6/1X7+1/ocW\nNdHW6ADqxDm4AluxDb2Yi2FcjnuwqxrD7al2L27DA3gzcXi0sAun4yechHfRgS9xrypvXjk/YEXS\n7sdfmJiH4SOA47EeZ6BT3LxNYgD11GK4I9W+Bt8m7T8xoRbDRxhTxQA5FXfie/FdF+N3fFet4bFy\n4OvYjserNdxg7sbf+AcnYLAoRx1l/QtwHXbjhaKcFswTYga9gsm4vxFB3IUvMKkOvub5/4Oslqni\n4a/ActwkbmLhzMeQSLIwG6O4qg6+B9WYyFNcj89zslURJRkzjB34Oemfi71iFDYTOxwszY4RGq8w\nvVuaOt/geZEvjsUlWIhfy64/EauwUuipQzGKRfg472Ar4CusxcP4Rciw15KYCiGde96q4PqX8Rtu\nxQ3YLCTAgyJp7xEr36e5RpmNFxvo+7DcgqWp/hsOaMWParA7KL8cWHeyrH7rU+0pyWf/FSv1yXkG\n1UxUKx+W47OkPUuI1vFYKxancqbjIrFoldOvSRay0XFe5WzDhUn7WoyofqUbVNkUHi/GhrxKIzDL\nl18oRs2WpN8pxOpZ+DqDnayMF2M7VmOfSC3PFRjLQU6z8hA+FEFyQDuen0tE1dOHjXhayLCz6+E0\nfQPn4zE8ibfFFutQzMSaVH+zyId7iggwAzOEtCJ07cx6Op+Ml1L9m0Ve66qD70H5yJiJQujD++jO\nwWbFzBO548yk3ymSZF8dfK8R53R5sQCP5GivItrEFC4l6jniBs6qdyA10oVHGx0ErBN742ZjpThA\nmIQrM3zuvjyD6Mczmq9it0wUh4bFMf3cDJ8dyCuIPnEDiafYk5fhnLhUVA6fxY1ixG0UK3AtDIzx\n/gTcgVdFWiO2rft3R2kZswjT8J5I6ktwWo2B5Umn0HbrxGnPKqEcRlS2layGJXhH1FVmJ+9dhh9L\nF5Sm6QxRIy0//u6SU800B44TSmEvnsIfyd+sTBPHb+kU1YtPUv0RUVArybidYjbuFg9tp+atGSGm\nUGkvPiUHewOH+d9SbEj1t4viG6rbyjWKq8XI6RELxFYR/7KC/XaLnQ2hk7vFYQqaq3i+QPzG5RRx\ngHte0t+g9m3kYmMfCg+Jw+R9Qu4MiTJBixSrK7zuA9xeYBxHHXNEzadNSKgtQqjvp5mmcCNoF6v2\ndFwsfldTlGRq0aJFi6bjP9GM0XhICUQDAAAAAElFTkSuQmCC\n", |
|
68 | "png": "iVBORw0KGgoAAAANSUhEUgAAAFAAAAAlCAYAAADV/m7fAAAABHNCSVQICAgIfAhkiAAAA91JREFU\naIHt2luIVVUcx/HPjFNm2YxhZA0hk5HkJbtAWTReioIuUyFRmBZGE12wIoiUHoLpoXsRCRFBDyNS\nPmQWVg9RD0FRD5bagwRpdKUYGro4mSHk9PDfR7cnxzn7nL3P8cj5wmHWOrPP//8/e6/1X7+1/ocW\nNdHW6ADqxDm4AluxDb2Yi2FcjnuwqxrD7al2L27DA3gzcXi0sAun4yechHfRgS9xrypvXjk/YEXS\n7sdfmJiH4SOA47EeZ6BT3LxNYgD11GK4I9W+Bt8m7T8xoRbDRxhTxQA5FXfie/FdF+N3fFet4bFy\n4OvYjserNdxg7sbf+AcnYLAoRx1l/QtwHXbjhaKcFswTYga9gsm4vxFB3IUvMKkOvub5/4Oslqni\n4a/ActwkbmLhzMeQSLIwG6O4qg6+B9WYyFNcj89zslURJRkzjB34Oemfi71iFDYTOxwszY4RGq8w\nvVuaOt/geZEvjsUlWIhfy64/EauwUuipQzGKRfg472Ar4CusxcP4Rciw15KYCiGde96q4PqX8Rtu\nxQ3YLCTAgyJp7xEr36e5RpmNFxvo+7DcgqWp/hsOaMWParA7KL8cWHeyrH7rU+0pyWf/FSv1yXkG\n1UxUKx+W47OkPUuI1vFYKxancqbjIrFoldOvSRay0XFe5WzDhUn7WoyofqUbVNkUHi/GhrxKIzDL\nl18oRs2WpN8pxOpZ+DqDnayMF2M7VmOfSC3PFRjLQU6z8hA+FEFyQDuen0tE1dOHjXhayLCz6+E0\nfQPn4zE8ibfFFutQzMSaVH+zyId7iggwAzOEtCJ07cx6Op+Ml1L9m0Ve66qD70H5yJiJQujD++jO\nwWbFzBO548yk3ymSZF8dfK8R53R5sQCP5GivItrEFC4l6jniBs6qdyA10oVHGx0ErBN742ZjpThA\nmIQrM3zuvjyD6Mczmq9it0wUh4bFMf3cDJ8dyCuIPnEDiafYk5fhnLhUVA6fxY1ixG0UK3AtDIzx\n/gTcgVdFWiO2rft3R2kZswjT8J5I6ktwWo2B5Umn0HbrxGnPKqEcRlS2layGJXhH1FVmJ+9dhh9L\nF5Sm6QxRIy0//u6SU800B44TSmEvnsIfyd+sTBPHb+kU1YtPUv0RUVArybidYjbuFg9tp+atGSGm\nUGkvPiUHewOH+d9SbEj1t4viG6rbyjWKq8XI6RELxFYR/7KC/XaLnQ2hk7vFYQqaq3i+QPzG5RRx\ngHte0t+g9m3kYmMfCg+Jw+R9Qu4MiTJBixSrK7zuA9xeYBxHHXNEzadNSKgtQqjvp5mmcCNoF6v2\ndFwsfldTlGRq0aJFi6bjP9GM0XhICUQDAAAAAElFTkSuQmCC\n", | |
69 | "prompt_number": 2, |
|
69 | "prompt_number": 2, | |
70 | "text": [ |
|
70 | "text": [ | |
71 | "", |
|
71 | "", | |
72 | " \u2148\u22c5x ", |
|
72 | " \u2148\u22c5x ", | |
73 | "3\u22c5\u03c0 \u212f ", |
|
73 | "3\u22c5\u03c0 \u212f ", | |
74 | "\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500", |
|
74 | "\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500", | |
75 | " 2 2 ", |
|
75 | " 2 2 ", | |
76 | " x + y" |
|
76 | " x + y" | |
77 | ] |
|
77 | ] | |
78 | } |
|
78 | } | |
79 | ], |
|
79 | ], | |
80 | "prompt_number": 2 |
|
80 | "prompt_number": 2 | |
81 | }, |
|
81 | }, | |
82 | { |
|
82 | { | |
83 | "cell_type": "code", |
|
83 | "cell_type": "code", | |
84 | "collapsed": false, |
|
84 | "collapsed": false, | |
85 | "input": [ |
|
85 | "input": [ | |
86 | "exp(I*x).subs(x,pi).evalf()" |
|
86 | "exp(I*x).subs(x,pi).evalf()" | |
87 | ], |
|
87 | ], | |
88 | "language": "python", |
|
88 | "language": "python", | |
89 | "outputs": [ |
|
89 | "outputs": [ | |
90 | { |
|
90 | { | |
91 | "latex": [ |
|
91 | "latex": [ | |
92 | "$$-1.0$$" |
|
92 | "$$-1.0$$" | |
93 | ], |
|
93 | ], | |
94 | "output_type": "pyout", |
|
94 | "output_type": "pyout", | |
95 | "png": "iVBORw0KGgoAAAANSUhEUgAAACsAAAASCAYAAADCKCelAAAABHNCSVQICAgIfAhkiAAAAU1JREFU\nSInt1csrBlEcxvGPWxKFhcsCK5QFJVlYsfJPsLKQjf8CG8qejVKWkhUbsRBZuWzct0okxQK5LGam\npmmU923evMpTp9N5njm/+c7MmXP4QyopQM0WbKM9j3mzuMEjKjCP+yzhIlVjGOf4zHFuGS4xHvOm\nsInSTOhi6sIaZrArd9gRvAgeOFJHWGcsC8DvtCR32ENspfhXWI0Gmb/iPFSOHlykZJcYigbFANsk\n+NGfUrJn1KOS4oBtDvvnlCzy6igO2Jew/0jJKuJZMcCe4fWbrBpvuCNY3JG6seDnB8UhJvIEjOsN\np4K1mVQNboW7Sxz2BAMZ3DwfHaM14ZWhF3uR8RvLoBVVCe8Igwm/H7WYKyTMuuCzNaZkfXjHRsKv\nFxzTkzFvAfuFAGzEjmBj/wzbAw4wGruuDdeYTqnRiWUshm0FDYWA/def1heszTze5axPeQAAAABJ\nRU5ErkJggg==\n", |
|
95 | "png": "iVBORw0KGgoAAAANSUhEUgAAACsAAAASCAYAAADCKCelAAAABHNCSVQICAgIfAhkiAAAAU1JREFU\nSInt1csrBlEcxvGPWxKFhcsCK5QFJVlYsfJPsLKQjf8CG8qejVKWkhUbsRBZuWzct0okxQK5LGam\npmmU923evMpTp9N5njm/+c7MmXP4QyopQM0WbKM9j3mzuMEjKjCP+yzhIlVjGOf4zHFuGS4xHvOm\nsInSTOhi6sIaZrArd9gRvAgeOFJHWGcsC8DvtCR32ENspfhXWI0Gmb/iPFSOHlykZJcYigbFANsk\n+NGfUrJn1KOS4oBtDvvnlCzy6igO2Jew/0jJKuJZMcCe4fWbrBpvuCNY3JG6seDnB8UhJvIEjOsN\np4K1mVQNboW7Sxz2BAMZ3DwfHaM14ZWhF3uR8RvLoBVVCe8Igwm/H7WYKyTMuuCzNaZkfXjHRsKv\nFxzTkzFvAfuFAGzEjmBj/wzbAw4wGruuDdeYTqnRiWUshm0FDYWA/def1heszTze5axPeQAAAABJ\nRU5ErkJggg==\n", | |
96 | "prompt_number": 4, |
|
96 | "prompt_number": 4, | |
97 | "text": [ |
|
97 | "text": [ | |
98 | "-1.00000000000000" |
|
98 | "-1.00000000000000" | |
99 | ] |
|
99 | ] | |
100 | } |
|
100 | } | |
101 | ], |
|
101 | ], | |
102 | "prompt_number": 4 |
|
102 | "prompt_number": 4 | |
103 | }, |
|
103 | }, | |
104 | { |
|
104 | { | |
105 | "cell_type": "code", |
|
105 | "cell_type": "code", | |
106 | "collapsed": true, |
|
106 | "collapsed": true, | |
107 | "input": [ |
|
107 | "input": [ | |
108 | "e = x + 2*y" |
|
108 | "e = x + 2*y" | |
109 | ], |
|
109 | ], | |
110 | "language": "python", |
|
110 | "language": "python", | |
111 | "outputs": [], |
|
111 | "outputs": [], | |
112 | "prompt_number": 5 |
|
112 | "prompt_number": 5 | |
113 | }, |
|
113 | }, | |
114 | { |
|
114 | { | |
115 | "cell_type": "code", |
|
115 | "cell_type": "code", | |
116 | "collapsed": false, |
|
116 | "collapsed": false, | |
117 | "input": [ |
|
117 | "input": [ | |
118 | "srepr(e)" |
|
118 | "srepr(e)" | |
119 | ], |
|
119 | ], | |
120 | "language": "python", |
|
120 | "language": "python", | |
121 | "outputs": [ |
|
121 | "outputs": [ | |
122 | { |
|
122 | { | |
123 | "output_type": "pyout", |
|
123 | "output_type": "pyout", | |
124 | "prompt_number": 6, |
|
124 | "prompt_number": 6, | |
125 | "text": [ |
|
125 | "text": [ | |
126 |
"Add(Symbol( |
|
126 | "Add(Symbol('x'), Mul(Integer(2), Symbol('y')))" | |
127 | ] |
|
127 | ] | |
128 | } |
|
128 | } | |
129 | ], |
|
129 | ], | |
130 | "prompt_number": 6 |
|
130 | "prompt_number": 6 | |
131 | }, |
|
131 | }, | |
132 | { |
|
132 | { | |
133 | "cell_type": "code", |
|
133 | "cell_type": "code", | |
134 | "collapsed": false, |
|
134 | "collapsed": false, | |
135 | "input": [ |
|
135 | "input": [ | |
136 | "exp(pi * sqrt(163)).evalf(50)" |
|
136 | "exp(pi * sqrt(163)).evalf(50)" | |
137 | ], |
|
137 | ], | |
138 | "language": "python", |
|
138 | "language": "python", | |
139 | "outputs": [ |
|
139 | "outputs": [ | |
140 | { |
|
140 | { | |
141 | "latex": [ |
|
141 | "latex": [ | |
142 | "$$262537412640768743.99999999999925007259719818568888$$" |
|
142 | "$$262537412640768743.99999999999925007259719818568888$$" | |
143 | ], |
|
143 | ], | |
144 | "output_type": "pyout", |
|
144 | "output_type": "pyout", | |
145 | "png": "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\n", |
|
145 | "png": "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\n", | |
146 | "prompt_number": 7, |
|
146 | "prompt_number": 7, | |
147 | "text": [ |
|
147 | "text": [ | |
148 | "262537412640768743.99999999999925007259719818568888" |
|
148 | "262537412640768743.99999999999925007259719818568888" | |
149 | ] |
|
149 | ] | |
150 | } |
|
150 | } | |
151 | ], |
|
151 | ], | |
152 | "prompt_number": 7 |
|
152 | "prompt_number": 7 | |
153 | }, |
|
153 | }, | |
154 | { |
|
154 | { | |
155 | "cell_type": "markdown", |
|
155 | "cell_type": "markdown", | |
156 | "source": [ |
|
156 | "source": [ | |
157 | "<h2>Algebra<h2>" |
|
157 | "<h2>Algebra<h2>" | |
158 | ] |
|
158 | ] | |
159 | }, |
|
159 | }, | |
160 | { |
|
160 | { | |
161 | "cell_type": "code", |
|
161 | "cell_type": "code", | |
162 | "collapsed": false, |
|
162 | "collapsed": false, | |
163 | "input": [ |
|
163 | "input": [ | |
164 | "eq = ((x+y)**2 * (x+1))", |
|
164 | "eq = ((x+y)**2 * (x+1))", | |
165 | "eq" |
|
165 | "eq" | |
166 | ], |
|
166 | ], | |
167 | "language": "python", |
|
167 | "language": "python", | |
168 | "outputs": [ |
|
168 | "outputs": [ | |
169 | { |
|
169 | { | |
170 | "latex": [ |
|
170 | "latex": [ | |
171 | "$$\\left(x + 1\\right) \\left(x + y\\right)^{2}$$" |
|
171 | "$$\\left(x + 1\\right) \\left(x + y\\right)^{2}$$" | |
172 | ], |
|
172 | ], | |
173 | "output_type": "pyout", |
|
173 | "output_type": "pyout", | |
174 | "png": "iVBORw0KGgoAAAANSUhEUgAAAHQAAAAbCAYAAACtOKuoAAAABHNCSVQICAgIfAhkiAAAA/tJREFU\naIHt2luoVFUcx/GPZp7Ek0bUKcrsImVmnlMhSUFmUhbhSxASkUQJBV3einrq9tCN0tDEkB4mouuT\nLxldKC0sDOqhyEq7GEFlGBVGZlb28N+Hs9yz9zkz4+wzh858YZi9Lnvt/3+tvX7rv9YMXf5XTOi0\nAV1aYgGuxGTMwT34uKMWdWmZXqxN0suwB9M7Y06XQ6Uf/2JWlp6GA1jaMYu6HBIThOQOLpdzxYDO\nGe6mS3FEtXY1zQx8WZDfI+wdrzyLxwcTEwsqLMZM/DlaFo3AVCzBW4ZkJmUfFuKc0TRqjLACP+CO\nsgq9eKFiI/oxqcG6c7ABD2KLkJYijsRWwwcGVatOM341wkjKs1QMKEzBKUWV7lf94lore3gD95UN\nKFyD20rKFuPGFp7ZDDWt+TUcDyhWnovFYB6ffa7FBUUNbMNhbTYqT001A9qreC82GqpDNQNapDyn\niW3KgdxnGgdLxDyhx//kGj0LNwgJmI6bhWYfg+NwN75trx8t8buw6Ux8nuTfiecK6nfSrz7cgvlY\nh1eSsltxlZDbPViF5XgyK/9aDPSIXIencnknY6Wh4OllfIrLMmP246amXKluhsImcYKSUqQ6nfbr\nMfES3YX3cmVb8WKSLlOeQtIo91j8liu/HfeKjSxx1LQXb2AXHhKdMVbY7uBOLVOdTvrVjx2iry/B\n90nZVJyHzUleqjwjkg5oj/o3ea2Y9oPMx2vZ9XfiDPHXRh40SuxxsBwNiM7L00m/fsIzOFEoQroc\nXCiWwXdy92wXa+eIpGvobvWR0jfJ9ezMiLcbaVgYPVCQPxPn46+CshX4sMH2izgdnyTpItWhs379\nmH0vE7NvY1LvIjEO23L355WnlHRAd+KMYeouzoxNNX8Wviqpf31Jfg33Zc9rN7NF0DBIkerk6ZRf\nl4uXaF+StxDvqo8V8spTSiq5W3CCoQ7oEdIzL0tfIaLHP7J0r/J9XyeYJNaa95O83WLWpowVv07C\nFzm7FqiXW8KHXY00mg7oXvHGnJ2lF4mDhlk4V0z5v7OyyaJTnmjkIW3i6Oy7r6R8rlgH9yd5O9Wr\nziJjw6/PhEwPsk6cZG0uqJtXnoYZwKvZ9VFiwV4jDn8Px2qsxyOiM1qhpvHwvk84uMPQBvoXfCC2\nWSkb1f/iMEWsoansjgW/iBn6Jp4WivC6CMTy5+uT8HNmZ0usFAt2VdS0/0RlmdjbFbFBcRDTbmpa\n92uiCJZWFZQN4PkW20X8zvaweLurYLU4f2wXPXhU+d9pUtWpkmb8WoOPkvRyERzNKKhbpDzjnqpV\np1l2iogYThVHjEsK6g2nPOOaqlWnWa7GS+J8dr3iX1RGUp4uXbp06dKlSxv5DwKJ3tRzwoGmAAAA\nAElFTkSuQmCC\n", |
|
174 | "png": "iVBORw0KGgoAAAANSUhEUgAAAHQAAAAbCAYAAACtOKuoAAAABHNCSVQICAgIfAhkiAAAA/tJREFU\naIHt2luoVFUcx/GPZp7Ek0bUKcrsImVmnlMhSUFmUhbhSxASkUQJBV3einrq9tCN0tDEkB4mouuT\nLxldKC0sDOqhyEq7GEFlGBVGZlb28N+Hs9yz9zkz4+wzh858YZi9Lnvt/3+tvX7rv9YMXf5XTOi0\nAV1aYgGuxGTMwT34uKMWdWmZXqxN0suwB9M7Y06XQ6Uf/2JWlp6GA1jaMYu6HBIThOQOLpdzxYDO\nGe6mS3FEtXY1zQx8WZDfI+wdrzyLxwcTEwsqLMZM/DlaFo3AVCzBW4ZkJmUfFuKc0TRqjLACP+CO\nsgq9eKFiI/oxqcG6c7ABD2KLkJYijsRWwwcGVatOM341wkjKs1QMKEzBKUWV7lf94lore3gD95UN\nKFyD20rKFuPGFp7ZDDWt+TUcDyhWnovFYB6ffa7FBUUNbMNhbTYqT001A9qreC82GqpDNQNapDyn\niW3KgdxnGgdLxDyhx//kGj0LNwgJmI6bhWYfg+NwN75trx8t8buw6Ux8nuTfiecK6nfSrz7cgvlY\nh1eSsltxlZDbPViF5XgyK/9aDPSIXIencnknY6Wh4OllfIrLMmP246amXKluhsImcYKSUqQ6nfbr\nMfES3YX3cmVb8WKSLlOeQtIo91j8liu/HfeKjSxx1LQXb2AXHhKdMVbY7uBOLVOdTvrVjx2iry/B\n90nZVJyHzUleqjwjkg5oj/o3ea2Y9oPMx2vZ9XfiDPHXRh40SuxxsBwNiM7L00m/fsIzOFEoQroc\nXCiWwXdy92wXa+eIpGvobvWR0jfJ9ezMiLcbaVgYPVCQPxPn46+CshX4sMH2izgdnyTpItWhs379\nmH0vE7NvY1LvIjEO23L355WnlHRAd+KMYeouzoxNNX8Wviqpf31Jfg33Zc9rN7NF0DBIkerk6ZRf\nl4uXaF+StxDvqo8V8spTSiq5W3CCoQ7oEdIzL0tfIaLHP7J0r/J9XyeYJNaa95O83WLWpowVv07C\nFzm7FqiXW8KHXY00mg7oXvHGnJ2lF4mDhlk4V0z5v7OyyaJTnmjkIW3i6Oy7r6R8rlgH9yd5O9Wr\nziJjw6/PhEwPsk6cZG0uqJtXnoYZwKvZ9VFiwV4jDn8Px2qsxyOiM1qhpvHwvk84uMPQBvoXfCC2\nWSkb1f/iMEWsoansjgW/iBn6Jp4WivC6CMTy5+uT8HNmZ0usFAt2VdS0/0RlmdjbFbFBcRDTbmpa\n92uiCJZWFZQN4PkW20X8zvaweLurYLU4f2wXPXhU+d9pUtWpkmb8WoOPkvRyERzNKKhbpDzjnqpV\np1l2iogYThVHjEsK6g2nPOOaqlWnWa7GS+J8dr3iX1RGUp4uXbp06dKlSxv5DwKJ3tRzwoGmAAAA\nAElFTkSuQmCC\n", | |
175 | "prompt_number": 8, |
|
175 | "prompt_number": 8, | |
176 | "text": [ |
|
176 | "text": [ | |
177 | "", |
|
177 | "", | |
178 | " 2", |
|
178 | " 2", | |
179 | "(x + 1)\u22c5(x + y) " |
|
179 | "(x + 1)\u22c5(x + y) " | |
180 | ] |
|
180 | ] | |
181 | } |
|
181 | } | |
182 | ], |
|
182 | ], | |
183 | "prompt_number": 8 |
|
183 | "prompt_number": 8 | |
184 | }, |
|
184 | }, | |
185 | { |
|
185 | { | |
186 | "cell_type": "code", |
|
186 | "cell_type": "code", | |
187 | "collapsed": false, |
|
187 | "collapsed": false, | |
188 | "input": [ |
|
188 | "input": [ | |
189 | "expand(eq)" |
|
189 | "expand(eq)" | |
190 | ], |
|
190 | ], | |
191 | "language": "python", |
|
191 | "language": "python", | |
192 | "outputs": [ |
|
192 | "outputs": [ | |
193 | { |
|
193 | { | |
194 | "latex": [ |
|
194 | "latex": [ | |
195 | "$$x^{3} + 2 x^{2} y + x^{2} + x y^{2} + 2 x y + y^{2}$$" |
|
195 | "$$x^{3} + 2 x^{2} y + x^{2} + x y^{2} + 2 x y + y^{2}$$" | |
196 | ], |
|
196 | ], | |
197 | "output_type": "pyout", |
|
197 | "output_type": "pyout", | |
198 | "png": "iVBORw0KGgoAAAANSUhEUgAAAQ0AAAAbCAYAAABm6to6AAAABHNCSVQICAgIfAhkiAAABQhJREFU\neJzt3FmoVVUcx/GPF/FaWiY0SINlBqKWUUiiZNpgSPgimFA+lAhFgw9BUBBNZBSNRlRQQTuKiqDh\nQUMwaCACi6KBJposIpKCBqPRtIe1Lx5P9+reZ+199jnd9YXL2Wutff7r//uv5Tp7DVsSiUSiBGM6\n/N6pmIbJWIQH8GJVTjXAPJyDcZiJ6/Beox7FkfQkYqgl3l/jgvx6DX7FYKzRhpiI+1rSK7Edk5px\nJ5qkJxFDbfE+HhPy6xX4Xf8OGnOwE9Pz9IHYhWWNeRRH0pOIoSvxfgLXVGmwy4wRHseGpmqzhSDN\nbMyjOJKeRAy1xvtkXI+HsH8VBkswCxuxGW9gvbC+UgWP4c6KbPUCSU88dfa3XqeWeF+Et7Bf1YZH\nYAZew9Q8PRnv53+HR9peg9t0vkDcayQ98dTZ33qdyuI9D9uE3RPCKLwLSyNszsHYgvc+hwVteQty\nH+6J8GGZECTCAHhMhK2ilNFdlir11OlnUZrSU1d/q5I62qfSfw/ThZF3aOHzPPyJQyJsZiWc2oaP\ncUBL3lj8gQ86rH+REKAp+d/5mN+hrTJk6hmcqtaT6c4gOhJN6qmjv1VNptr22Wu8OxmdPhfmOGuF\nfdz5OA3fx3pakM9wkrB7sz3P26HzgetYbBC2mlrp1y29pKdaqu5vvc4+490+aMzCauEpYhIuxpU4\nGIfhanwlPLI1xSJB0E8teVOFraENbfcW0fOFPX9F9sWhuBRzhUNtG1vKLsNynFXCXhnq0FMHRftR\n0Vg2qafq/lZGdx0UqbtwvI/GXRjI008Lj19L8gr+FhY96yAT93h1K/6x59yzLj13CB3iKrzeVrYF\nT5WwlSmuu1/ap4yfVcayDJlm+1vVujPF9UTXPdByvVbYQt2Zp8cJh7Y2C/O6W4RA9BrH4XKss2cQ\n6tAzB5/iZ5yOb1vKJgjb0K+UtFmUfmmfon42GcsYYvtbk7orr3taW/ob3BzhYBkynY384/GmsC3U\nTh16puR1HiH80ixvKVsirKjPLmEvU1x3v7RPUT+rjmUZMs31tzp0Z4rpqaTu1jWNL1uuZ+SGXyrg\nSBkexYnD5E/FKfhrmLI1wjmQdsbgEWzCtcOU16Hnu/xzpfC+zQstZQvxAz4c5ntV6O6X9inqZ6ex\nLEMv9rcY3bF6ao35JcLqcOtJz+kj3FsFmfIj/zr/bbwLR7i3aj2b8Hxb3st4tqSdTGe/eP3QPhTz\ns6pYliHTfH+rUnemnJ6ouofWNAaF119PyNNLhb3p3/L0RGEe1yusFuaON7XlL8w/69ZzFD5pSQ8K\nh95ejbC5N/qlfTrxs9ux7IQ6+luTuqPqHpqeLMaNwjvzY4VRa0deNk4IyPpoV6vhDNwujJaPt+QP\n2r0ItVi9ej6y+1gxYetqvPoWsBbrj/ZZrLyf3Y5lWerqb03qjqp7aNDYIryteqYwL5orHOB6ED/i\nSWF/uRd4Bgdh1TBl6/LPuvVcIcxvH8Y7OFJYkX43wube6Jf26cTPbseyLHX1tyZ193rMC5Fp9phy\nDAPCAtPdHXw30x+6M93xMyaWZcj0VtxjdWc611O67oF939IVfhHO8vcD9+LtlvQq4c3HTl4f7hfd\ndflZZSzL0HTcq9ZdRk9TMR/VbMUN+fU04bHz7Kac6XO2Gp2x3Ko53dF1/1/+n4VusgLnCi/ojcP9\nwrwwUZ7RGssmdY/WmCcSiUQikUgkEolEIpEY5fwLmrvyxplDsPoAAAAASUVORK5CYII=\n", |
|
198 | "png": "iVBORw0KGgoAAAANSUhEUgAAAQ0AAAAbCAYAAABm6to6AAAABHNCSVQICAgIfAhkiAAABQhJREFU\neJzt3FmoVVUcx/GPF/FaWiY0SINlBqKWUUiiZNpgSPgimFA+lAhFgw9BUBBNZBSNRlRQQTuKiqDh\nQUMwaCACi6KBJposIpKCBqPRtIe1Lx5P9+reZ+199jnd9YXL2Wutff7r//uv5Tp7DVsSiUSiBGM6\n/N6pmIbJWIQH8GJVTjXAPJyDcZiJ6/Beox7FkfQkYqgl3l/jgvx6DX7FYKzRhpiI+1rSK7Edk5px\nJ5qkJxFDbfE+HhPy6xX4Xf8OGnOwE9Pz9IHYhWWNeRRH0pOIoSvxfgLXVGmwy4wRHseGpmqzhSDN\nbMyjOJKeRAy1xvtkXI+HsH8VBkswCxuxGW9gvbC+UgWP4c6KbPUCSU88dfa3XqeWeF+Et7Bf1YZH\nYAZew9Q8PRnv53+HR9peg9t0vkDcayQ98dTZ33qdyuI9D9uE3RPCKLwLSyNszsHYgvc+hwVteQty\nH+6J8GGZECTCAHhMhK2ilNFdlir11OlnUZrSU1d/q5I62qfSfw/ThZF3aOHzPPyJQyJsZiWc2oaP\ncUBL3lj8gQ86rH+REKAp+d/5mN+hrTJk6hmcqtaT6c4gOhJN6qmjv1VNptr22Wu8OxmdPhfmOGuF\nfdz5OA3fx3pakM9wkrB7sz3P26HzgetYbBC2mlrp1y29pKdaqu5vvc4+490+aMzCauEpYhIuxpU4\nGIfhanwlPLI1xSJB0E8teVOFraENbfcW0fOFPX9F9sWhuBRzhUNtG1vKLsNynFXCXhnq0FMHRftR\n0Vg2qafq/lZGdx0UqbtwvI/GXRjI008Lj19L8gr+FhY96yAT93h1K/6x59yzLj13CB3iKrzeVrYF\nT5WwlSmuu1/ap4yfVcayDJlm+1vVujPF9UTXPdByvVbYQt2Zp8cJh7Y2C/O6W4RA9BrH4XKss2cQ\n6tAzB5/iZ5yOb1vKJgjb0K+UtFmUfmmfon42GcsYYvtbk7orr3taW/ob3BzhYBkynY384/GmsC3U\nTh16puR1HiH80ixvKVsirKjPLmEvU1x3v7RPUT+rjmUZMs31tzp0Z4rpqaTu1jWNL1uuZ+SGXyrg\nSBkexYnD5E/FKfhrmLI1wjmQdsbgEWzCtcOU16Hnu/xzpfC+zQstZQvxAz4c5ntV6O6X9inqZ6ex\nLEMv9rcY3bF6ao35JcLqcOtJz+kj3FsFmfIj/zr/bbwLR7i3aj2b8Hxb3st4tqSdTGe/eP3QPhTz\ns6pYliHTfH+rUnemnJ6ouofWNAaF119PyNNLhb3p3/L0RGEe1yusFuaON7XlL8w/69ZzFD5pSQ8K\nh95ejbC5N/qlfTrxs9ux7IQ6+luTuqPqHpqeLMaNwjvzY4VRa0deNk4IyPpoV6vhDNwujJaPt+QP\n2r0ItVi9ej6y+1gxYetqvPoWsBbrj/ZZrLyf3Y5lWerqb03qjqp7aNDYIryteqYwL5orHOB6ED/i\nSWF/uRd4Bgdh1TBl6/LPuvVcIcxvH8Y7OFJYkX43wube6Jf26cTPbseyLHX1tyZ193rMC5Fp9phy\nDAPCAtPdHXw30x+6M93xMyaWZcj0VtxjdWc611O67oF939IVfhHO8vcD9+LtlvQq4c3HTl4f7hfd\ndflZZSzL0HTcq9ZdRk9TMR/VbMUN+fU04bHz7Kac6XO2Gp2x3Ko53dF1/1/+n4VusgLnCi/ojcP9\nwrwwUZ7RGssmdY/WmCcSiUQikUgkEolEIpEY5fwLmrvyxplDsPoAAAAASUVORK5CYII=\n", | |
199 | "prompt_number": 9, |
|
199 | "prompt_number": 9, | |
200 | "text": [ |
|
200 | "text": [ | |
201 | "", |
|
201 | "", | |
202 | " 3 2 2 2 2", |
|
202 | " 3 2 2 2 2", | |
203 | "x + 2\u22c5x \u22c5y + x + x\u22c5y + 2\u22c5x\u22c5y + y " |
|
203 | "x + 2\u22c5x \u22c5y + x + x\u22c5y + 2\u22c5x\u22c5y + y " | |
204 | ] |
|
204 | ] | |
205 | } |
|
205 | } | |
206 | ], |
|
206 | ], | |
207 | "prompt_number": 9 |
|
207 | "prompt_number": 9 | |
208 | }, |
|
208 | }, | |
209 | { |
|
209 | { | |
210 | "cell_type": "code", |
|
210 | "cell_type": "code", | |
211 | "collapsed": false, |
|
211 | "collapsed": false, | |
212 | "input": [ |
|
212 | "input": [ | |
213 | "a = 1/x + (x*sin(x) - 1)/x", |
|
213 | "a = 1/x + (x*sin(x) - 1)/x", | |
214 | "a" |
|
214 | "a" | |
215 | ], |
|
215 | ], | |
216 | "language": "python", |
|
216 | "language": "python", | |
217 | "outputs": [ |
|
217 | "outputs": [ | |
218 | { |
|
218 | { | |
219 | "latex": [ |
|
219 | "latex": [ | |
220 | "$$\\frac{x \\operatorname{sin}\\left(x\\right) -1}{x} + \\frac{1}{x}$$" |
|
220 | "$$\\frac{x \\operatorname{sin}\\left(x\\right) -1}{x} + \\frac{1}{x}$$" | |
221 | ], |
|
221 | ], | |
222 | "output_type": "pyout", |
|
222 | "output_type": "pyout", | |
223 | "png": "iVBORw0KGgoAAAANSUhEUgAAAFwAAAAbCAYAAADxsuiMAAAABHNCSVQICAgIfAhkiAAAAolJREFU\naIHt2duLjVEYx/HPMONYaHIYFyYkF3KYQkiKuEEyLgwhh5kQV3Io/4C4JbmR2pMLKTXiSiTlAiHl\nmEPKFSlFKUY0LtaavGl2+52xZ+/X3vtbb3u9z177+a3D8z5rvWtT479kLh6XuxF/MQ7X0Zwl3foi\nibzE+iL5Kga7MR6rMKQKdDNDD6ZmSTcZ4UsxXUgPd9GElTiMt1iHKfiIblwVZnEnFuMknqERezEf\nxzAz/m4yDkWtmXiVQndk9FlxjEFHLG/AvVjuFAZgOB5E2wRcSdSdiPPYGG17MAyvsSnh/0ssNwiP\nXBrdSVjyD/3KbIT/EAYNFqErlnck6o3FE1xDe7TfQB1WCAMNF4RJGY6L0Tbfn0hdlCgX0oU1uIP9\nwpOQj/sJvWIyF8/xcxB8g4dYGMvjEvaRaMVtHE/Y9+E0RgvRC9uRS9Q5g4PCpG3V92KdT7e9j7pp\nKUaE5wbgI69u70q6Ggdipdl4FL/bImxv3uMXLuMc3iR8bBNSQFsUIuTgm4k6bULkb8ZnIV0U0u2l\nQQUxNH4uwxwhH99CS7y/JCyS9ZgmDH4jziZ8zBAi9yneRdsRnMDXeD8LI4R14Hn0/baA7reo24wX\n/ezXDmEiW2K7m4QFeSC0xrZ9LrFuUVmbst5yjBrEdqQhpzwLb9WSU8QBr8q3oXJSV+4GZIhOzOvD\n3owPwhb2bzqE3VW/6amyqz/kpEspqbR798O1SP93Uo1hLYeXmGIdz6al0AHZ/06m+lfooCqr5KTL\n4Znr3wjhFJHwFnq0HI0YAKekG7BM9y/fQVWlkIn+JQ+quoX1Y4hw7FoJpOpfKbeDu7BA+GOiHt/j\n1YVPJWzHYFHp/atRo0aNquc3S/HNyBXE+1kAAAAASUVORK5CYII=\n", |
|
223 | "png": "iVBORw0KGgoAAAANSUhEUgAAAFwAAAAbCAYAAADxsuiMAAAABHNCSVQICAgIfAhkiAAAAolJREFU\naIHt2duLjVEYx/HPMONYaHIYFyYkF3KYQkiKuEEyLgwhh5kQV3Io/4C4JbmR2pMLKTXiSiTlAiHl\nmEPKFSlFKUY0LtaavGl2+52xZ+/X3vtbb3u9z177+a3D8z5rvWtT479kLh6XuxF/MQ7X0Zwl3foi\nibzE+iL5Kga7MR6rMKQKdDNDD6ZmSTcZ4UsxXUgPd9GElTiMt1iHKfiIblwVZnEnFuMknqERezEf\nxzAz/m4yDkWtmXiVQndk9FlxjEFHLG/AvVjuFAZgOB5E2wRcSdSdiPPYGG17MAyvsSnh/0ssNwiP\nXBrdSVjyD/3KbIT/EAYNFqErlnck6o3FE1xDe7TfQB1WCAMNF4RJGY6L0Tbfn0hdlCgX0oU1uIP9\nwpOQj/sJvWIyF8/xcxB8g4dYGMvjEvaRaMVtHE/Y9+E0RgvRC9uRS9Q5g4PCpG3V92KdT7e9j7pp\nKUaE5wbgI69u70q6Ggdipdl4FL/bImxv3uMXLuMc3iR8bBNSQFsUIuTgm4k6bULkb8ZnIV0U0u2l\nQQUxNH4uwxwhH99CS7y/JCyS9ZgmDH4jziZ8zBAi9yneRdsRnMDXeD8LI4R14Hn0/baA7reo24wX\n/ezXDmEiW2K7m4QFeSC0xrZ9LrFuUVmbst5yjBrEdqQhpzwLb9WSU8QBr8q3oXJSV+4GZIhOzOvD\n3owPwhb2bzqE3VW/6amyqz/kpEspqbR798O1SP93Uo1hLYeXmGIdz6al0AHZ/06m+lfooCqr5KTL\n4Znr3wjhFJHwFnq0HI0YAKekG7BM9y/fQVWlkIn+JQ+quoX1Y4hw7FoJpOpfKbeDu7BA+GOiHt/j\n1YVPJWzHYFHp/atRo0aNquc3S/HNyBXE+1kAAAAASUVORK5CYII=\n", | |
224 | "prompt_number": 10, |
|
224 | "prompt_number": 10, | |
225 | "text": [ |
|
225 | "text": [ | |
226 | "", |
|
226 | "", | |
227 | "x\u22c5sin(x) - 1 1", |
|
227 | "x\u22c5sin(x) - 1 1", | |
228 | "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500", |
|
228 | "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500", | |
229 | " x x" |
|
229 | " x x" | |
230 | ] |
|
230 | ] | |
231 | } |
|
231 | } | |
232 | ], |
|
232 | ], | |
233 | "prompt_number": 10 |
|
233 | "prompt_number": 10 | |
234 | }, |
|
234 | }, | |
235 | { |
|
235 | { | |
236 | "cell_type": "code", |
|
236 | "cell_type": "code", | |
237 | "collapsed": false, |
|
237 | "collapsed": false, | |
238 | "input": [ |
|
238 | "input": [ | |
239 | "simplify(a)" |
|
239 | "simplify(a)" | |
240 | ], |
|
240 | ], | |
241 | "language": "python", |
|
241 | "language": "python", | |
242 | "outputs": [ |
|
242 | "outputs": [ | |
243 | { |
|
243 | { | |
244 | "latex": [ |
|
244 | "latex": [ | |
245 | "$$\\operatorname{sin}\\left(x\\right)$$" |
|
245 | "$$\\operatorname{sin}\\left(x\\right)$$" | |
246 | ], |
|
246 | ], | |
247 | "output_type": "pyout", |
|
247 | "output_type": "pyout", | |
248 | "png": "iVBORw0KGgoAAAANSUhEUgAAADAAAAASCAYAAAAdZl26AAAABHNCSVQICAgIfAhkiAAAAnNJREFU\nSInt1VuojmkUB/Df3mO22cgph7Bz2kn5UCMXUqa5MG3JuFNuHAs55kJsZWaScOHQ1IxpXM0lI8lc\nKHMqKRGGpI2UiJkmJYfSyGHsuXjW63u8fV8T7ZLa/5vv+6/nWev5r+dZa7285/jgLf164w8043TX\nyXlzNL6lXz/8gzNdqKUb3XgXaKhhG4CteCTV+XPsjrUWrMRk7MPxzG82Fkj9sRgDMR+9MA1bcDLb\n34jP8HPwCViCnhFjBTZgEIaiPbQ9ws16CTXiKiYGb8U9fBJ8H/pgM05lfk34Pv5fxlGsUr2gdlwp\nnTUvYsEo7FUdKofQEQlOlS5xeaxtKgvOMR0jcSv4Q+zEObThBB5jJu5kfjOk223AcLzAd+iM9QYM\nKZ01LGLBWnyFl8Gb8AS/4m5oOBRrHaiogwlx6A18E8IKjJK+G2PjoLaSmGaptDpLfnAQv2S8Gesz\nPqa0/09sr6NxvFRqdbEMt0NIp1TzOXZIL1TrG7Je6pumzPah9JIbM9tw1ZKoJbBTeuVaaJZK+H9R\nwSWcz2w98De+CN5a8vkJv5dsc/EvRkgN2iI19rY6567E09hTID9nHNYUJL/F/biY8Q78KDV1gTZp\nIvyA/liarTVKzX6iJGhh2P7CIgyWXulFrPfEl5gUfBauxR5So78SHAmcq5VABUcyPgSfY1dma8F1\nqUbXqU4e+DiSKicwAr9JI7Ciekl3IplPpbHdGjFGZ8k1RXJfZ/Em42xB8u9ARcq+L55FkONSGRUY\ngAORxGGvz/W5Un9MCf8Cc7BaKsVvpalSiJuHY9J4vh9+7diDj/BAGgBF0lPi94JudKNr8B+fxX1B\n89kW1gAAAABJRU5ErkJggg==\n", |
|
248 | "png": "iVBORw0KGgoAAAANSUhEUgAAADAAAAASCAYAAAAdZl26AAAABHNCSVQICAgIfAhkiAAAAnNJREFU\nSInt1VuojmkUB/Df3mO22cgph7Bz2kn5UCMXUqa5MG3JuFNuHAs55kJsZWaScOHQ1IxpXM0lI8lc\nKHMqKRGGpI2UiJkmJYfSyGHsuXjW63u8fV8T7ZLa/5vv+6/nWev5r+dZa7285/jgLf164w8043TX\nyXlzNL6lXz/8gzNdqKUb3XgXaKhhG4CteCTV+XPsjrUWrMRk7MPxzG82Fkj9sRgDMR+9MA1bcDLb\n34jP8HPwCViCnhFjBTZgEIaiPbQ9ws16CTXiKiYGb8U9fBJ8H/pgM05lfk34Pv5fxlGsUr2gdlwp\nnTUvYsEo7FUdKofQEQlOlS5xeaxtKgvOMR0jcSv4Q+zEObThBB5jJu5kfjOk223AcLzAd+iM9QYM\nKZ01LGLBWnyFl8Gb8AS/4m5oOBRrHaiogwlx6A18E8IKjJK+G2PjoLaSmGaptDpLfnAQv2S8Gesz\nPqa0/09sr6NxvFRqdbEMt0NIp1TzOXZIL1TrG7Je6pumzPah9JIbM9tw1ZKoJbBTeuVaaJZK+H9R\nwSWcz2w98De+CN5a8vkJv5dsc/EvRkgN2iI19rY6567E09hTID9nHNYUJL/F/biY8Q78KDV1gTZp\nIvyA/liarTVKzX6iJGhh2P7CIgyWXulFrPfEl5gUfBauxR5So78SHAmcq5VABUcyPgSfY1dma8F1\nqUbXqU4e+DiSKicwAr9JI7Ciekl3IplPpbHdGjFGZ8k1RXJfZ/Em42xB8u9ARcq+L55FkONSGRUY\ngAORxGGvz/W5Un9MCf8Cc7BaKsVvpalSiJuHY9J4vh9+7diDj/BAGgBF0lPi94JudKNr8B+fxX1B\n89kW1gAAAABJRU5ErkJggg==\n", | |
249 | "prompt_number": 11, |
|
249 | "prompt_number": 11, | |
250 | "text": [ |
|
250 | "text": [ | |
251 | "sin(x)" |
|
251 | "sin(x)" | |
252 | ] |
|
252 | ] | |
253 | } |
|
253 | } | |
254 | ], |
|
254 | ], | |
255 | "prompt_number": 11 |
|
255 | "prompt_number": 11 | |
256 | }, |
|
256 | }, | |
257 | { |
|
257 | { | |
258 | "cell_type": "code", |
|
258 | "cell_type": "code", | |
259 | "collapsed": false, |
|
259 | "collapsed": false, | |
260 | "input": [ |
|
260 | "input": [ | |
261 | "eq = Eq(x**3 + 2*x**2 + 4*x + 8, 0)", |
|
261 | "eq = Eq(x**3 + 2*x**2 + 4*x + 8, 0)", | |
262 | "eq" |
|
262 | "eq" | |
263 | ], |
|
263 | ], | |
264 | "language": "python", |
|
264 | "language": "python", | |
265 | "outputs": [ |
|
265 | "outputs": [ | |
266 | { |
|
266 | { | |
267 | "latex": [ |
|
267 | "latex": [ | |
268 | "$$x^{3} + 2 x^{2} + 4 x + 8 = 0$$" |
|
268 | "$$x^{3} + 2 x^{2} + 4 x + 8 = 0$$" | |
269 | ], |
|
269 | ], | |
270 | "output_type": "pyout", |
|
270 | "output_type": "pyout", | |
271 | "png": "iVBORw0KGgoAAAANSUhEUgAAALIAAAAZCAYAAACVUXRFAAAABHNCSVQICAgIfAhkiAAABSRJREFU\neJzt2nnsHVMUwPHPrz+UtlpNiKK6KJFaSkQsjajtD0sliFRCE0uF8I9dbN2oiCKI0NhfEZTYUoJY\n/7DE9gciSC2xhFhraS1Ff/44M/p+09f2zXtvOn0y32QyM3fu3HvOzJ1zzzl3qKj4H9DT4n37YCyG\nYxLm4dlOCVUCe+JQbIDxmIF3SpWoYq3wOY5PjqdhCQaWJ05bDMGNdedT8CuGlSNOxdpkJwxOjo/G\n77p3IE/AcoxLzoeiD5NLk6iiFO7FxWUL0QY9wrVI3awdxUAeX5pEFblp1UeG3XA4RuIM/NYRiZpj\nB1wlfNpheAWzsbgDbd+Nb3FOB9pqlXOxPq4oUYZGDMcF6BXPvRcz8UXB/Y4U7/tr/CyezbX4oZOd\nnIK3sFEnG10N2+MljErOh+PdZNuyzbanYa72PvB2GY2lmFWiDI3YBAuwRV3ZBLwnBlpR9OIjMc5S\n5uBpDGin4T3xjchaENaxDwe30eYErNdk3UcwMVM2MZHh+jZkmCwGMvFRjmmjrTz6ZLlF6DKrjf6b\nJY+cU3FJg/K5OLtjEq3McfjTipgMthPP6KS0oJUR/T0W4avkfBcsE1a5Vc7W/Fc9EXdg47qy14Wy\nB7XY/yRsjicwAkfqb3nykkefeo7C8230m5c8cu4mMlXZoP4fxWZ4zsPLYpZKWYRPdCAgP1L4cRdh\nobDS7VDTvAV8WfjjIzLlPwvfNi/biHRbX2Yb2kJbKTX5LfoQ3JYcry2LXNO8nFOEXAuEOweDhEtX\nVGC8nsgo3dzg2tP4sb5iPTvgRPHVDcOpYsBuKizWBfhMTO9lMUm89J/qykaJgfd4pm4z+nyiv3Uv\niwutObhr9v0UwaNi0WsK9sX5OEYExe8X1OfmIl5Z0uDaUvFBDcSf9QN5NE4WD2Y5HhDuwpkiG/Aq\nXhA+XJn8rf8ghtOFzPUDoVv0gV3Fy/p4NXXK1mcZjsCDOAR3CVfs7dXcc4dwSfJwJl5MjtNZd2mD\nemnZJiJm+4+r9bdMj+LN5HhrXJrcVAQ1rQdX24pBMDtT3i36DMB8kUpMaeRaFKFPTb7nfqxYBT1M\nzGR9yb6orMVOVu1m3Z9c2yx7YWzm/Etc3mnJVkFNawN5Q7whIucs3aLPadg/U9bo5RWhT03zcp4g\nLHDKYJHLXS7y+EWwvgjiZzW4tlDMEj3095E/rTveHluJqaqTzBdZjiyjsEciWJZpGmdEenAnnsL0\nBte7QZ8Rwu+d10Rf7ejTied+qlj4SlmKs/AhbhKW8bsm5WmWv/CBFcFlPUNEcN+3ugZOE1/CoLqy\ncauo2wlq8lvkOVYewCesou66qs9UPCPchHR7QrycD5Lzoxrc1yl9mpVzsLC8jVyXHvxi5RkDbhXu\nT55tUqaNu/FwpqxXxElPZjscKH5d3Dk5f0x/J36ImEaKoibfQD5R+IRZbk/23aZPPWOs7FoUpU9N\n83K+Ln5JyLK3WN0rinPFUnT9yvFe4hkdmBakrsV+Ilh6JykbI7IDRBAyA9cVKGweDhDr7k/hnrry\ngcJq0F36ZBma2bNu6HOZiEUWidmCCPJmiExDUdwulqdPxg1J2Ul4Dc+lldKB/Jr4i+1A4S/tjmtE\nKmcx7lNcfjIvD4kp7rgG1+Yk+27SJ2WosLSp1T1DWLsrRTqqbH0WJn3MFFN7r/Bhp1uRPSmCxWIF\nb7pwVQhXp9HsUDo17f3bsK5R0x361HSHnGukrb+HOsgv+KNsITpIt+jTLXJWVFRUVFRUVFRUVOTk\nX/JnRRiZjdxGAAAAAElFTkSuQmCC\n", |
|
271 | "png": "iVBORw0KGgoAAAANSUhEUgAAALIAAAAZCAYAAACVUXRFAAAABHNCSVQICAgIfAhkiAAABSRJREFU\neJzt2nnsHVMUwPHPrz+UtlpNiKK6KJFaSkQsjajtD0sliFRCE0uF8I9dbN2oiCKI0NhfEZTYUoJY\n/7DE9gciSC2xhFhraS1Ff/44M/p+09f2zXtvOn0y32QyM3fu3HvOzJ1zzzl3qKj4H9DT4n37YCyG\nYxLm4dlOCVUCe+JQbIDxmIF3SpWoYq3wOY5PjqdhCQaWJ05bDMGNdedT8CuGlSNOxdpkJwxOjo/G\n77p3IE/AcoxLzoeiD5NLk6iiFO7FxWUL0QY9wrVI3awdxUAeX5pEFblp1UeG3XA4RuIM/NYRiZpj\nB1wlfNpheAWzsbgDbd+Nb3FOB9pqlXOxPq4oUYZGDMcF6BXPvRcz8UXB/Y4U7/tr/CyezbX4oZOd\nnIK3sFEnG10N2+MljErOh+PdZNuyzbanYa72PvB2GY2lmFWiDI3YBAuwRV3ZBLwnBlpR9OIjMc5S\n5uBpDGin4T3xjchaENaxDwe30eYErNdk3UcwMVM2MZHh+jZkmCwGMvFRjmmjrTz6ZLlF6DKrjf6b\nJY+cU3FJg/K5OLtjEq3McfjTipgMthPP6KS0oJUR/T0W4avkfBcsE1a5Vc7W/Fc9EXdg47qy14Wy\nB7XY/yRsjicwAkfqb3nykkefeo7C8230m5c8cu4mMlXZoP4fxWZ4zsPLYpZKWYRPdCAgP1L4cRdh\nobDS7VDTvAV8WfjjIzLlPwvfNi/biHRbX2Yb2kJbKTX5LfoQ3JYcry2LXNO8nFOEXAuEOweDhEtX\nVGC8nsgo3dzg2tP4sb5iPTvgRPHVDcOpYsBuKizWBfhMTO9lMUm89J/qykaJgfd4pm4z+nyiv3Uv\niwutObhr9v0UwaNi0WsK9sX5OEYExe8X1OfmIl5Z0uDaUvFBDcSf9QN5NE4WD2Y5HhDuwpkiG/Aq\nXhA+XJn8rf8ghtOFzPUDoVv0gV3Fy/p4NXXK1mcZjsCDOAR3CVfs7dXcc4dwSfJwJl5MjtNZd2mD\nemnZJiJm+4+r9bdMj+LN5HhrXJrcVAQ1rQdX24pBMDtT3i36DMB8kUpMaeRaFKFPTb7nfqxYBT1M\nzGR9yb6orMVOVu1m3Z9c2yx7YWzm/Etc3mnJVkFNawN5Q7whIucs3aLPadg/U9bo5RWhT03zcp4g\nLHDKYJHLXS7y+EWwvgjiZzW4tlDMEj3095E/rTveHluJqaqTzBdZjiyjsEciWJZpGmdEenAnnsL0\nBte7QZ8Rwu+d10Rf7ejTied+qlj4SlmKs/AhbhKW8bsm5WmWv/CBFcFlPUNEcN+3ugZOE1/CoLqy\ncauo2wlq8lvkOVYewCesou66qs9UPCPchHR7QrycD5Lzoxrc1yl9mpVzsLC8jVyXHvxi5RkDbhXu\nT55tUqaNu/FwpqxXxElPZjscKH5d3Dk5f0x/J36ImEaKoibfQD5R+IRZbk/23aZPPWOs7FoUpU9N\n83K+Ln5JyLK3WN0rinPFUnT9yvFe4hkdmBakrsV+Ilh6JykbI7IDRBAyA9cVKGweDhDr7k/hnrry\ngcJq0F36ZBma2bNu6HOZiEUWidmCCPJmiExDUdwulqdPxg1J2Ul4Dc+lldKB/Jr4i+1A4S/tjmtE\nKmcx7lNcfjIvD4kp7rgG1+Yk+27SJ2WosLSp1T1DWLsrRTqqbH0WJn3MFFN7r/Bhp1uRPSmCxWIF\nb7pwVQhXp9HsUDo17f3bsK5R0x361HSHnGukrb+HOsgv+KNsITpIt+jTLXJWVFRUVFRUVFRUVOTk\nX/JnRRiZjdxGAAAAAElFTkSuQmCC\n", | |
272 | "prompt_number": 12, |
|
272 | "prompt_number": 12, | |
273 | "text": [ |
|
273 | "text": [ | |
274 | "", |
|
274 | "", | |
275 | " 3 2 ", |
|
275 | " 3 2 ", | |
276 | "x + 2\u22c5x + 4\u22c5x + 8 = 0" |
|
276 | "x + 2\u22c5x + 4\u22c5x + 8 = 0" | |
277 | ] |
|
277 | ] | |
278 | } |
|
278 | } | |
279 | ], |
|
279 | ], | |
280 | "prompt_number": 12 |
|
280 | "prompt_number": 12 | |
281 | }, |
|
281 | }, | |
282 | { |
|
282 | { | |
283 | "cell_type": "code", |
|
283 | "cell_type": "code", | |
284 | "collapsed": false, |
|
284 | "collapsed": false, | |
285 | "input": [ |
|
285 | "input": [ | |
286 | "solve(eq, x)" |
|
286 | "solve(eq, x)" | |
287 | ], |
|
287 | ], | |
288 | "language": "python", |
|
288 | "language": "python", | |
289 | "outputs": [ |
|
289 | "outputs": [ | |
290 | { |
|
290 | { | |
291 | "output_type": "pyout", |
|
291 | "output_type": "pyout", | |
292 | "prompt_number": 13, |
|
292 | "prompt_number": 13, | |
293 | "text": [ |
|
293 | "text": [ | |
294 | "[-2, -2\u22c5\u2148, 2\u22c5\u2148]" |
|
294 | "[-2, -2\u22c5\u2148, 2\u22c5\u2148]" | |
295 | ] |
|
295 | ] | |
296 | } |
|
296 | } | |
297 | ], |
|
297 | ], | |
298 | "prompt_number": 13 |
|
298 | "prompt_number": 13 | |
299 | }, |
|
299 | }, | |
300 | { |
|
300 | { | |
301 | "cell_type": "code", |
|
301 | "cell_type": "code", | |
302 | "collapsed": false, |
|
302 | "collapsed": false, | |
303 | "input": [ |
|
303 | "input": [ | |
304 | "a, b = symbols('a b')", |
|
304 | "a, b = symbols('a b')", | |
305 | "Sum(6*n**2 + 2**n, (n, a, b))" |
|
305 | "Sum(6*n**2 + 2**n, (n, a, b))" | |
306 | ], |
|
306 | ], | |
307 | "language": "python", |
|
307 | "language": "python", | |
308 | "outputs": [ |
|
308 | "outputs": [ | |
309 | { |
|
309 | { | |
310 | "latex": [ |
|
310 | "latex": [ | |
311 | "$$\\sum_{n=a}^{b} \\left(2^{n} + 6 n^{2}\\right)$$" |
|
311 | "$$\\sum_{n=a}^{b} \\left(2^{n} + 6 n^{2}\\right)$$" | |
312 | ], |
|
312 | ], | |
313 | "output_type": "pyout", |
|
313 | "output_type": "pyout", | |
314 | "png": "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\nTkSuQmCC\n", |
|
314 | "png": "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\nTkSuQmCC\n", | |
315 | "prompt_number": 14, |
|
315 | "prompt_number": 14, | |
316 | "text": [ |
|
316 | "text": [ | |
317 | "", |
|
317 | "", | |
318 | " b ", |
|
318 | " b ", | |
319 | " ___ ", |
|
319 | " ___ ", | |
320 |
" \ |
|
320 | " \u2572 ", | |
321 |
" \ |
|
321 | " \u2572 \u239b n 2\u239e", | |
322 |
" |
|
322 | " \u2571 \u239d2 + 6\u22c5n \u23a0", | |
323 |
" |
|
323 | " \u2571 ", | |
|
324 | " \u203e\u203e\u203e ", | |||
324 | "n = a " |
|
325 | "n = a " | |
325 | ] |
|
326 | ] | |
326 | } |
|
327 | } | |
327 | ], |
|
328 | ], | |
328 | "prompt_number": 14 |
|
329 | "prompt_number": 14 | |
329 | }, |
|
330 | }, | |
330 | { |
|
331 | { | |
331 | "cell_type": "markdown", |
|
332 | "cell_type": "markdown", | |
332 | "source": [ |
|
333 | "source": [ | |
333 | "<h2>Calculus</h2>" |
|
334 | "<h2>Calculus</h2>" | |
334 | ] |
|
335 | ] | |
335 | }, |
|
336 | }, | |
336 | { |
|
337 | { | |
337 | "cell_type": "code", |
|
338 | "cell_type": "code", | |
338 | "collapsed": false, |
|
339 | "collapsed": false, | |
339 | "input": [ |
|
340 | "input": [ | |
340 | "limit((sin(x)-x)/x**3, x, 0)" |
|
341 | "limit((sin(x)-x)/x**3, x, 0)" | |
341 | ], |
|
342 | ], | |
342 | "language": "python", |
|
343 | "language": "python", | |
343 | "outputs": [ |
|
344 | "outputs": [ | |
344 | { |
|
345 | { | |
345 | "latex": [ |
|
346 | "latex": [ | |
346 | "$$- \\frac{1}{6}$$" |
|
347 | "$$- \\frac{1}{6}$$" | |
347 | ], |
|
348 | ], | |
348 | "output_type": "pyout", |
|
349 | "output_type": "pyout", | |
349 | "png": "iVBORw0KGgoAAAANSUhEUgAAABkAAAAeCAYAAADZ7LXbAAAABHNCSVQICAgIfAhkiAAAAPpJREFU\nSInt1aFKBFEUh/Gfq0WDCO6iguhoMwg2k6YFi7DRaBKMvoDZavYhDBaDLyBo2CfQJhgMgm6wjGHu\nLOOAgnIWXHa/cs+ce/n+3GHmXoaMOdxgpT4xFRRwhCbaaAQ5vyVHVm8OPHUc8j9DJoM8hzjBFtaw\niNsg96gxUak3cVHr/UQXx78N+St5gGNIiHhdJR1MYwazOA90o7hHzlKd4SMFhdHAE1YrvfXqgoib\ncQNLih3sYhtXeAhw9zlQfMY76Xker1guF0Scwm9pvE/jC3rYjwzpKnZSPdFzvAe4v3CNvVS38IyF\ncjLqP2niFI9Jfom7IPeYAfAJyood4uaM00cAAAAASUVORK5CYII=\n", |
|
350 | "png": "iVBORw0KGgoAAAANSUhEUgAAABkAAAAeCAYAAADZ7LXbAAAABHNCSVQICAgIfAhkiAAAAPpJREFU\nSInt1aFKBFEUh/Gfq0WDCO6iguhoMwg2k6YFi7DRaBKMvoDZavYhDBaDLyBo2CfQJhgMgm6wjGHu\nLOOAgnIWXHa/cs+ce/n+3GHmXoaMOdxgpT4xFRRwhCbaaAQ5vyVHVm8OPHUc8j9DJoM8hzjBFtaw\niNsg96gxUak3cVHr/UQXx78N+St5gGNIiHhdJR1MYwazOA90o7hHzlKd4SMFhdHAE1YrvfXqgoib\ncQNLih3sYhtXeAhw9zlQfMY76Xker1guF0Scwm9pvE/jC3rYjwzpKnZSPdFzvAe4v3CNvVS38IyF\ncjLqP2niFI9Jfom7IPeYAfAJyood4uaM00cAAAAASUVORK5CYII=\n", | |
350 | "prompt_number": 15, |
|
351 | "prompt_number": 15, | |
351 | "text": [ |
|
352 | "text": [ | |
352 | "-1/6" |
|
353 | "-1/6" | |
353 | ] |
|
354 | ] | |
354 | } |
|
355 | } | |
355 | ], |
|
356 | ], | |
356 | "prompt_number": 15 |
|
357 | "prompt_number": 15 | |
357 | }, |
|
358 | }, | |
358 | { |
|
359 | { | |
359 | "cell_type": "code", |
|
360 | "cell_type": "code", | |
360 | "collapsed": false, |
|
361 | "collapsed": false, | |
361 | "input": [ |
|
362 | "input": [ | |
362 | "(1/cos(x)).series(x, 0, 6)" |
|
363 | "(1/cos(x)).series(x, 0, 6)" | |
363 | ], |
|
364 | ], | |
364 | "language": "python", |
|
365 | "language": "python", | |
365 | "outputs": [ |
|
366 | "outputs": [ | |
366 | { |
|
367 | { | |
367 | "latex": [ |
|
368 | "latex": [ | |
368 | "$$1 + \\frac{1}{2} x^{2} + \\frac{5}{24} x^{4} + \\operatorname{\\mathcal{O}}\\left(x^{6}\\right)$$" |
|
369 | "$$1 + \\frac{1}{2} x^{2} + \\frac{5}{24} x^{4} + \\operatorname{\\mathcal{O}}\\left(x^{6}\\right)$$" | |
369 | ], |
|
370 | ], | |
370 | "output_type": "pyout", |
|
371 | "output_type": "pyout", | |
371 | "png": "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\n", |
|
372 | "png": "iVBORw0KGgoAAAANSUhEUgAAAMEAAAAfCAYAAABedqnDAAAABHNCSVQICAgIfAhkiAAABlFJREFU\neJzt3GvMHFUZwPFfi7y1UKgXqE15S0sxNUWp0Sj1AqnRCgQbRD8Yg6BoASURjZFCNVqaGEVLqsSo\nEIM6Bi+JftAQkqL9YBM04AcNKN7AS1WsGK+0WLRo64dn1h22s7uzszM7+5b5J5PZc/bcnrPznOec\n55xZWlqe5BzTdANqYh2uxHm4Gj/Fnxpt0WTYgQP4XdMNGZGn4p24p2T+1+IFOAvrB5RzLb5Xso7a\neRp24dQKylqET2fCb8B+LK6g7DJ8Hv/BY7gLa2qqZ71Q9FfUVH5dHIsEy0vm34Ab0s8rcRAn9kl7\nET5Ysp5auQLvw2EhxLisxSGcnoZPTMveWEHZZdiGpepVwsV4F3abe0pwLd5YMu987MWKTNyqIXnu\nwOtK1lc7VSnBPDEdmpeGn5uWXdcIPIxtE6hjMxaYe0rwdNyLp5TM3/lt1+NSfArnDsmzCndnI+b3\nSTiLX5ZsWNMcxvfTO2zBx/GzhtqzEFeJH+kTOK3i8i/ETvy74nJH5VihjNvS8KvxTTyMB3CjI6cp\nl+F2MV0sw/PS+yHchuvxdfH89uPXwnqs65fgeKFJD+g+RJOiKkuQZRO261qFJrgEM+nnDWLkq4pl\neHMmvFszlmAp7kzbMg+fw814Cd6Ln4vf90s9+XYJ50VZXpOWuzAT90e8Y0i+j+LWvC/WCM39iFhB\nj6MEa41u4qpWgo1CCYhOGqfsMvJ0yOZbKeQ8PT/pyLxVrKe2pNdefFY8HGUoI+cK/AKvSsObcUtP\nmpV4RMi+No2bwb/wjDINTTlFWIFFmbi9wuoO4m344bDCE+MpQWL0h65KJVgvFGBpel2Ml45RXqJc\n216Mf+qOVOcIOZeN0ZZB7DGeJUiMJufxYtr8pjT8QvxBvnfmY0L2zgO6XDVTuJ261uRk4SF71pA8\nZ+OvnUDZ0W2aWSU8AIt64ptwkf5K/PiPpeGXiSnA3orrmRXTjlPwfiH7HRXXkccW7MOXcRy+ILxU\n+3LS/ii9dx7QJfhHBW24VLg916RlbzR8T+hBYYFOwP5pUIK36I5eN4l57U056c4Q5n+BeKDfjmtw\nkhB+C34rFj4n1NngEfib2Bu4Es/GM/H6AvmKytrhIbwnvSbFcqF4l6Xh+XilzAjbw4H0vie9H6O7\nVsqjaB/8Be8ese0dC7RQ7CHlkpj8dGgQK4SHp+PN+hp+IjwQL8Lj4kGri0T1i/Z+NClroric14ln\nZJAnJstWT1wTnJaGT85JW3cfnIX/dsrv5yKdNq4W7q9DaXhGTDF2CdN3g+ioo4G5IuuZeFRYoaLp\n79edFj0sZFydk7buPlidqb8viemyBL2+9Yfw4QrLH0ZicpagSVkTxeW8Vyz6i5w/mxWeoMt74u8W\nU55e6u6DD8m4a8ddE3wRz8+JP1WYnIM5323CD0as5zeZz88RC8DvjFhGESYlzyAmIWsVch4Qi+Ez\n8OMh9W0Vh9qSnvidQsZe6u6D1WKTbiCJyViCwwWuXq4SC5vjMnFV+d37kahOnmmWNVHcEtwq2jzs\nQNr5wo2aN/dfjvsMXiBX3QcnCaX9f3lNrwnmFbgWiJHkzDTP+WIHsuNtWCSO4U4DReQ5WmS9WSjB\n9bigT5rL8QHh/ftzzve/F/P86zJxdffBdnwmU15fbhcCLilZUaK6OfR5aVsuEmfG79M1yzNCqBX5\nWSsjMZk1QdOyJkaT80bR3kfFFOtisSG4VRyj2G7wKE+4P+/RHd3r7IOX41t6lgHZwBJx+GiZ8GkT\n2+EP4pOOPPdRFevESDIjNjy26noQiMNwXxHb8geFi2yHOB7wd3zVE33mTTNMng478A18NxM312Td\nLBbIV4gXW84VBxXvEptYeaN/L4+IQ4Cb06vOPrhE7NOUPbA3EoliI8q0vQDTj0S18kzrCzCJyXnB\npoa61gT7hEtsGKvEwqdjCu8UD9I5NbWrLFXKs1h4Zpo62j2IonK2VMi0vQAzLkXkmasvwLRMiNvE\n/O9ooVeeC3VfBNmtVYKpoGkXaZZN4oWIa5puSEX0yrNM/KHA/Y21qCWXafnLlY1i7rxdnOybVc0x\n26bIk2eDUISz0+sCMS06JDxwLU9iqn4BpmmKyrNHOx1qEd6U/Y48PtDvf2OmnSLyzIoX7h/HtzX3\nVzAtLS0tLS0tLS0tLS0t+B+WXJxZxtS3TgAAAABJRU5ErkJggg==\n", | |
372 | "prompt_number": 16, |
|
373 | "prompt_number": 16, | |
373 | "text": [ |
|
374 | "text": [ | |
374 | "", |
|
375 | "", | |
375 | " 2 4 ", |
|
376 | " 2 4 ", | |
376 | " x 5\u22c5x \u239b 6\u239e", |
|
377 | " x 5\u22c5x \u239b 6\u239e", | |
377 | "1 + \u2500\u2500 + \u2500\u2500\u2500\u2500 + O\u239dx \u23a0", |
|
378 | "1 + \u2500\u2500 + \u2500\u2500\u2500\u2500 + O\u239dx \u23a0", | |
378 | " 2 24 " |
|
379 | " 2 24 " | |
379 | ] |
|
380 | ] | |
380 | } |
|
381 | } | |
381 | ], |
|
382 | ], | |
382 | "prompt_number": 16 |
|
383 | "prompt_number": 16 | |
383 | }, |
|
384 | }, | |
384 | { |
|
385 | { | |
385 | "cell_type": "code", |
|
386 | "cell_type": "code", | |
386 | "collapsed": false, |
|
387 | "collapsed": false, | |
387 | "input": [ |
|
388 | "input": [ | |
388 | "diff(cos(x**2)**2 / (1+x), x)" |
|
389 | "diff(cos(x**2)**2 / (1+x), x)" | |
389 | ], |
|
390 | ], | |
390 | "language": "python", |
|
391 | "language": "python", | |
391 | "outputs": [ |
|
392 | "outputs": [ | |
392 | { |
|
393 | { | |
393 | "latex": [ |
|
394 | "latex": [ | |
394 | "$$- 4 \\frac{x \\operatorname{sin}\\left(x^{2}\\right) \\operatorname{cos}\\left(x^{2}\\right)}{x + 1} - \\frac{\\operatorname{cos}^{2}\\left(x^{2}\\right)}{\\left(x + 1\\right)^{2}}$$" |
|
395 | "$$- 4 \\frac{x \\operatorname{sin}\\left(x^{2}\\right) \\operatorname{cos}\\left(x^{2}\\right)}{x + 1} - \\frac{\\operatorname{cos}^{2}\\left(x^{2}\\right)}{\\left(x + 1\\right)^{2}}$$" | |
395 | ], |
|
396 | ], | |
396 | "output_type": "pyout", |
|
397 | "output_type": "pyout", | |
397 | "png": "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\nRCKRSCQWBq8BH7XPIH70GuoAAAAASUVORK5CYII=\n", |
|
398 | "png": "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\nRCKRSCQWBq8BH7XPIH70GuoAAAAASUVORK5CYII=\n", | |
398 | "prompt_number": 17, |
|
399 | "prompt_number": 17, | |
399 | "text": [ |
|
400 | "text": [ | |
400 | "", |
|
401 | "", | |
401 | " 2 ", |
|
402 | " 2 ", | |
402 | " \u239b 2\u239e \u239b 2\u239e \u239b 2\u239e", |
|
403 | " \u239b 2\u239e \u239b 2\u239e \u239b 2\u239e", | |
403 | " 4\u22c5x\u22c5sin\u239dx \u23a0\u22c5cos\u239dx \u23a0 cos \u239dx \u23a0", |
|
404 | " 4\u22c5x\u22c5sin\u239dx \u23a0\u22c5cos\u239dx \u23a0 cos \u239dx \u23a0", | |
404 | "- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500", |
|
405 | "- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500", | |
405 | " x + 1 2", |
|
406 | " x + 1 2", | |
406 | " (x + 1) " |
|
407 | " (x + 1) " | |
407 | ] |
|
408 | ] | |
408 | } |
|
409 | } | |
409 | ], |
|
410 | ], | |
410 | "prompt_number": 17 |
|
411 | "prompt_number": 17 | |
411 | }, |
|
412 | }, | |
412 | { |
|
413 | { | |
413 | "cell_type": "code", |
|
414 | "cell_type": "code", | |
414 | "collapsed": false, |
|
415 | "collapsed": false, | |
415 | "input": [ |
|
416 | "input": [ | |
416 | "integrate(x**2 * cos(x), (x, 0, pi/2))" |
|
417 | "integrate(x**2 * cos(x), (x, 0, pi/2))" | |
417 | ], |
|
418 | ], | |
418 | "language": "python", |
|
419 | "language": "python", | |
419 | "outputs": [ |
|
420 | "outputs": [ | |
420 | { |
|
421 | { | |
421 | "latex": [ |
|
422 | "latex": [ | |
422 | "$$-2 + \\frac{1}{4} \\pi^{2}$$" |
|
423 | "$$-2 + \\frac{1}{4} \\pi^{2}$$" | |
423 | ], |
|
424 | ], | |
424 | "output_type": "pyout", |
|
425 | "output_type": "pyout", | |
425 | "png": "iVBORw0KGgoAAAANSUhEUgAAAEwAAAAfCAYAAABNjStyAAAABHNCSVQICAgIfAhkiAAAArVJREFU\naIHt2UuojVEUwPHfRd7PgRK6ySNdQgaIcCUjr5HkMUAoQyUDA0oMRPIoAyaOmBmYEGFgIEIkjwgD\nIzGhkLwZ7A+f757rnu/Y373Hdf61u3vvb5+11ll37bXW16FOLho62oAaZBrmozuasA13OtSiyAzE\nBTRGkNUXh1LrpXiDARFk1wTrsQXfMCKCvIn4ilHJun8ie2EE2TVFLIc1CFfyR6oan8huiiC7BeNw\nRrge17Efg4pQVIZYDstyHHsLkGssLvuVRwbhbjKGFqEwQxEOW4vdCiqMpzAjszdD+CIHqpA3Ed1y\nnI/tsIWCw6BXZNngBR6iX2qvG97jfhXySvIZGdNhzYKzhiRjBab/eJjnv/gnnmAy+ghlGD7jAwZH\n0tEejMRpob1I87Ot6BJJUbOQq56n9hqFsnwtko5yrMLRZL4fG1s51w878FKIxnLjK4YlZxsy43Ux\n5v/OLnzRMrdVQkncvHECB4UO/jDWYZ4QTYuS+UzxAig3o/EW26v8fEk8hy3HstT6JLom80uRdPwV\nPXFDKMnVUlJMXzVQqOiE6ncvr4B00p+AIyrvO25jQ2avQcgp57C1AhnHMKnMfiOm4mOZZ2txs0Ib\ns6zE1WTehHdVyonGTi0dtboKOSVtR1hryTs9stzGlGS+QKjouRrTmElujVBpdmT2Z0XUkSZbycqN\nNLOFyL2VrPsL7cOYPEpj9WFzsUe4iidS+z0EJ9YCm3BRqNzwLPk7GY/a25hXWr8W2YirhJL8SX+v\n0Bq0xoPM8964gsU59dQkJfkc1iy8ns0pwJbf6LBGrQ1eC++hlTBAqLQPijOnc7FZyJWX/McRVimL\ncVZ4yW8X/mWHDRU699zd+t/Qte0jNcsSwWkzkzHfrzbmcQfa9c/wVDvksM7AcOzDJ5zXCX8Sq1On\nTp1YfAdxIoFGVphKVAAAAABJRU5ErkJggg==\n", |
|
426 | "png": "iVBORw0KGgoAAAANSUhEUgAAAEwAAAAfCAYAAABNjStyAAAABHNCSVQICAgIfAhkiAAAArVJREFU\naIHt2UuojVEUwPHfRd7PgRK6ySNdQgaIcCUjr5HkMUAoQyUDA0oMRPIoAyaOmBmYEGFgIEIkjwgD\nIzGhkLwZ7A+f757rnu/Y373Hdf61u3vvb5+11ll37bXW16FOLho62oAaZBrmozuasA13OtSiyAzE\nBTRGkNUXh1LrpXiDARFk1wTrsQXfMCKCvIn4ilHJun8ie2EE2TVFLIc1CFfyR6oan8huiiC7BeNw\nRrge17Efg4pQVIZYDstyHHsLkGssLvuVRwbhbjKGFqEwQxEOW4vdCiqMpzAjszdD+CIHqpA3Ed1y\nnI/tsIWCw6BXZNngBR6iX2qvG97jfhXySvIZGdNhzYKzhiRjBab/eJjnv/gnnmAy+ghlGD7jAwZH\n0tEejMRpob1I87Ot6BJJUbOQq56n9hqFsnwtko5yrMLRZL4fG1s51w878FKIxnLjK4YlZxsy43Ux\n5v/OLnzRMrdVQkncvHECB4UO/jDWYZ4QTYuS+UzxAig3o/EW26v8fEk8hy3HstT6JLom80uRdPwV\nPXFDKMnVUlJMXzVQqOiE6ncvr4B00p+AIyrvO25jQ2avQcgp57C1AhnHMKnMfiOm4mOZZ2txs0Ib\ns6zE1WTehHdVyonGTi0dtboKOSVtR1hryTs9stzGlGS+QKjouRrTmElujVBpdmT2Z0XUkSZbycqN\nNLOFyL2VrPsL7cOYPEpj9WFzsUe4iidS+z0EJ9YCm3BRqNzwLPk7GY/a25hXWr8W2YirhJL8SX+v\n0Bq0xoPM8964gsU59dQkJfkc1iy8ns0pwJbf6LBGrQ1eC++hlTBAqLQPijOnc7FZyJWX/McRVimL\ncVZ4yW8X/mWHDRU699zd+t/Qte0jNcsSwWkzkzHfrzbmcQfa9c/wVDvksM7AcOzDJ5zXCX8Sq1On\nTp1YfAdxIoFGVphKVAAAAABJRU5ErkJggg==\n", | |
426 | "prompt_number": 18, |
|
427 | "prompt_number": 18, | |
427 | "text": [ |
|
428 | "text": [ | |
428 | "", |
|
429 | "", | |
429 | " 2", |
|
430 | " 2", | |
430 | " \u03c0 ", |
|
431 | " \u03c0 ", | |
431 | "-2 + \u2500\u2500", |
|
432 | "-2 + \u2500\u2500", | |
432 | " 4 " |
|
433 | " 4 " | |
433 | ] |
|
434 | ] | |
434 | } |
|
435 | } | |
435 | ], |
|
436 | ], | |
436 | "prompt_number": 18 |
|
437 | "prompt_number": 18 | |
437 | }, |
|
438 | }, | |
438 | { |
|
439 | { | |
439 | "cell_type": "code", |
|
440 | "cell_type": "code", | |
440 | "collapsed": false, |
|
441 | "collapsed": false, | |
441 | "input": [ |
|
442 | "input": [ | |
442 | "eqn = Eq(Derivative(f(x),x,x) + 9*f(x), 1)", |
|
443 | "eqn = Eq(Derivative(f(x),x,x) + 9*f(x), 1)", | |
443 | "display(eqn)", |
|
444 | "display(eqn)", | |
444 | "dsolve(eqn, f(x))" |
|
445 | "dsolve(eqn, f(x))" | |
445 | ], |
|
446 | ], | |
446 | "language": "python", |
|
447 | "language": "python", | |
447 | "outputs": [ |
|
448 | "outputs": [ | |
448 | { |
|
449 | { | |
449 | "latex": [ |
|
450 | "latex": [ | |
450 | "$$9 \\operatorname{f}\\left(x\\right) + \\frac{\\partial^{2}}{\\partial^{2} x} \\operatorname{f}\\left(x\\right) = 1$$" |
|
451 | "$$9 \\operatorname{f}\\left(x\\right) + \\frac{\\partial^{2}}{\\partial^{2} x} \\operatorname{f}\\left(x\\right) = 1$$" | |
451 | ], |
|
452 | ], | |
452 | "output_type": "display_data", |
|
453 | "output_type": "display_data", | |
453 | "png": "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\n", |
|
454 | "png": "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\n", | |
454 | "text": [ |
|
455 | "text": [ | |
455 | "", |
|
456 | "", | |
456 | " 2 ", |
|
457 | " 2 ", | |
457 | " d ", |
|
458 | " d ", | |
458 | "9\u22c5f(x) + \u2500\u2500\u2500(f(x)) = 1", |
|
459 | "9\u22c5f(x) + \u2500\u2500\u2500(f(x)) = 1", | |
459 | " 2 ", |
|
460 | " 2 ", | |
460 | " dx " |
|
461 | " dx " | |
461 | ] |
|
462 | ] | |
462 | }, |
|
463 | }, | |
463 | { |
|
464 | { | |
464 | "latex": [ |
|
465 | "latex": [ | |
465 | "$$\\operatorname{f}\\left(x\\right) = C_{1} \\operatorname{sin}\\left(3 x\\right) + C_{2} \\operatorname{cos}\\left(3 x\\right) + \\frac{1}{9}$$" |
|
466 | "$$\\operatorname{f}\\left(x\\right) = C_{1} \\operatorname{sin}\\left(3 x\\right) + C_{2} \\operatorname{cos}\\left(3 x\\right) + \\frac{1}{9}$$" | |
466 | ], |
|
467 | ], | |
467 | "output_type": "pyout", |
|
468 | "output_type": "pyout", | |
468 | "png": "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\n", |
|
469 | "png": "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\n", | |
469 | "prompt_number": 19, |
|
470 | "prompt_number": 19, | |
470 | "text": [ |
|
471 | "text": [ | |
471 | "f(x) = C\u2081\u22c5sin(3\u22c5x) + C\u2082\u22c5cos(3\u22c5x) + 1/9" |
|
472 | "f(x) = C\u2081\u22c5sin(3\u22c5x) + C\u2082\u22c5cos(3\u22c5x) + 1/9" | |
472 | ] |
|
473 | ] | |
473 | } |
|
474 | } | |
474 | ], |
|
475 | ], | |
475 | "prompt_number": 19 |
|
476 | "prompt_number": 19 | |
476 | }, |
|
477 | }, | |
477 | { |
|
478 | { | |
478 | "cell_type": "markdown", |
|
479 | "cell_type": "markdown", | |
479 | "source": [ |
|
480 | "source": [ | |
480 | "# Illustrating Taylor series", |
|
481 | "# Illustrating Taylor series", | |
481 | "", |
|
482 | "", | |
482 | "We will define a function to compute the Taylor series expansions of a symbolically defined expression at", |
|
483 | "We will define a function to compute the Taylor series expansions of a symbolically defined expression at", | |
483 | "various orders and visualize all the approximations together with the original function" |
|
484 | "various orders and visualize all the approximations together with the original function" | |
484 | ] |
|
485 | ] | |
485 | }, |
|
486 | }, | |
486 | { |
|
487 | { | |
487 | "cell_type": "code", |
|
488 | "cell_type": "code", | |
488 | "collapsed": true, |
|
489 | "collapsed": true, | |
489 | "input": [ |
|
490 | "input": [ | |
490 | "# You can change the default figure size to be a bit larger if you want,", |
|
491 | "# You can change the default figure size to be a bit larger if you want,", | |
491 | "# uncomment the next line for that:", |
|
492 | "# uncomment the next line for that:", | |
492 | "#plt.rc('figure', figsize=(10, 6))" |
|
493 | "#plt.rc('figure', figsize=(10, 6))" | |
493 | ], |
|
494 | ], | |
494 | "language": "python", |
|
495 | "language": "python", | |
495 | "outputs": [], |
|
496 | "outputs": [], | |
496 | "prompt_number": 20 |
|
497 | "prompt_number": 20 | |
497 | }, |
|
498 | }, | |
498 | { |
|
499 | { | |
499 | "cell_type": "code", |
|
500 | "cell_type": "code", | |
500 | "collapsed": true, |
|
501 | "collapsed": true, | |
501 | "input": [ |
|
502 | "input": [ | |
502 | "def plot_taylor_approximations(func, x0=None, orders=(2, 4), xrange=(0,1), yrange=None, npts=200):", |
|
503 | "def plot_taylor_approximations(func, x0=None, orders=(2, 4), xrange=(0,1), yrange=None, npts=200):", | |
503 | " \"\"\"Plot the Taylor series approximations to a function at various orders.", |
|
504 | " \"\"\"Plot the Taylor series approximations to a function at various orders.", | |
504 | "", |
|
505 | "", | |
505 | " Parameters", |
|
506 | " Parameters", | |
506 | " ----------", |
|
507 | " ----------", | |
507 | " func : a sympy function", |
|
508 | " func : a sympy function", | |
508 | " x0 : float", |
|
509 | " x0 : float", | |
509 | " Origin of the Taylor series expansion. If not given, x0=xrange[0].", |
|
510 | " Origin of the Taylor series expansion. If not given, x0=xrange[0].", | |
510 | " orders : list", |
|
511 | " orders : list", | |
511 | " List of integers with the orders of Taylor series to show. Default is (2, 4).", |
|
512 | " List of integers with the orders of Taylor series to show. Default is (2, 4).", | |
512 | " xrange : 2-tuple or array.", |
|
513 | " xrange : 2-tuple or array.", | |
513 | " Either an (xmin, xmax) tuple indicating the x range for the plot (default is (0, 1)),", |
|
514 | " Either an (xmin, xmax) tuple indicating the x range for the plot (default is (0, 1)),", | |
514 | " or the actual array of values to use.", |
|
515 | " or the actual array of values to use.", | |
515 | " yrange : 2-tuple", |
|
516 | " yrange : 2-tuple", | |
516 | " (ymin, ymax) tuple indicating the y range for the plot. If not given,", |
|
517 | " (ymin, ymax) tuple indicating the y range for the plot. If not given,", | |
517 | " the full range of values will be automatically used. ", |
|
518 | " the full range of values will be automatically used. ", | |
518 | " npts : int", |
|
519 | " npts : int", | |
519 | " Number of points to sample the x range with. Default is 200.", |
|
520 | " Number of points to sample the x range with. Default is 200.", | |
520 | " \"\"\"", |
|
521 | " \"\"\"", | |
521 | " if not callable(func):", |
|
522 | " if not callable(func):", | |
522 | " raise ValueError('func must be callable')", |
|
523 | " raise ValueError('func must be callable')", | |
523 | " if isinstance(xrange, (list, tuple)):", |
|
524 | " if isinstance(xrange, (list, tuple)):", | |
524 | " x = np.linspace(float(xrange[0]), float(xrange[1]), npts)", |
|
525 | " x = np.linspace(float(xrange[0]), float(xrange[1]), npts)", | |
525 | " else:", |
|
526 | " else:", | |
526 | " x = xrange", |
|
527 | " x = xrange", | |
527 | " if x0 is None: x0 = x[0]", |
|
528 | " if x0 is None: x0 = x[0]", | |
528 | " xs = sym.Symbol('x')", |
|
529 | " xs = sym.Symbol('x')", | |
529 | " # Make a numpy-callable form of the original function for plotting", |
|
530 | " # Make a numpy-callable form of the original function for plotting", | |
530 | " fx = func(xs)", |
|
531 | " fx = func(xs)", | |
531 | " f = sym.lambdify(xs, fx, modules=['numpy'])", |
|
532 | " f = sym.lambdify(xs, fx, modules=['numpy'])", | |
532 | " # We could use latex(fx) instead of str(), but matploblib gets confused", |
|
533 | " # We could use latex(fx) instead of str(), but matploblib gets confused", | |
533 | " # with some of the (valid) latex constructs sympy emits. So we play it safe.", |
|
534 | " # with some of the (valid) latex constructs sympy emits. So we play it safe.", | |
534 | " plot(x, f(x), label=str(fx), lw=2)", |
|
535 | " plot(x, f(x), label=str(fx), lw=2)", | |
535 | " # Build the Taylor approximations, plotting as we go", |
|
536 | " # Build the Taylor approximations, plotting as we go", | |
536 | " apps = {}", |
|
537 | " apps = {}", | |
537 | " for order in orders:", |
|
538 | " for order in orders:", | |
538 | " app = fx.series(xs, x0, n=order).removeO()", |
|
539 | " app = fx.series(xs, x0, n=order).removeO()", | |
539 | " apps[order] = app", |
|
540 | " apps[order] = app", | |
540 | " # Must be careful here: if the approximation is a constant, we can't", |
|
541 | " # Must be careful here: if the approximation is a constant, we can't", | |
541 | " # blindly use lambdify as it won't do the right thing. In that case, ", |
|
542 | " # blindly use lambdify as it won't do the right thing. In that case, ", | |
542 | " # evaluate the number as a float and fill the y array with that value.", |
|
543 | " # evaluate the number as a float and fill the y array with that value.", | |
543 | " if isinstance(app, sym.numbers.Number):", |
|
544 | " if isinstance(app, sym.numbers.Number):", | |
544 | " y = np.zeros_like(x)", |
|
545 | " y = np.zeros_like(x)", | |
545 | " y.fill(app.evalf())", |
|
546 | " y.fill(app.evalf())", | |
546 | " else:", |
|
547 | " else:", | |
547 | " fa = sym.lambdify(xs, app, modules=['numpy'])", |
|
548 | " fa = sym.lambdify(xs, app, modules=['numpy'])", | |
548 | " y = fa(x)", |
|
549 | " y = fa(x)", | |
549 | " tex = sym.latex(app).replace('$', '')", |
|
550 | " tex = sym.latex(app).replace('$', '')", | |
550 | " plot(x, y, label=r'$n=%s:\\, %s$' % (order, tex) )", |
|
551 | " plot(x, y, label=r'$n=%s:\\, %s$' % (order, tex) )", | |
551 | " ", |
|
552 | " ", | |
552 | " # Plot refinements", |
|
553 | " # Plot refinements", | |
553 | " if yrange is not None:", |
|
554 | " if yrange is not None:", | |
554 | " plt.ylim(*yrange)", |
|
555 | " plt.ylim(*yrange)", | |
555 | " grid()", |
|
556 | " grid()", | |
556 | " legend(loc='best').get_frame().set_alpha(0.8)" |
|
557 | " legend(loc='best').get_frame().set_alpha(0.8)" | |
557 | ], |
|
558 | ], | |
558 | "language": "python", |
|
559 | "language": "python", | |
559 | "outputs": [], |
|
560 | "outputs": [], | |
560 | "prompt_number": 21 |
|
561 | "prompt_number": 21 | |
561 | }, |
|
562 | }, | |
562 | { |
|
563 | { | |
563 | "cell_type": "markdown", |
|
564 | "cell_type": "markdown", | |
564 | "source": [ |
|
565 | "source": [ | |
565 | "With this function defined, we can now use it for any sympy function or expression" |
|
566 | "With this function defined, we can now use it for any sympy function or expression" | |
566 | ] |
|
567 | ] | |
567 | }, |
|
568 | }, | |
568 | { |
|
569 | { | |
569 | "cell_type": "code", |
|
570 | "cell_type": "code", | |
570 | "collapsed": false, |
|
571 | "collapsed": false, | |
571 | "input": [ |
|
572 | "input": [ | |
572 | "plot_taylor_approximations(sin, 0, [2, 4, 6], (0, 2*pi), (-2,2))" |
|
573 | "plot_taylor_approximations(sin, 0, [2, 4, 6], (0, 2*pi), (-2,2))" | |
573 | ], |
|
574 | ], | |
574 | "language": "python", |
|
575 | "language": "python", | |
575 | "outputs": [ |
|
576 | "outputs": [ | |
576 | { |
|
577 | { | |
577 | "output_type": "display_data", |
|
578 | "output_type": "display_data", | |
578 | "png": "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\nfgk2a5wJG34AAAAASUVORK5CYII=\n" |
|
579 | "png": "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\nfgk2a5wJG34AAAAASUVORK5CYII=\n" | |
579 | } |
|
580 | } | |
580 | ], |
|
581 | ], | |
581 | "prompt_number": 22 |
|
582 | "prompt_number": 22 | |
582 | }, |
|
583 | }, | |
583 | { |
|
584 | { | |
584 | "cell_type": "code", |
|
585 | "cell_type": "code", | |
585 | "collapsed": false, |
|
586 | "collapsed": false, | |
586 | "input": [ |
|
587 | "input": [ | |
587 | "plot_taylor_approximations(cos, 0, [2, 4, 6], (0, 2*pi), (-2,2))" |
|
588 | "plot_taylor_approximations(cos, 0, [2, 4, 6], (0, 2*pi), (-2,2))" | |
588 | ], |
|
589 | ], | |
589 | "language": "python", |
|
590 | "language": "python", | |
590 | "outputs": [ |
|
591 | "outputs": [ | |
591 | { |
|
592 | { | |
592 | "output_type": "display_data", |
|
593 | "output_type": "display_data", | |
593 | "png": "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\n" |
|
594 | "png": "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\n" | |
594 | } |
|
595 | } | |
595 | ], |
|
596 | ], | |
596 | "prompt_number": 23 |
|
597 | "prompt_number": 23 | |
597 | }, |
|
598 | }, | |
598 | { |
|
599 | { | |
599 | "cell_type": "markdown", |
|
600 | "cell_type": "markdown", | |
600 | "source": [ |
|
601 | "source": [ | |
601 | "This shows easily how a Taylor series is useless beyond its convergence radius, illustrated by ", |
|
602 | "This shows easily how a Taylor series is useless beyond its convergence radius, illustrated by ", | |
602 | "a simple function that has singularities on the real axis:" |
|
603 | "a simple function that has singularities on the real axis:" | |
603 | ] |
|
604 | ] | |
604 | }, |
|
605 | }, | |
605 | { |
|
606 | { | |
606 | "cell_type": "code", |
|
607 | "cell_type": "code", | |
607 | "collapsed": false, |
|
608 | "collapsed": false, | |
608 | "input": [ |
|
609 | "input": [ | |
609 | "# For an expression made from elementary functions, we must first make it into", |
|
610 | "# For an expression made from elementary functions, we must first make it into", | |
610 | "# a callable function, the simplest way is to use the Python lambda construct.", |
|
611 | "# a callable function, the simplest way is to use the Python lambda construct.", | |
611 | "plot_taylor_approximations(lambda x: 1/cos(x), 0, [2,4,6], (0, 2*pi), (-5,5))" |
|
612 | "plot_taylor_approximations(lambda x: 1/cos(x), 0, [2,4,6], (0, 2*pi), (-5,5))" | |
612 | ], |
|
613 | ], | |
613 | "language": "python", |
|
614 | "language": "python", | |
614 | "outputs": [ |
|
615 | "outputs": [ | |
615 | { |
|
616 | { | |
616 | "output_type": "display_data", |
|
617 | "output_type": "display_data", | |
617 | "png": "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\nYII=\n" |
|
618 | "png": "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\nYII=\n" | |
618 | } |
|
619 | } | |
619 | ], |
|
620 | ], | |
620 | "prompt_number": 24 |
|
621 | "prompt_number": 24 | |
621 | } |
|
622 | } | |
622 | ] |
|
623 | ] | |
623 | } |
|
624 | } | |
624 | ] |
|
625 | ] | |
625 | } No newline at end of file |
|
626 | } |
@@ -1,119 +1,118 b'' | |||||
1 | { |
|
1 | { | |
2 | "metadata": { |
|
2 | "metadata": { | |
3 | "name": "trapezoid_rule" |
|
3 | "name": "trapezoid_rule" | |
4 | }, |
|
4 | }, | |
5 | "nbformat": 2, |
|
5 | "nbformat": 2, | |
6 | "worksheets": [ |
|
6 | "worksheets": [ | |
7 | { |
|
7 | { | |
8 | "cells": [ |
|
8 | "cells": [ | |
9 | { |
|
9 | { | |
10 | "cell_type": "markdown", |
|
10 | "cell_type": "markdown", | |
11 | "source": [ |
|
11 | "source": [ | |
12 | "Basic numerical integration: the trapezoid rule", |
|
12 | "Basic numerical integration: the trapezoid rule", | |
13 | "===============================================", |
|
13 | "===============================================", | |
14 | "", |
|
14 | "", | |
15 | "A simple illustration of the trapezoid rule for definite integration:", |
|
15 | "A simple illustration of the trapezoid rule for definite integration:", | |
16 | "", |
|
16 | "", | |
17 | "$$", |
|
17 | "$$", | |
18 | "\\int_{a}^{b} f(x)\\, dx \\approx \\frac{1}{2} \\sum_{k=1}^{N} \\left( x_{k} - x_{k-1} \\right) \\left( f(x_{k}) + f(x_{k-1}) \\right).", |
|
18 | "\\int_{a}^{b} f(x)\\, dx \\approx \\frac{1}{2} \\sum_{k=1}^{N} \\left( x_{k} - x_{k-1} \\right) \\left( f(x_{k}) + f(x_{k-1}) \\right).", | |
19 | "$$", |
|
19 | "$$", | |
20 | "<br>", |
|
20 | "<br>", | |
21 | "First, we define a simple function and sample it between 0 and 10 at 200 points" |
|
21 | "First, we define a simple function and sample it between 0 and 10 at 200 points" | |
22 | ] |
|
22 | ] | |
23 | }, |
|
23 | }, | |
24 | { |
|
24 | { | |
25 | "cell_type": "code", |
|
25 | "cell_type": "code", | |
26 | "collapsed": true, |
|
26 | "collapsed": true, | |
27 | "input": [ |
|
27 | "input": [ | |
28 | "def f(x):", |
|
28 | "def f(x):", | |
29 | " return (x-3)*(x-5)*(x-7)+85", |
|
29 | " return (x-3)*(x-5)*(x-7)+85", | |
30 | "", |
|
30 | "", | |
31 | "x = linspace(0, 10, 200)", |
|
31 | "x = linspace(0, 10, 200)", | |
32 | "y = f(x)" |
|
32 | "y = f(x)" | |
33 | ], |
|
33 | ], | |
34 | "language": "python", |
|
34 | "language": "python", | |
35 | "outputs": [], |
|
35 | "outputs": [], | |
36 | "prompt_number": 1 |
|
36 | "prompt_number": 1 | |
37 | }, |
|
37 | }, | |
38 | { |
|
38 | { | |
39 | "cell_type": "markdown", |
|
39 | "cell_type": "markdown", | |
40 | "source": [ |
|
40 | "source": [ | |
41 | "Choose a region to integrate over and take only a few points in that region" |
|
41 | "Choose a region to integrate over and take only a few points in that region" | |
42 | ] |
|
42 | ] | |
43 | }, |
|
43 | }, | |
44 | { |
|
44 | { | |
45 | "cell_type": "code", |
|
45 | "cell_type": "code", | |
46 | "collapsed": true, |
|
46 | "collapsed": true, | |
47 | "input": [ |
|
47 | "input": [ | |
48 | "a, b = 1, 9", |
|
48 | "a, b = 1, 9", | |
49 | "xint = x[logical_and(x>=a, x<=b)][::30]", |
|
49 | "xint = x[logical_and(x>=a, x<=b)][::30]", | |
50 | "yint = y[logical_and(x>=a, x<=b)][::30]" |
|
50 | "yint = y[logical_and(x>=a, x<=b)][::30]" | |
51 | ], |
|
51 | ], | |
52 | "language": "python", |
|
52 | "language": "python", | |
53 | "outputs": [], |
|
53 | "outputs": [], | |
54 | "prompt_number": 2 |
|
54 | "prompt_number": 2 | |
55 | }, |
|
55 | }, | |
56 | { |
|
56 | { | |
57 | "cell_type": "markdown", |
|
57 | "cell_type": "markdown", | |
58 | "source": [ |
|
58 | "source": [ | |
59 | "Plot both the function and the area below it in the trapezoid approximation" |
|
59 | "Plot both the function and the area below it in the trapezoid approximation" | |
60 | ] |
|
60 | ] | |
61 | }, |
|
61 | }, | |
62 | { |
|
62 | { | |
63 | "cell_type": "code", |
|
63 | "cell_type": "code", | |
64 | "collapsed": false, |
|
64 | "collapsed": false, | |
65 | "input": [ |
|
65 | "input": [ | |
66 | "plot(x, y, lw=2)", |
|
66 | "plot(x, y, lw=2)", | |
67 | "axis([0, 10, 0, 140])", |
|
67 | "axis([0, 10, 0, 140])", | |
68 | "fill_between(xint, 0, yint, facecolor='gray', alpha=0.4)", |
|
68 | "fill_between(xint, 0, yint, facecolor='gray', alpha=0.4)", | |
69 | "text(0.5 * (a + b), 30,r\"$\\int_a^b f(x)dx$\", horizontalalignment='center', fontsize=20);" |
|
69 | "text(0.5 * (a + b), 30,r\"$\\int_a^b f(x)dx$\", horizontalalignment='center', fontsize=20);" | |
70 | ], |
|
70 | ], | |
71 | "language": "python", |
|
71 | "language": "python", | |
72 | "outputs": [ |
|
72 | "outputs": [ | |
73 | { |
|
73 | { | |
74 | "output_type": "display_data", |
|
74 | "output_type": "display_data", | |
75 | "png": "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\nAElFTkSuQmCC\n" |
|
75 | "png": "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\nAElFTkSuQmCC\n" | |
76 | } |
|
76 | } | |
77 | ], |
|
77 | ], | |
78 | "prompt_number": 3 |
|
78 | "prompt_number": 3 | |
79 | }, |
|
79 | }, | |
80 | { |
|
80 | { | |
81 | "cell_type": "markdown", |
|
81 | "cell_type": "markdown", | |
82 | "source": [ |
|
82 | "source": [ | |
83 | "Compute the integral both at high accuracy and with the trapezoid approximation" |
|
83 | "Compute the integral both at high accuracy and with the trapezoid approximation" | |
84 | ] |
|
84 | ] | |
85 | }, |
|
85 | }, | |
86 | { |
|
86 | { | |
87 | "cell_type": "code", |
|
87 | "cell_type": "code", | |
88 | "collapsed": false, |
|
88 | "collapsed": false, | |
89 | "input": [ |
|
89 | "input": [ | |
90 | "from scipy.integrate import quad, trapz", |
|
90 | "from scipy.integrate import quad, trapz", | |
91 | "integral, error = quad(f, 1, 9)", |
|
91 | "integral, error = quad(f, 1, 9)", | |
92 | "print \"The integral is:\", integral, \"+/-\", error", |
|
92 | "print \"The integral is:\", integral, \"+/-\", error", | |
93 | "print \"The trapezoid approximation with\", len(xint), \"points is:\", trapz(yint, xint)" |
|
93 | "print \"The trapezoid approximation with\", len(xint), \"points is:\", trapz(yint, xint)" | |
94 | ], |
|
94 | ], | |
95 | "language": "python", |
|
95 | "language": "python", | |
96 | "outputs": [ |
|
96 | "outputs": [ | |
97 | { |
|
97 | { | |
98 | "output_type": "stream", |
|
98 | "output_type": "stream", | |
99 | "stream": "stdout", |
|
99 | "stream": "stdout", | |
100 | "text": [ |
|
100 | "text": [ | |
101 | "The integral is: 680.0 +/- 7.54951656745e-12", |
|
101 | "The integral is: 680.0 +/- 7.54951656745e-12", | |
102 | "The trapezoid approximation with 6 points is: 621.286411141" |
|
102 | "The trapezoid approximation with 6 points is: 621.286411141" | |
103 | ] |
|
103 | ] | |
104 | } |
|
104 | } | |
105 | ], |
|
105 | ], | |
106 | "prompt_number": 4 |
|
106 | "prompt_number": 4 | |
107 | }, |
|
107 | }, | |
108 | { |
|
108 | { | |
109 | "cell_type": "code", |
|
109 | "cell_type": "code", | |
110 | "collapsed": true, |
|
110 | "collapsed": true, | |
111 | "input": [], |
|
111 | "input": [], | |
112 | "language": "python", |
|
112 | "language": "python", | |
113 |
"outputs": [] |
|
113 | "outputs": [] | |
114 | "prompt_number": " " |
|
|||
115 | } |
|
114 | } | |
116 | ] |
|
115 | ] | |
117 | } |
|
116 | } | |
118 | ] |
|
117 | ] | |
119 | } No newline at end of file |
|
118 | } |
@@ -1,65 +1,92 b'' | |||||
1 | { |
|
1 | { | |
2 | "nbformat": 2, |
|
2 | "metadata": { | |
3 | "metadata": { |
|
3 | "name": "helloworld" | |
4 | "name": "helloworld" |
|
4 | }, | |
|
5 | "nbformat": 2, | |||
|
6 | "worksheets": [ | |||
|
7 | { | |||
|
8 | "cells": [ | |||
|
9 | { | |||
|
10 | "cell_type": "markdown", | |||
|
11 | "source": [ | |||
|
12 | "# Distributed hello world", | |||
|
13 | "", | |||
|
14 | "Originally by Ken Kinder (ken at kenkinder dom com)" | |||
|
15 | ] | |||
5 | }, |
|
16 | }, | |
6 | "worksheets": [ |
|
17 | { | |
7 | { |
|
18 | "cell_type": "code", | |
8 | "cells": [ |
|
19 | "collapsed": true, | |
9 | { |
|
20 | "input": [ | |
10 | "source": "# Distributed hello world\n\nOriginally by Ken Kinder (ken at kenkinder dom com)", |
|
21 | "from IPython.parallel import Client" | |
11 | "cell_type": "markdown" |
|
22 | ], | |
12 | }, |
|
23 | "language": "python", | |
13 | { |
|
24 | "outputs": [], | |
14 | "cell_type": "code", |
|
25 | "prompt_number": 1 | |
15 | "language": "python", |
|
26 | }, | |
16 | "outputs": [], |
|
27 | { | |
17 | "collapsed": true, |
|
28 | "cell_type": "code", | |
18 | "prompt_number": 3, |
|
29 | "collapsed": true, | |
19 | "input": "from IPython.parallel import Client" |
|
30 | "input": [ | |
20 | }, |
|
31 | "rc = Client()", | |
21 | { |
|
32 | "view = rc.load_balanced_view()" | |
22 | "cell_type": "code", |
|
33 | ], | |
23 |
|
|
34 | "language": "python", | |
24 |
|
|
35 | "outputs": [], | |
25 | "collapsed": true, |
|
36 | "prompt_number": 2 | |
26 | "prompt_number": 4, |
|
37 | }, | |
27 | "input": "rc = Client()\nview = rc.load_balanced_view()" |
|
38 | { | |
28 | }, |
|
39 | "cell_type": "code", | |
29 | { |
|
40 | "collapsed": true, | |
30 | "cell_type": "code", |
|
41 | "input": [ | |
31 | "language": "python", |
|
42 | "def sleep_and_echo(t, msg):", | |
32 | "outputs": [], |
|
43 | " import time", | |
33 | "collapsed": true, |
|
44 | " time.sleep(t)", | |
34 | "prompt_number": 5, |
|
45 | " return msg" | |
35 | "input": "def sleep_and_echo(t, msg):\n import time\n time.sleep(t)\n return msg" |
|
46 | ], | |
36 | }, |
|
47 | "language": "python", | |
37 | { |
|
48 | "outputs": [], | |
38 | "cell_type": "code", |
|
49 | "prompt_number": 3 | |
39 | "language": "python", |
|
50 | }, | |
40 | "outputs": [], |
|
51 | { | |
41 | "collapsed": true, |
|
52 | "cell_type": "code", | |
42 | "prompt_number": 6, |
|
53 | "collapsed": true, | |
43 | "input": "world = view.apply_async(sleep_and_echo, 3, 'World!')\nhello = view.apply_async(sleep_and_echo, 2, 'Hello')\n" |
|
54 | "input": [ | |
44 | }, |
|
55 | "world = view.apply_async(sleep_and_echo, 3, 'World!')", | |
45 | { |
|
56 | "hello = view.apply_async(sleep_and_echo, 2, 'Hello')" | |
46 | "cell_type": "code", |
|
57 | ], | |
47 |
|
|
58 | "language": "python", | |
48 |
|
|
59 | "outputs": [], | |
49 | { |
|
60 | "prompt_number": 4 | |
50 | "output_type": "stream", |
|
61 | }, | |
51 | "text": "Submitted tasks: ['9e533683-d54e-4588-929e-984dd3eb6dc4'] ['90395f15-723f-44df-a743-a5d88cdeb6a0']\nHello" |
|
62 | { | |
52 | }, |
|
63 | "cell_type": "code", | |
53 | { |
|
64 | "collapsed": false, | |
54 | "output_type": "stream", |
|
65 | "input": [ | |
55 | "text": "World!" |
|
66 | "print \"Submitted tasks:\", hello.msg_ids, world.msg_ids", | |
56 | } |
|
67 | "print hello.get(), world.get()" | |
57 | ], |
|
68 | ], | |
58 | "collapsed": false, |
|
69 | "language": "python", | |
59 | "prompt_number": 7, |
|
70 | "outputs": [ | |
60 | "input": "print \"Submitted tasks:\", hello.msg_ids, world.msg_ids\nprint hello.get(), world.get()" |
|
71 | { | |
61 | } |
|
72 | "output_type": "stream", | |
62 | ] |
|
73 | "stream": "stdout", | |
63 |
|
|
74 | "text": [ | |
64 | ] |
|
75 | "Submitted tasks: ['dd1052e0-aa75-4b25-9d35-ecbdaf6e3ed7'] ['1b46aa21-20d1-459c-bc36-2d8d03336f74']", | |
|
76 | "Hello" | |||
|
77 | ] | |||
|
78 | }, | |||
|
79 | { | |||
|
80 | "output_type": "stream", | |||
|
81 | "stream": "stdout", | |||
|
82 | "text": [ | |||
|
83 | " World!" | |||
|
84 | ] | |||
|
85 | } | |||
|
86 | ], | |||
|
87 | "prompt_number": 5 | |||
|
88 | } | |||
|
89 | ] | |||
|
90 | } | |||
|
91 | ] | |||
65 | } No newline at end of file |
|
92 | } |
@@ -1,139 +1,224 b'' | |||||
1 | { |
|
1 | { | |
2 | "worksheets": [ |
|
2 | "metadata": { | |
3 | { |
|
3 | "name": "parallel_mpi" | |
4 | "cells": [ |
|
4 | }, | |
5 | { |
|
5 | "nbformat": 2, | |
6 | "source": "# Simple usage of a set of MPI engines\n\nThis example assumes you've started a cluster of N engines (4 in this example) as part\nof an MPI world. \n\nOur documentation describes [how to create an MPI profile](http://ipython.org/ipython-doc/dev/parallel/parallel_process.html#using-ipcluster-in-mpiexec-mpirun-mode)\nand explains [basic MPI usage of the IPython cluster](http://ipython.org/ipython-doc/dev/parallel/parallel_mpi.html).\n\n\nFor the simplest possible way to start 4 engines that belong to the same MPI world, \nyou can run this in a terminal or antoher notebook:\n\n<pre>\nipcluster start --engines=MPIExecEngineSetLauncher -n 4\n</pre>\n\nNote: to run the above in a notebook, use a *new* notebook and prepend the command with `!`, but do not run\nit in *this* notebook, as this command will block until you shut down the cluster. To stop the cluster, use \nthe 'Interrupt' button on the left, which is the equivalent of sending `Ctrl-C` to the kernel.\n\nOnce the cluster is running, we can connect to it and open a view into it:", |
|
6 | "worksheets": [ | |
7 | "cell_type": "markdown" |
|
7 | { | |
8 | }, |
|
8 | "cells": [ | |
9 | { |
|
9 | { | |
10 |
|
|
10 | "cell_type": "markdown", | |
11 | "language": "python", |
|
11 | "source": [ | |
12 | "outputs": [], |
|
12 | "# Simple usage of a set of MPI engines", | |
13 | "collapsed": true, |
|
13 | "", | |
14 | "prompt_number": 21, |
|
14 | "This example assumes you've started a cluster of N engines (4 in this example) as part", | |
15 | "input": "from IPython.parallel import Client\nc = Client()\nview = c[:]" |
|
15 | "of an MPI world. ", | |
16 | }, |
|
16 | "", | |
17 | { |
|
17 | "Our documentation describes [how to create an MPI profile](http://ipython.org/ipython-doc/dev/parallel/parallel_process.html#using-ipcluster-in-mpiexec-mpirun-mode)", | |
18 | "source": "Let's define a simple function that ", |
|
18 | "and explains [basic MPI usage of the IPython cluster](http://ipython.org/ipython-doc/dev/parallel/parallel_mpi.html).", | |
19 | "cell_type": "markdown" |
|
19 | "", | |
20 | }, |
|
20 | "", | |
21 | { |
|
21 | "For the simplest possible way to start 4 engines that belong to the same MPI world, ", | |
22 | "cell_type": "code", |
|
22 | "you can run this in a terminal or antoher notebook:", | |
23 | "language": "python", |
|
23 | "", | |
24 | "outputs": [], |
|
24 | "<pre>", | |
25 | "collapsed": true, |
|
25 | "ipcluster start --engines=MPI -n 4", | |
26 | "prompt_number": 22, |
|
26 | "</pre>", | |
27 | "input": "@view.remote(block=True)\ndef mpi_rank():\n from mpi4py import MPI\n comm = MPI.COMM_WORLD\n return comm.Get_rank()" |
|
27 | "", | |
28 | }, |
|
28 | "Note: to run the above in a notebook, use a *new* notebook and prepend the command with `!`, but do not run", | |
29 | { |
|
29 | "it in *this* notebook, as this command will block until you shut down the cluster. To stop the cluster, use ", | |
30 | "cell_type": "code", |
|
30 | "the 'Interrupt' button on the left, which is the equivalent of sending `Ctrl-C` to the kernel.", | |
31 | "language": "python", |
|
31 | "", | |
32 | "outputs": [ |
|
32 | "Once the cluster is running, we can connect to it and open a view into it:" | |
33 | { |
|
33 | ] | |
34 | "output_type": "pyout", |
|
|||
35 | "prompt_number": 23, |
|
|||
36 | "text": "[3, 0, 2, 1]" |
|
|||
37 | } |
|
|||
38 | ], |
|
|||
39 | "collapsed": false, |
|
|||
40 | "prompt_number": 23, |
|
|||
41 | "input": "mpi_rank()" |
|
|||
42 | }, |
|
|||
43 | { |
|
|||
44 | "source": "For interactive convenience, we load the parallel magic extensions and make this view\nthe active one for the automatic parallelism magics.\n\nThis is not necessary and in production codes likely won't be used, as the engines will \nload their own MPI codes separately. But it makes it easy to illustrate everything from\nwithin a single notebook here.", |
|
|||
45 | "cell_type": "markdown" |
|
|||
46 | }, |
|
|||
47 | { |
|
|||
48 | "cell_type": "code", |
|
|||
49 | "language": "python", |
|
|||
50 | "outputs": [], |
|
|||
51 | "collapsed": true, |
|
|||
52 | "prompt_number": 4, |
|
|||
53 | "input": "%load_ext parallelmagic\nview.activate()" |
|
|||
54 | }, |
|
|||
55 | { |
|
|||
56 | "source": "Use the autopx magic to make the rest of this cell execute on the engines instead\nof locally", |
|
|||
57 | "cell_type": "markdown" |
|
|||
58 | }, |
|
|||
59 | { |
|
|||
60 | "cell_type": "code", |
|
|||
61 | "language": "python", |
|
|||
62 | "outputs": [], |
|
|||
63 | "collapsed": true, |
|
|||
64 | "prompt_number": 24, |
|
|||
65 | "input": "view.block = True" |
|
|||
66 | }, |
|
|||
67 | { |
|
|||
68 | "cell_type": "code", |
|
|||
69 | "language": "python", |
|
|||
70 | "outputs": [ |
|
|||
71 | { |
|
|||
72 | "output_type": "stream", |
|
|||
73 | "stream": "stdout", |
|
|||
74 | "text": "%autopx enabled\n\n" |
|
|||
75 | } |
|
|||
76 | ], |
|
|||
77 | "collapsed": false, |
|
|||
78 | "prompt_number": 32, |
|
|||
79 | "input": "%autopx" |
|
|||
80 | }, |
|
|||
81 | { |
|
|||
82 | "source": "With autopx enabled, the next cell will actually execute *entirely on each engine*:", |
|
|||
83 | "cell_type": "markdown" |
|
|||
84 | }, |
|
|||
85 | { |
|
|||
86 | "cell_type": "code", |
|
|||
87 | "language": "python", |
|
|||
88 | "outputs": [], |
|
|||
89 | "collapsed": true, |
|
|||
90 | "prompt_number": 29, |
|
|||
91 | "input": "from mpi4py import MPI\n\ncomm = MPI.COMM_WORLD\nsize = comm.Get_size()\nrank = comm.Get_rank()\n\nif rank == 0:\n data = [(i+1)**2 for i in range(size)]\nelse:\n data = None\ndata = comm.scatter(data, root=0)\n\nassert data == (rank+1)**2, 'data=%s, rank=%s' % (data, rank)" |
|
|||
92 | }, |
|
|||
93 | { |
|
|||
94 | "source": "Though the assertion at the end of the previous block validated the code, we can now \npull the 'data' variable from all the nodes for local inspection.\nFirst, don't forget to toggle off `autopx` mode so code runs again in the notebook:\n", |
|
|||
95 | "cell_type": "markdown" |
|
|||
96 | }, |
|
|||
97 | { |
|
|||
98 | "cell_type": "code", |
|
|||
99 | "language": "python", |
|
|||
100 | "outputs": [ |
|
|||
101 | { |
|
|||
102 | "output_type": "stream", |
|
|||
103 | "stream": "stdout", |
|
|||
104 | "text": "%autopx disabled\n\n" |
|
|||
105 | } |
|
|||
106 | ], |
|
|||
107 | "collapsed": false, |
|
|||
108 | "prompt_number": 33, |
|
|||
109 | "input": "%autopx" |
|
|||
110 | }, |
|
|||
111 | { |
|
|||
112 | "cell_type": "code", |
|
|||
113 | "language": "python", |
|
|||
114 | "outputs": [ |
|
|||
115 | { |
|
|||
116 | "output_type": "pyout", |
|
|||
117 | "prompt_number": 34, |
|
|||
118 | "text": "[16, 1, 9, 4]" |
|
|||
119 | } |
|
|||
120 | ], |
|
|||
121 | "collapsed": false, |
|
|||
122 | "prompt_number": 34, |
|
|||
123 | "input": "view['data']" |
|
|||
124 | }, |
|
|||
125 | { |
|
|||
126 | "input": "", |
|
|||
127 | "cell_type": "code", |
|
|||
128 | "collapsed": true, |
|
|||
129 | "language": "python", |
|
|||
130 | "outputs": [] |
|
|||
131 | } |
|
|||
132 | ] |
|
|||
133 | } |
|
|||
134 | ], |
|
|||
135 | "metadata": { |
|
|||
136 | "name": "parallel_mpi" |
|
|||
137 | }, |
|
34 | }, | |
138 | "nbformat": 2 |
|
35 | { | |
|
36 | "cell_type": "code", | |||
|
37 | "collapsed": true, | |||
|
38 | "input": [ | |||
|
39 | "from IPython.parallel import Client", | |||
|
40 | "c = Client()", | |||
|
41 | "view = c[:]" | |||
|
42 | ], | |||
|
43 | "language": "python", | |||
|
44 | "outputs": [], | |||
|
45 | "prompt_number": 21 | |||
|
46 | }, | |||
|
47 | { | |||
|
48 | "cell_type": "markdown", | |||
|
49 | "source": [ | |||
|
50 | "Let's define a simple function that gets the MPI rank from each engine." | |||
|
51 | ] | |||
|
52 | }, | |||
|
53 | { | |||
|
54 | "cell_type": "code", | |||
|
55 | "collapsed": true, | |||
|
56 | "input": [ | |||
|
57 | "@view.remote(block=True)", | |||
|
58 | "def mpi_rank():", | |||
|
59 | " from mpi4py import MPI", | |||
|
60 | " comm = MPI.COMM_WORLD", | |||
|
61 | " return comm.Get_rank()" | |||
|
62 | ], | |||
|
63 | "language": "python", | |||
|
64 | "outputs": [], | |||
|
65 | "prompt_number": 22 | |||
|
66 | }, | |||
|
67 | { | |||
|
68 | "cell_type": "code", | |||
|
69 | "collapsed": false, | |||
|
70 | "input": [ | |||
|
71 | "mpi_rank()" | |||
|
72 | ], | |||
|
73 | "language": "python", | |||
|
74 | "outputs": [ | |||
|
75 | { | |||
|
76 | "output_type": "pyout", | |||
|
77 | "prompt_number": 23, | |||
|
78 | "text": [ | |||
|
79 | "[3, 0, 2, 1]" | |||
|
80 | ] | |||
|
81 | } | |||
|
82 | ], | |||
|
83 | "prompt_number": 23 | |||
|
84 | }, | |||
|
85 | { | |||
|
86 | "cell_type": "markdown", | |||
|
87 | "source": [ | |||
|
88 | "For interactive convenience, we load the parallel magic extensions and make this view", | |||
|
89 | "the active one for the automatic parallelism magics.", | |||
|
90 | "", | |||
|
91 | "This is not necessary and in production codes likely won't be used, as the engines will ", | |||
|
92 | "load their own MPI codes separately. But it makes it easy to illustrate everything from", | |||
|
93 | "within a single notebook here." | |||
|
94 | ] | |||
|
95 | }, | |||
|
96 | { | |||
|
97 | "cell_type": "code", | |||
|
98 | "collapsed": true, | |||
|
99 | "input": [ | |||
|
100 | "%load_ext parallelmagic", | |||
|
101 | "view.activate()" | |||
|
102 | ], | |||
|
103 | "language": "python", | |||
|
104 | "outputs": [], | |||
|
105 | "prompt_number": 4 | |||
|
106 | }, | |||
|
107 | { | |||
|
108 | "cell_type": "markdown", | |||
|
109 | "source": [ | |||
|
110 | "Use the autopx magic to make the rest of this cell execute on the engines instead", | |||
|
111 | "of locally" | |||
|
112 | ] | |||
|
113 | }, | |||
|
114 | { | |||
|
115 | "cell_type": "code", | |||
|
116 | "collapsed": true, | |||
|
117 | "input": [ | |||
|
118 | "view.block = True" | |||
|
119 | ], | |||
|
120 | "language": "python", | |||
|
121 | "outputs": [], | |||
|
122 | "prompt_number": 24 | |||
|
123 | }, | |||
|
124 | { | |||
|
125 | "cell_type": "code", | |||
|
126 | "collapsed": false, | |||
|
127 | "input": [ | |||
|
128 | "%autopx" | |||
|
129 | ], | |||
|
130 | "language": "python", | |||
|
131 | "outputs": [ | |||
|
132 | { | |||
|
133 | "output_type": "stream", | |||
|
134 | "stream": "stdout", | |||
|
135 | "text": [ | |||
|
136 | "%autopx enabled" | |||
|
137 | ] | |||
|
138 | } | |||
|
139 | ], | |||
|
140 | "prompt_number": 32 | |||
|
141 | }, | |||
|
142 | { | |||
|
143 | "cell_type": "markdown", | |||
|
144 | "source": [ | |||
|
145 | "With autopx enabled, the next cell will actually execute *entirely on each engine*:" | |||
|
146 | ] | |||
|
147 | }, | |||
|
148 | { | |||
|
149 | "cell_type": "code", | |||
|
150 | "collapsed": true, | |||
|
151 | "input": [ | |||
|
152 | "from mpi4py import MPI", | |||
|
153 | "", | |||
|
154 | "comm = MPI.COMM_WORLD", | |||
|
155 | "size = comm.Get_size()", | |||
|
156 | "rank = comm.Get_rank()", | |||
|
157 | "", | |||
|
158 | "if rank == 0:", | |||
|
159 | " data = [(i+1)**2 for i in range(size)]", | |||
|
160 | "else:", | |||
|
161 | " data = None", | |||
|
162 | "data = comm.scatter(data, root=0)", | |||
|
163 | "", | |||
|
164 | "assert data == (rank+1)**2, 'data=%s, rank=%s' % (data, rank)" | |||
|
165 | ], | |||
|
166 | "language": "python", | |||
|
167 | "outputs": [], | |||
|
168 | "prompt_number": 29 | |||
|
169 | }, | |||
|
170 | { | |||
|
171 | "cell_type": "markdown", | |||
|
172 | "source": [ | |||
|
173 | "Though the assertion at the end of the previous block validated the code, we can now ", | |||
|
174 | "pull the 'data' variable from all the nodes for local inspection.", | |||
|
175 | "First, don't forget to toggle off `autopx` mode so code runs again in the notebook:" | |||
|
176 | ] | |||
|
177 | }, | |||
|
178 | { | |||
|
179 | "cell_type": "code", | |||
|
180 | "collapsed": false, | |||
|
181 | "input": [ | |||
|
182 | "%autopx" | |||
|
183 | ], | |||
|
184 | "language": "python", | |||
|
185 | "outputs": [ | |||
|
186 | { | |||
|
187 | "output_type": "stream", | |||
|
188 | "stream": "stdout", | |||
|
189 | "text": [ | |||
|
190 | "%autopx disabled" | |||
|
191 | ] | |||
|
192 | } | |||
|
193 | ], | |||
|
194 | "prompt_number": 33 | |||
|
195 | }, | |||
|
196 | { | |||
|
197 | "cell_type": "code", | |||
|
198 | "collapsed": false, | |||
|
199 | "input": [ | |||
|
200 | "view['data']" | |||
|
201 | ], | |||
|
202 | "language": "python", | |||
|
203 | "outputs": [ | |||
|
204 | { | |||
|
205 | "output_type": "pyout", | |||
|
206 | "prompt_number": 34, | |||
|
207 | "text": [ | |||
|
208 | "[16, 1, 9, 4]" | |||
|
209 | ] | |||
|
210 | } | |||
|
211 | ], | |||
|
212 | "prompt_number": 34 | |||
|
213 | }, | |||
|
214 | { | |||
|
215 | "cell_type": "code", | |||
|
216 | "collapsed": true, | |||
|
217 | "input": [], | |||
|
218 | "language": "python", | |||
|
219 | "outputs": [] | |||
|
220 | } | |||
|
221 | ] | |||
|
222 | } | |||
|
223 | ] | |||
139 | } No newline at end of file |
|
224 | } |
@@ -1,71 +1,109 b'' | |||||
1 | { |
|
1 | { | |
2 | "nbformat": 2, |
|
2 | "metadata": { | |
3 | "metadata": { |
|
3 | "name": "taskmap" | |
4 | "name": "taskmap" |
|
4 | }, | |
|
5 | "nbformat": 2, | |||
|
6 | "worksheets": [ | |||
|
7 | { | |||
|
8 | "cells": [ | |||
|
9 | { | |||
|
10 | "cell_type": "markdown", | |||
|
11 | "source": [ | |||
|
12 | "# Load balanced map and parallel function decorator" | |||
|
13 | ] | |||
5 | }, |
|
14 | }, | |
6 | "worksheets": [ |
|
15 | { | |
7 | { |
|
16 | "cell_type": "code", | |
8 | "cells": [ |
|
17 | "collapsed": true, | |
9 | { |
|
18 | "input": [ | |
10 | "source": "# Load balanced map and parallel function decorator", |
|
19 | "from IPython.parallel import Client" | |
11 | "cell_type": "markdown" |
|
20 | ], | |
12 | }, |
|
21 | "language": "python", | |
13 | { |
|
22 | "outputs": [], | |
14 | "cell_type": "code", |
|
23 | "prompt_number": 1 | |
15 | "language": "python", |
|
24 | }, | |
16 | "outputs": [], |
|
25 | { | |
17 | "collapsed": true, |
|
26 | "cell_type": "code", | |
18 | "prompt_number": 4, |
|
27 | "collapsed": false, | |
19 | "input": "from IPython.parallel import Client" |
|
28 | "input": [ | |
20 | }, |
|
29 | "rc = Client()", | |
21 | { |
|
30 | "v = rc.load_balanced_view()" | |
22 | "cell_type": "code", |
|
31 | ], | |
23 |
|
|
32 | "language": "python", | |
24 |
|
|
33 | "outputs": [], | |
25 | "collapsed": true, |
|
34 | "prompt_number": 3 | |
26 | "prompt_number": 5, |
|
35 | }, | |
27 | "input": "rc = Client()\nv = rc.load_balanced_view()" |
|
36 | { | |
28 | }, |
|
37 | "cell_type": "code", | |
29 | { |
|
38 | "collapsed": false, | |
30 | "cell_type": "code", |
|
39 | "input": [ | |
31 | "language": "python", |
|
40 | "result = v.map(lambda x: 2*x, range(10))", | |
32 | "outputs": [ |
|
41 | "print \"Simple, default map: \", list(result)" | |
33 | { |
|
42 | ], | |
34 | "output_type": "stream", |
|
43 | "language": "python", | |
35 | "text": "Simple, default map: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]" |
|
44 | "outputs": [ | |
36 | } |
|
45 | { | |
37 | ], |
|
46 | "output_type": "stream", | |
38 | "collapsed": false, |
|
47 | "stream": "stdout", | |
39 | "prompt_number": 6, |
|
48 | "text": [ | |
40 | "input": "result = v.map(lambda x: 2*x, range(10))\nprint \"Simple, default map: \", list(result)" |
|
49 | "Simple, default map: " | |
41 | }, |
|
50 | ] | |
42 | { |
|
51 | }, | |
43 | "cell_type": "code", |
|
52 | { | |
44 | "language": "python", |
|
53 | "output_type": "stream", | |
45 | "outputs": [ |
|
54 | "stream": "stdout", | |
46 | { |
|
55 | "text": [ | |
47 | "output_type": "stream", |
|
56 | "[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]" | |
48 | "text": "Submitted tasks, got ids: ['2a25ff3f-f0d0-4428-909a-3fe808ca61f9', 'edd42168-fac2-4b3f-a696-ce61b37aa71d', '8a548908-7812-44e6-a8b1-68e941bee608', '26435a77-fe86-49b6-b59f-de864d59c99f', '6750c7b4-2168-49ec-bcc4-feb1e17c5e53', '117240d1-5dfc-4783-948f-e9523b2b2f6a', '6de16d46-f2e2-49bd-8180-e43d1d875529', '3d372b84-0c68-4315-92c8-a080c68478b7', '43acedae-e35c-4a17-87f0-9e5e672500f7', 'eb71dd1f-9500-4375-875d-c2c42999848c']\nUsing a mapper: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]" |
|
57 | ] | |
49 | } |
|
58 | } | |
50 | ], |
|
59 | ], | |
51 | "collapsed": false, |
|
60 | "prompt_number": 4 | |
52 | "prompt_number": 7, |
|
61 | }, | |
53 | "input": "ar = v.map_async(lambda x: 2*x, range(10))\nprint \"Submitted tasks, got ids: \", ar.msg_ids\nresult = ar.get()\nprint \"Using a mapper: \", result" |
|
62 | { | |
54 | }, |
|
63 | "cell_type": "code", | |
55 | { |
|
64 | "collapsed": false, | |
56 | "cell_type": "code", |
|
65 | "input": [ | |
57 | "language": "python", |
|
66 | "ar = v.map_async(lambda x: 2*x, range(10))", | |
58 | "outputs": [ |
|
67 | "print \"Submitted tasks, got ids: \", ar.msg_ids", | |
59 | { |
|
68 | "result = ar.get()", | |
60 | "output_type": "stream", |
|
69 | "print \"Using a mapper: \", result" | |
61 | "text": "Using a parallel function: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]" |
|
70 | ], | |
62 | } |
|
71 | "language": "python", | |
63 | ], |
|
72 | "outputs": [ | |
64 | "collapsed": false, |
|
73 | { | |
65 | "prompt_number": 8, |
|
74 | "output_type": "stream", | |
66 | "input": "@v.parallel(block=True)\ndef f(x): return 2*x\n\nresult = f.map(range(10))\nprint \"Using a parallel function: \", result" |
|
75 | "stream": "stdout", | |
67 | } |
|
76 | "text": [ | |
68 | ] |
|
77 | "Submitted tasks, got ids: ['5100a4c7-73a4-4832-aa91-e774f6f3ede8', 'd0cae1cf-2b32-4092-9eb7-f17b43fb3849', 'e08d3ee2-f221-47fe-9556-ed938e692030', '065585e4-cdf9-4240-a5fe-e44b2ae5d023', 'd2162f23-68e5-4318-ba1e-e34fd03a72ac', '5b3b835f-2099-4a70-9896-d1aa810c77e6', 'e2c2a823-bd44-4f91-8db3-c154d0d86e56', '991e0c25-f98a-44b5-9d9e-889d4180b9a5', '4ad41221-28bd-482f-a300-97c404648161', '5b730eb3-e0bb-4cdd-b228-c3b8d158828a']", | |
69 | } |
|
78 | "Using a mapper: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]" | |
70 | ] |
|
79 | ] | |
|
80 | } | |||
|
81 | ], | |||
|
82 | "prompt_number": 5 | |||
|
83 | }, | |||
|
84 | { | |||
|
85 | "cell_type": "code", | |||
|
86 | "collapsed": false, | |||
|
87 | "input": [ | |||
|
88 | "@v.parallel(block=True)", | |||
|
89 | "def f(x): return 2*x", | |||
|
90 | "", | |||
|
91 | "result = f.map(range(10))", | |||
|
92 | "print \"Using a parallel function: \", result" | |||
|
93 | ], | |||
|
94 | "language": "python", | |||
|
95 | "outputs": [ | |||
|
96 | { | |||
|
97 | "output_type": "stream", | |||
|
98 | "stream": "stdout", | |||
|
99 | "text": [ | |||
|
100 | "Using a parallel function: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]" | |||
|
101 | ] | |||
|
102 | } | |||
|
103 | ], | |||
|
104 | "prompt_number": 6 | |||
|
105 | } | |||
|
106 | ] | |||
|
107 | } | |||
|
108 | ] | |||
71 | } No newline at end of file |
|
109 | } |
General Comments 0
You need to be logged in to leave comments.
Login now