Jeffrey Rathgeber Jr commited on
Commit
88c43fe
1 Parent(s): 7b0ab45

Add files via upload

Browse files
Files changed (1) hide show
  1. CS_UY4613_Hw1-3.ipynb +385 -0
CS_UY4613_Hw1-3.ipynb ADDED
@@ -0,0 +1,385 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "nbformat": 4,
3
+ "nbformat_minor": 0,
4
+ "metadata": {
5
+ "colab": {
6
+ "provenance": []
7
+ },
8
+ "kernelspec": {
9
+ "name": "python3",
10
+ "display_name": "Python 3"
11
+ },
12
+ "language_info": {
13
+ "name": "python"
14
+ }
15
+ },
16
+ "cells": [
17
+ {
18
+ "cell_type": "code",
19
+ "source": [
20
+ "import numpy as np\n",
21
+ "from matplotlib import pyplot as plt\n",
22
+ "import csv"
23
+ ],
24
+ "metadata": {
25
+ "id": "I0V1T3G_CJH6"
26
+ },
27
+ "execution_count": 1,
28
+ "outputs": []
29
+ },
30
+ {
31
+ "cell_type": "code",
32
+ "execution_count": 2,
33
+ "metadata": {
34
+ "colab": {
35
+ "base_uri": "https://localhost:8080/"
36
+ },
37
+ "id": "9MhVqD-9vGJy",
38
+ "outputId": "55de2a7d-7025-4e71-dcc8-73274e42c23d"
39
+ },
40
+ "outputs": [
41
+ {
42
+ "output_type": "stream",
43
+ "name": "stdout",
44
+ "text": [
45
+ "After 10,000 trials: 11.32% resulted in exactly 25 approvals.\n"
46
+ ]
47
+ }
48
+ ],
49
+ "source": [
50
+ "# 1a\n",
51
+ "\n",
52
+ "n, p = 50, 0.5\n",
53
+ "bin_dist = np.random.binomial(n, p, 10000)\n",
54
+ "mean = sum(bin_dist)/len(bin_dist)\n",
55
+ "variance = np.var(bin_dist)\n",
56
+ "half_approved_bern = len([i for i in bin_dist if i == 25])\n",
57
+ "result = round((half_approved_bern/10000) * 100, 2)\n",
58
+ "\n",
59
+ "print('After 10,000 trials: {r}% resulted in exactly 25 approvals.'.format(r = result))"
60
+ ]
61
+ },
62
+ {
63
+ "cell_type": "markdown",
64
+ "source": [
65
+ "Question 1a explanation: Using sample size n = 50, and p = 0.5, I created a binomial distribution of 10,000 trials using numpy. Then, I determined the percentage of those 10,000 trials that resulted in exactly 25 approvals. The mathmatically accurate answer is 11.228% by way of the following formula for binamial distribution: $$P(x) = (\\frac{n!}{x!(n-x)})!p^{x}p^{n-x}$$ where n = 50, x = 25, and p = 0.5."
66
+ ],
67
+ "metadata": {
68
+ "id": "BDtR9Qb91Qu6"
69
+ }
70
+ },
71
+ {
72
+ "cell_type": "code",
73
+ "source": [
74
+ "# 1b\n",
75
+ "\n",
76
+ "norm_dist = [(i-mean)/variance for i in bin_dist]\n",
77
+ "target = (25-mean)/variance\n",
78
+ "\n",
79
+ "half_approved_gaus = len([i for i in norm_dist if i == target])\n",
80
+ "result = round((half_approved_gaus/10000) * 100, 2)\n",
81
+ "\n",
82
+ "print('After 10,000 trials: {r}% resulted in exactly 25 approvals.'.format(r = result))"
83
+ ],
84
+ "metadata": {
85
+ "colab": {
86
+ "base_uri": "https://localhost:8080/"
87
+ },
88
+ "id": "h4N7wlIFG-oX",
89
+ "outputId": "d43dac71-cef3-4078-bb88-df7661fb751a"
90
+ },
91
+ "execution_count": 3,
92
+ "outputs": [
93
+ {
94
+ "output_type": "stream",
95
+ "name": "stdout",
96
+ "text": [
97
+ "After 10,000 trials: 11.32% resulted in exactly 25 approvals.\n"
98
+ ]
99
+ }
100
+ ]
101
+ },
102
+ {
103
+ "cell_type": "markdown",
104
+ "source": [
105
+ "Question 1b explanation: https://drive.google.com/file/d/13CkobovFiUy6E-Jm0mtBWs4E06VHCww-/view?usp=share_link"
106
+ ],
107
+ "metadata": {
108
+ "id": "vfqb-z4GFjBF"
109
+ }
110
+ },
111
+ {
112
+ "cell_type": "markdown",
113
+ "source": [
114
+ "Question 2 exaplanation: https://drive.google.com/file/d/1beXcoJVQg8XxjydoakLseow5t6-HV5nU/view?usp=share_link\n"
115
+ ],
116
+ "metadata": {
117
+ "id": "HTjZhCNJNOLO"
118
+ }
119
+ },
120
+ {
121
+ "cell_type": "code",
122
+ "source": [
123
+ "# 3\n",
124
+ "\n",
125
+ "mean = [0, 2]\n",
126
+ "sd = np.array([[.3, -1], [-1, 5]])\n",
127
+ "\n",
128
+ "print('BEFORE FACTORIZATION:')\n",
129
+ "data = np.random.multivariate_normal(mean, sd, size=1000)\n",
130
+ "plt.plot(data[:, 0], data[:, 1],'.')\n",
131
+ "plt.grid()\n",
132
+ "plt.show()\n",
133
+ "\n",
134
+ "print('AFTER FACTORIZATION:')\n",
135
+ "sdCh = np.linalg.cholesky(sd)\n",
136
+ "data = np.random.multivariate_normal(mean, sdCh, size=1000)\n",
137
+ "plt.plot(data[:, 0], data[:, 1],'.')\n",
138
+ "plt.grid()\n",
139
+ "plt.show()\n",
140
+ "\n",
141
+ "# Cholesky decomposition was used on the the covariance matrix from example 6.6\n",
142
+ "# That new matrix was used as a parameter for a multivariate normal distribution\n",
143
+ "# This new data was plotted using sample size = 1000 to visualize the distribution"
144
+ ],
145
+ "metadata": {
146
+ "colab": {
147
+ "base_uri": "https://localhost:8080/",
148
+ "height": 578
149
+ },
150
+ "id": "mt9YHntRQMa7",
151
+ "outputId": "0824e7fa-95c4-46f1-8f36-4da11de0334a"
152
+ },
153
+ "execution_count": 4,
154
+ "outputs": [
155
+ {
156
+ "output_type": "stream",
157
+ "name": "stdout",
158
+ "text": [
159
+ "BEFORE FACTORIZATION:\n"
160
+ ]
161
+ },
162
+ {
163
+ "output_type": "display_data",
164
+ "data": {
165
+ "text/plain": [
166
+ "<Figure size 432x288 with 1 Axes>"
167
+ ],
168
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXIAAAD4CAYAAADxeG0DAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO29e3QU153v+93VLYmXgLYw4iEkENiAJU9iiefYsUWMs0IujhOcjGMyc8eTwTjnOnPG95zcxBNPOD7MmpfP3Duec8Z3OYSblZkJD4eHX6yQsXGQCRkEQgoOkkEgBBJCgEC0hACh7q7a94+qXb2ruqq7Wv2QWvp91sKWul67StJ3/+q3fw/GOQdBEASRuyjDPQCCIAgiNUjICYIgchwScoIgiByHhJwgCCLHISEnCILIcfzDcdFp06bxuXPnum6/ffs2Jk6cmL0BpQCNNTPQWDMDjTX9ZHOcDQ0N1znn98Zs4Jxn/V91dTWPx8GDB+NuH0nQWDMDjTUz0FjTTzbHCeA4d9BUcq0QBEHkOCTkBEEQOQ4JOUEQRI5DQk4QBJHjkJATBEHkOCTkBEEQOQ4JeQIa2oN442ArGtqDwz0UgiAIR4YlIShXaGgP4ptb6xCKaMj3K9i2YQWqywLDPSyCIAgLZJHHoa6tB6GIBo0D4YiGuraetJ2bLH2CINIFWeRxWFFehHy/gnBEQ55fwYryorScN9uWfkN7EHVtPSjoVVGTsasQBDFcjHkhFyK3orwoRkyrywLYtmGF6/ah4mTpZ0rI5UnDz4CHqoLkHiKIUUZahJwx9n8C2ACAAzgJ4E8453fTce5M4sUyri4LpF34MmXpOyFPGhGOjE4aBEEMDykLOWNsNoD/DOABzvkAY+znAL4B4KepnjvT2C3jPY2dabe+nciUpe+EPGn4GDI6aRAEMTyky7XiBzCeMRYGMAFAV5rOm1EsIqcw7G7oRERNzW8dz1UjkwlL3+06YtIo6G0na5wgRiFMr4yY4kkY+3MAfw1gAMAHnPNvOuyzEcBGACguLq7euXOn6/lu3bqFSZMmpTwuL7QGVZy+oaJngKO2MwIOPZRn3X15WDs/P+Hx8lhbgypeq7+LsAbkKcD3lo7DgoAv4bUX3eOLu1+6yOZzTRUaa2agsaafbI5z1apVDZzzJfbP0+FaCQB4CsA8AL0AdjHG/pBz/jN5P875FgBbAGDJkiW8pqbG9Zy1tbWItz2diKs0tAdxZGud6bd+dvVST9arPNbmg62I8BZwACoHBqeWoaZmgeNxDe1B/MNHwj+vZiVGPZvPNVVorJmBxpp+RsI40+FaWQ3gPOf8GgAwxvYC+H0AP4t71AgjHX7rZBYxsxm5QhDE6CYdQt4BYAVjbAJ018rjAI6n4bxZJ1W/dTKTgVfR9+pzJwhi7JKykHPOjzLGdgNoBBAB8FsYLpTRiiyudrxOBl5En0oEEAThhbRErXDO/xuA/5aOc4107OL63ap8z9mSdus6keiT+4XeSAjCC2M+szNZ7OJ6+obq6bihWNfZTByKR6piOtTj6Y2EILxBQp4kdnFddI+3sMGhWNfVZQFsWluB/U2XsaZy5rCIWKpimsrx9EZCEN4gIU8Su2+7//wnno4binXd0B7E5n3NCEU01F+4gYUzCrMuZKmKaSrHj5Q3EoIY6ZCQDwHZt1173vsxyYY3jgSLNFUxTeX4bJYyIIhchoQ8iyQb3jgSLNJUxTQdx5OAE0R8SMhHMCPFIk1HfD2JMUFkDhJyGyMt3I1EkCCIRJCQS6Q73G2kTQoEQYxOSMgl0rm4SDHQBEFkC2q+LCEWF30MKS8uZrJxczyy0dSZGkcTxMiCLHKJdC4uDkfESTbeAuhNgyBGHjkl5NnwOadrcXE4Ik6yEXc+EmLbCYKwkjNCnouWYLYjTgIT8qEwBnCesbeAbL5p0GIxQXgjZ4ScLMH4iHR+jXMoCsOmtRUZeT7ZetNoDapSB6XcmLgJYrjIGSEfCVmOIxl5omPgCN4JZexa2XjTOH1DpYmbIDySM0I+UrIcRypuE128Jhj27Zl6pkO5xqJ7fMj3qzRxE4QHckbIAcpyjIfTRCfWFQbDGhgDvljmh9wjNh0lahMJdLxrxDt+QcBHEzdBeCSnhJyIj32iq2vrwWBYAwfAOfCLCxFsP9qB9ctLze1DdV94nQTcriEfrzCGzU9VmuNyux+CIJyhhKBRzIryIjBm/Wx/02XL9qEmQMkCPRjWsKex03UM4ho+n4ITF3vxytsnsaex0zw+onFsereJEowIYoikRcgZY1MZY7sZY6cZY6cYYyvTcd7RSrYyI6vLAtj4uXLLZ2sqZ1q2b9uwAv/lCwuTdqusKC+CX9FnCQ5gd0On4/2Ia3xjWSk0TcOHn17FtqMd2HX8IuQ5RtN41rJfCWK0kS7Xyj8B+CXn/GuMsXwAE9J03lFHtuPhX/7SYpQWTcT+psuYn3czZfeF7Nf++pI52H60AxyAqrq7ZqrLAqhr64GqRT+LqBxPPFCMX53uhqZx5OfRgiZBDJWUhZwxNgXAowCeAwDOeQhA5mLfcpx0xMMnGwWyfnkp1i8vRW1t7RBHHb2uPAltWluBgjxvIaEryouQ52MIqRwAoCgMNQun44XH5scs0Na19aCgV0XNEO6VIMYijHOe2gkY+yyALQA+BfAZAA0A/pxzftu230YAGwGguLi4eufOna7nvHXrFiZNmpTSuLJFsmNtDap4rf4uIhrgV4DvLR2HBQFvDZzl48MakJfk8ak+133nQthzNgwO3Se37r48LLrHh9M3VCy6x5dwHK1BFb9oC+PENRUagHzb+OV78ysc31xUgO2nQ0O612wymn9fh5NcGWs2x7lq1aoGzvkS++fpcK34AVQB+DPO+VHG2D8BeBnAD+WdOOdboAs+lixZwmvkODgbtbW1iLd9JJForHaLsgbAQ1VDtzKbD7Yiwlt0dwYHBqeWoaZmQVrGmojCeUHsu1BnWuDPrl6a1PhrAAwebMWJD1oAHjt+y71pDOfCkxHh18EBRDTg4xuT8FDV/SPOMh9Nv68jiVwZ60gYZzqEvBNAJ+f8qPH9buhCPuZx84enElaX7gzXZFwXqSZlNbQH0dU7AL/CoGqx9WDke/MxfWG2/sINhMIaNAC/ab2Oo+dv4GvVJXi6qmTECTpBDBcpCznn/Apj7CJjbCHnvAXA49DdLGOeTNSHSSSmQpgDE/IRvBOy7NMaVNF8sNXcFpiQj837mj0tvMqC/+Iqb28AMtuPdmDTu03QOIffp+CZZXNQOWuKGakiJjdxbwW97Vi/vBQLZxTi9QNn8JvW69A4EIpo2HG0A3sbO13HS351YqyRrqiVPwOwzYhYaQPwJ2k6b06TqfowskVvT8EXbwB6zRWgIE8XaAD4u2N3EeEtAACFAQrTLWMOXSBfP3AGL62OdV0IEVY1bp4v2UiXTe82IaLp6zERVQMDHCcR8a+2ttO815dW34/6CzeiyU1wnxhzsUomQaRKWoScc34CQIwDfqyT6fowdtFaV1ViijhgFbxLvQOISOva+j4cPoVB4xwaBw6fvY76Czdi0uhlEQ6Fk3+z0EMPoxdXGDMnD6e3lYb2IPadC6FwXtBiqe9t7MSu4xctbhm79S2/BcWbnAhiNEEp+hkmk2nmdtcNA5DvV8zPFEQzNvfaMi/FvpvWVmB/02UcPnvd0dKta+uBJkU2MYXhUu8AGtqDnu9rRXkRCvIUhMIaFEVPx184oxB7Gzsdi3yJ+jD7LtTFWOrrqkoc30CE9S3egsQzcJqcCGK0QUKew9hdN+uqSkyhc/KRv1XfAVUDfD6Gzy+cDgBo6uqzLCoyxhCYkB9zjVBE3wbOseNoB3Yfv4gdG1d6Eke3NxOnz8Tk5OY+kSfGNw62xlj1L65agG0bVuD1A2dcJyeCGG2QkOcwbgLpll358tJxGJxahsCEfLz6vu6fBoB8H8O3Hp6HrYfPQ+Mcm/c1Y+GMwpgFyBMXe/Hhp1cBACGVY09jp+tiq92V5PRm4vSZOXGEvSUZOa1ByH71eGV9SdiJ0QIJeY6TjOtmQcCHwnlFeP3AGVPEASCscjRfvmn6yu0WrPj/27+9ZDnf9f5By/dDLVlr375twwrsOFCPqspFlqgWp3t3Kt27t7ETHMCmtRXmWwkAvPL2Sew6fhERjdNCKDGqICEfQ4j2aYNhzfJ5no+Z7hWnCBsh0Hdtx00rLLAIsJeStU4C6pT63zPA8ep7TQlF1x7B8+yP6yxvGjs2rkTLlX7Lgi1A7hZidEFCPoYQ7dNEiv2DJVNQMXuKmVyzcEaho9UsBNrO5AJ/jADLro7AhHy8cbAVXb0DcePp9zR2mqGFobDmKrpiLLL/X3wmJpKw7U1jb2Mn3qq/aDkfQ/JlewliJENCnuMk4/O1t0/b9GQFAMQk5djPHZiQj3y/YootoMehH5EaV4QjGoJ3QqarQ0428isMfp8CVXW29nc3dJrnZQzWKBnAnBTsMfJ5fgXg3LTaN62tQJ6xMAvobxp6un/0fD6F4ZmlczKaGUp+eCLbkJDnMMkmv9jbpwGx4Xuym8JubTd19WF3QydUVYNPYfj08k1TgH0KM4WruixgiShRNY5nls3B7KnjY8RNhCACujg/vrgYh85eQyiswe9XzHR82W0DRGPk5a+Dd0LY8fwK00f+dFWJeQ059NFeyjedUEISMRyQkOcwQykBkCh8zx4GKLYF74TwN1990BTVrt4B7DjWYZ63ZuF0y7VF44mwqicdVc6aguAda3XjhvYgdh2/aE4GeX4FLzw2Hy88Nt9c7BTHBCbkm+GPgO4a8hsWuZwg5LT4m83en5koy0AQiSAhz2GSKQEgZ0sCsLhMnI6PF9oH6H5tn8KgGfXFa1u6Y5OEGAPAoQF49f1mRFRrf866th7Td80AfK066u747T2+qGvGp0DTNLMxhU8BnllaalrciUTaa2RPvDo1XrE/N7FOQG4WIpOQkOcwXksAyNmS752vi/ErO4mW27ll14Hcqi2s8hiLPqJqRvcgjohhd2tc78+5cEahKXqDYQ2M6YunArEwKyxbuWq+pgGzp46PGzefLPJ9mT54H8PXl8zBuiT86fJzS6YoGUGkAjVfHmaS6d/ptG91WQAvrloQVyDs2ZJhVY8XD4U17G+67DoJOJ1bdh2okrpyAP0DYfP7wIR8iz9bkVRf9OesLgvguZVzwaHXfnnzUBu2H9XdNfrCbLQxtF/6TXV7+3B6Pl6fr5MPPqRybD/agW9urUuqv6p4bsE7oRg3C0FkArLIh5FkFsZSWUSTsyWFXzmicrPGdzK1SGTXgRBgQfPlm+bXTV19luMWFhfibPetmP6c8jEAsL/pMtYvL3VcmN3T2AkGYJ3hUnkjQUlewH0xVzxTcX57jRZBKin+map+aR87WfkECfkwkszCWCqLaOJ1f8eBejy7eikAWGp8hyMa9jZ2ehIG2XXQPxDGm4fazG1rKmeaXzPbcWe6b+Gvnqo0RVdYp2sqZ+LXZ687nsPu23Zy7wg3iFzFcTCs38+sqeMt8en2Cot2kZddInKEzlBFOFPVLykyhrBDQj6MJGOxpWrdVZcF0D8/3/yDl2uRKArDzmMd4EDc1HogurAomkuUFk3E/qbLWFM50xLWt66qBDvrL5ox3Jxz0xf/7I/rjOsClbOm4CufnYWe26GYc7jh5AaJaNycPDiAXccv4lsPzzN96xp0d4+4H6ckJbsb6emqEjOUcahkovolRcYQdkjIh5FkLLZ0W3dyje+dxzpMf/dgOFrDGwCe3XLECCEEFEVBRLVagaKLT11bjyVqpbosgL96qtLsCpRvRHBslop1qRrwSWcfPunsw7cfLfcc3x3PDSJQNb1+jMJ094/CgOauPtP9ojCAMQYFsS3nZPY0diJkvLGIheH+gTCaL9/0PPGkm0y6bIjchIR8mEnGYku3dVddFjDqjUc/44jW8H70vnsRMhQ+okEPF4H3OiqyyAsftr1ei+BHh9rQPxhBhRFvXtCrojBOJUUxCW072mE5j8KiWZ/2+jHd/YOmq0U01lAY8NzKuY7PVbZ8B8MafvjOSWg8OmEIl9CsJJ97qmTKZUPkLiTkYxy56QMM61Us8F29edfxGKYwdBnNJexit9dW2tae6ekGB0xRZgB8DMDxI1CNt4HPLyrGtMICM7W+uiyAPbZmGQCw8XPlKByfZy6CCitalO61u0k0Dmw9fB5PVMyIcScFJuTDrzCEVL0dnurgY9nfdBl/Ot/9+WaKTLhsiNyFhJzA01Ul4ND91Zv3NZsW7MryIpy81Gex2AE9uXLHsQ7sMdwNfp9ihjfuOn7RMe5adgf4fHrq/Z3BCN77pCv2/IDelk56G/jAqIP+1rEO/NVXHsTCGYVovmSNjFk2N4CXv7TYrIIo7mPH8yvMuHYnNM5d3zBqFk7Hh59edfWTr6mcCQy0uWx1ZyhRJxSpQriRNiFnjPkAHAdwiXO+Nl3nHeuk64/X3gdTfCaL1tNVJTHJLHaRVZi+cCmn7n+tugQ7jnaYBars0SEibNAp+eiPVs7Fmx+fMxtWALpFzqAvUNpROfDDd07C51MsNVry/Aq+v2YxAKO2irFN+LfXVZWYIZiacQxHtOWd6P/5+oEzpvtF/L8gz7iW0axa8IUHirF+eSlqa5MT8qFEnVCkChGPdFrkfw7gFIDJaTznmCZdf7wN7UE8u+UIQirHe21HzBZtTtEPIhrF3nxChPhteGQefnrkQsxCm1v/TXFdQBfMHc/H3sPdsGoR1kfum4b5eTexrSWMsIM/Q+WAaoxNAfDwfdMsDZbtRzRd6sM6Y5KSwy4VBjy8YJq5sCuetTieA/j4zDW8+mRFTKy6whhqjHZ5Ts873uTr9NzF58kcQ0JOCNIi5IyxEgD/G4C/BvBf0nFOIn1/vHsaO00xlVu0OUU/yOn8IiPT74tWIawuC+CJihme+2/KQmy/B6dr5fsVvLT6fvy2sdG0zBVFX2d1cm/4jf3tYYO7j19E2PBtn7zUh29u1Rs5i7BLIcZrKmfGVGsUkwoAqKqGpq4+MACXegfw3Mq52Hr4PFQt2hJP3IvXtHyneiyJJmwvkSrkehm7MM7dvH9JnISx3QD+FkAhgO86uVYYYxsBbASA4uLi6p07d7qe79atW5g0aVLK48oGmRxra1DFa/V3EdEAvwJ8b+k4LAj4kj7PvzQN4mBnxPx+VYkff1xZYF7j9A0Vi+7xYUHAh33nQthzNmxaxxVFCr6yIH9I120Nqvjbo3ehGt/7FeBl6R7iXWvriVs4fMWeVhRL+WSG9YsLYsbXGlTxTmsIzT3RRhrr7svD2vn5qO0I499OhaByIN94rgDMZ60oAHg0bFFe6FQQdfmIc5aOD+GfmxjCmr6/2Dfe85Of++kbqvkc5HE6PU/5Z2Xf9lr9XYQ1IC/O7wr9baWfbI5z1apVDZzzJfbPU7bIGWNrAXRzzhsYYzVu+3HOtwDYAgBLlizhNTWuu6K2thbxto8kMjnWGgAPVaVuZRXOC+I3P45afN95cpl5rhqHfd9r02PHFQasf7RiyLHShe1B+BrqoEb0+uX2WuDytfJ8DP/9D1aYC45Hfvkfnq5x/ibHPzSGTCvWtEqrivBQle4uEVbss6uXorosgOaDreCnWgDoojs4tQwryovwNURLALRc6cf+pssYn+ez+O85AL/CwDk3z7njQD0iPGyGNSpGtV0OoLlHQ+vNUIyVLT/3hvYg9l2IHaedmphPojQfbEWEt5iTzuDUMtTULIjZj/620s9IGGc6XCsPA/gyY+xLAMYBmMwY+xnn/A/TcO4xTzrCzKrLAtjxfDRFP9H5OKJW6KZ3T6K5qy+pCoACS6SIkdkZg1HqVv+/zp7GTtOKT4RcCwWIra3i5PJxc23cDeuJQrcHI/hl8xWEjAlIKoOOPB/Dq1+utLSa6xnQS+1GVCNBybgdIeaJ3GLpiAunJKGxTcpCzjn/CwB/AQCGRf5dEvGRhz1F3w1dfKPutogGbD+qhxo6+W7j+WVFMwjGdWX7oPkKAhPyTatcLnUbUaNivLvBGh/uU6zRIoAuqAywNJVwW7y1j0tUXfx5QyfG5ymobek2E5U0DrxzosvcV9Rb9zG9e9ELj8139PHn+RgenD0Fv+vsg5FrpMfCI7Zao9Mzc5qwk/F5U5LQ2IbiyAmThvYgLvUOwO9jlkVKEYr35sfn8Nk5U02hcIuqESGHu45Ha62oGjfS8U+io+c2CsfnoX8gbIY3ahxmMS1hxTMAv2c0iBbhjQDwmZIpln6j4jjRKCMU1sAYQ/9AGD94+6TpLhHitv1oh6XY16Ve58QnO5+ZM9WxpK8Iu6ycPQWnLt80E4gURY9smV5YYHnG9hZ6TvXghxKxRElCY5e0CjnnvBZAbTrPSWQHWTj8CsMXHigGB3CwpRsRQ5g+/PQqPjp11RSg/U2XLVmdb358DtMLC/BWfQfiJHHiR4aIMttaZm1LN6YVFsBvxIgzBqwsL0Jp0URLxMozS0vNCaOrdwD/dOCM2ShDjiqRxXpn/UX8leGj3990OWZME/J9uBNyduiIOHW7u2JFeZGZDOXzKWZ53e1STP3B093QODffaOS3hlBEs9SikcWawg2JZCCLnACgx4GLMEBV4/jMnKl4cdUCvPL2SVOYAFgESNW4JeZaXhSMh3mMLWDqo9PdEFFU3Nj+5qE2fOGBYkucefBOCNuPdmDTu01mqzhAL1X7y+YrlnEJVC3amahoYmxEyN1wrIg7hV7KtFzph6pG68982HwF66pKsKuh05iImDkWIcayLxuMmeO3x5Pb2/BRyzgiHiTkYxg59lluguzzRa3PdVUlehy6kRGpMECRBEqOuY7H7MB4TJuYj55bg+iUXBkiwkPOGLXT2BG0TBj9A2H844dnLCIO6GGBF3ruAC7jElmnPbdjF13FqXTrm+Ge8fkonjIOzywtjYnaaWgP4s2Pz+HAqavmZMSB6BuA8SFjui/f3hxaFPx6qz5a8Mvni40nl+vEUMs4Ih4k5GMU2ZWiSKnn9ibI1WUB041SMXMybg5GcL1/ELUt3VA1Dp9eDxaRiDX13c6TD87ET49csGSL5vsVvPpkBZq6+nC9fxAHW7rNxUWZnltR4WXQuwppCfIfiicX4OrNQctYfArDivIiBCbkW5pZyHAAoQjHlf5BXOkfRPPlJkvUjj1b1c47Jy4hYkxyXOP4+rJSzJo63rKuICxveR5aPKMQTV19FndK8E4IL65aYElWIjcL4QQJ+RjF2pxBF2QRGy260wO64Atr8Ghbjy7aqh5u98yyOZZO9oEJ+Wju6sNb9R1QjcSayllT8MzSUkv/SntqvDi/m2lvF+OKmZNx5FxPXDG/cnMw5rMNj8wzBdDvY4hIlRU/PnPNsTpjROXYdjRaIGx/02VXEQeA0nsmoHcgbLqpCgv8ZtkD+zqEzMlLfTh1pR9+xWrBA95DCymzc+xCQj5GsYuDW/SEZdFN1YOkOfTUdadO9m8cbI3W7ObAFypmYOGMQuxt7DRFyqcwjM/zmcW07A0i7Aj3i1zrRdW4Jb47EQxA4fg8szCWCLHUNOCzc6bi24/Nx9/vP4VjF5ybLA+GowuT9rGB626dPB/D99csxofNV/DmoTbTxw8AT1TMMOvXaBwxk4HG9Wf6DZsFL55totBCKqo1tiEhH6PEEwenpsRhIzkGjDn2sZT97W51RPw+BZ9fPB21Ld1mWVqf4jw+YbBqPCrim42enyLkT4E1JV7Gx/TwP03j4BzIz9PH8qyR4SoQPvfqsgB+/u3fx0s7f2uJIxcwBrMnqMKAB2dPQeXsKVhXVYLfNjaa2aHVZQFsfr/ZcuyPDrXhJ785b9Z+kTM/ZfL8imviVaLQQopyGduQkI9h3JJQ4mVHArFV+uLFRssCo6oa7oZVS8KRU4lwv8Lwh4vycC48GYfPXjciWLhZvEp2P2xaW4Gf/OY8WrtvWc4hknfk8crlbWWaL980v77tEILoY8Dznyu3VH2U49gLANN9AgDFk8cBiNZK50BUxKG7lYom5lsmjGVzA/j+msWu1nYilwlldo5tSMgJC16yI+1iYj9GFnG7hb6mcmZMVUQZv2F5zxpow5Pzog2ifQrDruMXEVE5/D6GZ5aVonLWFDR39WHetIk4133LYuEOhNUYt49TRyHAaA4BPf77gC2EcvbUcfifz1ahuixgaTQNRMsB+JleE0dc54XH5uPAqaumu8jvY1AQzUIV1RpnTB6HXzZfwRcrZuDlLy12HFs8l4ld4OO5X8S+Bb1q3JotRG5CQk5YGIpll6gs63Mr55rNihfOKARzOIdf0RN9RFLNjgMhPDsvWh73k4u9pjsmrHK0Xu3HW/XRzFHF5i+vmDkZbxxsNVu+BSbk6yVxYW1Y8YTRHKKhPYgfvtsU4+7o7tcXTcWi72BYw5FzPfj8ounm5BXhiHFlKAqDZhQe2/DwPPQPRsABSzz6y19a7CrgAjeXiZvAJ/Kf2ycdYnRAQk5YGErNDvsxe6TkolBEw9bD56FxjvoLN/B0VUlM/DeDLuJ//dUHLfVL9l3Qa4i/uGoBfvD2Scsx9ReCFtGV64grDNh6uA2qLRBGYYDPx8Akv/mqhdPxxsFWdPUOxNRzAfSolbq2HlzqHTDrsUQ0jo9OXYWiMHBDrAMT8s1yAGev9kcXUznw48PnwTmHwhgqZ01xfaZOLhS3iTUZn7i8r9OkQ+Q+JOREDPEsOzeBF8c0tAexu6HTFFBR2EpkN3Lo8eNmKCJ0QV0nhTGKxUxZoCYX+E2h9rkscMrZp05RMBoHmMbNyBA50cavMMfiXGC6ML//O2tav8oBZvi9NQ788N2Tjv5+GPevXz+aXeplbUI8Uy8VHOO9OVkWrBnIfz4KISEnPGFPILLXFhfYi149vrgYh85eM/3ccu/O/oGw6XKxC1QoHHXTPP+vxy3p/w/OnoITndHFxJKp4yzZom4ozBoZIifaiKJXn0jnBXR3jVMUCyBNHOZ/EqPZepoK6tp6TIt/MGy1sJ0m1mTenOR9C3rbrXXbKeZ8VEBCTnhCfj3XOMdfvqO7OuxibrcUX3hsPl54bD72NHZid0MndhzrMCNb/tevziIU0VB/4d3cczsAACAASURBVIZppQrR2XGgHlWVi7B5X7MpcAJZxBmARxdOx+4G54gUwVc+Owv3FRc6WrUhoy7KlPF5aXpazjDobx9OYZtnr/abn4mQyEQkU+1Q7Ftb20kx56MQEnLCEyvKi6AwZibEaBwWN4Fs4bn17xSNF8IRzVI50c3H22ykrMeDQ88erZw1BT80Cnk50XM7hD8yImkEdW09ZrXEiMZxyJa2rzCri0Ys0tqv4Pa5fZ9HpCbRotTv7obOaPMNCTkkMhXk+P7gnRAKelUMcu/+9XiW+1CtenobSD8k5IQnqssC2PxUJf7ynZPRGuKGmwBAjNtFjqsGYi31NZUzzdBC2cdrbdZwUe+8Y9RxAfTEIHBu8ZE3dfVh9tTxiNd/tmLmZDy7JdrCDkxPFnL0i0MPg9zwyDyzJK6iMFSXTsWJzj5EVP0+1/7eTOz73WXL4q1brRkOmC4ke9NpcZyMCHH0gpswOjbSZsC3HglDMToz+XwKLvUOoKE9NpIlUejjUKx6ehvIDCTkhGeEG2XTu03QND2eu6t3QK+OKLldnBb0nHy6C2cUOlruYrEzonF8Y9kczDYWJkV8ukiBF7xl1BoXE4VYgBQsmxtA2/XbZlq8XmlA/zqiccdwyLnTJqK0aCLeemElfvTxOXx06irqLwSR52NYvbgY0woLwICYlH23qURhMFvdyfcIWMVfYcDGz5WbIZGJLNd4wmi/jsaBMIf5BqIvRGvYeawDex06QMWLjBlqJilloGYGEnIiKdYvL8XCGYUWn7ffp1jEUF7Qs4uRXdzFPiLm+8TFXkvXoMpZU2L88LJ7BNAXKmtburGuqgQMeuy3vTZ6vFrpTuLb2n0LP3j7JL79aDk+Ot1tvgGEVT30UDXCHRmLX8pXvEH4fApOXOzFK2+fRMWsKZayB6VFE83MVLkmjJdEoHjCuKK8CH6FxdR1EW8QHNHMWidRdYuMiXaSUhzLNcSDMlAzAwk5kTTVZQGLz1tVNTy+uBi/Ot0NTePmgp6X12h5H7uHQwEcGzavKC+KSew58OlVgMFcSP24pRshVS+s5VYIS8bNz/2zo+0W1wtHNPRRGPYMQNk9E9B+447l2HyjUbOoCCkmE1G+VyQqvfpek3mMqAUvN/oIR/TuS3fDKipmTsZPj1zAYFgzi4i5iW1dWw9qFk43E6nMa9jCN906IDm9RdkrOH5jWWlSjbmHkqdAJIaEfAzRGlTRnKYuM27RKfIfqJc62tZyulbsER6C6rIAVj9QbBEoDQC4noAUvBPCq1+ujLv4aaeoMB+9t8MxyUq3Bq21V6aOz0OvLaKEAzEiDgD3GJ2IZk0db4kxF2UMAhPyseXQOdNiFrXgAVgafXBE3yjkOuoRjWPr4fNmMTHx3EX3JFESwC7c5qTLedwOSEBsZIyldo7GMUuqgOmVZKJtCG+kLOSMsTkA/hVAMfTfuS2c839K9bxEemloD+K1+ruI8BbTOgZiC2B5xc2y8vJqLiP2kRf+AKBqug+vPL3cdVwvPDYftS3d+uKlEnURiCbOwTshaB5FHABu3Ap5Konb5yEsUHDl5qDpnsnzRV0cisJw9mp/THy6T9EzP+vaeiwTSrzb0Dg3G1AA+s9ZboEXiWhY/UAxPjLelnwKHCddr6TiGqFolcyRDos8AuC/cs4bGWOFABoYYx9yzj9Nw7mJNFHX1oOwkbIejmjY09hpVgMcavRAIsvKy2u02Of1A2cs1uaU/NjiXPbjdmxcGVOHBdCbOL/w2Hz4fcy1OJcdUSpXM3L93cTT/vG9k/Jx7Vas+0fmSFsPXv1yJX5yuA1t129D0zje+8Qq4iIDdvO+ZmxaW+Ho25b3FVv8PquY1rVZG24oCkPNQr10sHhrAYZuFQ/VNULRKpklZSHnnF8GcNn4up8xdgrAbAAk5COIFeVFyFP0V+w8v2Jp6JDJ6AGv6f5rKmdahPzQJdUxJM7p3PY6LB+d7kb5tImOFrkC4PEHivFpVx8uSdmgHDDDCb26Yxj0hhFvHetwLBkgOHmpD01dNjePbX/xbSisobalO8bF47QvANTcf6/jW5AcChq8EzLbz2keaq3YY8/tgj2USYCiVTJLWn3kjLG5AB4CcNRh20YAGwGguLgYtbW1rue5detW3O0jiVwa63cqOToG8rHoHh+AbviZXkTJx4CC3nbU1jqXeU03rUEVr9XfRVgD8hRg/aJ8HL8aseyjco4dB+rRPz+2472dcqiWxU9V4/jRoTaL4InFTL8CLC/sw5R7VezutY3r4hWzLowXGIBydOPPH+SovezHiWsqNOjPc9o44OqAvp8mhTsKfArwhVI/Ovo1FOYxHLmi++I16P5wr2P41amr2Pr2R1gQ8JmffbcqH6dvqFh0jw+zBtpwp1eN/qwVHvdnLX42IS16j3kK8L2l4yzXSJYCeQwef99y5W9rJIwzbULOGJsEYA+AlzjnMWlpnPMtALYAwJIlS3hNTY3ruWpraxFv+0gil8aK2lr8Z2msD1UNj8+y+WArIrxFjxXnwM9Oh2Pisf0Kw7OrlwJI7MevATBhVofZik1uJm2ez8fw9SVzzEW9hvYg3jsf7RaU72N4pGIumqT49ET4fAwPVVWh//wn8M0swYkPWvS2bxy4lqD0yx8sLcXffPVBAHp7vKNXW0x3TqIMUUVKYuIA2jAdgzzaHq7GdkwNoj/rgt52PFRV5fpMxc9GIKJ0BqeWoabGmuSVDPIYvP6+5crf1kgYZ1qEnDGWB13Et3HO96bjnETmGa7oAXnBjBmiKzIPRQu1eegGADMzUbR6cyrUBUSTlfY3XbaE6JnJMBqP6TG64/kV2NvYadYJr2vriRsTbkfVODa/34x7MIgnluabKf0OBngM1/sH0dCuh0V29Q7ArzBENB7jm59bNAEXb9wBB8wIk8pZU7B5X7MZhy7S/OMtYouf9da322N81fL+ctEyDdFCY/awxqGk7Hv9faMmGMmTjqgVBuD/A3CKc/7/pD4kYrQjL5iJUrJyCzW9uFMt6tp6TDGOaO4lYIFo4wdRhGvT2go0dfVhd0MnVFWLSUXffrTD7PYjTw55hn/ZjWVzAzjR2Yew4e8V1RI/vnTS9RgnPvj0KmpbuvV7M7oePehQffHijTvQjIXYV5+sMMcqsmK7egew41iH6XtOtIh9+oYabQDtsr/8s5F95JlI2bdDTTCGRjos8ocB/BGAk4yxE8ZnP+Cc/yIN5yZGKXbrTIiqfeHOZ1iqgB5q57ZI5tRu7m+++iCerirB3sZO7Dp+0UxFf27lXDPF/9dnr6Oj53a0U08CU3pBcSG+8lAJ/vKdk5Zdk4h0NJGjUsIqR/HkcfCxPsvCqfhahBkK5KzYXccvIqxys0xwvEXFSXnMkjl7vX8wYWs/QSZS9uNdg5pgeCcdUSuHEVvzhyA8YbekZYtbFOoSvu/8OHHLbvHNZhaq4bYIRzT8svmK5dgfHWozW7ElCldsvtSHa/2DQxJuL3x+cTE+OnUVnMMxPt4RowAWGEPFrCnw+4z0f1+sS6T9phbtpARgWmHBkBpU2PdNV+q9UxMMij9PDGV2ElnB7Y/RyZIDgH3nQiicFzRruyT6Q44X32wXmc/OmYoLPdFMTA5g29EO06KNp9G/6+wDR1+cPfSIlMpZUzBv2kQcOnsdN27HjzMXx4iwQ7+iL8zaa8Y0dfXFPEdRKoFDL5XQ3NVnvlVomoa9jZ1oudJvTpYKdPeRqJHydFWJuT6QTIMKp5DEdKTey+cp6G0HAIo/9wAJOZFWnAQ7nv/UrXGz3LPT6yKZ2352kbEX3RKoml7i1ofooqUdL4a4qum+c7u/Ox6Vs6bg5KU+S+r7NaPxs6D1an/Mc1xRXmSxwMV6gv5/YLsxQWk8upD6B9UlZkVJ8UzsZYfdiPezSNfiuThPbW0nxZ97hIScSBtugh3vj9FJZJ16dnq9fqKeooJxeXpZAAAAs7rGH19cjIGwiqKJ+Xj3RJfnKJah4mPAyvIiNF3Shd+nMKwoL8Kl3gHLfoMRLeY5BibkQzUscnCOSqOyolgk5tAjdhSFgYHDx/QIHSA3LF2qlugNEnIibbgJdqI/RrvIyj07vf7hJhM1UV0WwKa1FVLcOcAZAzeKSIkaLj6F4TMlU2JayyUSdp8xMdhjXx69bxoOt163+NcVBjz/uXJs/c356MKmse3pqhLsNhYy83wMzywtRcvVZrM1Xf9AGP/44RnzuIiqL4hu27DCLDMsXCiiT6pwV7x+4IyluqI8YY4knzRVS/QGCTmRNuItOCbbKHjHgXo8u3qp5z/cZF/Bm7r6zPh1BuAZo4HFpd4B7DjaYbooTri4RxiARTMKcfpKv0XY/Uo0Lf5oW4+lfdyhs9ctUQGfKZmCTU9WYE9jJyLSImtE5Wb0iKgnIz83UdlQdC8SKIYlLyZGJ9+3HEcuFjydOjR5tdRl0Rc/h3QL7nDlO+QSJORE2ki0GOb1j7G6LID++flJ/fEm8wre0B7E7oZOU4B9CrNkfP68/qJrrROfolvbeX4Ff7RyLmpbunHAiDKxJy3tOn4x5nghnvl50Zj5vY3WVHWF6UlCIuZdfg7BOyFonJsTjcyGR+YlfOZyHLnCgIcXRPuIAslNiHIrOYUBzCg6NpJdNaMVEnIirQyX9STcJU7x6HZEpAegW9ZfXzLHMeTRScyfWVqKWcZCoRwJ8sxyvcECoKfcrygviomOEZRPn4S/f/r3zImDA8jzMUSMRhiKwrDjWAf2GO3XxJgtmZcONdwPnLqKtuu3cW9hgWuzh0X3+JDvV80JT24GLXzuXidEOWFLNf/jPAGMJHfNaISEnEhILvwRxotHt2OvEFgxa4pl+8IZhfiDpXPQerU/prtQYYEfL65aYGmawQF03LhjCfPzK8yI745lYr4vJlPSrzCsX14KDmCnlKm5t7HT7IkqZ15ufr85Jiqm9dpttF67DQDY1dCJHc/HWsULAj5L5mZdW49l3PmSP12I+BsuzUjsCVuAPjH6FGZ5o6AStpmHhJyIS678ESbjEpAXO0UNcCH89vudPXWcpdxt82W9HpzdMv712ev4j3M90Ay/e1jlcKuj+MzS0pgxR1SOjht3sKZypsUivtY/GLMo6WUBON4zEJ+J+1RYNDwxFNGwv+kyXlp9f8w+9lo39oQtv0/BY/ffi4/PXLO8Ueyxta2jEML0Q0JOxCUbcbzpsPgtGYE2i9AJ2dcs35dddPQF0KiQV8ycbI5309oKvFXfYVrGqsbNZsuM6XHcgq98dhZ6bofM2i4N7cFosSyVQwPwm9brZp0YuZ+n6cv3RePs49WDAaILmA3tQext7ER3/yCmFxZgHvRCVJYWe1wPT+SGmB8+ex1Hz9/A4hmF5rPQuHOtGzlhKzAhH/ubLpu9XMUbhX09wmkiyoW3vpEMCTkRl0zH8SZj8SeKE5fD7mSL0Ol8TvfltAi6oLjQdK8wADcHI5bxfu6+ewEp0/Pzi6bjs3Omoqt3ANuN6BcGoOd2yOKPNl0qPgUPlkw2k4FEnRjhvhFuC9HPM3gn5OgfXzyjEIXj/LhxO4TyeyfhhcfmAwCe/bFV9P2KXojKfv/PrZyLLb9uAzdcRaGIFuO60TTnWjeyhS+EX1RN1IuCOa9HyD/XXHjrG8mQkBNxyXQcr1eL38sfu5yynuh8Tvf1xsHWGNFZZxTdEoJ3XXJ1hCIaum/e1TNBoUe0TC8sMCe7PY2dZjlYYW2La5oNjFUNxZPHobnrJgBumSztYvt0VQlarvSbrhCZU1f6zXGf79HL3k4vLIix3COaHkP+0ur7sW3DCtNaP3C627F+DIPu6tdrvzDXei9yIpeCaDQMAMvzEwvCTsdS9ubQISEnEpLJSBSvFr/XP3Yv55Mtezk13X6siPwQlv71/kH86nS0e4/G9dorPgVYvagYH5+5hu1HO/BW/UVsfqrS7EX6GyMJSM7GVIxCV4rC8NGpq1C5HoO+aW2F5b6erioBh57CL6o4JmoDp2ocH356FYrLPofPRl04u45fdO0NCujRNN96eB62Hj4PjceuJ4jnKN9TvhQNAyChIUDZm6lDQk4MK14tfq9/7InOF8+yj3fsXsl3LiNqmnTfvItwxFo7/a0XVuKl1fej/sINSy2ZV9/TQxsVpouuWVZWi5aqtbtfRIZnMuUC3Lzowv+/v+lywmqPHED/YMRcDJULm8kRNzAahPgcJqNEhgBlb6YOCTkx7Hix+JOJE49HIsveaSyy20BGdAQCgOauPksLNlE7fUV5EdZVlYABWFdVortbVLGP7XzSQqB9nEDiFnBL5wZiwiXlMcrk+RWsqZyJo209Fovcvn/EmDzsk6gcQx5SOZgRo8NtddO9QtmbqUFCTuQEXuPEE/nSE1n2Tguq4hi7RW75mgP3F0/CacNXne+3RpjkG64ae2S5z4gWEeF9wmVx4mIvGGNQOIffr6eTqhqHz2j31nnjjiX9P8+v4CsPleDGnTBau2+Zn69eXIzfdfbiys1oJcW5RROw8dH5CN4J4dUvV6Kpqw+tV/sxGNEwb9pEvHOiy9zX72Nmqds9jZ3m+PsHwpb79/kYNJWDsVg/OkWkZB4SciIn8Ooj92Jxu73Gu00Csp/8rfqL0cbHPFogS1GYueAIAM+tnGuJMBFjWVdVgl0N0cW/V5+siGmn9uyWI6aVLFq8yTXZW670Y/vRDst9f7ZE7+MpKjoy6OJePm2ipaY5AHyxYkZMApBo99bcddMsDCZHmWw/2oGf11+Exjl2GcW4BAzA5xdOx69Od0PjHK++34ymrj5UzppitttL1FOUSA0ScmLEYC/AJOPVRx5vP7dFTkGicrvVZQFUzpqCH75z0qw4qCgMj8xUcAOTLOF6R9p6sOnJiphuPdVletNnNyGra+ux+K2F31x2Pbx+4EzM2EWJWyHAZUUT8MWKGfjx4fMWy/n+gILC8XnmfQ6GNbxV3xHNUjVi4Bn0t4qnq0rQ0B60lCywR8L4FIZphQWWpCJReEzGS09R+WclmouQ2CeGhJwYEdit4e9W5Vs6qHtdEHPbz0v4opfJYv3yUjR39WGbYRGrGkfReAVPVJbik85oA+ZPL9/Eh81XLLXC5THGW9T1KdFkIo7YFm8VMyfj15JbxccQLXFrhDu299zBll+3xfjHZ09kZjMKIfzNXX3w+xQzbJNLETSAPnHYI2X8hitFMQqFLZxRaFkQtou4eENI1FMUsBbjkpuLEO6kRcgZY18E8E/Qm6ts5Zz/XTrOS4wd7Nbw6RtqzD5eF8TEfg3tQbNOiBfXjNfJQq7NonG9ofH65aWobenGB4YbI6xy/MhIsAGipWntYXtOY3hmaak5UQB6CziRGt/QHsRPj1zQfdUMWFIWwMtrFqO6LICFMwrx+oEzOHz2urHwaB23XwEenp0HACgNjDfrsnCuJxtdvHHHPFbTON6q78CpyzdjRJwB+IMletlf+R5EXLoIkdS4HlPu9zEzJh/Q4+vjTZapNBcZq6Qs5IwxH4A3ADwBoBNAPWPsPc75p6memxg72K3hRff4Ujqf3QLftLbCUwq/l8kieCdkaWDcflPDGwdbUbNwOmrPXDNdD7KQiogUp3E1dfWZUS3VZQGsqyrBW8cvmjXKP/j0KrYf7cD65aUWkWMcmGoUvhJjf2n1/fiP1uuwRxUqDNj81IO403UWz/zoPyzlA0QZXwCov3DDtOo/sTXUED2e8/MUs+yv/LzFGsA6ow56YEJ+zL0B3uPKk20uMpZJh0W+DEAr57wNABhjOwE8BYCEnPCM3RruP/9JSuezW+D2zjmJUvjjsaK8CAV5Ud/3ry9F8PGlFuT7FdTcfy8+/DSaNCSqAYqIlB+8fdKSGSr72+WKhRUzJ1uEdH/TZaxfXqq7RRSGkBEW+OGnV/HRqasWd9Hji4vNNwOBxnUXStelMGwubkvavEhiEpa5IM/H8OqXK2MWZkWiVO2Za5YFzRdXLbBEGsnP2mtcebLNRcYy6RDy2QDkCvqdAJbbd2KMbQSwEQCKi4tRW1vresJbt27F3T6SoLGmlwoG9J/vTHmsBb0q/AyIGJElBb3t6D/fidCNkJm4Ewpr2HGgHv3zndPO4/GN+/w4fjWCfAX47TUODoZQWEP45nXkKUBY00X8s9N9+NK8PMwaaMPWt8/i5/V3owLJAdmBFIpEx/PQ5DDkqWx+3k3zeTw804eDnRFzm8at97KsUMVHDDFWedelSwhHIoAUBKkwYB66Lc/6sXtU/Ift+Idn+jBroA2zjJ/P1kYVf3fsLiK2a8jj2HcuFJ20hvCsa4pD6D//CWrPez5kWBgJf1dZW+zknG8BsAUAlixZwmtqalz3ra2tRbztIwkaa2ZIdaw10ItDya/wDe1B5Ac7kefXw+d8PgX598xE4TznJgxuNLQHsfOjaNaljzG9OYRfwXeeXI4nrvSbpV0/DXK88nQVqssCaD7YCo23ANCldPUDxaht6TZDDfP9immB1gC4/2iHmQAlhx9+Zx5wZGud6QJRWOyx53HS4mdnAJ5Y+gDudJ3Fsev6ZMaYHmf+UNV8y/3XALhecMosopXnY5g1e5blOTUfbIVq3It8jfw8BVWVi9B8J4Sqynzsu9BsusuSta5z5fd1JIwzHUJ+CcAc6fsS4zOCGFbkV3h7E4fHF+siuvNYB/Ym6WKxF716dLYfSyrmmxNGXVuPY0r7pd4B+H2K2RD5hcfm44XH5puJNvauPuuXl5olb+W64BsemWcmF1XMmmJxdwhEFqmcxPTq+814eIYel97c1Yddxy/iwKmrOHT2GrZtWIF/O3IBtWeu4fdmT8GxCzdMH7/KgR3HojVkhIsnz8fMScjvY3hmyRxUzJpiiVF/buVcNF++mVI2LpGYdAh5PYD7GGPzoAv4NwCsT8N5CSJtWMRX4xgIq2ZkRbKREfaF2Ydn+7EhTvEtOcNTTCLTCgsAeFtclceucY43D7WZVrhd/OWImE1rK7Dl0Dm0G9UQQxENBzuBI1eb8XRVieX+//Ltk2ZCk5wxCsBSdkCuSb5j40rTRy7ay/3o43O4ayQlhcKaWWwrUdcmIjVSFnLOeYQx9h0A/w49/PAnnPPmlEdGEGnELq5rKmdailklExmRaGHWvt3SCUjjZgaklzeBhvYgLvUOgIlasgYimWdPY6fzW4fRJVoU2hJRNoAusPb6KReDsb1FnZBrkovrimv+3CjsZcIQ82ZCQp4Z0uIj55z/AsAv0nEugsgETjHist85WYGRY9WdMhDtlrYQTWZUCYwXIy03QjYbPCsMPqOglZBKDmB3Q6cZCuhWaEuB3vBZ1GDRoJfFfdoIE1xRXoR/O3LBUmPlvnsn4qwRZw4Y4YfQfeDypGd5W7CtrpZPm4jO3gHLm4lb/890MhZru1BmJzFmsItrqhX33DIQ7UIiTyJCnOMV7ZL94UL0mcbxjWWlmDV1PD652GuGOEZUzWwUIb91KArT+4dywO9XMDHfF419Z3ooouxbF8+h9sw11Nx/L+4rLsQ//HuLOWkoCsPnF03HdMMlJBBZouKaqpQ89K1Hyi1t4GTfuZc1idagiuYkhX+sdhsiISeIIeKUgQjAtfCWEBT5TQCwdqmXLVyz7gnXI2LEwmbNwuk4dPaauZ9oFLFtwwpLdiUHwBQGTdPwu84+08XCGMNb9R3QOCxjfP0bD5n3tv1oB2RvjqZxHDRcQjHx98ZOPgY8/2i5ubgpslGry/TuS8l0AWpoD+K1+ruI8JakBHmsdhsiISeIIeKUgei1FICw3O2iLxJ+zCYSXE8oem7lXNOiFd3qu2/eNQVaXOvFVQv0dnfGQiYzRFaIOACL1SwKWdnDNDfvazZFXCQ1Ofm7xbW4cd7C8Xn4tz+NSSNJugtQXVsPwhriuqDi/UzGWrchEnKCGCJuGYhehcQu+iIMUYPVD845R/Plm+a+oYiGA59ehd/HoBhWs1uvT58vWsucMWapmyIE2l5m1tJ/k+n9N9dUzrS4hIS/OzAh31O1Sa91bAQryouQp+ihj8kIcrLXGS2QkBNEClSXBdA/P99S7tarkFgE1xBUkXUqEFUDRZSNXF0wrHJTjEWlQuGmkccAwPRTv/quXhJANKhg0GPEZUvbfNMw/PQiIUnuH2qvZ25P3RfunbDKzRIF65eXehbWliv9KJnEsKBkOl54LJqw5GUhM9W1j1yEhJwg0owQEbmYlYwsRkJwu3oHsOOYtYZ3nlE1UESliFKxu6T+ncKlcbClO2YxUa65LsZwp+ssBqeWmUK4/WiH3jSZc9PyrS7T2+ptercJqsbx6ntNAGOm1Q5YS9EG74TMa9kbYwDRHqZe48i3H+3AD97WSwK3fXoVNQunu7qikhH40Yxbo22CIIaIEJz/+4MWfHNrHRrag67bAODFVQuwrqoE+X4FitQLjgFmVcI3DrYCAP76qw9ix8aVWL+8FIamggP41enuGN+8EwsCPlN0f/D2Sbz6fjM0rtcVl5smB++EoHFuWv5h6dyi6YSPxbo95J6kMqKHqRf2N112/N5p/cHpmcrPe6xAFjlBeMSr1RdvwVPeNhjWsNdI6BEuGbnyoKrpSUN7HDrqVJcFcK1/0KxyKDrY+8AT+pTlsMlolUZr02S72weMmfVpOBDjToF5nliE8Hv1c6+pnGlpnLGmcmbMmOR7HKuRKjIk5AThgWTik+NFTti78+w6ftFMsxf1xOWMU5FabxephvYgas9cs1yXGZ2C5LR9++TTGlTx8bkzNhGPtazFxCIWYCtmTTHrs+w81uH6DNZVlWCn1NeUAXjkvml4afX9cV1M9hozALD9UDPWP1phCWN0Wn8Yq5EqMiTkBOGBZKy+eAue1WUBfK26xOxpqUop707HAsBeh446dW09iKjWwuJc45g1dbxFxJ/dcgRhlZv1xPXY7LtmxqfcvcfpfuT+muts9Vnsz0AI8/OPzNNrrGgc+Xn6Qq19vSDRxLh+eSlmDbShwif49wAAEZhJREFUcEahJc7eaSEzU5EqueR3JyEnCA8ksvqcsjnd/vifripxFGeB/dh4VqhcyjaevzqkcvzkcBtChvaLsEInS1lgn7yEi8Qt1FAIs09hmFs0AfPunYRVC6c7ZnR6mRhbgyr+4SNvb0Fuz9v+c/EqzrmWIUpCThAeiGf12QXHzX/s5Vxu13ZylQjXx/X+QUwrLIhpv2b3V7ddl2qnMIabA2G0XOn37CKS27jZx22vudJ67bbZE9RJsL24Q07fUFPyfTuV//3pkQuexDnX/O4k5AThETerTxacUEQzm0rEEwuncyWyFp36fcquDxHhIlhXVYJdRmy6vQ6KqnF80tmHTzr1MD/hh7aP0WnCcRpbYEI+FKZnf8qc7OyF37i2LNheJrNF9/iQ71eH7Pu2l//d8us2APAkzrnmdychJ4gUkQXHS3VDJ7y8ytutxP1Nl+NajdVlAex4XhfL/oEw3jzU5nht0Q80GcSk0z8QxpG2Hnx6+SZUjUMxKjQKrt4cRJ5fwTPL5sS8MSRK3FkQ8KXk+15RXmSZXLhR7oB5iOzJtQxREnKCSBFZcBJVN3TDy6v8UGqqC7EUcehOiPA+O26Ti1P4okAB8MQDxTh7td9saBFRNcyWFmHl86crS9PpXNVlAWx+qlJ/QzIWXhO5vZK9tlsZ42xDQk4QaUD+ox9KnXMvr/JOVqLXa8lp9wIG4IVHy12tcbfJRa7FYifPr+Dbj81Hy5V+MztT40D/QNiy3/ajHZ5cUF6I9zazfnlpTLVJr4lJXq9rL2M8HJCQE0SaGUqtD6+v8vZze72WcLP8X9uOoO2mLsEKAwrH57keY08K6uodQEN70KzQaM/gXDY3gO+vWWyKvczWw+fxRMUM06Lf9G6TWcArlOJiYqK3GfGM0h2J4lTGeLiEnFL0CWKEUF0WwIurFmRMDKrLAli/uADj8pzT653237ZhBZ5ZVgowhh3HOvDNrXVoudKvZx9JMACPGTVRAJhiL5BT9OvaeiwLrwpjKS0migkn0T3Jgh8K6w05UknnF9dVkFyFxkxAQk4QYwjhz/8vX1joySKtLgtg9tTxiKjWRVY5GYlBL/AlLHZx3OanKuFXmNkoWi6zW5CnC6DfqIyYyuQlJpxE9yQLrwbgN63XU6rNIq677r68YY8zT8m1whj7HwCeBBACcA7An3DOe9MxMIIgMkOyrp94i6w+o8nFx2euYcexDrN7EKAX3tr8VGXM4mImIkK83JO47usHzuA3rdfTEiNeXWYtYzxcpOoj/xDAX3DOI4yxvwfwFwC+n/qwCIJIFbeokGRTz4UAirorC2cUWoS4rq0HH526agqjvdDXprUVMSn6Q1lHSAfVZbH1bEZ6jLgXUhJyzvkH0rd1AL6W2nAIgkgHbgt7yaS92xHJR8LqFuVwW670W2qay4W+vCZIOY0/U2F9yb4R5ELNFca5UxDREE7E2PsA3uKc/8xl+0YAGwGguLi4eufOna7nunXrFiZNmpSWcWUaGmtmoLGmxr5zIew5GzaLY627Lw9r5+djz6lb2NfOYj4f6vlagypeq7+LsKZHwfzR4nyUFCp6cS5NXxMVwS1erxc9J0eewvC9peOwIOBL6XkMFfn+8hQ4jiWbP/9Vq1Y1cM6X2D9PaJEzxg4AmOGw6RXO+bvGPq8AiADY5nYezvkWAFsAYMmSJbympsb1mrW1tYi3fSRBY80MNNbUKJwXxL4Ldab7QPQUbQ1+hA+7QjGfD/V8zQdbEeEtZkz5vXPmYcOqBXioKuiYIOXletFzMqgcGJxahpqaBXGPSQdOlrd8f25jGQk//4RCzjlfHW87Y+w5AGsBPM7TZd4TBJESbu4Dt7T3RO4Dt/O5JTI5JUgFJuS7tr+TkSs7DsWHPRRXiJsrKldqrqQatfJFAN8D8Bjn/E56hkQQRDpwW1C0f+4kYgAcU97t5/PibxafiSxIuRmz27i3bViBHQfqPb8xJHsvdtySinKl5kqqUSv/DKAAwIdMTxCo45x/O+VREQSRNfY0dpp1U8LGYuZeh/ZybsSLQBHW8aXeAfMaXpoxu4X1JbK27YLs1irPTjzLe7gibJIh1aiVzDuuCILIGA3tQexu6DR93Hp1QOca4kM5t+hQ5PPpiUFi4VNkeqZqbScqLObWKs9OrljeblCtFYIYw8gt4xhgtn3bE6eDkVfkDkURlWPZ3AAaO3rNUMRU6ovb+5fKAuylVZ4TuWB5u0FCThBjGKcuQOmyTu0diu4rLsT31yxOqb643f3hZqXL585lS9srJOQEMYZxE+10WKdyhyK/j5nuG5FIlI6xvnGw1ZOVPloFXEBCThCjiKGE3iUrdF6vIUrn7m3sxK7jF7HzWAd2N3Tia9UlMd2CvGIfq2gxJ7JK41npQ72PXICEnCBGCdno/C4aQqgaR0Get4iWurYeRDRupuzvONqBvUaafyrja2gPYvO+ZmicQ1EYNq2tiGul24/N9LPKJlTGliBGCU6LgelEbgjBodf09nINe21yuRFDKsj3yzlH8E7IvF6i+uSZflbZhixyghglZDoLcW9jp9nVB9DrqHi+BmOA4SV3asQwFDdHvKzSRAucuZKx6RUScoIYJWQyFrqhPYhdxy9aPlMUe1yKM3KIo8KAhxdMw0ur77eUBxiKmyPe/Sby+yfzrBJNMq1BFc0HW4fV105CThCjiExFaAg/t4ymeUvqsVu/soiLcw81ASmV+/VybKJJpqE9qFd65C3D6msnIScIIiFyISsNumXt1SURz/ptaA+iq3cAfoVB1fiIc3MkmmTq2noQ1jDsDZhJyAmCSIgsxoEJ+THt27wcHy9yxO9T8MyyOWZYYiYbSySDU3ijzIryIuQpeumB4ZyESMgJgvBEqm4bu69ZtnZVVcPsqeNNEf/m1jrcDWt459yRuJUSM4lbeKNMdVkA31s6DoNTy8hHThDE8JCtpBgnX7Nb5EhdWw8Gw/riqJdKiZlCnmgYouGNdhYEfFlpfBEPEnKCGKNkMynGydf84qoFrs0qfAozF1eHUikxHeRSiCIJOUGMUdySYjJhoXvpJCSoLgtg81OV+OE7J8GBIVVKTAe5VNqWhJwgxih2cQ1MyM+YhZ6sKK5fXoo7XWeH3fecKwW3SMgJYoxiF9dU4rm9Xi+Z840E33OuQEJOEGMYu7jmik+YsEJCThAEgNzyCRNW0iLkjLH/CuAfANzLOb+ejnMSBJF9csUnTFhJuYwtY2wOgC8A6Eh9OARBEESypKMe+T8C+B4AnmhHgiCIhvYg3jjYiob24HAPZdTAOB+6/jLGngLwec75nzPGLgBY4uZaYYxtBLARAIqLi6t37tzpet5bt25h0qRJQx5XNqGxZgYaa2YY7rG2BlW8Vn8XYQ3IU4DvLR2HBQGf477DPVavZHOcq1atauCcL7F/ntBHzhg7AGCGw6ZXAPwAulslIZzzLQC2AMCSJUt4TU2N6761tbWIt30kQWPNDDTWzJDMWDORvt98sBUR3gIOvdDU4NQyFM4rcrxOrjzXkTDOhELOOV/t9Dlj7EEA8wB8whgDgBIAjYyxZZzzK2kdJUEQWSVT6fvZTEIaiWSqts2Qo1Y45ycBTBffJ3KtEASRO2QqOSjbSUgjiUzWtqE4coIgYshkwaixmoSUyUkrbULOOZ+brnMRBDG8ZCs5aCwlIWVyciSLnCAIR7KVHDRWkpAyOWmRkBMEQWSJTE1a6UgIIgiCyElGS3ISWeQEQYxJstkhKdOQRU4QxJjErUNSLkJCThDEmEREkfgYcj70kVwrBEGMSUZT6CMJOUEQo4pk0uBHS+gjCTlBEKOG0bSAmQzkIycIYtQwmhYwk4GEnCCIUcNoWsBMBnKtEAQxahhNC5jJQEJOEMSoYrQsYCYDuVYIgiByHBJygiCIHIeEnCAIIschIScIIqcZLRUMU4EWOwmCyFnGagKQHbLICYLIWcZqApCdlIWcMfZnjLHTjLFmxthr6RgUQRCEF8ZqApCdlFwrjLFVAJ4C8BnO+SBjbHp6hkUQBJGYsZoAZCdVH/l/AvB3nPNBAOCcd6c+JIIgCO+MxQQgO4xzPvSDGTsB4F0AXwRwF8B3Oef1LvtuBLARAIqLi6t37tzpet5bt25h0qRJQx5XNqGxZgYaa2agsaafbI5z1apVDZzzJTEbOOdx/wE4AKDJ4d9Txv//FwAGYBmA8zAmh3j/qqureTwOHjwYd/tIgsaaGWismYHGmn6yOU4Ax7mDpiZ0rXDOV7ttY4z9JwB7jQscY4xpAKYBuJbMLEMQBEEMnVSjVt4BsAoAGGP3A8gHcD3VQREEQRDeSXWx8ycAfsIYawIQAvDHhnVOEARBZImUhJxzHgLwh2kaC0EQBDEEUopaGfJFGbsGoD3OLtOQOy4aGmtmoLFmBhpr+snmOMs45/faPxwWIU8EY+w4dwqxGYHQWDMDjTUz0FjTz0gYJ9VaIQiCyHFIyAmCIHKckSrkW4Z7AElAY80MNNbMQGNNP8M+zhHpIycIgiC8M1ItcoIgCMIjJOQEQRA5zogQcsbY/zCaU/yOMfY2Y2yqy35fZIy1MMZaGWMvZ3ucxhi+bjTR0BhjriFHjLELjLGTjLETjLHj2RyjNAavYx0Jz/UextiHjLGzxv8d65IyxlTjmZ5gjL2XxfHFfUaMsQLG2FvG9qOMsbnZGpvDWBKN9TnG2DXpOW4YjnEaY/kJY6zbyA532s4YY//TuJffMcaqsj1GaSyJxlrDGOuTnuumrA3OqZJWtv8B+AIAv/H13wP4e4d9fADOASiHXtPlEwAPDMNYFwNYCKAWwJI4+10AMG2Yn2vCsY6g5/oagJeNr192+h0wtt0ahrElfEYA/g8AbxpffwPAW8P0M/cy1ucA/PNwjM9hvI8CqALQ5LL9SwD2Q6+wugLA0RE81hoA+4ZjbCPCIuecf8A5jxjf1gEocdhtGYBWznkb10sD7IReSjercM5Pcc5bsn3doeBxrCPiuRrX/Bfj638B8JVhGIMbXp6RPP7dAB5njLEsjlEwUn6enuCcHwJwI84uTwH4V65TB2AqY2xmdkZnxcNYh40RIeQ2vgV9BrYzG8BF6ftO47ORCgfwAWOswWiqMVIZKc+1mHN+2fj6CoBil/3GMcaOM8bqGGPZEnsvz8jcxzBK+gAMRwNJrz/Ppw1XxW7G2JzsDG1IjJTfT6+sZIx9whjbzxiryNZFU61+6BnG2AEAMxw2vcI5f9fY5xUAEQDbsjUuJ7yM1QOPcM4vGX1MP2SMnTZm9LSSprFmhXhjlb/hnHPGmFtcbJnxXMsB/IoxdpJzfi7dYx3lvA9gB9f77L4A/U3i88M8ptFAI/Tfz1uMsS9BL/N9XzYunDUh53EaVAD6AgyAtQAe54bDycYlALLlUGJ8lnYSjdXjOS4Z/+9mjL0N/ZU37UKehrGOiOfKGLvKGJvJOb9svDo79n+VnmsbY6wWwEPQfcKZxMszEvt0Msb8AKYA6MnwuJxIOFbOuTyurdDXJ0YqWfv9TBXO+U3p618wxv5fxtg0znnGC2qNCNcKY+yLAL4H4Muc8zsuu9UDuI8xNo8xlg99QSlrUQvJwBibyBgrFF9DX8x1XOkeAYyU5/oegD82vv5j6L1gLTDGAoyxAuPraQAeBvBpFsbm5RnJ4/8agF+5GCSZJuFYbT7mLwM4lcXxJct7AP53I3plBYA+yQU3omCMzRDrIoyxZdD1NTuT+XCtANtWe1uh+8FOGP/E6v8sAL+Q9vsSgDPQLbBXhmmsX4XupxsEcBXAv9vHCj1i4BPjX/NIHusIeq5FAD4CcBZ6n9h7jM+XANhqfP37AE4az/UkgD/N4vhinhGAzdCNDwAYB2CX8bt8DED5cDxHj2P9W+P38hMABwEsGsax7gBwGUDY+F39UwDfBvBtYzsD8IZxLycRJ1JsBIz1O9JzrQPw+9kaG6XoEwRB5DgjwrVCEARBDB0ScoIgiByHhJwgCCLHISEnCILIcUjICYIgchwScoIgiByHhJwgCCLH+f8BXW3hEFfm6eUAAAAASUVORK5CYII=\n"
169
+ },
170
+ "metadata": {
171
+ "needs_background": "light"
172
+ }
173
+ },
174
+ {
175
+ "output_type": "stream",
176
+ "name": "stdout",
177
+ "text": [
178
+ "AFTER FACTORIZATION:\n"
179
+ ]
180
+ },
181
+ {
182
+ "output_type": "stream",
183
+ "name": "stderr",
184
+ "text": [
185
+ "<ipython-input-4-bf112f0f6a51>:14: RuntimeWarning: covariance is not positive-semidefinite.\n",
186
+ " data = np.random.multivariate_normal(mean, sdCh, size=1000)\n"
187
+ ]
188
+ },
189
+ {
190
+ "output_type": "display_data",
191
+ "data": {
192
+ "text/plain": [
193
+ "<Figure size 432x288 with 1 Axes>"
194
+ ],
195
+ "image/png": "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\n"
196
+ },
197
+ "metadata": {
198
+ "needs_background": "light"
199
+ }
200
+ }
201
+ ]
202
+ },
203
+ {
204
+ "cell_type": "code",
205
+ "source": [
206
+ "# 4\n",
207
+ "\n",
208
+ "print('OBSERVED MEAN: RED LINE, POISSON RANDOM MEAN')\n",
209
+ "\n",
210
+ "data = []\n",
211
+ "cleaned_X = list(range(1,31))\n",
212
+ "cleaned_Y = []\n",
213
+ "\n",
214
+ "with open('nyc-east-river-bicycle-counts.csv', mode='r') as file:\n",
215
+ "\n",
216
+ " csvFile = csv.reader(file)\n",
217
+ "\n",
218
+ " for line in csvFile:\n",
219
+ " data.append([line[1], line[6]])\n",
220
+ "\n",
221
+ "data.remove(data[0])\n",
222
+ "data = data[:30]\n",
223
+ "for i in range(len(data)):\n",
224
+ " cleaned_Y.append(data[i][1])\n",
225
+ "\n",
226
+ "simplified = []\n",
227
+ "\n",
228
+ "for i in range(len(cleaned_Y)):\n",
229
+ " for j in range(int(float(cleaned_Y[i]))):\n",
230
+ " simplified.append(i+1)\n",
231
+ "\n",
232
+ "mean = sum(simplified)/len(simplified)\n",
233
+ "\n",
234
+ "plt.hist(simplified, 30)\n",
235
+ "plt.axvline(mean, color='r', linestyle='dashed', linewidth=1)\n",
236
+ "plt.show\n",
237
+ "\n",
238
+ "# def num_rand(p, q):\n",
239
+ "# u = np.random.uniform(0,1)\n",
240
+ "# if u < p : return 0\n",
241
+ "# if u < (p+q) : return 1\n",
242
+ "# return 2\n",
243
+ "\n",
244
+ "# poissonfunction by Gareth Tribello (YouTube video given)\n",
245
+ "def poisson(lam):\n",
246
+ " el, n, u = np.exp(-lam), 0, np.random.uniform(0,1)\n",
247
+ " pp, fact, pow = el, 1, 1\n",
248
+ " while u > pp:\n",
249
+ " n = n + 1\n",
250
+ " fact, pow = n*fact, lam*pow\n",
251
+ " pp = pp + (pow/fact)*el\n",
252
+ " return n\n",
253
+ "\n",
254
+ "poisson_random = []\n",
255
+ "lam = 18\n",
256
+ "\n",
257
+ "for i in range(len(simplified)):\n",
258
+ " poisson_random.append(poisson(lam))\n",
259
+ "\n",
260
+ "mean = sum(poisson_random)/len(poisson_random)\n",
261
+ "plt.hist(poisson_random, 30, alpha=0.5)\n",
262
+ "plt.axvline(mean, color='y', linestyle='dashed', linewidth=1)\n",
263
+ "plt.show"
264
+ ],
265
+ "metadata": {
266
+ "colab": {
267
+ "base_uri": "https://localhost:8080/",
268
+ "height": 297
269
+ },
270
+ "id": "UJN6xXVyotNY",
271
+ "outputId": "593b9924-3122-4e3b-bf91-0a8d57753236"
272
+ },
273
+ "execution_count": 6,
274
+ "outputs": [
275
+ {
276
+ "output_type": "stream",
277
+ "name": "stdout",
278
+ "text": [
279
+ "OBSERVED MEAN: RED LINE, POISSON RANDOM MEAN\n"
280
+ ]
281
+ },
282
+ {
283
+ "output_type": "execute_result",
284
+ "data": {
285
+ "text/plain": [
286
+ "<function matplotlib.pyplot.show(*args, **kw)>"
287
+ ]
288
+ },
289
+ "metadata": {},
290
+ "execution_count": 6
291
+ },
292
+ {
293
+ "output_type": "display_data",
294
+ "data": {
295
+ "text/plain": [
296
+ "<Figure size 432x288 with 1 Axes>"
297
+ ],
298
+ "image/png": "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\n"
299
+ },
300
+ "metadata": {
301
+ "needs_background": "light"
302
+ }
303
+ }
304
+ ]
305
+ },
306
+ {
307
+ "cell_type": "code",
308
+ "source": [
309
+ "# 5\n",
310
+ "\n",
311
+ "# poissonfunction by Gareth Tribello (YouTube video given)\n",
312
+ "def poisson(lam):\n",
313
+ " el, n, u = np.exp(-lam), 0, np.random.uniform(0,1)\n",
314
+ " pp, fact, pow = el, 1, 1\n",
315
+ " while u > pp:\n",
316
+ " n = n + 1\n",
317
+ " fact, pow = n*fact, lam*pow\n",
318
+ " pp = pp + (pow/fact)*el\n",
319
+ " return n\n",
320
+ "\n",
321
+ "lam = 1\n",
322
+ "queue = []\n",
323
+ "\n",
324
+ "r = np.random.exponential(4, 1000)\n",
325
+ "\n",
326
+ "for i in range(1000):\n",
327
+ " queue.append([poisson(lam), r[i].round()])\n",
328
+ "\n",
329
+ "ind = 0 \n",
330
+ "time = 0\n",
331
+ "inLine = [0]\n",
332
+ "newTime = 0\n",
333
+ "# simulate queue\n",
334
+ "while True:\n",
335
+ " newTime = time + (queue[ind][0] * queue[ind][1])\n",
336
+ " if newTime != time:\n",
337
+ " inLine.append(queue[ind][0] + inLine[-1])\n",
338
+ " time = newTime\n",
339
+ " if (ind + 1) == 1000:\n",
340
+ " break\n",
341
+ " else:\n",
342
+ " ind += 1\n",
343
+ "for i in range(len(inLine)):\n",
344
+ " time_to_live = int(queue[i][1])\n",
345
+ " if (time_to_live + i) < len(inLine):\n",
346
+ " inLine[time_to_live + i] -= queue[i][0]\n",
347
+ "\n",
348
+ "\n",
349
+ "print('HISTOGRAM OF QUEUE AT ANY GIVEN TIME FROM TIME 0 TO 1000 UNITS')\n",
350
+ "plt.hist(inLine, 150)\n",
351
+ "plt.show() \n"
352
+ ],
353
+ "metadata": {
354
+ "colab": {
355
+ "base_uri": "https://localhost:8080/",
356
+ "height": 281
357
+ },
358
+ "id": "BPsksZnrsX18",
359
+ "outputId": "c8f4f3b4-0565-40df-bd0c-e5c119e82c9b"
360
+ },
361
+ "execution_count": 7,
362
+ "outputs": [
363
+ {
364
+ "output_type": "stream",
365
+ "name": "stdout",
366
+ "text": [
367
+ "HISTOGRAM OF QUEUE AT ANY GIVEN TIME FROM TIME 0 TO 1000 UNITS\n"
368
+ ]
369
+ },
370
+ {
371
+ "output_type": "display_data",
372
+ "data": {
373
+ "text/plain": [
374
+ "<Figure size 432x288 with 1 Axes>"
375
+ ],
376
+ "image/png": "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\n"
377
+ },
378
+ "metadata": {
379
+ "needs_background": "light"
380
+ }
381
+ }
382
+ ]
383
+ }
384
+ ]
385
+ }