{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"provenance":[],"authorship_tag":"ABX9TyOAKDxCs+XO8DQJraaVJUmg"},"kernelspec":{"name":"python3","display_name":"Python 3"},"language_info":{"name":"python"}},"cells":[{"cell_type":"markdown","source":["The cell below loads in libraries that are useful for for calculation and visualization."],"metadata":{"id":"1VcVsL3Ohq2J"}},{"cell_type":"code","execution_count":1,"metadata":{"id":"ovjm5AnThpLv","executionInfo":{"status":"ok","timestamp":1717012401386,"user_tz":420,"elapsed":3,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}}},"outputs":[],"source":["import numpy as np\n","import matplotlib.pyplot as plt\n","import scipy as sp\n","pi = np.pi"]},{"cell_type":"markdown","source":["# A Calculator"],"metadata":{"id":"5wdcwUeGh7OU"}},{"cell_type":"markdown","source":["Python (together with its \"numpy\" library) can be used much like a calculator - below are some examples of arithmetic operations."],"metadata":{"id":"rpzlYsd6iNHz"}},{"cell_type":"code","source":["3+5"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"D6YFjONwiL5S","executionInfo":{"status":"ok","timestamp":1717012401816,"user_tz":420,"elapsed":432,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"089c057a-9382-4e3b-bee1-5b09860a83fa"},"execution_count":2,"outputs":[{"output_type":"execute_result","data":{"text/plain":["8"]},"metadata":{},"execution_count":2}]},{"cell_type":"code","source":["4*6"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"vZGbPdN0iaFO","executionInfo":{"status":"ok","timestamp":1717012401816,"user_tz":420,"elapsed":7,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"cd34ff24-fe4d-43d9-9f60-4c8934364744"},"execution_count":3,"outputs":[{"output_type":"execute_result","data":{"text/plain":["24"]},"metadata":{},"execution_count":3}]},{"cell_type":"code","source":["1/2 + 3/5"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"Xr1TOGMmib6k","executionInfo":{"status":"ok","timestamp":1717012401817,"user_tz":420,"elapsed":4,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"73bfa89f-3309-43ac-8d3c-69e26ac28cc0"},"execution_count":4,"outputs":[{"output_type":"execute_result","data":{"text/plain":["1.1"]},"metadata":{},"execution_count":4}]},{"cell_type":"markdown","source":["Raising numbers to a power uses the \"\\**\" operation.  The syntax for $a^b$ is a**b"],"metadata":{"id":"gUPBFvY4ii1D"}},{"cell_type":"code","source":["3**2"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"9tjRqNRmiefB","executionInfo":{"status":"ok","timestamp":1717012402052,"user_tz":420,"elapsed":236,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"9b0a2e61-d83e-4df1-e974-6b5f797c0fc5"},"execution_count":5,"outputs":[{"output_type":"execute_result","data":{"text/plain":["9"]},"metadata":{},"execution_count":5}]},{"cell_type":"code","source":["4**(3/2)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"7qp4IIHYiu1a","executionInfo":{"status":"ok","timestamp":1717012402052,"user_tz":420,"elapsed":13,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"bbd70d8c-a929-4ff7-ecc0-24c88f98bf8a"},"execution_count":6,"outputs":[{"output_type":"execute_result","data":{"text/plain":["8.0"]},"metadata":{},"execution_count":6}]},{"cell_type":"markdown","source":["The numpy module introduces all the usual trigonometric and other special functions.  When the module was imported, at the top of the notebook, it was given the name \"np\" - in order to call functions like cosine and sine that reside inside the library, you use \"np.cos\", roughly \"call cosine from within np\".  "],"metadata":{"id":"J5LXZWhGi1GG"}},{"cell_type":"code","source":["np.cos(4)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"gpUxv0paiv1c","executionInfo":{"status":"ok","timestamp":1717012402052,"user_tz":420,"elapsed":10,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"65c7a29e-8cd0-4888-c3d7-b0eb10a8af9d"},"execution_count":7,"outputs":[{"output_type":"execute_result","data":{"text/plain":["-0.6536436208636119"]},"metadata":{},"execution_count":7}]},{"cell_type":"code","source":["np.arccos(1/2)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"H0jgNSgYjeZ0","executionInfo":{"status":"ok","timestamp":1717012402052,"user_tz":420,"elapsed":7,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"65c3a5af-f005-44f3-96b7-28188eea0783"},"execution_count":8,"outputs":[{"output_type":"execute_result","data":{"text/plain":["1.0471975511965979"]},"metadata":{},"execution_count":8}]},{"cell_type":"markdown","source":["The square root function (available as a\\**(1/2)) is also defined in numpy."],"metadata":{"id":"P7QtnGV8j3yM"}},{"cell_type":"code","source":["np.sqrt(2)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"DXqRc8L1jyi1","executionInfo":{"status":"ok","timestamp":1717012402052,"user_tz":420,"elapsed":4,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"2002de4f-1f91-431a-934a-5939ed57357a"},"execution_count":9,"outputs":[{"output_type":"execute_result","data":{"text/plain":["1.4142135623730951"]},"metadata":{},"execution_count":9}]},{"cell_type":"markdown","source":["Python and numpy can also carry out most operations on complex numbers, but beware - in python the square root of negative one is named \"j\":"],"metadata":{"id":"Xc_65ISNZOcY"}},{"cell_type":"code","source":["(-1)**(1/2)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"C3EYXg35ZaJq","executionInfo":{"status":"ok","timestamp":1717012402288,"user_tz":420,"elapsed":237,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"2f48547f-2272-4feb-ec11-298e99c9c111"},"execution_count":10,"outputs":[{"output_type":"execute_result","data":{"text/plain":["(6.123233995736766e-17+1j)"]},"metadata":{},"execution_count":10}]},{"cell_type":"markdown","source":["# Variables"],"metadata":{"id":"2s3so65tkpkF"}},{"cell_type":"markdown","source":["Variables can be set, accessed, and re-set.  We'll make a variable called \"x\" and assign it the value 5, then we can use it with any of the above operations just as if it were a number."],"metadata":{"id":"8i9OgMYeksyE"}},{"cell_type":"code","source":["x = 5"],"metadata":{"id":"ybw6EDW6ksTn","executionInfo":{"status":"ok","timestamp":1717012402289,"user_tz":420,"elapsed":19,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}}},"execution_count":11,"outputs":[]},{"cell_type":"code","source":["x**2"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"GF8fdg2Qk7IN","executionInfo":{"status":"ok","timestamp":1717012402289,"user_tz":420,"elapsed":18,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"4d51b0cc-8efb-4fb0-bf3d-a74af5134fa5"},"execution_count":12,"outputs":[{"output_type":"execute_result","data":{"text/plain":["25"]},"metadata":{},"execution_count":12}]},{"cell_type":"code","source":["np.sin(x)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"n9cpk_N-k88X","executionInfo":{"status":"ok","timestamp":1717012402289,"user_tz":420,"elapsed":14,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"21bb447c-19f2-4097-9516-7a0bc8b6aa2d"},"execution_count":13,"outputs":[{"output_type":"execute_result","data":{"text/plain":["-0.9589242746631385"]},"metadata":{},"execution_count":13}]},{"cell_type":"markdown","source":["The value stored in x remains until we re-assign it."],"metadata":{"id":"kZ_cVhlyk-41"}},{"cell_type":"code","source":["x = 8"],"metadata":{"id":"jNfR6jCplFVx","executionInfo":{"status":"ok","timestamp":1717012402289,"user_tz":420,"elapsed":11,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}}},"execution_count":14,"outputs":[]},{"cell_type":"markdown","source":["You can find the value currently stored in a variable using the \"print\" command."],"metadata":{"id":"HVmNflFwlG8v"}},{"cell_type":"code","source":["print(x)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"48HEqSOMlL8n","executionInfo":{"status":"ok","timestamp":1717012402289,"user_tz":420,"elapsed":11,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"c579c88c-cc7e-42a0-afc2-35aed4b6f747"},"execution_count":15,"outputs":[{"output_type":"stream","name":"stdout","text":["8\n"]}]},{"cell_type":"markdown","source":["Variables can have all sorts of different \"types\" (integers, real numbers, characters) - below we assign a string of letters to the variable x - the print command can again show us the current value."],"metadata":{"id":"97fOq5W_lNKN"}},{"cell_type":"code","source":["x = 'hello'\n","print(x)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"QcXwuIuwlZjn","executionInfo":{"status":"ok","timestamp":1717012402289,"user_tz":420,"elapsed":8,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"56801048-8d70-479a-b46f-8929374c7880"},"execution_count":16,"outputs":[{"output_type":"stream","name":"stdout","text":["hello\n"]}]},{"cell_type":"markdown","source":["Be careful - acting on a variable that is not numerical with mathematical operations can produce strange (albeit well-defined) results:"],"metadata":{"id":"RXkbKVTIlhvw"}},{"cell_type":"code","source":["2*x"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":35},"id":"lZDnp3P7lfLf","executionInfo":{"status":"ok","timestamp":1717012402289,"user_tz":420,"elapsed":5,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"7d38bff8-00c8-4763-bb5a-31e236a1ac33"},"execution_count":17,"outputs":[{"output_type":"execute_result","data":{"text/plain":["'hellohello'"],"application/vnd.google.colaboratory.intrinsic+json":{"type":"string"}},"metadata":{},"execution_count":17}]},{"cell_type":"markdown","source":["or trigger an error message:"],"metadata":{"id":"onXnE5YXlyAY"}},{"cell_type":"code","source":["x**2"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":139},"id":"XF-hACwxluQC","executionInfo":{"status":"error","timestamp":1717012413022,"user_tz":420,"elapsed":158,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"96bd3cc7-ce81-4550-fb39-dad7dc35cc6f"},"execution_count":31,"outputs":[{"output_type":"error","ename":"TypeError","evalue":"unsupported operand type(s) for ** or pow(): 'str' and 'int'","traceback":["\u001b[0;31m---------------------------------------------------------------------------\u001b[0m","\u001b[0;31mTypeError\u001b[0m                                 Traceback (most recent call last)","\u001b[0;32m<ipython-input-31-4157f318709d>\u001b[0m in \u001b[0;36m<cell line: 1>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mx\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m","\u001b[0;31mTypeError\u001b[0m: unsupported operand type(s) for ** or pow(): 'str' and 'int'"]}]},{"cell_type":"markdown","source":["# Vectors and Vector Operations"],"metadata":{"id":"3RL6VOGJkK6T"}},{"cell_type":"markdown","source":["The numpy module supports vector operations relevant to mathematics and physics (the built-in python vector is a slightly different object with more set-based operations).  You can initialize a vector with its values, as shown below (since the array is a numpy construct, we call vector operations from np)."],"metadata":{"id":"7KwRM6sPkU_s"}},{"cell_type":"code","source":["np.array([1,2,3])"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"MDLsKsMnkFIk","executionInfo":{"status":"ok","timestamp":1717012413515,"user_tz":420,"elapsed":223,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"e0ddddac-f604-4628-cf31-2252df1be1fb"},"execution_count":32,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([1, 2, 3])"]},"metadata":{},"execution_count":32}]},{"cell_type":"markdown","source":["These vectors can be used assigned to variables and used in the usual math/physics ways."],"metadata":{"id":"zHJnfDZlsRx3"}},{"cell_type":"code","source":["xvec = np.array([1,2,3])\n","yvec = np.array([4,5,6])"],"metadata":{"id":"-ohayPQrknnc","executionInfo":{"status":"ok","timestamp":1717012413515,"user_tz":420,"elapsed":17,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}}},"execution_count":33,"outputs":[]},{"cell_type":"code","source":["xvec + yvec"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"DVBp0cHwsdnJ","executionInfo":{"status":"ok","timestamp":1717012413515,"user_tz":420,"elapsed":17,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"b29304ed-cb86-492b-99e1-e43bc3b2aebe"},"execution_count":34,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([5, 7, 9])"]},"metadata":{},"execution_count":34}]},{"cell_type":"code","source":["5*xvec"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"wbqq4vxZsecB","executionInfo":{"status":"ok","timestamp":1717012413515,"user_tz":420,"elapsed":12,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"4a8f45e5-99fe-4a0e-e671-264b50056e8c"},"execution_count":35,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([ 5, 10, 15])"]},"metadata":{},"execution_count":35}]},{"cell_type":"markdown","source":["We can use vector-specific operations, all called from within numpy."],"metadata":{"id":"wJreSTAWsxKy"}},{"cell_type":"code","source":["np.dot(xvec,yvec)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"n0Mra7v5sgTA","executionInfo":{"status":"ok","timestamp":1717012413515,"user_tz":420,"elapsed":8,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"9f8a662d-26b7-47d1-ab56-11e28447854b"},"execution_count":36,"outputs":[{"output_type":"execute_result","data":{"text/plain":["32"]},"metadata":{},"execution_count":36}]},{"cell_type":"code","source":["np.cross(xvec,yvec)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"EHg7QT45s2-V","executionInfo":{"status":"ok","timestamp":1717012413515,"user_tz":420,"elapsed":5,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"c6667dbb-5f19-4907-aa5d-9f48c3877ecf"},"execution_count":37,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([-3,  6, -3])"]},"metadata":{},"execution_count":37}]},{"cell_type":"markdown","source":["For the most part, calling a function in python (or within numpy) with a vector argument applies the function to each component of the vector:"],"metadata":{"id":"juDRbxowtB_L"}},{"cell_type":"code","source":["np.cos(xvec)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"0scoGEbss4xw","executionInfo":{"status":"ok","timestamp":1717012413693,"user_tz":420,"elapsed":10,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"f20cfa5f-46dc-4d50-e530-116e96106b12"},"execution_count":38,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([ 0.54030231, -0.41614684, -0.9899925 ])"]},"metadata":{},"execution_count":38}]},{"cell_type":"markdown","source":["Vectors of vectors can be treated as matrices - below, we make a matrix and then compute some matrix products."],"metadata":{"id":"jIJ2KWyItSjc"}},{"cell_type":"code","source":["Amat = np.array([[1,2,3],[3,2,1],[43,5,6]])"],"metadata":{"id":"4S04e11otKwH","executionInfo":{"status":"ok","timestamp":1717012413693,"user_tz":420,"elapsed":9,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}}},"execution_count":39,"outputs":[]},{"cell_type":"code","source":["np.dot(Amat,xvec)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"wfTO3KU_tc7q","executionInfo":{"status":"ok","timestamp":1717012413693,"user_tz":420,"elapsed":9,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"45535234-2601-44a3-9744-9747505b38dc"},"execution_count":40,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([14, 10, 71])"]},"metadata":{},"execution_count":40}]},{"cell_type":"code","source":["np.dot(xvec,Amat)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"l2YtMATAteKW","executionInfo":{"status":"ok","timestamp":1717012413693,"user_tz":420,"elapsed":5,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"434db45a-1ef6-49a7-8be5-3c5798e9ba81"},"execution_count":41,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([136,  21,  23])"]},"metadata":{},"execution_count":41}]},{"cell_type":"code","source":["np.dot(Amat,Amat)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"lSpt2Z2HtnUM","executionInfo":{"status":"ok","timestamp":1717012413886,"user_tz":420,"elapsed":194,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"d0331519-6e0c-4e13-b591-a78d7e2a73a8"},"execution_count":42,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[136,  21,  23],\n","       [ 52,  15,  17],\n","       [316, 126, 170]])"]},"metadata":{},"execution_count":42}]},{"cell_type":"markdown","source":["Inside numpy is the \"linalg\" module that has further matrix functionality."],"metadata":{"id":"OxgcmcQeudpI"}},{"cell_type":"code","source":["np.linalg.det(Amat)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"FGlI9RTctrDi","executionInfo":{"status":"ok","timestamp":1717012413886,"user_tz":420,"elapsed":22,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"47206fb2-5f99-4725-9b6a-3154bdde2995"},"execution_count":43,"outputs":[{"output_type":"execute_result","data":{"text/plain":["-156.0"]},"metadata":{},"execution_count":43}]},{"cell_type":"markdown","source":["You can access/set values of a vector or matrix using brackets.  Note that indexing in python starts at zero.  Ranges of values can be selected using \":\"."],"metadata":{"id":"LKzilF6FvL6V"}},{"cell_type":"code","source":["xvec[1]"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"4rwOo5ufvESX","executionInfo":{"status":"ok","timestamp":1717012413886,"user_tz":420,"elapsed":17,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"2bbe4241-08c4-47d2-892d-3efd780415ef"},"execution_count":44,"outputs":[{"output_type":"execute_result","data":{"text/plain":["2"]},"metadata":{},"execution_count":44}]},{"cell_type":"code","source":["xvec[1] = 4\n","print(xvec)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"34R1Psv_vbD9","executionInfo":{"status":"ok","timestamp":1717012413886,"user_tz":420,"elapsed":13,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"006132c0-efd3-499e-c1a6-0b4a8ddfcc79"},"execution_count":45,"outputs":[{"output_type":"stream","name":"stdout","text":["[1 4 3]\n"]}]},{"cell_type":"code","source":["Amat[0,0]"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"SlWV3Ef5vcfI","executionInfo":{"status":"ok","timestamp":1717012413886,"user_tz":420,"elapsed":9,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"673bc848-8abf-44a6-bc9a-a68ca56486e4"},"execution_count":46,"outputs":[{"output_type":"execute_result","data":{"text/plain":["1"]},"metadata":{},"execution_count":46}]},{"cell_type":"code","source":["Amat[1,2] = 15\n","print(Amat)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"WdTdo6zDvjr-","executionInfo":{"status":"ok","timestamp":1717012414072,"user_tz":420,"elapsed":191,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"10451465-fb80-40f5-9467-1cdc018c4baf"},"execution_count":47,"outputs":[{"output_type":"stream","name":"stdout","text":["[[ 1  2  3]\n"," [ 3  2 15]\n"," [43  5  6]]\n"]}]},{"cell_type":"code","source":["xvec[0:2]"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"_nQgdf4Bv1Nx","executionInfo":{"status":"ok","timestamp":1717012414072,"user_tz":420,"elapsed":8,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"7ec465d4-5283-4f4c-cebd-262ae748cde8"},"execution_count":48,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([1, 4])"]},"metadata":{},"execution_count":48}]},{"cell_type":"markdown","source":["In the above, we are selecting the piece of xvec that goes from index 0 to index 1 - the 2 that appears is a not-included upper value.\n","\n","We often want to make a vector and fill it with values that are determined later on.  It is useful to generate vectors and matrices that are filled with zeros, or some other initializing value.  One way to do this is to use the numpy \"zeros\" function:"],"metadata":{"id":"7_woXMy_wDfB"}},{"cell_type":"code","source":["n = 10\n","nvec = np.zeros(n)\n","print(nvec)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"FBy5zGY1v2Tl","executionInfo":{"status":"ok","timestamp":1717012414072,"user_tz":420,"elapsed":8,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"1c921811-5628-4f58-dddc-79a29ce68750"},"execution_count":49,"outputs":[{"output_type":"stream","name":"stdout","text":["[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n"]}]},{"cell_type":"code","source":["m = 5\n","mnmat = np.zeros((m,n))\n","print(mnmat)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"vap1dYBEwwbP","executionInfo":{"status":"ok","timestamp":1717012414072,"user_tz":420,"elapsed":4,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"4732927b-0eb0-4350-8adb-26050ff63400"},"execution_count":50,"outputs":[{"output_type":"stream","name":"stdout","text":["[[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n"," [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n"," [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n"," [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n"," [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]]\n"]}]},{"cell_type":"markdown","source":["or we can use the \"arange\" function from numpy to initialize a vector or array with numbers.  The numpy function \"arange(start, end, step)\" generates a vector of values that starts at start, adds step over and over, ending at end-step."],"metadata":{"id":"pdXfNzAhxGDX"}},{"cell_type":"code","source":["avec = np.arange(0,10,1)\n","print(avec)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"0cK6St6oxYBR","executionInfo":{"status":"ok","timestamp":1717012414259,"user_tz":420,"elapsed":188,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"ab988539-9121-44d0-a1d8-b69d4bc4b1d6"},"execution_count":51,"outputs":[{"output_type":"stream","name":"stdout","text":["[0 1 2 3 4 5 6 7 8 9]\n"]}]},{"cell_type":"code","source":["avec = np.arange(0,10,.5)\n","print(avec)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"d6-QAkvOxdl8","executionInfo":{"status":"ok","timestamp":1717012414259,"user_tz":420,"elapsed":14,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"2f2a8315-9cad-492e-ec1f-4fc15f0712b8"},"execution_count":52,"outputs":[{"output_type":"stream","name":"stdout","text":["[0.  0.5 1.  1.5 2.  2.5 3.  3.5 4.  4.5 5.  5.5 6.  6.5 7.  7.5 8.  8.5\n"," 9.  9.5]\n"]}]},{"cell_type":"markdown","source":["# Plotting Functions and Data"],"metadata":{"id":"xnLzSXK0yPnc"}},{"cell_type":"markdown","source":["All plotting occurs from pairs of vectors - the first holds the horizontal \"x\" range of values, and the second gives the associated vertical value.  Below, we make a set of \"x\" values from 0 to 2\\*pi in steps of 2\\*pi\\/100:"],"metadata":{"id":"TiBvV1GYyTNp"}},{"cell_type":"code","source":["xdata = np.arange(0,2*pi,2*pi/100)"],"metadata":{"id":"3WC0a_ugySVg","executionInfo":{"status":"ok","timestamp":1717012414259,"user_tz":420,"elapsed":9,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}}},"execution_count":53,"outputs":[]},{"cell_type":"markdown","source":["because of the non-inclusive upper bound in the arange function, the list actually goes from 0 to 2\\*pi - 2*pi/100, as you can see below (note the use of the python function \"len\" to find the length of the vector xdata):"],"metadata":{"id":"g_ClMzL50KwL"}},{"cell_type":"code","source":["xdata[len(xdata)-10:len(xdata)]"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"haexW1LuzvDy","executionInfo":{"status":"ok","timestamp":1717012414259,"user_tz":420,"elapsed":9,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"a6d63909-1685-478a-b0d2-a0a2361023e5"},"execution_count":54,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([5.65486678, 5.71769863, 5.78053048, 5.84336234, 5.90619419,\n","       5.96902604, 6.03185789, 6.09468975, 6.1575216 , 6.22035345])"]},"metadata":{},"execution_count":54}]},{"cell_type":"markdown","source":["Now we'll make an associated vector that holds the sine of the values in xdata,"],"metadata":{"id":"1gI_PqSM0jmy"}},{"cell_type":"code","source":["ydata = np.sin(xdata)"],"metadata":{"id":"h_2w-LnP0XVY","executionInfo":{"status":"ok","timestamp":1717012414259,"user_tz":420,"elapsed":4,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}}},"execution_count":55,"outputs":[]},{"cell_type":"markdown","source":["and use the plot command from the matplotlib library (imported under the name \"plt\" at the top of this notebook) to plot one against the other:"],"metadata":{"id":"KZHAR0960z34"}},{"cell_type":"code","source":["plt.plot(xdata,ydata)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":447},"id":"GPRoaLJ20wOk","executionInfo":{"status":"ok","timestamp":1717012414960,"user_tz":420,"elapsed":705,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"b7000413-48f4-43d5-cafe-da7d4c064c2a"},"execution_count":56,"outputs":[{"output_type":"execute_result","data":{"text/plain":["[<matplotlib.lines.Line2D at 0x7ab89423e860>]"]},"metadata":{},"execution_count":56},{"output_type":"display_data","data":{"text/plain":["<Figure size 640x480 with 1 Axes>"],"image/png":"iVBORw0KGgoAAAANSUhEUgAAAjgAAAGdCAYAAAAfTAk2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABZaUlEQVR4nO3deVyU1eIG8OedAYZ932UTN8RdVMStRRKXSrstWppLpmXazey2eH+llbdsu91uZWouqaVpm2VWmLmmIiiKijsCsjkgIDMsMsDM+/sDHOO6ogxnluf7+byfex3eGZ6ZxHk4855zJFmWZRARERFZEYXoAERERETNjQWHiIiIrA4LDhEREVkdFhwiIiKyOiw4REREZHVYcIiIiMjqsOAQERGR1WHBISIiIqtjJzqACAaDAQUFBXBzc4MkSaLjEBER0U2QZRnl5eUIDg6GQnH9MRqbLDgFBQUIDQ0VHYOIiIhuQW5uLkJCQq57jk0WHDc3NwD1L5C7u7vgNERERHQztFotQkNDje/j12OTBefSx1Lu7u4sOERERBbmZi4v4UXGREREZHVYcIiIiMjqsOAQERGR1WHBISIiIqvDgkNERERWhwWHiIiIrA4LDhEREVkdFhwiIiKyOiw4REREZHVMWnB27tyJ++67D8HBwZAkCT/++OMN77N9+3b07NkTKpUKbdu2xYoVK644Z8GCBYiIiICjoyNiY2ORkpLS/OGJiIjIYpm04FRWVqJbt25YsGDBTZ2flZWFESNG4K677kJaWhpmzpyJJ598Eps2bTKes27dOsyaNQtz587FgQMH0K1bNyQkJKCoqMhUT4OIiIgsjCTLstwi30iSsH79eowaNeqa57z88sv45ZdfkJ6ebrxtzJgxKCsrQ2JiIgAgNjYWvXv3xqeffgoAMBgMCA0NxbPPPotXXnnlprJotVp4eHhAo9FwLyoiIiIL0ZT3b7PabDMpKQnx8fGNbktISMDMmTMBADU1NUhNTcXs2bONX1coFIiPj0dSUtI1H1en00Gn0xn/rNVqmzc4WSyDQUZmcSXyyy6irKoGFyprUHaxFhXVdXBR2cHL2R5eLg7wcLJHiJcTIn1doVDceJM3IiISy6wKjlqtRkBAQKPbAgICoNVqcfHiRVy4cAF6vf6q55w4ceKajzt//ny88cYbJslMluVijR57s0pwMKcMB3MuIC23DOXVdTd9fzdHO3QP9USPUE/0CPNC30gfODkoTZiYiIhuhVkVHFOZPXs2Zs2aZfyzVqtFaGiowETUkvQGGcmZJfjhYD4S09Wo0DUuNI72CkT4uMDL2QFeLvbwcHKAm6MdKnR1KKuqQVlVLS5U1SK7uBLl1XX483Qx/jxdDABwcVBiaOcg/K1nK/SN9IGSoztERGbBrApOYGAgCgsLG91WWFgId3d3ODk5QalUQqlUXvWcwMDAaz6uSqWCSqUySWYyX8UVOnyxOwvfp+ZDra023t7K0wl9I33QPax+JKZDoBvslTe+3r5Ob8DJwvKG0Z8y7M0sQX7ZRXx/IA/fH8hDoLsjHujZCk/0bw0/N/59IyISyawKTlxcHH799ddGt23evBlxcXEAAAcHB8TExGDLli3Gi5UNBgO2bNmCGTNmtHRcMlOllTVYvPMMVu05i4u1egCAu6MdRnQNxt96tkKvcC9IUtNHWuyUCnQK9kCnYA+M6xsOWZaRevYCfjiYj18On4NaW42F289gxe5sjI8Lx9RBkfBxZdEhIhLBpAWnoqICGRkZxj9nZWUhLS0N3t7eCAsLw+zZs5Gfn49Vq1YBAJ5++ml8+umneOmll/DEE09g69at+Oabb/DLL78YH2PWrFmYMGECevXqhT59+uCjjz5CZWUlJk2aZMqnQhZAU1WLxTvPYOWebFTW1BebriEeePqONhjc0R8qu+a9VkaSJPSK8EavCG/MvS8a204UYeGOTBzKLcPinZn4cu9ZjI+LwNN3RMLT2aFZvzcREV2fSaeJb9++HXfdddcVt0+YMAErVqzAxIkTkZ2dje3btze6z/PPP49jx44hJCQEr732GiZOnNjo/p9++inef/99qNVqdO/eHR9//DFiY2NvOheniVsXWZbx6xE15m5IR3FFDQCgU7A7Zt3THndH+d/SaM3tZNl2sgj/2XwaR/I1AAAfFwe8fn8n3Ns1qEWzEBFZm6a8f7fYOjjmhAXHehRqq/Hqj+nYfKz+uqw2fi54eWgU7okOEFomZFnGH8eL8F7iCZwuqgAAxHf0x7xRnRHk4SQsFxGRJWPBuQEWHMsnyzLW7cvFW78eR3l1HewUEp65qy2m39Wm2T+Kuh01dQZ8tj0DC7ZloFYvw01lh1eGR+GxPmEczSEiaiIWnBtgwbFslbo6vPz9YWw8fA4A0C3EA+8+1BVRgeb73/JUYTle+u4w0nLLAAAjugTh3Ye6wlVlVtf5ExGZNRacG2DBsVyZ5yvw9FepOFVYATuFhBcTOuDJgZEWsf6M3iDji91ZeDfxBGr1Mtr6u2Lx4zFo4+cqOhoRkUVoyvu3STfbJGpOvx9VY+Snu3GqsAL+biqsndoXT93RxiLKDQAoFRKeHBiJtVPjEOCuQkZRBUZ+uhuJ6edERyMisjosOGT2ZFnGh5tPYeqXqSjX1aF3hBc2PjsAvSK8RUe7JTHhXvj52QHo09obFbo6PP3VAXyw6SRscDCViMhkWHDIrOkNMv65Ph0fbzkNAJjUPwJrpvSFv7uj4GS3x9/NEaufjMWTA1oDAD7dloFXvj+COr1BcDIiIuvAKxzJbOnq9Hh+XRp+PaKGJAH/GtUZY2PDRcdqNvZKBV69Nxpt/V3xz/VHsG5/Lsou1uC/Y3rA0d58ZoIREVkijuCQWarQ1eGJFfvw6xE1HJQKLHisp1WVm78a0ycMn43tCQelApuOFmLSF/tQXl0rOhYRkUVjwSGzc6GyBmOX7MXujBI4OyixfGJvDO8SJDqWSQ3tHIQVk3rDxUGJpMwSPLYkGaWVNaJjERFZLBYcMivl1bWY8EUKDuVp4OVsj6+n9MWAdr6iY7WIfm19sXZqHLxdHHAkX4Pxy5Oh5UgOEdEtYcEhs3GxRo/JK/bjcJ4G3i4OWPdUHLqFeoqO1aK6hHjgm6f6wsfFAen5Wkz6Yh+qaupExyIisjgsOGQWdHV6TP1yP1KyS+HmaIdVT/RB+wA30bGEaOvvhi8nx8Ld0Q6pZy9gyqr9qK7Vi45FRGRRWHBIuFq9Ac+uOYg/TxfD2UGJFZN6o3MrD9GxhIoOdseKJ/rAxUGJ3RklmLHmAGo5hZyI6Kax4JBQsizj5e8O4/djhXCwU2DJ+F6ICbfMBfyaW88wLyyd0BsqOwX+OF6EF745BIOBiwESEd0MFhwS6qM/TuOHg/mwU0hYOLYn+re1jQuKb1ZcGx8sejwG9koJGw4V4MPNp0RHIiKyCCw4JMyPB/Px34YVit9+oAsGdwwQnMg83dXBH+/8rSuA+hWPv0/NE5yIiMj8seCQEPuzS/HSd4cBAE/dEYlHeocKTmTeHowJwfS72gAAXvnhMJIzSwQnIiIybyw41OJySqow9ctU1OgNSOgUgJcTokRHsggv3NMBw7sEolYv46mvUpFdXCk6EhGR2WLBoRalra7FEyv3obSyBp1bueM/o7tDoZBEx7IICoWEfz/cHd1CPFBWVYsnVuyDpooLARIRXQ0LDrUYg0HGrHVpyCiqQKC7I5ZN6A1nB+732hRODkosmdALwR6OyCyuxHPrDnJmFRHRVbDgUItZvDMTfxwvMk4HD3B3FB3JIvm7OWLJhF5Q2Smw/eR5fLY9Q3QkIiKzw4JDLSLpTAne33QCAPDG/Z3QJcS2F/K7XZ2CPTBvVGcAwIebT2F3RrHgRERE5oUFh0yuSFuNZ78+CIMMPNgzBGM4Y6pZPNIrFI/0CoFBBv7+9UGoNdWiIxERmQ0WHDKpWr0BM9YcRHGFDlGBbvjXqM6QJF5U3FzeHNkZHYPcUVJZw+0ciIj+ggWHTOqDTSeRkl0KV5UdPhvbE04OStGRrIqjvRILx/aEm8oO+89ewDu/nRAdiYjILLDgkMnsOHUei3dmAgDef6grIv1cBSeyThG+LvjgkW4AgGW7srDtRJHgRERE4rHgkEmUVtbgH98eAgCMjwvHsC5BghNZt4ROgZjUPwIA8OJ3h1BcoRMbiIhIMBYcanayLOOV7w/jfLkObf1d8c/hHUVHsgkvD41C+wBXFFfU4JXvj0CWuT4OEdkuFhxqdt/uz8Pvxwphr5Tw0ejucLTndTctwdFeiY9G94CDUoE/jhfi65Rc0ZGIiIRhwaFmdbakEq//fBQA8MKQDujciuvdtKToYHe8mNABADBv4zFknq8QnIiISAwWHGo2dXoDZq5LQ1WNHrGtvTFlYKToSDZp8oDWiIv0wcVaPZ5fl8ap40Rkk1qk4CxYsAARERFwdHREbGwsUlJSrnnunXfeCUmSrjhGjBhhPGfixIlXfH3o0KEt8VToOhZuP4ODOWVwc7TDh6O7Q8lNNIVQKCT8+5FucHe0w6E8DT7Zyq0ciMj2mLzgrFu3DrNmzcLcuXNx4MABdOvWDQkJCSgquvpU1h9++AHnzp0zHunp6VAqlXj44YcbnTd06NBG53399demfip0HSfV5fh462kAwJsjO6GVp5PgRLYt2NMJ/3qgCwDgs20ZOFagFZyIiKhlmbzgfPjhh5gyZQomTZqE6OhoLFq0CM7Ozli+fPlVz/f29kZgYKDx2Lx5M5ydna8oOCqVqtF5Xl5epn4qdA16g4yXvj+MWr2M+I4BGNW9lehIBOC+rkFI6BSAOoOMl78/jDp+VEVENsSkBaempgapqamIj4+//A0VCsTHxyMpKemmHmPZsmUYM2YMXFxcGt2+fft2+Pv7o0OHDpg2bRpKSkqu+Rg6nQ5arbbRQc1n+a4sHMqt/2jqrQe4FYO5kCQJ80Z2hrujHY7ka7DkzyzRkYiIWoxJC05xcTH0ej0CAgIa3R4QEAC1Wn3D+6ekpCA9PR1PPvlko9uHDh2KVatWYcuWLXj33XexY8cODBs2DHq9/qqPM3/+fHh4eBiP0FBu9thcsoor8cHvJwEAr47oiAB3R8GJ6K/83R3x2r3RAID//HEKZziriohshFnPolq2bBm6dOmCPn36NLp9zJgxuP/++9GlSxeMGjUKGzduxL59+7B9+/arPs7s2bOh0WiMR24u1wdpDoaGjz50dQYMaOuLR3qxOJqjh2JCMKi9H2rqDHj5u8MwGLgAIBFZP5MWHF9fXyiVShQWFja6vbCwEIGBgde9b2VlJdauXYvJkyff8PtERkbC19cXGRlXny2iUqng7u7e6KDbtzolBylZpXCyV2L+37rwoykzJUkS3n6gM1wclNh/9gJWJWWLjkREZHImLTgODg6IiYnBli1bjLcZDAZs2bIFcXFx173vt99+C51Oh3Hjxt3w++Tl5aGkpARBQdzvqKWc01zEO78eBwC8NLQDQr2dBSei6wnxcsYrw6IAAO9tOom8C1WCExERmZbJP6KaNWsWlixZgpUrV+L48eOYNm0aKisrMWnSJADA+PHjMXv27Cvut2zZMowaNQo+Pj6Nbq+oqMCLL76IvXv3Ijs7G1u2bMHIkSPRtm1bJCQkmPrpUIN5G4+hskaPnmGeGB8XIToO3YSxseHoE+GNqho93vz5mOg4REQmZWfqbzB69GicP38ec+bMgVqtRvfu3ZGYmGi88DgnJwcKReOedfLkSezatQu///77FY+nVCpx+PBhrFy5EmVlZQgODsaQIUMwb948qFQqUz8dArD9ZBF+PaKGUiHhrQe6cEE/C6FQSJg3qjNGfPwnfj9WiC3HCzG4Y8CN70hEZIEk2Qa3HNZqtfDw8IBGo+H1OE1UXatHwkc7cbakCpMHtDbO0CHLMf/X41i8MxMhXk7Y/PwdcHLgZqhEZBma8v5t1rOoyPws3H4GZ0uqEOCuwvP3tBcdh27B3we3Q7CHI/IuXMRn27mNAxFZJxYcumlZxZVYuOMMAGDOvZ3gqjL5J5xkAi4qO8y5rxMAYPGOTK6NQ0RWiQWHboosy5i74Shq6gwY2M4Xw7tcf5o/mbeETgG4q4MfavQGzPkpHTb4STURWTkWHLopvx5RY+ep83CwU+DNkdyOwdJJkoQ37u8MlZ0CuzNKsOFQgehIRETNigWHbuhijR7/+qV+WvG0O9qgta/LDe5BliDMxxkz7moLAJj/6wlU1dQJTkRE1HxYcOiGFu88g3OaarTydMK0O9uIjkPNaMqgSIR6O0Gtrcai7WdExyEiajYsOHRdBWUXsajhwuJ/Du8IR3tOKbYmjvZK/N/wjgCAxTszucIxEVkNFhy6rnd+O4HqWgP6RHjzwmIrldApEH0jvaGrM2D+bydExyEiahYsOHRNqWdLseFQASQJmHNfNC8stlKSJGHOvZ2gkIBfDp9DSlap6EhERLeNBYeuymCQ8UbDfkWje4WicysPwYnIlKKD3TGmTxgA4I2fj0Jv4LRxIrJsLDh0VT8czMfhPA1cVXZ4YUgH0XGoBbxwT3u4OdrhaIEW36Xmio5DRHRbWHDoCpW6OrybWH8txrN3t4WfGzcxtQU+rio8N7gdAOD9TSdRXl0rOBER0a1jwaErLN6ZifPlOoT7OGNi/wjRcagFjY+LQKSvC4oraoyz54iILBELDjVSpK3Gkp2ZAIBXhkZBZcdp4bbEwU6BV4ZFAQCW7cqCWlMtOBER0a1hwaFG/vPHaVys1aNHmCeGdua0cFt0T3QAekd4obrWgP9sPiU6DhHRLWHBIaOMonKs25cDoH5RP04Lt02SJOGVYfWL/32bmouT6nLBiYiImo4Fh4ze+e0kDDIwJDoAvSO8RcchgWLCvTCscyAMMowXnBMRWRIWHAIApGSV4o/jhVAqJLw0NEp0HDIDLyZ0gJ1CwtYTRdhzplh0HCKiJmHBIciyjLd/PQ4AGN07FG39XQUnInMQ6eeKx2LrF/9757cTMHDxPyKyICw4hN/S1UjLLYOzgxIz49uJjkNm5O+D28HFQYnDeRr8cuSc6DhERDeNBcfG1eoNeH/TSQDAlIGR8HdzFJyIzImvqwpP39EGQP3if7V6g+BEREQ3hwXHxn2fmoes4kr4uDhgyqBI0XHIDE0e2Bq+rirklFbhm/3cwoGILAMLjg2rrtXjv1tOAwCm3dkGrio7wYnIHDk72GHGXfWjOB9vOY3qWr3gREREN8aCY8PWJOfgnKYaQR6OGNc3XHQcMmOPxoahlacTCrU6fLX3rOg4REQ3xIJjoyp1dViwLQNA/YWkjvbckoGuTWWnxHMNF6B/tv0MKnR1ghMREV0fC46NWrEnGyWVNQj3ccZDMSGi45AF+FuPVoj0c0FpZQ2W78oSHYeI6LpYcGyQpqrWuFP0rHvaw17JvwZ0Y3ZKBWbd0x4AsGRnJsqqagQnIiK6Nr6z2aDP/zyD8uo6dAhww31dg0XHIQsyvHMQOga5o1xXh0U7MkXHISK6JhYcG3O+XIflu7IBAC8MaQ+Fghtq0s1TKCS8mFA/irNiTxaKtNWCExERXR0Ljo1ZtOMMLtbq0S3EA/dEB4iOQxborg7+iAn3QnWtAZ9tPyM6DhHRVbHg2JCi8mrjFN9ZQzpAkjh6Q00nSZLxWpw1KTko5CgOEZmhFik4CxYsQEREBBwdHREbG4uUlJRrnrtixQpIktTocHRsvH2ALMuYM2cOgoKC4OTkhPj4eJw+fdrUT8PiLdqeCV2dAT3CPDGona/oOGTB+rXxQe8IL9TUGbCQozhEZIZMXnDWrVuHWbNmYe7cuThw4AC6deuGhIQEFBUVXfM+7u7uOHfunPE4e7bxwmLvvfcePv74YyxatAjJyclwcXFBQkICqqv5m+S1FGmrsTq5/nV8Pr49R2/otkiShOfjL4/iqDX82SMi82LygvPhhx9iypQpmDRpEqKjo7Fo0SI4Oztj+fLl17yPJEkIDAw0HgEBl68VkWUZH330EV599VWMHDkSXbt2xapVq1BQUIAff/zR1E/HYi3aUT960zPMEwM5ekPNIK6ND/pEeKOmzmBcdoCIyFyYtODU1NQgNTUV8fHxl7+hQoH4+HgkJSVd834VFRUIDw9HaGgoRo4ciaNHjxq/lpWVBbVa3egxPTw8EBsbe83H1Ol00Gq1jQ5b8tfRm5kcvaFmIkkSZjasbsxRHCIyNyYtOMXFxdDr9Y1GYAAgICAAarX6qvfp0KEDli9fjp9++glfffUVDAYD+vXrh7y8PAAw3q8pjzl//nx4eHgYj9DQ0Nt9ahZl4Y4z0NUZEBPuxdEbalZxbXzQp7V3w7U4GaLjEBEZmd0sqri4OIwfPx7du3fHHXfcgR9++AF+fn5YvHjxLT/m7NmzodFojEdubm4zJjZvhdpqrE7OAQDMjG/H0RtqVn8dxfk6JRfnNBcFJyIiqmfSguPr6wulUonCwsJGtxcWFiIwMPCmHsPe3h49evRARkb9b4eX7teUx1SpVHB3d2902IqF28+gpmH0ZkBbjt5Q84uLbBjF0XNGFRGZD5MWHAcHB8TExGDLli3G2wwGA7Zs2YK4uLibegy9Xo8jR44gKCgIANC6dWsEBgY2ekytVovk5OSbfkxbUVRejTUp9aM3nDlFpvLXGVVrU3J5LQ4RmQWTf0Q1a9YsLFmyBCtXrsTx48cxbdo0VFZWYtKkSQCA8ePHY/bs2cbz33zzTfz+++/IzMzEgQMHMG7cOJw9exZPPvkkgIYh8Zkz8a9//QsbNmzAkSNHMH78eAQHB2PUqFGmfjoWZemfWahpWPemf1sf0XHIihlnVOkNWPIn96giIvHsTP0NRo8ejfPnz2POnDlQq9Xo3r07EhMTjRcJ5+TkQKG43LMuXLiAKVOmQK1Ww8vLCzExMdizZw+io6ON57z00kuorKzE1KlTUVZWhgEDBiAxMfGKBQFtWWlljXHV4r/fzWtvyPRm3N0W45enYHXyWTxzZxv4uKpERyIiGybJsiyLDtHStFotPDw8oNForPZ6nH//fhKfbM1Ap2B3bHx2AAsOmZwsyxi1YDcO5WnwzJ1t8NLQKNGRiMjKNOX92+xmUdHt01ysxYrd2QCAZ+9uy3JDLUKSJMy4u35G1aqks9BU1QpORES2jAXHCn2ZlI1yXR3a+btiSPTNzVYjag6Do/wRFeiGCl0dVuzJFh2HiGwYC46VqdTVYdmuLAD110QoFBy9oZajUEiYcXdbAMDy3Vmo0NUJTkREtooFx8qsSc7BhapaRPg4Y0SXINFxyAYN6xyESD8XaC7WGi90JyJqaSw4VqS6Vo/PG6boPnNnW9gp+Z+XWp5SIWH6nfWjOEv/zMTFGr3gRERki/gOaEW+3Z+L8+U6tPJ0wqgerUTHIRt2f/dghHo7obiiBl83LDZJRNSSWHCsRK3egEU76kdvnrojEg52/E9L4tgrFXj6jjYA6kdxauoMghMRka3hu6CV+OXwOeSXXYSvqwMe6WVbu6WTeXqwZwj83FQo0FRjw6EC0XGIyMaw4FgBg0E2bnI4qX9rONorBSciAhztlZg8oDUAYNGOMzAYbG5NUSISiAXHCmw7WYSTheVwVdlhXN9w0XGIjMbGhsHN0Q4ZRRXYfLxQdBwisiEsOBZOlmV81jB6M65vODyc7AUnIrrMzdEe4+PqS/dn28/ABneGISJBWHAs3L7sC0g9ewEOdgo80T9CdByiK0zs1xoqOwUO5ZYhKbNEdBwishEsOBZu4fYMAMBDMSHwd+du6mR+/NxUxgvfL10rRkRkaiw4FuxYgRbbTp6HQgKeGhQpOg7RNU0dFAmlQsKfp4txJE8jOg4R2QAWHAu2aEf9b8MjugYj3MdFcBqiawv1dsZ9Xeu3Drn095aIyJRYcCxUbmkVNh6uX1tkWsOCakTm7Ok76/+e/pp+DlnFlYLTEJG1Y8GxUEv/zIRBBga190N0sLvoOEQ3FBXojruj/CHL9X9/iYhMiQXHApVW1mDd/lwAwNO89oYsyNSGv6/fpeahuEInOA0RWTMWHAv0ZdJZVNca0LmVO+La+IiOQ3TTYlt7o1uIB3R1Bqzaky06DhFZMRYcC1Ndq8fKpGwAwFOD2kCSJLGBiJpAkiQ81XDN2Kq9Z1FVUyc4ERFZKxYcC/Ntah5KK2sQ4uWEYZ0DRccharKEToEI93FGWVUtvtmXKzoOEVkpFhwLojfIxoszpwyMhJ2S//nI8igVEp4cWH8tztJdWajTGwQnIiJrxHdIC7LpqBpnS6rg6WyPh3uFiI5DdMsejgmBt4sD8i5cxK/patFxiMgKseBYCFmWsXhn/ejN+LgIODvYCU5EdOsc7ZWYEBcBAPh8JzfhJKLmx4JjIVKySnEotwwqOwUmNOzOTGTJHo8Lh6O9Aun5WiSd4SacRNS8WHAsxOcNozcPxYTAx1UlOA3R7fN2cTBuwnlpdJKIqLmw4FiAjKIKbDlRBEmC8eJMImsweUBrSBKw49R5nCosFx2HiKwIC44FWLYrCwAQ3zEArX25qSZZj3AfFyRE1y93wO0biKg5seCYueIKHX44kAegfmo4kbWZMqg1AODHgwUoKq8WnIaIrAULjpn7MuksdHUGdAvxQO8IL9FxiJpdTLg3eoR5okZvwJdJZ0XHISIrwYJjxqpr9fhyb/0/+E8OjOS2DGS1Lo1OfrX3LC7W6AWnISJr0CIFZ8GCBYiIiICjoyNiY2ORkpJyzXOXLFmCgQMHwsvLC15eXoiPj7/i/IkTJ0KSpEbH0KFDTf00WtwPB/JRWlmDVp7cloGsW0KnQIR6O+FCVS2+a/hIlojodpi84Kxbtw6zZs3C3LlzceDAAXTr1g0JCQkoKiq66vnbt2/Ho48+im3btiEpKQmhoaEYMmQI8vPzG503dOhQnDt3znh8/fXXpn4qLcpgkLF0V/1Fl08MaM1tGciqKRUSJvevvxZn+a4sGAxc+I+Ibo/J3zU//PBDTJkyBZMmTUJ0dDQWLVoEZ2dnLF++/Krnr169Gs888wy6d++OqKgoLF26FAaDAVu2bGl0nkqlQmBgoPHw8rKu61O2nSxC5vlKuDnaYXTvUNFxiEzu4V6hcHe0Q1ZxJf44Xig6DhFZOJMWnJqaGqSmpiI+Pv7yN1QoEB8fj6SkpJt6jKqqKtTW1sLb27vR7du3b4e/vz86dOiAadOmoaTk2iuh6nQ6aLXaRoe5W9IwZfaxPmFwVXFbBrJ+Lio7jO1bv0r30j+zBKchIktn0oJTXFwMvV6PgICARrcHBARArb65DfZefvllBAcHNypJQ4cOxapVq7Blyxa8++672LFjB4YNGwa9/uoXJ86fPx8eHh7GIzTUvEdE0vM12JtZCjuFhIn9I0THIWoxE/tFwF4pISW7fmsSIqJbZdYXdrzzzjtYu3Yt1q9fD0dHR+PtY8aMwf33348uXbpg1KhR2LhxI/bt24ft27df9XFmz54NjUZjPHJzc1voGdyaSwv7jegahCAPJ8FpiFpOgLsj7usaDODyzwER0a0wacHx9fWFUqlEYWHjz9MLCwsRGHj9WUEffPAB3nnnHfz+++/o2rXrdc+NjIyEr68vMjIyrvp1lUoFd3f3Roe5KtRW4+dDBQDql7EnsjVPNPy9//XIOZzTXBSchogslUkLjoODA2JiYhpdIHzpguG4uLhr3u+9997DvHnzkJiYiF69et3w++Tl5aGkpARBQUHNklukVUnZqDPI6B3hha4hnqLjELW4zq080DfSG3UGGSv3cOE/Iro1Jv+IatasWViyZAlWrlyJ48ePY9q0aaisrMSkSZMAAOPHj8fs2bON57/77rt47bXXsHz5ckRERECtVkOtVqOiogIAUFFRgRdffBF79+5FdnY2tmzZgpEjR6Jt27ZISEgw9dMxqYs1eqxOzgHA0RuybZMH1C/8tyb5LCp1dYLTEJElMvn0nNGjR+P8+fOYM2cO1Go1unfvjsTEROOFxzk5OVAoLveshQsXoqamBg899FCjx5k7dy5ef/11KJVKHD58GCtXrkRZWRmCg4MxZMgQzJs3DyqVytRPx6S+P5CHsqpahHo74Z5oLuxHtmtwlD8ifJyRXVKF7w/kYXxchOhIRGRhJFmWbW5FLa1WCw8PD2g0GrO5HsdgkBH/nx3IPF+JOfdGG69DILJVK/dkY+6Go2jt64Its+6AQsGtSohsXVPev816FpUt2XHqfP3Cfio7PMKF/YjwUEyIceG/rSeuvvI5EdG1sOCYiUvbMozuHcqF/YhQv/Dfo7FhAC7/fBAR3SwWHDNw/JwWuzNKoJCACf0iRMchMhsT4iKgVEjYm1mKowUa0XGIyIKw4JiB5Q0Lmg3tHIhQb2fBaYjMR7CnE4Z3qV/+gQv/EVFTsOAIVlyhw09pXNiP6Fou/Vz8fKgAReXVgtMQkaVgwRFsTXIOavQGdAv1RM8w69oRnag5dA/1RM8wT9TqZazemyM6DhFZCBYcgXR1eny5t36l1if6R0CSOA2W6GouLZuwOvksqmuvvqkuEdFfseAI9MvhczhfrkOAuwrDOlv+NhNEpjK0UyCCPRxRXFFj3KuNiOh6WHAEkWXZeNHk+LgIONjxPwXRtdgpFRjfMMNw+e5s2OD6pETURHxXFWRf9gUcLdBCZafAo33CRMchMntjeofCyV6J4+e02JtZKjoOEZk5FhxBvthdP3rzt56t4O3iIDgNkfnzdHbAgzGtAFz++SEiuhYWHAFyS6uw6agaADCpP6eGE92sif3qf142Hy9ETkmV4DREZM5YcARYlZQNgwwMbOeL9gFuouMQWYy2/q64o70fZBlYsSdbdBwiMmMsOC2sQleHtftyAQBPcPSGqMkuTRn/Zn8uyqtrBachInPFgtPCvk/NQ3l1HSJ9XXBHez/RcYgszqB2vmjr74oKXR2+3Z8nOg4RmSkWnBZkMMjGYfWJ/SOgUHBhP6KmkiQJExumjK9MyobewCnjRHQlFpwWtOPUeWQVV8LN0Q4P9gwRHYfIYv2tZyu4O9rhbEkVtp0oEh2HiMwQC04L+qJh9GZ0r1C4qOzEhiGyYM4Odsb1o77YwynjRHQlFpwWklFUgZ2nzkMhARMahteJ6NY9HhcOhQTszijBSXW56DhEZGZYcFrIiobfMuM7BiDU21lwGiLLF+LljIROgQAu/3wREV3CgtMCNFW1+D41HwAX9iNqTpd+nn44kI8LlTWC0xCROWHBaQHr9ufgYq0eUYFu6BvpLToOkdXoHeGF6CB36OoM+Hpfjug4RGRGWHBMrE5vwMo9ZwEAk/pHQJI4NZyouUiShEn9IwAAXyadRa3eIDYQEZkNFhwT++N4IfLLLsLL2R4ju7cSHYfI6tzXLRg+Lg44p6k27vFGRMSCY2LLd2cDAB6LDYOjvVJsGCIr5GivxNjYhinjDT9vREQsOCZ0tECDlKxS2CkkPN43QnQcIqs1rm847JUSUs9ewOG8MtFxiMgMsOCY0IqG3yaHdQlCoIej2DBEVszf3REjugQBuPxzR0S2jQXHREoqdPjpUAEAGPfNISLTuTRl/OfDBSgqrxachohEY8Exka9TclBTZ0C3EA/0DPMUHYfI6nUL9USPME/U6mWsSeaUcSJbx4JjArV6A77cWz81fCKnhhO1mEujOF/tzYGuTi84DRGJxIJjAr+lq1Go1cHPTYURXYJFxyGyGcM6ByLAXYXiCh1+PXJOdBwiEqhFCs6CBQsQEREBR0dHxMbGIiUl5brnf/vtt4iKioKjoyO6dOmCX3/9tdHXZVnGnDlzEBQUBCcnJ8THx+P06dOmfApN8sXu+n1xxsaGwcGOHZKopdgrFXi8bziA+injsiwLTkREopj83XfdunWYNWsW5s6diwMHDqBbt25ISEhAUVHRVc/fs2cPHn30UUyePBkHDx7EqFGjMGrUKKSnpxvPee+99/Dxxx9j0aJFSE5OhouLCxISElBdLf7CwrTcMhzMKYO9UsLY2HDRcYhszqN96n+xOJynwYGcMtFxiEgQSTbxrzixsbHo3bs3Pv30UwCAwWBAaGgonn32WbzyyitXnD969GhUVlZi48aNxtv69u2L7t27Y9GiRZBlGcHBwXjhhRfwj3/8AwCg0WgQEBCAFStWYMyYMTfMpNVq4eHhAY1GA3d392Z6pvVmrj2IH9MK8LcerfDh6O7N+thEdHNe/PYQvk3Nw71dg/DpYz1FxyGiZtKU92+TjuDU1NQgNTUV8fHxl7+hQoH4+HgkJSVd9T5JSUmNzgeAhIQE4/lZWVlQq9WNzvHw8EBsbOw1H1On00Gr1TY6TKFIW41fGj73567hROJMbNif6rd0Nc5pLooNQ0RCmLTgFBcXQ6/XIyAgoNHtAQEBUKuvvmeMWq2+7vmX/rcpjzl//nx4eHgYj9DQ0Ft6PjfyVXIOavUyYsK90CXEwyTfg4hurFOwB/q09obeIOOrhhmNRGRbbOIK2NmzZ0Oj0RiP3Nxck3yfh2NC8OSA1nhqUKRJHp+Ibt4TDaM4a5JzUF3LKeNEtsakBcfX1xdKpRKFhYWNbi8sLERgYOBV7xMYGHjd8y/9b1MeU6VSwd3dvdFhCqHeznj13mgM6XT1HETUcuI7BqCVpxMuVNViQ1qB6DhE1MJMWnAcHBwQExODLVu2GG8zGAzYsmUL4uLirnqfuLi4RucDwObNm43nt27dGoGBgY3O0Wq1SE5OvuZjEpHtsVMqMD6uYcr4Hk4ZJ7I1Jv+IatasWViyZAlWrlyJ48ePY9q0aaisrMSkSZMAAOPHj8fs2bON5z/33HNITEzEv//9b5w4cQKvv/469u/fjxkzZgAAJEnCzJkz8a9//QsbNmzAkSNHMH78eAQHB2PUqFGmfjpEZEFG9w6Fo70Cx89pkZxVKjoOEbUgO1N/g9GjR+P8+fOYM2cO1Go1unfvjsTERONFwjk5OVAoLvesfv36Yc2aNXj11Vfxz3/+E+3atcOPP/6Izp07G8956aWXUFlZialTp6KsrAwDBgxAYmIiHB25YzcRXebp7IC/9QzBmuQcrNidjb6RPqIjEVELMfk6OObIlOvgEJF5OVVYjiH/2QmFBOx48S6EejuLjkREt8hs1sEhIhKtfYAbBrT1hUGGcRNcIrJ+LDhEZPUm9osAAKxNyUFVTZ3YMETUIlhwiMjq3R3lj3AfZ2ir6/DDgXzRcYisWk2dAdnFlaJjsOAQkfVTKCSMj4sAAKzglHEik/rlSAHu+vd2zP7hsNAcLDhEZBMe7hUCFwclMooqsCujWHQcIqskyzK+2J0NWQZaeToJzcKCQ0Q2wd3RHg/FhAAAvtidLTYMkZU6kHMBh/M0cLBT4NE+YUKzsOAQkc2Y0HCx8dYTRcgyg2sEiKzN8oZfHkZ1D4aPq0poFhYcIrIZkX6uuKuDHwBg5Z5ssWGIrExB2UUkpqsBABP7tRachgWHiGzMpP71//B+uz8X2upawWmIrMeXe89Cb5AR29ob0cHiF9FlwSEimzKwnS/a+ruiskaPb/fniY5DZBUu1ujxdUoOgMu/RIjGgkNENkWSJOPCfyv3ZENv4JRxotv1Y1o+yqpqEeLlhHuiA0THAcCCQ0Q26G89W8Hd0Q45pVXYeqJIdBwii1Y/NTwLADAhLgJKhSQ4UT0WHCKyOc4OdsYprJf+YSaiW7PnTAlOFVbA2UGJR3qHio5jxIJDRDbp8bhwKKT6f5xPqLWi4xBZrEvrSj3YMwQeTvZiw/wFCw4R2aQQL2ckdAoEAKzgwn9Et+RsSSW2nCgEcHmdKXPBgkNENuuJAfWzPdYfzEdpZY3gNESWp35vN+DODn5o6+8qOk4jLDhEZLN6hXuhSysP6OoMximuRHRzyqtrjUstPGEmU8P/igWHiGyWJEl4YkAEAGBVUjZq6gxiAxFZkG/256FCV4e2/q4Y2M5XdJwrsOAQkU0b0SUYfm4qFGp1+C39nOg4RBZBb5CxYk/9DMQn+reGJJnH1PC/YsEhIpvmYKfA+L7hAIBlu7Igy1z4j+hG/jheiNzSi/B0tscDPVqJjnNVLDhEZPMeiw2Dg50Ch/M0OJBzQXQcIrO3fFf96M1jfcLg5KAUnObqWHCIyOb5uKowqnswAGD5rmyxYYjM3NECDZKzSqFUSHg8Llx0nGtiwSEiwuUNAhOPqpFfdlFwGiLzdWlhv+FdghDk4SQ2zHWw4BARAegY5I5+bXygN8hYlZQtOg6RWTpfrsOGtAIAwBP9I8SGuQEWHCKiBpfW8vg6OQeVujrBaYjMz1d7z6JGb0CPME/0CPMSHee6WHCIiBrcHeWPCB9naKvr8P2BPNFxiMxKda0eX+09C8A8F/b7Xyw4REQNFArJeC3OF7uzYTBwyjjRJRvSClBSWYNgD0cM6xwoOs4NseAQEf3FQzEhcHe0Q1ZxJbaeKBIdh8gsyLKM5bvrp4ZP6BcBO6X51wfzT0hE1IJcVHZ4tE8YgPqF/4gI2J1RghPqcjg7KDGm4efD3LHgEBH9jwn9IqBUSEjKLMHRAo3oOETCLduVCQB4OCYEHk72gtPcHBYcIqL/EezphOFdggBwFIcoo6gc206ehyRdXi/KEpi04JSWlmLs2LFwd3eHp6cnJk+ejIqKiuue/+yzz6JDhw5wcnJCWFgY/v73v0OjafwblCRJVxxr16415VMhIhszeUD9P+Q/HypAkbZacBoicZY3LOwX3zEAEb4uYsM0gUkLztixY3H06FFs3rwZGzduxM6dOzF16tRrnl9QUICCggJ88MEHSE9Px4oVK5CYmIjJkydfce4XX3yBc+fOGY9Ro0aZ8JkQka3pHuqJmHAv1OplfNkwNZbI1lyorMEPDUsmXCr9lsLOVA98/PhxJCYmYt++fejVqxcA4JNPPsHw4cPxwQcfIDg4+Ir7dO7cGd9//73xz23atMFbb72FcePGoa6uDnZ2l+N6enoiMND8p6kRkeWaPKA1Us9ewOrkHEy/qy0c7c1zU0EiU1mTkoPqWgM6BbsjtrW36DhNYrIRnKSkJHh6ehrLDQDEx8dDoVAgOTn5ph9Ho9HA3d29UbkBgOnTp8PX1xd9+vTB8uXLIcvXXq9Cp9NBq9U2OoiIbmRIdABaeTqhtLIGPxzIFx2HqEXV1Bmwck82gPqyL0mS2EBNZLKCo1ar4e/v3+g2Ozs7eHt7Q61W39RjFBcXY968eVd8rPXmm2/im2++webNm/Hggw/imWeewSeffHLNx5k/fz48PDyMR2hoaNOfEBHZHDulApMa9ttZtiuTC/+RTfn5UAGKynXwd1Ph3q5Xfupi7ppccF555ZWrXuT71+PEiRO3HUyr1WLEiBGIjo7G66+/3uhrr732Gvr3748ePXrg5ZdfxksvvYT333//mo81e/ZsaDQa45Gbm3vb+YjINozuHQo3lR3OnK/E9lNc+I9sgyzLWPJn/dTwCf0i4GBneZOum3wNzgsvvICJEyde95zIyEgEBgaiqKjxPwZ1dXUoLS294bUz5eXlGDp0KNzc3LB+/XrY219/zn1sbCzmzZsHnU4HlUp1xddVKtVVbyciuhE3R3uM6ROKJX9mYcnOLNwdFSA6EpHJXVrYz8leibGxlrGw3/9qcsHx8/ODn5/fDc+Li4tDWVkZUlNTERMTAwDYunUrDAYDYmNjr3k/rVaLhIQEqFQqbNiwAY6Ojjf8XmlpafDy8mKJISKTmNi/NZbvzkZSZgnS8zXo3MpDdCQik7o0evNIrxB4OjsITnNrTDbm1LFjRwwdOhRTpkxBSkoKdu/ejRkzZmDMmDHGGVT5+fmIiopCSkoKgPpyM2TIEFRWVmLZsmXQarVQq9VQq9XQ6/UAgJ9//hlLly5Feno6MjIysHDhQrz99tt49tlnTfVUiMjGtfJ0woiGhf+WNvzDT2StThWWY8ep+oX9nrCwqeF/ZbJp4gCwevVqzJgxA4MHD4ZCocCDDz6Ijz/+2Pj12tpanDx5ElVVVQCAAwcOGGdYtW3bttFjZWVlISIiAvb29liwYAGef/55yLKMtm3b4sMPP8SUKVNM+VSIyMZNGRiJDYcKsPHwObw0NArBnk6iIxGZxKUSnxAdiHAfy1nY739J8vXmV1sprVYLDw8P4xR0IqKbMXpxEpKzSjF1UCT+Obyj6DhEza6ovBoD3tmGGr0B30+LQ0y4ea1905T3b8u7LJqISJApAyMBAF8n56C8ulZwGqLmt2rPWdToDegR5ml25aapWHCIiG7S3VH+iPRzQbmuDuv2cbkJsi5VNXX4Krl+W5KpDWXekrHgEBHdJIVCwpMD6v/h/2J3Nur0BsGJiJrP96l5KKuqRZi3M4Z0svytkFhwiIia4G89W8HHxQH5ZRfxa/rNrcpOZO70BhlLd2UBAJ7oHwGlwrK2ZbgaFhwioiZwtFdifFwEAGDxjjPX3QePyFJsOqrG2ZIqeDrb45He1rGdEQsOEVETPR4XDkd7BY4WaLHnTInoOES3RZZlLN5ZPzX88b7hcHYw6QoyLYYFh4ioibxdHPBIr/rfci+9MRBZqpSsUhzKLYODncI4OmkNWHCIiG7BkwMioZCAnafO41iBVnQcolt2qaQ/FBMCPzfr2fKIBYeI6BaE+ThjWMP2DUu4fQNZqFOF5dh6ogiSdHmdJ2vBgkNEdIueGlT/hrDhUAHyyy4KTkPUdJ/vvLwtQ2tfy92W4WpYcIiIblHXEE/ERfpAb5CxvGGKLZGlUGuq8VNaPgBg6h3WNXoDsOAQEd2WpxreGNam5EBTxe0byHJ8sScLtXoZfSK80TPMS3ScZseCQ0R0G+5o74eoQDdU1uiNy9wTmbvy6lqs2ZsDAJg6yPpGbwAWHCKi2yJJkvEN4ovd2aiu1QtORHRjq5NzUK6rQ1t/V9wd5S86jkmw4BAR3ab7ugWjlacTiit0+C41T3QcouuqrtVjWcM1Y08NioTCCrZluBoWHCKi22SvVGDKwNYA6melcBNOMmc/HMjH+XIdgj0cMbJ7K9FxTIYFh4ioGYzuHQZvFwfklFbhlyPnRMchuqo6vQGLd54BADw5MBIOdtZbA6z3mRERtSAnByUm9osAACzczk04yTz9ll6/qaaXsz3G9LGOTTWvhQWHiKiZTIiLgIuDEifU5dh+6rzoOESNyLKMhdvrR28m9mttNZtqXgsLDhFRM/FwtsdjsWEAgIXbzghOQ9TYjlPnceycFs4OSoyPCxcdx+RYcIiImtHkAZGwV0pIyS7F/uxS0XGIjC6N3jzaJwxeLg6C05geCw4RUTMK9HDEgz1DAACLdnAUh8xD6tkLSM4qhb1SwpMNM/6sHQsOEVEzmzooEpIE/HG8CCfUWtFxiIyjNw/0aIUgDyfBaVoGCw4RUTOL9HPF8M5BAIDPeC0OCXb8nBZ/HC+EJAFP3dFGdJwWw4JDRGQC0+9qCwDYeLgAmecrBKchW7ZgWwYAYESXILTxcxWcpuWw4BARmUB0sDviO/rDIF/+eICopZ05X2FcePJS6bYVLDhERCZy6Q1l/cF85JZWCU5DtuizbWcgy8A90QHoGOQuOk6LYsEhIjKRHmFeGNjOF3UG2bg8PlFLyS2two9p+QCAGTY2egOw4BARmdSlN5Zv9uWhUFstOA3ZkoU7zkBvkDGovR+6hXqKjtPiWHCIiEwoNtIHfSK8UaM34POdmaLjkI04p7mI7/bnAQCevdv2Rm8AFhwiIpOb0fAGszr5LEoqdILTkC34fGcmavQGxLb2Ru8Ib9FxhDBpwSktLcXYsWPh7u4OT09PTJ48GRUV158ueeedd0KSpEbH008/3eicnJwcjBgxAs7OzvD398eLL76Iuro6Uz4VIqJbNrCdL7qFeKC61oClu7JExyErd75ch69TcgAAz97dTnAacUxacMaOHYujR49i8+bN2LhxI3bu3ImpU6fe8H5TpkzBuXPnjMd7771n/Jper8eIESNQU1ODPXv2YOXKlVixYgXmzJljyqdCRHTLJEnCjIY3mlV7snGhskZwIrJmS/7MRHWtAd1CPdG/rY/oOMKYrOAcP34ciYmJWLp0KWJjYzFgwAB88sknWLt2LQoKCq57X2dnZwQGBhoPd/fLU9t+//13HDt2DF999RW6d++OYcOGYd68eViwYAFqaviPBhGZp/iO/ogOckdljR5Ld/FaHDKN4godViVlAwBmDm4HSZLEBhLIZAUnKSkJnp6e6NWrl/G2+Ph4KBQKJCcnX/e+q1evhq+vLzp37ozZs2ejqury+hFJSUno0qULAgICjLclJCRAq9Xi6NGjV308nU4HrVbb6CAiakmSJGFmfP0ozord2SjlKA6ZwOIdZ4yjN3d28BMdRyiTFRy1Wg1/f/9Gt9nZ2cHb2xtqtfqa93vsscfw1VdfYdu2bZg9eza+/PJLjBs3rtHj/rXcADD++VqPO3/+fHh4eBiP0NDQW31aRES37J7oAHQKbhjF+ZOjONS8zpfr8OXeswCAmfG2PXoD3ELBeeWVV664CPh/jxMnTtxyoKlTpyIhIQFdunTB2LFjsWrVKqxfvx5nztz6IlmzZ8+GRqMxHrm5ubf8WEREt6p+FKc9AGDlHo7iUPP6fOdfRm/a2/boDQDYNfUOL7zwAiZOnHjdcyIjIxEYGIiioqJGt9fV1aG0tBSBgYE3/f1iY2MBABkZGWjTpg0CAwORkpLS6JzCwkIAuObjqlQqqFSqm/6eRESmEt/RH52C3XG0QIslf2bi5aFRoiORFeDozZWaXHD8/Pzg53fjZhgXF4eysjKkpqYiJiYGALB161YYDAZjabkZaWlpAICgoCDj47711lsoKioyfgS2efNmuLu7Izo6uonPhoioZV0axZmyaj9W7snGlIGR8HZxEB2LLNyla2+6c/TGyGTX4HTs2BFDhw7FlClTkJKSgt27d2PGjBkYM2YMgoODAQD5+fmIiooyjsicOXMG8+bNQ2pqKrKzs7FhwwaMHz8egwYNQteuXQEAQ4YMQXR0NB5//HEcOnQImzZtwquvvorp06dzlIaILEJ8R390buWOqho9lvBaHLpNReXV+CqZozf/y6Tr4KxevRpRUVEYPHgwhg8fjgEDBuDzzz83fr22thYnT540zpJycHDAH3/8gSFDhiAqKgovvPACHnzwQfz888/G+yiVSmzcuBFKpRJxcXEYN24cxo8fjzfffNOUT4WIqNlIkoSZg3ktDjWPz3dkGkdv7uDojZEky7IsOkRL02q18PDwgEajabTGDhFRS5FlGfd/uhtH8jWYOigS/xzeUXQkskCF2moMem8bdHUGrJjUG3d28L/xnSxYU96/uRcVEZEAkiRh1j2XR3G40zjdik+2noauzoBe4V4cvfkfLDhERILc2cEPvcK9oKsz4JOtp0XHIQuTU1KFtSn1y578I6EDr735Hyw4RESCSJKEfyR0AACsTclFTknVDe5BdNlHW06hziBjYDtf9I203T2nroUFh4hIoL6RPhjYzhd1BhkfbTklOg5ZiNOF5Vh/MB8A8GJDSabGWHCIiAS79Ab148F8nC4sF5yGLMGHm09BloGETgHoGuIpOo5ZYsEhIhKsa4gnEjoFwCDXv3ERXc/hvDL8lq6GJAEvDOHozbWw4BARmYEXhnSAJAG/patxJE8jOg6ZsQ9+ry/Bo7q3QvsAN8FpzBcLDhGRGWgf4IYHurcCALz/+0nBachcJWeWYOep87BTSJgZ3050HLPGgkNEZCZmxreHnULCzlPnsSejWHQcMjOyLOOdxBMAgEd6hyLcx0VwIvPGgkNEZCbCfJwxrm84AGD+bydgMNjcQvN0HYnpahzMKYOTvRIzB3P05kZYcIiIzMizd7eFq8oOR/I1+Plwgeg4ZCZq9Qa82zB6M2VQJPzdHQUnMn8sOEREZsTHVYVpd7YBALy/6SR0dXrBicgcfJ2Sg+ySKvi6OmDqoEjRcSwCCw4RkZl5on9rBLirkHfhIr5MOis6DglWXl2L//5Rv5XHc/Ht4aqyE5zIMrDgEBGZGScHpXEjzk+3ZUBzsVZwIhLp852ZKKmsQaSvC8b0DhUdx2Kw4BARmaEHe4agfYAryqpqsXD7GdFxSJBCbTWW/pkFAHhpaAfYK/m2fbP4ShERmSE7pQIvD40CACzfnYX8souCE5EIH/1xChdr9egZ5omEToGi41gUFhwiIjN1d5Q/Ylt7o6bOgPcbZtCQ7Tih1mLdvlwAwD+Hd4QkSYITWRYWHCIiMyVJEl4dEQ1JAn5MK8CBnAuiI1ELkWUZb/58DAYZGN4lEL0ivEVHsjgsOEREZqxLiAce6hkCAHjj52Nc/M9G/H6sEHvOlMDBToHZwzqKjmORWHCIiMzci0M7wMVBiUO5ZfgxLV90HDIxXZ0eb/1yHAAwZWBrhHo7C05kmVhwiIjMnL+bI2bcXb80/zu/nUClrk5wIjKl5buykVNaBX83FZ65s63oOBaLBYeIyAI8MSACYd7OKCrXcdq4FSsqr8anW+sX9Xt5aBRcuKjfLWPBISKyACo7Jf45vP5ajM//zERuaZXgRGQKH2w6icoaPbqFeuKBHq1Ex7FoLDhERBYioVMA4iJ9UFNnwPzfjouOQ83sSJ4G36bmAQDm3BsNhYLTwm8HCw4RkYWQJAlz7ouGQgJ+PaLGrtPFoiNRMzEYZMzZkA5ZBkZ1D0ZMuJfoSBaPBYeIyIJ0DHLH+LgIAMCcn9K527iVWLc/FwdzyuDioMQrnBbeLFhwiIgszKwh7eHrqkJmcSWW7MwUHYduU0mFDu/8Vr9S9awhHRDo4Sg4kXVgwSEisjDujvZ47d763/I/2ZrBC44t3LuJJ6C5WIuoQDdMiAsXHcdqsOAQEVmg+7sFo18bH+jqDJi74ShkmSscW6L92aX4Zn/9hcVvPdAZdtwtvNnwlSQiskCSJOHNkZ1hr5Sw9UQRfj9WKDoSNVGt3oD/W58OABjTOxQx4dxvqjmx4BARWai2/q6YOigSAPDGhqOoquEKx5Zk5Z5snCwsh5ezPV4eGiU6jtUxacEpLS3F2LFj4e7uDk9PT0yePBkVFRXXPD87OxuSJF31+Pbbb43nXe3ra9euNeVTISIySzPuaodWnk4o0FTjoz9Oi45DNym/7CL+s/kUAOCVYVHwcnEQnMj6mLTgjB07FkePHsXmzZuxceNG7Ny5E1OnTr3m+aGhoTh37lyj44033oCrqyuGDRvW6Nwvvvii0XmjRo0y5VMhIjJLTg5KvDmyEwBg6Z+ZOJRbJjYQ3ZAsy/jnD0dQWaNHTLgXHo4JFR3JKplsk4vjx48jMTER+/btQ69evQAAn3zyCYYPH44PPvgAwcHBV9xHqVQiMDCw0W3r16/HI488AldX10a3e3p6XnEuEZEtGtwxAPd3C8aGQwV4+fvD2DBjABzseAWCufrhQD52nDoPBzsF3n2wK1csNhGT/QQkJSXB09PTWG4AID4+HgqFAsnJyTf1GKmpqUhLS8PkyZOv+Nr06dPh6+uLPn36YPny5dedQaDT6aDVahsdRETWZO590fB2ccAJdTk+254hOg5dQ1F5Nd7ceAwA8Nzgdmjr73qDe9CtMlnBUavV8Pf3b3SbnZ0dvL29oVarb+oxli1bho4dO6Jfv36Nbn/zzTfxzTffYPPmzXjwwQfxzDPP4JNPPrnm48yfPx8eHh7GIzSUw4FEZF18XFV4/f76j6oWbMvASXW54ER0NXN/OgrNxVp0CnY3XiBOptHkgvPKK69c80LgS8eJEyduO9jFixexZs2aq47evPbaa+jfvz969OiBl19+GS+99BLef//9az7W7NmzodFojEdubu5t5yMiMjf3dQ1CfMcA1OplvPTdIdTpDaIj0V/8duQcfktXw04h4b2HusKea96YVJOvwXnhhRcwceLE654TGRmJwMBAFBUVNbq9rq4OpaWlN3XtzHfffYeqqiqMHz/+hufGxsZi3rx50Ol0UKlUV3xdpVJd9XYiImsiSRLeeqAzkrNKcChPg+W7szB1UBvRsQhAWVUNXvvpKABg2p1t0CnYQ3Ai69fkguPn5wc/P78bnhcXF4eysjKkpqYiJiYGALB161YYDAbExsbe8P7Lli3D/ffff1PfKy0tDV5eXiwxRGTzAtwd8dqIaLz0/WH8+/dTuDsqgNd5mIHXNxxFcYUO7fxdMePutqLj2ASTjY917NgRQ4cOxZQpU5CSkoLdu3djxowZGDNmjHEGVX5+PqKiopCSktLovhkZGdi5cyeefPLJKx73559/xtKlS5Geno6MjAwsXLgQb7/9Np599llTPRUiIovycK8QDGznC12dATPXHURNHT+qEmnDoQL8mFYAhQS8+1BXqOyUoiPZBJN+ALh69WpERUVh8ODBGD58OAYMGIDPP//c+PXa2lqcPHkSVVWNN4pbvnw5QkJCMGTIkCse097eHgsWLEBcXBy6d++OxYsX48MPP8TcuXNN+VSIiCyGJEn44OFu8HS2R3q+Fh/9cUp0JJtVUHYRr64/AgCYcXc79AzzEpzIdkiyDe7QptVq4eHhAY1GA3d3d9FxiIhM4rcj5zBt9QFIErBuahz6tOZeRy3JYJAxdmkykjJL0C3UE989HccLi29TU96/+UoTEVmpYV2C8HBMCGQZeH5dGrTVtaIj2ZSluzKRlFkCZwclPhrdneWmhfHVJiKyYnPv74Qwb2fkl13E3IZZPGR6xwq0eH/TSQDAnHuj0drXRXAi28OCQ0RkxVxVdvjP6G5QSMD6g/nYcKhAdCSrV12rx8x1B1Grl3FPdABG9+bisiKw4BARWbmYcG/MuKt+avI/fziCzPMVghNZtzk/peNUYQV8XVV4529dIEnca0oEFhwiIhvw98Ht0CfCGxW6Ojyz+gAu1uhFR7JK3+zLxTf786CQgP+O6Q4fV67PJgoLDhGRDbBTKvDpYz3g66rCCXU5/u/HI9fdpJia7liBFq/9lA4AmHVPe/Rv6ys4kW1jwSEishH+7o745NEeUEjADwfysW4f9+VrLtrqWjyzOhW6OgPu6uCHZ+7kasWiseAQEdmQuDY++EdCBwDAnA1HkZ6vEZzI8smyjBe/PYTskiq08nTCf0Z3h0LB625EY8EhIrIxTw9qg8FR/qipM2Da6lSUVdWIjmTRlvyZiU1HC+GgVOCzsT3h6ewgOhKBBYeIyOYoFBI+fKQ7Qr2dkFt6EdO+OsD9qm7RluOFmP/bCQDAa/d2RLdQT7GByIgFh4jIBnk42+Pzx3vBxUGJpMwSvPZjOi86bqJjBVo8+/VByDLwaJ9QjOsbLjoS/QULDhGRjeoY5I5PH+sJhQSs25+Lz3dmio5kMYq01Zi8ch+qavTo39YHb47szPVuzAwLDhGRDbsryh+v3RsNAHgn8QQ2HVULTmT+Ltbo8eSq/TinqUaknws+eyyG+0yZIf4XISKycRP7ReDxvuGQZWDm2jQcyePMqmsxGGTM+iYNh/M08HK2xxcTe8PD2V50LLoKFhwiIhsnSRLm3heNQe39cLFWj0krUridw1XIsow3fj6K39LVsFdKWPx4L4T7cBNNc8WCQ0RExpWOOwa5o7iiBuOWJiPvQpXoWGblvU0nsTLpLCQJ+ODhbujT2lt0JLoOFhwiIgIAuDva48vJfdDGzwUFmmqMXZqMIm216FhmYcG2DCzcfgYA8K9RnTGyeyvBiehGWHCIiMjI11WF1U/2Rai3E86WVGHs0mSUVtr2QoDLd2Xh/U0nAQD/N7wjxsZyOrglYMEhIqJGAj0csebJvgh0d8TpogqMX54MzcVa0bGEWLcvB29uPAYAeG5wO0wZFCk4Ed0sFhwiIrpCqLczvnoyFj4uDkjP12L04iQUldvWx1XLdmXh5e+PAACeHNAaM+PbCU5ETcGCQ0REV9XW3xWrp8TCz02FE+pyPLQwCWdLKkXHMjlZlvHBppOY1zByM3lAa/zfiI5cyM/CsOAQEdE1RQW64/un+yHM2xk5pVV4cGESjhVoRccyGb1Bxv/9mI5Pt2UAAF5M6IBXWW4sEgsOERFdV5iPM76bFtcwhVyH0Z8nISWrVHSsZqer0+PvXx/EmuQcKCTg7Qe6YPpdbVluLBQLDhER3ZC/myPWTu2L3hFeKK+uw7ilyViTnGM1G3Se01zE6MV78cuRc3BQKrDgsZ54LDZMdCy6DSw4RER0Uzyc7LHqiVgM7RSIGr0B/1x/BC99dxjVtXrR0W7LnjPFuPfjXUjLLYOHkz2+mNQbw7oEiY5Ft4kFh4iIbpqTgxILx/XEy0OjoJCAb1Pz8NCiPcgttbxVj2VZxuIdZzBuaTJKKmsQHeSOjc8OQP+2vqKjUTNgwSEioiaRJAnT7myDVU/EwsvZHun5Wtz36S4kpp8THe2mFVfo8PRXqZj/2wkYZODBniH44Zl+CPV2Fh2NmokkW8sHqE2g1Wrh4eEBjUYDd3d30XGIiCxWftlFTPsqFYcbdiAf1jkQb4zsBH83R8HJrk6WZaw/mI83Nx5DWVUt7JUS5tzXCeNiw3gxsQVoyvs3Cw4LDhHRbdHV6fHJlgws2nEGdQYZ7o52ePXeaDwcE2JWpSHvQhX+b306dpw6DwCIDnLHew91RedWHoKT0c1iwbkBFhwiouZ3rECLl78/jCP59aM5fSO98WJCFGLCvYTmKq+uxYrd2Vi04wwqa/RwsFPgucHtMHVQJOyVvFLDkrDg3AALDhGRadTpDVi2Kwsfbj4FXZ0BADCovR+ej2+HHmEtW3QqdHVYuScbS/7MRFlV/V5avSO88M6DXdHGz7VFs1DzaMr7t8mq61tvvYV+/frB2dkZnp6eN3UfWZYxZ84cBAUFwcnJCfHx8Th9+nSjc0pLSzF27Fi4u7vD09MTkydPRkVFhQmeARERNZWdUoGn7miDP2bdgdG9QqFUSNh56jwe+GwPJn2Rgh2nzkNvMO3v1ec0F/Hp1tMY+O5WvL/pJMqqahHp54L/jumOdVPjWG5shMlGcObOnQtPT0/k5eVh2bJlKCsru+F93n33XcyfPx8rV65E69at8dprr+HIkSM4duwYHB3rL1gbNmwYzp07h8WLF6O2thaTJk1C7969sWbNmpvOxhEcIqKWcbakEp9szcAPB/Jwqdf4uakwslswHujZCtFB7s1ynU55dS1+S1fjx4P5SMoswaV3tta+LnhucDvc1y0YSoX5XA9Et8asPqJasWIFZs6cecOCI8sygoOD8cILL+Af//gHAECj0SAgIAArVqzAmDFjcPz4cURHR2Pfvn3o1asXACAxMRHDhw9HXl4egoODbyoTCw4RUcvKKq7E8l1Z+PlwgfHjIgCI9HVBTLgXeoR5oUeYJ9oHuN1UESmtrEFa7gUczCnDwZwy7D9biupag/HrfVp7Y0zvUNzfLRh2vM7GajTl/duuhTLdUFZWFtRqNeLj4423eXh4IDY2FklJSRgzZgySkpLg6elpLDcAEB8fD4VCgeTkZDzwwANXfWydTgedTmf8s1ZrvRvFERGZo9a+Lpg3qjNeuzca208W4ce0fPxxrAiZxZXILK7Et6l5AABnByWCPBzh6ewAL2d7eDg5QGWvgOZiLcqqalBWVYvSyhqc01Rf8T0i/Vzwtx6tMLJ7K65nQ+ZTcNRqNQAgICCg0e0BAQHGr6nVavj7+zf6up2dHby9vY3nXM38+fPxxhtvNHNiIiJqKgc7BYZ0CsSQToHQXKzFvqxSpOWW4WDuBRzK1aBCV4cz5ysBVN7wsdr4uRhHfnqGeSEq0M2spqWTWE0qOK+88grefffd655z/PhxREVF3Vao5jZ79mzMmjXL+GetVovQ0FCBiYiIyMPJHvHRAYiPrv/FVm+QkVVcieIKHcqqanChqhZlVbWortXD09keXs4O8HS2h6ezA1r7uMDD2V7wMyBz1qSC88ILL2DixInXPScyMvKWggQGBgIACgsLERR0eZOzwsJCdO/e3XhOUVFRo/vV1dWhtLTUeP+rUalUUKlUt5SLiIhahlIhoa2/K9r6c5YT3b4mFRw/Pz/4+fmZJEjr1q0RGBiILVu2GAuNVqtFcnIypk2bBgCIi4tDWVkZUlNTERMTAwDYunUrDAYDYmNjTZKLiIiILI/JLi3PyclBWloacnJyoNfrkZaWhrS0tEZr1kRFRWH9+vUA6jdvmzlzJv71r39hw4YNOHLkCMaPH4/g4GCMGjUKANCxY0cMHToUU6ZMQUpKCnbv3o0ZM2ZgzJgxNz2DioiIiKyfyS4ynjNnDlauXGn8c48ePQAA27Ztw5133gkAOHnyJDQajfGcl156CZWVlZg6dSrKysowYMAAJCYmGtfAAYDVq1djxowZGDx4MBQKBR588EF8/PHHpnoaREREZIG4VQPXwSEiIrIIZrFVAxEREZEoLDhERERkdVhwiIiIyOqw4BAREZHVYcEhIiIiq8OCQ0RERFaHBYeIiIisDgsOERERWR0WHCIiIrI6JtuqwZxdWrxZq9UKTkJEREQ369L79s1swmCTBae8vBwAEBoaKjgJERERNVV5eTk8PDyue45N7kVlMBhQUFAANzc3SJLUrI+t1WoRGhqK3Nxc7nN1FXx9boyv0fXx9bkxvkbXx9fnxsz1NZJlGeXl5QgODoZCcf2rbGxyBEehUCAkJMSk38Pd3d2s/lKYG74+N8bX6Pr4+twYX6Pr4+tzY+b4Gt1o5OYSXmRMREREVocFh4iIiKwOC04zU6lUmDt3LlQqlegoZomvz43xNbo+vj43xtfo+vj63Jg1vEY2eZExERERWTeO4BAREZHVYcEhIiIiq8OCQ0RERFaHBYeIiIisDgtOM1qwYAEiIiLg6OiI2NhYpKSkiI5kNnbu3In77rsPwcHBkCQJP/74o+hIZmX+/Pno3bs33Nzc4O/vj1GjRuHkyZOiY5mVhQsXomvXrsaFx+Li4vDbb7+JjmW23nnnHUiShJkzZ4qOYjZef/11SJLU6IiKihIdy6zk5+dj3Lhx8PHxgZOTE7p06YL9+/eLjnVLWHCaybp16zBr1izMnTsXBw4cQLdu3ZCQkICioiLR0cxCZWUlunXrhgULFoiOYpZ27NiB6dOnY+/evdi8eTNqa2sxZMgQVFZWio5mNkJCQvDOO+8gNTUV+/fvx913342RI0fi6NGjoqOZnX379mHx4sXo2rWr6Chmp1OnTjh37pzx2LVrl+hIZuPChQvo378/7O3t8dtvv+HYsWP497//DS8vL9HRbo1MzaJPnz7y9OnTjX/W6/VycHCwPH/+fIGpzBMAef369aJjmLWioiIZgLxjxw7RUcyal5eXvHTpUtExzEp5ebncrl07efPmzfIdd9whP/fcc6IjmY25c+fK3bp1Ex3DbL388svygAEDRMdoNhzBaQY1NTVITU1FfHy88TaFQoH4+HgkJSUJTEaWSqPRAAC8vb0FJzFPer0ea9euRWVlJeLi4kTHMSvTp0/HiBEjGv17RJedPn0awcHBiIyMxNixY5GTkyM6ktnYsGEDevXqhYcffhj+/v7o0aMHlixZIjrWLWPBaQbFxcXQ6/UICAhodHtAQADUarWgVGSpDAYDZs6cif79+6Nz586i45iVI0eOwNXVFSqVCk8//TTWr1+P6Oho0bHMxtq1a3HgwAHMnz9fdBSzFBsbixUrViAxMRELFy5EVlYWBg4ciPLyctHRzEJmZiYWLlyIdu3aYdOmTZg2bRr+/ve/Y+XKlaKj3RKb3E2cyJxNnz4d6enpvDbgKjp06IC0tDRoNBp89913mDBhAnbs2MGSAyA3NxfPPfccNm/eDEdHR9FxzNKwYcOM/79r166IjY1FeHg4vvnmG0yePFlgMvNgMBjQq1cvvP322wCAHj16ID09HYsWLcKECRMEp2s6juA0A19fXyiVShQWFja6vbCwEIGBgYJSkSWaMWMGNm7ciG3btiEkJER0HLPj4OCAtm3bIiYmBvPnz0e3bt3w3//+V3Qss5CamoqioiL07NkTdnZ2sLOzw44dO/Dxxx/Dzs4Oer1edESz4+npifbt2yMjI0N0FLMQFBR0xS8LHTt2tNiP8VhwmoGDgwNiYmKwZcsW420GgwFbtmzh9QF0U2RZxowZM7B+/Xps3boVrVu3Fh3JIhgMBuh0OtExzMLgwYNx5MgRpKWlGY9evXph7NixSEtLg1KpFB3R7FRUVODMmTMICgoSHcUs9O/f/4rlKU6dOoXw8HBBiW4PP6JqJrNmzcKECRPQq1cv9OnTBx999BEqKysxadIk0dHMQkVFRaPfkrKyspCWlgZvb2+EhYUJTGYepk+fjjVr1uCnn36Cm5ub8dotDw8PODk5CU5nHmbPno1hw4YhLCwM5eXlWLNmDbZv345NmzaJjmYW3Nzcrrhmy8XFBT4+PryWq8E//vEP3HfffQgPD0dBQQHmzp0LpVKJRx99VHQ0s/D888+jX79+ePvtt/HII48gJSUFn3/+OT7//HPR0W6N6Glc1uSTTz6Rw8LCZAcHB7lPnz7y3r17RUcyG9u2bZMBXHFMmDBBdDSzcLXXBoD8xRdfiI5mNp544gk5PDxcdnBwkP38/OTBgwfLv//+u+hYZo3TxBsbPXq0HBQUJDs4OMitWrWSR48eLWdkZIiOZVZ+/vlnuXPnzrJKpZKjoqLkzz//XHSkWybJsiwL6lZEREREJsFrcIiIiMjqsOAQERGR1WHBISIiIqvDgkNERERWhwWHiIiIrA4LDhEREVkdFhwiIiKyOiw4REREZHVYcIiIiMjqsOAQERGR1WHBISIiIqvDgkNERERW5/8BKkb0xHqulXUAAAAASUVORK5CYII=\n"},"metadata":{}}]},{"cell_type":"markdown","source":["We can decorate the plot (as is required in physics!) with axis labels and a title using a series of commands from the matplotlib module.  "],"metadata":{"id":"41DefUoe1T9L"}},{"cell_type":"code","source":["plt.xlabel('$x$')\n","plt.ylabel('$\\sin(x)$')\n","plt.title('Plot of the sine function')\n","plt.plot(xdata,ydata)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":489},"id":"Z71q6Eo51CQm","executionInfo":{"status":"ok","timestamp":1717012417118,"user_tz":420,"elapsed":1968,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"fd1b344d-ea92-43b3-c566-cc0abf0d97fc"},"execution_count":57,"outputs":[{"output_type":"execute_result","data":{"text/plain":["[<matplotlib.lines.Line2D at 0x7ab8941712a0>]"]},"metadata":{},"execution_count":57},{"output_type":"display_data","data":{"text/plain":["<Figure size 640x480 with 1 Axes>"],"image/png":"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\n"},"metadata":{}}]},{"cell_type":"markdown","source":["It is possible to plot multiple functions together, just add them to the list."],"metadata":{"id":"RrVsLwtH1r20"}},{"cell_type":"code","source":["ydata2 = np.cos(xdata)\n","plt.xlabel('$x$')\n","plt.ylabel('trigonometric functions')\n","plt.title('Plot of the sine and cosine functions')\n","plt.plot(xdata,ydata)\n","plt.plot(xdata, ydata2)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":489},"id":"Yjdlul5L1kMZ","executionInfo":{"status":"ok","timestamp":1717012418330,"user_tz":420,"elapsed":1214,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"5de0e05a-472a-4f2d-ce01-716b8d02ef62"},"execution_count":58,"outputs":[{"output_type":"execute_result","data":{"text/plain":["[<matplotlib.lines.Line2D at 0x7ab89409c040>]"]},"metadata":{},"execution_count":58},{"output_type":"display_data","data":{"text/plain":["<Figure size 640x480 with 1 Axes>"],"image/png":"iVBORw0KGgoAAAANSUhEUgAAAksAAAHHCAYAAACvJxw8AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACgsElEQVR4nOzdd1yV9fvH8dc57A3KcqDgxI2iIo5c5MyVlVrm1rS0YdNvZfOXaaU2LLWclTlKraws9957L5zIEBGQIeOc+/fHLcdIQc4RuDlwPR+P8+DmcJ/7vA+C5+Jzf+7ro1MURUEIIYQQQtyTXusAQgghhBAlmRRLQgghhBD5kGJJCCGEECIfUiwJIYQQQuRDiiUhhBBCiHxIsSSEEEIIkQ8ploQQQggh8iHFkhBCCCFEPqRYEkIIIYTIhxRLokzauHEjOp2OjRs3ah0ll++//57g4GDs7Ozw9PQ0+/EXLlxAp9Px6aefFn44M5XU73Fhyvl+z58/X+souWj9vX/Qn+PiUFL/7UTJJMWSKFXmz5+PTqcz3RwdHalVqxZjx44lNja2UJ7jzz//5N133y2UY/3byZMnGTJkCNWrV+fbb79l9uzZxZ5BiAdlzs9xcVi0aBHTp0/XNIOwfrZaBxCiKLz//vsEBQVx69Yttm7dyjfffMOff/7J0aNHcXZ2fqBj//nnn8yYMaPQi5WNGzdiNBr5/PPPqVGjhiYZCtNDDz1Eeno69vb2Wkcpc7T83pvzc1wcFi1axNGjR3nxxRdz3V+1alXS09Oxs7PTJpiwKlIsiVKpa9euNG3aFIARI0ZQvnx5pk6dyq+//sqAAQM0TndvcXFxACX2tIW59Ho9jo6OWscok7T83lvLz3HOyLMQBSGn4USZ0KFDBwDOnz+f737Lli0jNDQUJycnvL29GThwIFFRUaavDxkyhBkzZgDkOt13P19//TX16tXDwcGBihUr8txzz5GYmGj6emBgIO+88w4APj4+6HS6PEeNCpph9uzZVK9eHQcHB5o1a8aePXvu2ufkyZM89thjlCtXDkdHR5o2bcpvv/1239cDsHjxYkJDQ3Fzc8Pd3Z0GDRrw+eefm75+r3kz7dq1o379+hw/fpz27dvj7OxMpUqVmDJlyl3Hz8jI4J133qFGjRo4ODgQEBDAa6+9RkZGxn2zbdmyhccff5wqVaqYHvvSSy+Rnp6ea78hQ4bg6upKVFQUvXv3xtXVFR8fH1555RUMBkOufRMTExkyZAgeHh54enoyePDgXP+G95OYmMhLL71EYGAgDg4OVK5cmUGDBhEfH2/aJy4ujuHDh+Pn54ejoyONGjViwYIFdx2rpH7v8/s5zutnOjAwkCFDhpg+zzmVvm3bNsaPH4+Pjw8uLi706dOHa9eu3fX4v/76i7Zt25q+F82aNWPRokWm1/zHH39w8eJF0+9JYGAgkPecpfXr19OmTRtcXFzw9PSkV69enDhxItc+7777LjqdjrNnzzJkyBA8PT3x8PBg6NChpKWl5dp3zZo1tG7dGk9PT1xdXalduzb/+9//8v0+ipJHRpZEmXDu3DkAypcvn+c+8+fPZ+jQoTRr1oxJkyYRGxvL559/zrZt2zhw4ACenp4888wzXL16lTVr1vD9998X6Lnfffdd3nvvPSIiIhgzZgynTp3im2++Yc+ePWzbtg07OzumT5/OwoULWbFiBd988w2urq40bNjwnscrSIZFixZx8+ZNnnnmGXQ6HVOmTOHRRx8lMjLSdNrh2LFjtGrVikqVKvHGG2/g4uLC0qVL6d27N7/88gt9+vTJ8zWtWbOGAQMG0LFjRyZPngzAiRMn2LZtGy+88EK+348bN27QpUsXHn30UZ544gl+/vlnXn/9dRo0aEDXrl0BMBqN9OzZk61btzJq1Cjq1KnDkSNHmDZtGqdPn2blypX5PseyZctIS0tjzJgxlC9fnt27d/Pll19y5coVli1blmtfg8FA586dCQsL49NPP2Xt2rV89tlnVK9enTFjxgCgKAq9evVi69atjB49mjp16rBixQoGDx6cb44cKSkptGnThhMnTjBs2DCaNGlCfHw8v/32G1euXMHb25v09HTatWvH2bNnGTt2LEFBQSxbtowhQ4aQmJho+r6W5O+9OT/H9zNu3Di8vLx45513uHDhAtOnT2fs2LEsWbLEtM/8+fMZNmwY9erVY8KECXh6enLgwAFWr17Nk08+yZtvvklSUhJXrlxh2rRpALi6uub5nGvXrqVr165Uq1aNd999l/T0dL788ktatWrF/v37TYVWjieeeIKgoCAmTZrE/v37+e677/D19TX9uxw7doxHHnmEhg0b8v777+Pg4MDZs2fZtm2bRd8ToSFFiFJk3rx5CqCsXbtWuXbtmnL58mVl8eLFSvny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g1HjRPm4dhqOrVS327ysaRRhuU2nr3H4ShKOdnqGty6bgyIFLpbGjx/P+PHj0el0vP3226bPx48fzwsvvEC/fv0ICQkpsqAJCQk89dRTuLu74+npyfDhw0lJScn3Me3atUOn0+W6jR6duxHapUuX6N69O87Ozvj6+vLqq6+SnW2Fl+UKURC1u4NPHchIhl2ztE4jLPRkWBW8nO24cD2NVYejtY6Tty2fAYr6c+dfX+s0wgKKovDl7blKT4VVpby1L7djoQLPWTpw4ACgfuOOHDmCvb296Wv29vY0atSIV155pfAT3vbUU08RHR3NmjVryMrKYujQoYwaNYpFixbl+7iRI0fy/vvvmz53dnY2bRsMBrp3746/vz/bt28nOjqaQYMGYWdnx0cffVRkr0UIzej1at+lX4bDzhkQ9gw4eWqdSpjJxcGWEW2q8cnfp/hi/Rl6NKqITUlbciL+LBxZqm4/VHTvDaJobT0bz76LN7C31TPqoWpax9FMgYulnKvghg4dyueff467u3uRhfqvEydOsHr1avbs2UPTpk0B+PLLL+nWrRuffvopFStWzPOxzs7O+Pv73/Nr//zzD8ePH2ft2rX4+fkREhLCBx98wOuvv867776bqyAUotSo1wc2TYH4U+roUrvXtU4kLDAovCrfbokk8loqvx+6Su/GJax30eZP1M7xtbpApSZapxEWUBSF6WvPAPBk8yr4uZfdqTZmz1maN29esRZKADt27MDT09NUKAFERESg1+vZtWtXvo/98ccf8fb2pn79+kyYMIG0tLRcx23QoAF+fndWTO7cuTPJyckcO3Ysz2NmZGRIM05hvfQ2dwqknTNk7pKVcnO0Y+TtuUtfrDuDwahonOhf4s/cGVVq94a2WYTFckaVHGzv9Pgqq0r4NaeqmJgYfH19c91na2tLuXLliInJu8Hek08+yQ8//MCGDRuYMGEC33//PQMHDsx13H8XSoDp8/yOO2nSJDw8PEy3gIAAS16WENqp2xt8guFWEuyaqXUaYaHBLQPxdLYjMj6V3w6VoCvjTKNKXaFiY63TCAsoisK0NacBdY6cbxkeVQKNi6U33njjrgnY/72dPHnS4uOPGjWKzp0706BBA5566ikWLlzIihUrOHfu3APlnjBhAklJSaab9JcSVkdvA21fU7d3fC2jS1bK1cHWNLr05boScmVc/Bk4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0ujRo3nppZc8vmbr1q1ERUVVUaLyGTNmDCNHjix7nJeXR6NGjSxMJCIVwrcWNLnBvEm1FVjD55zyJHKpLC1LTz31FPfdd5/H1zRt2vQPbTssLAyAw4cPEx7+63iBw4cPExMTU/aaI0eOnPN9JSUlZGdnl33/+fj6+uLra80cHyIiIlK1LC1L9evXp379ymn+TZo0ISwsjCVLlpSVo7y8PNasWcPQoUMB6NSpEzk5OaSmptK+fXsAvv32W9xuN/Hx8ZWSS0RERKqXanNiNisri/T0dLKysigtLSU9PZ309HROnjxZ9pqoqChSUlIAc/DfiBEjePHFF5k/fz4ZGRnce++9RERE0Lt3bwBatWrFrbfeykMPPcTatWtZuXIlw4cPp3///uW+Ek5EREQub9VmgPdzzz3HjBkzyh63a9cOgKVLl5KQkADAtm3byM39dd6Np59+moKCAh5++GFycnLo0qULCxYsKJtjCWDmzJkMHz6c7t27l01KOXny5Kr5oURERMT2qt08S3akeZZERESqn/J+fleb03AiIiIiVlBZEhEREfFAZUlERETEA5UlEREREQ9UlkREREQ8UFkSERER8UBlSURERMQDlSURERERD1SWRERERDyoNsud2Nkvk6Dn5eVZnERERETK65fP7QstZqKyVAHy8/MBaNSokcVJRERE5GLl5+cTGBj4u1/X2nAVwO12c+DAAQICAnA4HBW23by8PBo1asTevXu15tzv0D7yTPvnwrSPPNP+uTDtI8/svH8MwyA/P5+IiAiczt8fmaQjSxXA6XTSsGHDStt+7dq1bfcPzG60jzzT/rkw7SPPtH8uTPvIM7vuH09HlH6hAd4iIiIiHqgsiYiIiHigsmRjvr6+JCUl4evra3UU29I+8kz758K0jzzT/rkw7SPPLof9owHeIiIiIh7oyJKIiIiIBypLIiIiIh6oLImIiIh4oLIkIiIi4oHKko298cYbXHXVVfj5+REfH8/atWutjmQb33//Pb169SIiIgKHw8G8efOsjmQr48ePp0OHDgQEBBASEkLv3r3Ztm2b1bFsIzk5mejo6LJJ8jp16sTXX39tdSzbmjBhAg6HgxEjRlgdxTaef/55HA7HObeoqCirY9nO/v37GTRoEHXr1sXf359rr72W9evXWx3roqks2dScOXMYOXIkSUlJpKWl0bZtW2655RaOHDlidTRbKCgooG3btrzxxhtWR7GlZcuWMWzYMFavXs3ixYspLi7m5ptvpqCgwOpottCwYUMmTJhAamoq69ev56abbuKOO+5g8+bNVkeznXXr1jF16lSio6OtjmI711xzDQcPHiy7rVixwupItnLixAk6d+6Mj48PX3/9NVu2bOHVV1+lTp06Vke7aJo6wKbi4+Pp0KEDr7/+OmCuP9eoUSMee+wxRo8ebXE6e3E4HKSkpNC7d2+ro9jW0aNHCQkJYdmyZXTt2tXqOLYUHBzMyy+/zAMPPGB1FNs4efIksbGxvPnmm7z44ovExMQwceJEq2PZwvPPP8+8efNIT0+3OoptjR49mpUrV7J8+XKro1wyHVmyoTNnzpCamkpiYmLZc06nk8TERFatWmVhMqmucnNzAbMQyLlKS0uZPXs2BQUFdOrUyeo4tjJs2DB69ux5zu8i+dX27duJiIigadOmDBw4kKysLKsj2cr8+fOJi4ujT58+hISE0K5dO6ZNm2Z1rD9EZcmGjh07RmlpKaGhoec8HxoayqFDhyxKJdWV2+1mxIgRdO7cmTZt2lgdxzYyMjKoVasWvr6+PProo6SkpNC6dWurY9nG7NmzSUtLY/z48VZHsaX4+HimT5/OggULSE5OZteuXdxwww3k5+dbHc02fv75Z5KTk2nevDkLFy5k6NChPP7448yYMcPqaBfN2+oAIlK5hg0bxqZNmzSe4t+0bNmS9PR0cnNz+eSTTxg8eDDLli1TYQL27t3LE088weLFi/Hz87M6ji316NGj7H50dDTx8fFERkby8ccf61TuWW63m7i4OMaNGwdAu3bt2LRpE2+99RaDBw+2ON3F0ZElG6pXrx5eXl4cPnz4nOcPHz5MWFiYRamkOho+fDhffvklS5cupWHDhlbHsRWXy0WzZs1o374948ePp23btkyaNMnqWLaQmprKkSNHiI2NxdvbG29vb5YtW8bkyZPx9vamtLTU6oi2ExQURIsWLdixY4fVUWwjPDz8N398tGrVqlqerlRZsiGXy0X79u1ZsmRJ2XNut5slS5ZoTIWUi2EYDB8+nJSUFL799luaNGlidSTbc7vdFBUVWR3DFrp3705GRgbp6ellt7i4OAYOHEh6ejpeXl5WR7SdkydPsnPnTsLDw62OYhudO3f+zZQlmZmZREZGWpToj9NpOJsaOXIkgwcPJi4ujo4dOzJx4kQKCgoYMmSI1dFs4eTJk+f8Bbdr1y7S09MJDg6mcePGFiazh2HDhjFr1iw+//xzAgICysa6BQYG4u/vb3E6640ZM4YePXrQuHFj8vPzmTVrFt999x0LFy60OpotBAQE/GZ8W82aNalbt67GvZ01atQoevXqRWRkJAcOHCApKQkvLy8GDBhgdTTbePLJJ7n++usZN24cffv2Ze3atbz99tu8/fbbVke7eIbY1pQpU4zGjRsbLpfL6Nixo7F69WqrI9nG0qVLDeA3t8GDB1sdzRbOt28A4/3337c6mi3cf//9RmRkpOFyuYz69esb3bt3NxYtWmR1LFvr1q2b8cQTT1gdwzb69etnhIeHGy6Xy2jQoIHRr18/Y8eOHVbHsp0vvvjCaNOmjeHr62tERUUZb7/9ttWR/hDNsyQiIiLigcYsiYiIiHigsiQiIiLigcqSiIiIiAcqSyIiIiIeqCyJiIiIeKCyJCIiIuKBypKIiIiIBypLIiIiIh6oLImIiIh4oLIkIiIi4oHKkojIv/noo4/w9/fn4MGDZc8NGTKE6OhocnNzLUwmIlbQ2nAiIv/GMAxiYmLo2rUrU6ZMISkpiffee4/Vq1fToEEDq+OJSBXztjqAiIjdOBwOxo4dy913301YWBhTpkxh+fLlKkoiVygdWRIR+R2xsbFs3ryZRYsW0a1bN6vjiIhFNGZJROQ8FixYwE8//URpaSmhoaFWxxERC+nIkojIv0lLSyMhIYGpU6cyffp0ateuzdy5c62OJSIW0ZglEZF/sXv3bnr27MkzzzzDgAEDaNq0KZ06dSItLY3Y2Fir44mIBXRkSUTkrOzsbK6//noSEhJ46623yp7v2bMnpaWlLFiwwMJ0ImIVlSURERERDzTAW0RERMQDlSURERERD1SWRERERDxQWRIRERHxQGVJRERExAOVJREREREPVJZEREREPFBZEhEREfFAZUlERETEA5UlEREREQ9UlkREREQ8UFkSERER8eD/AU7eTJq4WIifAAAAAElFTkSuQmCC\n"},"metadata":{}}]},{"cell_type":"markdown","source":["The only difference when plotting data is that we typically do not connect up the points, and you can accomplish this using the \"scatter\" function in matplotlib."],"metadata":{"id":"Xrf0wnGb352L"}},{"cell_type":"code","source":["xdata = np.arange(0,2*pi,2*pi/20)\n","ydata = np.sin(xdata)\n","plt.xlabel('$x$')\n","plt.ylabel('$\\sin(x)$')\n","plt.title('Plot of sine \\\"data\\\"')\n","plt.scatter(xdata,ydata)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":489},"id":"RPnQSsqm20Aq","executionInfo":{"status":"ok","timestamp":1717012419896,"user_tz":420,"elapsed":1568,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"ba986250-8211-418d-86c8-6d33b33858e1"},"execution_count":59,"outputs":[{"output_type":"execute_result","data":{"text/plain":["<matplotlib.collections.PathCollection at 0x7ab881f03280>"]},"metadata":{},"execution_count":59},{"output_type":"display_data","data":{"text/plain":["<Figure size 640x480 with 1 Axes>"],"image/png":"iVBORw0KGgoAAAANSUhEUgAAAk0AAAHHCAYAAACiOWx7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABDT0lEQVR4nO3df1yV9f3/8ecBhaMFR1HgQJGgNpXMXyhEP2ZLJphzeltb6fRjstLNtDJspftOkazMuflxpmH5Sc2Zq9Wmy62RDrVWkTgZS9NcNkxTDqjkOYqByrm+f3jjzDNALxE458Djfrtdt3ne5329z+u6dul5dv14H4thGIYAAABwSUG+LgAAACAQEJoAAABMIDQBAACYQGgCAAAwgdAEAABgAqEJAADABEITAACACYQmAAAAEwhNAAAAJhCaAJi2fft2WSwWbd++3delePnNb36j3r17q3379urUqdNVjXXnnXfqzjvvbJK6WsK8efNksVh8XQbQJhCaAGjNmjWyWCyexWq16hvf+IamT5+usrKyJvmMt99+W/PmzWuSsS726aefatKkSerRo4dWrlypl156qck/oyUcPHjQK5BaLBatWbOmWT/zhRdeuKrP8EXNgC+183UBAPzHU089pYSEBFVVVen9999Xbm6u3n77be3Zs0cdO3a8qrHffvttLV++vMmD0/bt2+V2u/XrX/9aPXv2vOrxNm/e3ARVBYYXXnhBXbt21aRJk3xdChAQCE0APEaMGKHBgwdLkh588EF16dJFixcv1h//+EeNGzfOx9XVr7y8XJKu+rJcrZCQkCYZB0Drw+U5AA266667JEklJSWX7PfGG28oKSlJHTp0UNeuXTVhwgQdOXLE8/6kSZO0fPlySfK6DHg5L7zwgm666SaFhoYqNjZW06ZN08mTJz3vx8fHKzs7W5IUGRkpi8VyyTNZDodDmZmZuv766xUaGqqYmBiNHj1aBw8e9PT573uaau/j+t3vfqdnnnlG119/vaxWq4YNG6YDBw7U+YwdO3YoIyNDNptNHTt21NChQ/XBBx9cdlvNeP/99zVkyBBZrVb16NFDL774Yr39Vq9erbvuuktRUVEKDQ1VYmKicnNzvfrEx8frk08+0bvvvuv5/6N2uysqKvT444/r5ptv1rXXXqvw8HCNGDFC//znP5tkO4BAxZkmAA36/PPPJUldunRp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9j2Ato7QhIBSfqrhL+3G9IN57HsAbR2hCQElKszapP1gHvseQFtHaEJASU6IUIzNqoYebrfowpNcyQkRLVlWm8C+B9DWEZoQUIKDLMoelShJdb68a19nj0pkzqBmwL4H0NYRmhBwMvrGKHfCINlt3peB7DarcicMYq6gZsS+B9CWWQzD4PngJuJyuWSz2eR0OhUeHu7rclo9ZqX2HfY9gNbE7Pd3wJ5pWr58ueLj42W1WpWSkqLCwsIG+955552yWCx1lpEjR3r6TJo0qc77GRkZLbEpaKTgIItSe3TR6AHXKbVHF760WxD7HkBbFJA/o/L6668rKytLK1asUEpKipYsWaL09HTt379fUVFRdfr/4Q9/0NmzZz2vT5w4of79++sHP/iBV7+MjAytXr3a8zo0NLT5NgIAAASUgDzTtHjxYk2ePFmZmZlKTEzUihUr1LFjR61atare/hEREbLb7Z5ly5Yt6tixY53QFBoa6tWvc+fOLbE5AAAgAARcaDp79qx27dqltLQ0T1tQUJDS0tJUUFBgaoyXX35ZY8eO1TXXXOPVvn37dkVFRalXr16aOnWqTpw4cclxqqur5XK5vBYAANA6BVxoOn78uGpqahQdHe3VHh0dLYfDcdn1CwsLtWfPHj344INe7RkZGVq7dq3y8/O1cOFCvfvuuxoxYoRqamoaHGvBggWy2WyeJS4urnEbBQAA/F5A3tN0NV5++WXdfPPNSk5O9mofO3as588333yz+vXrpx49emj79u0aNmxYvWPNnj1bWVlZntcul4vgBABAKxVwZ5q6du2q4OBglZWVebWXlZXJbrdfct3Kykq99tpreuCBBy77Od27d1fXrl114MCBBvuEhoYqPDzcawEAAK1TwIWmkJAQJSUlKT8/39PmdruVn5+v1NTUS677xhtvqLq6WhMmTLjs53z55Zc6ceKEYmKYrA8AAARgaJKkrKwsrVy5Uq+88or27dunqVOnqrKyUpmZmZKkiRMnavbs2XXWe/nllzVmzBh16dLFq/306dP66U9/qo8++kgHDx5Ufn6+Ro8erZ49eyo9Pb1FtgkAAPi3gLyn6b777tOxY8c0d+5cORwODRgwQHl5eZ6bww8dOqSgIO88uH//fr3//vvavHlznfGCg4P18ccf65VXXtHJkycVGxur4cOHa/78+czVBAAAJPEzKk2Kn1EB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\n"},"metadata":{}}]},{"cell_type":"markdown","source":["# Control Structures"],"metadata":{"id":"kkYMONje5AXn"}},{"cell_type":"markdown","source":["As a programming language, python includes all the usual test and control structures.  The ones we will be using include \"if-then-else\", \"for\" and \"while\" loops.  \n","\n","\n","The \"if\" test has the form \"if (test is true): (do one thing) else: (do another)\"."],"metadata":{"id":"KwguKH5F5DT-"}},{"cell_type":"code","source":["if 3 < 5:\n","  print('three is less than five')\n","else:\n","  print('three is not less than five')"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"160CMrhM5CWq","executionInfo":{"status":"ok","timestamp":1717012420124,"user_tz":420,"elapsed":12,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"9763af2d-611c-4287-9ac4-67799851fe29"},"execution_count":60,"outputs":[{"output_type":"stream","name":"stdout","text":["three is less than five\n"]}]},{"cell_type":"markdown","source":["The for loop uses an iterator to carry out commands - the structure is \"for (iterator) in (values): (do something)\"."],"metadata":{"id":"xs9TG0gd5uAS"}},{"cell_type":"code","source":["for j in np.arange(0,10,1):\n","  print(j)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"kGiz17O25nwH","executionInfo":{"status":"ok","timestamp":1717012420124,"user_tz":420,"elapsed":11,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"84930d1c-3d49-43fc-f668-2be78808a5c0"},"execution_count":61,"outputs":[{"output_type":"stream","name":"stdout","text":["0\n","1\n","2\n","3\n","4\n","5\n","6\n","7\n","8\n","9\n"]}]},{"cell_type":"code","source":["sum = 0\n","for j in np.arange(1,11,1):\n","  sum = sum + j\n","print(sum)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"p7ky0xebVF6U","executionInfo":{"status":"ok","timestamp":1717012420124,"user_tz":420,"elapsed":6,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"e2c079b8-daef-47b4-b743-74cdf69730e5"},"execution_count":62,"outputs":[{"output_type":"stream","name":"stdout","text":["55\n"]}]},{"cell_type":"markdown","source":["The while loop repeatedly runs a sequence of commands until a specified test returns false.  The syntax is \"while (test is true):  (do something)\"."],"metadata":{"id":"qri2hFPW6UOn"}},{"cell_type":"code","source":["j = 10\n","while j <= 20:\n","  j = j+1\n","  print(j)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"LnD8xCs16epk","executionInfo":{"status":"ok","timestamp":1717012420307,"user_tz":420,"elapsed":185,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"d4ba1ce2-ba97-4685-b2b3-af68e20a4366"},"execution_count":63,"outputs":[{"output_type":"stream","name":"stdout","text":["11\n","12\n","13\n","14\n","15\n","16\n","17\n","18\n","19\n","20\n","21\n"]}]},{"cell_type":"markdown","source":["# Functions"],"metadata":{"id":"AAqb66FcVT2c"}},{"cell_type":"markdown","source":["The most important feature of any programming language is our ability to put repetitive tasks together into functions that take in inputs (\"arguments\") and return values.  \n","\n","\n","In python, functions are defined using the \"def\" command.  The structure is \"def nameoffunction(arg1, arg2, . . . ): (do something)\".  We'll start with a function that finds the mean of a list of numbers."],"metadata":{"id":"Z_XZQGs-VXaZ"}},{"cell_type":"code","source":["def mymean(inlist):\n","  sum = 0\n","  for j in np.arange(0,len(inlist),1):\n","    sum = sum + inlist[j]\n","  retval = sum/len(inlist)\n","  return(retval)"],"metadata":{"id":"wx_ItcwIVWCK","executionInfo":{"status":"ok","timestamp":1717012420307,"user_tz":420,"elapsed":6,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}}},"execution_count":64,"outputs":[]},{"cell_type":"markdown","source":["The function above is named \"mymean\" (that is the name we will use to call it).  It takes one input argument, \"inlist\".  Inside the body of the function, there is a variable \"sum\" that is set to zero initially (this variable is a \"local variable\", it is defined inside the function, and only available within the function).  There is a for loop that adds the elements of inlist to the sum, and finally, a new variable, \"retval\", that divides the sum by the length of the list, this is the value that is returned using the \"return\" command."],"metadata":{"id":"DPqbQWe3WCvt"}},{"cell_type":"code","source":["alist = np.array([1, 2, 3, 4])\n","mymean(alist)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"nZoLRifNV9II","executionInfo":{"status":"ok","timestamp":1717012420307,"user_tz":420,"elapsed":5,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"fa8f1b10-aea2-48f1-9973-e630ddb21160"},"execution_count":65,"outputs":[{"output_type":"execute_result","data":{"text/plain":["2.5"]},"metadata":{},"execution_count":65}]},{"cell_type":"markdown","source":["As another example, here is a function that adds together two input vectors and returns the sum."],"metadata":{"id":"jhyW70ecWu48"}},{"cell_type":"code","source":["def addvecs(ina, inb):\n","  outvec = np.zeros(len(ina))\n","  for j in np.arange(0,len(ina),1):\n","    outvec[j] = ina[j] + inb[j]\n","  return(outvec)"],"metadata":{"id":"bUa-YSoTWk5C","executionInfo":{"status":"ok","timestamp":1717012420307,"user_tz":420,"elapsed":1,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}}},"execution_count":66,"outputs":[]},{"cell_type":"code","source":["av = np.array([1,2,3,4])\n","bv = np.array([5,6,7,8])\n","cv = addvecs(av, bv)\n","print(cv)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"Hojfhya7XCYH","executionInfo":{"status":"ok","timestamp":1717012420548,"user_tz":420,"elapsed":3,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"77430467-145b-498d-f861-922934c63c73"},"execution_count":67,"outputs":[{"output_type":"stream","name":"stdout","text":["[ 6.  8. 10. 12.]\n"]}]},{"cell_type":"markdown","source":["The vector addition function doesn't carry out mathematically relevant checks, like seeing if the two vectors have the same length or not.  We can add in those checks, making it a safer function for other users."],"metadata":{"id":"h1O7yPn5XNRW"}},{"cell_type":"code","source":["def addvecs(ina, inb):\n","  if len(ina) != len(inb):\n","    print('vectors must be the same length')\n","    return\n","  else:\n","    outvec = np.zeros(len(ina))\n","    for j in np.arange(0,len(ina),1):\n","      outvec[j] = ina[j] + inb[j]\n","  return(outvec)"],"metadata":{"id":"hUUGr1GRXKzt","executionInfo":{"status":"ok","timestamp":1717012420548,"user_tz":420,"elapsed":1,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}}},"execution_count":68,"outputs":[]},{"cell_type":"code","source":["bv = np.array([5,6,7,8,9])\n","cv = addvecs(av,bv)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"L4ZfWJisXiWL","executionInfo":{"status":"ok","timestamp":1717012420726,"user_tz":420,"elapsed":7,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"022f2983-b328-4510-d349-a1f8f4af712f"},"execution_count":69,"outputs":[{"output_type":"stream","name":"stdout","text":["vectors must be the same length\n"]}]},{"cell_type":"markdown","source":["The empty \"return\" in our new-and-improved vector adder will return \"None\" as its value - so if you were to use the vector addition function in a program, and you accidentally asked it to add two vectors of different lengths, it would return a value that could not be the result of such an addition, and one for which you can test:"],"metadata":{"id":"Bc0pWwBIXxQV"}},{"cell_type":"code","source":["if cv == None:\n","  print('vector addition was unsuccessful')"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"rX67DC_OXlar","executionInfo":{"status":"ok","timestamp":1717012420726,"user_tz":420,"elapsed":6,"user":{"displayName":"Joel Franklin","userId":"17364471411922716815"}},"outputId":"e3b6a267-a7e0-46d2-cb10-45d070d6a350"},"execution_count":70,"outputs":[{"output_type":"stream","name":"stdout","text":["vector addition was unsuccessful\n"]}]},{"cell_type":"markdown","source":["# Problems"],"metadata":{"id":"_qYraJK0edAj"}},{"cell_type":"markdown","source":["Problem 1.  You can use a question mark after a function name to obtain documentation about it, try this out using \"print?\".  Import the \"random\" module and find out about the function \"random\" (you'll need to point the help towards the random function within the module . . . )  Generate a random number."],"metadata":{"id":"evQhqRFtes03"}},{"cell_type":"markdown","source":["Problem 2.  Write a function that takes in two vectors and computes their dot product.  Have the function check that the vectors have the same length, and act accordingly.  "],"metadata":{"id":"_od5Z7FahJy0"}},{"cell_type":"markdown","source":[" Problem 3.  Find the series form of the sine function (you can look it up, or develop it directly from the Taylor expansion).  Write a function that takes in an angle \"theta\" and a number \"nterms\", and returns the value of \"sine(theta)\" from the series expansion truncated at nterms.  Set theta = 1.2, and run your function for nterms = 1, 2, 3, 4, 5.  Make a plot of nterms versus the value your function returns at that truncation level.  How close is your truncated value at nterms = 5 to the \"true\" value determined by numpy's sine function (subtract the two)?"],"metadata":{"id":"7n8xh5dtnMyv"}},{"cell_type":"markdown","source":["Problem 4. Write a function that takes, as input, a size n and generates a vector of length n with random entries.  Write another function that receives input n and generates an array of length n that is made up of triples - each entry is a vector of length 3.  We could use such an array to describe the individual, three dimensional locations of n particles, for example."],"metadata":{"id":"5EyM6IYQb-2V"}},{"cell_type":"markdown","source":["Problem 5.  For n=1000 \"particles\" generate a set of (random) masses and positions using your functions from the previous problem.  Write a function that takes these mass and position lists as input and returns the center of mass of the system."],"metadata":{"id":"K1IcOaFsceom"}}]}