Created
December 7, 2015 11:51
-
-
Save olivierverdier/edead2c9e693c6141877 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Lecture for the course [Python for MATLAB users](http://sese.nu/python-for-matlab-users/), by Olivier Verdier" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We begin by importing scientific packages in the global namespace:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Using matplotlib backend: MacOSX\n", | |
"Populating the interactive namespace from numpy and matplotlib\n" | |
] | |
} | |
], | |
"source": [ | |
"%pylab" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We tell `matplotlib` to plot inside this notebook." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"%matplotlib inline" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Notebook" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Shift+enter, help, save, `%whos`, `%pylab`, `%debug`, text+Python, up-downloadable, [Python notebook for matlab users](http://xcorr.net/2013/04/19/ipython-and-ipython-notebook-for-matlab-users/), [Nature article](http://www.nature.com/news/interactive-notebooks-sharing-the-code-1.16261), nonlinear evaluation" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"a = 3\n", | |
"b = 10" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Basic types" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"* Integers\n", | |
"* Floats\n", | |
"* Complex (conjugate, real(), imag(), .real, .imag)\n", | |
"\n", | |
"Operations (`*`,`+`,`-`,`**`,`/`), and `//`. Operations `%`, `int`?" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"i = 3" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"3\n" | |
] | |
} | |
], | |
"source": [ | |
"print(i)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"3" | |
] | |
}, | |
"execution_count": 7, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"i" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"13" | |
] | |
}, | |
"execution_count": 9, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"Out[7] + 10" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"int" | |
] | |
}, | |
"execution_count": 10, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"type(i)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 14, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Variable Type Data/Info\n", | |
"----------------------------\n", | |
"a int 3\n", | |
"b int 10\n", | |
"i int 3\n" | |
] | |
} | |
], | |
"source": [ | |
"%whos" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 15, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"f = 2.3" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 16, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"float" | |
] | |
}, | |
"execution_count": 16, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"type(f)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 17, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"5.3" | |
] | |
}, | |
"execution_count": 17, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"f + i" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 18, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"<class 'int'>\n", | |
"<class 'float'>\n" | |
] | |
} | |
], | |
"source": [ | |
"print(type(1))\n", | |
"print(type(1.))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 19, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"z = 1. + 2.j" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 20, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"(1+2j)\n" | |
] | |
} | |
], | |
"source": [ | |
"print(z)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 21, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"J = 1.j" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 22, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(2+3j)" | |
] | |
}, | |
"execution_count": 22, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"2 + 3*J" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 24, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"complex" | |
] | |
}, | |
"execution_count": 24, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"type(2+3j)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 25, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(1+2j)" | |
] | |
}, | |
"execution_count": 25, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"z" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 27, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"1.0" | |
] | |
}, | |
"execution_count": 27, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"z.real" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 28, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"2.0" | |
] | |
}, | |
"execution_count": 28, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"z.imag" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 30, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(1-2j)" | |
] | |
}, | |
"execution_count": 30, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"z.conjugate()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 31, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Variable Type Data/Info\n", | |
"-------------------------------\n", | |
"J complex 1j\n", | |
"a int 3\n", | |
"b int 10\n", | |
"f float 2.3\n", | |
"i int 3\n", | |
"z complex (1+2j)\n" | |
] | |
} | |
], | |
"source": [ | |
"%whos" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 32, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"6.8999999999999995" | |
] | |
}, | |
"execution_count": 32, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"f * i" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 33, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"5.3" | |
] | |
}, | |
"execution_count": 33, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"f + i" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 34, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"1" | |
] | |
}, | |
"execution_count": 34, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"2^3" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 35, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"8" | |
] | |
}, | |
"execution_count": 35, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"2**3" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 36, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"0.6666666666666666" | |
] | |
}, | |
"execution_count": 36, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"2/3" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 37, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"0" | |
] | |
}, | |
"execution_count": 37, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"2//3" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 38, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"2" | |
] | |
}, | |
"execution_count": 38, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"10//4" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 42, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"2.0\n", | |
"2.0\n" | |
] | |
} | |
], | |
"source": [ | |
"print(10.1//4.1)\n", | |
"print(floor(10.1/4.1))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 43, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"# comment" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 44, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"3.141592653589793" | |
] | |
}, | |
"execution_count": 44, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"pi" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Strings" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Double, single quotes, triple, escape (`\\`), concatenation (`+`), interpolation (`%`, `format`)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 49, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"s = \"hello \" " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 50, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"me = \"Olivier\"" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 51, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"'hello Olivier'" | |
] | |
}, | |
"execution_count": 51, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"s + me" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 60, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"template = \"Hello {}, my name is {}\"" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 61, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"'Hello Olivier, my name is Jupyter'" | |
] | |
}, | |
"execution_count": 61, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"template.format(\"Olivier\", \"Jupyter\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 54, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"'Hello Åsa'" | |
] | |
}, | |
"execution_count": 54, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"template.format(\"Åsa\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 55, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"s_ = 'single quotes instead'" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 56, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"s__ = \"I'm happy\"" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 58, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"hello \n", | |
"I'm happy\n" | |
] | |
} | |
], | |
"source": [ | |
"print(s)\n", | |
"print(s__)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"s = \"\"\"Three quotes\n", | |
"with return inside\n", | |
"another one\n", | |
"\"\"\"" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 63, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"hello, \n", | |
"I'm happy\n" | |
] | |
} | |
], | |
"source": [ | |
"s = \"hello, \\nI'm happy\"\n", | |
"print(s)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Functions" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"`def`, name, parameters, colon `:`, *indentation block*, `return`, execution with `()`, pass function around" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 67, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"def my_function(param):\n", | |
" print(param)\n", | |
" return 3" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 68, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"argument\n" | |
] | |
} | |
], | |
"source": [ | |
"a = my_function(\"argument\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 69, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"3" | |
] | |
}, | |
"execution_count": 69, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"a" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 78, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"def add_prod(x1, x2):\n", | |
" \"\"\"This is a nice function,\n", | |
" which computes add and product of\n", | |
" two numbers\"\"\"\n", | |
" return x1 + x2, x1*x2" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 79, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"add_prod?" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 74, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"r = add_prod(2,3)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 75, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"(5, 6)\n" | |
] | |
} | |
], | |
"source": [ | |
"print(r)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 76, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"5" | |
] | |
}, | |
"execution_count": 76, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"r[0]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 77, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"6" | |
] | |
}, | |
"execution_count": 77, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"r[1]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 73, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"5 6\n" | |
] | |
} | |
], | |
"source": [ | |
"print(s,p)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 104, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"I'm outside the function\n" | |
] | |
} | |
], | |
"source": [ | |
"def greetings(name):\n", | |
" template = \"Hello {}, how are you??\"\n", | |
" print(template)\n", | |
" print(\"still in function\")\n", | |
" \n", | |
"\n", | |
"print(\"I'm outside the function\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 86, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"'Hello 3, how are you??'" | |
] | |
}, | |
"execution_count": 86, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"greetings(3)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 88, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"def print_greetings():\n", | |
" print(\"Hi!\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 96, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"def compute():\n", | |
" x = 2 + 5\n", | |
" return x" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 97, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"def post_process(x):\n", | |
" return x + 10" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 98, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"17" | |
] | |
}, | |
"execution_count": 98, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"post_process(compute())" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 99, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"x = print_greetings" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 100, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"<function print_greetings at 0x1072856a8>\n" | |
] | |
} | |
], | |
"source": [ | |
"print(x)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 101, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Hi!\n" | |
] | |
} | |
], | |
"source": [ | |
"x()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 89, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Hi!\n" | |
] | |
} | |
], | |
"source": [ | |
"print_greetings() # function execution" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 90, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<function __main__.print_greetings>" | |
] | |
}, | |
"execution_count": 90, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"print_greetings # just the function" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 102, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"def execute(f):\n", | |
" f()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 103, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Hi!\n" | |
] | |
} | |
], | |
"source": [ | |
"execute(print_greetings)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"x = print_greetings" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"x()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"def get_number():\n", | |
" return 2." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"y = get_number\n", | |
"y + 2" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"\"2\" + 3" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"2. + 3" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"x = 2." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"x.__add__(3)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## If Statements" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"step function (plot+`vectorize`?), comparison ops `==`, `!=`, `<`, `>`, `<=`, `>=`. Logical ops `not`, `and`, `or`, `bool`" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 108, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"def sign(x):\n", | |
" if x > 0:\n", | |
" # several instructions here\n", | |
" return 1.\n", | |
" elif x > -1:\n", | |
" return 0.\n", | |
" else:\n", | |
" return -1" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 110, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"def inside(x):\n", | |
" if (x < 0) and (x > -1):\n", | |
" return \"fantastic\"\n", | |
" else:\n", | |
" return \"too bad\"" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 112, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"'fantastic'" | |
] | |
}, | |
"execution_count": 112, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"inside(-.5)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 113, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"True" | |
] | |
}, | |
"execution_count": 113, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"2 > 3 or 10 > 5" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 114, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"False" | |
] | |
}, | |
"execution_count": 114, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"not 3 < 5" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 109, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"0.0" | |
] | |
}, | |
"execution_count": 109, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"sign(-.5)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 106, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"1.0" | |
] | |
}, | |
"execution_count": 106, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"sign(3)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 107, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"-1.0" | |
] | |
}, | |
"execution_count": 107, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"sign(-1)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Lists" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"`[]`, accessing (from zero!), altering, `append`, `len`, concatenate `+`, and `*`, slicing `:`, last element `-1`" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 115, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"L = [2, 3, 4]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 116, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"2" | |
] | |
}, | |
"execution_count": 116, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"L[0]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 117, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"3" | |
] | |
}, | |
"execution_count": 117, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"L[1]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 118, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"3" | |
] | |
}, | |
"execution_count": 118, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"len(L)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 119, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"[2, 3, 4, 10]\n" | |
] | |
} | |
], | |
"source": [ | |
"L.append(10)\n", | |
"print(L)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 120, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"[2, 3, 4, 10, 'hello']\n" | |
] | |
} | |
], | |
"source": [ | |
"L.append(\"hello\")\n", | |
"print(L)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 121, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"[2, 3, 4, 10, 11]\n" | |
] | |
} | |
], | |
"source": [ | |
"L[4] = 11\n", | |
"print(L)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 122, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"11" | |
] | |
}, | |
"execution_count": 122, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"L[-1]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 123, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"10" | |
] | |
}, | |
"execution_count": 123, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"L[-2]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 124, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"2" | |
] | |
}, | |
"execution_count": 124, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"L[-0]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 125, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[2, 3, 4, 10, 11]" | |
] | |
}, | |
"execution_count": 125, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"L" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 126, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[3, 4, 10]" | |
] | |
}, | |
"execution_count": 126, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"L[1:4]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 127, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[3, 4, 10]" | |
] | |
}, | |
"execution_count": 127, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"L[1:-1]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 128, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[4, 10]" | |
] | |
}, | |
"execution_count": 128, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"L[2:-1]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 129, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[3, 4]" | |
] | |
}, | |
"execution_count": 129, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"L[1:-2]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 130, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[3, 10]" | |
] | |
}, | |
"execution_count": 130, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"L[1:-1:2]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 131, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[2, 3, 4, 10, 11]" | |
] | |
}, | |
"execution_count": 131, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"L" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 133, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[11, 4, 2]" | |
] | |
}, | |
"execution_count": 133, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"L[::-2]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"Lm = [\"Good bye\", 3, print_greetings]" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"`L[i:j]` means take `i-j` elements, starting at `i` included" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"middle = len(Lb)//2\n", | |
"print(middle)\n", | |
"print(Lb[:middle])\n", | |
"print(Lb[middle:])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"pseudo_matrix = [[1,2],[3,4]]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"pseudo_matrix[0][1]" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## For loops" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 143, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"0\n", | |
"1\n", | |
"2\n", | |
"3\n", | |
"4\n", | |
"5\n" | |
] | |
} | |
], | |
"source": [ | |
"for i in range(10):\n", | |
" if i > 5:\n", | |
" break\n", | |
" print(i)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 136, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[2, 3, 4, 10, 11]" | |
] | |
}, | |
"execution_count": 136, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"L" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 139, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"4\n", | |
"9\n", | |
"16\n", | |
"100\n", | |
"121\n" | |
] | |
} | |
], | |
"source": [ | |
"for x in L:\n", | |
" print(x**2)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 140, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]" | |
] | |
}, | |
"execution_count": 140, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"list(range(10))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 142, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"range(0, 10000000000000000000000000000)" | |
] | |
}, | |
"execution_count": 142, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"range(10000000000000000000000000000)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Variables" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Pointers (two lists), [Python tutor](http://www.pythontutor.com/visualize.html#mode=edit)? args by reference, copy with `list`, deep copy?, `is`, tuples" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 144, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"L = [2,3,4]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 145, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"L_ = L" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 146, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"L_[0] = 100" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 147, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"[100, 3, 4]\n" | |
] | |
} | |
], | |
"source": [ | |
"print(L_)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 148, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"[100, 3, 4]\n" | |
] | |
} | |
], | |
"source": [ | |
"print(L)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 149, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"[100, 3, 4]\n" | |
] | |
} | |
], | |
"source": [ | |
"print(L)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 150, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"[100, 3, 4]\n" | |
] | |
} | |
], | |
"source": [ | |
"print(L_)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 151, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"True" | |
] | |
}, | |
"execution_count": 151, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"L is L_" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 152, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"L_copy = L[:]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 153, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"[100, 3, 4]\n" | |
] | |
} | |
], | |
"source": [ | |
"print(L_copy)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 154, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"False" | |
] | |
}, | |
"execution_count": 154, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"L is L_copy" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 156, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"import copy" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"copy.deepcopy" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 169, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"L.sort()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 170, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[2, 3, 4, 10]" | |
] | |
}, | |
"execution_count": 170, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"L" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 171, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"L.reverse()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 172, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[10, 4, 3, 2]" | |
] | |
}, | |
"execution_count": 172, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"L" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 166, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"y = 10\n", | |
"def add_y(x):\n", | |
" y = 100\n", | |
" return x + y" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 167, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"200" | |
] | |
}, | |
"execution_count": 167, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"add_y(100)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 168, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"10" | |
] | |
}, | |
"execution_count": 168, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"y" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 165, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"120" | |
] | |
}, | |
"execution_count": 165, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"add_y(100)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 158, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"L = [2,3,4]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 159, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"add_10(L)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 160, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[2, 3, 4, 10]" | |
] | |
}, | |
"execution_count": 160, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"L" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 174, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[10, 4, 3, 2, 10, 4, 3, 2]" | |
] | |
}, | |
"execution_count": 174, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"L + L" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Linear algebra" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"`array`, vectors, matrices, shape, access `[3,4]`, difference with lists, no append, `concatenate`" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Difference vector matrices" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 173, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"V = array([2.,3.,4])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 175, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([ 4., 6., 8.])" | |
] | |
}, | |
"execution_count": 175, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"V + V" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 176, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"M = array([[2,.3],[1,4]])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 177, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"[[ 2. 0.3]\n", | |
" [ 1. 4. ]]\n" | |
] | |
} | |
], | |
"source": [ | |
"print(M)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 178, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([ 2., 3., 4.])" | |
] | |
}, | |
"execution_count": 178, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"V" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 179, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"2.0" | |
] | |
}, | |
"execution_count": 179, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"V[0]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 180, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"2.0" | |
] | |
}, | |
"execution_count": 180, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"M[0,0]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 181, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([ 2., 3., 4.])" | |
] | |
}, | |
"execution_count": 181, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"V" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 182, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([ 4., 9., 16.])" | |
] | |
}, | |
"execution_count": 182, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"V * V" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 183, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(3,)" | |
] | |
}, | |
"execution_count": 183, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"shape(V)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 185, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"CV = array([[2.],[3.],[4.]])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 186, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"[[ 2.]\n", | |
" [ 3.]\n", | |
" [ 4.]]\n" | |
] | |
} | |
], | |
"source": [ | |
"print(CV)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 187, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(3, 1)" | |
] | |
}, | |
"execution_count": 187, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"shape(CV)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 188, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"RV = array([[2.,3,4]])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 189, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"[[ 2. 3. 4.]]\n" | |
] | |
} | |
], | |
"source": [ | |
"print(RV)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 190, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(1, 3)" | |
] | |
}, | |
"execution_count": 190, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"shape(RV)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 192, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"row_0 = [3,4,5.]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 193, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"M = array([row_0])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 194, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"[[ 3. 4. 5.]]\n" | |
] | |
} | |
], | |
"source": [ | |
"print(M)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 195, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(1, 3)" | |
] | |
}, | |
"execution_count": 195, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"shape(M)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 196, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([ 2., 3., 4.])" | |
] | |
}, | |
"execution_count": 196, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"V" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 197, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([[ 2., 3., 4.]])" | |
] | |
}, | |
"execution_count": 197, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"V.reshape((1,3))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 198, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([[ 2.],\n", | |
" [ 3.],\n", | |
" [ 4.]])" | |
] | |
}, | |
"execution_count": 198, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"M = V.reshape((3,1))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 199, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"T = arange(8).reshape((2,2,2))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 200, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"[[[0 1]\n", | |
" [2 3]]\n", | |
"\n", | |
" [[4 5]\n", | |
" [6 7]]]\n" | |
] | |
} | |
], | |
"source": [ | |
"print(T)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 201, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])" | |
] | |
}, | |
"execution_count": 201, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"arange(10)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 202, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])" | |
] | |
}, | |
"execution_count": 202, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"array(list(range(10)))" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"`concatenate`" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"pointwise operations," | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" `dot`, " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 204, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"M = arange(4).reshape((2,2))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 205, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"[[0 1]\n", | |
" [2 3]]\n" | |
] | |
} | |
], | |
"source": [ | |
"print(M)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 206, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"V = array([2,3])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 207, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([[0, 3],\n", | |
" [4, 9]])" | |
] | |
}, | |
"execution_count": 207, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"M*V # NOT matrix vector multiplication!!!" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 208, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([ 3, 13])" | |
] | |
}, | |
"execution_count": 208, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"dot(M,V)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 209, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([ 6, 11])" | |
] | |
}, | |
"execution_count": 209, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"dot(V,M)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 210, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"13" | |
] | |
}, | |
"execution_count": 210, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"dot(V,V)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 211, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"CV = V.reshape((2,1))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 212, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([[ 3],\n", | |
" [13]])" | |
] | |
}, | |
"execution_count": 212, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"dot(M,CV)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 214, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(2, 1)" | |
] | |
}, | |
"execution_count": 214, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"shape(CV)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 215, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([[2, 3]])" | |
] | |
}, | |
"execution_count": 215, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"CV.T" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 216, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(1, 2)" | |
] | |
}, | |
"execution_count": 216, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"shape(CV.T)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 217, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(2,)" | |
] | |
}, | |
"execution_count": 217, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"shape(V)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 218, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([2, 3])" | |
] | |
}, | |
"execution_count": 218, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"V.T" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 219, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(2,)" | |
] | |
}, | |
"execution_count": 219, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"shape(V.T)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 222, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([[4, 6],\n", | |
" [6, 9]])" | |
] | |
}, | |
"execution_count": 222, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"V * V.reshape((2,1))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 213, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"ename": "ValueError", | |
"evalue": "shapes (2,1) and (2,2) not aligned: 1 (dim 1) != 2 (dim 0)", | |
"output_type": "error", | |
"traceback": [ | |
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", | |
"\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", | |
"\u001b[0;32m<ipython-input-213-c40d19060ea6>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mdot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mCV\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mM\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", | |
"\u001b[0;31mValueError\u001b[0m: shapes (2,1) and (2,2) not aligned: 1 (dim 1) != 2 (dim 0)" | |
] | |
} | |
], | |
"source": [ | |
"dot(CV,M)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"`shape`, `.shape`. `[:,i]`. `transpose`, `.T`, vector transpose. `shape`, `reshape`, column & row matrices. `reshape(-1)`. " | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"(`flags`?)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Array creation: `zeros`, `ones`, `empty`, `eye` (`identity`)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 224, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([[ 0., 0., 0.],\n", | |
" [ 0., 0., 0.]])" | |
] | |
}, | |
"execution_count": 224, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"zeros((2,3))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 226, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([[ 1., 1.],\n", | |
" [ 1., 1.],\n", | |
" [ 1., 1.]])" | |
] | |
}, | |
"execution_count": 226, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"ones((3,2))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 227, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([[ 1., 0., 0.],\n", | |
" [ 0., 1., 0.],\n", | |
" [ 0., 0., 1.]])" | |
] | |
}, | |
"execution_count": 227, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"identity(3) # eye(3)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Solving linear systems. `allclose`" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 230, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"[[0 1]\n", | |
" [2 3]]\n", | |
"[2 3]\n", | |
"[-1.5 2. ]\n", | |
"[ 2. 3.]\n", | |
"[2 3]\n" | |
] | |
} | |
], | |
"source": [ | |
"print(M)\n", | |
"print(V)\n", | |
"x = solve(M,V)\n", | |
"print(x)\n", | |
"print(dot(M,x))\n", | |
"print(V)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Slicing and shape" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Concatenation" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Concatenation with `concatenate`, `array`, block matrices together, vectors into row or columns." | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Plotting" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"same syntax, no hold, figure, `axis('equal')`. `title`, `xlabel`, `ylabel`, `label`, `legend`." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 234, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\nSUVORK5CYII=\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x10777fa58>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x1078f0198>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"xs = linspace(0,2*pi,100)\n", | |
"ys = sin(xs)\n", | |
"zs = cos(3*xs)\n", | |
"plot(xs, ys, 'o')\n", | |
"plot(xs, zs, '.')\n", | |
"figure()\n", | |
"plot(xs, ys+.3*zs)\n", | |
"savefig('name.pdf')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"plot(xs,ys)\n", | |
"figure()\n", | |
"plot(xs,zs)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"plot?" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"0702683132" | |
] | |
} | |
], | |
"metadata": { | |
"gist_id": "9098d404862f83602f5b", | |
"kernelspec": { | |
"display_name": "Python 3", | |
"language": "python", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.4.3" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 0 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment