Skip to content

Commit 86d405b

Browse files
committed
Update lectures
1 parent 05a8b89 commit 86d405b

34 files changed

+732375
-0
lines changed

lectures/02-matplotlib.ipynb

Lines changed: 1242 additions & 0 deletions
Large diffs are not rendered by default.

lectures/02-numpy.ipynb

Lines changed: 1632 additions & 0 deletions
Large diffs are not rendered by default.

lectures/03-pandas.ipynb

Lines changed: 1784 additions & 0 deletions
Large diffs are not rendered by default.

lectures/03-scipy.ipynb

Lines changed: 658 additions & 0 deletions
Large diffs are not rendered by default.

lectures/03-sympy.ipynb

Lines changed: 390 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,390 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "markdown",
5+
"metadata": {
6+
"slideshow": {
7+
"slide_type": "slide"
8+
}
9+
},
10+
"source": [
11+
"## Symbolic Mathematics with [Sympy](http://docs.sympy.org/latest/tutorial/intro.html)\n",
12+
"<img src=\"http://docs.sympy.org/latest/_static/sympylogo.png\" align=\"left\"/>"
13+
]
14+
},
15+
{
16+
"cell_type": "code",
17+
"execution_count": null,
18+
"metadata": {
19+
"collapsed": true,
20+
"slideshow": {
21+
"slide_type": "fragment"
22+
}
23+
},
24+
"outputs": [],
25+
"source": [
26+
"import sympy as sym\n",
27+
"import numpy as np\n",
28+
"import matplotlib.pyplot as plt"
29+
]
30+
},
31+
{
32+
"cell_type": "markdown",
33+
"metadata": {
34+
"slideshow": {
35+
"slide_type": "slide"
36+
}
37+
},
38+
"source": [
39+
"#### declare symbolic variables "
40+
]
41+
},
42+
{
43+
"cell_type": "code",
44+
"execution_count": null,
45+
"metadata": {
46+
"collapsed": true,
47+
"slideshow": {
48+
"slide_type": "fragment"
49+
}
50+
},
51+
"outputs": [],
52+
"source": [
53+
"x = sym.Symbol('x')\n",
54+
"y = sym.Symbol('y')"
55+
]
56+
},
57+
{
58+
"cell_type": "markdown",
59+
"metadata": {
60+
"slideshow": {
61+
"slide_type": "fragment"
62+
}
63+
},
64+
"source": [
65+
"or"
66+
]
67+
},
68+
{
69+
"cell_type": "code",
70+
"execution_count": null,
71+
"metadata": {
72+
"collapsed": true,
73+
"slideshow": {
74+
"slide_type": "fragment"
75+
}
76+
},
77+
"outputs": [],
78+
"source": [
79+
"x, y = sym.symbols('x y')"
80+
]
81+
},
82+
{
83+
"cell_type": "markdown",
84+
"metadata": {
85+
"slideshow": {
86+
"slide_type": "slide"
87+
}
88+
},
89+
"source": [
90+
"#### declare the matematical expression $xy\\exp[-(x^2+y^2)]$"
91+
]
92+
},
93+
{
94+
"cell_type": "code",
95+
"execution_count": null,
96+
"metadata": {
97+
"collapsed": true,
98+
"slideshow": {
99+
"slide_type": "fragment"
100+
}
101+
},
102+
"outputs": [],
103+
"source": [
104+
"expr = x*y*sym.exp(-(x**2+y**2))"
105+
]
106+
},
107+
{
108+
"cell_type": "markdown",
109+
"metadata": {
110+
"slideshow": {
111+
"slide_type": "fragment"
112+
}
113+
},
114+
"source": [
115+
"#### print the `LaTeX` expression"
116+
]
117+
},
118+
{
119+
"cell_type": "code",
120+
"execution_count": null,
121+
"metadata": {
122+
"slideshow": {
123+
"slide_type": "fragment"
124+
}
125+
},
126+
"outputs": [],
127+
"source": [
128+
"sym.latex(expr)"
129+
]
130+
},
131+
{
132+
"cell_type": "markdown",
133+
"metadata": {
134+
"slideshow": {
135+
"slide_type": "slide"
136+
}
137+
},
138+
"source": [
139+
"#### expand an expression"
140+
]
141+
},
142+
{
143+
"cell_type": "code",
144+
"execution_count": null,
145+
"metadata": {
146+
"slideshow": {
147+
"slide_type": "fragment"
148+
}
149+
},
150+
"outputs": [],
151+
"source": [
152+
"expr.expand()"
153+
]
154+
},
155+
{
156+
"cell_type": "code",
157+
"execution_count": null,
158+
"metadata": {
159+
"slideshow": {
160+
"slide_type": "fragment"
161+
}
162+
},
163+
"outputs": [],
164+
"source": [
165+
"sym.expand( (x-y)**3 )"
166+
]
167+
},
168+
{
169+
"cell_type": "code",
170+
"execution_count": null,
171+
"metadata": {
172+
"slideshow": {
173+
"slide_type": "fragment"
174+
}
175+
},
176+
"outputs": [],
177+
"source": [
178+
"sym.expand_trig(sym.cos(2*x))"
179+
]
180+
},
181+
{
182+
"cell_type": "markdown",
183+
"metadata": {
184+
"slideshow": {
185+
"slide_type": "slide"
186+
}
187+
},
188+
"source": [
189+
"#### simplify an expression"
190+
]
191+
},
192+
{
193+
"cell_type": "code",
194+
"execution_count": null,
195+
"metadata": {
196+
"slideshow": {
197+
"slide_type": "fragment"
198+
}
199+
},
200+
"outputs": [],
201+
"source": [
202+
"sym.simplify( sym.sin(x) * ( sym.sin(x)**2 + sym.cos(x)**2 ) / sym.tan(x) )"
203+
]
204+
},
205+
{
206+
"cell_type": "code",
207+
"execution_count": null,
208+
"metadata": {
209+
"slideshow": {
210+
"slide_type": "fragment"
211+
}
212+
},
213+
"outputs": [],
214+
"source": [
215+
"sym.expand_trig( sym.sin(2*x) )"
216+
]
217+
},
218+
{
219+
"cell_type": "markdown",
220+
"metadata": {
221+
"slideshow": {
222+
"slide_type": "slide"
223+
},
224+
"solution2": "hidden",
225+
"solution2_first": true
226+
},
227+
"source": [
228+
"#### Task: declare and simplify the expression $\\left(2 \\cos^{2}{\\left (u \\right )} - 1\\right) \\sin{\\left (v \\right )} + 2 \\sin{\\left (u \\right )} \\cos{\\left (u \\right )} \\cos{\\left (v \\right )}$"
229+
]
230+
},
231+
{
232+
"cell_type": "code",
233+
"execution_count": null,
234+
"metadata": {
235+
"slideshow": {
236+
"slide_type": "fragment"
237+
},
238+
"solution2": "hidden"
239+
},
240+
"outputs": [],
241+
"source": [
242+
"x,y = sym.symbols('u v')\n",
243+
"expr = (2*sym.cos(x)**2 - 1)*sym.sin(y) + 2*sym.sin(x)*sym.cos(x)*sym.cos(y)\n",
244+
"simplified = sym.simplify(expr)\n",
245+
"print( sym.latex(simplified) )"
246+
]
247+
},
248+
{
249+
"cell_type": "markdown",
250+
"metadata": {
251+
"slideshow": {
252+
"slide_type": "slide"
253+
}
254+
},
255+
"source": [
256+
"* Limit, Integral, and Derivative represent the unevaluated calculation\n",
257+
"* limit, integrate, and diff perform the calculation"
258+
]
259+
},
260+
{
261+
"cell_type": "markdown",
262+
"metadata": {
263+
"slideshow": {
264+
"slide_type": "slide"
265+
}
266+
},
267+
"source": [
268+
"#### limits: calculate $\\lim_{x \\to \\frac{\\pi}{2}} \\tan{\\left (x \\right )}$"
269+
]
270+
},
271+
{
272+
"cell_type": "code",
273+
"execution_count": null,
274+
"metadata": {
275+
"collapsed": true,
276+
"slideshow": {
277+
"slide_type": "fragment"
278+
}
279+
},
280+
"outputs": [],
281+
"source": [
282+
"x = sym.Symbol('x')"
283+
]
284+
},
285+
{
286+
"cell_type": "code",
287+
"execution_count": null,
288+
"metadata": {
289+
"slideshow": {
290+
"slide_type": "fragment"
291+
}
292+
},
293+
"outputs": [],
294+
"source": [
295+
"print( sym.latex( sym.Limit( sym.tan(x), x, sym.pi/2, dir='+' ) ), '=' )\n",
296+
"sym.limit( sym.tan(x), x, sym.pi/2, dir='+' )"
297+
]
298+
},
299+
{
300+
"cell_type": "code",
301+
"execution_count": null,
302+
"metadata": {
303+
"slideshow": {
304+
"slide_type": "fragment"
305+
}
306+
},
307+
"outputs": [],
308+
"source": [
309+
"sym.limit( sym.tan(x), x, sym.pi/2, dir='-' )"
310+
]
311+
},
312+
{
313+
"cell_type": "markdown",
314+
"metadata": {
315+
"slideshow": {
316+
"slide_type": "slide"
317+
},
318+
"solution2": "hidden",
319+
"solution2_first": true
320+
},
321+
"source": [
322+
"#### Task: using `sym.Integral`, `sym.integrate`, and `sym.latex` calculate and print the integral $\\int x y e^{- x^{2} - y^{2}}\\, dx$ and its solution"
323+
]
324+
},
325+
{
326+
"cell_type": "code",
327+
"execution_count": null,
328+
"metadata": {
329+
"slideshow": {
330+
"slide_type": "fragment"
331+
},
332+
"solution2": "hidden"
333+
},
334+
"outputs": [],
335+
"source": [
336+
"x,y = sym.symbols('x y')\n",
337+
"expr = x*y*sym.exp(-(x**2+y**2))\n",
338+
"print( sym.latex( sym.Integral(expr, x) ), '=', sym.latex( sym.integrate(expr, x) ))"
339+
]
340+
},
341+
{
342+
"cell_type": "markdown",
343+
"metadata": {
344+
"slideshow": {
345+
"slide_type": "fragment"
346+
},
347+
"solution2": "hidden",
348+
"solution2_first": true
349+
},
350+
"source": [
351+
"#### Task: calculate and print the integral $\\int_{-2}^{2}\\int_{-2}^{2} x y e^{- x^{2} - y^{2}}\\, dx\\, dy$ and its solution"
352+
]
353+
},
354+
{
355+
"cell_type": "code",
356+
"execution_count": null,
357+
"metadata": {
358+
"slideshow": {
359+
"slide_type": "fragment"
360+
},
361+
"solution2": "hidden"
362+
},
363+
"outputs": [],
364+
"source": [
365+
"print( sym.latex( sym.Integral(expr, [x,-2,2], [y,-2,2] ) ), '=', sym.latex( sym.integrate(expr, [x,-2,2], [y,-2,2] ) ) )"
366+
]
367+
}
368+
],
369+
"metadata": {
370+
"kernelspec": {
371+
"display_name": "Python 3",
372+
"language": "python",
373+
"name": "python3"
374+
},
375+
"language_info": {
376+
"codemirror_mode": {
377+
"name": "ipython",
378+
"version": 3
379+
},
380+
"file_extension": ".py",
381+
"mimetype": "text/x-python",
382+
"name": "python",
383+
"nbconvert_exporter": "python",
384+
"pygments_lexer": "ipython3",
385+
"version": "3.6.1"
386+
}
387+
},
388+
"nbformat": 4,
389+
"nbformat_minor": 2
390+
}

lectures/data/.DS_Store

8 KB
Binary file not shown.

0 commit comments

Comments
 (0)