{ "cells": [ { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "## MATH 382 - Scientific Computing\n", "## Fall 2018\n", "## Jorge Balbás\n", "
\n", "\n", "## Lab 1: Introduction to Python\n", "## Objective\n", "### $\\bullet$ Basic operations in Python\n", "
\n", "\n", "## 0. Credits/Source\n", "\n", "Notebook originally created by Xavier Bresson (CS Faculty at Singapore NTU) \n", "\n", "Original Title: Tutorial 1: Introduction to Python\n", "
\n", "\n", "## 1. Resources\n", "
\n", "\n", "Slides: [Python introduction by Xavier Bresson]\n", "[Python introduction by Xavier Bresson]: http://data-science-training-xb.s3-website.eu-west-2.amazonaws.com/All_lectures/Lecture02_python.pdf\n", "\n", "Notebook: [Python introduction tutorial by Justin Johnson]\n", "[Python introduction tutorial by Justin Johnson]: https://github.com/kuleshov/cs228-material/blob/master/tutorials/python/cs228-python-tutorial.ipynb\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "deletable": true, "editable": true }, "source": [ "
\n", "## 2. Basic operations\n", "
\n", "### 2.1 Elementary algebra operations\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "data": { "text/plain": [ "11" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "5+6" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false, "deletable": true, "editable": true, "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "5/8" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.625" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "5.0/8" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false, "deletable": true, "editable": true, "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "1024" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "2**10" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "### 2.2 Logical operations" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false, "deletable": true, "editable": true, "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "1==1" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "2==1" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "2!=1" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "True & False" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false, "deletable": true, "editable": true, "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "True | False" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "### 2.3 Assignment operations" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "x=3" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3\n" ] } ], "source": [ "print(x)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "hello\n" ] } ], "source": [ "x='hello'\n", "print(x)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "False\n" ] } ], "source": [ "x=(1==2)\n", "print(x)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "x=2.35789, x=2.4\n" ] } ], "source": [ "x=2.35789202950400\n", "print('x={:2.5f}, x={:.1f}'.format(x,x))" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "x=2.35789202950400\n", "print(type(x))" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "x='hello'\n", "print(type(x))" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "### 2.4 Numpy\n", "\n", "List all libraries modules: np. + tab\n", "\n", "List properties of the module: np.abs + shift + tab" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "import numpy as np" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.abs" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3.14159265359\n" ] } ], "source": [ "x = np.pi\n", "print(x)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[[ 1. 1. 1. 1.]\n", " [ 1. 1. 1. 1.]]\n", "\n", " [[ 1. 1. 1. 1.]\n", " [ 1. 1. 1. 1.]]\n", "\n", " [[ 1. 1. 1. 1.]\n", " [ 1. 1. 1. 1.]]\n", "\n", " [[ 1. 1. 1. 1.]\n", " [ 1. 1. 1. 1.]]\n", "\n", " [[ 1. 1. 1. 1.]\n", " [ 1. 1. 1. 1.]]]\n" ] } ], "source": [ "print(np.ones((5,2,4)))" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 0. 0. 0. 0. 0.]\n" ] } ], "source": [ "print(np.zeros(5))" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 1. 0. 0. 0. 0.]\n", " [ 0. 1. 0. 0. 0.]\n", " [ 0. 0. 1. 0. 0.]\n", " [ 0. 0. 0. 1. 0.]\n", " [ 0. 0. 0. 0. 1.]]\n" ] } ], "source": [ "print(np.eye(5))" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(array(3), , dtype('int64'))\n" ] } ], "source": [ "x = np.array(3.4,dtype='int64')\n", "print(x,type(x),x.dtype)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[1 2 3]\n", " [4 5 6]]\n" ] } ], "source": [ "X = np.array([[1,2,3],[4,5,6]])\n", "print(X)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(2, 3)\n", "2\n", "3\n" ] } ], "source": [ "print(X.shape)\n", "print(X.shape[0])\n", "print(X.shape[1])" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [], "source": [ "X = np.array([[2, 7, -2],[1, 8, 3]])" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 2 7 -2]\n", " [ 1 8 3]]\n", "-2\n", "[ 2 7 -2]\n", "[2 7]\n", "[2 7]\n", "[ 7 -2]\n", "3\n" ] } ], "source": [ "print(X)\n", "print(X[0,2])\n", "print(X[0,:])\n", "print(X[0,0:2])\n", "print(X[0,:2])\n", "print(X[0,1:3])\n", "print(X[-1,-1])" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[7 8 9]\n", " [1 8 3]]\n" ] } ], "source": [ "X[0,:] = [7,8,9] # assignment\n", "print(X)" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[1 2 3]\n", " [4 5 6]\n", " [7 8 9]]\n", "(3, 3)\n" ] } ], "source": [ "X = np.array([[1,2,3],[4,5,6]])\n", "X = np.append(X,[[7,8,9]],axis=0) # append\n", "print(X)\n", "print(X.shape)" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "
\n", "## 3. Linear algebra operations\n", "
" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(array([[1, 2, 3],\n", " [4, 5, 6]]), (2, 3))\n", "(array([[ 2, 7, -2],\n", " [ 1, 8, 3]]), (2, 3))\n" ] } ], "source": [ "X = np.array([[1,2,3],[4,5,6]])\n", "print(X,X.shape)\n", "Y = np.array([[2,7,-2],[1,8,3]])\n", "print(Y,Y.shape)" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(array([[ 2, 1],\n", " [ 7, 8],\n", " [-2, 3]]), (3, 2))\n" ] } ], "source": [ "Z = Y.T #transpose\n", "print(Z,Z.shape)" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(array([[ 2, 14, -6],\n", " [ 4, 40, 18]]), (2, 3))\n" ] } ], "source": [ "Z = X* Y # element-wise matrix multiplication\n", "print(Z,Z.shape)" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(array([[10, 26],\n", " [31, 62]]), (2, 2))\n" ] } ], "source": [ "Z = X.dot(Y.T) # matrix multiplication\n", "print(Z,Z.shape)" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(array([[ 1, 4, 9],\n", " [16, 25, 36]]), (2, 3))\n" ] } ], "source": [ "Z = X**2\n", "print(Z,Z.shape)" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "collapsed": false }, "outputs": [], "source": [ "Z = np.array(Z,'double')" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 1. 4. 9.]\n", " [ 16. 25. 36.]]\n" ] } ], "source": [ "print(Z)" ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(array([[1, 0, 0],\n", " [0, 0, 0]]), (2, 3))\n" ] } ], "source": [ "Z = 1/X\n", "print(Z,Z.shape)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "collapsed": true }, "outputs": [], "source": [ "X = np.array(X,'double')" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(array([[ 1. , 0.5 , 0.33333333],\n", " [ 0.25 , 0.2 , 0.16666667]]), (2, 3))\n" ] } ], "source": [ "Z = 1/X\n", "print(Z,Z.shape)" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(array([[ 0. , 0.69314718, 1.09861229],\n", " [ 1.38629436, 1.60943791, 1.79175947]]), (2, 3))\n" ] } ], "source": [ "Z = np.log(X)\n", "print(Z,Z.shape)" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(array([[ 2., 3., 4.],\n", " [ 5., 6., 7.]]), (2, 3))\n" ] } ], "source": [ "Z = X + 1\n", "print(Z,Z.shape)" ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(array([[ 2, 7, -2],\n", " [ 1, 8, 3]]), (2, 3))\n", "8\n", "[2 8 3]\n", "[7 8]\n", "4\n", "[0 1 1]\n", "[1 1]\n" ] } ], "source": [ "X = np.array([[2,7,-2],[1,8,3]])\n", "print(X,X.shape)\n", "print(np.max(X))\n", "print(np.max(X,axis=0))\n", "print(np.max(X,axis=1))\n", "print(np.argmax(X))\n", "print(np.argmax(X,axis=0))\n", "print(np.argmax(X,axis=1))" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(array([[ 2, 7, -2],\n", " [ 1, 8, 3]]), (2, 3))\n", "19\n", "[ 3 15 1]\n", "[ 7 12]\n" ] } ], "source": [ "X = np.array([[2,7,-2],[1,8,3]])\n", "print(X,X.shape)\n", "print(np.sum(X))\n", "print(np.sum(X,axis=0))\n", "print(np.sum(X,axis=1))" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "
\n", "## 4. Plotting data\n", "
" ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "# Visualization library\n", "%matplotlib inline\n", "from IPython.display import set_matplotlib_formats\n", "set_matplotlib_formats('png2x','pdf')\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "data": { "application/pdf": "JVBERi0xLjQKJazcIKu6CjEgMCBvYmoKPDwgL1R5cGUgL0NhdGFsb2cgL1BhZ2VzIDIgMCBSID4+\nCmVuZG9iago4IDAgb2JqCjw8IC9YT2JqZWN0IDcgMCBSIC9QYXR0ZXJuIDUgMCBSCi9Qcm9jU2V0\nIFsgL1BERiAvVGV4dCAvSW1hZ2VCIC9JbWFnZUMgL0ltYWdlSSBdIC9FeHRHU3RhdGUgNCAwIFIK\nL1NoYWRpbmcgNiAwIFIgL0ZvbnQgMyAwIFIgPj4KZW5kb2JqCjEwIDAgb2JqCjw8IC9Hcm91cCA8\nPCAvQ1MgL0RldmljZVJHQiAvUyAvVHJhbnNwYXJlbmN5IC9UeXBlIC9Hcm91cCA+PiAvUGFyZW50\nIDIgMCBSCi9NZWRpYUJveCBbIDAgMCA0MDQuMDEyNSAyNzcuMzA4NzUgXSAvQW5ub3RzIFsgXSAv\nUmVzb3VyY2VzIDggMCBSCi9UeXBlIC9QYWdlIC9Db250ZW50cyA5IDAgUiA+PgplbmRvYmoKOSAw\nIG9iago8PCAvRmlsdGVyIC9GbGF0ZURlY29kZSAvTGVuZ3RoIDExIDAgUiA+PgpzdHJlYW0KeJyt\nmM1yXLkNhff3Ke4yWZgmAZIgl3FN4qrsPHYli1QWUxqPIpekieOZOHn7fGBbfUlZmvTCVtnuhkiC\n+DnAAdP+YXv5h7Rff9rj/oG/n/e/7X/n/x/3tL/eX373/t83V++/f/1qv/q0ReR3W445xCSFL7fH\nFzELGpsVhHH59o9tu9/QwPrXHHq9baWF4nvUQsnKortNuwZdZLeHTEoOvZ2ED3tnGRp+wgo5WXGN\nEiwJbbLFVfObzTSYxtpk1j0JMeaL8u3Vw4lp/7y9ere//FPaU9zf/bTVEsyslNoSe0RCL/u7H7ff\nxRB/v7/7sP/x3fkyfoktJY7tLVWdtc7Si9SmWEPKJao1bW3SK6E8rRcX5VpqzoveSXqZ3lyHy1Nr\npeuktzxnb8+hqT6K8Cy9TG+roVnnj/876bVn7BUtQWKssc56Z+lFekVYVs265hjLpDc9F2CxEsgG\n8n1RPEkvU1yJjBaxnCWlWfFzEdZUQlfPxAVLk/QixQqIW+S+Jedks+LnQqylgm/29UXxJL1McS4h\nWRStucoMpTTF+FFwfE0qlTTqQax5PvmO/zx5z4dqkSlHqShevdtKOVWsQ/b4jh8pV3F/EfkinGPJ\n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\nKCIQv6AkuYm7aOoojmbGmtuFhpIi9909nJz0ur+cRAVeCeEs1hKOGXrKMic7DUqgauUEmGG99oVx\nmjZKuFPT7V2xr99nJmHc5rCzUjINznFwL5vMESR73TFhEx6HmPfuEYzEvPldbBFcucy5JtOP/Sja\nSB8U1+dcTZmtKOEfquSJFdf4//zez88/kDd9sQplbmRzdHJlYW0KZW5kb2JqCjE3IDAgb2JqCjw8\nIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlIC9MZW5ndGggNjggPj4Kc3RyZWFtCnicMzM2UzBQsDACEqam\nhgrmRpYKKYZcQD6IlcsFE8sBs8wszIEsIwuQlhwuQwtjMG1ibKRgZmIGZFkgMSC60gBy+BKRCmVu\nZHN0cmVhbQplbmRvYmoKMTggMCBvYmoKPDwgL0ZpbHRlciAvRmxhdGVEZWNvZGUgL0xlbmd0aCAz\nMzggPj4Kc3RyZWFtCnicRVJLcsUwCNvnFFwgM+Zn4/O8Tlfp/beVcDrdPPQMCAkyPWVIptw2lmSE\n5BzypVdkiNWQn0aORMQQ3ymhwK7yubyWxFzIbolK8aEdP5elNzLNrtCqt0enNotGNSsj5yBDhHpW\n6MzuUdtkw+t2Iek6UxaHcCz/QwWylHXKKZQEbUHf2CPobxY8EdwGs+Zys7lMbvW/7lsLntc6W7Ft\nB0AJlnPeYAYAxMMJ2gDE3NreFikoH1W6iknCrfJcJztQttCqdLw3gBkHGDlgw5KtDtdobwDDPg/0\nokbF9hWgqCwg/s7ZZsHeMclIsCfmBk49cTrFkXBJOMYCQIqt4hS68R3Y4i8Xroia8Al1OmVNvMKe\n2uLHQpMI71JxAvAiG25dHUW1bE/nCbQ/KpIzYqQexNEJkdSSzhEUlwb10Br7uIkZr43E5p6+3T/C\nOZ/r+xcWuIPgCmVuZHN0cmVhbQplbmRvYmoKMTkgMCBvYmoKPDwgL0ZpbHRlciAvRmxhdGVEZWNv\nZGUgL0xlbmd0aCAxNyA+PgpzdHJlYW0KeJwzNrRQMIDDFEMuABqUAuwKZW5kc3RyZWFtCmVuZG9i\nagoyMCAwIG9iago8PCAvRmlsdGVyIC9GbGF0ZURlY29kZSAvTGVuZ3RoIDY4ID4+CnN0cmVhbQp4\nnDMyt1AwULA0ARKGFiYK5mYGCimGXEC+qYm5Qi4XSAzEygGzDIC0JZyCiFtCNEGUglgQpWYmZhBJ\nOAMilwYAybQV5QplbmRzdHJlYW0KZW5kb2JqCjIxIDAgb2JqCjw8IC9GaWx0ZXIgL0ZsYXRlRGVj\nb2RlIC9MZW5ndGggNDUgPj4Kc3RyZWFtCnicMzK3UDBQsDQBEoYWJgrmZgYKKYZclhBWLhdMLAfM\nAtGWcAoingYAn30MtQplbmRzdHJlYW0KZW5kb2JqCjIyIDAgb2JqCjw8IC9GaWx0ZXIgL0ZsYXRl\nRGVjb2RlIC9MZW5ndGggMjE0ID4+CnN0cmVhbQp4nD1QuxFDMQjrPQUL5M587TfPy6XL/m0knKRC\nNkISlJpMyZSHOsqSrClPHT5LYoe8h+VuZDYlKkUvk7Al99AK8X2J5hT33dWWs0M0l2g5fgszKqob\nHdNLNppwKhO6oNzDM/oNbXQDVocesVsg0KRg17YgcscPGAzBmROLIgxKTQb/rXL3UtzvPRxvooiU\ndPCu+eX0y88tvE49jkS6vfmKa3GmOgpEcEZq8op0YcWyyEOk1QQ1PQNrtQCu3nr5N2hHdBmA7BOJ\n4zSlHEP/1rjH6wOHilL0CmVuZHN0cmVhbQplbmRvYmoKMjMgMCBvYmoKPDwgL0ZpbHRlciAvRmxh\ndGVEZWNvZGUgL0xlbmd0aCAxNjEgPj4Kc3RyZWFtCnicRZBLEsMgDEP3nEJH8EcGfJ50ukrvv60h\nTbOAp7FABncnBKm1BRPRBS9tS7oLPlsJzsZ46DZuNRLkBHWAVqTjaJRSfbnFaZV08Wg2cysLrRMd\nZg56lKMZoBA6Fd7touRypu7O+Udw9V/1R7HunM3EwGTlDoRm9SnufJsdUV3dZH/SY27Wa38V9qqw\ntKyl5YTbzl0zoATuqRzt/QWpczqECmVuZHN0cmVhbQplbmRvYmoKMjQgMCBvYmoKPDwgL0ZpbHRl\nciAvRmxhdGVEZWNvZGUgL0xlbmd0aCAyMzYgPj4Kc3RyZWFtCnicTVBLbkQhDNtzilzgSSQhAc5D\n1VXn/tuxw1TtKoYYf0gP6bJVHutTYnWJ7PKlTZfKMnkVqOVP2/9RDAJu/9DIQbS3jJ1i5hLWxcIk\nPOU0Ixsn1ywfjztPG2aFxsSN450uGWCfFgE1W5XNgTltOjdAupAat6qz3mRQDCLqQs0Hky6cp9GX\niDmeqGBKdya1kBtcPtWhA3FavQq5Y4uTb8QcWaHAYdBMcdZfAdaoybJZyCBJhiHOfaN7lAqNqMp5\nKxXCD5OhEfWG1aAGlbmFoqnlkvwd2gIwBbaMdekMSoGqAMHfKqd9vwEkjV1TCmVuZHN0cmVhbQpl\nbmRvYmoKMjUgMCBvYmoKPDwgL0ZpbHRlciAvRmxhdGVEZWNvZGUgL0xlbmd0aCAzMzIgPj4Kc3Ry\nZWFtCnicLVI5jiQxDMv9Cn5gAOvy8Z4eTNT7/3RJVQUFqmzLPORyw0QlfiyQ21Fr4tdGZqDC8K+r\nzIXvSNvIOohryEVcyZbCZ0Qs5DHEPMSC79v4GR75rMzJswfGL9n3GVbsqQnLQsaLM7TDKo7DKsix\nYOsiqnt4U6TDqSTY44v/PsVzF4IWviNowC/556sjeL6kRdo9Ztu0Ww+WaUeVFJaD7WnOy+RL6yxX\nx+P5INneFTtCaleAojB3xnkujjJtZURrYWeDpMbF9ubYj6UEXejGZaQ4AvmZKsIDSprMbKIg/sjp\nIacyEKau6Uont1EVd+rJXLO5vJ1JMlv3RYrNFM7rwpn1d5gyq807eZYTpU5F+Bl7tgQNnePq2WuZ\nhUa3OcErJXw2dnpy8r2aWQ/JqUhIFdO6Ck6jyBRL2Jb4moqa0tTL8N+X9xl//wEz4nwBCmVuZHN0\ncmVhbQplbmRvYmoKMjYgMCBvYmoKPDwgL0ZpbHRlciAvRmxhdGVEZWNvZGUgL0xlbmd0aCAyMTAg\nPj4Kc3RyZWFtCnicNVDLDUMxCLtnChaoFAKBZJ5WvXX/a23QO2ER/0JYyJQIeanJzinpSz46TA+2\nLr+xIgutdSXsypognivvoZmysdHY4mBwGiZegBY3YOhpjRo1dOGCpi6VQoHFJfCZfHV76L5PGXhq\nGXJ2BBFDyWAJaroWTVi0PJ+QTgHi/37D7i3koZLzyp4b+Ruc7fA7s27hJ2p2ItFyFTLUszTHGAgT\nRR48eUWmcOKz1nfVNBLUZgtOlgGuTj+MDgBgIl5ZgOyuRDlL0o6ln2+8x/cPQABTtAplbmRzdHJl\nYW0KZW5kb2JqCjI3IDAgb2JqCjw8IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlIC9MZW5ndGggNDkgPj4K\nc3RyZWFtCnicMza0UDBQMDQwB5JGhkCWkYlCiiEXSADEzOWCCeaAWQZAGqI4B64mhysNAMboDSYK\nZW5kc3RyZWFtCmVuZG9iagoyOCAwIG9iago8PCAvRmlsdGVyIC9GbGF0ZURlY29kZSAvTGVuZ3Ro\nIDI0OCA+PgpzdHJlYW0KeJwtUTmSA0EIy+cVekJz0++xy5H3/+kKygGDhkMgOi1xUMZPEJYr3vLI\nVbTh75kYwXfBod/KdRsWORAVSNIYVE2oXbwevQd2HGYC86Q1LIMZ6wM/Ywo3enF4TMbZ7XUZNQR7\n12tPZlAyKxdxycQFU3XYyJnDT6aMC+1czw3IuRHWZRikm5XGjIQjTSFSSKHqJqkzQZAEo6tRo40c\nxX7pyyOdYVUjagz7XEvb13MTzho0OxarPDmlR1ecy8nFCysH/bzNwEVUGqs8EBJwv9tD/Zzs5Dfe\n0rmzxfT4XnOyvDAVWPHmtRuQTbX4Ny/i+D3j6/n8A6ilWxYKZW5kc3RyZWFtCmVuZG9iagoyOSAw\nIG9iago8PCAvRmlsdGVyIC9GbGF0ZURlY29kZSAvTGVuZ3RoIDg3ID4+CnN0cmVhbQp4nDVNuRHA\nMAjrmYIRzKPY7JNL5ezfBuy4QTp9IJQba+QBguGdbyH4pi8ZhHUITyq7JTpsoYazCpKJ4Vc2eFWu\niva1konsbKYx2KBl+tHOt0nPB6XeG5gKZW5kc3RyZWFtCmVuZG9iagozMCAwIG9iago8PCAvRmls\ndGVyIC9GbGF0ZURlY29kZSAvTGVuZ3RoIDEzOCA+PgpzdHJlYW0KeJw9j0EOAzEIA+95hT8QKXZC\nWN6zVU/b/19Lmt1e0AiMMRZCQ2+oag6bgg3Hi6VLqNbwKYqJSg7ImWAOpaTSHWeRemI4GNwetBvO\n4rHp+hG7klZ90OZGuiVogkfsU2nclnETxAM1Beop6lyjvBC5n6lX2DSS3bSykms4pt+956nr/9NV\n3l9f3y6MCmVuZHN0cmVhbQplbmRvYmoKMzEgMCBvYmoKPDwgL0ZpbHRlciAvRmxhdGVEZWNvZGUg\nL0xlbmd0aCAyNDcgPj4Kc3RyZWFtCnicTVG7bUQxDOvfFFzgAOtreZ4LUl32b0PJCJDCIKEvKacl\nFvbGSwzhB1sPvuSRVUN/Hj8x7DMsPcnk1D/muclUFL4VqpuYUBdi4f1oBLwWdC8iK8oH349lDHPO\n9+CjEJdgJjRgrG9JJhfVvDNkwomhjsNBm1QYd00ULK4VzTPI7VY3sjqzIGx4JRPixgBEBNkXkM1g\no4yxlZDFch6oCpIFWmDX6RtRi4IrlNYJdKLWxLrM4Kvn9nY3Qy/y4Ki6eH0M60uwwuileyx8rkIf\nzPRMO3dJI73wphMRZg8FUpmdkZU6PWJ9t0D/n2Ur+PvJz/P9CxUoXCoKZW5kc3RyZWFtCmVuZG9i\nagozMiAwIG9iago8PCAvRmlsdGVyIC9GbGF0ZURlY29kZSAvTGVuZ3RoIDgwID4+CnN0cmVhbQp4\nnEWMuw3AMAhEe6ZgBH4mZp8olbN/GyBK3HBPunu4OhIyU95hhocEngwshlPxBpmjYDW4RlKNneyj\nsG5fdYHmelOr9fcHKk92dnE9zcsZ9AplbmRzdHJlYW0KZW5kb2JqCjMzIDAgb2JqCjw8IC9GaWx0\nZXIgL0ZsYXRlRGVjb2RlIC9TdWJ0eXBlIC9Gb3JtIC9MZW5ndGggMzcgL1R5cGUgL1hPYmplY3QK\nL0JCb3ggWyAtMTAyMSAtNDYzIDE3OTQgMTIzMyBdID4+CnN0cmVhbQp4nOMyNDBTMDY1VcjlMjc2\nArNywCwjcyMgCySLYEFk0wABXwoKCmVuZHN0cmVhbQplbmRvYmoKMzQgMCBvYmoKPDwgL0ZpbHRl\nciAvRmxhdGVEZWNvZGUgL0xlbmd0aCAxMzEgPj4Kc3RyZWFtCnicRY/LDQQhDEPvVOES8hk+qYfV\nntj+r+swmkFC+EEiO/EwCKzz8jbQxfDRosM3/jbVq2OVLB+6elJWD+mQh7zyFVBpMFHEhVlMHUNh\nzpjKyJYytxvhtk2DrGyVVK2DdjwGD7anZasIfqltYeos8QzCVV64xw0/kEutd71Vvn9CUzCXCmVu\nZHN0cmVhbQplbmRvYmoKMTQgMCBvYmoKPDwgL0ZvbnREZXNjcmlwdG9yIDEzIDAgUiAvTmFtZSAv\nRGVqYVZ1U2FucwovRm9udE1hdHJpeCBbIDAuMDAxIDAgMCAwLjAwMSAwIDAgXSAvQmFzZUZvbnQg\nL0RlamFWdVNhbnMgL1dpZHRocyAxMiAwIFIKL1N1YnR5cGUgL1R5cGUzIC9DaGFyUHJvY3MgMTUg\nMCBSIC9UeXBlIC9Gb250IC9GaXJzdENoYXIgMAovRm9udEJCb3ggWyAtMTAyMSAtNDYzIDE3OTQg\nMTIzMyBdCi9FbmNvZGluZyA8PAovRGlmZmVyZW5jZXMgWyAzMiAvc3BhY2UgNDYgL3BlcmlvZCA0\nOCAvemVybyAvb25lIC90d28gNTMgL2ZpdmUgNTUgL3NldmVuIDgzIC9TIDEwMyAvZwoxMDUgL2kg\nMTA4IC9sIDExMCAvbiAvbyAvcCAxMTUgL3MgL3QgMTIwIC94IC95IF0KL1R5cGUgL0VuY29kaW5n\nID4+Ci9MYXN0Q2hhciAyNTUgPj4KZW5kb2JqCjEzIDAgb2JqCjw8IC9EZXNjZW50IC0yMzYgL0Zv\nbnRCQm94IFsgLTEwMjEgLTQ2MyAxNzk0IDEyMzMgXSAvU3RlbVYgMCAvRmxhZ3MgMzIKL1hIZWln\naHQgMCAvVHlwZSAvRm9udERlc2NyaXB0b3IgL0ZvbnROYW1lIC9EZWphVnVTYW5zIC9NYXhXaWR0\naCAxMzQyCi9DYXBIZWlnaHQgMCAvSXRhbGljQW5nbGUgMCAvQXNjZW50IDkyOSA+PgplbmRvYmoK\nMTIgMCBvYmoKWyA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYw\nMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMAo2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAw\nIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDMxOCA0MDEgNDYwIDgzOCA2MzYKOTUwIDc4MCAyNzUg\nMzkwIDM5MCA1MDAgODM4IDMxOCAzNjEgMzE4IDMzNyA2MzYgNjM2IDYzNiA2MzYgNjM2IDYzNiA2\nMzYgNjM2CjYzNiA2MzYgMzM3IDMzNyA4MzggODM4IDgzOCA1MzEgMTAwMCA2ODQgNjg2IDY5OCA3\nNzAgNjMyIDU3NSA3NzUgNzUyIDI5NQoyOTUgNjU2IDU1NyA4NjMgNzQ4IDc4NyA2MDMgNzg3IDY5\nNSA2MzUgNjExIDczMiA2ODQgOTg5IDY4NSA2MTEgNjg1IDM5MCAzMzcKMzkwIDgzOCA1MDAgNTAw\nIDYxMyA2MzUgNTUwIDYzNSA2MTUgMzUyIDYzNSA2MzQgMjc4IDI3OCA1NzkgMjc4IDk3NCA2MzQg\nNjEyCjYzNSA2MzUgNDExIDUyMSAzOTIgNjM0IDU5MiA4MTggNTkyIDU5MiA1MjUgNjM2IDMzNyA2\nMzYgODM4IDYwMCA2MzYgNjAwIDMxOAozNTIgNTE4IDEwMDAgNTAwIDUwMCA1MDAgMTM0MiA2MzUg\nNDAwIDEwNzAgNjAwIDY4NSA2MDAgNjAwIDMxOCAzMTggNTE4IDUxOAo1OTAgNTAwIDEwMDAgNTAw\nIDEwMDAgNTIxIDQwMCAxMDIzIDYwMCA1MjUgNjExIDMxOCA0MDEgNjM2IDYzNiA2MzYgNjM2IDMz\nNwo1MDAgNTAwIDEwMDAgNDcxIDYxMiA4MzggMzYxIDEwMDAgNTAwIDUwMCA4MzggNDAxIDQwMSA1\nMDAgNjM2IDYzNiAzMTggNTAwCjQwMSA0NzEgNjEyIDk2OSA5NjkgOTY5IDUzMSA2ODQgNjg0IDY4\nNCA2ODQgNjg0IDY4NCA5NzQgNjk4IDYzMiA2MzIgNjMyIDYzMgoyOTUgMjk1IDI5NSAyOTUgNzc1\nIDc0OCA3ODcgNzg3IDc4NyA3ODcgNzg3IDgzOCA3ODcgNzMyIDczMiA3MzIgNzMyIDYxMSA2MDUK\nNjMwIDYxMyA2MTMgNjEzIDYxMyA2MTMgNjEzIDk4MiA1NTAgNjE1IDYxNSA2MTUgNjE1IDI3OCAy\nNzggMjc4IDI3OCA2MTIgNjM0CjYxMiA2MTIgNjEyIDYxMiA2MTIgODM4IDYxMiA2MzQgNjM0IDYz\nNCA2MzQgNTkyIDYzNSA1OTIgXQplbmRvYmoKMTUgMCBvYmoKPDwgL3NldmVuIDE3IDAgUiAvZyAx\nOCAwIFIgL3NwYWNlIDE5IDAgUiAvaSAyMCAwIFIgL3MgMjUgMCBSIC9sIDIxIDAgUgovbyAyMiAw\nIFIgL24gMjMgMCBSIC9maXZlIDMxIDAgUiAvcCAyNCAwIFIgL1MgMTYgMCBSIC96ZXJvIDI2IDAg\nUgovcGVyaW9kIDI3IDAgUiAvdHdvIDI4IDAgUiAveSAzMCAwIFIgL3ggMjkgMCBSIC9vbmUgMzIg\nMCBSIC90IDM0IDAgUiA+PgplbmRvYmoKMyAwIG9iago8PCAvRjEgMTQgMCBSID4+CmVuZG9iago0\nIDAgb2JqCjw8IC9BMiA8PCAvQ0EgMSAvVHlwZSAvRXh0R1N0YXRlIC9jYSAxID4+Ci9BMyA8PCAv\nQ0EgMC44IC9UeXBlIC9FeHRHU3RhdGUgL2NhIDAuOCA+PgovQTEgPDwgL0NBIDAgL1R5cGUgL0V4\ndEdTdGF0ZSAvY2EgMSA+PiA+PgplbmRvYmoKNSAwIG9iago8PCA+PgplbmRvYmoKNiAwIG9iago8\nPCA+PgplbmRvYmoKNyAwIG9iago8PCAvRGVqYVZ1U2Fucy1taW51cyAzMyAwIFIgPj4KZW5kb2Jq\nCjIgMCBvYmoKPDwgL0NvdW50IDEgL0tpZHMgWyAxMCAwIFIgXSAvVHlwZSAvUGFnZXMgPj4KZW5k\nb2JqCjM1IDAgb2JqCjw8IC9DcmVhdGlvbkRhdGUgKEQ6MjAxODA5MDYwODAyMTAtMDcnMDAnKQov\nUHJvZHVjZXIgKG1hdHBsb3RsaWIgcGRmIGJhY2tlbmQpCi9DcmVhdG9yIChtYXRwbG90bGliIDIu\nMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcpID4+CmVuZG9iagp4cmVmCjAgMzYKMDAwMDAwMDAw\nMCA2NTUzNSBmIAowMDAwMDAwMDE2IDAwMDAwIG4gCjAwMDAwMDkxMjEgMDAwMDAgbiAKMDAwMDAw\nODg1OSAwMDAwMCBuIAowMDAwMDA4ODkxIDAwMDAwIG4gCjAwMDAwMDkwMzMgMDAwMDAgbiAKMDAw\nMDAwOTA1NCAwMDAwMCBuIAowMDAwMDA5MDc1IDAwMDAwIG4gCjAwMDAwMDAwNjUgMDAwMDAgbiAK\nMDAwMDAwMDM5NiAwMDAwMCBuIAowMDAwMDAwMjA4IDAwMDAwIG4gCjAwMDAwMDI0NjQgMDAwMDAg\nbiAKMDAwMDAwNzU4MSAwMDAwMCBuIAowMDAwMDA3MzgxIDAwMDAwIG4gCjAwMDAwMDY5NjkgMDAw\nMDAgbiAKMDAwMDAwODYzNCAwMDAwMCBuIAowMDAwMDAyNDg1IDAwMDAwIG4gCjAwMDAwMDI4OTYg\nMDAwMDAgbiAKMDAwMDAwMzAzNiAwMDAwMCBuIAowMDAwMDAzNDQ3IDAwMDAwIG4gCjAwMDAwMDM1\nMzYgMDAwMDAgbiAKMDAwMDAwMzY3NiAwMDAwMCBuIAowMDAwMDAzNzkzIDAwMDAwIG4gCjAwMDAw\nMDQwODAgMDAwMDAgbiAKMDAwMDAwNDMxNCAwMDAwMCBuIAowMDAwMDA0NjIzIDAwMDAwIG4gCjAw\nMDAwMDUwMjggMDAwMDAgbiAKMDAwMDAwNTMxMSAwMDAwMCBuIAowMDAwMDA1NDMyIDAwMDAwIG4g\nCjAwMDAwMDU3NTMgMDAwMDAgbiAKMDAwMDAwNTkxMiAwMDAwMCBuIAowMDAwMDA2MTIzIDAwMDAw\nIG4gCjAwMDAwMDY0NDMgMDAwMDAgbiAKMDAwMDAwNjU5NSAwMDAwMCBuIAowMDAwMDA2NzY1IDAw\nMDAwIG4gCjAwMDAwMDkxODEgMDAwMDAgbiAKdHJhaWxlcgo8PCAvSW5mbyAzNSAwIFIgL1Jvb3Qg\nMSAwIFIgL1NpemUgMzYgPj4Kc3RhcnR4cmVmCjkzMjkKJSVFT0YK\n", "image/png": "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\nDgPwFz96jvOWXEH9KYL+qFr2Fz8PuwmT1vxPr5rR+4uKiiguPjmYra+vn9T7L7/8cm655ZaEx971\nrnfxoQ99iCeffHJGbUunKM6QnAu8w/96hf/YisBjN03mIP4syYXAd/ACkduAlcCXgEudc8fGec+9\nwJV4GyG+EfhTYAj4GHDzTHaPl9O759mDvNTuVaWYVVHMP7zh7EkFI3HvvWIFFyydDcBwzHHrXc/S\nH0h6F8kX332imeO9QwAsrivnr159xqSCkbi/eOU6VjZ4AUjv4Agfu3tLQiKvSL742iN7GBj2lvCe\ns6h20sEIgJnx9687i8ZqLwA51jPIX/5Yyxyj7K1vfSu9vb2cccYZfPSjH+Xee++lra1tSse48MIL\nT3qsuLiYuXPncvz48VQ1NeUiF5A45z7lnLNTfC0LvLY5+bGkY+13zr3TOTffOVfinFvqnLvVOTfh\nX9w597hz7kbn3GznXLlz7mzn3Becc7qyTaOhkRj/Gpgdec/vraCqdGoThEWFBXz+zRuoKCkEYHdb\nD5/95faUtlMkbMmzI3961WqKC6d2qigrLuSLbzmPIj+IeXrfcb72iJY5Sn5Jnh259drVUy4LP6ui\nhH8OLHP81dYj/NdTB1LWRsktH/vYx/iP//gPli5dype//GVe//rXM3fuXK666iqeeuqpSR1j1qzx\nt7MrKipiZCR7LzUjt2RLoil5duQdly2b1nGWzqnkk68+g7/88fOAV970mnVzefnqyU2limS75NmR\n15+/cFrHOXtRLR+5ZjX/8iuv2OAX/7eJK9c0aCM4yRvJsyNXrW2c1nGuXNPA21+2lO8+4QU3n/7v\nF3nZyjksrps4tzFqZroMKpe8/e1v5+1vfzsnTpxg06ZN3HPPPXz729/mFa94Bdu3b6ehoSHsJqZF\n5GZIJHpSMTsSdPNFi7lm3diJ5//+6DkGh1V1S3Jf8uzIh65aNeXZkaD3b1zJeUu80bqhEcf/+eFz\nWo4ieSEVsyNBf/nK9ayo95Y59gyO8Il7X5hxGyW3zZo1ixtvvJFvfOMb3HLLLbS3t/Poo4+G3ay0\nUUAieS95duTtL5vZxoZmxj++8WxmV3hJZwdP9PHANlVHkdwXnB1ZNLucN5y/aEbH85Y5nktZsXeq\n2Xq4k6f2Ze8aZpHJStXsSFx5SSGff8u5xFO1Hm1qY09b90ybKTnmoYceGnfQprW1FYCKivydNVNA\n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\nT1vqV9/BwrLir8Ej5cA/KXkUWAR8D6/c38vw1nXYBVzlnDvj/+5qYD9w0Dm3OtftxIWZvR0vKW4U\nb7rWZNVLDjjnbvN/fzWTfH5m9nG8RPiHgYNAN7AO+FW8VXTvAd7gnBsqxPuIUrbvXd/B6ZnZj4GX\n463M/m9T/M5qEvo9NLPXA6/37y4G/gveFc0f+4+dds79Ydrv3wUMAHcAHcBNeCVU7wLeHMyDMLN3\n4FUq+yfn3Dsm2XfG2ypV2XyGZvaPeKu1nwb+Hm+V63QPBq9WT/UZ+mVVN+D18SP+wxczsb7Gx5xz\n4yfWJSvLz+9BsnzP+g4Caf3Yf00zcAxvGYzlM1w8fAcx/g5GzpXAcvH6Kc0fYAVe5zuOV3niIPA3\nwLy031uNd0A5MJvtxOUHr+KQm+HnwZk+P7yygf+KV5nrHN6CYe3AD/HWM7Go32sBP8Os3ru+g9N+\nllv8z+YwUDnN7yX2e5hBnz3ve4U33e8e4CzQDzyDdzX0vM8Y7+TbAbdNsf+Mt1WqP9l8hnirsc/0\nN/LjmXyGwG8D/w4cAHqAQeAQXrWuV0T9uRTo88v6Pes7OGU/fp//3L9msP1Yfwej/tEIiYiIiIiI\nREY5JCIiIiIiEhkFJCIiIiIiEhkFJCIiIiIiEhkFJCIiIiIiEhkFJCIiIiIiEhkFJCIiIiIiEhkF\nJCIiIiIiEhkFJCIiIiIiEhkFJCIiIiIiEhkFJCIiIiIiEhkFJCIiIiIiEhkFJCIiIiIiEhkFJCIi\nIiIiEhkFJCIiIiIiEhkFJCIiIiIiEhkFJCIikjhmdreZOTP7r5M895f+c1+Nom0iIkljzrmo2yAi\nIlJUZjYfeApoA650zj3lP34D8APgReCXnHN90bVSRCQZFJCIiEgimdlVwEPAfmAb0Ag8zf9r5w5Z\nuwqjOI7/jghGq0Xb4sAVk9kqC0PwDaztHYhREIPVbBiWsSiYNxDBtip7GWMKx3AXxBfwP+H5fOJz\ny6nfe+5zk4fZYuRqcDyAZfhkC4AldfdlkjdJ9pJ8SvI5yaMkJ2IEYHdsSABYVlVVkq9JXtwdnXb3\n68GRAJZjQwLAsnp7K3f2z9HHqVkAVmVDAsCyqmovyc8kv7PdHblK8qy7b0YHA1iIDQkAS6qqB0m+\nZLvM/irJuyT7sSUB2ClBAsCqPiQ5SPK+u78leZvkIslxVR2NTgawEJ9sAbCcqjrMdnfke5Ln3f3n\n7vxxtl//3k9y0N2/5qYEWIMgAWApVfUkW3TcS/K0u6//e/4yyXmSH9li5XbnQwIsRJAAAABj3CEB\nAADGCBIAAGCMIAEAAMYIEgAAYIwgAQAAxggSAABgjCABAADGCBIAAGCMIAEAAMYIEgAAYIwgAQAA\nxggSAABgjCABAADGCBIAAGCMIAEAAMYIEgAAYIwgAQAAxvwFkvswRoYilLcAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": { "image/png": { "height": 277, "width": 402 } }, "output_type": "display_data" } ], "source": [ "x = np.linspace(0,6*np.pi,100)\n", "#print(x)\n", "y = np.sin(x)\n", "\n", "plt.figure(1)\n", "plt.plot(x, y,label='sin'.format(i=1))\n", "plt.legend(loc='best')\n", "plt.title('Sin plotting')\n", "plt.xlabel('x')\n", "plt.ylabel('y')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "
\n", "## 5. Control statements\n", "
\n", "### 5.1 Function" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "def f(x):\n", " return x**2" ] }, { "cell_type": "code", "execution_count": 55, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "9\n" ] } ], "source": [ "x = 3\n", "y = f(x)\n", "print(y)" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "def g(x,y):\n", " return x**2, y**3" ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(9, 125)\n" ] } ], "source": [ "x = 3\n", "y = 5\n", "u,v = g(x,y)\n", "print(u,v)" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "### 5.2 Logical control statements" ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0\n", "1\n", "2\n", "3\n", "4\n", "5\n", "6\n", "7\n", "8\n", "9\n" ] } ], "source": [ "for i in range(10):\n", " print(i)" ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1\n", "2\n", "3\n", "4\n", "5\n", "6\n", "7\n", "8\n", "9\n", "10\n" ] } ], "source": [ "i = 0\n", "while (i<10):\n", " i += 1\n", " print(i)" ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "True\n", "False\n" ] } ], "source": [ "i = True\n", "if i==True:\n", " print(True)\n", " \n", "i = False \n", "if i==True:\n", " print(True)\n", "elif i==False:\n", " print(False)\n" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "
\n", "## 6. Vectorization and efficient linear algebra computations\n", "
\n", "### 6.1 No vectorization" ] }, { "cell_type": "code", "execution_count": 61, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "import time" ] }, { "cell_type": "code", "execution_count": 62, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "n = 10**7\n", "x = np.linspace(0,1,n)\n", "y = np.linspace(0,2,n)" ] }, { "cell_type": "code", "execution_count": 63, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "6666667.0\n", "('Time=', 4.040402173995972)\n" ] } ], "source": [ "start = time.time()\n", "z = 0\n", "for i in range(len(x)):\n", " z += x[i]*y[i]\n", "end = time.time() - start\n", "print(z)\n", "print('Time=',end)" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "### 6.2 Vectorization" ] }, { "cell_type": "code", "execution_count": 64, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "6666667.0\n", "('Time=', 0.01205897331237793)\n" ] } ], "source": [ "start = time.time()\n", "z = x.T.dot(y)\n", "end = time.time() - start\n", "print(z)\n", "print('Time=',end)" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "Speed of vectorized codes maybe 2-3 orders of magnitude faster than unvectorized codes.\n", "\n", "Vectorized codes (with vectors, matrices) benefit from fast linear algebra libraries (BLAS, LAPACK) and adapted architectures for CPUs, multi-core CPUs, and GPUs." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.13" } }, "nbformat": 4, "nbformat_minor": 1 }