diff --git a/07-Kalman-Filter-Math.ipynb b/07-Kalman-Filter-Math.ipynb index 2dddda4..70e83d0 100644 --- a/07-Kalman-Filter-Math.ipynb +++ b/07-Kalman-Filter-Math.ipynb @@ -489,7 +489,7 @@ "\n", "$\\mathbf x_k$ does not mean the k$^{th}$ value of $\\mathbf x$, but the value of $\\mathbf x$ at the k$^{th}$ value of $t$.\n", "\n", - "Broadly speaking there are three common ways to find this matrix for Kalman filters. The technique most often used with Kalman filters is to use a Taylor-series expansion. Linear Time Invariant Theory, also known as LTI System Theory, is a second technique. Finally, there are numerical techniques. You may know of others, but these three are what you will most likely encounter in the Kalman filter literature and praxis." + "Broadly speaking there are three common ways to find this matrix for Kalman filters. The technique most often used with Kalman filters is to use a matrix exponential. Linear Time Invariant Theory, also known as LTI System Theory, is a second technique. Finally, there are numerical techniques. You may know of others, but these three are what you will most likely encounter in the Kalman filter literature and praxis." ] }, { @@ -1231,12 +1231,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": { "collapsed": false, "scrolled": true }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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\nEBERERFNRhJBEISBOu3btw+rVq3Cm2++iYyMDOzYsQM7d+7EpUuXEBYWhs2bN+PcuXM4fPgwAECv\n1yMxMRGLFi3Cc889h6KiIjzxxBPYsmULNmzY4PCbIiIiIiIaLwY1h/x73/seGhoasHXrVmg0GiiV\nShw4cMCyBrlWq0V5ebmlv5eXFzIzM7F27VrMnj0bvr6+2LRpE8M4EREREdENBjVCTkREREREjjHg\nHHJHePfdd3HXXXfB19cXUqkUVVVVgzrvk08+QXJyMlxdXaFUKvHZZ585uFIioLOzE//xH/+BKVOm\nQKFQ4IEHHsDVq1dves6uXbsglUrh5OQEqVRq+dnW+vlEw/XWW28hOjoabm5umDVrFo4fP37T/mq1\nGosWLYK7uzvCw8Px29/+doQqJbq157WystLyHXr9d+mhQ4dGsGKarI4dO4YHHngAYWFhkEql2L17\n94DnDPX7dVQCeVtbG5YtW4YtW7ZAIpEM6pxTp07h0UcfxeOPP468vDysXLkSDz/8MM6dO+fgammy\nW79+PT799FPs3bsXx48fh16vx3333YeB/nHJw8MDWq3W8kej0VhtlkVkD3v37sWGDRvw61//Grm5\nubj99tuxfPlyXLlyxWb/lpYWLFmyBCEhIcjOzsYf//hH/P73v8drr702wpXTZHSrzyvQs+P2oUOH\nrL5L77rrrhGsmiar1tZWqFQqvPHGG3B3dx+w/7C+X4VRlJWVJUilUqGysnLAvo888oiwdOlSq7bF\nixcLK1eudFR5REJzc7Mgl8uFv//975a26upqQSqVCocOHer3vPfff1/w9PQciRJpkps7d67w05/+\n1KotLi5O+M///E+b/d966y3B29tb6OjosLS99NJLQlhYmEPrJBKEW39eKyoqBIlEImRnZ49EeUT9\nUigUwq5du27aZzjfr6MyQj4Up06dwtKlS63ali1bhpMnT45SRTQZZGdno7u7G0uWLLG0hYWFISkp\nacBnz2g0IioqCuHh4bj//vuRm5vr6HJpkunq6kJ2drbV8wkAS5cu7ff5PH36NBYsWGD1rzXLli1D\nTU0NKisrHVovTW5DeV77PPjggwgKCsL8+fPxySefOLJMoiEbzvfruAnkWq0WQUFBVm1BQUHQarWj\nVBFNBlqtFk5OTvD397dqH+jZS0hIwHvvvYcvvvgCH330EVxdXZGRkYHS0lJHl0yTSF1dHUwm0y19\nN/b3XSoIAr9PyaGG8rwqFAq8+uqr2LdvHw4cOIC7774bjzzyCP72t7+NRMlEt2Q43692C+TPP/+8\n6N0kRNoAAAOxSURBVMWLG1/COHr0qL0+jmhYHP283nbbbXj88ccxY8YMZGRkYO/evYiNjcWf/vQn\nO94FEdHE5u/vj40bN2LOnDlIT0/Hli1b8NRTT2Hbtm2jXRqRXQ1qHfLB2LhxIx5//PGb9omIiBjy\n9YODg6HT6azadDodgoODh3xNmrwG+7yeOnUKJpMJ9fX1VqPkOp0OCxcuHPTnSaVSzJw5EyUlJUOu\nmehGAQEBcHJyuqXvxv6+SyUSCb9PyaGG8rzaMmfOHOzcudPe5REN23C+X+0WyP38/ODn52evy4nM\nmzcPmZmZ+MUvfmFpy8zMxO233+6wz6SJa7DP68yZM+Hs7IzMzEw8+uijAIArV66goKAAGRkZt/SZ\neXl5SEtLG1K9RLbIZDLMnDkTmZmZeOihhyztmZmZePjhh22eM2/ePDz77LPo7Oy0zHM8dOgQQkND\nERkZOSJ10+Q0lOfVlpycHISEhDiiRKJhGdb36zBfOh0SrVYr5ObmCh9++KEgkUiE/fv3C7m5uUJD\nQ4Olz1133WX11vXJkycFmUwm/O53vxMKCwuF//7v/xbkcrlw7ty50bgFmkSefvppITw8XDh8+LBw\n/vx54c477xTS09MFs9ls6XPj87plyxbh4MGDQllZmZCbmys88cQTglwuF7KyskbjFmgC27t3r+Di\n4iL8z//8j1BQUCD8/Oc/Fzw9PYXq6mpBEATh2WefFe6++25L/+bmZiEkJER47LHHBLVaLXzyySeC\nl5eX8Nprr43WLdAkcqvP665du4S//e1vQkFBgVBUVCT8/ve/F1xcXIQ//vGPo3ULNIm0trYKubm5\nQk5OjuDu7i789re/FXJzc4WqqipBEOz7/Toqgfy//uu/BIlEIkilUqs/1y8nM23aNOHJJ5+0Ou+T\nTz4RkpKSBBcXF2H69OnCZ599NtKl0yTU2dkp/PznPxcCAgIEDw8P4YEHHhCuXLli1efG53Xjxo1C\nVFSU4OrqKgQFBQn33HOPcObMmZEunSaJHTv+f3t3jBohEAVgmHQKgr2dltZaexU9i4dIbeM5LDyC\n93npAoHAsrCbx2a/r50pXjEMfzXzGW3bRlEUMQxDnOf5vTbPc3Rd92P/dV0xTVOUZRlN08S6rn89\nMm/snvO6bVv0fR9VVUVd1zGOY+z7njE2b+g4jl97dVmWiHjs/foRceN3EwAA4Gle5tlDAAD4jwQ5\nAAAkEuQAAJBIkAMAQCJBDgAAiQQ5AAAkEuQAAJBIkAMAQCJBDgAAib4AB348hRnp3WkAAAAASUVO\nRK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "import matplotlib.pyplot as plt\n", "t = np.linspace(-1, 1, 10)\n", @@ -1255,11 +1266,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAu4AAADxCAYAAACUAjKtAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl4VOW9B/DvLJlJMkkmezIhgSSQPWxJQHZkEY0ILr1u\nVEV97lNbxQV722qVq15Fqe2t1fbC0+JVqSsoLlwFBSv7JskkQICEsCRkmcmeyT7ruX8kjBlmAoQs\nZ2by/TxPnjl5zzsnv8npsV/evOc9EkEQBBARERERkVuTil0AERERERFdGYM7EREREZEHYHAnIiIi\nIvIADO5ERERERB6AwZ2IiIiIyAMwuBMREREReQAGdyIiIiIiDyBqcLfZbFi1ahUSExPh5+eHxMRE\nrFq1CjabTcyyiIiIiIjcjlzMH75mzRqsW7cO//znP5GZmYljx45h+fLl8PX1xXPPPSdmaURERERE\nbkXU4H7w4EEsWbIEN998MwBg9OjRWLJkCQ4fPixmWUREREREbkfUqTKzZs3Czp07UVJSAgA4efIk\nfvjhByxevFjMsoiIiIiI3I6oI+6/+93v0NraivT0dMhkMlitVjz33HN45JFHxCyLiIiIiMjtiBrc\nP/nkE7z//vv45JNPkJ6ejsLCQjzxxBNISEjAQw895NDXYDCIVCURERER0cCp1eoBvV8iCIIwSLX0\n2+jRo/Hb3/4WK1assLetXr0aGzZswOnTpx36MrgTERERkScbaHAXdY57R0cHpFLHEqRSKZeDJCIi\nIiK6hKhTZZYsWYI1a9YgPj4eGRkZ0Gq1eOONN/Dggw9e9n0D/dcKiSsvLw8AkJOTI3IlNFA8l96D\n59I78Dx6D55L7zGYs0ZEDe5/+9vfsGrVKjz22GOora2FRqPBI488glWrVolZFhERERGR2xE1uKtU\nKvz5z3/Gn//8ZzHLICIiIiJye6LOcSciIiIioqvD4E5ERERE5AEY3ImIiIiIPACDOxERERGRB2Bw\nJyIiIiLyAAzuREREREQegMGdiIiIiMgDMLgTEREREQ0ys8WMrw98MKjHFPUBTERERERE3uZCzRl8\nuOMt6BouYHbGkkE7LoM7EREREdEgMFvM+O7Hjfg+73PYBNugH5/BnYiIiIhogHqPsl+kkCsH9Wcw\nuBMRERERXaPuUfZN+D5vs8Mo+7hRGbh34YpB/VmiBveEhASUl5c7tS9evBj/93//J0JFRERERERX\np69R9qWzHsCsCbmQSqQwGAyD9vNEDe55eXmwWq3276urq5GdnY27775bxKqIiIiIiPrW1yj72FEZ\nWLZwBSKCNUPyc0UN7mFhYQ7fr1+/Hmq1GnfeeadIFRERERER9a2vUfYlM+/H7Ik3QyoZutXW3WqO\n+zvvvIP7778fSuXgTuQnIiIiIhoIsUbZe5MIgiAM+U+5Ctu3b0dubi6OHj2KzMxMp/295weVlpYO\nZ2lERERENII1tOmwv3QLmjvq7G1yqQ8mj5mPVE0OJBJJn+9NSkqyb6vV6gHV4TYj7uvXr8eUKVNc\nhnYiIiIiouFmtVlwrGIfiir3Q8BPY91RQaMxY9wtCPQLHdZ63CK419XVYcuWLVi3bt1V9c/JyRni\nimgo5eXlAeB59AY8l96D59I78Dx6D55L8Q3WXHavWVXmonfffRe+vr645557xC6FiIiIiEYws8WM\n7Uc2YccR8eay98Utgvv//u//4t5774W/v7/YpRARERHRCCXmijFXQ/TgvmvXLpw5cwYfffSR2KUQ\nERER0QjkzqPsvYke3K+//nqHhzAREREREQ2Xitqz+GD7m247yt6b6MGdiIiIiGi4Wazd67K7+yh7\nbwzuRERERDSiVNSexYfb30J1Q7m9zUeuwNKZD7jdKHtvDO5ERERENCL0Ocoek45lNzzulqPsvTG4\nExEREZHX89RR9t4Y3ImIiIjIa3n6KHtvDO5ERERE5JW8YZS9NwZ3IiIiIvIq3aPsn2LHkc88fpS9\nNwZ3IiIiIvIa3jbK3huDOxERERF5vPauVnx7eCP2HtsGm+2nh3t6+ih7bwzuREREROSxrFYL9hd9\nh62HPkFHV6u93UeuwJIZ92POpMUePcreG4M7EREREXmkk2X5+GLPu6hpqnRoHxebiXsXPOYVo+y9\niR7c9Xo9nnnmGWzduhWtra0YO3Ys1q1bh9mzZ4tdGhERERG5IV1DBb7c+y5OlWsd2sOConDb7Acx\nYew0SCQSkaobOqIGd4PBgJkzZ2LOnDnYtm0bwsPDce7cOURGRopZFhERERG5ofbOFmw7/An2HfvW\nYbUYpcIPN065E3MnLYGP3EfECoeWqMH9D3/4A2JiYvDuu+/a28aMGSNiRURERETkbixWM/Ye24Zv\nD29Ep7Hd3i6RSDE9YyFunrYMQapgESscHqIG96+++gq5ubm45557sHPnTsTExODf//3f8dhjj4lZ\nFhERERG5AUEQcOJ8Hr7c+y5qm6sd9iXFjscdcx7GqIgEkaobfhJBEASxfrifnx8kEglWrlyJu+66\nC4WFhVixYgX+8Ic/4NFHH3XoazAY7NulpaXDXSoRERERDaOm9lrknd8BneG8Q3ugbwiy4xciLjTZ\nI+axJyUl2bfVavWAjiVqcFcqlZg6dSr27t1rb3vuuefw5Zdf4sSJEw59GdyJiIiIvF+XuR2FF3aj\nVF8AAT/FVB+ZEhPjZiNFMwUyqUzECvtnMIO7qFNlNBoN0tLSHNrS0tLw1ltvXfZ9OTk5Q1kWDbG8\nvDwAPI/egOfSe/BcegeeR+8xEs+l2WLGnqPf4LvCTegyddjbJRIpZmYuQu60exHoP7DgK4beg88D\nJWpwnzlzJkpKShzaSkpKeIMqERER0QghCAKOnzuML/e+h3qD3mFfyuiJuH32w4gJZzYERA7uK1eu\nxMyZM/Hqq6/i7rvvhlarxV//+lesWbNGzLKIiIiIaBhU1Z3H53veQWnlcYf2yOAY3D7nYaTHZ3vE\nPPbhImpwz8nJwZdffolnn30Wr7zyCkaPHo3Vq1fjl7/8pZhlEREREdEQamlvxjcHP8ShE987zGP3\nU6qQe909mD0hFzKZ6M8JdTui/0Zyc3ORm5srdhlERERENMTMFhN2FX6N7Uc+hdHUaW+XSqSYNSEX\nudfdDZVfkIgVujfRgzsREREReTdBEFB45iC27NuAhpYah33pY7Jw25yHEB0aJ1J1noPBnYiIiIiG\nTEXtWXy++39xtvqkQ3tUaCxun/0Q0uOzRarM8zC4ExEREdGgM7Q34usDH+LHkz84zGP39w3EzdPu\nxczMRZzH3k/8bRERERHRoDFZjNip3YIdeZthMnfZ26VSGeZMuBk3XXc3/H0DRKzQczG4ExEREdGA\nCYKAgtL9+GrfBjS11jnsy0jIwW2zH0JUyCiRqvMODO5ERERENCDl+tP4fM87OK8rdmjXhI3G7bMf\nRuqYSSJV5l0Y3ImIiIjomjS21OGbgx/iSPEuh3aVXxAWT1uG6Zk3QCaViVOcF2JwJyIiIqJ+qWvW\nYUfeZvx4aidsNqu9XSaVY+6kxVg09U74KzmPfbAxuBMRERHRVdE3VmD7kc+QX7IXgmBz2Ddh7HW4\nddaDiAjWiFSd92NwJyIiIqLLqqorw3dHNuFo6UGHpR0BIDEmDTdPW4bkuPEiVTdyMLgTERERkUvl\n+lJ8d+RTFJ370WlfStxELJp6J5JiM0WobGQSNbi/9NJLeOmllxzaoqOjUV1dLVJFRERERHSu+hS+\n/XETissLnPZlxOdg0dR/Q4ImVYTKRjbRR9xTU1Oxe/duCEL3n11kMt55TERERDTcBEFAaeVxfPvj\nJpypLHLaP3HsNCyaeifiIseKUB0BbhDc5XI5IiIixC6DiIiIaEQSBAGnyrX47sdPndZhl0ikyEqa\niRum/BtiwseIVCFdJHpwP3fuHEaNGgWlUonrrrsOr776KhISEsQui4iIiMir2QQbis79iO9+/BQV\ntWcd9kklUkxJvR43TPkZIvm0U7chanCfNm0a3nvvPaSmpqK2thYvv/wyZsyYgZMnTyIkJETM0oiI\niIi8ks1mReGZg9j+46eobih32CeTyjEtfQEW5tyBMHWUSBVSXyTCxcnlbqCjowMJCQl49tln8dRT\nTznsMxgM9u3S0tLhLo2IiIjIo9kEG87XFeF45X60dDY47JNJ5UiKmoyMUdOhUgaJVKF3SkpKsm+r\n1eoBHUv0qTK9+fv7IyMjg8GciIiIaJBYbVacrT2KosoDaDM2O+yTS32QoslBesx18FPwSafuzq2C\ne1dXF4qLizF//vzL9svJyRmmimgo5OXlAeB59AY8l96D59I78Dx6j8E4lyaLEYdOfI/v8z5Hc5vj\nCLuvwh9zJy3G9ZOWQOXHEfah1HvWyECJGtx/85vfYMmSJRg9ejRqamrw8ssvo6OjA8uXLxezLCIi\nIiKPZTR3Yf/xb/FD/ldo6Why2OfvG4h5k5dg9sSb4a/kCLunETW4V1ZWYtmyZaivr0dERASmTZuG\nQ4cOIS4uTsyyiIiIiDxOp7EDe49+g50FW9De1eqwL9BPjfnZt2HW+JugVPiJVCENlKjB/eOPPxbz\nxxMRERF5vPauVuwu+Bq7j36NTmO7wz51QBgWZt+O6Zk3QCFXilQhDRa3muNORERERFentaMZO7Vb\nsPfYVhjNXQ77QoMicUPOzzA1bT585D4iVUiDjcGdiIiIyIMY2hrxr/wvsL/oO5gtJod9EcExWDTl\nZ8hJmQuZjDHP2/CMEhEREXmAqrrz2HtsKw6f2gmr1eKwTxM2Goum/BsmJ82EVCoTqUIaagzuRERE\nRG7KbDHj6JkD2HtsG87rip32x0Yk4sapd2L82OsglUhFqJCGE4M7ERERkZtpMxpwWp+Pz7V/RVun\n8zrg8dEpuHHqnUiPz4ZEIhGhQhIDgzsRERGRG7AJNpRcOIq9x7bhxLkjECA47JdJ5Zg0bjpmTchF\nYkwaA/sIxOBOREREJKL2rlYcPvkD9h/7FnUGndP+kIBwzBh/I6Zn3IAgVbAIFZK7YHAnIiIiEsGF\nmjPYd2wb8kv2wmw1Oe3XBCdi8ay7kZGQAxlvOCUwuBMRERENG7PFBO3pfdh3bBvKa0qd9vspVbgu\nfQGCJaMQ5BeGCWNzRKiS3BWDOxEREdEQqzfosf/4tzh04l9o72p12h8bkYjZE3KRnTIHCh8l8vLy\nRKiS3B2DOxEREdEQsNmsOFVegL3HtuFUmdb5ZlOZHFlJszB74s0YE5XEm03pihjciYiIiAZRW2cL\nDp34HvuPf4eGlhqn/aFBkZg5/iZMS1+AQH+1CBWSp3Kr4P7aa6/hueeew4oVK/DWW2+JXQ4RERHR\nVREEAWX609h3bBsKSvfDYjU77JdAgrT4LMyekIu0MZP5dFO6Jm4T3A8dOoT169dj4sSJYpdCRERE\ndFVMZiPyS/Zg7/FtqKw957Tf3zcQ0zMWYEbmjYgI1ohQIXmTfgX37777DosWLRr0OVgGgwH33Xcf\n3n33Xbz44ouDemwiIiKiwVbbVIV9x7/D4ZP/Qqex3Wn/mKgkzJqQi8nJM6GQK0WokLxRv4J7bm4u\nNBoNli1bhvvuu2/QRsd/8Ytf4K677sLcuXMH5XhEREREg81qs+LE+TzsPbYVJReOOu33kSmQlTIb\nsyfkYnTUOBEqJG8nEQRBuHK3blu2bMEHH3yAr7/+GkajERkZGXjggQewbNkyxMTEXFMB69evxz/+\n8Q8cPnwYUqkU8+bNw/jx453muBsMBvt2aanzuqdEREREQ6HT1IbSmkKc1mvRYWpx2h/oG4KU6GyM\njZwIpY+fCBWSO2hqakJJSQmKi4tRUlKCxx57DLGxsUhKSrL3UasHdjNyv0bcly5diqVLl6K1tRWf\nfvopPvzwQzzzzDN49tlnMW/ePDzwwAO444474O/vf1XHO336NJ577jns378fUqn0mj4AERER0WCz\n2ayobj6Hc3XHcaGhGDbB5tQnNiQJKZocxAQncinHEex//ud/sG3bNtTUOK4gNG/ePMTGxg7qz+rX\niLsrVVVV+Oijj/Dhhx/i+PHj8Pf3x+23347ly5djwYIFl33vhg0b8PDDDzuEdqvVColEAplMhvb2\ndvj4+ABwHHEf6L9WSFwXHyqRk8OnwXk6nkvvwXPpHXgeB8Ym2FCmK0Fe8W4UlO53+aCkAD81pmcs\nxIzxixAWFDVktfBcugdBEFBWVgatVovU1FRkZGQ49Xn88cfxt7/9zan9N7/5DV5//fVBzbADXlXG\narXCbDbDaDRCEAT4+fnh+++/xwcffICJEyfi/fffR2Zmpsv33n777ZgyZYpD24MPPojk5GQ899xz\n9tBORERENFR0DReQV7wb+SV70Nha57JPgiYVsybkYtK4GfCRM594s8OHD+Ozzz6DVquFVqtFc3Mz\nAGDVqlX4r//6L6f+WVlZAABfX19MnDgRWVlZyMrKwuzZswe9tmsK7gaDAZs2bcIHH3yA/fv3Qy6X\nY/HixVizZg0WL14MqVSKLVu2YOXKlXjooYdw5MgRl8cJCgpCenq6Q5tKpUJoaCjS0tKupTQiIiKi\nK2pqrUN+yV7kl+xBVX2Zyz7BAWHITpmDnJS5GBURP6z10dAym80wGAwIDw932qfVavGnP/3JZbsr\nS5cuxfHjx5Gamgq5fGhXWu/X0b/88kt88MEH2Lp1K7q6ujBlyhS8+eabuPfeexEaGurQ97bbbkN9\nfT0effTRfhXEOWJEREQ0FDq62lB45gDyinfjbNVJCHCeLeyvDMCkpBnITpmDsaPSIZXwHjxPZzQa\ncfz4cfsIularxbFjx3DLLbfgs88+c+p/cQT9opCQEGRlZWHmzJkujx8WFoawsLAhqf1S/Qrud9xx\nB0aNGoUnn3wSy5cvR2pq6mX7T5gwAT//+c/7VdAPP/zQr/5EREREfTFZjDhxPg95xbtxskwLq83i\n1MdHpkBGYg5yUuYibUwWp8J4mUOHDuH66693au9rBH3ChAn4/e9/j+zsbGRlZWHMmDFuM7Dcr+C+\nfft2LFiw4KqLnzp1KqZOnXpNhRERERFdC5vNitMVx5FfsgeFZw/CaOp06iORSJEcNx45KXMxYew0\n+CmvbkU8ch8GgwEFBQX2UfSWlhZs2bLFqd+kSZNcvt9qtaKzsxN+fo5LePr5+WH16tVDUvNA9Su4\nL1y4cKjqICIiIrpmgiCgovYs8op3Q3t6H1o6mlz2Gx05Dtmpc5CVPAtqVajLPuTe2tvbMXHiRJw9\ne9ahXSKRoL29HSqVyqFdrVZj4cKFCA0Ntd84OnnyZJfz293d0M6gJyIiIhpCdc06+4owtc3VLvtE\nqDXITp2DnJQ5iAwZNcwVUn8IggCdTmcfRf/d734HpVLp0EelUsFoNLp879GjRzFjxgynfTt27Biy\nmocTgzsRERF5lJb2ZhSU7kNe8W6U17h+mnqgnxpZKbORkzIHo6OS3GaOMrn2+uuvY+fOndBqtait\nrbW333LLLU43iwLdN5Dq9XpkZmYiKyvLPh+9r2kx3oLBnYiIiNxel6kTx84eQl7xbpRUHIPg4kmm\nSh9fTBw3Hdkpc5AcNwEyqUyESskVm82G0tJSREZGIiQkxGn/v/71L2zfvt2pXavVugzuf//73xES\nEuI0Gu/tGNyJiIjILVmsZpwqL0B+yR4cP/cjzBaTUx+ZVI60+CzkpMxBZsIUKHxGVpBzV2fOnMH+\n/fvtU14KCwvR1taG999/H/fdd59T/6ysLHtwDwgIwOTJk5GVldXnQzyjo6OHtH53xeBOREREbsMm\n2HC++hTyiveg4MwBdHS1uuw3dlQGclLmYNK46VD5BQ1zlXQlf/vb3/Dmm286tWu1WpfB/Z577rE/\ndXTcuHGQSrl+visM7kRERCQqi9WMM5UnUHT+CI6f+xFNrXUu+8WEjUF26lxkJ89GaFDEMFdJ7e3t\nOHbsmMODjJYuXYqXXnrJqW92drZTW1RUFBQKhctjT5w4ERMnThz0mr0NgzsRERENu/bOFpws1+L4\nuR9xqrzA5VrrABASEI7slDnISZ2DmPD44S2S7D755BP8/Oc/h83meG9BVFSUy/7XXXcdbrvtNvvy\ni1lZWdBoNMNRqldjcCciIqJhUdtUhePnjqDo/BGcqz7l8gZTAPD3DcTkcTOQkzoHCTFpkEo4bWIo\n1dXV2R9kJJPJ8Jvf/Mapz7hx45xCOwAUFBRAEASnVXuSk5PxxRdfDFnNIxWDOxEREQ0Jq82KMl2x\nPazXNlX12Tc0KBLjE6ciM2EKxo5Kh1zmM4yVjjyVlZVYsWIFtFotKioq7O1xcXEug3tmZiaUSiXG\njh3rMIo+adIkLrU5jEQN7mvXrsXf//53lJWVAQAyMjLw/PPP4+abbxazLCIiIrpGncYOFF8oQNG5\nIzhRlt/nzaUSSDAmOhmZiVOQmTAFmrDRDICDSBAElJeX49SpU8jNzXXaHxwcjC1btkAQBIf2iooK\n1NXVISLC8R4CX19fNDc3w9fXd0jrpssTNbjHxcXh9ddfR1JSEmw2G9577z3cdttt0Gq1fS7/Q0RE\nRO6lsaXWfmPpmcoTsNosLvsp5EqkjpmEjIQpyIjPQZAqeJgr9V6CIGDjxo0ON442NTUBAAwGA4KC\nHFfeCQgIQHJyMkpKSuDr64sJEybYR9H7uoGUoV18ogb3JUuWOHz/yiuvYN26dTh48CCDOxERkZuy\nCTZU1JyxT4Gpri/rs69aFYrMhCnITJyCpLjxUMi5zvpAWCwWSCQSyGSOD5eSSCR49tln7bMYeiss\nLMScOXOc2v/xj38gNDQUqampkMs5e9oTuM1Zstls2LRpE9rb2zFjxgyxyyEiIqJeTGYjSiqOdk+B\nOZ+Hlo6mPvvGRiTap8DERY7lFJhrZDKZkJ+f7zCKfuzYMezZswdTpkxx6p+VleUQ3ENCQpCVldXn\n799VmCf3JnpwLyoqwvTp09HV1YXAwEB88cUXyMjIELssIiKiEc/Q3ogT5/NQdO4ISi4chdnq/ORS\nAJDJ5EiOndAT1nMQEsg11gfD7373O+zbt8+pPT8/32Vwv+uuu5CWlmaf8jJmzBj+o8nLSIRL70oY\nZhaLBRcuXIDBYMBnn32Gf/zjH9i9ezfS09Md+hkMBvt2aWnpcJdJRETk9QRBQFNHLSobT6OisRQN\nbdV99lXK/REbOg6xocmICU6Ej8z1vGhy1traitOnT6O4uBjFxcVYuHAh5s6d69Rv3bp1eOedd5za\nf/7zn+Opp54ajlJpECQlJdm31Wr1gI4l+oi7XC5HYmIiAGDy5Mn48ccf8cYbb2D9+vUiV0ZEROT9\nrDYLagzlqGgsRWXTabQbW/rsq/YLR2xoMuJCkxAeOIrrq/fT1q1bsX79elRWVjq0q9Vql8E9LS0N\nsbGxSE1NRUpKiv01JCRkuEomNyN6cL+UzWaD0Wi8bJ+cnJxhqoaGQl5eHgCeR2/Ac+k9eC69w9Wc\nR5tgg77hAkoqjqG04jhKq4r6fGqpVCLF2FEZ9vnqEcF88mVfBEGATqeDVquFr68vFi5c6NSntLTU\nKbQDQFVVldM5y8vLw/XXX4//+I//GLKaaXj0njUyUKIG92effRaLFy9GXFwcWltb8eGHH2L37t3Y\nunWrmGURERF5DUEQUNesQ2nlcZyuOIbSyiK0dfYdJPwU/kiPz0Zm4hSkjcmCv2/AMFbrWcrKyvD2\n22/bbxytqakBACxcuNBlcM/KygLQPdsgMzPTPhd96tSpw1o3eS5Rg7ter8f9998PvV4PtVqNCRMm\n4Ntvv3X5P3YiIiK6Ok2t9T8F9YrjaGqrv2z/MHUUxidMRWbiVIyNSYNM5nZ/kBeNzWaDXq9HTEyM\n0z6DwYDVq1c7tWu1WgiC4HRjaFJSEo4cOYLx48dDqeSymNR/ol6Z7777rpg/noiIyCu0dhhwpqoI\nh87+C7rmMrTub7xsf5VfEJJjxyM5bgKSYjMRERzD1UcAWK1WnDx50mH5xcLCQgQFBaGqqsqpf3p6\nOhQKBUym7tV2AgICMHnyZGRlZaGrqwt+fn4O/aVSKaej0YDwn9REREQeptPYgbNVJ3C64hhOVx6/\n7AOQAMBX4Y9xozKQFDceybEToAkfzRtLXTCZTJg8eTKsVqtDe1tbG/R6PaKjox3afXx8sGbNGkRH\nRyMrKwtJSUmQSvl7paHD4E5EROTmTBYjzlcX24N6Rc0Z2ARbn/19ZAokxqR1B/W4CYiLHAuZVNZn\nf2/X3t6OY8eOOYyk//DDD06rs/j5+SEtLQ1FRUUO7ZGRkaioqHAK7gCwcuXKIa2dqDcGdyIiIjdj\ntVpQXlNqD+rndcWwWi199pdKZYiPSkaALAzRwQm4ce5S+Mh9hrFi97V48WJ8++23sNkc/6FTUFCA\n+fPnO/W/6aabMHbsWPuNo1lZWdBoNJxKRG6BwZ2IiEhkNpsVVfVlOF1xHKUVx3Cm+iRM5q4++0sg\nwajIBCTHTkBy3ASMjUmDUuFnXw5ypIT2+vp6FBQUQKvV4tZbb0VqaqpTH5VK5RTagb6D+x//+Mch\nqZVoMDC4ExERDTNBEFDTVInTFd0rv5ypLEKHse2y74kKjbUH9XGxGVD5Bg5Tte5l48aN+Pjjj6HV\nalFRUWFvV6lULoN7dnY2Nm/ejNTUVIdR9MmTJw9n2USDgsGdiIhoiNlsVugaKlCmL8GZqhMorTiO\nlo6my74nNCgSyXETkBw7Hklx46FWhQ5TteISBAHl5eUAgPj4eKf9p06dwldffeXUXlBQ4PJ4v/zl\nL7FixQqoVKpBrZNIDAzuREREg6ytswVluhKU6UtQpitBeU0pjJeZ+gIAQf4hPau+dN9QGqaOGqZq\nxaXX67Fz5077lBetVoumpib86le/wtq1a536X3yIEQAolUpMnDgRWVlZWLRokcvjq9XqIaudaLgx\nuBMREQ2A1WZFdX0ZynQlOK8vQbnuNOoMuiu+z0+pQlLseCTHjUdS7AREh8Z69Q2Qrh5IBAB79uzB\nsmXLnNq1Wq3L48yYMQPvvfcesrKykJqaCh+fkTGfnwhgcCciIuqXlvZm+0h6mb4EF2rOwGQxXvF9\nalUo4jULo51YAAAeNklEQVQpiI9OQVJsJmIjEiD10iUajUYjTpw44bD8YkhICLZt2+bUt/cI+kXB\nwcEIDw93GfbDw8OxfPnyIaudyJ0xuBMREfXBYjWjqq6sV1A/jYaWmiu+TyaTIy5ibE9QT0aCJgXB\nAeFePaJ+0ZkzZ5Ceng6z2ezQHhQUBJvN5vSAosTERNx+++1IT0+33zg6ZsyYEfG7IuovBnciIqIe\nhrZGnNcVo0x/GmW6ElTUnoXZarri+0ICwu2j6fGaFMRGJHrlkowGgwGFhYXQarUoKSnBunXrnAJ2\nfHw8ZDKZU3BvaWlBWVkZEhMTHdqlUik+//zzIa+dyBswuBMR0YhktphRWXfO4SbSprb6K77PR6ZA\nXORPo+nxmhQEB4QNQ8XiEAQB999/Pw4fPowzZ8447Fu1ahVGjRrl0CaXyzFp0iTU19c7LL04efJk\nREREDGfpRF5H1OD+2muv4YsvvkBJSQmUSiWmTZuG1157DRkZGWKWRUREXkYQBDS11jtMeamoO3vZ\np5FeFBYUZQ/o8dEpGBURD7nMe0bTBUGATqeDVqvFnDlzEBQU5LBfIpGgqKjIKbQDQH5+vlNwB4Dd\nu3dDoVAMWc1EI5WowX3Pnj1YsWIFcnJyIAgCVq1ahYULF+LUqVMIDg4WszQiIvJgrR0GVNWdR2Xd\nOZTrT6NMfxqG9sYrvs9HrsDoqCQkRKcgXpOM+OgUBKlChqHi4fX9999j165d9htHa2q65+1v374d\nN9xwg1P/rKwsHD16FHK5HBkZGfaR9IkTJ7o8PkM70dAQNbhfenf5+++/D7Vajf3792Px4sUiVUVE\nRJ7CJtjQYKhBZd15VPV8Vdadu6qQDgARag3GaJJ7gnoKYsLGQCbzjlmkNpsNZrMZSqXSad8777yD\njz/+2Kldq9W6DO6//vWv8dhjjyEjIwO+vr5DUi8RXZlb/deppaUFNpsNISHeN7pBREQDY7aYoW+8\n0BPSz3W/1pfBaOq8qvcrfXwxJirJPuVlTHQyAv294+E8ZWVlOHz4MA4fPozq6mpUV1ejoKAAr7zy\nCp588kmn/llZWQ7BXaVSYfLkyYiKcv3QJ05hJXIPEkEQBLGLuOiuu+7CuXPncOTIEae71A0Gg327\ntLR0uEsjIqJhZLR0oqmtBo3tNWhs16OpvQbNnfUQBNtVvV8mlSPEPxIhqiiEBUQjIjAWav8ISCXS\nK7/ZDXR2dqKqqgoNDQ2or6+3fyUlJWHp0qVO/T///HO89tprTu2LFy/Giy++6NReXFyM7777Dqmp\nqUhJScHo0aOdlmkkosGRlJRk3x7ok3zdZsT96aefxoEDB7B//36u3UpENEIIgoB2owGN7TVo6gnp\nje01aDcarvzmHkq5P0IDohCqikaIqvs1yC/U7UK61WpFU1OTQxAPDQ3FnDlznPru3LkTL7zwglP7\n/PnzXQb38PBwlz+zurraZXtqaipSU1P7+QmISGxuEdxXrlyJTZs2YdeuXRgzZswV++fk5AxDVTRU\n8vLyAPA8egOeS+8xHOfSarVA31iJqvrzDnPSO4xtV32McHU0RkUkIDYiEbERCRgVkQC1KlTUAR+j\n0Qi9Xg+dTgepVIqpU6c69fnmm2+wdOlS2GyOfzG46aab8PTTTzv17/1X5t66urpcniOVSoX9+/dD\nJpMhIiICN910E7Kzs6HRaDgY5qH431fv0df1fC1ED+5PPvkkPv30U+zatcvhTwlEROS5Oo0dqK4v\n6w7ptedQWX8euoYLV7X8ItD95FFN2GjEhifYg3pMeDz8lP5DXPlP2tra0NraCo1G47QvLy8PDz74\nIHQ6HRobf7oRds6cOdi9e7dT/7CwMKfQDgB6vd7lz46NjUVKSgqio6Oh0WjsX8nJyS77p6WlYfPm\nzQx7RF5O1OD+2GOP4YMPPsBXX30FtVptX44qICAAKpVKzNKIiOgqmCxG1DZVoaaxEvrGSugbK1Bd\nV4Y6g+6qj+GnVCE2IrEnoCdgVHgCokNjh3V1l/Pnz+PZZ5+FTqezf7W1tSE7O9sehntTKBQ4ceKE\nU7tO5/pzXwz/YWFh0Gg0iImJgUajQUpKisv+KSkpKC4uHsAnIiJvJGpwv/io5AULFji0v/DCC/jP\n//xPkaoiIqJLdRrboW+s7AnoFd2vTRVoNNRCwNWvcRAaGGEfQb8Y1EMCIwZ9OkdDQwPWrl3rEMR1\nOh1CQ0NRUFDg1N9qtWLjxo1O7VcK4gAgk8kQFRUFjUaDsWPHuuwfFxcHo9HI9c2JaEBEDe6u/mxI\nRETiEAQBLe1NPQG9AjVNldA3VEDfVImW9qZ+HUsqlSE6NM4+gh4b2f3q7xtwTbV1dXVh69atDiH8\n4jSTb775xqm/yWRyOQDU0tLi8viupsMolUr4+/tDEASnf1iEhYWhoKAAGo0G4eHhkMlkl61fKpUy\ntBPRgIk+x52IiIaXTbChqaWue+S8qXuKy9kLxTB01MN0oKtfx5JIpAgPikJUWByiQ2IRFRqLmPAx\niA4dDR+5T9812Gw4e/as04h4a2sr1q5d69TfaDTiZz/7mVO7QqFwGawjIyMhlUqdBoiam5vR1dXl\n9BAhlUqFjz76CJGRkfb55MHBwX3+JUAqlWLSpEl9fj4ioqHA4E5E5KWsVgvqDDroG34K6DWNlahp\nqoTZYurXsWQyOaKCRyEqNBbRoXE9r7GICI6Bj7x7JFkQBDQ2NkKn06H46C7odDrU1tbi17/+tVMA\ntlgsfd5o+Ze//MVpdDooKAh+fn7o7HR82JLJZEJjYyPCwsIuqVeGF198EUFBQQ43d2o0mj6f/Hnv\nvff263dCRDTcGNyJiDyc0dyF2qYqpznodQYdbDZrv46l9PG1B/Oo0LjucK6OgbULqKmphU6nw6Ip\nNzlNDREEAWq1Gq2trU7H/MUvfoGgoCCHNoVCgbCwMDQ0NDj1r6mpQVxcnEObRCLBsmXLIJFInIJ4\nYGCgy8+yatWqfn12IiJ3x+BOROQBjOYu1DfrUW/o+WrWod6gR11zNRpb6/p9vAA/NcICo6EUApGW\nPB7tzUao/cIxZ8Y8++j4vHnzUFxcjNraWocpJ9XV1U5zwiUSCUJCQlwGd51O5xTcAWDKlCkwGAxO\nQdxVXwB4++23+/05iYi8CYM7EZEbEAQB7V2tqOsJ5PUGPRoMetQ361Fn0KG1o7lfx7oYvkMCI7qn\ntYTEYuPb36CqXI/GhmbU6Gvs64+fOXMGTei++bT3lBa9Xu9ynXG9Xu/yZk6NRoOmpianIO7v73rt\n9W3btl31ZyIiIgZ3IqJhYxNsaG5t+GnUvNfIeb1Bjy5TR7+Od+JgORp0LehsNcLUYUNHqwmtTe14\n++O/Yda0uYgKGQWlws/ef/XTa6HVap2Oo9PpXM771mg09rXEL64/rtFoIJVKXdazZ88erpxCRDSE\nGNyJiAaR2WJGY2utQyC3T3Fp0V/2yaHV5xrQVNOG9pYudLR0ob2lC+0tRsy7cwKiRochLCgK4epo\n+9f+D1/A0SPnnI4T7heH0VHjnNpjYmIcgvvF9cc7OztdBvf169fDx8cH0dHRVxXIGdqJiIYWgzsR\nUT91GjscRs0bDDrU9YTz5tZ6+wOJ2g1daG3qsAfwjp7XCbMTEDFK7XTc/B1nUHbKeWpK7sTl+Pmy\nByCTOt4QOi7hQ2iPFDr17+uhQc888wweffRR+8h57/XHXT0dtK+HCRERkTgY3ImIehEEAW2dLWhq\nrUNTa33P60/butoq1NbWdodxQ3cYH50aidBo55VNdm8+hrPHnEP0pJxM5KTM7R45D45GuFqDcHU0\nWgtX4r1T7zn1b2vpdArtQPfyhTk5OU5zyoODg11+tpkzZ/b/F0JERG6DwZ2IRhSzxdQrkHe/NrbU\nolJXgcrKC9Dp9AgIVSIozPmGyn99UoCThy44tc+7e6I9uEsgQXBgOMLV0UiMb3IZ3CePuR4P3LTS\nqX3u3Lmw2WxOQTwtLc3lZ7ntttv6+/GJiMiDMbgTkdfoHi032AN5XbMe5RVlaDM2w4wONLXWOazO\nkvf9aRTtL0N7ixE260/LHc6+LROTrneeJuLr73oOd3xIBh5ZuhLhwRqEBkb+9MTQ6r+isaod0dHR\nDkF81qxZLo/z4IMP4sEHH7z2XwAREXk10YP73r178ac//Qn5+fmorq7Ge++9hwceeEDssojIDZks\nRjS31qOxpQ5NbfWXTGepx6HdWpw4XIaOnps7O1qNEARg2uI0TLnB+SmdVrMNrU2dTu3GditiwsYg\nJDACIYHh9tfApq04sf9NpxHxxYsXIyMhx+k4jz/+OB5//PEh+V0QEdHII3pwb2trw/jx47F8+XIG\ndqIRShAEdJraYWhrQkt7IwztjTC0N+HHwz9i386DqK2pQ2NDM1qa2tDR0oXMmQmYvth5+oihoRXl\nJ2uc2jtauuzbUokU6oAwhASGoyXZBz9+VwIAUAWoEBUViVExo3DPbffi0fsedTrOpOdn4pUX1jis\ndU5ERDRcRA/uubm5yM3NBQAsX75c5GqIaDBdDOQt7U0wtDXiVMkJHDxwCFXVVaipqUFDXSMaG5oR\nlxyOyQsSnd5/bN957N58zKm9dxDvzT/IeUnDIHUgMhJz8NSdLyEkMBxBqlD7jZ6NCxrx/BOvQaPR\nQKVSXfHzyOWi/yeTiIhGMP6/EBH1myAI6DJ1QFd/AWfLzmBf/veoqLyA6upq1OhrERYThPEz42Fo\nb4TZYrK/7+ThcvzrY+flCxX+UgDOwV0VpHRdgMkHOSlzHaaxhARGoP0WI0787KR9CsuV1h8PDQ1F\naGhovz8/ERGRGDwyuLtab5g8D8+j+xEEAWarCZ2mNnSaWtFhakWnuQ0dvb83taHT1AaLzYzSgip8\nu8H5PCZkREOT6Tz6rXIxIg4A7S1dkEt94KcIgL8iEH6KAPgpAjHaz4ggSxyiIjWIiRqFGE0cIsIj\nEBwcbF9/HCagswHobKgDAMTGxgIAamtrUVtbO0i/mZGD16V34Hn0HjyXni8pKWnQjuWRwZ2Irp7N\nZkWXpQNd5g50mdvRZWrv3ra0o8vU03Zxn7kdFpv5qo/tamoK0B3EL+odyAOSolE1ox1hYWEID49A\nVEQUoqNiMCYuAYnxY53njicA12fdck2fm4iIyNt4ZHDPyXFevYE8x8XRA57Ha2MTbOg0tqOtw4DW\nTgNaOwxo62hGa6cBbR0GtHW22LdbOw3o6Godkjp85ApER0UhclQoIiLDEBEZjqjoaIyKGYXkpGTc\nduvtCFKFwlfh5xDIX/31kJRDA8Tr0jvwPHoPnkvvYTAYBu1YHhncibyN0dzVK4g327ftrw7bLbDZ\nrENWi49cAbUqFGpVKIJUIT+9Bji2+Sr8kZ+fj4dufIb/x0JERDQMRA/u7e3tOHPmDARBgM1mw4UL\nF3D06FGEhoYiLi5O7PKI+sUm2NBl7EB7Vys6ulrRfvGrsxUdXW0/fd/V0v19ZwvaOltgshiHrCaJ\nRAqVbyAC/dUI8FP38Rrc8xoEX4U/lzskIiJyQ6IH97y8PMybN88eFF544QW88MILWL58Od555x2R\nq6ORShAEmCzGn8J3Z2tPGP8pfPcO5h2drWg3tqGjqw2CYLvyDxggX4U/Av3UCPB3FcSDHb5X+QZA\n2rP8IREREXku0YP73LlzYbMNfdChkeliAO80tqPT2N4Tttt+Ct6dregwug7mFuvV36Q5UDKZHEF+\nwd1B3CGQ/zQS3juM+8j7XuKQiIiIvJPowZ3oci4N3vYAfsn3rr46TN2vQzkf3BWlwg8q30D4+wZA\n5RsIlW+Q4/d+gfBXBkDl190e4Kd2uoGTiIiI6FIM7jSkBEGAydzlELQrG0thsnSh42jNVQVx2zBM\nPXFFLvO5JIBfDN09r76BUPXs87eHcxXkMh9R6iUiIiLvxuBOLlmtFnSZO7vX+TZ2wnhx29TZ89WB\nLlMHjL2+t2/37nu54F06PJ/FR66An1Jl/7oYwv0vhvFLRsMv7lPIlRwFJyIiIrfB4O5FbDYrjOau\nntDc5RSufwrfrvf33jZbTVf+gcPk0uDtr1A5fH/pl3+vbV+FCj5yjoATERGR52NwF4FNsMFsNsJo\n7oLR3AVTz6vDtqkTJosRRlMXjOZOmOz9+942W9wnbPd2afA2d1ngI/NFrCaOwZuIiIjoKjG498Fq\ns8JsMcFkNsJsMcJkMcJk7n4199ruHbZN5q7uoG25ZNvkGMqHcs3uwSKRSOGr8IOvjx98lf5QXtxW\n+MNX4df9vcLf/r1vz/fKnm2lz8U25+DNp8ERERER9Z9HBveLofnyodrkELB7b5ssRpjNPfstpp7v\nf9pnshhhtVrE/pjXpHfAVvYK1A7h+mKoVl7cdtzvq/CHj1zB+d1EREREbsQjg/t/rL1b7BIGTCFX\nQunjC4XCF0p5z6tP95fCxxdKHz8ofZT2bYWPsmf/xW2/nr492wpf+MgVkEqkYn80IiIiIhoCHhnc\nh4MEEih8lFDIlfDpee297SNX2MO3UuELhbzn1efSAO687eOjZMAmIiIion7xyOB+MTQ7h+o+2uUK\nKHyU8On5vntbYd/u7uO4LZfJOVWEiIiIiNyGRwb3/35sk9glEBERERENK7eYr7F27VokJibCz88P\nOTk52Ldvn9glERERERG5FdGD+8aNG/HUU0/h+eefR2FhIWbMmIHc3FxUVlaKXRoRERERkdsQPbi/\n8cYbePjhh/Hwww8jJSUFb731FjQaDdatWyd2aUREREREbkPU4G42m5Gfn48bbrjBoX3RokU4cOCA\nSFUREREREbkfUYN7fX09rFYroqKiHNqjoqKg1+tFqoqIiIiIyP145KoyBoNB7BJoAJKSkgDwPHoD\nnkvvwXPpHXgevQfPJbki6oh7eHg4ZDIZampqHNpramoQHR0tUlVERERERO5H1ODu4+OD7Oxs7Nix\nw6F9x44dmDlzpkhVERERERG5H9Gnyjz99NN44IEHMGXKFMycORPr1q2DTqfDI4884tBPrVaLVCER\nERERkfhED+533XUXGhsbsXr1auh0OmRmZmLbtm2Ii4sTuzQiIiIiIrchEQRBELsIIiIiIiK6PNEf\nwHQ569evx/z58xESEgKpVIoLFy5c1fs2b96MjIwM+Pr6IjMzE19++eUQV0qXYzKZ8PjjjyMiIgIB\nAQG49dZbUVVVddn3bNiwAVKpFDKZDFKp1L5tMpmGqWq6aO3atUhMTISfnx9ycnKwb9++y/YvKirC\n9ddfD39/f8TFxeHll18epkrpcvpzHsvLy+3XXe/rb/v27cNYMbmyd+9e3HrrrYiNjYVUKsU///nP\nK76H16R76u+55HXpnl577TVMnToVarUakZGRWLp0KU6cOHHF913rdenWwb2jowM33ngjXnrpJUgk\nkqt6z8GDB3HPPffg/vvvx9GjR7Fs2TLceeedOHLkyBBXS3158skn8cUXX2Djxo3Yt28fWlpacMst\nt+BKf+xRqVTQ6/X2L51OB4VCMUxVEwBs3LgRTz31FJ5//nkUFhZixowZyM3NRWVlpcv+ra2tuOGG\nG6DRaJCfn48333wTf/zjH/HGG28Mc+XUW3/PIwBIJBJs377d4fqbP3/+MFZNrrS1tWH8+PF46623\n4O/vf8X+vCbdV3/PJcDr0h3t2bMHK1aswMGDB7Fz507I5XIsXLgQzc3Nfb5nQNel4AHy8vIEqVQq\nlJeXX7Hv3XffLSxatMihbeHChcKyZcuGqjy6DIPBICgUCuHjjz+2t1VUVAhSqVTYvn17n+977733\nhMDAwOEokS7juuuuEx555BGHtqSkJOH3v/+9y/5r164V1Gq1YDQa7W2vvPKKEBsbO6R10uX19zyW\nlZUJEolEyM/PH47y6BoFBAQIGzZsuGwfXpOe4WrOJa9Lz9DW1ibIZDLh66+/7rPPQK5Ltx5xvxYH\nDx7EokWLHNpuvPFGHDhwQKSKRrb8/HxYLBbccMMN9rbY2FikpaVd8Zx0dnYiPj4ecXFxWLJkCQoL\nC4e6XOrFbDYjPz/f4dwBwKJFi/o8d4cOHcLs2bMd/jJy4403orq6GuXl5UNaL7l2LefxojvuuANR\nUVGYNWsWNm/ePJRl0hDhNel9eF26t5aWFthsNoSEhPTZZyDXpdcFd71ej6ioKIe2qKgo6PV6kSoa\n2fR6PWQyGcLCwhzar3ROUlJS8M4772DLli345JNP4Ovri5kzZ+Ls2bNDXTL1qK+vh9Vq7df11Nf1\nJwgCr0GRXMt5DAgIwH//939j06ZN2LZtGxYsWIC7774bH3300XCUTIOI16T34HXpGZ588klkZWVh\n+vTpffYZyHU57MtBrlq1CqtXr+5zv0Qiwc6dOzFnzpxhrIr662rP47WaNm0apk2bZv9++vTpmDx5\nMv7617/iL3/5yzUfl4iuLCwsDCtXrrR/n5WVhYaGBrz++utYtmyZiJURjVy8Lt3f008/jQMHDmD/\n/v1XfW9mfw17cF+5ciXuv//+y/YZPXr0NR8/OjoaNTU1Dm01NTWIjo6+5mOSs6s9jwcPHoTVakVD\nQ4PDqHtNTU2//nEmlUqRnZ2N0tLSa66Z+ic8PBwymaxf11Nf159EIuE1KJJrOY+uTJ06Fe++++5g\nl0dDjNekd+N16T5WrlyJTZs2YdeuXRgzZsxl+w7kuhz2qTKhoaFITk6+7Jevr+81H3/69OnYsWOH\nQ9uOHTswY8aMgZZOvVzteczOzoZcLnc4J5WVlTh16hRmzpzZr5959OhRaDSawf4o1AcfHx9kZ2e7\nvJ76OnfTp0/H3r17HZbt3L59O2JiYq74HzIaGtdyHl0pKCjg9eeBeE16N16X7uHJJ5/Exo0bsXPn\nTiQlJV2x/4Cuy4HfPzt09Hq9UFhYKHz44YeCRCIRtm7dKhQWFgqNjY32PvPnz3dYGeHAgQOCj4+P\nsGbNGqG4uFh49dVXBYVCIRw5ckSMj0CCIPzqV78S4uLihO+//17QarXCvHnzhKysLMFms9n7XHoe\nX3rpJeG7774Tzp07JxQWFgoPPfSQoFAohLy8PDE+woi1ceNGQalUCm+//bZw6tQp4YknnhACAwOF\niooKQRAE4ZlnnhEWLFhg728wGASNRiPce++9QlFRkbB582YhKChIeOONN8T6CCT0/zxu2LBB+Oij\nj4RTp04JJSUlwh//+EdBqVQKb775plgfgXq0tbUJhYWFQkFBgeDv7y+8/PLLQmFhoXDhwgVBEHhN\nepL+nktel+7p0UcfFYKCgoSdO3cKer3e/tXW1mbvM5jXpVsH9xdffFGQSCSCVCp1+Oq9ZFJCQoLw\n8MMPO7xv8+bNQlpamqBUKoX09HThyy+/HO7SqReTySQ88cQTQnh4uKBSqYRbb71VqKysdOhz6Xlc\nuXKlEB8fL/j6+gpRUVHCTTfdJBw+fHi4SydBENatWyckJCQIvr6+Qk5OjrBv3z77vgcffFBITEx0\n6F9UVCTMnTtX8PPzE2JiYoSXX355uEsmF/pzHjds2CCkp6cLAQEBglqtFqZMmSJ89NFHYpRNl9i1\na5fL/1986KGHBEHgNelJ+nsueV26J1fnUCqVCi+99JK9z2BelxJBuMJTcIiIiIiISHRetxwkERER\nEZE3YnAnIiIiIvIADO5ERERERB6AwZ2IiIiIyAMwuBMREREReQAGdyIiIiIiD8DgTkRERETkARjc\niYiIiIg8AIM7EREREZEHYHAnIiIiIvIADO5ERERERB6AwZ2IaAQyGo1IT09HcnIyOjs77e1tbW1I\nTEzEpEmTYLFYRKyQiIguxeBORDQCKZVK/POf/0RZWRl++9vf2ttXrlwJnU6HDz74AHK5XMQKiYjo\nUhJBEASxiyAiInG88MILWL16NXbs2IHOzk7ccsstePXVV/HMM8+IXRoREV2CwZ2IaASzWCyYPn06\namtrYbFYEB8fj3379kEikYhdGhERXYLBnYhohCsqKsKECROgUChw/PhxJCUliV0SERG5wDnuREQj\n3LfffgsAMJvNKCkpEbkaIiLqC0fciYhGsJMnTyI7Oxt33nknzp49i3PnzuHkyZMICQkRuzQiIroE\ngzsR0QhltVpx3XXXoa6uDsePH0dNTQ0mTZqEpUuX4uOPPxa7PCIiugSnyhARjVCvvPIKCgoK8Pbb\nbyMoKAhJSUlYs2YNNm7ciE2bNoldHhERXYIj7kREI1BBQQGmT5+Ohx56COvWrXPYt2DBAhw/fhxF\nRUWIjIwUqUIiIroUgzsRERERkQfgVBkiIiIiIg/A4E5ERERE5AEY3ImIiIiIPACDOxERERGRB2Bw\nJyIiIiLyAAzuREREREQegMGdiIiIiMgDMLgTEREREXkABnciIiIiIg/A4E5ERERE5AH+H6Px4dr2\nNMRGAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "import book_plots\n", "t = np.linspace(-1, 2, 20)\n", @@ -1278,7 +1300,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "metadata": { "collapsed": true }, @@ -1295,11 +1317,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2.0\n", + "4.0\n" + ] + } + ], "source": [ "def dx(t, y): return y\n", "\n", @@ -1316,11 +1347,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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\nIx6PR8bHx+XWrVtSWVkpy8vLf71mrX1XC+G+q7PWPjP/13136raLcN/1smPbTb0AN3LL4ra2NpmY\nmJA/f/7kn3v16pXU19cb+kCbmU3L9PS01NXVmZbLKFW9mcWq3vr6+vID2NTUtOp51b3pzadF1Wcu\nm83K0tKS5t/s/rwVy6bFqs66urokkUhIPB7PP1pbW6W7u1vi8bh4PJ6/XmN3d2bhvquz1j4z/8d9\nX0vbLsJ9X40t227wh6IFDQ8Pw+v14v79+5idncWFCxfg9/vz/xRUKBRCR0dH/vzCwgLq6urQ3d2N\nZDKJWCyG6upqDA0NmR1Nd7ZIJIJoNIrZ2Vl8/PgR165dg9frxc2bN03PlslkMDMzg+npaWzYsAED\nAwOYmZnBt2/fNLOp7E1vNlW99fb2orq6GqOjo0in0/lHJpPJn7GzNyP5VHUXCoUwMTGBVCqFRCKB\nUCiEiooKvHz5UjOXyt70ZlP5PdXy31/K29md1bjvxnDf9XPyvjt523PvzX0vn9XbbvoFOADcuXMH\nDQ0NqKqqQmtrK16/fp3/W09PDxobG1ecTyaTaG9vx/r161FfX4+BgQErYunOFolEEAwG4fP5UFNT\ngz179iAajVqSa2xsDC6XC263e8XjzJkzmtkAdb3pzaaqN61Mbrcbly9fzp+xszcj+VR119PTg+3b\nt6Oqqgq1tbXo7OzEyMhIwVyAut70ZlP5PdVy+PDhFSNt98ZZjfuuH/ddPyfvu5O3Pffe3PfyWb3t\nvBU9EREREZFC/Bk/EREREZFCvAAnIiIiIlKIF+BERERERArxApyIiIiISCFegBMRERERKcQLcCIi\nIiIihXgBTkRERESkEC/AiYiIiIgU4gU4EREREZFC/wD2bRPoFZqX9gAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "ys = euler(0, 4, 1, dx, step=0.00001)\n", "plt.subplot(1,2,1)\n", @@ -1334,11 +1376,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "exact answer= 54.5981500331\n", + "euler answer= 54.59705808834125\n", + "difference = 0.00109194480299\n", + "iterations = 400000\n" + ] + } + ], "source": [ "print('exact answer=', np.exp(4))\n", "print('euler answer=', ys[-1])\n", @@ -1406,7 +1459,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "metadata": { "collapsed": false }, @@ -1444,11 +1497,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "max error 5.206970035942504e-05\n" + ] + }, + { + "data": { + "image/png": "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\nBAQEYLVavdqtVitms9lHVcmZmD17NitXruT9998nOTnZ1+XIaVi/fj01NTWkp6cTFBREUFAQH374\nIQUFBQQHB9Pa2urrEqWd+vbtS1pamldbWloau3bt8lFFcrpyc3N56KGHuPHGGxk2bBi33HILDz74\noG7+7OLMZjNut1s5qBtxOp3k5OSwefNm3nvvvXZN6fWbYB4UFMSoUaMoLi72ai8uLiYzM9NHVcnp\nmjlzpieUp6am+rocOU3XX389X375JZs2bfK8MjIymDJlCps2bSIoKMjXJUo7ZWZmeuYkf2/r1q36\n0twFNTY2HvMXLKPRqOUSu7iUlBTMZrNXDrLb7ZSUlCgHdUEOh4ObbrqJzZs388EHHxAfH9+u/fxq\nKsuDDz7IbbfdxkUXXURmZibLli1j7969mjfXxdx///38/ve/58033yQmJsbz7T8yMpKIiAgfVyen\nIjo6mvT0dK+2iIgIYmNjj7n6Kv5t9uzZZGZm8tRTT3HzzTezYcMGnnvuORYtWuTr0uQUTZw4kUWL\nFjFw4ECGDRvGhg0bWLJkCXfccYevS5M2NDQ0sH37dtxuNy6Xi127drFp0yZiY2Pp378/s2bNIi8v\njyFDhpCamsrChQuJiopiypQpvi5d/s3JxrJfv37ccMMNfPbZZ/z1r3/1+ktITEwMoaGhJz5wRy0V\n01GWLVvmTklJcYeGhrozMjLc69at83VJcooMBoPbaDQe83riiSd8XZp0gDFjxmi5xC7q7bffdo8Y\nMcIdFhbmHjJkiPv555/3dUlyGurr692zZ892Dxw40B0eHu4+55xz3I899pi7ubnZ16VJGz744IPj\n/j/yzjvv9PR54okn3P369XOHhYW5r7zySvdXX33lw4rlRE42ljt37jxhFmprWUWD2+12d9KXCxER\nEREROQG/mWMuIiIiItKTKZiLiIiIiPgBBXMRERERET+gYC4iIiIi4gcUzEVERERE/ICCuYiIiIiI\nH1AwFxERERHxAwrmIiIiIiJ+QMFcRERERMQP/H8dLvuILxSnZwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "import math\n", "import numpy as np\n", @@ -1475,71 +1546,6 @@ "print(\"max error {}\".format(max(error)))" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Linearizing with the Taylor Series\n", - "\n", - "Taylor series represents a function as an infinite sum of terms. The terms are linear, even for a nonlinear function, so we can express any arbitrary nonlinear function using linear algebra. The cost of this choice is that unless we use an infinite number of terms the value we compute will be approximate rather than exact.\n", - "\n", - "Before applying it to a matrix lets do the Taylor expansion of a real function since this is much easier to visualize. I choose sin(x). The Taylor series for a real or complex function f(x) at x=a is the infinite series\n", - "\n", - "$$f(x) = f(a) + f'(a)(x-a) + \\frac{f''(a)}{2!}(x-a)^2 + \\, ...\\, + \\frac{f^{(n)}(a)}{n!}(x-a)^n + \\, ...$$\n", - "\n", - "where $f^{n}$ is the nth derivative of f. To compute the Taylor series for $f(x)=sin(x)$ at $x=0$ Let's first work out the terms for f.\n", - "\n", - "$$\\begin{aligned}\n", - "f^{0}(x) &= sin(x) ,\\ \\ &f^{0}(0) &= 0 \\\\\n", - "f^{1}(x) &= cos(x),\\ \\ &f^{1}(0) &= 1 \\\\\n", - "f^{2}(x) &= -sin(x),\\ \\ &f^{2}(0) &= 0 \\\\\n", - "f^{3}(x) &= -cos(x),\\ \\ &f^{3}(0) &= -1 \\\\\n", - "f^{4}(x) &= sin(x),\\ \\ &f^{4}(0) &= 0 \\\\\n", - "f^{5}(x) &= cos(x),\\ \\ &f^{5}(0) &= 1\n", - "\\end{aligned}\n", - "$$\n", - "\n", - "Now we can substitute these values into the equation.\n", - "\n", - "$$\\sin(x) = \\frac{0}{0!}(x)^0 + \\frac{1}{1!}(x)^1 + \\frac{0}{2!}(x)^2 + \\frac{-1}{3!}(x)^3 + \\frac{0}{4!}(x)^4 + \\frac{-1}{5!}(x)^5 + ... $$\n", - "\n", - "And let's test this with some code:" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "estimate of sin(.3) is 0.30452025\n", - "exact value of sin(.3) is 0.295520206661\n" - ] - } - ], - "source": [ - "x = .3\n", - "estimate = x + x**3/6 + x**5/120\n", - "exact = np.sin(.3)\n", - "\n", - "print('estimate of sin(.3) is', estimate)\n", - "print('exact value of sin(.3) is', exact)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This is not bad for only three terms. If you are curious, go ahead and implement this as a Python function to compute the series for an arbitrary number of terms.\n", - "\n", - "Now we can consider how to linearize a nonlinear " - ] - }, { "cell_type": "markdown", "metadata": {}, @@ -1796,11 +1802,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "from book_format import set_figsize, figsize\n", "\n", @@ -2010,11 +2027,39 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "iteration: 1\n", + "innovation [-148.512 28.6789 -148.5361]\n", + "pos [ 805.4175 205.2868]\n", + "\n", + "\n", + "iteration: 2\n", + "innovation [-0.1177 -7.4049 -0.1599]\n", + "pos [ 800.04 199.9746]\n", + "\n", + "\n", + "iteration: 3\n", + "innovation [-0.0463 -0.001 -0.0463]\n", + "pos [ 800. 200.]\n", + "\n", + "\n", + "iteration: 4\n", + "innovation [-0. -0. -0.]\n", + "pos [ 800. 200.]\n", + "\n", + "\n", + "Iterated solution: [ 800. 200.]\n" + ] + } + ], "source": [ "import numpy as np\n", "from numpy.linalg import norm, inv\n", @@ -2115,12 +2160,35 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "metadata": { "collapsed": false, "scrolled": true }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "iteration: 1\n", + "innovation [-0.0009 -1.3868 -0.0024]\n", + "pos [ 800.0014 199.9991]\n", + "\n", + "\n", + "iteration: 2\n", + "innovation [-0.0016 -0. -0.0016]\n", + "pos [ 800. 200.]\n", + "\n", + "\n", + "iteration: 3\n", + "innovation [-0. -0. -0.]\n", + "pos [ 800. 200.]\n", + "\n", + "\n", + "Iterated solution: [ 800. 200.]\n" + ] + } + ], "source": [ "pos, converted = lop_ils(rz, sat_pos, (801, 201), hx=hx_ils)\n", "print('Iterated solution: ', pos)" @@ -2137,11 +2205,44 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "iteration: 1\n", + "innovation [ 129.8823 100.461 107.5398]\n", + "pos [ 831.4474 186.1222]\n", + "\n", + "\n", + "iteration: 2\n", + "innovation [-31.6446 -7.4837 -30.7861]\n", + "pos [ 800.3284 198.8076]\n", + "\n", + "\n", + "iteration: 3\n", + "innovation [-0.6041 -0.3813 0.3569]\n", + "pos [ 799.948 198.6026]\n", + "\n", + "\n", + "iteration: 4\n", + "innovation [-0.4803 0.0004 0.4802]\n", + "pos [ 799.9476 198.6025]\n", + "\n", + "\n", + "iteration: 5\n", + "innovation [-0.4802 0.0007 0.4803]\n", + "pos [ 799.9476 198.6025]\n", + "\n", + "\n", + "Iterated solution: [ 799.948 198.602]\n" + ] + } + ], "source": [ "# add some noise\n", "nrz = []\n", diff --git a/Supporting_Notebooks/Linearizing-with-Taylor-Series.ipynb b/Supporting_Notebooks/Linearizing-with-Taylor-Series.ipynb new file mode 100644 index 0000000..6d7abaa --- /dev/null +++ b/Supporting_Notebooks/Linearizing-with-Taylor-Series.ipynb @@ -0,0 +1,92 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Linearizing with Taylor Series\n", + "\n", + "Taylor series represents a function as an infinite sum of terms. The terms are linear, even for a nonlinear function, so we can express any arbitrary nonlinear function using linear algebra. The cost of this choice is that unless we use an infinite number of terms the value we compute will be approximate rather than exact.\n", + "\n", + "Before applying it to a matrix lets do the Taylor expansion of a real function since this is much easier to visualize. I choose sin(x). The Taylor series for a real or complex function f(x) at x=a is the infinite series\n", + "\n", + "$$f(x) = f(a) + f'(a)(x-a) + \\frac{f''(a)}{2!}(x-a)^2 + \\, ...\\, + \\frac{f^{(n)}(a)}{n!}(x-a)^n + \\, ...$$\n", + "\n", + "where $f^{n}$ is the nth derivative of f. To compute the Taylor series for $f(x)=sin(x)$ at $x=0$ Let's first work out the terms for f.\n", + "\n", + "$$\\begin{aligned}\n", + "f^{0}(x) &= sin(x) ,\\ \\ &f^{0}(0) &= 0 \\\\\n", + "f^{1}(x) &= cos(x),\\ \\ &f^{1}(0) &= 1 \\\\\n", + "f^{2}(x) &= -sin(x),\\ \\ &f^{2}(0) &= 0 \\\\\n", + "f^{3}(x) &= -cos(x),\\ \\ &f^{3}(0) &= -1 \\\\\n", + "f^{4}(x) &= sin(x),\\ \\ &f^{4}(0) &= 0 \\\\\n", + "f^{5}(x) &= cos(x),\\ \\ &f^{5}(0) &= 1\n", + "\\end{aligned}\n", + "$$\n", + "\n", + "Now we can substitute these values into the equation.\n", + "\n", + "$$\\sin(x) = \\frac{0}{0!}(x)^0 + \\frac{1}{1!}(x)^1 + \\frac{0}{2!}(x)^2 + \\frac{-1}{3!}(x)^3 + \\frac{0}{4!}(x)^4 + \\frac{-1}{5!}(x)^5 + ... $$\n", + "\n", + "And let's test this with some code:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "estimate of sin(.3) is 0.30452025\n", + "exact value of sin(.3) is 0.295520206661\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "\n", + "x = .3\n", + "estimate = x + x**3/6 + x**5/120\n", + "exact = np.sin(.3)\n", + "\n", + "print('estimate of sin(.3) is', estimate)\n", + "print('exact value of sin(.3) is', exact)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is not bad for only three terms. If you are curious, go ahead and implement this as a Python function to compute the series for an arbitrary number of terms.\n", + "\n", + "Now we can consider how to linearize a nonlinear " + ] + } + ], + "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.5.0" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +}