Skip to content

Instantly share code, notes, and snippets.

@hannorein
Created September 24, 2018 15:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hannorein/4c5615524f9fd0547621871324aaaf55 to your computer and use it in GitHub Desktop.
Save hannorein/4c5615524f9fd0547621871324aaaf55 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Floating point numbers\n",
"## Understanding Part 1 of the Assignment"
]
},
{
"cell_type": "code",
"execution_count": 149,
"metadata": {},
"outputs": [],
"source": [
"import struct\n",
"def printfloat(f):\n",
" b= ''.join(bin(c).replace('0b', '').rjust(8, '0') for c in struct.pack('!d', f))\n",
" print(\"%+.18f %s %s %s \"%(f,b[0],b[1:12],b[12:])) "
]
},
{
"cell_type": "code",
"execution_count": 150,
"metadata": {},
"outputs": [],
"source": [
"def f(x):\n",
" return ((x+1.)-1.)/x"
]
},
{
"cell_type": "code",
"execution_count": 151,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.9992007221626409"
]
},
"execution_count": 151,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"f(1e-14)"
]
},
{
"cell_type": "code",
"execution_count": 152,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"+1.000000000000000000 0 01111111111 0000000000000000000000000000000000000000000000000000 \n",
"+0.000000000000010000 0 01111010000 0110100001001001101110000110101000010010101110011011 \n",
"+1.000000000000009992 0 01111111111 0000000000000000000000000000000000000000000000101101 \n",
"+0.000000000000009992 0 01111010000 0110100000000000000000000000000000000000000000000000 \n",
"+0.999200722162640886 0 01111111110 1111111110010111001111001010111110101000000000000000 \n"
]
}
],
"source": [
"printfloat(1.)\n",
"printfloat(1.e-14)\n",
"printfloat(1.+1.e-14)\n",
"printfloat((1.+1.e-14)-1.0)\n",
"printfloat(((1.+1.e-14)-1.0)/1e-14)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Understanding part 2 of the assignment"
]
},
{
"cell_type": "code",
"execution_count": 153,
"metadata": {},
"outputs": [],
"source": [
"def g(x):\n",
" for i in range(620):\n",
" x = x*10\n",
" return x"
]
},
{
"cell_type": "code",
"execution_count": 154,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"inf"
]
},
"execution_count": 154,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"g(1.1)"
]
},
{
"cell_type": "code",
"execution_count": 155,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"+1.100000000000000089 0 01111111111 0001100110011001100110011001100110011001100110011010 \n",
"+2.200000000000000178 0 10000000000 0001100110011001100110011001100110011001100110011010 \n",
"+35.200000000000002842 0 10000000100 0001100110011001100110011001100110011001100110011010 \n",
"+98873122417427382908473023632275606974479585989181125770191586378583137703214499471837230003180407951447924604472070704082121749617910118260818040426085411364459534523001698181988912585028057835850081401098701903474409853464050558133894031280936535995263854668699094060454612769188010537093426902669362987008.000000000000000000 0 11111111110 0001100110011001100110011001100110011001100110011010 \n",
"+inf 0 11111111111 0000000000000000000000000000000000000000000000000000 \n"
]
}
],
"source": [
"printfloat(1.1)\n",
"printfloat(1.1*2.)\n",
"printfloat(1.1*2.*2.*2.*2.*2.)\n",
"x = 1.1\n",
"for i in range(1023):\n",
" x = x*2.\n",
"printfloat(x)\n",
"printfloat(2.*x)"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"8.98846567431158e+307"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"2.**1023"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Working with packages\n",
"## Numpy"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [],
"source": [
"pi = np.pi"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Creating numpy arrays from python lists"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [],
"source": [
"a = [1.,2.,3.,4.]"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [],
"source": [
"b = np.array([1.,2.,3.,4.])"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 9., 11., 13., 15.])"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"2.*b+7."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Creating arrays with np.zeros"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {},
"outputs": [],
"source": [
"c = np.zeros(1000)"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [],
"source": [
"c[0] = 9"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {},
"outputs": [],
"source": [
"c[999] = 7."
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([9., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 7.])"
]
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"c"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Creating arrays with linspace"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 0. , 1.11111111, 2.22222222, 3.33333333, 4.44444444,\n",
" 5.55555556, 6.66666667, 7.77777778, 8.88888889, 10. ])"
]
},
"execution_count": 56,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.linspace(0.,10.,10)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Arrays have a datatype too\n",
"Floating point by default. Here is an integer one:"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])"
]
},
"execution_count": 57,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.zeros(10,dtype=int)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Matplotlib\n",
"## Plotting data with plot and scatter"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 100,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x10c8d0390>"
]
},
"execution_count": 100,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(1,1)\n",
"ax.plot(np.array([1,2]),np.array([3,4]))\n",
"ax.plot(np.array([1,2]),np.array([7,2]))\n",
"\n",
"ax.scatter(np.array([1,2]),np.array([3,4]))\n",
"ax.scatter(np.array([1,2]),np.array([7,2]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Plotting a function"
]
},
{
"cell_type": "code",
"execution_count": 156,
"metadata": {},
"outputs": [],
"source": [
"x = np.linspace(0.,10.,300)"
]
},
{
"cell_type": "code",
"execution_count": 157,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 0. , 0.03344482, 0.06688963, 0.10033445, 0.13377926,\n",
" 0.16722408, 0.2006689 , 0.23411371, 0.26755853, 0.30100334,\n",
" 0.33444816, 0.36789298, 0.40133779, 0.43478261, 0.46822742,\n",
" 0.50167224, 0.53511706, 0.56856187, 0.60200669, 0.63545151,\n",
" 0.66889632, 0.70234114, 0.73578595, 0.76923077, 0.80267559,\n",
" 0.8361204 , 0.86956522, 0.90301003, 0.93645485, 0.96989967,\n",
" 1.00334448, 1.0367893 , 1.07023411, 1.10367893, 1.13712375,\n",
" 1.17056856, 1.20401338, 1.23745819, 1.27090301, 1.30434783,\n",
" 1.33779264, 1.37123746, 1.40468227, 1.43812709, 1.47157191,\n",
" 1.50501672, 1.53846154, 1.57190635, 1.60535117, 1.63879599,\n",
" 1.6722408 , 1.70568562, 1.73913043, 1.77257525, 1.80602007,\n",
" 1.83946488, 1.8729097 , 1.90635452, 1.93979933, 1.97324415,\n",
" 2.00668896, 2.04013378, 2.0735786 , 2.10702341, 2.14046823,\n",
" 2.17391304, 2.20735786, 2.24080268, 2.27424749, 2.30769231,\n",
" 2.34113712, 2.37458194, 2.40802676, 2.44147157, 2.47491639,\n",
" 2.5083612 , 2.54180602, 2.57525084, 2.60869565, 2.64214047,\n",
" 2.67558528, 2.7090301 , 2.74247492, 2.77591973, 2.80936455,\n",
" 2.84280936, 2.87625418, 2.909699 , 2.94314381, 2.97658863,\n",
" 3.01003344, 3.04347826, 3.07692308, 3.11036789, 3.14381271,\n",
" 3.17725753, 3.21070234, 3.24414716, 3.27759197, 3.31103679,\n",
" 3.34448161, 3.37792642, 3.41137124, 3.44481605, 3.47826087,\n",
" 3.51170569, 3.5451505 , 3.57859532, 3.61204013, 3.64548495,\n",
" 3.67892977, 3.71237458, 3.7458194 , 3.77926421, 3.81270903,\n",
" 3.84615385, 3.87959866, 3.91304348, 3.94648829, 3.97993311,\n",
" 4.01337793, 4.04682274, 4.08026756, 4.11371237, 4.14715719,\n",
" 4.18060201, 4.21404682, 4.24749164, 4.28093645, 4.31438127,\n",
" 4.34782609, 4.3812709 , 4.41471572, 4.44816054, 4.48160535,\n",
" 4.51505017, 4.54849498, 4.5819398 , 4.61538462, 4.64882943,\n",
" 4.68227425, 4.71571906, 4.74916388, 4.7826087 , 4.81605351,\n",
" 4.84949833, 4.88294314, 4.91638796, 4.94983278, 4.98327759,\n",
" 5.01672241, 5.05016722, 5.08361204, 5.11705686, 5.15050167,\n",
" 5.18394649, 5.2173913 , 5.25083612, 5.28428094, 5.31772575,\n",
" 5.35117057, 5.38461538, 5.4180602 , 5.45150502, 5.48494983,\n",
" 5.51839465, 5.55183946, 5.58528428, 5.6187291 , 5.65217391,\n",
" 5.68561873, 5.71906355, 5.75250836, 5.78595318, 5.81939799,\n",
" 5.85284281, 5.88628763, 5.91973244, 5.95317726, 5.98662207,\n",
" 6.02006689, 6.05351171, 6.08695652, 6.12040134, 6.15384615,\n",
" 6.18729097, 6.22073579, 6.2541806 , 6.28762542, 6.32107023,\n",
" 6.35451505, 6.38795987, 6.42140468, 6.4548495 , 6.48829431,\n",
" 6.52173913, 6.55518395, 6.58862876, 6.62207358, 6.65551839,\n",
" 6.68896321, 6.72240803, 6.75585284, 6.78929766, 6.82274247,\n",
" 6.85618729, 6.88963211, 6.92307692, 6.95652174, 6.98996656,\n",
" 7.02341137, 7.05685619, 7.090301 , 7.12374582, 7.15719064,\n",
" 7.19063545, 7.22408027, 7.25752508, 7.2909699 , 7.32441472,\n",
" 7.35785953, 7.39130435, 7.42474916, 7.45819398, 7.4916388 ,\n",
" 7.52508361, 7.55852843, 7.59197324, 7.62541806, 7.65886288,\n",
" 7.69230769, 7.72575251, 7.75919732, 7.79264214, 7.82608696,\n",
" 7.85953177, 7.89297659, 7.9264214 , 7.95986622, 7.99331104,\n",
" 8.02675585, 8.06020067, 8.09364548, 8.1270903 , 8.16053512,\n",
" 8.19397993, 8.22742475, 8.26086957, 8.29431438, 8.3277592 ,\n",
" 8.36120401, 8.39464883, 8.42809365, 8.46153846, 8.49498328,\n",
" 8.52842809, 8.56187291, 8.59531773, 8.62876254, 8.66220736,\n",
" 8.69565217, 8.72909699, 8.76254181, 8.79598662, 8.82943144,\n",
" 8.86287625, 8.89632107, 8.92976589, 8.9632107 , 8.99665552,\n",
" 9.03010033, 9.06354515, 9.09698997, 9.13043478, 9.1638796 ,\n",
" 9.19732441, 9.23076923, 9.26421405, 9.29765886, 9.33110368,\n",
" 9.36454849, 9.39799331, 9.43143813, 9.46488294, 9.49832776,\n",
" 9.53177258, 9.56521739, 9.59866221, 9.63210702, 9.66555184,\n",
" 9.69899666, 9.73244147, 9.76588629, 9.7993311 , 9.83277592,\n",
" 9.86622074, 9.89966555, 9.93311037, 9.96655518, 10. ])"
]
},
"execution_count": 157,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If it's a numpy function:"
]
},
{
"cell_type": "code",
"execution_count": 73,
"metadata": {},
"outputs": [],
"source": [
"sinx = np.zeros(len(x))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Doing it element-wise by hand:"
]
},
{
"cell_type": "code",
"execution_count": 158,
"metadata": {},
"outputs": [],
"source": [
"for i in range(len(x)):\n",
" sinx[i] = np.sin(x[i])+np.random.random() #adding some random numbers to simulate noise here"
]
},
{
"cell_type": "code",
"execution_count": 159,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x10d894940>"
]
},
"execution_count": 159,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAX8AAAD8CAYAAACfF6SlAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJztnX9wndWZ37+PpIt9bToWLJoEXxB2p4w9IR6sRZN41zM7sZPFCQRQgcRkyTbJ7A5tZ9NdXKpW7DIxMHRQ1+1CpkmTehIa0jDEELOKqZk6u2t30jKFRkJyHYPd0hDAF7IoMSJLrOAr6+kf977yq/eec97z/v71fGY8lu599f6495znPOf5ScwMQRAEoVr0ZH0DgiAIQvqI8BcEQaggIvwFQRAqiAh/QRCECiLCXxAEoYKI8BcEQaggIvwFQRAqiAh/QRCECiLCXxAEoYL0RT0BEV0O4NsA3geAAexl5i97jiEAXwZwHYAzAD7PzC+YznvJJZfwunXrot6eIAhCpZiamvo5Mw/4HRdZ+ANYAHAXM79ARH8PwBQR/RUzv+g65hMAruz8+zCAr3X+17Ju3TpMTk7GcHuCIAjVgYhetTkustmHmd90tHhm/jsALwFoeA67CcC3uc1zAPqJ6NKo1xYEQRDCEavNn4jWARgC8LznrQaA112/n0L3AiEIgiCkRGzCn4guBLAfwJ3M/MuQ57iDiCaJaHJ2djauWxMEQRA8xCL8iaiGtuB/jJmfUhzSBHC56/fLOq8tg5n3MvMwMw8PDPj6KwRBEISQRBb+nUiebwJ4iZn/QnPYAQD/iNpsAfAOM78Z9dqCIAhCOOKI9tkK4PcBHCOimc5rfwpgEACY+esAnkE7zPNltEM9vxDDdQVBEISQRBb+zPw/AJDPMQzgj6Jeq0hMTDex59BJvDE3j7X9dYzu2ICRoUbgYwRBEJIgDs1f8DAx3cTdTx3DfOscAKA5N4+7nzoGAEvC3eYYQRCEpKC89vAdHh7moiZ5bR0/jObcfNfrvURYZMba/jrOnF3A22daXcc0+ut4dmx7GrcpCEIJIaIpZh72O040/wR4QyH4AeBcZ6FVLQx+f+sgpiJBEOJAhH8CrO2vGwW839+6mZhu4t4DxzE3371LEFORIAhhEbNPAnjt+bbUeggXruzD3JkW1vbXsW3jAPb9r9fRWjR/R/31Glav6JPdgCAIYvbJEkfwOuaZHqIlk48bt9BeU6/hVy4/QHNuHo899xpslua5+dbSzkB2A4Ig2CDCPyFGhhrayB4AqNd6ce+NVy0ds3X8cJdpJ+yebL51DnsOnRThL+QC8VPlExH+KeDdCayp10AE7No3gz2HTmJ0xwZfR29Q4j6fIIRBQprziwj/lHB2ArrJ0L+qpgz9NNGrMScB3Y5jQciCPYdOdvm+nJ2p877sCLJBhH8EdNtZ0zZXNxlW9PWgXuvtMg3dck0D+6dOYb612HV9neCv9RDOnF3A+rGDMqmETNHtQB2lJ+4dgZiY7JEeviFxNPjm3DwY5wfvPRPHlK9PTLeLmOomwzvzLTx48yY0+usgtJO9Hrx5Ex4Y2YSLV6+wvq/+eg0g4O0zLeX1BSFNTDtQ044gDLo5KWNfjWj+IdFp8I8//3qXRr5sUBOUnty1/fVlTmI3tvZ7ArB6RV+X41gcwEJWjO7YgF37ZqyDF6L4qkwmJhn73YjwD4lfFq+X5tw8Rp88CtXbtV7C6I4NANTbVtuksbX9de19iQNYyIKRoQbu3Dfjf2CHKL4qGfvBELNPSMIMUl2y1uoL+pY5g73b1m0bB1Cv9RrPXa/1Li0Ucd2vIMRBQzP2vKWAnTEcFhn7wRDhH5LRHRt8BbIt73TMNLpt65ETs13+gM9uGezyD4wMNZT35Z5UE9NNbB0/jPVjB7F1/LDYQ4XE0Y3J2zVjOO7rRFlQyoyYfULiDNIgW1odjmZi2rbq/AG6+9JFIUnMtRCUqBE0pjEZJ2ldpyxIbZ8QuCeDrnRDo2N/9/t0a72EPbdeDQC464mj2nPFUeZZV2paykgLOlTZ6d4aVCJg84XU9kkI72RQCWtnq7nn0Emjo/aiVTXsvuEqTL56WlvHx7RtDaqRiUNMCIrKFNla5GU1qGT3WExE+AdENRmA5Y1a3EJYVdPnwZs3LZ3LZDbqJdLaQcOYcHRRQ+IQE3TYKAYSTllMRPgHRDcZFpnxyvj1y17T2SCB7kVBd07dhNI5h+89cFz7N6M7NigXI3GICTpsw4zD7h7du1en5lVQc5Jk9YZDhH9AgmrPKkft1vHDVrX+TRq5brLNzbcwMd1UDn5xiAlBUSkMKsLsHr27V3dyoq05SYIYwiOhngGJI5zMRkuizrV0mCabKUV+ZKiBZ8e245Xx6/Hs2HaZIIKRkaHGsjDj/noNtd7lEfphd486E6qDTbkHv8Jxgh7R/AMSh/bst5UmALdvGTSec3THBq2/QBy4Qpx4d69xmVlsxqnfMRLEEB4R/iGwjbnXodpKOyV/GpaTaWSogfuePq4sAy0OXCFJgox/00Jh40/wG8sSxBAeEf4ZYLN7sNGudt9wlThwhUSIQ7v3s8f7FX2zGcu6IIZtGwewdfyw+LYMSJJXDtG1fVSFfUqkgxA3qvHnmCIfGNlkfR6bpMJ7Jo4pc1ycHJgw0T7bNg5g/1SzsvPHNslLhH8OkUxcIUt0448APLRzs7VwXD92UKnVE7AsLDqIALY51nb+BFGyikSqGb5E9AiATwJ4i5k/qHj/IwC+D+CVzktPMfP9cVy7jGTlxCqjFiQERzfOGAiUzGVrj7f1IdiGddrOn6rX/48r1PNbAD7uc8x/Z+bNnX+lFfxxVM3MojStdEESHMLkl6iIu8qmbVin7fypeqRQLMKfmX8I4HQc58ozfoI9LgGaRWlaiZcWHEZ3bOiqte8QRAHx5ghELdtsK6xt50/V6/+nGe3zW0R0FMAbAP4FMx/3HkBEdwC4AwAGBwdTvDV/bLaccW0js8jErboWJJxnZKihLDYYRgGJGhYNnDdH6ryTDGDd2MEuJ7FfNN2v3lvoOleVouXSEv4vALiCmd8lousATAC40nsQM+8FsBdoO3xTujcr/AT7xHRTG7McRoDGMWmCIPHSgpsHRjZh+IqLM/cBqZyyOt4+08Lo944COD9/nIVj174Z7Dl00re21spadYoepCL8mfmXrp+fIaL/QESXMPPP07h+UFSOT5Nm7AxQHXkToKrnk6Jvgpe0FRAVfiUgvLTO8TKFzLtbv3PfDHoI0HRUxdtnWpWpDZTKMkdE7yci6vz8oc51f5HGtYOis9v3r6opj1/bXzcO0LwJUN3zAYjVPisIQVD500y7aROOoqablzrB71AVX1dcoZ6PA/gIgEuI6BSA3QBqAMDMXwdwK4B/SkQLAOYB3MY5TTDQmXdW9PWgXutVasa7DDX50xagfuGaJvOVFHoTwhIlTFiloY8+ebS7w7slfm1RbaiCrysW4c/Mn/F5/ysAvhLHtZLAPXB1K9I78y08tHOzcoDrOnaFHLuhmJhu4t4Dx33L4uoGdXNuHuvHDkp8vxCYqGWVdd3CwlDrpaWdtm0vAhV5M9UmQeUzfG0dSqbs2onpprZGSRpZuX7P4L4HXfajmzJkOQrpYRpTukKFNgpXULzRPrZz2ymq6P3dtshi3rDN8K2Oa1uDjUPJz24/MtTQDuA0to9+z+C+B1UMtJf51jncuW8mdJKaUEzCJiiaxrgq18XrdwpCf72mjOF/eOdmTH/p2mWC2skz6K+r/XXO396+ZRCNjqbvXgjKnuhYeeFvGrhBHJ+NDBNG/BYY9z14E29MlH3wC+eJkqDoN8a9DlQbhavWQ8qmMffeeJVvYIJ7Edtz6CTuvfEqPLxzM3qpe8TPt87hyIlZPDu2HY3+etdiVGbnb+WFv27gNvrrgbpdmbIK4yj5YMI0+VS7Fnc3L92i5VDmwS+cJ0qGt81u0q2g2Chcez51NfbcevUyIX/LNY2lmH2gXWTOOz9N0WyLGhO3cz9VS3SsfD3/uOLbbZu1J9FjVNdn1aYsrk2P1rIOfuE8UQSfe+zrbP9uBaV/VU3ZhEjlH9PZ73XzyLSI+SUy6t7vISplMETlhX+cpRRsm7XblnywDZ/zewbTeYJOXKGcRM3wdmfUmpSpiekm3v11d1kFd5SOCtvSKaZF7KGdm433plOEznV2DGVrDl954Q8km8kYVqMKGj6newab89hOXKG86ATfmbMLmJhuWs8PP0Vkz6GTyjDO1Rf0Ga9hO49Mi5jfvXnf7yFaEvwOZSr5LMI/YcJqVHEViQtyniwKygn5wPmOvbki7nIHgN3YMClTOiH+juuaKmznkZ8Z10/Rc7+/fuxgoGcoGiL8I+JnmgnrU4jL+RT0PHmo5yJkg5OwOOcRxPOtc7j3wHG8t7AY2XflJ8R188l2HsWpwJS92KEI/wjYmlSA4IPR5HxaN3YQvZ0tqV8iStkHsBAvOqXAuyAAy6OBbMe3SYjblk0PuvNwou2CLgZlL3ZY+QxfW1Qaic5JGkdWb5BStqaM3LL2KRWSwSYD3Iuq5pWuWbrXrOSOSIvSu1q3Y4g6/ovY2jTVHr5lR6eR6ARzHDZBG+eTg8kXIHZ8wcFGkOm03ZW1HmV4JgArn9LEdBOjTx7tcva+62qokkRwRFTfWZnNoCL8DTiTRaWNzLfOLZlevMRlUrFxPjmYJkicA7iImpBgHz1mm6/ih6pZuirKx11/32TqNEUcmQS8Xx8O3W6hCmNchL8GG7OLSvAnZRP0q1CYhg0/avVGITuCRn2ZBK2NWci2Wbr7PVOcvWmcmQS8bt6sqdeUY3ny1dPYP9WsxBivfHkHHfc9fTxQByGgbb9MypZuSqFPywklTd6LSxzRY05ZEL+aUEGapbvfc+pO6Wrw6MaZqRG7ruwKkdpc9fjzr2vHeNJlWtKm0sJf92VOTDe19k0Tq3wSVaLgLsgGYGmCpNlxq2q1T8rCxHQTPQqBCiwPsbQVbCZBrhuPozs2oNbTfQ/ezN6RoYZvDR4vprpa3kKGzv3Naea3zq/m7ADCFL7LK5U1+/g5icKQtBDM2vkkYaPFwxnnJhNlUHOezilsUkJUSWS62lNBbf82mbvev9GZr3R+vF6iWJIu80RlhX8YJxEAPNzp5lUWIRjEuVX2uOcyoiuf3Eu0JKyD1p8KG0Fmq7yEsf0HVYx0Y/mWaxrLbP7O60lG9mVFZYW/qZ2hjv56bWmAFV0I2rZ9dCNho8VDN84XmZe+tzDmvCR3oc5573riaGK1dUxjefiKi61zeoqo8DlUVvgH7e/pNJIAii8ETZFMfpMra9OTEAybcgq6HJIsBdvIUGOpbr+XuLRt3VjWvV50hc9LZYW/TR17B1UJhbiEYBYxxUHaPuqoSix00bEpp5BmyHIQ8uRjKrrCp6L0wl8npLxfpqnIRVJfclZx837CfU29ZqyFIvH+xcEktFS2fmC5PyBL8uZjKtuut9S1fYLU9TDVNImjVo8K3TX76zWsXtEXWcPQLXymZ631EEDtzEsH72cWpQaLkB/Wjx1UKj0E4JXx69O+HSV5yMIt2i5XavtAH9Fz574Z7Dl0ctmXOLpjA+5M2MZoe965+daSIzasVm3Szk1tHwF05Th4/QAS718O8mRW0aHSttPceZZ5l1vqJC+TMPImaYwMNZaEn5ekJoPtecNk0fql8z948yb0188/rxNzrUt+cX+WpoxKoTiYkqOyxC/hLM1M8zJntZda+PsJI++XuPuGq1KdDKaSDV6SaOLy3sLi0s9Ox6Z+iwUwr0JDsMMRrrv2zWBFXw8uWlVblv0aZxHAoOUQHE3bm0l7z8SxpXPpTJZJ7DzLvMuNxexDRI8A+CSAt5j5g4r3CcCXAVwH4AyAzzPzC3Fc24RNRI/7S0zbo6+63pmzC8rSEkG1ar8tvU6jWdHXo6zP7k3B99533u2gQhuvGWNuvoV6rRcP7dwc+ftz28bX1Gv41dmFJd+RrblENy4fe+41Y1AGkMzOswimsbDEZfP/FoCvAPi25v1PALiy8+/DAL7W+T9RRoYamHz1tHHgeFPG/Tz6cTt/vNeLq4m6X6SEqZfqQzs3L0sAW1nr3iCWLfKhDNiMzbh6Q6uu7V1UvNhcRzcu/QR/UjvPvEUcxUkswp+Zf0hE6wyH3ATg29wOLXqOiPqJ6FJmfjOO65s4cmLWOHD8ysW6ScP5E5dW7XceP43GaxLatW8Gk6+exgMjm0I9l5AstmMzKTOGX+6I7XWCJl8SkOjO09TfIExryDyRVrRPA8Drrt9PdV5bJvyJ6A4AdwDA4OBgLBe2GdS2mk9SWpOXuLRq03lMGo3qORnAY8+9huErLi7cIK8CtmMzKTOG7eLhdx3VuCSoNf+0Qov9dudFjQDKlcOXmfcy8zAzDw8MDMRyTttBbTN4y+T80ZW6HRlqGLfed+6bKUUt87JhOzajOut1TlybeWZzHdW4vH3LYKwBBqpnCOKcLksEUFqafxPA5a7fL+u8lji2ZRxsBm/enT9B/RG6nYHf1ruomk6ZsR2bUcyKYXJHHAjALdfY7WhV41JVbC1s4qP3GUafPLossdFvfJdFCUxL+B8A8EUi+i7ajt530rD3A92D3RuFANhrEXl2/qgG9a59M7hz38xSbSLAbtKP7tiAXftmjL6SotcyLxtBxmZYs6JJ43XML7rql4y2/y0scZhCJ6abykqhqt7CpvGddyXQlrhCPR8H8BEAlxDRKQC7AdQAgJm/DuAZtMM8X0Y71PMLcVzXFpXNLowWkecQR52dHgiu3dhESQHF03TKjGpsbts4gD2HTmLXvplYxqqpDPr6sYNL19ApDlmOF1MROx3u+/WGsdZ6KZQCmSdKXdsnLopQ20NXp8UPk9PMee60ax4J0VGFDBOA27cMho7YMtWEcqjXerGy1qPMVUl6vJjmqc29e3HuV/VZ1noIF67sw9yZVu5kgtT2iYmiePaDhsg52DTsiCv3QEiPJCK2bPxntomCceM3T03jXFfMcNvGAe2i0VpkrLqgD9NfujbmJ0mPXEX75JGiePaDlIpwY2OnNEUGCfnEFLEVdux6x4GOd+ZbqY8Xv3mqG+e9RNjzqaux59arl93vbw6uwWPPvWZUqIpu9iyd5h+3iaYonn23zbc5N6+NjXZT6yVrbUwyeouFaScYZey6x4FOK17bX099vPjNU5um887/E9NN34AHwKw4FcFUXCrhb9r6AeEctUXy7LsnnC6ywc3qC/pyNyCFaPj5aYD4xu62jQNdQQFZmQP95mmQYI09h05GKidRFFNxqYS/but391P/GwCF+jLyHN5pwnkuk432HUX9FaG4mHozOwQdu6ZmKvunmsuEZJBY/rixmae2uxG/nZGqrauDTunKY2h0qYS/7kubby0qXjuHu5446hsGl+fwTj+ce9TtAMJqgEXY0lYRXX2dXiIsMlt9V7aVOXUO5Six/FGIc57qdhEEGKuf+oWT5s1UXCrhHzTixfmS/HYCRbZ363YAYXcvRdnSVhGdcFlktmrLGKQyZx59Yap8njDF13T1hW7f0q43pjunX3G7NXV1r4ysKFW0TxRTTB4jeOLCJlrHtraJX1RFmAYeQjxE7bAWpDJn3ru56ZrC2IxH1Xx5aOdmDF9xsfGcfgvf3HwLQ/f/IDdzolSa/8hQA/c9fVyZYGIT/ZK3bVmcmHYvQbR5k8Ynu4JsMdm9bUx1QSpz5t0XFrUCr2q+bB0/bDynjeXB6ZjnXCNLSqX5A/pWjLdvGVxayXtJHaWcF60lbYLkMpg0vqLkRJQV3Q4PQJfGOvrkUQzd/4NlO7QglTnznvuRhFnKJpzUJtcmL3OiVJo/YOf4kYzV5QSZKCaNb9e+mUDnF+LHVmNtLfLSDtnZod1yTQP7p5rWZQzy7AsLE6LttzsKEk7qtwPIw5wonfAH/AdlkSN4kiDIRDF9drpBX9UdVV6wbWh05MQsHrx5UynmRVCzlI3JUucI3rbxfO8RU0kUN3mYE6UU/jbkWWtJm6ATRffZ5d0OXFVso+DemJvXfrdFC+8NquDZ+AhU1W4ZwP6pZle9JOdndy9sB++CkRWlFv5xDNiiDfowxLUTkh1VdnjH6baNAzhyYlZbgliFThstqiM/iIJna/pU9QTXOZKd698zccxqwUib0gp/3YCdfPX00qTwE05FHfRhiGsnJDuq5DBl23rH6Xeee23p7+bmW6j1EC5aVcPcmVbghkZp9a7OElvTZ1BH8sR0E48//7r1gpEmpRX+ugHrXoH9hHkVBr0NVdj95JmJ6WaX+cAv29aLtwSxN5OXCNi1bwZ7Dp3s+n7zmNAVN7YmyyD+sbxn/JYu1NPBVNLWjSnsqgqD3o8oyTK680kSmD3O5x8m29aL+7iRoQZGd2zAmnoNc/MtvH2mpf1+857QFQe2oauqcE7drslvUc768yut5h+k1IO3DZ3zhRepomdSxLn7qZIZLS78BIizG7MZ6+5xa4pG8X6/VXHk25gsg/i1TItyHj6/0mr+qhXa1IBCpfUEWeXLSpy7H0kCC47f59xDhG0bB3yTi7zj1mZRcch7QlfajAw18OzYdrwyfj2eHduu/RxMDWTy8PmVVvirBuztWwZ9J4lbGMmgj3fLL2a04Ph9zueYsX+qiVuuaSwbp591ZbSrxq3fZ+69rq3AE86jUx7/3aevzsXnV1qzD6Dexg1fcfHSlk0X+ObVevLwRWVFnFt+MaMFx7Zv7pETs4Gao5tMRVXb3SZF3kOfSy38VbiFuakNndDGtlyGzQCviu04Tryfv43CYoNuUbloVQ27b7gqNwKq6PgVVMxyYaic8HejmwBnzi5gYropE6BDXBVB864J5ZUkFBb5LrIlD8EPxIYer1kyPDzMk5OTiV9HFUMNdDd3FtQM3f8DZQnt/noNM7uvzeCOyoFtQhcgY7WI6BbxRn89kPlOBRFNMfOw33GldfjaMjLUwOoV3RsgiULxZ2K6qRT8QDurVGL4w2HKrZAghOIzMd3U+lvSDH6otNnHQaJQwuG3OFYtEzou/HIrqh6EUGSchV1Hmv7GWDR/Ivo4EZ0kopeJaEzx/ueJaJaIZjr//jCO68ZFFTIYk8BvcZTFMxyijJQXU35F2sEPkTV/IuoF8FUAvwvgFIAfEdEBZn7Rc+g+Zv5i1OslgUSh6DFFJPhllnoXz6yjG4qChMSWF9MCnrb5Lg7N/0MAXmbmnzDzWQDfBXBTDOdNDbGjqvGr62NqW+ddPOOuEVRmJLO8vOgW8EZ/PXV5E4fNvwHgddfvpwB8WHHcLUT0OwD+D4BdzPy64pjMEDtqNza2Z+e45tw8eolwjhkNhVYvFVLtkTDM8pInK0NaDt+nATzOzO8R0T8G8CiArngmIroDwB0AMDg4mNKtCTpsbM+2i6bYsYNh+7mqTGmALBxZYjJv5mlhj0P4NwFc7vr9ss5rSzDzL1y/fgPAn6tOxMx7AewF2nH+MdybEAE/23MQG77YseNHlSg0+uRRgLDUqEUqp6aLTfJWXqwMcdj8fwTgSiJaT0QXALgNwAH3AUR0qevXGwG8FMN1hYQx2Z6D2vDFjh0P7n4Idz1xtMuU1lrkrnaNkrOSHmEr12bR5yKy5s/MC0T0RQCHAPQCeISZjxPR/QAmmfkAgD8mohsBLAA4DeDzUa8rJI9pi7p1/HAgG36etrtFxatV6jpEqRDzWjqEMW9mVeohFps/Mz8D4BnPa19y/Xw3gLvjuJaQLrotaphepiL4o2HTrlGHmNfSIYx5M6tgiMqXdxDCESQxTsI848FGe6/1EGq9y9sWuc1r0kYzWcKYN7MKhhDhL4Qiai9TWzu0CKvzmDpDOfkpez51NfbcerUyZ0UW4eQJkzOUVYUBqe0jhCKOXqZ+mk0eyt7mCV2MuEq4qD4fybVIh6DRPFnF/ovwF0JjO8jDhnmKsFpOVKe55Frkk6yCIUT4C4mj02y2bRzA1vHD2gEvwqqbKDHikmuRX7KI/Rebv5A4KjvoLdc0sH+qabQ/S7XVeJFci/yTpo9LNH8hFbyajU2eQJ7qoJQBybXIN2n7uEor/CWuPN/Y1g0CRFj5EWSs56W0gNBN2j6uUgp/iRJJhjgXVFv7swgrMzLWy0PaPq5S2vyjxJULauKOEVfZn2s9hDNnFySmPwAy1stD2j6uUgp/iRKJn7iFjNcJ3F+vAQS8fablu7iUJfErjueQsV4e0nbIl9LsIyFt8ZOEkHGbdLaOH8bcfGvZ+yp7Z1nMHEGfQ2dyk7FeHtL2cZVS+EuUSPyEETJBfAS2i0tZEr+CPIdpoZCxXi7S9HGV0uwjPXnjJ+iWNKiPwNbeWRYzR5Dn8FsoZKwLYSil5g9IlEjcBN2SBtXQbTXYspg5gjyH30IhYz07ihxSXlrhL8RPECETVEO3XVzKYuYI8hxlWfDKRtH9T6U0+wjZEyZsbWSogdEdG7C2v4435uax59DJLjNRUc0c3sgeANbPIWUZ8olud3vvgeMZ3VEwiAO0gkuT4eFhnpyczPo2hJB4tSJAX344yt8UgTiey2te2LZxAEdOzBbS3FAW1o8dhE56Prxzc2bfBxFNMfOw73Ei/IWkCGoP3Tp+WGne6K/XsHpFX2EFne65Gv11PDu2PfD5yrpIFg3d9wqE/27jwFb4i81fSIygjkidP2BuvrWUA1A0uyoQf4SSydxQlM+kDGzbOIDvPPea8r0iRJ+J8Bdiw9H0m3Pz6CXCOWY0fDR19+6gp/M3fhQtrj9uh61pkZyYbhbmcykyE9NN7J/SZ2QXwRkvDl8hFtxx/QCWhLhfmQZ3LoCN4HcogmblsG3jAMjzWhSHrUmwSE2fdFDtvhyK4owXzV+IBdNk0Gnqur/pJcIiM9b213Hm7ALePtPqOiZrzcrWn3HPxDE89txryxyDBOCWa86bxEznUr03umMD7tw3o7yvIi2KRcb0Oa+sFUOnFuEvxIKf0GnOzWP92MFlwk33N4vMeGX8egB652aWmpVtfPfEdLNL8AMAAzhyYtb3XACU7z148yZctKqWy0WxKuhMeUC7OGER/FLFWKKE3GMjdLxlHmxyAfIY129b4XTPoZPaUEBn4bvv6ePac5mus/uGqyRftPBbAAAQiklEQVT2P0NUuRduilBWWzR/IRZUGas65lvncNcTR3GOGQQsE5AqAZa38gW20Tum3dDa/jompptK7R2AVqt0zitdzrLF/fnrvivv95+3UhCxCH8i+jiALwPoBfANZh73vL8CwLcBXAPgFwB2MvNP47i2kA+8k6HXJ3LHeY+BpQXALzLIj7Qml230ju44QnuxDKsZOtfJ26JYNZzPXxfv7x4PeSwFEVn4E1EvgK8C+F0ApwD8iIgOMPOLrsP+AMDbzPwPiOg2AP8GwM6o1xbyhUoYmRJhHBzBHyUpJsnJpcqu3T/VVPoh3MeuqddQ6yW0zp1fBAnA7VsGMTLUwC6N09aEmHbyh02dpjyWIo/D5v8hAC8z80+Y+SyA7wK4yXPMTQAe7fz8PQAfJSJv9JtQQvxsow5Ro1SSameoKk29f6qJW65pdPkhACw7dm6+BTBw0ara0nEP7dyMB0baxwZxzubF3yF0Y+OXymMp8jjMPg0Ar7t+PwXgw7pjmHmBiN4B8BsAfh7D9YUc47VN6xK5okapJDW5dIvKkROzXTuVreOHu45tLTJWXdCH6S9d23VuWz9JlqUCBDv8THB5rMyaq2gfIrqDiCaJaHJ2djbr2xFiwGsy+cyHL08kSiWp5tdBFpUwZawfvHlTu3+xBjHzlIM8VmaNQ/g3AVzu+v2yzmvKY4ioD8AatB2/y2Dmvcw8zMzDAwMDMdyakCVBTCZRTRlJTa7+VWrBrFpUwpaxntl9LT67ZbArC9ibDCYUF5NpyFvuW9ftLm7iMPv8CMCVRLQebSF/G4Df8xxzAMDnAPxPALcCOMx5LScqxEYQk0lUooY+qiKFAODdXy90HVvrJeWiEqXRzJETs8ZkMKH4qExDWUYBRRb+HRv+FwEcQjvU8xFmPk5E9wOYZOYDAL4J4D8T0csATqO9QAglJ2knl0pguxcVR6PyCnSVkFdNwJW1HrQWu3WU1Rf0KSem3wJkCkXVfSbNuXkp1lZiTEl+uRf+AMDMzwB4xvPal1w//xrAp+K4llAcTE6uqDH5fhqT6v07982gt4dwbnF50bmVtR7lBNQ5Yt+ZVydmOddWPYff/ZrKBWQdDy4kgynJL40ooFw5fIVyobPDb9s40OUL0FX+1OEX2qkrGnfOo8nPt85pJ6COME5kv/s1hcQWoVSAYIfbvn/XE0e1x6URBSTCX0gMnZPryInZyDH5fialODSn/notNiey3/06n1XQvxeKQ5AS5mlEAUltHyFRVGYQXWZrEAHnFzdtMqN46a/X8N7CYpej9t4brwIQT/0cmzjvkaGGtlaMVOssPqay527667VUTHyi+QupE0dMvl9o5+iODV2hkyocIa8LwxsZauDZse14Zfx6PDu2PfSktA1FzWM8uBAPNsqNW+lIGtH8hdSJEhLpZkXfeUftRatq2H3DVUvCeWSogclXT3fV06/1EC5c2Ye5M60uTT5Jbcs2FFWqdZYX3e7P3bwoze+a8hpuPzw8zJOTk1nfhpAQUaJ9dA1eVMlieSujK1SXIOM2CkQ0xczDfseJ5i9kQpRyxH4VEtMW+LLACDbkbVcnwl8oHKbImbQzJvNYp13IL3nqwSAOX6FwmBzGSZV2VjEx3cRdTxxN7XpCuUm7xo8If6FwmCJi0qqb7mj8ulhticsXgqAqghg08TEoIvyFXBBE6zFVSEyqtLMXv5hticsXgpDmjtVBbP5C5oSxm+tsp0HCSKM4ak2avcTlC354x55tE/g4EeEvZE4c/U29vXNX1nqUsfzu470LzuiTR3Hf08eNf+dgitmWVouCCdXYI6CrpDeQ7A5ShL+QOVHt9N7JNDffQr3Wi4d2btYKYdWC01rkpSJvfrsP3Q5DBL/gh2rsMdC1ACS9gxSbv5A5Ou2mh8jXBxA24sZmYTGdw6ZptyCo0I09BlIdT6L5C5mja2TuRNLoTDIAQkfc2BZ+M50j6ZhtSR4rJ7qx1+ivx97hzoRo/kLmeLXoXuouyeaYZNxhcKouSG5M9lJT/XzbcyRJFqF/QjrkpXifCH8hF7irZy5a1Jvya8LiN5m8C05/vYZa7/JFJ8uonSxC/4R0yIvJUMw+Qu7oX1UL3F3LjW3EjddskyczS1rJakI25KHMgwh/IVdMTDfx7q8XrI7VNWEJq0XlYUI62DR/EYQoiPAXMsetcfcQGdvbOcTdaStvxNXzQBB0iPAXMsUbo28S/E4cdCPFJixZkbfyv0L5EOEvZIptX1OgLfh7ifDG3PyS4zPPwjCqDyFPZiihfIjwFzIlqAPTHfsfV918lZAG7LRub1kJImDuTAtr6jX86uwCWufU95sn57JQTUT4C5lim2ylImj9HxWqOiv/fN8MFl3H6BYaVVkJB/fP3vsFIA1ghMyROH8hU3QJL5/dMmiVhBU19FFldlpUHKeKsQ9isnJwTFYSwy9kTSTNn4guBrAPwDoAPwXwaWZ+W3HcOQDHOr++xsw3RrmuUB5Mjs3hKy72jQIKEvqoMrUEWTy8x4ZZeNb21yWGX8gFxBZhddo/JvpzAKeZeZyIxgBcxMz/SnHcu8x8YZBzDw8P8+TkZOh7E8qF18QCBIvpv2fiGB577rWuqokraz3WCWVOlNG9B44rzTp+OPe759DJXNR2EcoJEU0x87DfcVHNPjcBeLTz86MARiKeTxCUREmJn5hudgl+oG1qYYaVeYkAbNs4gNEnj1oL/loP4aJVta77zUttF6HaRHX4vo+Z3+z8/DMA79Mct5KIJgEsABhn5omI1xUqSNjQxz2HTiobZQDAO/MtPLRz87KIHXeUDtAW/LdvGcSRE7NoLep3yv2uaB9TBI/E8At5wFf4E9FfA3i/4q0/c//CzExEuplxBTM3iejvAzhMRMeY+f8prnUHgDsAYHBw0PfmBcEGv9LOtjV+1o8d1J6HAMzsvtb3XrznNjWcEYQk8RX+zPwx3XtE9LdEdCkzv0lElwJ4S3OOZuf/nxDRfwMwBKBL+DPzXgB7gbbN3+oJBMEHXaE4ApSmFt0OwxSWauN4VoWV7to3g8lXT+OBkU2+fy8IcRLV5n8AwOc6P38OwPe9BxDRRUS0ovPzJQC2Angx4nUFYYmJ6Sa2jh9Wdv0yFYq7fctgIK17dMcG1Hq6ew3UesnKXq9r3/fYc69JnX4hdaJG+/wGgCcADAJ4Fe1Qz9NENAzgnzDzHxLRbwP4j2iHT/cAeJiZv+l3bon2EWxQRQG5awCdObug1Pr76zUrM43qeu5on4tW1bD7hqusFpH1Ywe1vgeJ9BHiwjbaJ5LwTxIR/oINW8cPh84QbnRi7tNyuJrulQC8Mn59otcXqkFaoZ6CkClhE6MISL1F4uiODeg2GrWROv1C2ojwFwpNGKHpmIXcRC2vYPI7OIwMNXD7lsGuBUBi/IUskMJuQqHwhkpu2ziA/VNNY42d/noNq1f0Lf2NzvQSdhehiuLRFWp7YGTTsrIVEuMvZIUIf6EwqITs/qkmbrmmgSMnZtGcm+/S6p2OX27hqrO9hzW9mAq16ZK8RNgLWSNmH6Ew6ITskROzeHZsO346fj0e2rnZtwRE3OUVpFCbUERE8xcKg42QtdWqV/T1LC0kQcI1VUizdaGIiOYvFAadMA1a1vnup44tK87265aqgr89UqhNKCIi/IXCEIeQTaKRSpSKo4KQFWL2EQpDHNUw/UxHYXvrihNXKBoi/IVCEVXImuzzQUI2BaHoiNlHqBQm05H01hWqhGj+QqXwmo7WdBqw7No3oy26JiGbQhkRzV+oHCNDDTw7th0P7dyM9xYW8faZllbwAxKyKZQT0fyFyqIy83gJG7IZ1nEsCGkhwl+oLCZzDgGhhbY4joUiIMJfqCy6yB9dYxVbbT5orR9ByAKx+QulxKbEcpCkMUebt+kBILV+hCIgwl8oHbaCOkhm7n1PH7cOA42jDIUgJI2YfYTSEcTsYpM0NjHdVPYBBtTa/OiODV19haXWj5A3RPgLpSMus4tj4zf1CFZp83GUoRCEpBHhL5SOOEoseyN2dOi0ean1I+QdsfkLpSOp6p9e+us1EfBCYRHNXygdSVb/dHDaQwpCURHhL5SSpKp/Au2oILHhC0VHzD6CoEBnOnp452Y8O7ZdBL9QeETzFwQFErEjlB0R/oKgQSJ2hDITyexDRJ8iouNEtEhEw4bjPk5EJ4noZSIai3JNQRAEITpRbf4/BnAzgB/qDiCiXgBfBfAJAB8A8Bki+kDE6wqCIAgRiGT2YeaXAICITId9CMDLzPyTzrHfBXATgBejXFsQBEEITxrRPg0Ar7t+P9V5rQsiuoOIJolocnZ2NoVbEwRBqCa+mj8R/TWA9yve+jNm/n6cN8PMewHsBYDh4WFTZz1BEAQhAr7Cn5k/FvEaTQCXu36/rPOaIAiCkBFphHr+CMCVRLQebaF/G4Df8/ujqampnxPRqxGuewmAn0f4+yJStWeu2vMC8sxVIcozX2FzEDGHt64Q0T8E8O8BDACYAzDDzDuIaC2AbzDzdZ3jrgPwMIBeAI8w878OfVH7e5tkZm34aRmp2jNX7XkBeeaqkMYzR432+UsAf6l4/Q0A17l+fwbAM1GuJQiCIMSH1PYRBEGoIGUW/nuzvoEMqNozV+15AXnmqpD4M0ey+QuCIAjFpMyavyAIgqChdMK/akXkiOhyIjpCRC92iuz9Sdb3lBZE1EtE00T0X7K+lzQgon4i+h4RnSCil4jot7K+pyQhol2dMf1jInqciFZmfU9JQESPENFbRPRj12sXE9FfEdH/7fx/UdzXLZXwr2gRuQUAdzHzBwBsAfBHFXhmhz8B8FLWN5EiXwbwX5l5I4CrUeJnJ6IGgD8GMMzMH0Q7TPy2bO8qMb4F4OOe18YA/A0zXwngbzq/x0qphD9cReSY+SwAp4hcaWHmN5n5hc7Pf4e2QCh9EXoiugzA9QC+kfW9pAERrQHwOwC+CQDMfJaZ57K9q8TpA1Anoj4AqwC8kfH9JAIz/xDAac/LNwF4tPPzowBG4r5u2YS/dRG5MkJE6wAMAXg+2ztJhYcB/EsAi1nfSEqsBzAL4D91TF3fIKLVWd9UUjBzE8C/BfAagDcBvMPMP8j2rlLlfcz8ZufnnwF4X9wXKJvwryxEdCGA/QDuZOZfZn0/SUJEnwTwFjNPZX0vKdIH4DcBfI2ZhwD8CgmYAvJCx8Z9E9qL3loAq4nos9neVTZwOyQz9rDMsgn/ShaRI6Ia2oL/MWZ+Kuv7SYGtAG4kop+ibdrbTkTfyfaWEucUgFPM7Ozqvof2YlBWPgbgFWaeZeYWgKcA/HbG95Qmf0tElwJA5/+34r5A2YT/UhE5IroAbQfRgYzvKVGo3UnnmwBeYua/yPp+0oCZ72bmy5h5Hdrf8WFmLrVWyMw/A/A6EW3ovPRRlLsh0msAthDRqs4Y/yhK7OBWcADA5zo/fw5ArOXzgZI1cGfmBSL6IoBDOF9E7njGt5U0WwH8PoBjRDTTee1PO/WUhHLxzwA81lFsfgLgCxnfT2Iw8/NE9D0AL6Ad0TaNkmb6EtHjAD4C4BIiOgVgN4BxAE8Q0R8AeBXAp2O/rmT4CoIgVI+ymX0EQRAEC0T4C4IgVBAR/oIgCBVEhL8gCEIFEeEvCIJQQUT4C4IgVBAR/oIgCBVEhL8gCEIF+f+EVMf8UlRCBQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(1,1)\n",
"ax.scatter(x,sinx)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Creating a 2D numpy array"
]
},
{
"cell_type": "code",
"execution_count": 160,
"metadata": {},
"outputs": [],
"source": [
"N = 100\n",
"grid = np.zeros((N,N))"
]
},
{
"cell_type": "code",
"execution_count": 161,
"metadata": {},
"outputs": [],
"source": [
"grid[0][0] = 1.\n",
"grid[1][0] = 2.\n",
"grid[2,0] = 3."
]
},
{
"cell_type": "code",
"execution_count": 162,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[1., 0., 0., ..., 0., 0., 0.],\n",
" [2., 0., 0., ..., 0., 0., 0.],\n",
" [3., 0., 0., ..., 0., 0., 0.],\n",
" ...,\n",
" [0., 0., 0., ..., 0., 0., 0.],\n",
" [0., 0., 0., ..., 0., 0., 0.],\n",
" [0., 0., 0., ..., 0., 0., 0.]])"
]
},
"execution_count": 162,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"grid"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Filling the array with some data "
]
},
{
"cell_type": "code",
"execution_count": 163,
"metadata": {},
"outputs": [],
"source": [
"for i in range(grid.shape[0]):\n",
" for j in range(grid.shape[1]):\n",
" grid[i][j] = np.sin(0.1*np.sqrt((i-50.)**2.+(j-50.)**2))"
]
},
{
"cell_type": "code",
"execution_count": 164,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[0.70886129, 0.65752491, 0.60351654, ..., 0.54721238, 0.60351654,\n",
" 0.65752491],\n",
" [0.65752491, 0.6023654 , 0.54477011, ..., 0.48513083, 0.54477011,\n",
" 0.6023654 ],\n",
" [0.60351654, 0.54477011, 0.48384227, ..., 0.42113947, 0.48384227,\n",
" 0.54477011],\n",
" ...,\n",
" [0.54721238, 0.48513083, 0.42113947, ..., 0.3556584 , 0.42113947,\n",
" 0.48513083],\n",
" [0.60351654, 0.54477011, 0.48384227, ..., 0.42113947, 0.48384227,\n",
" 0.54477011],\n",
" [0.65752491, 0.6023654 , 0.54477011, ..., 0.48513083, 0.54477011,\n",
" 0.6023654 ]])"
]
},
"execution_count": 164,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"grid"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Plotting a slice of the data"
]
},
{
"cell_type": "code",
"execution_count": 165,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x10d9ae198>]"
]
},
"execution_count": 165,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(1,1)\n",
"ax.plot(grid[0])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Plotting a \"heatmap\"\n",
"By default python uses the viridis colormap, which is good. "
]
},
{
"cell_type": "code",
"execution_count": 166,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5,0,'x [m]')"
]
},
"execution_count": 166,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(1,1)\n",
"img1 = ax.imshow(grid)\n",
"cb = fig.colorbar(img1)\n",
"cb.set_label(\"temperature [C]\")\n",
"ax.set_ylabel(\"y [m]\")\n",
"ax.set_xlabel(\"x [m]\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Bad colormap example"
]
},
{
"cell_type": "code",
"execution_count": 167,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5,0,'x [m]')"
]
},
"execution_count": 167,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(1,1)\n",
"img1 = ax.imshow(grid,cmap=\"jet\")\n",
"cb = fig.colorbar(img1)\n",
"cb.set_label(\"temperature [C]\")\n",
"ax.set_ylabel(\"y [m]\")\n",
"ax.set_xlabel(\"x [m]\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment