{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import seaborn as sn\n", "\n", "import pycollocation" ] }, { "cell_type": "code", "execution_count": 101, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def spence_model(y, n, alpha, **params):\n", " return [(n**-1 - alpha * n * y**(alpha - 1)) / y**alpha] \n", "\n", "def initial_condition(y, n, nL, alpha, **params):\n", " return [n - nL]\n", "\n", "def yL(nL, alpha):\n", " return (nL**2 * alpha)**(1 / (1 - alpha))\n", "\n", "params = {'nL': 1.0, 'alpha': 0.15}\n", "\n", "classic_spence_ivp = pycollocation.problems.IVP(initial_condition, 1, 1, params,\n", " spence_model)" ] }, { "cell_type": "code", "execution_count": 102, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def initial_mesh(yL, yH, num, problem):\n", " ys = np.linspace(yL, yH, num=num)\n", " ns = problem.params['nL'] + np.sqrt(ys)\n", " return ys, ns\n" ] }, { "cell_type": "code", "execution_count": 103, "metadata": { "collapsed": false }, "outputs": [], "source": [ "bspline_basis = pycollocation.basis_functions.BSplineBasis()\n", "solver = pycollocation.solvers.Solver(bspline_basis)\n", "\n", "boundary_points = (yL(**params), 10)\n", "ys, ns = initial_mesh(*boundary_points, num=250, problem=classic_spence_ivp)\n", "\n", "tck, u = bspline_basis.fit([ns], u=ys, k=5, s=0)\n", "knots, coefs, k = tck\n", "initial_coefs = np.hstack(coefs)\n", "\n", "basis_kwargs = {'knots': knots, 'degree': k, 'ext': 2}\n", "nodes = np.linspace(*boundary_points, num=249) \n", "solution = solver.solve(basis_kwargs, boundary_points, initial_coefs,\n", " nodes, classic_spence_ivp)\n" ] }, { "cell_type": "code", "execution_count": 104, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 104, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solution.result.success" ] }, { "cell_type": "code", "execution_count": 106, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeUAAAFVCAYAAADR+vcXAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl4VHWC7vFv9soesodAgLCFsIMgAkJABRSbRgkR5KI9\nMqOtw7TjaN+H7sfRaee5zzD2c6envWKjdt/Wq612uzQiuLLJDmEngbCEkJB9I0llr+XcP4JpaduE\nJZU6VXk/f5laOK+/VOqtc+qc38/HMAwDERERcTtfdwcQERGRDiplERERk1Api4iImIRKWURExCRU\nyiIiIiahUhYRETGJayrlmpoaZs+eTUFBwVW3b9u2jczMTJYtW8b777/vkoAiIiJ9hX93D7DZbDz3\n3HMEBwd/5/a1a9fy4YcfYrFYWL58OXPnziUmJsZlYUVERLxZt3vKL774IsuXLycuLu6q2/Pz80lJ\nSSE8PJyAgAAmT55Mdna2y4KKiIh4uy5L+aOPPiI6OpqZM2cC8O3JvxobGwkPD+/8OTQ0FKvV6qKY\nIiIi3q/bUt67dy8rV64kLy+PNWvWUFNTA0B4eDhNTU2dj21qaiIyMrLLjWlGTxERke/X5XfKb7/9\ndud/r1y5khdeeKHzO+PU1FQKCwupr68nODiY7OxsVq1a1eXGfHx8qKrS3rSrxcWFa5xdTGPsehrj\n3qFxdr24uPDuH3RFtyd6fZthGGzatInm5maysrJYs2YNq1atwul0kpmZSXx8/HWHFRERkQ4+vb1K\nlD6RuZ4++bqextj1NMa9Q+Psetezp6zJQ0RERExCpSwiImISKmURERGTUCmLiIiYhEpZRETEJFTK\nIiIiJqFSFhERMQmVsoiIiEmolEVERExCpSwiImISKmURERGTUCmLiIiYhEpZRETEJFTKIiIiJqFS\nFhERMQmVsoiIiEmolEVERExCpSwiImISKmURERGTUCmLiIiYhEpZRETEJFTKIiIiJqFSFhERMQmV\nsoiIiEmolEVERExCpSwiImISKmURERGTUCmLiIiYhEpZRETEJFTKIiIiJqFSFhERMQmVsoiIiEmo\nlEVERExCpSwiImISKmURERGTUCmLiIiYhEpZRETEJFTKIiIiJqFSFhERMQmVsoiIiEmolEVERExC\npSwiImISKmUREREXaGhuZ/eJsut6jn9XdzocDp599lkuXryIj48Pv/jFLxg+fHjn/W+88QYffPAB\n/fr1A+CFF15gyJAhNxBdRETE8zW12jhypoqDpys4XViH0zC4744R1/z8Lkt5+/bt+Pr68u6773Lw\n4EF+9atf8corr3Ten5uby4svvkh6evqN/x+IiIh4sJY2O0fPVXHwdCW5BbU4nAYAQ5IimDoq/rr+\nrS5L+c4772TOnDkAlJSUEBkZedX9ubm5rF+/nurqajIyMnj00Ueva+MiIiKeqK3dwfH8ag6eruRE\nfg12hxOAlPgwpqYnMCUtnrio4Ov+d7ssZQA/Pz/WrFnDV199xUsvvXTVfQsXLmTFihWEhoayevVq\nduzYQUZGxnWHEBERMTub3cGJ/Fqy8yo4dr6adltHEfePDWXqqHimjkogMTrkprbhYxiGcS0PrK6u\nJisri08//RSLxQJAY2MjYWFhALzzzjvU1dXxxBNP3FQgERERs7DZnRw7W8muYyXszymnpc0OQFJs\nKLMmJHP7hGQGJUX02Pa63FPesGEDFRUVPPbYY1gsFnx8fPDx8QHAarWyaNEiNm/eTHBwMPv37ycz\nM7PbDVZVWXsmuXyvuLhwjbOLaYxdT2PcOzTO3+V0GpwuuszBUxUcOVtFU2tHEcdEWMiY0J+poxJI\nSQjr7MPuxi8uLvyat93lnnJraytr1qyhuroau93Oo48+SnNzM83NzWRlZbFp0ybeeOMNAgMDmT59\nOqtXr+52g/rlu57+yFxPY+x6GuPeoXHuYBgGF8oaOHCqguzTldQ3tQMQFRbIlLQEpo6KJ7V/RGcR\nX48eK2VX0C/f9fRH5noaY9fTGPeOvj7OpdVN7D9VwYFT5VTVtQIQavFnyqgEbh0Vz/CBUfjeQBF/\n2/WUcrcneomIiHiTmvpWDp6uYP+pCi5VNgIQFODHtNEJ3DoqgdFDovH3c8/cWiplERHxetbmdg7l\nVbL/VAXniusB8PP1YcKwWG5NT2DCsFiCAv3cnFKlLCIiXqqlzc6xc9UcOF3ROamHD5CWEsWt6QlM\nHhlPWHCAu2NeRaUsIiJew2Z3klNQw4FTFRw7V027veNa4kGJ4UxLT2DqqAT6hQe5OeX3UymLiIhH\nczoNzlyq48Cpcg7lVdF85VrihOgQpqUncGv6zU/q0VtUyiIi4nEMw6Cwwsr+3AoOnK6gvvEvlzDd\nPn4gt6YnMCgh/IYuYXInlbKIiHiM6roW9p+qYF9uOWU1zUDHJUyzxvdnWnoCIwZG4evrWUX8bSpl\nERExtaZWG4fyKtmXU87ZK2dO+/v5MiUtnmmjExibGuO2S5h6mkpZRERMx+5wciK/hn255Rw/X43d\n0THPVVpKFLeNTmTyyHhCLN5XYd73fyQiIh7JMAzySxrYm1tO9umKzjmn+8eGctvoBKalJxITaXFz\nStdSKYuIiFtV1DazL7ecfbl/meoyMjSQeVMGMn1MIgPjwzzuhK0bpVIWEZFe19DcTvbpSvbllnOh\ntAHomOryttGJ3DYmgfRB0R59wtaNUimLiEivaLc5OHa+mn055eR8M8OWD4wZEs1tYxKZNDzOFFNd\nupNKWUREXMYwDM5eqmNPTjmHz1TS0uYAYFBCOLeN7pjYIzLMvDNs9TaVsoiI9Liquhb25pSz52QZ\n1fUd3xPHRAQxd9IApo1OJDk21M0JzUmlLCIiPaKlzc6hM5XsPVnOmUt1QMf3xDPGJDJ9bBIjU25+\nbWJvp1IWEZEb5jQM8govs+dkGYfPVtFu61gAIi0lihljk5g8Mg5LoKrmWmmkRETkupXXNrPnZBn7\ncsupbWgDID4qmOljE5k+OpHYqGA3J/RMKmUREbkmza02Dp6uZE9OGfklHZcxWQL9mDU+ieljkhg+\nILLPXE/sKiplERH5Xg6nk9yCy+zNKePI2WrsDic+wOgh0cwYk8jEEXEEBfTty5h6kkpZRES+o6Sq\nkT05HbNsfbMsYmJ0CDPGJnLb6ESiI7x7ukt3USmLiAjQcXj6wKkKdp0o42K5FYCQIH/mTExm+thE\nUpMidHjaxVTKIiJ9mNNpcPpiLbtOdJw9bbM78fXxYdzQGGaMTWLCsBgC/HV4ureolEVE+qCa+lb2\nnCxj76kKKmubAUiIDuH2cUlMH5NIlGbZcguVsohIH2GzOzl6ropdJ8o4VVCLQcfZ0zPHJjFznM6e\nNgOVsoiIlyuqsLLrRBn7c8s71ygelhzJzHFJ3D0zlSZrq5sTyjdUyiIiXqip1cb+3Ap2nyijsKLj\npK2IkAAW3JrCzLFJ9L8y93SIJUClbCIqZRERL+E0DE4XXmb3iTIOn6nC7ug4aWvCsFhuH5fE2KEx\n+Pv5ujumdEGlLCLi4WrqW9l9sozdJ8qoaejY602IDmHWuCRu00lbHkWlLCLigewOJyfya/j6WCk5\nF2ow6FiRaebYJG4fn8SwZJ205YlUyiIiHqSyroVdx0vZfaKM+qaOmbZS+0cwa3x/pqTFExykt3VP\npt+eiIjJ2R1Ojp6rZuexEnIvXgYgOMifOyYNYNaE/gyMD3NzQukpKmUREZMqr21m5/FS9pwsw9ps\nA2D4gEhmje/PLWnxWgjCC6mURURMxGZ3cPhsFTuPlZJXVAdAqMWfeVMGcvv4/iRfuZRJvJNKWUTE\nBEqrmzr3ir+Z4CMtJYpZE/ozeUSc5p/uI1TKIiJu0m5zkJ1Xyc7jpZwrrgcg/MoEH7PG9ycxOsTN\nCaW3qZRFRHpZSVUjO46Vsi+nnOa2jr3i0YP7MWtCMhOHx2qCjz5MpSwi0gtsdieHz1ay40gJZ6/s\nFUeGBrJw0iBuH9+f+KhgNycUM1Api4i4UFVdCzuOlbD7xF/OoE4f3I85E5MZP0x7xXI1lbKISA9z\nOg1O5New/WhJ52xboRZ/5k8dSMaEZBL0XbF8D5WyiEgPqW9sY+eJMnYeK6GmoQ2Aof0jyJiYzJS0\neAJ1XbF0Q6UsInITDMMgr6iO7UdLOHq2CofTICjAj4wJ/cmYmExKQri7I4oHUSmLiNyA5lYbe06W\ns+NYCWU1zQAkx4UyZ2Iyt41O1BzUckO6fdU4HA6effZZLl68iI+PD7/4xS8YPnx45/3btm3jlVde\nwd/fnyVLlrB06VKXBhYRcaeCsga2Hy3h4KkK2u1O/P18mJaeQMbEZIYP0MpMcnO6LeXt27fj6+vL\nu+++y8GDB/nVr37FK6+8AoDNZmPt2rV8+OGHWCwWli9fzty5c4mJiXF5cBGR3mKzOzmUV8nWI8Vc\nKG0AIC7KQsaEZGaMSyIiJNDNCcVbdFvKd955J3PmzAGgpKSEyMjIzvvy8/NJSUkhPLzjO5PJkyeT\nnZ3NggULXBRXRKT31Da0suNYCV8fK8XabMMHmDAsljmTkhk9JBpf7RVLD7umLz38/PxYs2YNX331\nFS+99FLn7Y2NjZ2FDBAaGorVau35lCIivcQwDM5eqmPr4WKOnK3GaRiEWvxZMDWFjEnJmuRDXOqa\nz0RYu3YtzzzzDFlZWXz66adYLBbCw8NpamrqfExTU9NVe9J/S1yczkTsDRpn19MYu15vjnFrm50d\nR4rZvKeAi2Udh6iH9I9g4YxUZk9KxhLovSdu6bVsHt2+yjZs2EBFRQWPPfYYFosFHx+fzhMZUlNT\nKSwspL6+nuDgYLKzs1m1alWX/15VlfakXS0uLlzj7GIaY9frrTGuuNzM9iMl7DpRRkubHT9fH6aO\nimfupAGdJ25Z61vw1t+2Xsuudz0fenwMwzC6ekBraytr1qyhuroau93Oo48+SnNzM83NzWRlZbF9\n+3bWrVuH0+kkMzOTBx98sMsN6pfvevojcz2Nseu5coydhkHOhVq2HSnmZH7HjFsRoYFkTOjP7AnJ\n9AsPcsl2zUivZdfr0VLuafrlu57+yFxPY+x6rhjj5lYbu0+Use1oCZWXWwAYlhzJ3MnJ3DIyvk/O\nQ63XsutdTyl775ckIiJXlFY3seVwMXtzymi3OfH382Xm2CTumDyAQYn6PlXMQ6UsIl7JaRjkFtTy\nVfYlcgpqAYiJCGLOjAHcPi6JcF1bLCakUhYRr9LW7mBvThlbDhd3Tn85YkAkd00ZyIThsfj59r1D\n1OI5VMoi4hVq6lvZdqSYr4+V0nzlLOrpYxK565aBOkQtHkOlLCIeyzAM8ksa+PLQJY6cqcJpGISH\nBLBoxmDmTEwmMqzvnEUt3kGlLCIex+5wkp1XyZZDlygo6zhzeGB8GHfdMpBb0+MJ8Ne6xeKZVMoi\n4jGsze3sOFbKtiPF1De24wNMHB7LvCkDGTEwSis0icdTKYuI6ZVWN/FldhH7ciuw2Z1YAv2YN2Ug\ncycP0FzU4lVUyiJiSoZhkFd4mc8PFnEivwaA+Khg7rhlADPHJhEcpLcv8T56VYuIqdgdV9YuPlpC\nfnE9AMMGRDJ/SgoTh8fi66tD1OK9VMoiYgotbXa+PlbKlsOXqG1ow9cHbhkZx/ypKQxN7nr1ORFv\noVIWEbeqbWjlq0OX2Hm8lJY2B0EBftwxeQDL5qfh53S6O55Ir1Ipi4hbFJZb+eJgEQdPV+I0DCLD\nArln2iBmT0gmLDiAuJhQLZQgfY5KWUR6jdMwOJlfwxcHi8grqgMgOS6UBVNTmDoqgQB/TYEpfZtK\nWURczmZ3si+3nC8OFnXORz16cD/m35rC6MHRur5Y5AqVsoi4zDcnb32ZXURdYzt+vj7MGJPIvKkp\nDIwPc3c8EdNRKYtIj6tvamfLoUtsO1JCS5udoEA/FkxN4a4pA+kXrvmoRb6PSllEekzl5WY+P3iJ\n3SfKsDucRIQEcPesVOZMSibUEuDueCKmp1IWkZtWWG7lswOFZOdVYhgQF2VhwdQUZoxNIjBAi0OI\nXCuVsojckG+mwfz0QBG5BbUApMSHcfe0QdySFoefr86kFrleKmURuS5Op8GRs1V8ur+Qi+Ud1xGn\npURxz7RBjB6iM6lFboZKWUSuyTeXNX12oIiK2mZ8gMkj4rh72iBS+0e4O56IV1Api0iX2todfH28\nlM8PFHZe1nT7uCQW3JpCUkyou+OJeBWVsoj8Tc2tdrYfLeaLg5dobLERFODH/KkDmTclRZc1ibiI\nSllErtLYYuOr7EtsOVxMS5ud4CB/fjB9MHdNGUhYsC5rEnEllbKIAFDf2MYXBy+x/WgJbTYHYcEB\nLJmdypyJAwix6K1CpDfoL02kj6upb+WzA4XsPN4x4UdUWCD3zUpl9vj+BAXqGmOR3qRSFumjKmqb\n2by/kH055TicBrGRFu6ZNogZY5O0WpOIm6iURfqYkqpGNu0r5ODpCgwDEqNDWHjbIG5NT8DfT2Us\n4k4qZZE+oriqkY17LnIorxKAAXFh3Dt9ELeMjMfXVxN+iJiBSlnEy/11GQ9KDGfRjMFMGBar2bdE\nTEalLOKliisb2bingENnqgAYnBjOD2cOYdzQGJWxiEmplEW8jMpYxHOplEW8hMpYxPOplEU83KUr\nZXz4ShkPSeoo47GpKmMRT6NSFvFQKmMR76NSFvEwZTVNbNhVQPaVs6lVxiLeQ6Us4iGq6lrYuKeA\nvTnlGEbHpU333a4yFvEmKmURk7tsbWPT3ovsPF6Kw2mQHBvK4ttTmTRC1xmLeBuVsohJNTS38+m+\nQrYfLcFmdxLfL5jFM4cwdVSCZuAS8VIqZRGTaWq18cXBIr7KLqbN5iAmIogfzBjC9DGJmptaxMup\nlEVMorXdzleHivniQBHNbXYiQwPJzBjKrPH9tWqTSB+hUhZxs3abg+1HS9i8r5DGFhuhFn+WzhnK\n3EkDCArQesYifYlKWcRNHE4nu06UsXF3AXWN7QQH+bF45hDumjKQ4CD9aYr0RV3+5dtsNn7+859T\nWlpKe3s7jz/+OHPnzu28/4033uCDDz6gX79+ALzwwgsMGTLEtYlFPJxhGBw+U8VHOy9QXttMoL8v\n90wbxIJbUwgLDnB3PBFxoy5L+ZNPPiE6Oppf/vKX1NfXs3jx4qtKOTc3lxdffJH09HSXBxXxBnmF\nl3l/Rz4FZQ34+viQMTGZRTMGExUW5O5oImICXZbyggULmD9/PgBOpxM/v6u/38rNzWX9+vVUV1eT\nkZHBo48+6rqkIh6sqMLKB1/nk3OhFoBb0uK5f1YqidEhbk4mImbSZSmHhHS8YTQ2NvLkk0/y1FNP\nXXX/woULWbFiBaGhoaxevZodO3aQkZHR5Qbj4sJvLrFcE42z613LGJfXNPGHz/P4+mgxhgHjhsXy\n8MJ0RqT064WEnk+v496hcTYPH8MwjK4eUFZWxurVq1mxYgX333//Vfc1NjYSFhYGwDvvvENdXR1P\nPPFElxusqrLeZGTpTlxcuMbZxbob44bmdjbtucj2oyU4nAYp8WFkzhnK6MHRmoXrGul13Ds0zq53\nPR96utxTrq6u5pFHHuH5559n2rRpV91ntVpZtGgRmzdvJjg4mP3795OZmXljiUW8RGu7nS8PXuKz\ng0W0tTuIi7Jw36zUjlm4VMYi0o0uS3n9+vVYrVbWrVvHunXrAMjKyqKlpYWsrCyefvppHnroIQID\nA5k+fTqzZs3qldAiZuNwOtl9oow/7yqgoamdiJAAMmcPZfaE/pqFS0SuWbeHr3uaDpO4ng5Hud43\nY2wYBicv1PL+9vOUVDcRGODLgqkpzJ+aomuNb5Jex71D4+x6PXb4WkS+X1GFlT9tP8+pi5fxAW4f\nl8R9s1J1eZOI3DCVssh1umxt452t59maXYQBjBkSzdI5wxgYH+buaCLi4VTKIteotd3O5weK+Pxg\nEe02JwPiQsmaM4wxqTHujiYiXkKlLNINp9Ng14lSNuwqoL6pncjQQB67L53xg/tpXWMR6VEqZZEu\nnLxQw5+2n6ekquMkrkUzBrPg1hQGJvfTyTEi0uNUyiJ/Q1lNE3/cdp4T+TX4ADPHJXHf7an0C9dJ\nXCLiOiplkW9pbrWxcc9Fth4uxuE0SEuJYtkdw0lJ0DSEIuJ6KmUR/vK98Uc7L2BtthEbaeGBucOZ\nNCJW02KKSK9RKUufd6boMu9uOUdRZSNBAX4smZ3KvCkDCfD36/7JIiI9SKUsfVZ1fQvvb88nO68S\ngBljErl/9lB9bywibqNSlj6nrd3BZwcK+exAETa7k9T+ETx45whS+0e4O5qI9HEqZekzDMPgwKkK\n3t+Rz2VrG1FhgSzNGMato7WCk4iYg0pZ+oRLlY28/eUZzhXX4+/ny73TB3HPtEFYAvUnICLmoXck\n8WrNrXY27LrAtiMlOA2DSSPieGDuMOKigt0dTUTkO1TK4pUMw2BvTjnv78inoamd+H7BrLhrBGM1\nT7WImJhKWbzOtw9VB/r7cv+sVOZPTSHA39fd0UREuqRSFq/x14eqJ4+I44E7hhEbqUPVIuIZVMri\n8XSoWkS8hUpZPFpJVSP/7wsdqhYR76BSFo/UZnPwyZ6LfHGwCIfTYOLwWJbfOVyHqkXEo6mUxeOc\nvFDDW1+cobq+lZiIIFbMG8mEYbHujiUictNUyuIx6hrbeHfLObLzKvH18WHBrSn8cMYQggK1cISI\neAeVspie02mw41gJH36dT0ubg9T+ETw0f6TWOBYRr6NSFlMrqrDy5udnKChrIDjIn5XzRzJ7Qn/N\nVS0iXkmlLKbU2m7n490FfJVdjNMwmDoqnuV3DCcyTMsqioj3UimL6eRcqOHNz89Q09BKbKSFh+aP\nZIyuORaRPkClLKbR2GLjj1vPsSenHF8fH+6ZNogfzBhMUIBO5BKRvkGlLG5nGAaHz1Tx9pdnaGi2\nkZIQxiP3jNKJXCLS56iUxa0uW9t4+8szHD1Xjb+fL5kZQ5k/dSB+vpqRS0T6HpWyuIVhGOw6UcYf\nt52npc3OiIFR/OjuNBKjQ9wdTUTEbVTK0usq61p487M8ThdexhLop8ucRESuUClLr3E6DbYcusRH\nOy/QbncybmgMD80fSXSExd3RRERMQaUsvaK8tpnfbT5FfkkDYcEB/OjuNG5NT8BHe8ciIp1UyuJS\nTsNg6+FiPtyRT7vdyZS0eFbMG0FESKC7o4mImI5KWVymqq6F/7v5NGcu1REWHMCqe9OZkhbv7lgi\nIqalUpYeZxgGO46V8qdt52mzOZg4PJaHFqQRGaq9YxGRrqiUpUfVNrTy+8/yyC2oJSTIn3+4N51p\no/XdsYjItVApS48wDIM9J8t5d+tZWtocjE2N4Ud3p9EvXAtIiIhcK5Wy3LS6xjbe/CyP4/k1WAL9\n+NHdadw+Lkl7xyIi10mlLDflUF4lb36eR1OrnfTB/fi7u0cRE6nrjkVEboRKWW5IS5udd7acZc/J\ncgL9ffkf80YwZ2Ky9o5FRG6CSlmu2/niel77JJfq+lYGJYbz6A/SSYoJdXcsERGPp1KWa2Z3OPlk\nz0U27bsIBiy8bRA/nDkEfz+t6CQi0hO6LGWbzcbPf/5zSktLaW9v5/HHH2fu3Lmd92/bto1XXnkF\nf39/lixZwtKlS10eWNyjvLaZ1z/JpaDMSkyEhX/4QTojBka5O5aIiFfpspQ/+eQToqOj+eUvf0l9\nfT2LFy/uLGWbzcbatWv58MMPsVgsLF++nLlz5xITE9MrwaV3GIbB18dLeW/rOdptTm4bnciKu0YQ\nYtFBFhGRntblO+uCBQuYP38+AE6nEz8/v8778vPzSUlJITw8HIDJkyeTnZ3NggULXBhXelNji43f\nf3qao+eqCQny55EfjmLqqAR3xxIR8VpdlnJISMeC842NjTz55JM89dRTnfc1NjZ2FjJAaGgoVqvV\nRTGlt50pusxrn5zisrWNtJQo/v7edC2xKCLiYt0egywrK2P16tWsWLGChQsXdt4eHh5OU1NT589N\nTU1ERkZ2u8G4uPBuHyM370bH2eE0+NOWs7z3ZR74+LDy7lEsmTscP19d6vTX9Fp2PY1x79A4m0eX\npVxdXc0jjzzC888/z7Rp0666LzU1lcLCQurr6wkODiY7O5tVq1Z1u8GqKu1Nu1pcXPgNjfNlaxuv\nbczlzKU6YiKCeHTRaIYPiKK2ptEFKT3bjY6xXDuNce/QOLve9Xzo6bKU169fj9VqZd26daxbtw6A\nrKwsWlpayMrKYs2aNaxatQqn00lmZibx8VqWz1MdP1/N7zafprHFxqQRcfzdPWmEWgLcHUtEpE/x\nMQzD6M0N6hOZ613PJ1+b3cmHX+fzZfYl/P18WX7HMDI0M1e3tHfhehrj3qFxdr0e21MW71ZxuZn1\nH+dSWG4lKSaEH/9wDAPjw9wdS0Skz1Ip91GH8ir5v5+eprXdwcxxSay4cwRBgX7dP1FERFxGpdzH\n2B1OPtjRcbg6MMCXf/hBOreNTnR3LBERQaXcp1y2tvGbDTmcL6knKSaEJ+4bS3KsFpIQETELlXIf\nkXuxltc25mJttjF1VDw/ujsNS6B+/SIiZqJ3ZS/nNAw27b3Ix7sK8PX10brHIiImplL2Yo0tNl77\nJJecC7XERATx+OKxpPaPcHcsERH5HiplL3WhtIFXNpyktqGNsakx/MMP0gkL1mQgIiJmplL2QlsO\nFrLug+M4nAb3zUpl4W2D8NXhahER01MpexG7w8l7W8+x7UgJoRZ/HvvhaMYM0frWIiKeQqXsJRqa\n2nllQw5nL9UxOCmCH/9wNPFRwe6OJSIi10Gl7AUKyhp4+aOTXLa2ccvIOP7nw1NpbGhxdywREblO\nKmUPt+dkGW9+fgaHw8mS2ancM20QwUH+aLFFERHPo1L2UHaHkz9tP8+WQ8UEB/mz+v6xjBuq749F\nRDyZStkDWZvb+c2GHPKK6kiKCeEnS8aREB3i7lgiInKTVMoepqS6iV+/f5zq+lYmDo/l7+9NJzhI\nv0YREW+gd3MPcvJCDes/zqGlzcGiGYNZNHOIrj8WEfEiKmUPsfVwMe9sOYufry+PLkpnWrqWWxQR\n8TYqZZONJNXEAAAOHklEQVRzOJ28s+Uc24+UEBESwD8tGcfQ5Eh3xxIRERdQKZtYc6uN32zIIffi\nZQbEhfKTzHHERmpCEBERb6VSNqnKy838+oMTlNU0M35oDI8uGq0TukREvJze5U0ov7SeX79/gsYW\nG/OnDmRpxjB8fXVCl4iIt1Mpm8zRs1W8ujEXm8PJQ/NHkjEx2d2RRESkl6iUTWTr4WLe+eosAQG+\n/GTJOMYPi3V3JBER6UUqZRNwGgYf7Mjn8wNFRIQE8OTS8QxJinB3LBER6WUqZTez2R38bvNpDp6u\nJDE6hKeyxhOnJRdFRPoklbIbNbbYePnDE5wtrmf4gEj+ack4woID3B1LRETcRKXsJrUNrfzXn45T\nWt3ElLR4/v7eUQT4+7k7loiIuJFK2Q3Ka5v53+8dpaahjXlTBpI1d5jmsBYREZVyb7tY3sB//fE4\njS02lsxO5Z5pg/BRIYuICCrlXnW68DIvfXiCdpuDhxeMZPYEXYMsIiJ/oVLuJYfPVPLqxlwAHv/h\nGG5Ji3dzIhERMRuVci/YebyUNz/PIzDAj3+6fyzpg6PdHUlERExIpexinx0o5P3t+YQFB/BUliYF\nERGR76dSdhHDMPh4dwEb91wkOiKIpx+YQFJMqLtjiYiIiamUXcAwDD74Op/P9hcRF2Xhp8snah1k\nERHplkq5hxmGwbtbzrHlcDGJ0SH8dPlE+oUHuTuWiIh4AJVyD3IaBm9/cYYdx0pJjgvlmWUTiQwN\ndHcsERHxECrlHuJ0Gvz+09PsySknJSGMpx+YQHiICllERK6dSrkH2B1OfrvpFAdPV5LaP4KnssYT\natHCEiIicn1UyjfJ7nDy6se5HD5bxfABkfzz0vEEB2lYRUTk+qk9boLD6eS1jR2FnJYSxZOZ4wkK\n1EpPIiJyY1TKN8jpNPjtptMcOlPFyIFRPLl0PEEBKmQREblxvtfyoOPHj7Ny5crv3P7GG29w7733\nsnLlSlauXElBQUGPBzQjp9Pgd5tPc+BUBcMGRPLk0nEqZBERuWnd7im//vrrbNy4kdDQ785GlZub\ny4svvkh6erpLwpmR0zB44/M89uWWM7R/BE8tHY8lUAccRETk5nW7pzxo0CBefvllDMP4zn25ubms\nX7+eBx98kNdee80lAc3EuHId8u4TZQxODOepLJ3UJSIiPafbUp43bx5+fn/70OzChQt54YUXePPN\nNzl8+DA7duzo6XymYRgGf/jqLDuOlZISH8a/PDCBEF32JCIiPeimdvMefvhhwsLCAJg9ezanTp0i\nIyOjy+fExYXfzCbdwjAMfrcxl21HShicFMH/enwGESafqcsTx9nTaIxdT2PcOzTO5nHDpWy1Wlm0\naBGbN28mODiY/fv3k5mZ2e3zqqqsN7pJt/l4dwEf7y6gf2wo/5w5jrbmNqqa29wd63vFxYV75Dh7\nEo2x62mMe4fG2fWu50PPNZeyj48PAJs2baK5uZmsrCyefvppHnroIQIDA5k+fTqzZs26/rQm91X2\nJT7eXUBclIVnlk0w/R6yiIh4Lh/jb53B5UKe9Ilsz8kyfrf5NJFhgfzsf0wmPsozll/UJ1/X0xi7\nnsa4d2icXe969pSv6Trlvujo2Sp+/2keoRZ/nn5ggscUsoiIeC6V8t9w+mItv/k4hwB/X/556XgG\nxIW5O5KIiPQBKuW/UlDWwEsfnQRg9ZKxDE2OdHMiERHpK1TK31JZ18Kv3z9Ou83Boz8YzejB0e6O\nJCIifYhK+YqG5nZ+9cdjNDTbWHHXCG5Ji3d3JBER6WNUykCbzcFLH5yg4nILC28bxNxJA9wdSURE\n+qA+X8oOp5NXP87lQmkDt41O5P5Zqe6OJCIifVSfLmXDMHj7y7McO1/N6MH9+Lt70jonSREREelt\nfbqUN+0r5OsrC0w8cd9Y/P369HCIiIib9dkWOni6gj/vvEBMRBD/rCUYRUTEBPpkKeeX1vO7zaex\nBPrx5NLxRIUFuTuSiIhI3yvl6voW/s8HJ7A7nDy+eIxm6xIREdPoU6Xc0mbn1x+coKHZxoN3jmBs\naoy7I4mIiHTqM6XscDr5zcc5lFQ1ccekAdwxWdcii4iIufSZUn5v63lyLtQyJjWaZXcOc3ccERGR\n7+gTpbzzeClbDxeTHBvKjxeNwc+3T/xvi4iIh/H6djpfXM9bX5wh1OLPP2WOI8SiS59ERMScvLqU\nL1vbWPfnkzgNgx8vHkN8VLC7I4mIiHwvry1lm93Byx+dpL6pnQfmDNMyjCIiYnpeWcqGYfD/vjhD\nQVnHIhN3TRno7kgiIiLd8spS3nK4mD0nyxmcGM7DC0ZqkQkREfEIXlfKZ4ou88et54kIDWT1/WMJ\nDPBzdyQREZFr4lWlXN/Yxm8+zsXHB55YPIboCIu7I4mIiFwzryllh9PJqxtzaWhqJzNjKCMGRrk7\nkoiIyHXxmlLesKuAvKI6Jo2IY55O7BIREQ/kFaV8Ir+azfsKiYuy8Mg9aTqxS0REPJLHl3J1fQuv\nf3IKfz9fnlg8lhBLgLsjiYiI3BCPLmW7w8lvNuTS1GpnxV3DGZQY7u5IIiIiN8yjS/mP2853ThAy\na3x/d8cRERG5KR5bytl5lZ0rPz00XxOEiIiI5/PIUi6vbeb3n54mKMCPxxePIShQE4SIiIjn87hS\nbrM5eOXPJ2ltd/Cju9PoHxvq7kgiIiI9wuNK+e0vz1Bc1cScScncmp7g7jgiIiI9xqNKedfx0s6F\nJpbNHe7uOCIiIj3KY0q5qMLK21+dJSTIn8cXjyHA32Oii4iIXBOPaLaWNju/2ZCDze7k7+9NJy4q\n2N2RREREepzpS9kwDH7/6WkqLrdw97QUJgyPdXckERERlzB9KW85VMyhM1WMGBjF/bNS3R1HRETE\nZUxdymeKLvPHbeeJCAngsUWj8fM1dVwREZGbYtqWq21o5ZUNOfj4wBP3jaVfeJC7I4mIiLiUKUvZ\nZnew7s8nsTbbWHbHcEYMjHJ3JBEREZczXSkbhsFbX5yloMzKjLGJzJ2U7O5IIiIivcJ0pfz5gSJ2\nnyxjcGK4FpoQEZE+5ZpK+fjx46xcufI7t2/bto3MzEyWLVvG+++/f9Nhdp0o5f0d+fQLD2L1/WMJ\n8NdCEyIi0nf4d/eA119/nY0bNxIaevXCDzabjbVr1/Lhhx9isVhYvnw5c+fOJSYm5oaCfJV9ife2\nniPU4s/TD0wgOsJyQ/+OiIiIp+p2T3nQoEG8/PLLGIZx1e35+fmkpKQQHh5OQEAAkydPJjs7+7o2\nbhgG54vrWf9xDu9uPUdEaCDPLJuolZ9ERKRP6nZPed68eRQXF3/n9sbGRsLDwzt/Dg0NxWq1XtfG\ntxwu5t0t5wAYEBfGTzLHEhupKTRFRKRv6raUv094eDhNTU2dPzc1NREZGdnt8+Li/lLkD96dzoN3\np99oBOnCt8dZXENj7Hoa496hcTaPGz77OjU1lcLCQurr62lvbyc7O5sJEyb0ZDYREZE+5Zr3lL+5\nNGnTpk00NzeTlZXFmjVrWLVqFU6nk8zMTOLj410WVERExNv5GH99BpeIiIi4hekmDxEREemrVMoi\nIiImoVIWERExCZWyiIiISfRKKTudTp577jmWLVvGypUrKSoq6o3N9ik2m42f/vSnrFixgqVLl7Jt\n2zZ3R/JqNTU1zJ49m4KCAndH8Uqvvvoqy5YtY8mSJfz5z392dxyv43Q6+dnPfsby5ctZsWIFFy5c\ncHckr/Lt9SIKCws7x/nf/u3fvjM75l/rlVLesmULNpuN9957j2eeeYa1a9f2xmb7lE8++YTo6Gj+\n8Ic/8Nvf/pZ///d/d3ckr2Wz2XjuuecIDtbsc65w4MABjh49ynvvvcdbb73FpUuX3B3J6+zevZuW\nlhbeffdd/vEf/5H//u//dnckr/H666/z7LPPYrPZAPiP//gP/uVf/oU//OEPGIbB1q1bu3x+r5Ty\nkSNHuP322wEYP348OTk5vbHZPmXBggX85Cc/ATo+Bfv5aYUtV3nxxRdZvnw5cXFx7o7ilfbs2cPI\nkSN54okn+PGPf8zcuXPdHcnrWCwWrFYrhmFgtVoJCAhwdySv8dfrRZw6dYopU6YAMGvWLPbu3dvl\n8294ms3r0djYSFhYWOfPfn5+OJ1OfH31lXZPCQkJATrG+sknn+Spp55ycyLv9NFHHxEdHc3MmTN5\n9dVXuz0UJdevtraWsrIyXn31VS5dusTjjz/O559/7u5YXmXSpEm0t7ezYMEC6urqWL9+vbsjeY2/\nXi/i2+8RISEh3a4R0SutGBYWdtU82Spk1ygrK+Phhx9m8eLFLFy40N1xvNJHH33E3r17WblyJXl5\neaxZs4bq6mp3x/Iq/fr1Y+bMmfj7+zNkyBCCgoKora11dyyv8tvf/pZJkybxxRdf8PHHH7NmzRra\n29vdHcsrfbvrmpqaiIiI6Prxrg4EHZ/Kdu7cCcCxY8cYOXJkb2y2T6muruaRRx7hpz/9Kffff7+7\n43itt99+m7feeou33nqLtLQ0/vM//5PY2Fh3x/IqkydPZteuXQBUVFTQ0tJCv3793JzKu7S0tBAa\n2rFEbkREBDabDafT6eZU3mnUqFEcPHgQgJ07d3LLLbd0+fheOXx91113sWfPHpYtWwZ0fPEtPWv9\n+vVYrVbWrVvHunXrgI5Pw0FBQW5OJnJ9MjIyyM7OJjMzE6fTyfPPP9859770jFWrVvGzn/2MBx98\nELvdztNPP43FYnF3LK/yzWt2zZo1/Ou//is2m42hQ4eyYMGCrp+nua9FRETMQV/sioiImIRKWURE\nxCRUyiIiIiahUhYRETEJlbKIiIhJqJRFRERMQqUsIiJiEv8fxjqIYR17jqkAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "n_soln, = solution.evaluate_solution(ys)\n", "plt.plot(ys, n_soln)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 107, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nUf8/kjz6HqC1BhoAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "n_resids, = solution.evaluate_residual(ys)\n", "plt.plot(ys, n_resids)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 108, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAe8AAAFYCAYAAAB6RnQAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XtcVPe97//XXGCAGUDAEVAE7xijwWDMVZImjUST3tOk\npCntzu7uebRnd+9Yd82OjbG1aX+S5HQfc2o97c+m3btpGtrspolN0qY1NTESo5XIKFG8K4o3Lspl\nuA3MnD8GRlESYZhhWMP7+XjkAQtZaz75Krzn+13f9f2afD6fDxERETEMc6QLEBERkcFReIuIiBiM\nwltERMRgFN4iIiIGo/AWERExGIW3iIiIwQxbeNfV1XHvvfcO18uJiIhErWEL72effZYJEyYM18uJ\niIhErWEJ79/85jd86lOfwmazDcfLiYiIRDVrsCe6XC7+1//6Xzz33HN4vV6+973vsX//fmJiYvjh\nD39IdnY2zzzzDMeOHaO+vp59+/axa9cu3njjDe66665Q/j+IiIiMKkGF9/r169mwYQN2ux2AjRs3\n4vF4KC0txeVyUVJSwrp163j44Yf7nPfII48ouEVERIYoqGHznJwc1q5dS++y6OXl5RQUFACQl5dH\nZWVlv+c99dRTQZYpIiIivYIK78LCQiwWS+DY7XbjcDgCxxaLBa/XO/TqRERE5DIhmbDmcDhwu92B\nY6/Xi9kc/KW10ZmIiMiHC3rC2sXy8/PZtGkTixcvpqKigtzc3CFdz2QyUVvbHIrS5EM4nYlq42Gg\ndg4/tXH4qY2Hh9OZOODvHVJ4m0wmABYuXEhZWRlFRUUArF69eiiXFRERkY9g8o3QMWq9ywsvvZMe\nHmrn8FMbh5/aeHgMpuettc1FREQMRuEtIiJiMApvERERg1F4i4iIGIzCW0RExGBC8pz3SObp6ubI\nqWZON7RyrrmDrm4vJpOJpIQY0pLjmDjOQVpSXOCxNxERkZEuKsPb6/XhOljHO7tOUXmkga7uj16q\nNdkey+zJqeTPcDJnahpWiwYkRERk5Iq68N5XfY7fbDzA8bMtAGQ57czMSSEnPZGURBuxVgvdXi9N\nrR7Onmvl2Olm9h0/T1nlacoqT2OPs1KQN56P52eRlhwX4f8bERGRy0VNeHd7vby0+TB/eq8agJtn\nZ1A4fyLZ6Vd+6N3r83HsdDPb9pzhvQ9O8+dt1fxl+3EWXJPBJ2+erBAXEZERJSrC29PVzY9/v5vK\nIw2MS4nna5+cxdTxyQM+32wyMTkzicmZSdx721S27TnDn7YdY7PrFFs/OMMnbp7EouuzibFqOF1E\nRCLP8OHt9flY/+peKo80MHtKKl//1NUkxMUEfb0Yq5kF12Ry8+wMtn5wmv9+6xB/2HyY9z44TXFh\nLjNzUkJYvYiIyOAZviv50tuH2VF1lhlZyfzL5+YMKbgvZjabuGVOJj/82g3ckT+B0/WtPPXCTp77\nyz48Xd0heQ0REZFgGDq89xxt4PX3jpGeEs83772GGKsl5K+REBfDlwpzWfGV65jgtLPp/Rp++Fw5\nZ8+1hvy1REREBsKw4d3a7uHZ1/ZiNpn4H5+6Gkd8aHrcH2ZyZhIrvnwdt+ZlUn2mhVX/+Xd2VJ0N\n62uKiIj0x7Dh/d9vH+ZccwefumUSkzOThuU1bTEW/mHxVXztE7Po9vpY93Ilfyw7wgjdVVVERKLU\nsIR3VVUVDz74IMuXL2fbtm1Dvt6Zc61srjhJemoCd9+UE4IKB+em2Rk8/pX5pCXF8Yd3jvBff666\n4kIwIiIioTIs4b1r1y6cTicWi4Xp06cHfZ1T9W5qz7fxyjtH8Pp8fLZgcsRWQ5sw1s6KL88jJz2R\nza5T/J/f76KtoysitYiIyOgyLI+KzZs3j7vvvpu6ujqeffZZli1bNuhrtLR5WPnsdrq9/iHq7HQH\n180cF+pSByXZYePfH7yWn77yAbsO1fOj31aw9P65JMQZ/gk8EREZwYLutrpcLoqLiwHwer2sXLmS\noqIiiouLqa72r3L2zDPPsHTpUvbu3YvX6yUpKYnu7uAes2rt6KLb6yMxIYaxyXF88c4ZmEfAZiJx\nsVb+5d453HR1BodPNvG/f1dBa7t64CIiEj5BdRHXr1/Phg0bsNvtAGzcuBGPx0NpaSkul4uSkhLW\nrVvHww8/DMDOnTt54oknsFqtfPOb3wyq0N5JYXOnjeWhu68K6hrhYjGb+eo9/pq2fnCa//27Cr6l\nHriIiIRJUOmSk5PD2rVreeSRRwAoLy+noKAAgLy8PCorK/t8/7XXXsu11147pEJ7J3SP1K07zWbT\nZQG+9AtzibcpwEVEJLSCSpbCwkJOnDgROHa73TgcjsCxxWLB6/ViNgc/mczp7LuhSHvPZO6EhNjL\n/mwk+fd/uJ5nSt9nU/kJnn29ise/esOI3WJ0JLdjNFE7h5/aOPzUxiNLSLqFDocDt9sdOB5qcAPU\n1jb3Oa5v8F+/o8Nz2Z+NNF/8+DTqz7fx/r6zPP2rv/PVe64acSMGTmfiiG/HaKB2Dj+1cfipjYfH\nYN4ghaRLmJ+fz+bNmwGoqKggNzc3FJfto/eet5mRFYL9sZjNfOPTs5mcmcS7laf5/duHI12SiIhE\nkSGFd29vcuHChcTGxlJUVERJSQnLly8PSXEX8/Y8IjbCOrAfyhZr4eH7riE9JZ7X3zvGm+UnrnyS\niIjIAAQ9bJ6VlUVpaSngD/FVq1aFrKj+jPQJa/1JSojlW1+Yy//3qx28sPEA49MSuGpSaqTLEhER\ngxuZM6n64cNYPe9e48bE88+fm4PJBP/3lQ+oPd8W6ZJERMTgjBPePT3vkbAwy2BNzxrDg4UzaGnz\n8OPf76ajU/uBi4hI8AwT3t6e9DYZpuK+PjZ3ArdfO4ETtS08+/pe7UQmIiJBM0wUGrnn3euBO6cz\nIyuZHVVn+cvfj0e6HBERMSjDhLfRZpv3x2ox843PziHJHst/v3WIwyebIl2SiIgYkGHCu3eY2WSA\n57w/SrI9lq99chZer4+fvlKpTUxERGTQDBTe/o9G7nn3unpSKvfcPIm6xnb+80+6/y0iIoNjoPDu\nWWEtGtIb+PSCSf773/tqeWtnTaTLERERAzFMePfsS4LJHB3hbTGb+R+fuhp7nJXSvx3kVL37yieJ\niIhgoPC+0POOcCEhlJoUx1cWzcTT5eXnr+6l2+u98kkiIjLqGSa8e3PNSMujDsR1M8dx46x0jpxq\n4vX3qiNdjoiIGIBhwjsw2zy6shuABwtnMMYRy4YtR6g+o233RETkoxkovP0fjf6oWH/scTE8dPdV\ndHt9rH91D54uDZ+LiMiHM1B4R98974vNmZLGx+aOp6bWzR/fPRrpckREZAQblvA+ePAgK1euZPny\n5Rw4cCCoa3gNuCXoYN13+zRSk2z86b1j1NS2RLocEREZoYYlvF988UXS09OJjY1lwoQJQV0j0POO\n1q43EG+z8qXCXLq9Pv7zz1WBzVhEREQuNizhXV1dTXFxMYsWLeLll18O6hreKJ6wdrG508Yyf+Y4\nDtU0afEWERHpV9Dh7XK5KC4uBsDr9bJy5UqKioooLi6mutr/yNMzzzzD0qVLSU1NJS4ujqSkpKCX\nAvWNgmHzXl+8czoJNiv//dYhGpraI12OiIiMMNZgTlq/fj0bNmzAbrcDsHHjRjweD6WlpbhcLkpK\nSli3bh0PP/wwAJWVlTz++OP4fD4ee+yxoAqN5kfFLpXssHH/HdP4zz9V8fxf9/Mv914T6ZJERGQE\nCarnnZOTw9q1awOBWl5eTkFBAQB5eXlUVlb2+f7Zs2fz5JNP8tRTT5GcnBxUodGwn/dgFFyTSe7E\nMew8UMeuQ3WRLkdEREaQoMK7sLAQi8USOHa73TgcjsCxxWLBG+KlPgP3vEN61ZHLZDLxYOEMzCYT\nv/nrATxd3ZEuSURERoighs0v5XA4cLsvbKzh9Xoxm4c2F87pTLzkNc4BkJwcf9mfRSunM5FPFExm\nw+bDbPngLPffOSPk15fwUzuHn9o4/NTGI0tIwjs/P59NmzaxePFiKioqyM3NHfI1a2v7LhPa1NQG\nQEtL+2V/Fs0K87N4a8dxfvvXfVwzKYW05LiQXNfpTBxV7RgpaufwUxuHn9p4eAzmDdKQuse9M78X\nLlxIbGwsRUVFlJSUsHz58qFctl8XHhUbLQPnfglxVu67fRqdXV5+u+lgpMsREZERIOied1ZWFqWl\npYA/UFetWhWyovpz4VGxsL7MiHTT7AzeqqhhR9VZ9hxtYNak1EiXJCIiEWTAtc1HX3qbTSa+tDAX\nE1D65kG8Xq28JiIymhkmvEfD2uYfJScjkZtnZ3CitoWy3aciXY6IiESQYcI72ncVG4jP3TaVWKuZ\nl945THtnV6TLERGRCDFQePs/jtaeN0BKoo27rs+msaWTN7Yfj3Q5IiISIYYJ79GyMcmVLL4xm2R7\nLH/adoxzzR2RLkdERCLAMOGtnrdfXKyVz946hU6Plz+8czjS5YiISAQYKLx1z7vXgjmZTHDaKdt1\nipralkiXIyIiw8ww4T1aF2npj9ls4t7bpuIDXtqs3reIyGhjmPAebbuKXUne1DSmTUhm54E6Dp1s\njHQ5IiIyjAwU3pqwdjGTycS9t00B4KW31fsWERlNDBPeo32Rlv7kZqcwe3Iqe4+dY8/RhkiXIyIi\nw8Qw4a0Ja/2797apAPz+7cOBNhIRkehmmPBWz7t/ORmJXDdzHEdONfH+/rpIlyMiIsPAMOGte94f\n7rMFkzGZ4JUtRwKz8kVEJHoZKLz9HzXb/HKZaXZunJXOidoWdu6vjXQ5IiISZsMS3v/1X//F8uXL\neeCBB3jhhReCuoZPz3l/pE/cPAmTCTaUHVXvW0Qkyg1LeH/lK1/h+9//PtOnT+eBBx4I6hpa2/yj\nZabZuWFWOsfPtrBT975FRKLasA2bv/rqqxQWFgZ9vobNr+yTN0/CBPyx7IhmnouIRLGgw9vlclFc\nXAyA1+tl5cqVFBUVUVxcTHV1NQBr1qxh6dKlNDY2smPHDhYsWBB0oep5X1lv77v6bAs7D6j3LSIS\nrazBnLR+/Xo2bNiA3W4HYOPGjXg8HkpLS3G5XJSUlLBu3TqWLFkSOKe9vX1IhWpXsYH5xM2T2Lbn\nDBu2HOHa6WPVXiIiUSionndOTg5r164NDM2Wl5dTUFAAQF5eHpWVlZed86Mf/WgIZepRsYEaP9bO\n/KvGUX22Bdeh+kiXIyIiYRBUeBcWFmKxWALHbrcbh8MROLZYLHi93qFXdxHd8x64T9w0CYDXtx7T\nvW8RkSgU1LD5pRwOB263O3Ds9Xoxm4c2F87pTOxzHGvzl5qWZr/sz6QvpzOR+bPS+fueM5xt7mT2\n1LEf+n0Sfmrn8FMbh5/aeGQJSXjn5+ezadMmFi9eTEVFBbm5uUO+Zm1tc5/jtrZOAM6fa8WmzvcV\nLczP4u97zvD8n/ey9P65l/2505l4WRtL6Kmdw09tHH5q4+ExmDdIQwrv3slQCxcupKysjKKiIgBW\nr149lMv268La5iG/dFSalpXMjIljqDzcwLHTzeRk6F2ziEi0CDq8s7KyKC0tBfwhvmrVqpAV1R+t\nsDZ4n7gph/84fp7X3zvGNz4zO9LliIhIiBhubXNl98BdPTmV7HQHO/ad5UxDa6TLERGREDFQePfu\n5630HiiTycQ9N03C54M/bauOdDkiIhIihglv7ecdnHkznIxLiefdytM0ujsjXY6IiISAYcL7Qs87\nwoUYjNlsYuF1E+nq9rLp/RORLkdERELAMOGtnnfwFszJxB5n5W/v19Dh6Y50OSIiMkSGCW8tjxo8\nW6yF2/Mn0NLm4d3K05EuR0REhshA4e3/qJ53cD6en4XVYuIv26sDO7SJiIgxGSi8Ndt8KJIdNm68\nOoMz59pwabtQERFDM0x4e70aNh+qu+ZPBOCN7XpsTETEyAwT3r0Dvep5B2+C08GcKWnsP9HI/upz\nkS5HRESCZJjw9mrCWkgU9vS+X91yOMKViIhIsAwT3pqwFhqzJqWQmZbAOxU1NLZ0RLocEREJgoHC\nWz3vUDCZTNw5L4uubh9vV5yMdDkiIhIEA4W3/6NZS6wN2U2zM7DHWdm0s4aubm+kyxERkUEyTHgH\nZptHuI5oEBdr5c7rc2h0d7Kj6mykyxERkUEalvB+6623WL58OcuWLWPv3r1BXcPn82FC97xD5Z5b\nJmMCNpZrvXMREaMZlvBOSUnh7NmznDlzhoyMjKCu4UXBHUqZY+3kTRvL4ZNNHDrZGOlyRERkEIYl\nvH/3u9/xzDPP8LWvfY233347qGv4fD5NVguxj1+XBcCb6n2LiBhK0OHtcrkoLi4GwOv1snLlSoqK\niiguLqa62r+C1zPPPMPSpUtpaGggPj6elJQUzp8/H9Tr+XzqeYfarBz/Y2M7qs7S1Kq9vkVEjMIa\nzEnr169nw4YN2O12ADZu3IjH46G0tBSXy0VJSQnr1q3j4YcfBqCiooLHHnsMk8nEsmXLgirU5/Np\nL+8QM5lMfOzaCbyw8QBbdp3i7htzIl2SiIgMQFA975ycHNauXRt49rq8vJyCggIA8vLyqKys7PP9\nc+fOpaSkhNWrV5OamhpUoV4fmJTeIXfL7AxiY8y8tbNGu42JiBhEUD3vwsJCTpy4cJ/U7XbjcDgC\nxxaLBa/Xi9kc/C11pzOxz7HFbMZiNl32dQleb1vedm0Wf91ezfH6Nq67Kj3CVUUf/ZsNP7Vx+KmN\nR5agwvtSDocDt9sdOB5qcAPU1jb3Oe70dIPv8q9LcJzOxEBb3jwrnb9ur+blTQfIGZsQ4cqiy8Xt\nLOGhNg4/tfHwGMwbpJDMNs/Pz2fz5s2A//52bm5uKC7bhw/NNg+XnIxEJmcmsetQPXWNbZEuR0RE\nrmBI4d07+3vhwoXExsZSVFRESUkJy5cvD0lxF9Ns8/C6/doJ+EDrnYuIGEDQw+ZZWVmUlpYC/lBd\ntWpVyIrqj2abh9f1V43jt387wDuuk3x6wWSsFsOsnCsiMuoY5je0ZpuHV2yMhVvmZNLU6uH9/bWR\nLkdERD6CYcLb5/Vh1rB5WN02dzwAm10aOhcRGckME95eLY8adplpdmZkJbPn6DnOntfENRGRkcow\n4e3zgUkbgobdrT2973fU+xYRGbGME956VGxYzMsdR7zNypbdp+j2eiNdjoiI9MM44e1D97yHgS3G\nwk1Xp9PY0smuQ/WRLkdERPphmPD2+nyabT5Mbs3rmbimZ75FREYkw4S3f7Z5pKsYHbLTE5mcmciu\nw/U0NLVHuhwREbmEYcLbqxXWhlVB3nh8Ptiy+1SkSxERkUsYJrx9elRsWN1wVTq2GAtbdp3SVqEi\nIiOMgcJbj4oNp3iblfkzx1HX2M6+6vORLkdERC5inPBG97yH2y1zMgAo09C5iMiIYpjw1trmw2/G\nxDE4x8SxY99Z2jq6Il2OiIj0MEx4a7b58DOZTNwyJ5NOj5cdVWcjXY6IiPQYlvB+/fXXeeyxx/je\n975HY2NjUNfQbPPIuGV2JiY061xEZCQZlvB+8803+f73v899993H7373u6CuodnmkZGWHMfMnBQO\nnGjkzLnWSJcjIiIMU3gXFxezYsUKNm3axLlz54K6hk8974hZcE0moIlrIiIjRdDh7XK5KC4uBsDr\n9bJy5UqKioooLi6muroagGeeeYalS5dSW1vLD3/4Q+bPn09mZmZQr+fz+Yxzgz7K5M9wEm+zULb7\nNF6vnvkWEYk0azAnrV+/ng0bNmC32wHYuHEjHo+H0tJSXC4XJSUlrFu3jocffhiA7du3s3z5cjwe\nD6tWrRr06/l8PnyAWTPWIsIWY2H+zHQ2u06y51gDsyenRbokEZFRLajObE5ODmvXrsXXs/JWeXk5\nBQUFAOTl5VFZWdnn+6+//nqefPJJ/uM//oPExMRBv17vAl8aNo+cBXN6h85PR7gSEREJKrwLCwux\nWCyBY7fbjcPhCBxbLBa8IdwLund5TmV35EydkERGagLv76+ltd0T6XJEREa1oIbNL+VwOHC73YFj\nr9eL2Ty0O9RO54UeuqerGwBbrLXP12VoBtuWhTfm8KvX97LneCOLb54cpqqij/7Nhp/aOPzUxiNL\nSMI7Pz+fTZs2sXjxYioqKsjNzR3yNWtrmwOfd3r84e3p6u7zdQme05k46LbMm5yKyQR/evco100f\nG6bKoksw7SyDozYOP7Xx8BjMG6QhhXfvPeiFCxdSVlZGUVERAKtXrx7KZS/Te8/brHHziEpJtDF7\nchq7D9dzss7N+LH2SJckIjIqBR3eWVlZlJaWAv4QD2YW+UAF7nmH7RVkoG6anc7uw/Vs23OGz946\nJdLliIiMSoZ4dLp3VrseFYu8udPGEms1s33vmcDfi4iIDC9DhLdXj4qNGHGxVuZOH8uZc20cO6N7\nYCIikWCI8PbpUbER5fqr0gHYtudMhCsRERmdDBLe/o/qeY8Mc6akEW+zsn3vWS2XKiISAQYJ7557\n3sruESHGamb+TCfnmjvYeyy4jWZERCR4hghv3fMeeW6Zo53GREQixRDhrZ73yDNtQjLpKfGUa7lU\nEZFhZ4jwvrC2udJ7pDCZTNwyJxNPl5ftVWcjXY6IyKhiiPC+MGEtsnVIXzfPzsAEbK3UTmMiIsPJ\nIOGtnvdIlJoUx7SsZA6eaKTR3RnpckRERg2DhLf/o+55jzzzZjjxARUHaiNdiojIqGGI8NY975Er\nf4YTgPL9Cm8RkeFikPD2f9SuYiPP2DHxZKc72Hv0HK3tXZEuR0RkVDBEeGt51JFt3gwn3V4frkN1\nkS5FRGRUMEh4+z9q2Hxkum7mOADe1axzEZFhEbbw3rp1KytWrADg/fff59FHH+XRRx+luXnwO1Gp\n5z2yZabZmZaVzJ4jDdSdb4t0OSIiUS8s4V1dXU1VVRWdnf7Hh1588UW+//3v8/nPf57XX3990Nfz\n6Z73iHdb3nh8wDu7tFyqiEi4hSW8s7OzeeihhwI95u7ubmJjY3E6ndTWDn5Wslc97xHvutxxxNss\nbNl9im6vN9LliIhEtQGHt8vlori4GACv18vKlSspKiqiuLiY6upqANasWcPSpUtpamrqc25cXByd\nnZ2cPXuWsWPHDrpIb2Btc6X3SGWLtXDDrAzONXdQdex8pMsREYlq1oF80/r169mwYQN2ux2AjRs3\n4vF4KC0txeVyUVJSwrp161iyZEm/53/hC1/gu9/9Ll1dXXz/+98fdJGasGYM83KdvLWzht2H67l6\ncmqkyxERiVoD6nnn5OSwdu3awDB4eXk5BQUFAOTl5VFZWdnveU8//TQAV199NatXr+bpp58mPj5+\n0EVqwpoxzMhKJtZqZvfh+kiXIiIS1QbU8y4sLOTEiROBY7fbjcPhCBxbLBa8Xi9mc+huoTudiYHP\nzzb7J7457LY+X5ehCUdbXjPdyY69Z/BZLYxLSQj59Y1I/2bDT20cfmrjkWVA4X0ph8OB2+0OHIc6\nuAFqay88UnbunP+12to6+3xdgud0JoalLWdMSGLH3jNs3lHNbXMnhPz6RhOudpYL1MbhpzYeHoN5\ngxRU4ubn57N582YAKioqyM3NDeYyA+bVPW/DmDMlDYDKww0RrkREJHoNqufdG54LFy6krKyMoqIi\nAFavXh36yi6ie97GMS4lHueYOPYca8DT1U2M1RLpkkREos6AwzsrK4vS0lLAH+KrVq0KW1GX0qNi\nxmEymZg/M53X3zvGu5WnNXQuIhIGBlvbPLJ1yMB8fF4WVouJP28/jrf3noeIiISMQcJbPW8jSUm0\ncdPVGZxpaGXnAe00JiISaoYIb01YM55FN2QD8Gb58QhXIiISfQwR3pqwZjyZaXZyMhI5WNOIp0tr\nnYuIhJJBwtv/UT1vY5k2Ppmubh/Hzuj5UBGRUDJEePdOejIruw1lalYSAAdPNEa4EhGR6GKI8O6d\nr6yet7FMG58MwKGTCm8RkVAyRnj71PM2orTkOJLtsRyqaQz8HYqIyNAZIry9gQlrSm8jMZlMTJuQ\nzPmWTuqb2iNdjohI1DBEeGuRFuOaOqFn6LymKcKViIhED4OEt3reRjWtJ7w3u07S7dUjYyIioWCI\n8O79na8V1oxnyoQk5kxJY++xczz3xj7d+xYRCQFDhLcWaTEus8nE1z99NdnpDja7TrHrUH2kSxIR\nMTxjhHfPR/W8jSneZuVzt04F4NhpLdgiIjJUYQ3vrVu3smLFig89Hiivet6Gl5GWAMDpc60RrkRE\nxPjCFt7V1dVUVVXR0dHR7/FgaHlU4xubFIfVYuZ0vcJbRGSowhbe2dnZPPTQQx96PBi65218ZrOJ\n9JR4zpxr1aQ1EZEhGlR4u1wuiouLAfB6vaxcuZKioiKKi4uprq4GYM2aNSxdupSmptA913thbXOl\nt5GlpybQ1tFNk7sz0qWIiBiadaDfuH79ejZs2IDdbgdg48aNeDweSktLcblclJSUsG7dOpYsWRLy\nIjVsHh0yUnvueze0kuywRbgaERHjGnDPOycnh7Vr1waGPMvLyykoKAAgLy+PysrKfs97+umnP/J4\nILS2eXRIT40H/OEtIiLBG3B4FxYWYrFYAsdutxuHwxE4tlgseMO0gpZXPe+okJnqH7U509BGV7dX\nK66JiARpwMPml3I4HLjd7sCx1+vFbA7d/DenMzHwud0eC8CYMfF9vi5DM9xtaUvwD5WfbWznqdIK\nrGYTT//rrcNaQyTo32z4qY3DT208sgQd3vn5+WzatInFixdTUVFBbm5uKOuitvbCYh7NLf7Hy5qa\n2vt8XYLndCZGpC3tcVbe33cWgFirOer/PiPVzqOJ2jj81MbDYzBvkAYd3r1D1wsXLqSsrIyioiIA\nVq9ePdhLDVhgtrkh1oOTj5KRlhDYYayzy4unq5sYq+UKZ4mIyMUGFd5ZWVmUlpYC/hBftWpVWIq6\nlHYVix7Z6YkcqmkiLclGfVMH7vYuxjgU3iIig2GIvmzvo2KGKFY+0r23TuG7/zCfOVPSAHC3eSJc\nkYiI8QR9z3s4edXzjhoJcTHkZMRgj48BwN3eFeGKRESMxxCd2QuLtES2Dgkde1xveKvnLSIyWMYI\nb9TzjjbsnGjuAAAgAElEQVQJcf5Bn9b2Ljo6u3n+L/tpaGqPcFUiIsZgiPDuXctDa5tHj0DPu83D\nrsP1vPn+CbbsOhXhqkREjMEQ97wDs80N8VZDBsIR7/+n527vwmT2P8ff0Kyet4jIQBgkvP0f1fOO\nHgkX3fPu7nmOv6F58Hu9i4iMRoYIb6/284469rgLPe+Ozm4Azim8RUQGxBDhHZhtjtI7WvSZbd7z\n99vQ5A/vljYPHZ3dpCXHRao8EZERzRB3kX3qeUed2BgzVosJd1sX51s6AWjr6KKto4tfvLaX7/5i\nOx2e7ghXKSIyMhkivL2B/byV3tHCZDJhj4uhtd1Dk/vCcPn5lg4O1jTS2tHFwRONEaxQRGTkMkR4\nB4bNzQrvaJIQZ6Wp1UNz64WFWo6dbqalZ8nUPUcbIlWaiMiIZpDw7u15R7gQCSl7fAxtHV34IDCb\nYffhC4G95+g5vD4fWz84TWOLJrOJiPQyRHh7A8ujKr2jid12Yb7k+LF2AD7o6W2bTFB9ppnX3j3K\n+j/u4dnX90akRhGRkcgQ4a0Ja9Gpd3MSgEmZ/k3om9z+yWv5M5z4gD+8cwSAysMNVB07N+w1ioiM\nRGEL761bt7JixYrA548//jjf/va3qaqqGvS1fOp5R6Xex8UAJmcmBT43AXfkZwWOb83LBODFtw7y\njuskm10nA2/oRERGo7A8511dXU1VVRUdHf77lO3t7TzxxBPs3buXsrIyZs6cOajrBWabh7xSiaTe\nhVoA0lMSiLdZaevowjkmnhkTk0lNspGaGMeX75pJa3sXO/bVcuSU/81fQ1M7nymYEqnSRUQiKix5\nmJ2dzUMPPRQ4vv3222ltbeVXv/oVn/3sZwd9vcCENc1YiyoXD5sn22NJTbQB/vvfFrOZJ756A8se\nmIvZbOKBO2ew6PpsvlQ4g7HJcWwoO8qft1Xj6dKz4CIy+gw4vF0uF8XFxQB4vV5WrlxJUVERxcXF\nVFdXA7BmzRqWLl1KU1NTn3MbGhp44oknePjhh0lNTR10kRo2j04JF/W8kx2xpCT5w3uC0z95Ld5m\nJcZqASAl0cb9d0zjjvwsvnV/HvY4K7/bdJCla8vYtLNm+IsXEYmgAQ2br1+/ng0bNmC3+3+pbty4\nEY/HQ2lpKS6Xi5KSEtatW8eSJUv6nNcbtk8++STnzp3jRz/6EXfeeSd33XXXoIrU2ubRqfeet8Vs\nwhEf06fn/VEy0+x876Hr2bSzhrcranjujX2cb+7gMwWT9QZPREaFAYV3Tk4Oa9eu5ZFHHgGgvLyc\ngoICAPLy8qisrOz3vKeeegrwh/dQqOcdnew924ImO2IxmUzMzE7h/f115E4cc8Vz05Lj+PzHpnLr\n3PH8qHQnf3z3KMfPtvCVRbkkO2zhLl1EJKIGNGxeWFiIxWIJHLvdbhwOR+DYYrHg9XpDX10PPSoW\nnXp73sn2WABuvDqD//NwAalJA9+QZNyYeL7zpXnMzB5DxcE6Vvx8G/uPnw9LvSIiI0VQs80dDgdu\ntztw7PV6MZtDO/fN6UwMfB4T6y/TOTaRpJ5f9DJ0F7dxJMQ74rCYTUwYlzikWpzORJ78l1t5rewI\nz26o5D9+W8G/f3k+11+dEcJqgxfpdh4N1MbhpzYeWYIK7/z8fDZt2sTixYupqKggNzc31HVRW9sc\n+Ly93b/W9bmGFjpaYz7sFBkEpzOxTxtHytIvzGXcmPiQ1HLjTCcJMdew7uXd/PCX2/nK4lwKrhkf\ngiqDF6527ur20t7ZTaenm84uLx2d3XR2ddPp8dLp6abbe+E5+EufiDcBVquZGIt/Z7cLn5uJjTET\nF2slLtaC1WKMhzNHyr/laKY2Hh6DeYM0qPDuvee8cOFCysrKKCoqAmD16tWDucyg6Z539LoqJyWk\n17tmahrLiq5lzYsufvl6Fa3tXdx1fXZIXyOcfD4fDU0dnD3fRl1jG/WN7TQ0ddDc2klzm4eWVg/N\nbR7aOrrCXkuM1UxcrKXnPyvxsRbibFYSbFYc8TE4EmL8H+NjSIyPwR4fQ2JCLI74C08JiEh4DDi8\ns7KyKC0tBfwhumrVqrAVdSnNNpfBmDohmeVfmsePflvBb/92kASblYK8yPbA+9Ph6ebIySaO17ZQ\nU+umpq6Fk3Vu2jr6f3bdYjbhSIghLSmOxIQY4m1WYmPMxFotxMaYscVYiI2xEGs1f2Sv2evz0dXt\nxdPlpavbS1eXD0+3//NOTzftnb3/dQU+rz3fRkdn92W9+A8Tb7OQbLeRbI8l2RHr/9wR2+c4LclG\nQpxG0kSCEZYV1kJNPW8ZrPFj7fzbF+ay+tfl/Oefq3AkxHDtdGdEa+rq9rL/+Hk+ONrA/uPnOXqq\nuc/wttlkIiMtgdmT7aSnJjA2OY605DjSkuJISogl3maJ6M+A1+ej09NNa3sXLW2ewEhAS1vPf60e\nWto9NLd20uT20Oju4ExD60cGfrzNSlpSXOD/dWzyxZ/HY4+z6udepB8GCW9tCSqDN36snSX35/H0\nCzv56SsfsPT+PHKzQztMfyVd3V7e319L+b5adh2qw93uH+42m0zkZCQyY2IyORmJZI11kJ6aQIx1\n5N5nNptMPffDrQN+IqCr20tzqz/IG1s6aXR30tjSwfmWThqa2qlraqe2sY0TtS39nm+LtTA2qedN\nTCDc4wOBn5ignruMToYKb70Dl8GaOj6Zb352Ds/89y7+z+938VjxdVdcBCYUGt2dvL2zhs27TtLQ\n5F/jPyXRxo2zMsiblsa0rGTiYg3x4zckVouZlEQbKYkf/uy9z+fD3d5FfWN74D5/Xc9/9U3+r9XU\nufs9N9ZqZlxqAqmJNjLTEhifZidzrJ3xaQkakpeoZojfHhf2845sHWJMs6ek8Y/3XMX6P+7h/75c\nyYovX4ctNjwTquoa29iw5ShbPzhNt9dHQpyVO6/L4qarM5iUkag3oP0wmUyBiW85Gf3Ptm1t9/jD\nvE+o+4P9XHMHJ862sOtQfZ9zxjhiyUyzM35sz39pCWSOtZOUoMdNxfgMEd4Xhs31i0+Cc9PVGRyu\naeLN90/w67/u46v3zArp9T1d3WwoO8ob26vp6vaRkZrAnddl8cnbpuFubg/pa41GCXExZMfFkJ1+\nebg7nYkcqW7gVL2bU/WtnKxzc7LOzal6N3uPnWPvJfvAO+JjGJ+WwPixvb10f7iP6VnpT8QIDBHe\nXk1YkxC4/45pHDrZSNnu0+RPd3LtjNBMYDt6uomfbdjDmYZWUpNsfO7WKdw4KwOz2URCXIzCexg4\n4mOYnjWG6Vl9l9Zt6+jidENPoNe7OVXXysl6NwdqGtl/orHP98bbLP6eeqC3nsDEcYkfOeQvEimG\nCG+fz6chcxmyGKuZf/rELL73y+0895d95Gan9NnZLBhvV9Tw/F/3093t4855WXzutimj4l62UcTb\nrEzOTGJyZlKfr3u6ujnd0Nanl36yvpVjp5s5fLLvrojJjlgmpSeSk5HIpIwkcjIU6BJ5hvgt4/Np\nyFxCY/xYO5+4eRIvv3OE/37rIF9eNDOo6/h8Pl7ZcoQNZUexx1n5H/dezZwpaSGuVsIlxmph4jgH\nE8c5+ny9q9tL7Xl/qNfUujl2ppmjp5txHarHddE9dQW6RJpBwls9bwmdu2/MYdueM2x2nWLRDdmM\nS0kY9DVe2nyY17Yewzkmjn8rupZxY+LDUKkMN6vFTGaancw0O/MuWvW50d3JsdNNHD3dzLHTCnSJ\nPEOEt9fn0/1uCRmrxcynF0zmp698wKtbj/GPd181qPPfLD/Ba1uPkZ6awLKiuYPaBU2MKdkeyzVT\nx3LN1LGBrw000CdnJDEzJ4VZOSlMcNr1u0xCwiDhrWFzCa3rcseRmXaErZWn+eTNk3AOsOe861A9\nv9m4n6SEGP7t/jwF9yg20ECvOFhHxcE6ABITYpgxcUzP5LpkJo5zGGYDGBlZDBHeGjaXUDObTXzy\n5kn8/3/cwxvbq/lS4ZV3xmtt9/CL1/ZgMZv5l89fw1gNlcsl+gv0+sb2wCNre481UL7Pv+IeQGyM\nmSmZSUzLGkNu9himjU8O2xoEEl0MEt56TExC7/qr0vndpoNs23OGL9wx7Yo7Yf1+82GaWj3ce9sU\npo5PHqYqxejSkuNYcE0mC67JxOfzUdfYzsETjRyoaeTgifPsqz5PVfV5Xn3Xv/nMpMxEZk9O45qp\naeRkJGrUUfplkPD2aV1zCTmz2cRNV2fwp23VVBysZ/7McR/6vUdONfHW+zVkpiUYaotRGVlMJhPO\nMfE4x8Rz0+wMwD+ic+BEI/uOn2df9TmOnGzmUE0Tr2w5QrI9ljlT/EE+a1LqkB9tlOgRtn8JW7du\n5bXXXuMHP/gBlZWVPP/88/h8PpYtW0Za2uAeqVHPW8Ll5jmZ/GlbNWW7T31keL++9Rg+4MGFM3SP\nUkIqIS6GvGljyZvmH2pvbe/ig6MN7DpYx+7D9WzZfYotu09hMZuYnpXMnKlpXDMljfFjNfltNAtL\neFdXV1NVVUVHh39Dhs7OTr7zne+wZcsWdu7cyZ133jmo63l1z1vCZMJYO5Mzk9h9uJ7zLR2McVz+\naM+55g52HqgjO93BVTnDuyuZjD4JcVbmzxzH/Jnj8Pp8HDvdzK5D9ew6VB8YYn9x0yHSkmxcM3Us\n82eOY0b2GA2vjzJhCe/s7Gweeughli1bBkB+fj47d+7kF7/4BWvWrBn09TTbXMLp5tkZHDnVxPv7\na7kjP+uyP3+7ogavz8cd+Vnq6ciwMptMgRXiPr1gMk3uTiqP+IO88nADm3bWsGlnDYkJMeRmp5A3\nNY15uU6t8jcKDHj8z+VyUVxcDIDX62XlypUUFRVRXFxMdXU1AGvWrGHp0qU0NfVdXnDXrl3Mnj2b\n9evX88tf/nLQRWq2uYTTrEn+3vSBS9a6Bv+KW2+7ThJvs3LDVenDXZpIH0n2WG6encnXPz2bZx5e\nwLeL5nJrXiZWi5kdVWd59rW9LPnxFtb/cQ8fHG3A27sxhESdAb09W79+PRs2bMBu9++DvHHjRjwe\nD6WlpbhcLkpKSli3bh1Llizp9/zW1la+853vEBMTQ1FR0aCL9GmRFgmjjNQEHPExHDxx/rI/23vs\nHI0tnXw8P0uP8MiIYjGbmTUplVmTUvH5fJw518a2PWd4t/IUWz84zdYPTvv3kL86nZtnZzJhGPax\nl+EzoPDOyclh7dq1PPLIIwCUl5dTUFAAQF5eHpWVlf2e9/TTTwNw4403cuONNwZdpH9t86BPF/lI\nJpOJaROSqThYR0NTe5+FV/Yf9wd63jStWy4jl8lkIiM1gU8vmMynbpnEwZpG3q08zfa9Z/nTe9X8\n6b1qJmcm8fF5E7gudxyxMXojanQDCu/CwkJOnDgROHa73TgcFxb0t1gseL1ezObwzMJVz1vCbfpE\nf3gfrGnk+ovC+8CJRkzAFD3XLQZhMpkC26N+8c7pVBysp2z3KXYfqufnrzbx3Bv7mTM1jQVzMpg9\nOQ2zekaGFNSsBofDgdvtDhyHI7idzsQLByYTVqu579dkyNSeF8y/ejwvbjrEifpW7ulpF0+Xl6On\nmpg0PomcicHPMlc7h5/a+MONzxzD3QVTOV3v5i/bjlHmOsmOqrPsqDpLemoC9985gzuum3jFRyDV\nxiNLUOGdn5/Ppk2bWLx4MRUVFeTmXnlpycGqrW0OfG6LsWCLMff5mgyN05mo9rxIcpwFq8XMrgO1\ngXY5VNNIZ5eXSRnBt5XaOfzUxgNjARbPn8ii67I4dqaZt3ae5N3K0/z4dxX89i/7+OQtk7jp6ox+\ne+Jq4+ExmDdIgwrv3qHrhQsXUlZWFph8tnr16sFcZtCW3HeNHhWTsIqxmpmUmcihmkbaOrqIt1kD\ns8+nT9CQuUQPk8nEpIwk/mGx//GzV7ceZXPFSZ59bS9/fPcoi27I5pbZGVdcLlgia8DhnZWVRWlp\nKeD/y1+1alXYirrU2GRtACHhN9Hp4OCJRuob28ka5+BgjT+8p2UpvCU6pSTaKC7M5e4bcnht61G2\n7D7Fr/68j1feOULh/IncMS8Lmya3jUh6kl+kR7zN/+PQ3tmNz+fj4InzpCTaSNO2nxLl0pLj+PKi\nmXxqwWT++vfjbNpZw4tvHeLN909w/+3TuHus48oXEQA6OruxWk20dXRTfaYZi9nExHGJeLq6Od/S\nSUKclVirmfMtnfjwkeKwkWiPHfTossJbpEe8zd/DaOvswt3eRVOrh7nTxupJBxk1xjhs3Hf7NO65\nKYfX36vmL3+v5qevfEDFoXru/9jUfpcPjkY+n8//iHLP/f/2Tv/vg3NN7by/v44TtS04x8Th6fJy\n4EQjsTEWxqclcPxsC2fOtQ369SxmE6lJNn7x+F0DPkfhLdKjt+fd1tFFa0cXAHbt4iSjUEJcDJ//\n2FQK8jL5z9ereK/yNO9XneX2/AksvjGHpITYSJcYch2d3dSeb+NATSNvlp/gTEMr07OS6fb6OFTT\nhNfXd7W6vcf8Hx3xMTS3eThZ58YWawnsf2C1mMlOd9Dt9XHibAu2WAtj7DbaOrvo9HST7LBhAs63\ndHC+pZO2zq5B1avfTCI94mMvDJu3tft/kHoDXWQ0Sk9JYNkXr2XnoQZ+80YVb2w/zjuuU3y6YDIf\nn5dl2InEXd1e/r73LIdO+ieoHj/rpqa2hd54tphNZKQlUFV9HpMJpoxPIiM1AXtcDLMmpTA9awwN\nTe2YTCYy0xLw+aChqZ0xibZh23VQv5lEesT1Dpt3dNHWofAWAf/mKItumsQ1k1J4a2cNr2w5wgsb\nD3Cqzk3xXbmGuK3k8/lwHarnHddJ2jq6ONXQSmNLZ+DPY6xmpmclM97pICMlnvlXpZOSaKOlzYPJ\nBPa4mMuuOcF5YR6AyQRjxwzvxGr9ZhLp0dvzvji8EzRsLgL4A27h/IncMCud//htBW9VnMQeH8Pn\nbp0yIgO8ubWTdytPc7CmkROX3IuOt1kpnD+RG69OxxEX86E9Zkf85aE9Uug3k0iPi2ebt6rnLdKv\nJHss3/rCXFb/upzXth7jfEsHX75rJjHW4Rku/ig+n4/9x8/zdsVJduw7S1e3fyDcFmPh+qvGcc9N\nk5gw1h4VS8LqN5NIj/6GzRMU3iKXSbbH8u9fzOfHv99F2e7T1NS6+donZ5GZFrmdy2rPt/HcX/ZR\nebgBgMy0BG6bO4H5M8cxxhE7IkcHhkK/mUR6BIbNO7t1z1vkClISbTz6YD7PvbGPssrTfO+Xf+f+\n26dxR/6EYQ3K/cfPs2lnDeU9Pe1Zk1L45M2TmDFxTNQF9sX0m0mkR3yfnnd3z9f0IyLyYWJjLHz1\nE7OYO93Jr96o4vm/7mff8fP8490ziYsN78/O6YZWXtx0kJ0H6gB/T/uTN0/ihlnpUR3avfSbSaSH\n1WLGYjbR3tFFa4cHuBDoIvLh5uU6mTI+iZ++UsmOqrN4PN38y73XhOXecmt7Fy9vOcym92vo9vqY\nkZXM526byvSs5FER2r0U3iI9TCYT8TYrbZ3dtPb0vHXPW2RgUhJtLHvgWp550YXrUD2/33yI+z42\nLaSvcfZ8G8+86OJUfSvjxsRz3+1TyZ/hHFWh3Svy0wNFRpC4WIue8xYJktVi5uufmU16Sjx/eq+a\nvUcbQnbtnQdq+cF/7eBUfSuF8yfyxD/dwLzccaMyuEHhLdJHvM1Ke6c/vC1m04h4/EXESOxxMXz9\n07MxAS+8eRCv13fFcz5Ke2cXz762hx//fjftnV18eVEuRR+fPup/NtWtELlIfKyF9o5uWtv9e3qP\n1nf1IkORk5HIzXMyKNt9mi27T3Fr3vigrnOyzs1P/rCbU/Wt5GQk8k/3XNVnZbPRLGxvXbZu3cqK\nFSsCx3V1ddx7773hejmRkIizWfEB51o6dL9bZAg+d+tUYmPMvLT5MJ2e7kGf3+np5n//roJT9a0s\nvG4ijxXPU3BfJCzhXV1dTVVVFR0dHYB/1Ztnn32WCRMmhOPlREKmN7A7Ort1v1tkCFISbdw5byJN\n7k7Kdp8a9PlvbK+mvqmDRddn88Cd04dtww+jCEtrZGdn89BDDwWOX3jhBT71qU9hs42OvWDFuOIu\nCmw9JiYyNAuvy8JqMfPn7dWDuvd9rrmD19+rJikhhk/eMil8BRrYgMPb5XJRXFwMgNfrZeXKlRQV\nFVFcXEx1dTUAa9asYenSpTQ1NfU5d+vWrZSWlrJr1y7eeOONEJYvElrxsRcCWz1vkaFJdthYMCeD\n2vPt7Nh3dsDnvbr1KB2ebj576xT9HH6IAbXK+vXr2bBhA3a7f93ajRs34vF4KC0txeVyUVJSwrp1\n61iyZEm/5//4xz8G4JFHHuGuu+4KUekioXdxz1v3vEWG7q4bsnnbdZJX3z3GdTPHXXEP8LaOLt6t\nPE1qko0F12QOU5XGM6Ced05ODmvXrsXn8w97lJeXU1BQAEBeXh6VlZX9nvf000/3OX7qqaeGUqtI\n2PXpeWs7UJEhS09J4MZZGZyobWH73jNX/P73PjhNR2c3t+WNx2LWfe4PM6CWKSwsxGK58EvN7Xbj\ncFyY9WexWPB6vaGvTmSYxavnLRJynymYjMVs4uXNR+jq/vCs8Pl8bNpZg8VsCvrxstEiqN9ODocD\nt9sdOPZ6vZhD/A7J6UwM6fXkcmrjy6U7mwOfO9PsIWkjtXP4qY3Dbyht7HQmsvimSbxadoRdR89z\n1405/X7fB4frOVHr5pa88UybPDbo1xsNggrv/Px8Nm3axOLFi6moqCA3NzfUdVFb23zlb5KgOZ2J\nauN+dLZ7Ap93e7qH3EZq5/BTG4dfKNr4Y3mZvFp2hLd2VJM/NbXf7/n163sAKJidMSr/TgfzBmlQ\n4d272tTChQspKyujqKgIgNWrVw/mMiIjlobNRcIjNSmOieMcVFWfp6OzG1ts30cxD9Y0UnmkgZnZ\nY5gxcUyEqjSOAf92ysrKorS0FPCH+KpVq8JWlEikxOlRMZGwuWZqGsfPtrC3+hxzp/UdFn/lncMA\nfKZgSiRKMxxN5RO5SHyfRVoU3iKhNGdKGgC7D9X3+frZ8218cPScet2DoPAWuUh8rFZYEwmXqROS\nSLBZ2XWoPvDoMcCJsy3AhXCXK1N4i1wkNsYcWERC97xFQstiNjN7Sir1Te2crG8NfL2m1h/e48fa\nI1Wa4Si8RS5iMpkCPW4Nm4uE3tTxyQCcqrvwuHFNz+cTnArvgVJ4i1wiLtaKxWwixqofD5FQc8TH\nAOC+6LHMmjo3tlgLaUlxkSrLcNS1ELlERloC8TZL4NFIEQmdhJ5lh93tXQB0dXs5Xd9KTkaifuYG\nQeEtcolvfHo2Xt/Aty8UkYGzX9LzPtPQSrfXxwTd7x4UhbfIJRK0IYlI2Nh7e95t/p534H63wntQ\ndFNPRESGjT3O3/Nu7el519T2TlZzfOg5cjmFt4iIDJtL73n39rz1mNjgKLxFRGTYWC1mbLEW3G29\nPe8W7HFWxjhiI1yZsSi8RURkWDnirLjbu/D5fNQ3teMcE6+Z5oOk8BYRkWFlj4vB3e7B3d5FV7eP\nMQ5bpEsyHIW3iIgMq4Q4K+2d3TQ0tQNoyDwICm8RERlWvc96n+yZrKae9+CFLby3bt3KihUrAKiq\nquLBBx9k+fLlbNu2LVwvKSIiBtD7uFjvTPNk9bwHLSzhXV1dTVVVFR0dHQDs2rULp9OJxWJh+vTp\n4XhJERExiN6FWtTzDl5Ywjs7O5uHHnoocDxv3jx+8IMf8E//9E88++yz4XhJERExiN5h8xqFd9AG\nHN4ul4vi4mIAvF4vK1eupKioiOLiYqqrqwFYs2YNS5cupampqc+5e/fuxev1kpSURHd3dwjLFxER\no+ldqKX2fBugYfNgDGgR5/Xr17Nhwwbsdv8KOBs3bsTj8VBaWorL5aKkpIR169axZMmSfs+fMGEC\nTzzxBFarlW9+85uhq15ERAzH0XPP2+cDkwmSEhTegzWg8M7JyWHt2rU88sgjAJSXl1NQUABAXl4e\nlZWV/Z739NNPA3Dttddy7bXXhqJeERExOPtFm/8k2WMxm7VAy2ANKLwLCws5ceJE4NjtduNwXFhE\n3mKx4PV6MZtDdwvd6UwM2bWkf2rj4aF2Dj+1cfiFso2bOi7cPnWOidffXxCC2vvQ4XDgdrsDx6EO\nboDa2uaQXk/6cjoT1cbDQO0cfmrj8At1G3e2dwY+t9us+vvrMZg3MUElbn5+Pps3bwagoqKC3Nzc\nYC4jIiKjUO9z3gDJmmkelEH1vHsXjl+4cCFlZWUUFRUBsHr16tBXJiIiUSku1oLZZMLr82lp1CAN\nOLyzsrIoLS0F/CG+atWqsBUlIiLRy2QyYY+30tzq0TPeQdLa5iIiMuwSeobOFd7BUXiLiMiwc/Q8\nLqYFWoKj8BYRkWHXu0Sqet7BCepRMRERkaG46/pspo5P0oS1ICm8RURk2F2Vk8JVOSmRLsOwNGwu\nIiJiMApvERERg1F4i4iIGIzCW0RExGAU3iIiIgaj8BYRETEYhbeIiIjBKLxFREQMRuEtIiJiMGEL\n761bt7JixQoADh48yMqVK1m+fDkHDhwI10uKiIiMCmEJ7+rqaqqqqujo6ADgxRdfJD09ndjYWCZM\nmBCOlxQRERk1whLe2dnZPPTQQ4Hj6upqiouLWbRoES+//HI4XlJERGTUGHB4u1wuiouLAfB6vaxc\nuZKioiKKi4uprq4GYM2aNSxdupSmpqY+56alpREXF0dSUhI+ny+E5YuIiIw+A9pVbP369WzYsAG7\n3Q7Axo0b8Xg8lJaW4nK5KCkpYd26dSxZsqTf84uKinj88cfx+Xw89thjoateRERkFBpQeOfk5LB2\n7VoeeeQRAMrLyykoKAAgLy+PysrKfs97+umnAZg9ezZPPvlkKOoVEREZ9QY0bF5YWIjFYgkcu91u\nHA5H4NhiseD1ekNfnYiIiFxmQD3vSzkcDtxud+DY6/ViNod27pvTmRjS68nl1MbDQ+0cfmrj8FMb\nj1gMYqEAAAPISURBVCxBJW5+fj6bN28GoKKigtzc3JAWJSIiIh9uUD1vk8kEwMKFCykrK6OoqAiA\n1atXh74yERER6ZfJp2e3REREDEVrm4uIiBiMwltERMRgFN4iIiIGM6LC+8OWXZXQ8Xg8LFu2jAcf\nfJD77ruPv/3tb5EuKWrV19dz2223ceTIkUiXErV+9rOfUVRUxL333ssf/vCHSJcTdbxeL8uXL+eB\nBx7gwQcf5PDhw5EuKapcvOz4sWPHAu38ve9974pLiY+o8L542dVvf/vblJSURLqkqPPHP/6R1NRU\nnn/+eX7+85/zxBNPRLqkqOTxeFi5ciXx8fGRLiVqbdu2jZ07d1JaWspzzz3H8ePHI11S1NmyZQtt\nbW288MIL/PM//zNr1qyJdElRY/369axYsQKPxwP4n9paunQpzz//PD6fjzfffPMjzx9R4f3+++8P\naNlVCd6iRYv413/9V8D/rvrilfMkdJ566ikeeOABnE5npEuJWmVlZeTm5vI//+f/5Otf/zp33HFH\npEuKOnFxcTQ3N+Pz+WhubiYmJibSJUWN3mXHe3vYe/bsYf78+QDceuutvPvuux95flArrIVLS0tL\nv8uuhnr1ttEsISEB8Lf1ww8/zLe+9a0IVxR9XnrpJVJTU1mwYAE/+9nPtJNemDQ0NHDq1Cl+9rOf\ncfz4cb7xjW/w5z//OdJlRZX8/Hw6OztZtGgR58+f56c//WmkS4oahYWFnDhxInB88e+JhIQEmpub\nP/L8EZWKw7HsqsCpU6f4yle+wmc+8xnuueeeSJcTdV566SXeffddiouLqaqq4tFHH6Wuri7SZUWd\nlJQUFixYgNVqZfLkydhsNhoaGiJdVlT5+c9/Tn5+Pm+88QavvPIKjz76KJ2dnZEuKypdnHVut5uk\npKSP/v5wFzQYWnY1/Orq6vjHf/xHli1bxuc+97lIlxOVfv3rX/Pcc8/x3HPPMXPmTJ588knGjh0b\n6bKizrx583jnnXcAOHPmDG1tbaSkpES4qujS1tYW2Ao6KSkJj8ejTajC5KqrrmL79u0AbN68meuu\nu+4jv39EDZtr2dXw++lPf0pzczM/+clP+MlPfgL4313bbLYIVyYyOB/72Mf4+9//zuc//3m8Xi/f\n/e53A0s4S2h89atfZfny5Xzxi1+kq6uLf/u3fyMuLi7SZUWV3n+zjz76KI8//jgej4epU6eyaNGi\njz5Py6OKiIgYy4gaNhcREZErU3iLiIgYjMJbRETEYBTeIiIiBqPwFhERMRiFt4iIiMEovEVERAxG\n4S0iImIw/w9Q//MtKCfJ/AAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "n_normalized_resids, = solution.normalize_residuals(ys)\n", "plt.plot(ys, np.abs(n_normalized_resids))\n", "plt.yscale('log')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 109, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def spence_analytic_solution(y, nL, alpha):\n", " \"\"\"\n", " Analytic solution to the differential equation describing the signaling\n", " equilbrium of the Spence (1974) model.\n", " \n", " \"\"\" \n", " # compute analytic solution for worker type given y\n", " D = ((1 + alpha) / 2) * (nL / yL(nL, alpha)**-alpha)**2 - yL(nL, alpha)**(1 + alpha)\n", " return y**(-alpha) * (2 * (y**(1 + alpha) + D) / (1 + alpha))**0.5" ] }, { "cell_type": "code", "execution_count": 110, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n/GnjCp7f8WLtDSYC3XjuloeJcrmv+GeJiIiEswYPRcePH09hYeG3Hi8vLycuLq7u65iYGMrKyq5o\n529t+YI15z7CZg8StNsZGjOOaYNv0SlrERFplq76/HBcXBxer7fua6/XS0JCQoPfl5LydZFflxBH\ni5JWdIntyn3pGfRs1/5q48jf+eY4S2hojENPY9w0NM7WcdWl3LlzZwoKCigtLSU6OpqcnBymT5/e\n4PcVF399ND22azpju6b/w21y9VJS4jSWIaYxDj2NcdPQOIfelbzpuexSttlsACxfvpyKigqys7OZ\nNWsW06dPxzAMsrKyaNWq1ZWnFREREQBswb+fwRViekcWenrnG3oa49DTGDcNjXPoXcmRsmZUiYiI\nWIRKWURExCJUyiIiIhahUhYREbEIlbKIiIhFqJRFREQsQqUsIiJiESplERERi1Api4iIWIRKWURE\nxCJUyiIiIhahUhYREbEIlbKIiIhFqJRFREQsQqUsIiJiESplERERi1Api4iIWIRKWURExCJUyiIi\nIhahUhYREbEIlbKIiIhFqJRFREQsQqUsIiJiESplERERi1Api4iIWIRKWURExCJUyiIiIhahUhYR\nEbEIlbKIiIhFqJRFREQsQqUsIiJiESplERERi1Api4iIWIRKWURExCJUyiIiIhahUhYREbEIZ30b\nDcPg2WefJS8vD5fLxW9+8xtSU1Prti9cuJDFixeTmJgIwOzZs+nUqVNoE4uIiESoekv5s88+w+/3\n89Zbb7Fjxw7mzJnD/Pnz67bn5uYyd+5cevXqFfKgIiIika7eUt66dSs333wzAP3792f37t2XbM/N\nzWXBggWUlJSQkZHBjBkzQpdUREQkwtX7mXJ5eTmxsbF1XzscDgzDqPt60qRJzJ49m9dee40tW7aw\nevXqkAUVERGJdPUeKcfGxuL1euu+NgwDu/3rHn/wwQfrSnv06NHs2bOHjIyMeneYkhJ3DXHlcmmc\nQ09jHHoa46ahcbaOeo+U09PTWbNmDQDbt2+nR48eddvKysq44447qKioIBgMsnHjRvr06RPatCIi\nIhHMFgwGg9+1MRgM8uyzz7J//34Afvvb35Kbm0tFRQXZ2dksX76chQsX4na7GTFiBDNnzmyy4CIi\nIpGm3lIWERGRpqPFQ0RERCxCpSwiImIRKmURERGLUCmLiIhYRJOUsmEYPP3000yePJlp06Zx9OjR\npthts+L3+/nFL37B1KlTue+++1i5cqXZkSLamTNnGD16NPn5+WZHiUgvvfQSkydP5t577+Xdd981\nO07EMQyDJ598kilTpjB16lQOHz5sdqSIsmPHDqZNmwZAQUFB3Tg/++yzNDS3uklK+ZtraP/85z9n\nzpw5TbHbZmXZsmUkJSXx5z//mVdffZV///d/NztSxPL7/Tz99NNER0ebHSUiffXVV2zbto233nqL\n119/nWPHjpkdKeKsW7eOyspKFi1axE9+8hP+8z//0+xIEeOVV17hqaeewu/3A7WXEv/sZz/jz3/+\nM8FgkM8//7ze72+SUm5oDW25dhMnTuSnP/0pUPsu2OFwmJwocs2dO5cpU6aQkpJidpSI9OWXX9Kj\nRw8effRRfvzjH5OZmWl2pIgTFRVFWVkZwWCQsrIyXC6X2ZEiRseOHXnxxRfrjoj37NnD4MGDARg1\nahTr16+v9/vrXWazsXzXGtrfXLJTrk2LFi2A2rF+7LHHePzxx01OFJmWLl1KUlISI0eO5KWXXmrw\nVJRcubNnz3Ly5Eleeukljh07xiOPPMKKFSvMjhVR0tPT8fl8TJw4kfPnz7NgwQKzI0WM8ePHU1hY\nWPf1N/8f0aJFC8rKyur9/iZpxYbW0JbGcfLkSR588EHuuusuJk2aZHaciLR06VLWr1/PtGnT2Ldv\nH7NmzaKkpMTsWBElMTGRkSNH4nQ66dSpEx6Ph7Nnz5odK6K8+uqrpKen88knn/D+++8za9YsfD6f\n2bEi0je7zuv1Eh8fX//zQx0I6l9DWxpHSUkJDz30EL/4xS+45557zI4Tsd544w1ef/11Xn/9ddLS\n0vjd737HddddZ3asiDJw4EDWrl0LQFFREZWVlSQmJpqcKrJUVlYSExMDQHx8PH6//5I7AErj6dmz\nJ5s2bQJgzZo1DBo0qN7nN8np63HjxvHll18yefJkoPaDb2lcCxYsoKysjHnz5jFv3jyg9t2wx+Mx\nOZnIlcnIyCAnJ4esrCwMw+CZZ57BZrOZHSuiTJ8+nSeffJL777+fQCDAE088QVRUlNmxIsrfXrOz\nZs3i17/+NX6/ny5dujBx4sT6v09rX4uIiFiDPtgVERGxCJWyiIiIRaiURURELEKlLCIiYhEqZRER\nEYtQKYuIiFiESllERMQi/n9trgCPtQVxPQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(ys, spence_analytic_solution(ys, **params))\n", "plt.plot(ys, n_soln)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.10" } }, "nbformat": 4, "nbformat_minor": 0 }