Skip to content

Instantly share code, notes, and snippets.

@Carreau
Created March 20, 2014 09:33
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 Carreau/9660247 to your computer and use it in GitHub Desktop.
Save Carreau/9660247 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "",
"signature": "sha256:25538ee28915986cbadd1d9a5680a2421a30db181f794e989349918793754b6d"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "heading",
"level": 1,
"metadata": {},
"source": [
"Fibonacci Sequence"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Hi, I have issues with my fibonacci implementation, can you help me ? It is much too slow !"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def fib(n):\n",
" \"\"\" return the nthnumber of fibonnaci sequence \"\"\"\n",
" if n<=2:\n",
" return 1\n",
" else: \n",
" return fib(n-1)+fib(n-2)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"[fib(i) for i in range(1,15)]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 2,
"text": [
"[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377]"
]
}
],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"r = []\n",
"for u in range(33):\n",
" s = %timeit -n1 -r1 -q -o fib({u})\n",
" r.append(s.best)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%matplotlib inline\n",
"import matplotlib.pyplot as plt"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"plt.semilogy(r,'+')\n",
"plt.ylabel('time (in s)')\n",
"plt.xlabel('fib(#)')\n",
"plt.title('seem to be quadratic!')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 5,
"text": [
"<matplotlib.text.Text at 0x107401f90>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAEXCAYAAABcRGizAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XtcVGX+B/DncE0BARURZkYGHa4uggaY2ijmBcwVvGQM\nFRiolYWulS5otYzVGpSWKWmtiquUwJopuup4IcfQNogFkg1FEAaHi6woKhcFGc7vDzqv5seCc2Fu\nBz7v1+u8XpwzwzlfZnS+8zzP93kORdM0AQAAeBwzYwcAAACmD8kCAABUQrIAAACVkCwAAEAlJAsA\nAFAJyQIAAFRCsgBQQSqVhvB4PLmx49DU3//+95eFQmGuLs/57LPPnkxPT4/W5TmBHZAsYMCTyWR8\nMzOzrq6uLvx714BYLBZHR0enKx87efLksz2P9YatCRb6hv88MGjQNE0ZOwZT0dnZaWHsGIBdkCxA\n51JSUhK4XG7NsGHD7nt7e1/9/vvvnyGk+8M6OTk5USAQVIwcObIxMjIyq6mpyZH5vZ9++umpqVOn\n/ujo6NgUEBBQfOHChRnMYyEhIdL33nvvg2nTpl2ys7NrDg8PP9bY2DjyxRdf/Mbe3v5ecHBwfnV1\ntVtv8UyfPv0HQghxcHC4a2dn15yXlzeZpmnqww8/fJfP58ucnZ0bli1btv/+/fvDHvd3ffTRRxuc\nnJxuubu7Vx08ePAF5nh7e7v1unXrtri5uVWPHj365qpVq3Y9fPjwid7O0dXVZbZu3botTk5Ot8aN\nG3f9iy++eEO51cPn82U5OTmzmOf3/Ha/dOnSQy4uLvUODg53Z8yYcaG0tNSXeez27dsjwsPDj9nb\n29+bPHly3vXr18cpX9vMzKxr586dr3t4eJR7eXmVEULIn/70p8/HjBlzw97e/l5gYGDBxYsXnyaE\nEIlEEvbRRx9tyMrKirSzs2ueOHFiEfM+7N27dzlzzt27d6/09fUtHTZs2P3x48f/WlRUNPFxryGw\nGE3T2LDpbLt69aoXj8e7UV9fP5qmaVJdXT3m+vXrY2maJtu2bfvTlClTfqytrXXt6OiwfPXVV7+M\nioo6SNM0qamp4YwYMaLx1KlTYTRNk7Nnz84eMWJEY2Nj4wiapsmMGTOkHh4e1yorK93v3bs3zNfX\n91eBQFCek5PzTGdnp3lMTMz+2NjYtN5ikslkbhRFdSkUCjPm2N69e+MEAkF5VVUVv6WlxWbx4sWH\no6OjD/T2++fPnw+xsLB49Pbbb2/p6OiwvHDhwnQbG5uWsrIyT5qmydq1az+LiIg42tTU5NDc3Gy7\nYMGCYxs2bNjc27l27dr1mre395WamhrOnTt3HENCQs6bmZkpmNj4fH5VTk7OM8zzxWJx0ksvvZTO\n7O/bt+/llpYWm46ODsu1a9d+FhAQUMQ8FhkZmRkZGZnZ1tY25D//+c94DodTIxQKf2Aepyiqa+7c\nuaebmpocHj58aE3TNPn6669fvHPnjqNCoTDbunXrW6NHj65vb2+3Yq7d8zUJCQk5v3fv3jiapsk/\n/vGPpRwOp6agoOBJmqZJRUXFuOrq6jHMa8blcuXG/veITXeb0QPANrC28vJywahRoxrOnTs3q6Oj\nw1L5MR8fn1LlD8K6ujoXS0vLjs7OTvPk5OSEnh9MoaGhkv3798fQdPeH1ObNmzcwj7399ttbnn32\n2RPM/vHjx/+o/MGpvFVVVfF7JotnnnkmZ9euXa8x+2VlZZ6WlpYdys9hNiZZtLW1DWGOPf/881kf\nfPDBu11dXZSNjU0LkxBpmiY//vjjFHd398reYpk5c+b3X3311SvM/pkzZ+Yox6YqWShvTU1NDhRF\ndd2/f9+us7PT3NLSsoNJYDRNk40bN/716aefzmX2KYrqOn/+fMjj3j9HR8c7ly9f9qNpmiQlJYl7\nXls5WcydO/f09u3bV/d2HiSLgbehGwp0SiAQVGzbtm2tWCwWOzs7N0RFRWXU19e7ENI90Lxo0aIj\njo6OTY6Ojk2+vr6lFhYWnQ0NDc7V1dVuhw4dWso85ujo2HTp0qVpN2/eHM2c29nZuYH5+Yknnng4\natSo/yrvt7S02KobZ319vYubm1s1sz9mzJgbnZ2dFg0NDc69Pd/R0bFpyJAhD5h9Nze36vr6epfG\nxsaRbW1tQ5988sl/M3HPmzfvVGNj48i+rqs88DtmzJgb6sasUCjMExMTkwUCQYW9vf09d3f3Koqi\n6MbGxpG3bt1y6uzstFB17p6Dzlu2bFnn6+tb6uDgcNfR0bHp3r179n3F3lNNTQ133Lhx1/t6nKIo\nrFI6gCBZgM5FRUVl5ObmCqurq90oiqITEhJSCOn+8JJIJGFNTU2OzNbW1jbU1dW1bsyYMTeio6PT\nlR9rbm62+/Of//xxb9fQ5IOot+e6urrWyWQyPrN/48aNMRYWFp3KCUkZEyuzX11d7ebq6lo3cuTI\nxiFDhjwoLS31ZeK+e/euQ1/jHy4uLvU3btwYo3xd5cdtbGxaW1tbbZj9+vp6Fyb+gwcPvnDs2LHw\nnJycWffu3bOvqqpyp2maommacnJyumVhYdH5uHP3fC1yc3OFn3zyyfpDhw4tvXv3rkNTU5Ojvb39\nPfq3QgBVrzGPx5NXVFQIenssJCRE2tv1gb2QLECnrl275vn9998/097ebm1tbd3+xBNPPDQ3N1cQ\nQshrr7325caNGzczHyK3bt1yOnbsWDghhLz00ktfHz9+fMGZM2fmKhQK84cPHz4hlUpDamtrOcy5\naaVqJlqDyiYnJ6dbZmZmXcoDvlFRURmfffbZmzKZjN/S0mK7cePGzSKRKNPMzKyrr/MkJSVtevTo\nkWVubq7wxIkT85cuXXqIoih65cqVu9euXbvt1q1bToQQUltbyzlz5szc3s7x/PPP/2P79u1ramtr\nOU1NTY7JycmJyh/KAQEBxZmZmaLOzk6LgoKCwMOHDy9hHmtpabG1trZuHz58+J3W1labjRs3bmYe\nMzc3VyxevPg7sVgsfvDgwZDS0lLf/fv3L3vc69Lc3GxnYWHROXLkyMaOjg6r999//y/KSW706NE3\nZTIZv6/XesWKFXu2bNmyrrCwcBJN01RFRYUACWLgMslk0draarNs2bL9r7zyyt+Uq07A9LW3t1tv\n2LDhIycnp1suLi71jY2NIz/66KMNhHRX3oSHhx+bO3fumWHDht2fMmXKv/Lz84MJIYTL5dZkZ2dH\nbN68eeOoUaP+O2bMmBtbt259W/mDSvlDlaIouuc3376+CQ8dOrTtnXfe+eu0adMuOTo6NuXn5wfH\nxcWlRUdHp0+fPv2HsWPHVg4dOrRtx44dq3v7fYqiaBcXl3pHR8cmV1fXuujo6PSvvvrqVU9Pz2uE\ndFd/CQSCiqeeeuone3v7e3PmzDl77do1z97OtXLlyt2hoaGn/f39fwkMDCxYsmTJYeW/8YMPPnjv\n+vXr4xwdHZvEYrH4xRdf/IZ5LCYm5oCbm1s1h8Op/cMf/vCfKVOm/Ev5b05NTY1vaWmxHT169M24\nuLi0uLi4tJ6vmXIsYWFhkrCwMImnp+c1Pp8vGzJkyAPlrqulS5ceIoSQESNG3A4MDCzo+bc899xz\n377zzjt/feGFFw4OGzbs/uLFi79jqttyc3OF3t7eV3t7DYCdKJo2vW7F9PT06OHDh9+ZP3/+CZFI\nlJmZmSkydkwA+iCTyfhjx46t7OzstHhcqwbA2AzWsoiLi0tzdnZu8PPzK1E+LpFIwry9va96eHiU\np6SkJBDS3YxnBuKYLgwAADAegyWL2NjYfRKJJEz5mEKhMI+Pj0+VSCRhpaWlvhkZGVFXrlzx4XK5\nNXK5nEdI9yQmQ8UIYAyoGgI2MNgHsVAozHV0dGxSPpafnx8sEAgq+Hy+zNLS8pFIJMrMzs6OWLx4\n8XeHDx9e8vrrr+8MDw8/ZqgYAQyNz+fLFAqFObqgwNQZdX0Y5e4mQroHOfPy8iYPHTq0LS0tLe5x\nv4tvYwAA2tGkmpBh1C6e/n7gG3tGY3+2pKQko8eA+I0fB+Jn38bm2Gla+49coyYLDodTy4xNEEKI\nXC7ncbncGmPGBABgSFKpsSNQj1GTRWBgYEF5ebmHTCbjd3R0WGVlZUVqMkYhFouJlC2vNABALwz1\nESaVSolYLNb+BIZq+ohEogwXF5c6Kyurdi6XK09LS4ulaZqcPHlynqenZ9m4ceMqlBeKU6MpRbPZ\n+fPnjR1CvyB+40L8xqPr2JOSdHo6lX777NT4M9wkJ+Wpg6Iomq2xA8DgJpX+3qLYtImQpKTun0NC\nujd9oiiK0FoMcONuWQAABtYzKfSnd8hQWD3hDWMWAADq6e+YBbqhAAD0QCpVr0tJ3efpirbdUKxu\nWQAAmCp1Oz0MmSj6A8kCAABUwgA3AICO9KxyYhiiyknfWJ0sxGIxCQkJISFsfxcAYEAw5SonqVTa\nr4IgDHADAOiBWGxayYKBAW4AABMy0Do8kCwAADQw0Kqc1IVkAQCggcE6DxjJAgAAVGJ1NRQAgCEM\n5JJYdSFZAACoYMolsYaCbigAAFAJyQIA4DfqDF4Plm6nnlidLLBEOQDo0kBOFliiHABAR0x11rUu\n4U55AABaQKWTepAsAGBQQ6WTelg9ZgEAAIZhssmiqqrKfcWKFXuWLl16yNixAMDggG6nvplssnB3\nd6/as2fPCmPHAQDsN1gX/9MlvSeLuLi4NGdn5wY/P78S5eMSiSTM29v7qoeHR3lKSkqCvuMAgMEL\nFfb9p/dkERsbu08ikYQpH1MoFObx8fGpEokkrLS01DcjIyPqypUrPunp6dFvvvnmZ3V1da76jgsA\nANSn92oooVCYK5PJ+MrH8vPzgwUCQQWfz5cRQohIJMrMzs6OSExMTI6Ojk4nhJA7d+4M37hx4+bi\n4uKAlJSUhISEhJSe51aeYILbqwKAMpTEduvv7VQZRimdra2t5fB4PDmzz+Vya/Ly8iYrP2f48OF3\nvvzyy9ced57+zEYEgIENJbHden6R3qScOTVglAFuiqIw9RoAgEWMkiw4HE6tXC7nMftyuZzH5XJr\njBELAAx8g6nbSV+MkiwCAwMLysvLPWQyGb+jo8MqKysrMjw8/Jim58FCggAwkBf/06X+LiRIaJrW\n6yYSiTJcXFzqrKys2rlcrjwtLS2Wpmly8uTJeZ6enmXjxo2r2Lx58wZNz9sdOgAMdklJxo6AXX77\n7NT4sxyrzgIAqw2GlWJ1CavOAsCggbJYw2N1shCLxZhfATAIoSxWc/2db4FuKABgNXRDaUbbbiiT\nXUgQAAY3LP5nWpAsAMAkIVmYFiQLAABQCQPcAGAyUOWkPxjgBoABCQPX+oEBbgAA0BskCwAwSeh2\nMi1IFgBgcFj8j32QLADA4LBYNPsgWQAAgEqsLp0FANMilfbdfYSyWHZDsgAAnXlcssDif+yGbigA\nAFCJ1S0LzOAGMD5tupfwX9bwMIMbAEwGZl2bPszgBgAAvUGyAACdQffSwIVkAQAq4d4SYLLJIjs7\nO+KVV175m0gkyjx79uwcY8cDMJhhxjWYbDVUREREdkRERPbdu3cd1q1bt2XOnDlnjR0TAMBgpfeW\nRVxcXJqzs3ODn59fifJxiUQS5u3tfdXDw6M8JSUloa/f//DDD9+Nj49P1XecAPD/SaW/Vzdt2vT7\nz2hlDE56L53Nzc0V2tratsTExBwoKSnxI4QQhUJh7uXlVXbu3LnZHA6nNigo6OeMjIyogoKCwMLC\nwknr16//xMXFpT4xMTF57ty5Z2bNmpXzP4GjdBbAYFASO3BoWzqr924ooVCYK5PJ+MrH8vPzgwUC\nQQWfz5cRQohIJMrMzs6OSExMTI6Ojk4nhJDt27evycnJmXX//v1hFRUVgldfffWrnucWK/3rxeQ8\nAID/1d/JeAyjjFnU1tZyeDyenNnncrk1eXl5k5Wfs2bNmu1r1qzZ/rjziPFVB8Ag8D2MvXp+kd6k\nPM1eA0aphqIoCv1HACYCNyICdRglWXA4nFq5XM5j9uVyOY/L5dZoeh6xWKyT5hXAYIb/QoODVCrt\nV2+MUZJFYGBgQXl5uYdMJuN3dHRYZWVlRYaHhx/T9DzMQoIAAPB4ISEh/UoWeh+ziIqKyrhw4cKM\n27dvj+DxePL333//L7GxsftSU1PjQ0NDTysUCvPly5fv9fHxuaLvWACgG25EBJrCqrMAgxzKYgeX\nQbnqLMYsAADU098xC7QsAAa5x90KFQaeQdmyAIC+YaVY0CUkC4ABCj20oEtIFgAAoJLJLlEOAJpD\nSSzoC6uTBTMpDxPzALr1TAooiQVGfxcURDUUwACF+RPQG1RDAQwiWPwPDA3JAoCFkCzA0JAsAABA\nJVYPcAMMJqh0AmNCsgBgCVQ6gTGhGwoAAFRCsgAwIVjPCUwVkgWACUGyAFPF6mSB+1kAAKjHIPez\naG1ttZHL5TyKomgul1tjY2PTqvUVdQQzuGGg6FnllJTU/TOqnEAftJ3B3Wc1VHNzs93u3btXZmZm\nihobG0c6Ozs30DRNNTQ0OI8YMeL2iy+++M3KlSt329ratvQvdIDBDVVOwAZ9dkMtXLjwqJ2dXfPx\n48cXVFZWjv3Xv/415aeffnqqqqrK/Z///OcfbWxsWiMiIrINGSwAABgHFhIEMCG4xSnom94WErx4\n8eLTLS0ttoQQkp6eHv3mm29+Vl1d7aZNkJq4evWq96pVq3Y9//zz/9i7d+9yfV8PQN+wnhOwmcpk\nsWrVql02Njatv/zyi/+nn376lkAgqIiJiTmg78C8vb2v7tq1a1VmZqbo9OnTofq+HoC+oXAP2Exl\nsrCwsOikKIo+evTowjfeeOOLN95444vm5mY7dS8QFxeX5uzs3ODn51eifFwikYR5e3tf9fDwKE9J\nSUno7XePHz++YP78+SdEIlGmutcDAADdUzlmMX369B/CwsIk+/bti83NzRU6OTndCggIKC4pKfFT\n5wK5ublCW1vblpiYmAPM7ygUCnMvL6+yc+fOzeZwOLVBQUE/Z2RkRBUUFAQWFhZOWr9+/Seurq51\nzDkiIiKys7OzI/5f4BizABZAWSyYGp2XzjKysrIiMzIyotLS0uJGjx5988aNG2PWr1//iboXEAqF\nuTKZjK98LD8/P1ggEFTw+XwZIYSIRKLM7OzsiMTExOTo6Oh0Qgi5cOHCjO+++27xw4cPn5g5c+b5\n3s6tPMEEt1cFU4SyWDC2/t5OlWGQaiiZTMZfsGDBcaZl8e233z53+vTp0N27d68khJCvv/76pby8\nvMk7duxYre450bIAtsFtTsEUsOq2qhRF4VMeBh00fIHNjJIsOBxOrVwu5zH7crmcx+VyazQ9D9aG\nAlOAxf+ADQyyNlR/9eyG6uzstPDy8irLycmZ5erqWhccHJyfkZER5ePjc0Xdc6IbCkwFupeATfQ6\nKW/OnDlnPTw8yt3d3avc3d2rxo4dW6nuBaKiojKmTp3647Vr1zx5PJ583759sRYWFp2pqanxoaGh\np319fUsjIyOzNEkUAABgWCpbFl5eXmXbtm1bO2nSpEJzc3MFc3zkyJGNeo/uMdCyAGNCSSywld5K\nZx0cHO7OmzfvlHZh6ZdYLEbJLBgFSmKBbfpbQquyZZGYmJisUCjMFy9e/J21tXU7c3zSpEmFWl9V\nB9CyAFOBMQtgE21bFiqTRUhIiLS3Utfz58/P1PRiuoRkAYagziqwWCkW2ERvycJUIVmAIaDVAAON\nzscs0tPTo6Ojo9O3bt36tnLLgqZpiqIo+q233vpU22ABAIBd+kwWbW1tQwnpvr0qZlzDYNKz0omB\nSicYzFjdDZWUlIRqKNArdEPBQMFUQ23atEm3k/LEYrG4oaHBua/H6+vrXZKSkjb19bghMKWzAADw\neCEhIf1a7qPPbqjAwMACkUiU2dHRYTVp0qRCFxeXepqmqZs3b44uLCycZG1t3b5u3botWl8ZgAXw\nXQSgm8puKLlczrt06dK0GzdujCGEEDc3t+pp06Zd0mbhP11CNRQAgOZQOgugAcyNgMGKVfezADA2\nrGwPoBkkCxhQkAQA9EPlQoIAbPK47iXMnwDQnspkUVZW5vX666/vvHnz5uhff/11/OXLlyccO3Ys\n/N133/3QEAEC6ApWigXQnspuqJUrV+7evHnzRisrqw5CCPHz8yvJyMiI0n9oAOqRSn+fPLdp0+8/\no0sKQHdUtiza2tqGTp48OY/ZpyiKtrS0fKTfsNSD+1kAIdq1GPBPBgab/t7PQmWycHJyulVRUSFg\n9r/99tvnXFxc6rW+og71ZzYiDG5IFjDYMF+sN23SbuENlckiNTU1/pVXXvnb1atXvV1dXevc3d2r\nvvnmmxe1uhqAniEJAOiH2pPyWltbbbq6uszs7Oya9RyTWjApDwBAc3q7B3dTU5PjgQMHYmQyGb+z\ns9Pit4vR27dvX6NNoADawqxrAONRWQ317LPPnqyurnabMGHC5cDAwIInn3zy308++eS/DRFca2ur\nTVBQ0M8nTpyYb4jrgWlDdROA8ahsWbS3t1t/+umnbxkimJ4+/vjjP0dGRmYZ49oAAPA7lS2LF154\n4eDf/va3V+rr613u3LkznNnUvUBcXFyas7Nzg5+fX4nycYlEEubt7X3Vw8OjPCUlJaHn7509e3aO\nr69vqZOT0y11rwUDD+ZQAJgGlQPcqamp8e+8885fHRwc7pqZmXUR0j1mUVlZOVadC+Tm5gptbW1b\nYmJiDpSUlPgRQohCoTD38vIqO3fu3GwOh1MbFBT0c0ZGRlRBQUFgYWHhpPXr13+yc+fO11tbW21K\nS0t9hwwZ8uDIkSOLlG/vigHuwQd3rQPoP70NcG/duvXt69evjxs5cmSjNoEJhcJcmUzGVz6Wn58f\nLBAIKvh8vowQQkQiUWZ2dnZEYmJicnR0dDohhHz44YfvEkLI/v37lzk5Od3q7T7gyvMsMDkPAOB/\n9XcyHkNlsvDw8CgfMmTIg35fSUltbS2Hx+PJmX0ul1uTl5c3ubfnLlu2bH9f58GkvMEF3wUANNfz\ni7TeJuUNHTq0LSAgoHjmzJnnra2t2wnpf+lsb60EAFWQLACMR2WyWLhw4dGFCxceVT7W3w97DodT\nK5fLecy+XC7naXObVqwNBQCgnv52RxnktqoymYy/YMGC48wAd2dnp4WXl1dZTk7OLFdX17rg4OD8\njIyMKB8fnyvqnhMD3AMHJtsBGI7Ob6u6dOnSQ4R0L0nec5swYcJldS8QFRWVMXXq1B+vXbvmyePx\n5Pv27Yu1sLDoTE1NjQ8NDT3t6+tbGhkZmaVJooCBBWWwAKavz5ZFXV2dq6ura111dbVbzyxEURTt\n5uZWbZAI+4CWxcCBklgAw9F56ayrq2sdIYTs3Lnz9Z6T5hISElJ6m0hnaBizYC/c4hTAsPQ+ZjFx\n4sSioqKiicrH/Pz8SpjxB2NBy2LgQMsCwHB03rLYtWvXqp07d75+/fr1ccpLdTQ3N9tNmzbtkraB\nAgAA+/TZsrh37559U1OTY2JiYnJKSkoCk4ns7OyaR4wYcdugUfYCLQt2UKfSCdVQAIajbcvCIKWz\n+oBkwQ7oYgIwLTovnQUAAGConMFtylANZZpQ6QRgelgxg1sf0A3FDuiGAjAt6IYCAAC9QbIArajb\nmkW3E8DAgGQBWkGyABhckCwAAEAlVldDgWGhyglg8EKyALX1TAqocgIYPNANBQAAKrE6WYjF4n5N\nMgHtodsJgF2kUikR96M7AJPy4H9gYT+AgQuT8kBn0FgDgJ6QLAAAQCVUQwEhBGWxAPB4SBZACEFZ\nLAA8nsl2Q0ml0hChUJi7atWqXRcuXJhh7HgGAoxFAIC2TDZZmJmZddnZ2TW3t7dbc7ncGmPHMxBg\nPScA0Jbek0VcXFyas7Nzg5+fX4nycYlEEubt7X3Vw8OjPCUlJaHn7wmFwtyTJ08+m5ycnJiUlLSp\n5+OgP0gWANCT3scsYmNj961evXpHTEzMAeaYQqEwj4+PTz137txsDodTGxQU9HN4ePixgoKCwMLC\nwknr16//xNXVtY4QQhwcHO62t7db6zvOgQoD1wCgC3pPFkKhMFcmk/GVj+Xn5wcLBIIKPp8vI4QQ\nkUiUmZ2dHZGYmJgcHR2dTgghR44cWXT69OnQu3fvOqxevXpHb+dWno3Y39urDtSJaBi4Bhjc+ns7\nVYZRqqFqa2s5PB5PzuxzudyavLy8ycrPWbRo0ZFFixYdedx5+jN1vaeBmiwAYHDr+UV60ybtevWN\nMsBNURTW6dAhDFwDgL4ZpWXB4XBq5XI5j9mXy+U8bSqexGJxv7qfBkp/vrqtIjb9TQCgW/3tjjLI\nQoIymYy/YMGC4yUlJX6EENLZ2Wnh5eVVlpOTM8vV1bUuODg4PyMjI8rHx+eKuufU9UKCYjF7+/PZ\nHDsAGJa2CwnqvWURFRWVceHChRm3b98ewePx5O+///5fYmNj96WmpsaHhoaeVigU5suXL9+rSaKA\ngdMqAgB2wBLlv2HzADdaFgCgrkG5RLkub37E1kQBAKAO3PwIWN0qAgDD0rZlgWQBADCIDMpuKAAA\nMAwkCwAAUAnJAgAAVGJ1stBlNZSpGuB/HgAYCKqhBjjMoQAAXcIANwAA6I1RFhKEx8NSHgBgapAs\nTBBuWAQApgbdUAAAoBKShYlDtxMAmAIkCyPB3e0AgE2QLIwE8ycAgE1YnSwGw6Q8AABdwKQ8FulZ\nEpuU1P0zSmIBwFBM9raq8DuUxAIAW7G6GwoAAAxjwCcLXQ5p6PJc6HYCADYx2WRB0zT1zjvv/HXN\nmjXbDxw4EKPteZAsAAD6z2STxdGjRxfW1tZyrKysOrhcbo2x4wEAGMz0PsAdFxeXduLEifmjRo36\nb0lJiR9zXCKRhK1du3abQqEwX7FixZ6EhIQU5d+7du2a57Rp0y6tXLly99KlSw8988wz36t7TV0u\nxIdF/QAADJAsYmNj961evXpHTEzMAeaYQqEwj4+PTz137txsDodTGxQU9HN4ePixgoKCwMLCwknr\n16//hMvl1lhZWXUQQoiZmVmXJtfUZdWRNueSSpFIAGBg0Xs3lFAozHV0dGxSPpafnx8sEAgq+Hy+\nzNLS8pGl8T70AAALF0lEQVRIJMrMzs6OiI6OTv/ss8/edHV1rVu8ePF3p0+fDl2zZs32kJAQqb7j\n1CXMEwSAgcYo8yxqa2s5PB5PzuxzudyavLy8ycrPGTJkyIM9e/aseNx5lGcjhoSEkJBevs7r8hs+\nWgsAwDZSqVQnK10YJVlQFKWjqddiQsjjxw8MlSwwtgEApqjnF+lNyh9QGjBKsuBwOLVyuZzH7Mvl\ncp42FU+mNAMas7MBYCAzSulsYGBgQXl5uYdMJuN3dHRYZWVlRYaHhx/T9DxYSBAAQD0mv5BgVFRU\nxoULF2bcvn17xKhRo/77/vvv/yU2NnbfqVOn5jGls8uXL9+7YcOGjzQ5rykvJIhqKAAwVdouJIhV\nZwEABhFtk4XJzuAGAADTwepkgTELAAD1mPyYhb6gGwoAQHPohgIAAL1BsgAAAJWQLAAAQCUkCwAA\nUInVyQLVUAAA6kE1FAAAqA3VUAAAoDdIFgAAoBKSBQAAqIRkAQAAKiFZAACASkgWAACgEpIFAACo\nxOpkgUl5AADqwaQ8AABQGyblAQCA3iBZAACASkgWAACgkoWxA+jLxYsXn/7mm29e7OzstCgtLfW9\ndOnSNGPHBAAwWJlsy+Lpp5++uGvXrlV//OMf//nyyy//3djx6Brbq7gQv3EhfuNhc+z9ofdkERcX\nl+bs7Nzg5+dXonxcIpGEeXt7X/Xw8ChPSUlJ6Ov3Dx48+MILL7xwUN9xGhrb/8EhfuNC/MbD5tj7\nQ+/JIjY2dp9EIglTPqZQKMzj4+NTJRJJWGlpqW9GRkbUlStXfNLT06PffPPNz+rq6lwJIeTGjRtj\n7O3t79nY2LTqO04AAOib3scshEJhrkwm4ysfy8/PDxYIBBV8Pl9GCCEikSgzOzs7IjExMTk6Ojqd\neV5aWlpcXFxcmr5jBAAAFWia1vtWVVXF/8Mf/lDC7B86dOi5FStW7Gb209PTX4qPj9+hyTkJITQ2\nbNiwYdN80+Zz3CjVUBRF0f09hzYzEAEAQDtGqYbicDi1crmcx+zL5XIel8utMUYsAACgmlGSRWBg\nYEF5ebmHTCbjd3R0WGVlZUWGh4cfM0YsAACgmt6TRVRUVMbUqVN/vHbtmiePx5Pv27cv1sLCojM1\nNTU+NDT0tK+vb2lkZGSWj4/PFX3HAgAAWjLEALeut1OnToV5eXldFQgE5cnJyQnGjkfTzc3NTebn\n53c5ICCgKCgoKN/Y8ajaYmNj00aNGtWgXKRw+/bt4bNnzz7r4eFxbc6cOWeampocjB2nJvEnJSWJ\nORxOTUBAQFFAQEDRqVOnwowdZ1/bjRs3eCEhIed9fX1/HT9+/H8+//zzNWx6D/qKnw3vwYMHD54I\nDg7O8/f3L/bx8SlNTEz8iE2vfV/xa/PaG/2P0XTr7Ow0HzduXEVVVRW/o6PD0t/fv7i0tNTH2HFp\nsvH5/Krbt28PN3Yc6m4//PCDsLCwcKLyh+369es/TklJ+TNN0yQ5OTkhISEh2dhxahK/WCxO2rp1\n61vGjk2drb6+fnRRUVEATdOkubnZ1tPTs6y0tNSHLe9BX/Gz5T1obW0dStM0efTokcXkyZN/ys3N\nfZotr31f8Wvz2pvsch99UZ6jYWlp+YiZo2HsuDRFs6iaSygU5jo6OjYpHzt27Fj4smXL9hNCyLJl\ny/YfPXp0oXGiU623+Alhz3swevTomwEBAcWEEGJra9vi4+Nzpba2lsOW96Cv+Alhx3swdOjQNkII\n6ejosFIoFOaOjo5NbHntCek9fkI0f+1Zlyxqa2s5PB5Pzuxzudwa5h8eW1AURc+ePftcYGBgwe7d\nu1caOx5tNDQ0ODs7OzcQQoizs3NDQ0ODs7Fj0tSOHTtW+/v7/7J8+fK9d+/edTB2POqQyWT8oqKi\niZMnT85j43vAxP/UU0/9RAg73oOuri6zgICAYmdn54aZM2eeHz9+/K9seu17i58QzV971iULXczR\nMLZLly5NKyoqmnjq1Kl5X3zxxRu5ublCY8fUHxRF0Wx7X1atWrWrqqrKvbi4OMDFxaX+7bff3mrs\nmFRpaWmxXbJkyeHPP//8T3Z2ds3Kj7HhPWhpabF97rnnvv3888//ZGtr28KW98DMzKyruLg4oKam\nhvvDDz9MP3/+/Ezlx039te8Zv1QqDdHmtWddshgIczRcXFzqCSHEycnp1qJFi47k5+cHGzsmTTk7\nOzfcvHlzNCGE1NfXu4waNeq/xo5JE6NGjfov8598xYoVe0z9PXj06JHlkiVLDkdHR6cvXLjwKCHs\neg+Y+F966aWvmfjZ9h7Y29vfmz9//ol///vfT7LptWcw8RcUFARq89qzLlmwfY5GW1vb0ObmZjtC\nCGltbbU5c+bM3J4r8rJBeHj4sf379y8jhJD9+/cvYz4A2KK+vt6F+fnIkSOLTPk9oGmaWr58+V5f\nX9/StWvXbmOOs+U96Ct+NrwHjY2NI5kumgcPHgw5e/bsnIkTJxax5bXvK34m0RGiwWtv7JF6bbaT\nJ0/O8/T0LBs3blzF5s2bNxg7Hk22yspKd39//2J/f//i8ePH/4cN8YtEogwXF5c6S0vLDi6XK09L\nS4u9ffv28FmzZp0z9dLB3uLfu3dvXHR09AE/P7/LEyZM+CUiIuLozZs3nY0dZ19bbm7u0xRFdfn7\n+xcrlzqy5T3oLf6TJ0/OY8N7cPnyZb+JEycW+vv7F/v5+V3++OOP19N0d+ksG177vuLX5rWnaNpk\nu9oAAMBEsK4bCgAADA/JAgAAVEKyAAAAlZAsAABAJSQLABW2b9++xtfXt3T48OF3Pv744z8TQsjL\nL7/898OHDy/p7fklJSV+vd0OeOrUqT8SQsiiRYuOMDN+29vbradPn/5DV1cX/i+CSTPKnfIA2GTX\nrl2rcnJyZrm6utYxxx43Y/eTTz5Zv3r16h3KxyoqKgQCgaCCpmmqvr7ehVkqwtraul0oFOYePXp0\n4eLFi7/T318B0D/4NgPwGK+99tqXlZWVY8PCwiTbtm1bq5wEzp07NzsoKOhnLy+vshMnTswnpLul\n8NNPPz0VFBT0MyHdE6ECAgKKZ82alSOVSkN8fX1Ly8vLPSZOnFh0+fLlCYR0T67LyMiIMs5fCKAe\ntCwAHuPLL7987fTp06FSqTTk+PHjC5jjNE1T1dXVbj///HNQRUWFYObMmecrKioERUVFE728vMqY\n5w0ZMuRBcXFxQHx8fOry5cv3lpSU+LW2ttqsWrVqF/OcgICA4h9//HGqof82AE2gZQGgBpqmKVpp\nSWeKoujnn3/+H4QQIhAIKsaOHVt59epV7+rqajdm7S9lJSUlfr6+vqW//PKL/4QJEy4rP2Ztbd3e\n1dVl9vDhwyf0/5cAaActCwAdMTMz66IoilZOKh988MF7hw8fXnL9+vVxTz311E+VlZVjz549O2fe\nvHmnUlJSEpjn0TRNmfLKpQBoWQBogaZp6tChQ0tpmqauX78+rrKycqyXl1eZm5tbtfIibe+9994H\ne/bsWREXF5eWl5c32d/f/5fLly9PUE4U7e3t1ubm5gpra+t24/w1AKqhZQGgArOUs/J9CyiKoseM\nGXMjODg4//79+8O++uqrV62srDr8/f1/KSsr81L+/QsXLswQCoW5+fn5wVOmTPlXz/MXFRVN7O04\ngCnBQoIAOvbyyy//fdWqVbsmT56cp87zN27cuDkoKOjnRYsWHdF3bADaQjcUgI6tW7duy5dffvma\nOs9tb2+3vnjx4tOmej8EAAZaFgAAoBJaFgAAoBKSBQAAqIRkAQAAKiFZAACASkgWAACgEpIFAACo\n9H/nW9VY2R81tgAAAABJRU5ErkJggg==\n",
"text": [
"<matplotlib.figure.Figure at 0x1073eb610>"
]
}
],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment