{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Chapter 5: Equation solving" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Robert Johansson\n", "\n", "Source code listings for [Numerical Python - Scientific Computing and Data Science Applications with Numpy, SciPy and Matplotlib](https://link.springer.com/book/10.1007/979-8-8688-0413-7) (ISBN 979-8-8688-0412-0)." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import matplotlib\n", "matplotlib.rcParams['mathtext.fontset'] = 'stix'\n", "matplotlib.rcParams['font.family'] = 'serif'\n", "matplotlib.rcParams['font.sans-serif'] = 'stix'" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "from scipy import linalg as la" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "from scipy import optimize" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "import sympy" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "sympy.init_printing()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "import numpy as np" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", "#import matplotlib as mpl\n", "#mpl.rcParams[\"font.family\"] = \"serif\"\n", "#mpl.rcParams[\"font.size\"] = \"12\"" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "tags": [] }, "outputs": [], "source": [ "from __future__ import division" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Linear Algebra - Linear Equation Systems" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "2 x_1 + 3 x_2 = 4\n", "$$\n", "\n", "$$\n", "5 x_1 + 4 x_2 = 3\n", "$$" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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Ir0xWBARERERkd4YLIiIiIiISG8MFkREpIrw8HDMnj0bfn5+sLa2xrRp07Rjx48fR61atVChQgVERESoViMREWWdRggh1C6CiIgKnmfPnsHS0hIPHz5E5cqVUaxYMTx8+BDnzp3DzJkzUaFCBQQHB2P79u2wtLRUu1wiInoNBgsiIlJd48aNcezYMZw4cQJLly7F999/DzMzs3TH3bx5EzNnzsTbb7+N9u3bq1ApERHpwqlQRESkOl9fXwBA//79MX369HShIikpCdu3b8eoUaOwevVqxMTEqFEmERFlgsGCiIhU5+PjAwDw9PSEi4tLunETExN07twZH330kaFLIyKiLGKwICIi1VWpUgUAcOXKlUyPMzU1NUQ5RET0BhgsiIhIVUIITJ48GeXLl8eFCxcQGRmpdklERPQGGCyIiEhVixYtQufOndGxY0ckJibi8OHDapdERERvgMGCiIhUc/78eYSGhqJ3797w8/MDABw4cAAAsGrVKly6dEnN8oiIKBvSr+VHRESUi+bOnYvvv/8effv2RWBgIDZt2gQAaNq0KUxMTLB+/XpYWlrCzs4Obm5uKldLRERZxSsWRERkUBYWFrh58yb27duHZcuWaTe/K1WqFIYOHYq4uDgkJiZi/PjxKldKRETZwQ3yiIgo3wgICEDTpk2xdetWdOvWTe1yiIgoFV6xICKifCM2NhaA3DCPiIjyFgYLIiLKF3bv3o1Zs2YBAFasWIEdO3aoWxARESlwKhQREREREemNVyyIiIiIiEhvDBZERERERKQ3BgsiIiIiItIbgwUREREREemNwYKIiIiIiPTGYEFERERERHpjsCAiIiIiIr0xWBARERERkd4YLIiIiIiISG8MFkREREREpDcGCyIiIiIi0tv/Abpg0vK7U4V0AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(8, 4))\n", "\n", "x1 = np.linspace(-4, 2, 100)\n", "\n", "x2_1 = (4 - 2 * x1)/3\n", "x2_2 = (3 - 5 * x1)/4\n", "\n", "ax.plot(x1, x2_1, 'r', lw=2, label=r\"$2x_1+3x_2-4=0$\")\n", "ax.plot(x1, x2_2, 'b', lw=2, label=r\"$5x_1+4x_2-3=0$\")\n", "\n", "A = np.array([[2, 3], [5, 4]])\n", "b = np.array([4, 3])\n", "x = la.solve(A, b)\n", "\n", "ax.plot(x[0], x[1], 'ko', lw=2)\n", "ax.annotate(\"The intersection point of\\nthe two lines is the solution\\nto the equation system\",\n", " xy=(x[0], x[1]), xycoords='data',\n", " xytext=(-120, -75), textcoords='offset points', \n", " arrowprops=dict(arrowstyle=\"->\", connectionstyle=\"arc3, rad=-.3\"))\n", "\n", "ax.set_xlabel(r\"$x_1$\", fontsize=18)\n", "ax.set_ylabel(r\"$x_2$\", fontsize=18)\n", "ax.legend();\n", "\n", "fig.tight_layout()\n", "fig.savefig('ch5-linear-systems-simple.pdf')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Symbolic approach" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "A = sympy.Matrix([[2, 3], [5, 4]])\n", "b = sympy.Matrix([4, 3])" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAkAAAAOCAYAAAD9lDaoAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA30lEQVQoFW2RMRKCMBBFg3qAjEeA1orRnsIjWNupR6CEVm8gpa2tnRY0tt5AjoDeIL4fBycqf+ZPsn//bnYhcs6ZsixjY0wOhSlsYY5+kzCEMmwRllmWnWBV1/UE7cB5JW4GMsAV/IACdX3Co0SZ5vBBwkoIcOFu0WOZFDQEquyDNRq8j0VR3CEp55/7q6ZriqiF/MZ6rg8auMK8UzJSuxAk9oo5N53+1YnE+tegeNS5MSy4J2EH7prrPTiBBp1xdr9GOUGFbcSacp+hvleIMUFKYaLntImMfh7OEP4HvwBvn1+w+m4NrAAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle 2$" ], "text/plain": [ "2" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A.rank()" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\frac{\\sqrt{2 \\sqrt{170} + 27}}{\\sqrt{27 - 2 \\sqrt{170}}}$" ], "text/plain": [ " _____________\n", "╲╱ 2⋅√170 + 27 \n", "───────────────\n", " _____________\n", "╲╱ 27 - 2⋅√170 " ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A.condition_number()" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle 7.58240137440151$" ], "text/plain": [ "7.58240137440151" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.N(_)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACcAAAAVCAYAAADFEfeTAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACl0lEQVRIDb2W61EUQRCAD4oA1BAwA8QIxAxAIgAykPLf/aMgAzECHhkAGQAhkAElGZzfNzU9Nbvs7u2tSlf1zUy/pp87t7ZYLGZvAfP5fIt79sHvY+/bGCv4D+ROsXGMk8djba2PFfwbuZy1GevjKnbexDkc+gGauZXgvztHtjbxaJP1diXPEC49l40cZQPvNAieTjGabcRij/X2GfbbGb2Alsq/5rRy0BkdCeekHUL7Ce6xv2ZdGdDT7h3rp7YyNIO/AY/Yp6yyXnHeYv2ofJRVRw4h7krMcJlX+2UqmJWTHmUduQ3HsozBPIV8lNU0vmRMPJRewLSf8oOuF+2wlmqEHWgmwe/el6C5Qv9an5NzEE3r+5qRDUiytFNgaELlGbwJ6YXIXEMApR0IlsR+OG8wOUAzco0PTeAu/NQ7bX3OZu0Rfrwaz5yVvaptNpzLwjr2WWXwHmwAMj4/Rm5vvGp0hbNMZ8bhWe6Abc5lktn/Bg/ANIAxEEkYotGcgXsQLsAH9mVI2DthZlJ0qoy8C8z4WRejoqnfropD+At6CqDhXKU4Q0Dv7QlTnYRZn0BpMYFmsAHw4xPUoMch63ssUxk81gfQu7alJedQ6MtClNVSF8gXGLV9ZTZrsEztjNR89zpmkH2QbK5jXE/12BK6HwvxZa97xha4zs4P2dG5obtSVnXOCMQuoym98F5NJXoakO7HOy6yzFFytr1gYO2MK+yAla9AKisEo/cpKcCFZsFLbW6d74LIXrwu9wOyRR8Zg/J1CP0Ze+/6Bh6EYHpbPcC0r5zSACNb+vCjZ0soayZ9h1NJ2C8FZHUusv6B/Qm08p+vOLfUUo8Axsyw76RtUQfXozGeHGUdr9GSxCE/OWarDEZLZPLxD7u9AcDVAwSHAAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle 3 \\sqrt{6}$" ], "text/plain": [ "3⋅√6" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A.norm()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "L, U, P = A.LUdecomposition()" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADgAAAAzCAYAAADCQcvdAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADbklEQVRoBe2a0VEbMRCG7UwKYJIOTAcmqSCmgzgdACUwPNlvDHSQUEHGdBB3QKAD6CDEHSTfb25vxI0u0t3kdDqPd2aRtNZp99euTisd48VicTDy0HK53HjE2Yqw14vjDRbfw78rfJUtknrDVhUMwrQa48FHKmfMwLr+2eH9Ap5TrJ7LgztNb5ugY1am9FcoHFFPvkbRaUvnFzYcwlfInihrKQiQAbR4b+Bn+AM8gZMTduhdcUl5K+WFXfeUx3AtyGCI8vAGnsNnjPtdg6cmdGs9HVBuwUk/dUWQ2l/VrqMgwLoHE8vn6Hvw6LxDNgOsd4tQ/6EAnGGrlkiV7D2g372UPcB/ecdB9M6pv6pmDxBrzXjzlgvAvDr4EHVB+ervfULJhuBB85IPg3lX+6KXsgdYbAcy3heGJmu/D3qnJb1QefLEo9Y8WJtHZ+/BApTSQ2VRVTpC8OB4ufr7INbgCADfsPyZ8rMhoK7w/AKfmMxXBnNRPcRgmkENaLOoHFCZxR3lNWUKkrcu0Geh+pH2p8KOWv2xAJUq9UoA2WDAeVMjhrIGm+Iq++8BllMx0MregwN1XGn2znswdpuYMCW6svhRTI3aT7y6a1Okol/vRawHBUj3IgKoO5DDIYDDzlGUB9URCmYNL93y+tsE4AivzTBfKduaujKL7Ck2RAXkAta5S+vuBoBl4ks7GaF3Cj/CmuggRXmQwQSqfKHQvqSti9hxUMN/6FCAaXX5HOVBFFS9tT1BI1fIdk7oaX35HAUQBCuUTB0kdpKuvSpw+vZajQV4DUCd/4zk0Vtk2QOMWoOA0UcPfdnR7dX2io5272dEbAlSFEDAtDpsBrUn6BAboglM6UbFzgMMhijh+Sc0t/RJsh+G7PD9HgMwW+N9gKqyfYhqRghB5X3KRUWTl2J0gjz7hDsYogUY/TeDDrxboq4zoXJR/adDEkJnq8vnWICnUgBbwq1NXzJl9m6G0xlY9LRKLGLXoLz3szPrOxw4yoPMnj5+uCTAupNJ4j1XcdN6rAfLcQGlU4WSbX0MyZ4aAQSc3qBaf738K1eb2YwKUQ1s4CiPi7Y8qYNo1kcmAzjB0Fd3HLTLPY66PKet4Zy6HXy1Dht/zuKZTqhqP0q2eAygjBcb6aVS7nvUtefpAZUlMajbp5T3VNE+OavoXv8FFG3+EIOlQa0AAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}1 & 0\\\\\\frac{5}{2} & 1\\end{matrix}\\right]$" ], "text/plain": [ "⎡ 1 0⎤\n", "⎢ ⎥\n", "⎣5/2 1⎦" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "L" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEgAAAAzCAYAAAA0CE5FAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEoElEQVRoBe2a61HcMBDHDyYFkKSDowMeFXB0AOkAKCHDJ/hKOoASAh2EVECgg9BBgA6S/89oPTrHluTHHTY+zWj09O7qr9WuHl47OzvbmJSE8/Pzl5Lqd1ul8ZbisK4R3ys+F+LFu0WiemDXBQzA5HpNGvRbmRMheFv97fhahMexRn2IBq1CAIEPgbasSUhOlfnq+u0ofaKs+gdX9+aJk/HECYItQeYL1bdeFUGAHGMYHRoKymOf7pXuK7YWwOg2TSUDgDBhBtBEeZbHD6WHijdNafNdbIkBxpHPQAzRJjwcRq0PATCOJdeBJ8x3lz/16hplYwDNRPVZzIsuEM3ZUD2q/NaBpc6EEbMgufK81TVNg0tMRAFiK8CwCFxTORp/J9mQ8aNPQHWmTZd+fZN8ECAxym1PgfgWZbX3xlCbfJIJrcc0sHW5svqmaRCgMqJiCjgsLfNsZd2WXufkApxdRSbuVxdC1AZITDHOVxLoWxcCdEVD8gBKptHKs8TwtAv3YnPyiyFr+lZp7lLnOvSkIPlw7Rjqa+Vb2cmYF8uHLEa404nSXoEjeXAimU3MhX3N2BJj2TUOSQBJAFR20wdH+SmxMecOPhR/tIPDNsuplaZUiRMFSIyZnV2lRaMMaE9VhJdRL5lYRsQbl/fZ7rhCq91+0EiLKRqCUcbu+HuKT6pDtftgqIsTN5FcTB4ahasHwMYhCJCoAg4gZfanwCXzGIW6pRcFAB51puhPIDJ3clYMAiSm20sfcQOGkpNl1GopVbFdr2pY1b8isAIoogkrgFYARRCINK80aAVQdjyaRnCobA66+cqvhtfAnTUgsVd69MVXfXA/NxaAAGfmoo8PF2rBw/dYAHqUpqz5yKh8qRgEh/5jMdJzT+kChvJ/ZzgfQMsnaZAjyDd/FDcVeSubW8s09jX4sirPQZY3s6RDbFSDRIj7ljulGDpO7yAPA9b1oIJkthN+8rktCJAIcorn/St/nVQe5Cn7p+ehAPVFgiZpjg0oCJA68exT5gbvVM8VAzMypMB4apmGGEC4xrJbQ5sF2ocUuGXkd5/kUAlQonZwszikwGTbZX6S3CEvZoM3bfEJmlYNaolp0vHAtUKlBiVS+ZzYb7DdQhpkWlI2ONMu9kULCW6J/xTxOlrKS+pDlwJVAiRGL4rwKhPQ6mp5hDqCw1/9W9+Ji87fGF/1mTuG+P0rAXKd2FBN/Q9c3jQoecNVQmMpVaHBpwgQs0E8+9gDnE+PmX1ws+zXv7t8UIMEAG9OHDEOFLPdtFKWFzvSvaGg4WQ+dfLaijhSPcs4GIIAuS/RllMRM8L8f7OncqfGMChl+0YO1/nVhvIckzhjRt1+FCARA+Wkq4H241gYBX7y5FcYs5lcd1DH83lwomM2aGESL5kw2lNrB23yRTXIOg45lZYU/1UEMG4Zg9rDmMeiQfn8sqxU4NIsaY81KoAEDo4G+7OtfNSDqd9kFEuMgRo4SvddGU3itBA8DRhA/E7H/iYPKichnH/Q44zGgubg2tnTAQwBO5R75+L41ZbhYQDxMdFC9L3IOg4kZc/DgEnzIFDyvZEqOTXM8sbXzO0/YLBl7Ngt+pEAAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}2 & 3\\\\0 & - \\frac{7}{2}\\end{matrix}\\right]$" ], "text/plain": [ "⎡2 3 ⎤\n", "⎢ ⎥\n", "⎣0 -7/2⎦" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "U" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADUAAAAzCAYAAAA3v0BtAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAD60lEQVRoBe2a7VHcMBCGDyYFkHQQ6ICPDo4OwqSCQAfJ5Bf3FzqAEoAOIB0EOgglACXkfYzk0en0ZZ91cIk1YySvpXf31a7Wso6N09PTrUmgzGazl4D4XYlkY9D2TVl5r+vZu87elfVxY649u+FxvSFP/VHjRKzv4mPX44k4HMvSIzz1z5UPOUZiv60+P0y/fdVP3Ev+YGTVKqP7xChg/WDLmeTJqEqSMqCAHFnL1Wa93as+1JUEt2P61MKGBJNnSU3UJrxuVR/puonh5sIPAt/cwQLDa2RGFmnNAoFj6fviKLky7Z+ObKGZIzXViGcB+6kTD21JTjjUKoQ3k8fVFOlr21YWqpPhpwEYv5sA88mGdPSSSSe6P7qDJbNeu3DlfjtJSiDtWvIG7nKv59WThdUrXUQNy4HXz6WVh+okqdAAAUKIsLMZMdRtMJnRB6EDXUzi7xx4Z1ICJEFcStl5DnyI59IDkSYi1Cb8yLxLZb85uwRGLN+pbtPsXIfKN9JLGidZXKsdXc+57NeaKRBS7ET1SghJDwmqWbutEa8NG36EZLAUkRI4bt9xCam9zRVEXVIoXLzARptQi3okpiZLSqDM1oFqPzFA9CkGvIxcuggxrhvTduH2zU10N5NMFALEEyQG1pH7bvgkGeFRM1n4kziRPiYSz5HWIR0sSVIaASGINevJQ2gykicb7FZGk2GnutzJxJbsnjNJSoB7g1nZA0j6CbFomMUgN2MP1lk+kloX742eGj31hjMwht8bTn4n1f+np/RWX9j+S1b70KWTZ/zOyW2S6fwLEmrbvR5tysq3UGaC2cwmv+lKwo/Pi0ddeAxCfH3uCTi6S9bzWoUNNl8IyVLiqQcRiJ0qJcGHfCgbvpfilXiqFKtaPxEiSoiMouhYC1Ii81XEkmd97oyWhN9EgHwksp4oO7ouJLOJoxHW+iM9hJ37oZhVVeIpyFwJ/JxLbfurxzSLvmQH6dsWxItqElVxyZISIJ/PbSwbBXyNdpq9YovmO2aPmOe7v95lSYUGScbMVTsiQ6cmj5DvNXFJUgLmBy7O32LFrrPY815y6STs2LV0CjurLJcoOGPj5euX5gUopbWSBaQ4a+Rl6xZSOxGC/FH1wjEanXOkOKYKDSRJdD7lQWFJkc7gKZLk/EsBZ5DJzUAy/ARA6p6La93bN3sSuMT4Hn0I92zIJz0lAriYH7ItMcKOcPwsWZsRexjXaYjRb4+bOeC8FQDrPXhCnCSFZg1ksSZ3xfSrWWRDJ/258KtpazXskVS1qR0YePTUwBNaDc5mP97Sc/lf9ytL2X3Z+TYLp+Fgw4/3kPuPjHxerENhu7Rg918Vxz8TRRtqdAAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}2 & 3\\\\5 & 4\\end{matrix}\\right]$" ], "text/plain": [ "⎡2 3⎤\n", "⎢ ⎥\n", "⎣5 4⎦" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "L * U" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "x = A.solve(b)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACYAAAAzCAYAAAD7JnqGAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACJ0lEQVRYCe2Z0VXDIBSGW48D9DhC3KDVDXQDM4J2A/uYvNYN1BG6Qp2gp26gI1hH8P+R9CAQSoDEPHDPQfCGcr/+XEJCp1VVzSYWq+v62+JO7kIca/wzRNqjHLSyTk7QPuBGi02WzRSKfaCxBPm2/bPDXQHHA6KVVGyUdj4UFZSYIxanbYH2yfztFQwATOxXlC+UK5QCxcv6BqMyJUkA+YiKqnnZaHMsg3nNn9IpK6aI4dV0rkq53N8wknU/a4lQ4nPvLde83afAuNwX3qMl7JhzrKuYo1XMmWNdv6WtPxYCN24uHu6VtL1cHDvUT78u8+8QYGKvNEO7PaOdygzmnjjzalbM1MTtyYq59TGvZsVMTdye0SoWvSVhvyvw3Vfy+3M/5DvkSu6H0t29igKTUGvUx/0QbR7IcKO+RQk+D4mdSkLcq3oAhurxyZdPFcEWC3aDyAfA6O8EVGoGP6c5yGLBCPAJACpkMx3Y1sfqi82xY25po4szCgAHvy3FKqbxiMMTQnEKm5Vq9PFxJAdDUCb9C9RqfWweHAwwzwi6Rb30Ce7qk0wxwPDsdJICiuMkAQPMHca6VKHQLlgYJMSiwRCcyX6NWk92wnJ7CrLY2wUVYbIzr5hfjV2gMYcveAFEgSE4oQgn8gu1asH3MA4SBQZFejsJis4xVaKU7QzWVc2sWFfFmlXJu/SfZyf83/aM1TWGs78eF50FRzOVvDmqP6b+5w+pIvYPIyOMz7h4xUUAAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}-1\\\\2\\end{matrix}\\right]$" ], "text/plain": [ "⎡-1⎤\n", "⎢ ⎥\n", "⎣2 ⎦" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Numerical approach" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "A = np.array([[2, 3], [5, 4]])\n", "b = np.array([4, 3])" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "2" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.linalg.matrix_rank(A)" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle 7.58240137440152$" ], "text/plain": [ "7.582401374401516" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.linalg.cond(A)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle 7.34846922834953$" ], "text/plain": [ "7.3484692283495345" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.linalg.norm(A)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "P, L, U = la.lu(A)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "array([[1. , 0. ],\n", " [0.4, 1. ]])" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "L" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "array([[5. , 4. ],\n", " [0. , 1.4]])" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "U" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "array([[5., 4.],\n", " [2., 3.]])" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.dot(L, U)" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[2., 3.],\n", " [5., 4.]])" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.dot(P, np.dot(L, U))" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[2., 3.],\n", " [5., 4.]])" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P.dot(L.dot(U))" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "array([-1., 2.])" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "la.solve(A, b)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example : rank and condition numbers -> numerical errors" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "p = sympy.symbols(\"p\", positive=True)" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "A = sympy.Matrix([[1, sympy.sqrt(p)], [1, 1/sympy.sqrt(p)]])" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "b = sympy.Matrix([1, 2])" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEEAAAA/CAYAAAC/36X0AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEzUlEQVR4Ad2b2VEcMRCGF8oBYELAGYBDWDIwJoKFDEzxBG8UzgCHYJOBcQRekwGEgDcD+/9Umi2hml3N6JjR0FWDrtbRv7p1tJadq6ur+Ww2+6nPp+fr6+sPfqabVvme0pc278CGC+WvXL4Scdv3Z7V9rvhRqA/x/BHPYQvfyTsn89iJE33x0m3JWzV+3hQofqc4nW0Fr+GPDdUPwjB5EBPRhRZi2vcYzeTvNJqghnc8hmBSdf6J6VjhA8wK0YYnfUeKP5JXktTHJ7XPRESBrnp/VX/hakLMeNGC5aaK6uRMZagqwDQmgsbdqKw4SOqnEyWBIEG+eb0ACmuJK+AP5aF2RjtUBmjkRc2e6mWn3VwtSjjsFPU0i5TSmMZ3feTfO8CgEc0iquj4lKQJzfCtwLdKM9tG7RU+U64Q9Xd3H0BpTINy0tQNEbuAaTPE2Lc8GQQNjFllcTK7ixVq5Qz4o8ovnIGdKo6GGBIfpmPq2qzBgyQQJAAAsC1eWOERgHXBCG3L95RutAN+Zj64r4tnMEoCQaPkTICQhGuS8M3ZYa5MZvqT8ihnMVybDBkxZMGlD9o/UJqJeFL4Naa9JBDU6ftAp8z4Q+zgNrWt9lgbXBPbxNopf7cTVzwTM/U7vvowNYuBoNlixWcN4ESJyVRLSeawTSoJjrpmU9ltfaWWRYMgIbk3VEkaW697UAoIvTqqEi07qGJrQs1C+2OL1gS/odJpu7h2dqL0Gc8kQBAAnDLnVrDsO81UQODU+SgwuKVmp6wgaJCTcKL4KJZYGHGYcFBaChScLjf6yKuWsoEggTkdTsKJ4s9GNnMQCJNxohQDwWm4eieKM1YTzaYJtGZNgi1s5aSrc6IwNpeygqCG5/qqd6K4ABDPDcIknCg+CNl2B9swmlC9E6UYCFoPJuNE8UHIZg4CobgTRX0EfRji6X3FzwaCj27utITjSM4DjP/0l9zVZECQpCcCoMgjzSRAkPBfBAJvCzPFs1/Scu8OjLME4bG+dxrOekmrHgRPC4pc0qo2BwHAERwtaB57O13SHI3pFB1dEyQgb4nYeRtdKrPt2Z5LmvmJkK10qnD90m3zOgejgiDh5xopD6t3ir/yHdr0oUJX2JnSmETbJS36oWdUc7AC8mALGMy6Kwga4KaVNARv1kvaqCBYoQiMC05g8IMufuDBTGMmCOtT9kvaqObQSCdh2f5Y9NAGaJMWUIYmZL2kVQECkolQ/TMBghNmv00LlFfkklaLOcwkIL9wQ8hf+lp/zqNygGpbJ5QdT9WAYEVAQM4F5jwQL1a/mkEQNCAWKWbn1RYW6IbLTtuitrWa6rA2uMfjrfy5CruAsFJnrerZZxASMOgL6NNeV171G/QvBEHo2lmIr8tgQm2UKh8MhFICNO0KZMw16un+TYAgAJKe7t8KCCzC0U/3g4KgGcvuFWrMISUc48SY1SuUInxTdzAQpAUH6rTKp/vBzEEgdPIK2UWO43OIsv3/w2AgOBJV93Q/KAjWJNjPOYXObHr0p/tBQZDcc31ZvUIOmNH//zA0CNm9QhYE1pvoK/ZguwODFaEJWb1CptXEP4OBIPsv4hVKlN9UX/+bcEtjwX8Yb6lTbZYmYes/jC818rbX3pdqJYob2ELV9luqLv8Dzfy/MQ+xDU4AAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}\\frac{2 p - 1}{p - 1}\\\\- \\frac{\\sqrt{p}}{p - 1}\\end{matrix}\\right]$" ], "text/plain": [ "⎡2⋅p - 1⎤\n", "⎢───────⎥\n", "⎢ p - 1 ⎥\n", "⎢ ⎥\n", "⎢ -√p ⎥\n", "⎢ ───── ⎥\n", "⎣ p - 1 ⎦" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.simplify(A.solve(b))" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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1oiMjETbtm0xfPhwbNiwAXl5eZU6nmnTpuGjjz6yaT99+jQCAwPx/vvva9rnzJmDb7/91qZ/Wa83qqO7774b+/btQ926dat6KEQuj0Epcinfffcdpk+fjm+//RZ+fn5VPZxKUbduXdSvX7+qh0HF8Pb2RmhoaKlfk+7u7vjyyy/x3XffYeHChXb7XLt2DT/99BPuvffeihjq3079+vV5wUlERCW2atUqREVFITQ0FLt27cLevXtx4MABfPrpp9i/fz969+6N//73v1U9TACF1wGhoaGoVauWpt1RUKqs1xtERM5krOoBEFWmyZMn4//+7/8QFBRU1UOpNO+++25VD4Fuonnz5vj111/L9FgPDw+MHj0akyZNwrBhw+Du7q7Zvn79enh6elbYVLm/m6+//rqqh0BERH8Tv//+Ox577DGMGDEC48aN02xr2rQp1qxZg7CwsCoana2goCAkJSWVuH95rjeIiJyFmVLkMk6cOIHExET06tVL025d52fr1q24//770bx5czRs2BAff/yx2m/Dhg1269bcfffdqFWrFu644w61zboe0YIFCzBixAi0bt0a9erVw9SpUwEAS5cuRVxcHOrVq4cnnngCGRkZmnGJCObMmYOmTZuiSZMmCAsLw8svv4ysrCy1T6dOnRAcHAydTofffvsNffr0QfPmzaHT6TBnzhz06tVL3V7Ul19+iejoaDRu3BgtWrRAly5d8J///Adms1l9vp555hlERUWhTZs2iIqKwqhRo5Cenl7mn0FJmc1mvPrqq2jRogVat26Nli1b4sknn8S+ffvw22+/oUmTJtDpdLj99tsxbNgwAEB2djZatWoFb29vRERE4Ndff9XULvriiy8QFxeHunXrol+/frhw4QKOHTuG++67D40aNUKbNm2QmJhodzxZWVl47rnnEB0djVq1auGee+7Bn3/+adNv3rx5iIyMREREBEJDQ/H000/j/PnzxZ7rN99847Ae0vnz5/H0008jNDQULVu2RIsWLRAfH4/ffvtN069Xr144f/683Tppq1atQp8+feDm5gag8HXcoUMH9WfarVs3LFq0CABw//33w8vLC15eXmjVqhVOnz4NoHAqY0hICAIDAzFt2jSb35n77rtPfZ1+9913MJvNGD9+PKKjoxEaGoopU6Y4PP/PP/8cHTp0QEhICJo1a2Y3iLR792706dMHoaGhaNCgATp16oRNmzYV+7yazWa0atXK5ndTMW/ePDRv3hxNmzZFixYt0KdPH3z22WfF7pOIiKq3yZMnIycnB6NGjbK7vWbNmpg0aRIaNGigabe+pqpfvz4efvhhHDt2TN1e9LrwhRdeQHR0NEJCQjBy5Ejk5+dr9nf58mU88cQTqFWrFlq1aoXHHnsMFy9e1PTZtWuXTU0kpW7jX3/9hdWrV6NVq1Zo1aoVli5dWuLrjYiICDRv3lwzJfDatWuav6k//vgjunXrhgYNGiA6Ohq7du0q9nktWk/yyy+/RFxcHEJCQhAXF4cjR46ofYcPH25Tf3Pbtm12x259Hfzrr7+id+/eaNiwIdq0aYNdu3YhKysL//d//4eoqCg0bNgQixcvdjjGWbNm4c4770RwcDDatm2LrVu32vTZsGED7rrrLjRq1Ah33HEHHn74YZw4cULdPmrUKLX218qVKzF06FC0bdsWbm5uuO+++4p9johcmhC5iA8++EAAyIkTJ2y2LV68WADIgAED5OrVqyIi8u6774per5cjR45o+gKQSZMmadqGDh0qoaGhmrYTJ04IAGnevLkcPnxYRETWrl0rAGT06NGyYsUKERE5c+aM+Pj42Oxz9OjR4uXlJbt27RIRkZSUFGnatKn06dNH02/SpEkCQAYNGiTXrl1TxzN79mzNdmvvvfeeGI1G+e6770RExGKxyJQpUwSAXLlyRUREli1bJp07d5aMjAwREcnIyJD7779fHnjgAbvnuXjxYpvntaymTJkizZo1k/T0dBERSUtLk44dO6rPUU5Ojvj7+8tjjz2meVxaWprUrVtXsrOz1ba4uDipU6eOzJw5U+0TFhYm/fv3l3/+85+Sn58vFotFHnzwQWnYsKEUFBTYnNsdd9whO3fuFBGRy5cvS+vWrSUiIkLy8/PVvqNHjxZfX1/55ZdfRETk2rVr0qVLF2nUqJH6mhK58Vor+jos+rq6cuWKNGrUSHr06KH+DP78809p0KCBjBw5UvPY/Px80ev1Mm7cOJt2f39/WbZsmYiIJCcni8lkks2bN6t9Zs2apXntPv/88+Lp6akZs4jI448/ru7H+jzuu+8+9XU3ZswYMZlMMnHiRPU1v2rVKgEgP/30k2Z/cXFxEhAQIGPGjBGLxSIiIq+//rrodDrZsmWL2u9///ufeHp6yvjx49V+77//vuj1elm1alWxz6GI/d/N0aNHi5+fnyQmJoqISF5enjz33HPi5+cnRETkmsxms/j4+EiDBg1K9Tjlmmr16tUiUvg35bHHHpOAgAA5efKk2k+5pmjatKkcOHBARET27Nkjer1ePv74Y80+u3btKnfccYf8+eefIiLyxx9/SMuWLe3+PQ0NDZWhQ4fetE3h6HqjW7du6vXGzp07xcfHR8aMGaN57NChQ8XX11dGjRolFotFzGazPPjgg9KgQQPN9ZMjyjXZ1KlTRaTweu7OO++UTp06afqV9FpJ5MZ1bnx8vHpN9/DDD0twcLBMnDhRzp07JyKF1/UGg0GOHTtm81zVqVNH3n33XREpfB089dRT4uHhofkMsGrVKtHr9fL++++LSOE11iOPPCL16tWTS5cuqf1++uknASDR0dHq4xcvXiz33nvvTZ8fIldV7YNSubm5Mn78eDEYDHaDERXt3Llz0r9/f5sPQSKFb7wTJ06Uzp07S7du3aRVq1Zy3333yfHjx50+LhJ57bXXBIBkZmbabFP++CmBIhGR8+fPCwD54IMPNH1LG5QaMWKEpr1GjRoSGRmpaevbt6/Exsaq948fPy56vV6ef/55Tb+lS5cKAElISFDblD/GO3bsUNsuXrwoFy9e1GxXpKenS40aNeT+++/X7NtsNkvdunXVYMTly5clJSVF0+f7778XAHLhwgWb86zIoFS/fv2ke/fumraEhAT5/vvv1fvDhw8XDw8PNYgmIrJw4UJ57rnnNI+Li4uTWrVqSV5ento2YsQIASBJSUlq2/LlywWAHD16VG1Tzu3pp5/W7FMJtCgXkcrP66WXXtL02717t83rpaQXWsrP7ddff9X0e//9920uEkVEateuLQ899JCmbfPmzeLm5qb+TFesWCEA5MyZM2qfnJwcef3119X7//vf/wSALFiwQG27evWq1KtXT3JycmzO46uvvlLbkpKSbF7zFotFvL295d///rdmbHFxceLj46P5fczLy5OgoCDNxWlcXJwEBgZqfn4iIi1atJAGDRqogSqRkv1uKj+rUaNGafpdvnxZ6tatK0RE5JqU67677rqrxI9Rrqnuu+8+TXtKSoq4ublpAkPKNcXw4cM1fZs2bSqDBg1S72/evFkAqMEPxRtvvOGUoJRyvbFv3z5NvxdeeEH0er3mc8rQoUNtrgO//PJLAWDzT1x74uLi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ffv2AIAvvvhCXcJdRPDEE0/giy++KNMxiIiIiCqbWuhcZydTikEpIionBqWI6G9r+/bt6vfWtZyKowSdSpopZTab8fXXXyM7O7vY/X799ddqwOvll1/G5MmT1W06nQ5z5syBl5cXRASDBg1CYmJiicZLREREVJWUmlJGg51C5wYGpYiofFhTioj+tqyDUhcuXCjRYxxlSrm7uwOwDUqNGDECCxYsQOfOnbF161b1WFOmTMHFixeRnZ2Na9euYe/evQCAoKAg1KlTB927d0doaChOnz6NJUuWYPDgwRgwYACaN2+OnJwc9OzZEykpKfDw8CjbyRMRERFVArM6fc82KKW/nj2Vb7ZU6piIqPpgUIqIbmrKlClYvHgxNmzYgIYNG1b1cFS//vqr+n12djbMZrNNBlRRN8uUsli0F1XKtMCjR4+qbffddx927txpd//9+/dXvz9x4gRyc3PVwFNYWBhWrVqFXr16IS0tDb169VIDXURERES3ouz8wmsnk9F2ko2nW+H1VE5+2WtyEpFr4/Q9IipWQkICXnnlFRw/fhxDhgyp6uFoWAeKAGDPnj03fYyjQueOMqXS09MBABkZGWrbiRMnAACenp4ICQlB48aN0bp1a9x7772aVa90Op1NJlTPnj3x3HPPASh8bhcuXHjTMVeGa9euoXfv3njqqaeqeihERER0C0nLKqzfWdPLzWabv3dh25XrfYiISsvpQalvvvkGbdu2RadOnRAXF4eDBw8W23/79u248847ERcXhzvvvBPbtm1z9hCJyIG8vDzcc8896v2dO3fi6tWrFbZ/i8WiFgEvi3Pnzmnu//TTTzd9TGlrSinBqJycHJu2F198EX/++SeOHDmCPXv24Ntvv4WXl9dNxzBv3jzUr18fAPD+++/ftH9F+u2333Dt2jVN2969e3H77bdjw4YNWLx48U3fp4mIiMh1XMnKAwDU9HK32ebnWdh29XofIqLScmpQKjExEUOGDMHnn3+Obdu24emnn0avXr1sPhApTp06hX79+mHatGnYunUrpk+fjv79++PUqVPOHCaR04hoiz7+/PPP+O9//2vTfqsaOHAg0tLSABTWYBIRjBs3rkL2nZubi3r16sHT0xPffPNNmfahZDEp9aGSkpJu+hhHmVImkwmA7fS9zMxMAFBX+QNuBKjCwsLKMmzodDr069cPAPDnn3+W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kZFx09/Frl27CgBp3LixHDlyRH18zZo11e9fe+01m8c1b95c/flbmz17tvr6sWb9nL7yyisyb9489WdfXo0bN7Y7FntWrlyp/kytnTx5UjPG4OBgddvly5fV11xwcLAAkA4dOhR7nPDwcAEKA70i2uyXe++9V4DCbLKPPvpIfU2GhYVJQUGBegzl+dm1a5f62CtXrsimTZtk5syZ8txzz8m9994r//nPf8RsNsuMGTM0j3v88cflzJkzkpubK3/99ZcMHz5czbZs0KCBuk8lQw6AxMfHS2pqqprJ5evrK9nZ2RITE6N5fry9veWxxx6TQ4cOyYULF+TcuXNy5swZOXnypFy4cEFECt/nld8LJfPMOosMKHx/P3XqlFgsFrnzzjvV382ff/5Z8xpU3g/Cw8Pl6aeflp49e6rBGuX3QPl+xIgRkpWVpb4urN8fiv7jQqfTOfzd9/LykrvuusumvUePHtKyZUubQFNQUJDdcVsfq3PnzvLss8/Kc889Jy1bttQEz4r+M6Bx48Y277f16tVTf4alvd13333i7e3tcLunp2eJMnfLwhUDNK54zkTk2JGUdAkdt1aiXt/gsE//udskdNxa2fR7isM+RORabomgVHXNlOrdu7d6IdykSROb/+Q+++yzNtMw2rRpI926dZOAgAC7GVHKRfy5c+fU40yYMEH9QFKzZk3ZsWOHfPHFF3LbbbeJh4eHGlBRPjCmpaXJmDFjJCYmRmbPnq1eoF++fFnGjBmjfvBxd3eXF198UY4ePSqPPvqo1KxZ0+GYBgwYIBkZGfLDDz/IwoULNVMuLl26JLNnz5a7775bgoKCJCIiQh566CGbgFX//v01H2pXrFghNWvWFE9PT6lXr5506NBBxo4dK1u2bJGVK1fKv/71L3n22Wfl1VdflTfffFPi4uLEz89PgoKCZObMmXYzHd566y01OKTT6eSnn36S48ePa85rwoQJkpmZKe3btxedTicPP/xwsT9ni8WiToe0dunSJXnzzTelV69esnDhQikoKJDNmzdL3bp1RafTSWBgoAwZMkROnjxZotfTnj17pF69ehIWFqaZarZy5UpN9pSbm5vs27dPbfP09LT5IOjr6ysRERESERGhaXd3d7f5gFj0w3VpslqUTAfrKVK7du2SkJAQu/tv0aKFzZTNolO8fvvtN80HdXd3d3nuueckOzvb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QCCgGTNmaO/evVqyZInuvvvueHcVAAAgYZBDAYgWZkoBsIyamhpVV1crPz9fZWVlWrp0qb7yla9o7NixuuWWWyRJq1atinMvAQAAEgs5FIBooSgFwDLWr18vSerbt2+rT/LS09MlSbW1tTHuFQAAQGIjhwIQLRSlAFjG6tWrJUl33XWX7PbIP3+HDh2SJA0ePDjm/QIAAEhk5FAAooWiFADLWL16tVwul2bMmNFq36ZNmyRJ06dPj3W3AAAAEho5FIBooSgFwBJ2796t0tJSXXLJJcrJyYnY969//Uvbt2/X0KFDdf3118engwAAAAmIHApANFGUAmAJa9askSRdc801rfbdf//9stvtevLJJ5WSkhLrrgEAACQscigA0eSMdwcAIBaCz0KYOnVqxPZly5bprbfe0uOPP64rrrgiHl0DAABIWORQAKLJZowx8e4EAERTIBBQfn6+Tpw4odraWqWmpkqSfv/732vBggVasmSJ5syZE+deAgAAJBZyKADRxkwpAElvy5YtOnHihIYPH6758+erT58+2rVrl/r06aPt27dr4MCB8e4iAABAwiGHAhBtFKUAJL3gtPPvfe97mjt3bpx7AwAA0DOQQwGINh50DiDpBROqKVOmxLknAAAAPQc5FIBo45lSAJJaTU2NcnNz5XK5VFFRIYfDEe8uAQAAJDxyKACxwEwpAEntzTffVH19vSZOnEgyBQAA0EHkUABigaIUgKT11FNPad68eZKkjz/+WI899piOHTsW514BAAAkNnIoALHC7XsAAAAAAACIOWZKAQAAAAAAIOYoSgEAAAAAACDmKEoBAAAAAAAg5ihKAQAAAAAAIOYoSgEAAAAAACDmKEoBAAAAAAAg5ihKAQAAAAAAIOYoSgEAAAAAACDmKEoBAAAAAAAg5ihKAQAAAAAAIOYoSgEAAAAAACDm/j/HupZCnpI9lwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Symbolic problem specification\n", "p = sympy.symbols(\"p\", positive=True)\n", "A = sympy.Matrix([[1, sympy.sqrt(p)], [1, 1/sympy.sqrt(p)]])\n", "b = sympy.Matrix([1, 2])\n", "\n", "# Solve symbolically\n", "x_sym_sol = A.solve(b)\n", "x_sym_sol.simplify()\n", "x_sym_sol\n", "Acond = A.condition_number().simplify()\n", "\n", "# Function for solving numerically\n", "AA = lambda p: np.array([[1, np.sqrt(p)], [1, 1/np.sqrt(p)]])\n", "bb = np.array([1, 2])\n", "x_num_sol = lambda p: np.linalg.solve(AA(p), bb)\n", "\n", "# Graph the difference between the symbolic (exact) and numerical results.\n", "p_vec = np.linspace(0.9, 1.1, 200)\n", "\n", "fig, axes = plt.subplots(1, 2, figsize=(12, 4))\n", "\n", "for n in range(2):\n", " x_sym = np.array([x_sym_sol[n].subs(p, pp).evalf() for pp in p_vec])\n", " x_num = np.array([x_num_sol(pp)[n] for pp in p_vec])\n", " axes[0].plot(p_vec, (x_num - x_sym)/x_sym, 'k')\n", "axes[0].set_title(\"Error in solution\\n(numerical - symbolic)/symbolic\")\n", "axes[0].set_xlabel(r'$p$', fontsize=18)\n", "\n", "axes[1].plot(p_vec, [Acond.subs(p, pp).evalf() for pp in p_vec])\n", "axes[1].set_title(\"Condition number\")\n", "axes[1].set_xlabel(r'$p$', fontsize=18)\n", "\n", "fig.tight_layout()\n", "fig.savefig('ch5-linear-systems-condition-number.pdf')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Rectangular systems" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Underdetermined" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "unknown = sympy.symbols(\"x, y, z\")" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "A = sympy.Matrix([[1, 2, 3], [4, 5, 6]])" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "x = sympy.Matrix(unknown)" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "b = sympy.Matrix([7, 8])" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "AA = A * x - b" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\left\\{ x : z - \\frac{19}{3}, \\ y : \\frac{20}{3} - 2 z\\right\\}$" ], "text/plain": [ "{x: z - 19/3, y: 20/3 - 2⋅z}" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.solve(A*x - b, unknown)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Overdetermined: least squares" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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4ONtOae5yQRr1sB990FxsbJOo4GXXoK771YqrQsJyq3qYofa+219Tj8/PwoLC83f174J0bt3b7RaLUeOHLEIdl9++WUGDhzI+PHj6z32zTffzDvvvENeXh633HKLeX1SUhJZWVlcd9115iCxrKysRW1tbjvd3NyIi4tjx44deHt7c/nll5u3rVmzxpzub82ECROsjsFvyLRp0yzS3mfOnMmqVasICwsDsBhDXuWll15i3rx5+Pr6AsprVbXf2bNnSUhIsMl5avL29kan09GhQwfzuvrOJYQQQggh2o4teq/VKjURgRH1bq89p3lV51jVnOYJ2QmsS1pHlC7qgjcD9Hq45x74+OPqddHR8MknMGhQ9fmae5PBlUhQbkVrppE7isGDB7No0SLOnz9Phw4d+LjmbwtK4bYHHniAl19+meuvv54OHTpw7NgxVq1axa5duxo89s0338yiRYv45ptveOGFF8zre/TogZeXFz/99BPjxo2jsrLSaq9tU9raknaOGzeOzZs3M3PmTLRarXl9c9PXjcb6x9l4eXlZTBvm6elJcHBwvTdjVq5cSZ8+fTh//jznz5/n5MmTVFRUcOWVV/Ldd98xc+ZMXn31VZKSkiguLiY2NrZZ58nNzeWXX37hyiuvRKVSsXXrVm6++Wbc3d0xGo0NnksIIYQQQrQNW/ZeN6Qpc5o3FNzv2gU33ACnTlWv+8c/lB5yH5/q52TLFHln5hS3IU6fPs3111/PpEmTGDhwIEOHDmXLli32bpZD+P7775k1axagTJNWc1z1999/b546LS4uji+++MK8bdKkScyePZuRI0dy5ZVXEhMTYz5G1X5PPPEEV111FaNGjWLChAn885//5OOPPyYoKKjBNoWHhzNhwgSuvfZai+m1OnbsyEcffcQnn3zCiBEjuPbaa+ncuTOZmZlMnjyZVatWsXz5cjIzM4mLizP3jl+orc1t54gRIzhx4gRXXHFFY17qBmVnZ5sLx33wwQckJSU1+1ifffYZ8+bNY9q0acTExBATE8N1111HQEAA/fr1w9PTkz59+nDDDTdw77330rlz52af69SpU9xxxx1MmDCB1atXc+LECZ5++mm2bdtm83MJIYQQQoimq9177a/xx03tZu69zinOYV3SuhYXYoOWz2luNMKyZTB2bHVAHhAAn30Gb7xhGZCv3r2a/Rn70XnriAqKQuetY3/GflbvXk1idmKLn4szUZlq18V3MDk5OQwfPpw333yTyZMnYzKZmDVrFuPGjbMYO1uf/Px8AgIC0Ov1+Pv7W2wzGAycOnWKyMhIi55S0T5899139OrVi969e7f5uePi4lizZg0REREucZ76yO+YEEIIIWylvaY6J+cls3jLYnTeOvw1/nW26w16cktyeWLiEw32XtdU32t58vxJHvrhIXw8fAjyDiJAE2DRY97Quc6cgVtugRo1nhk9Gj76CGrWAzaajCzfsZz9GfstUuRBmaItITuB2JBY5o+d79Tvb0NxaG0On76+YsUKhg8fbp6ySqVS8dxzzzWYKixEQwwGA1lZWfj5+dklIAf46quvCAgIcJnzCCGEEEK0pvac6tyY3uv0gvR6e69rq++1HNhpIAfOHuDU+VPkFOfQQduBYJ9gonXRBPsEm+c0jw2JrTOn+ddfw+23Q06O8r1KBQsXwuLFyjzkNdkqRd6VOPythy+//JIJEyZYrAsPD7dbz59wbnv37qVfv34kJiYyduxYu7WjY8eOdSriO/N5hBBCCCFaS3tPdfbT+KF111JUXmR1e1FZEVp3LX4avwseq77XcmvyVub/NJ/tp7czsMtAOvl0wlBpIEWfwq9pv3Ly/Emrc5oXFyvF3KZNqw7Iu3WDn3+GJ56oG5BDy1LkTSYTn3zyCc8888wFn6szceie8qKiIk6ePInRaOTGG28kOTkZb29v7rrrLq699lqrjyktLbWY9zo/P7+tmiucwLBhwzhx4oS9myGEEEIIIRrBltXAnVV4QDjRuuh6073r672urb7X0s/Tj/LKcvSleroYuxAREIGvhy9JOUlkF2eTVZTFobOHuK7fdRaZCQcOKMXcEmvcE5k+XZl7vKHSTjVvMlhLx6/vJsPx48f55z//yY8//oibmxuXX345gwcPbvA5OwuHDsrz8vIAWLhwIZs3byY2NpY9e/YwYcIEKisruf766+s8ZtmyZSxdurSNWyqEEEIIIYSwNUl1VqYxmxE9g1R9KgnZCYT6h+Lj6UNRWRFp+Wl1eq/rU99rqS9Vxol38u5ETnEO+lI9wT7B6Lx1yrbiXIrKi5jVfxY9OvTAaISVK+HRR6FqdmMvL2XdP/5x4bnHm3qTobS0lBUrVvD000+bO18rKyv5/PPPXSYod+jbSVWVu6+88krzNEzDhw9nxowZvPTSS1Yf8+ijj6LX681Lampqm7VXCCGEEEIIYTstrQbuKmKCY5gzYg5DQoaQW5LL0dyj5JbkEhsS2+jp0Op7LUsrSqkwVuDt6U2FsYLSCiXwValUBGoD6R7YHXe1O0VlRWRkwKWXwoMPVgfkQ4bAvn1w550XDsih+iaDzltHQnYCeoOeCmMFeoO+Tor8li1bGDRoEIsXLzYH5GFhYaxbt46nn366aS+iA3PonvLg4GA0Gg2hoaEW67t3787mmmX9atBoNGg0mrZonhBCCCGEEKIVNTfV2RXFBMcQpYtqdgX6+l5LjbsGd7U7xWXFuKvd0bhbxlJVr/GuzZ14dA7k5lZve/hhePJJaGr4VXWToargXHpBOlp3LbEhsUyPnk6QKYhbbrmF999/3/wYNzc3HnjgAR5//HF8fX2bdkIH59BBubu7O6NGjSIjI8Ni/dmzZwkPb3jMhBBCCCGEEMK52Wo8tatQq9TNTtOv77UM0AQQ5BXE0XNHiQqKIkBTPXOPyWQiOSubM1/O4/2vO5vXd+0K770Hf02Q1SzWbjKE+oXyzv/eYf78+Zw/f96876hRo/jvf//LwIEDm39CB+bQQTnA/PnzmTVrlnmu49OnT7N27VpWr15t76YJIYQQQgghWpGtxlOLhl9LDzcPAjQBuKvdyS/NN6//Y5+G3195Af2Z6oC8McXcmtKmqpsMBw8e5IZ7buDXX381bw8MDOTZZ5/ljjvuMA9tdkUqk8lksncjLuSDDz7gxRdfxNvbm4qKCu68805uu+22Rj22oUnbDQaDOdjXarWt0XQh2jX5HRNCCCGck9FkbHaadGuwNrd2jC6G6dHTXX6eclur77Uc0GkAf2T9QVJOEsWlZRz/+loOfTYTY6Xyvnt7w0svNa6YW1Pk5+fz+OOPs3r1aoxGo3n9zTffzPPPP0+nTp1sd7I21FAcWptTBOUtIUG5EPYjv2NCCCGE87EWtEXroi2mw7IHR7tR4Mzqey2NJiPbD5zhX3d24ODe6oJww4fD++9Dnz62a4PJZOKzzz7jgQcesBiuHBUVxauvvsqkSZNsdzI7aEpQ7vDp60IIIYQQQoi2kZidyOrdq8kpziEsIAwfDx+KyovYn7GfVH1qoyt9t4aWjKcWlqy9liYTvLtGzZw5oRQW/rWfGhYuVBYPD9ud/+jRo9x777389NNP5nVarZZFixbx4IMPtrvC3RKUCyGEEEIIITCajKxNWktOcY5FITB/jT99g/uSkJ3AuqR1ROmipIfaxeTkwF13wVdfVa/r0QM++ABGjbLdeUpKSnjmmWdYsWIFZVVzqqFMgb169WoiIyNtdzInIr9NTmjPnj3ExcWhUqmIjo7m8ccft0s74uPjWbNmjV3ObW/l5eXccsstXHTRRQwcOJAHH3yQuXPnMnfuXPM+eXl5LFmyhLy8PLu1UwghhBCisVL0KSTlJBEWEGZR5RyUOatD/UNJzEkkRZ9ipxaK1vDddzBwoGVAftttcOCAbQPyjRs30q9fP5566ilzQB4eHs769evZsGFDuw3IQYJypzR8+HDi4+MBWLBgAUuXLrVLO9pzUP7RRx+xY8cOdu/eze+//063bt0IDQ0lNDTUvE9eXh5Lly6VoFwIIYQQTqGgtABDhQEfDx+r2308fTBUGCgoLWjjlrUNo8lIcl4yh84eIjkvGaPJeOEHObHCQrj7brj8cqga0h0UpATnb78Nfjaa+v3kyZNcddVVXHXVVZw6dQoADw8PHn30URISErj66qttcyInJunrQjRDcnIy4eHhqNVq1Go18+bNs3eThBBCCCFaxE/jh9ZdS1F5Ef6auoWpisqK0Lpr8dPYKFpzII5a3K61/Por3HwznDhRve7SS5VgvGtX25yjpKSEFStWsGzZMkpLS83rJ06cyCuvvEJMjOu9rs0lPeUubs2aNQwZMoRx48YxevRo1q5da952/vx5br31VoYPH86ECRMYN24cO3futHj8ypUrGTZsGBMnTmT06NGsXLkSgBdffJE1a9Zw4MAB4uLiiIuLo6SkxGob6jsGQGFhITfccAORkZFcfPHFvPjii0RERBAdHc3LL7/M8uXLiYiIIC4uDgC9Xm9O3a/KFgD4/PPPGT16NBMnTmT48OHMmzfP/MtfWFhIXFwcWq2W5557jptvvpnhw4ejUqnMvdjPPvssgwcPZsKECUyYMIHt27fX+5ouXLiQd955x/zc586dy4svvkh0dDQREREAJCQkMGvWLABmzZpFXFycxWsvhBBCCOFowgPCidZFk6pPpfYETSaTibT8NGJ0MYQHhNupha2jqrjd/oz96Lx1RAVFofPWsT9jP6t3ryYxO9HeTbSZsjJ47DEYO7Y6IPf2htdeg2+/tV1AXpWqvmTJEvM1edeuXfn444/ZvHmzBOS1SE+5C/vuu+946KGHOHDgAKGhoRw7dozBgwfz008/MWrUKNLT00lISGDnzp14eHiwfft2pk2bxvHjxwkMDGTPnj0sWrSItLQ0AgICSEpK4sorr2Tu3LnMmzeP/Px84uPjLYLj2ho6BsCDDz7I8ePHSUhIwMvLi+eee460tDTeeustZs+eDSjTalWdIyAggPj4+DrjnD799FMWLFjA1VdfTXl5OVdffTXPPvssixcvxtfXl/j4eCIiIvjoo4/YsmULgYGBTJ06FZVKxWuvvcY777zDrl27CAwMZMeOHVxyySUkJSXRvXv3Os/pqaeewt3dvc5z79ixI0uWLAGgb9++fPLJJ0RGRvLJJ5+Yg3UhhBBCCEelVqmZET2DVH0qCdkJhPqH4uPpQ1FZEWn5aei8dUyPnu5SRd7aU3G7w4eV3vEDB6rXjRwJ770HvXvb5hwnT55k7ty5bNiwwbzO3d2duXPnsnjxYvxslRPvYpz7J6uVDBsGoaFtuwwbZvvnsWzZMmbNmmUe59y7d28mTpzIq6++CkCvXr1Yu3YtHn/NbzBu3Dg8PDzYvXs3AOnp6ZSXl5OZmQlAdHQ07777bpPa0NAxCgoKeOedd7jnnnvw8vIC4P77768TcDfG888/z5VXXgkoY1SmT5/Od999V2e/6dOnExgYCMCmTZsICAhg2bJl3HHHHeb1Y8eOpWfPnrz11ltNbocQQgghhDOLCY5hzog5DAkZQm5JLkdzj5JbkktsSKxdp0NrLe2huJ3RCC+8AEOHVgfk7u7w9NOwfbttAvKSkhKWLl1K3759LQLyiRMncvDgQZ577jkJyBsgPeVWZGZCerq9W9Fyhw8fJj093Zz6DZCTk4NWqwXA09OTTz75hHXr1gGgVqs5f/68OYC+7LLLGDduHP3792fKlCncdNNNXHvttU1qQ0PHOHnyJOXl5fTo0cO8v1arpVOnTk1+rkVFRdx4442cPn0aT09PMjMzLcauVKlZiA2UGwOpqam88847bNy40by+oqKCggLXLGIihBBCCNGQmOAYonRRpOhTKCgtwE/jR3hAuNP3FFvTmOJ26QXpTlvc7uRJuPVW2Latel3fvspUZ0OGtPz4JpOJdevWMW/ePJKTk83ru3btygsvvMD111/frA639kaCciu6dHGNc6pUKm666aZ6q7O/8MILPP300+zdu5devXoBEBERYR5DpNVq+fHHH9m9ezdr1qzhzjvv5JVXXiE+Ph5398b96DR0jKrzXOgXtfb2yspKi+8LCwuZNGkS119/PR9++CFqtZo1a9aYU8lrcnNzs/i+qg0PPfQQt956a6OekxBCCCGEq1Or1EQERti7Ga3OVYvbmUzw+uvw0ENQVKSsU6nggQeUHvK/+uhaJCkpiTlz5vDjjz+a10mqevNIUG7F3r32bkHLzJo1i08++YT+/ftz5MgRi21btmwhKSmJe+65h61btzJ06FBzQA6Y5wwE5RetoqKCESNGMGLECO677z769+/PwYMHGTp0KGp19d1Sg8GAm5ubORW+MceIiorCw8ODEydOMH78ePNxsrKyLI7h5+dHYWGh+fv0WmkMSUlJZGVlcd1115nbVPN5NMTf35/w8PA6r9Onn36Ku7s711xzTaOOY03N18doNFJSUoKPj/W7sEIIIYQQou1VFbfbn7HfYkw5VBe3iw2JdaridqmpcMcd8MMP1esiIuCdd6BGAm2z5efn88QTT7Bq1SoqKirM6y+++GJWr14tRdyawfVyUAS7du0C4LHHHuPrr7/m4MGDgJLi/e9//5vo6GgA+vXrxx9//EF2djYAv/zyCxlVkxT+dZxnnnnG3JtcWVmJRqMxFz8LDg7m/PnzAMybN48fav7mN+IYvr6+3Hbbbbz22mvmyu2vvfZanV74wYMHk5iYaD7Xxx9/bLG9R48eeHl58dNPP5nPsX79+ka/Xo899hjvvvsuKSnKWKHs7GyWLl1K//79G30Ma4KCgsxDAvbu3WsuXCeEEEIIIRxDVXE7nbeOhOwE9AY9FcYK9AY9CdkJTlXczmSCd9+FAQMsA/I774Q//mh5QG4ymXj//feJiorihRdeMAfk3bt358svv+SHH36QgLyZpKfcCe3atctcvfzJJ5/kv//9r9X9pkyZwhtvvMHNN9+Mr68varWa++67j4kTJwJKMJqSksJFF13EgAED6NWrF126dGH58uW4ubkxevRovvnmG0aNGoWXlxcGg4EvvvgCnU4HwDXXXMM777zD2LFjCQgI4OKLL67Thgsd4/nnn+fOO++kb9++9OnTh+uuu47OnTtbHGPSpEnMnj2bkSNH0rt3b+68804A5s6dy8KFC7n22mv56KOPmD9/Pt9//z1du3alc+fObN68mcmTJ7N582bi4uLIzMxk+fLl7Nixw6KI25133klhYSGXXnopQUFBuLm5sXLlSqKioqy+rgsXLuSDDz4gLy+PuLg4li5dyu+//84bb7xBZmYmcXFxbNy4EV9fXx566CHz6//CCy804V0WQgghhBBtoaq4XdU85ekF6WjdtcSGxDI9erpTFLfLzIS77oKvv65e160bvPWWMv94S+3bt485c+ZYTJ+s1WqZP38+jzzyCN7e3i0/STumMtWehNDF5OfnExAQgF6vx9/fcpyIwWDg1KlTREZGmoufCfuLiIhgyZIl0rPsAuR3TAghhBDOwmgyOmVxu88+g3/+E3Jzq9fdfDOsWgUdOrTs2FlZWTz22GO8/fbbFnPXT58+nRdffJHIyMiWncCFNRSH1iY95UIIIYQQQoh2z9mK22Vlwb33whdfVK/r1Ekp8DZ9esuOXVZWxiuvvMLSpUvR6/Xm9VFRUaxevZopU6a07ATCguPf+hHtRmFhoUWa+csvv2zvJgkhhBBCCOFwPv8c+vWzDMivuQYOH255QP79998zcOBA5s2bZw7I/f39eeGFF/jjjz8kIG8F0lMuHIavry/x8fH2boYQQgghhBAOyVrveFAQvPwyXH+9Mu1Zcx07dowHHniAb775xrxOpVJx++2389RTT9Wp+yRsR4JyIYQQQgghhHBwn32mBOQ5OdXrZs6EV1+FlsTL+fn5PPXUU6xcuZLy8nLz+tGjR7N69WqGDh3aglaLxpCgXAghhBBCCCEcVH2946+8An/7W/N7xysrK/nf//7HwoULycrKMq/v1q0bK1as4P/+7/8s5m0XrUeCcsBoNNq7CUK4JPndEkIIIYRoHpNJ6R2/7z7L3vFrrlF6xzt1av6xt2zZwty5c/njjz/M6zQaDQ899BALFizA19e3BS0XTdWug3JPT0/UajVnzpwhODgYT09PuRskhA2YTCbKysrIzs5GrVbj6elp7yYJIYQQQjiNM2eUac7Wr69eZ4ve8RMnTvDwww+zdu1ai/V/+9vfePbZZ4mIiGh+o23MWaeoa452HZSr1WoiIyPJyMjgzJkz9m6OEC7H29ub8PBw1GrX/AMqhBBCCGFLJhOsWQMPPAA1ZiJrce941bjxVatWUVZWZl4fGxvLypUrGTduXMsabmOJ2YmsTVpLUk4ShgoDWnct0bpoZkTPICY4xt7Ns7l2HZSD0lseHh5ORUUFlZWV9m6OEC7Dzc0Nd3d3yT4RQgghhGiE06fhzjvhhx+q13XqpPSOX3tt845ZUVHB//73PxYtWmQxbrxLly4sW7aMW265xeE6TxKzE1m9ezU5xTmEBYTh4+FDUXkR+zP2k6pPZc6IOS4XmLf7oByUUv8eHh54eHjYuylCCCGEEEKIdsRohP/+F+bPh8LC6vU33QQrVypp683xww8/8OCDD3L48GHzOo1Gw4MPPsiCBQvw8/NrWcNbgdFkZG3SWnKKc+gb3NfcueOv8advcF8SshNYl7SOKF2US6WyS1AuhBBCCCGEEHZw7BjccQds21a9rls3eP11uOKK5h0zISGBhx56iO+++85i/XXXXceKFSscatx4bSn6FJJykggLCKuTbalSqQj1DyUxJ5EUfQoRgRH2aWQrcJ3bC0IIIYQQQgjhBCoqYMUKGDjQMiC/807488/mBeRZWVn885//ZODAgRYB+fDhw9mxYwefffaZQwfkAAWlBRgqDPh4+Fjd7uPpg6HCQEFpQRu3rHVJT7kQQgghhBBCtJF9+5Te8f37q9dFRsJbb8GkSU0/nsFgYNWqVTzzzDPk5+eb14eFhbF8+XJmzZrlcOPG6+On8UPrrqWovAh/jX+d7UVlRWjdtfhpHC/1viWc490RQgghhBBCCCdWXKyMGx8+vDogV6ngX/+CQ4eaHpAbjUY+/vhjYmJiWLBggTkg9/X15emnn+bIkSPccMMNThOQA4QHhBOtiyZVn4rJZLLYZjKZSMtPI0YXQ3hAuJ1a2Dqkp1wIIYQQQgghWtHPPyup6SdOVK/r31/pHR8xounH27p1Kw899BB79+41r1Or1dxxxx0sXbqULl262KDVbU+tUjMjegap+lQSshMI9Q/Fx9OHorIi0vLT0HnrmB493aWKvIEE5UIIIYQQQgjRbEaTkRR9CgWlBfhp/AgPCDcHjefPw8MPw9tvV+/v6QmLFsEjjyj/b4qkpCTmz5/P119/bbF+ypQpPP/88wwYMKClT8fuYoJjmDNijnme8vSCdLTuWmJDYpkePd3lpkMDCcqFEEIIIYQQolkSsxPNwaOhwoDWXUu0LprpUTNI2BbD/fdDZmb1/mPHwptvQnR0086TlZXF0qVLef3116msrDSvHzhwIM899xxTpkyx0TNyDDHBMUTpouq92eFqJCgXQgghhBBCiCZKzE5k9e7V5BTnEBYQho+HD0XlRew8lMobD5Zz+rfqff384Nln4a67oClDvIuLi1m5ciXLly+noKC64njXrl156qmnuOWWW3Bzc7Phs3IcapXapaY9a4gE5UIIIYQQQgjRBEaTkbVJa8kpzqFvcF9UKhXGShUJG6bw89sTKTdozPtedRW8+iqEhjb++BUVFbz77rssXryYM2fOmNf7+voyf/585s2bh7e3ty2fkrAjCcqFEEIIIYQQoglS9Ckk5SQRFhCGSqUi41gXNjx/NRlHu5r38epwnudfKueeWzqhUjXuuCaTiY0bN7JgwQISEhLM693c3PjHP/7BkiVL6Ny5s62fjrAzCcqFEEIIIYQQogkKSgswVBjwqAjkh/9dzK4vRmIy/pWXrjIRe9Uewme+yrhLH0Kl6tSoY+7atYtHHnmE7du3W6yfNm0ay5YtIyameQXOGipEJxyDBOVCCCGEEEII0QR+Gj9y/xjOpjduIz+ro3l9cEQWVz24Af9eh8ktMeGn8bvgsY4ePcq///1vvvzyS4v1o0aN4rnnnmPMmDHNbmd9hehmRM9wySrmzkqCciGEEEIIIYRopDNn4OG53fn584fM69w8Kphwy1ZGX/8LavcKErLTiA2JJTwgvN7jZGZm8sQTT/DGG29YVFSPiopi2bJlTJ8+HVVj896tqK8Q3f6M/aTqU5kzYo4E5g5CgnIhhBBCCCGEuIDKSnjlFVi4EAoKqoPl4P6HuHzu14RGllBYVkTa+TR03jqmR0+3miau1+t57rnneOmllyguLjav79KlC0uWLOH222/H3b1lYZq1QnQA/hp/+gb3JSE7gXVJ64jSRUkquwOQoFwIIYQQQgghGrB3rzKd2b591euCg2He4jNUDtzAkdwjHM1V0sNjQ2KZHj29Ti+0wWDglVde4ZlnnuHcuXPm9b6+vjz88MPMmzcPX19fm7S3diG6mlQqFaH+oSTmJJKiT2k30445MgnKhRBCCCGEEMIKvV7pGX/lFTCZqtf/4x+wfDl07NgVo2lBg4XUKioqeO+993j88cdJS0szr/fw8OCee+7hscceo1OnxhWDa6yqQnQ+Hj5Wt/t4+pBekE5BaYHV7aJtSVAuhBBCCCGEEDWYTPDZZzB3LmRmVq8fMAD++18YPbp6nVqlttrbbDKZWLduHY899hiJiYnm9SqViptuuomlS5cSGRnZKu330/ihdddSVF6Ev8a/zvaisiK07tpGFaITrU8GEAghhBBCCCHEX44ehalTYdas6oDc2xtWrIDff7cMyOvz888/M2rUKGbOnGkRkF9xxRUcOHCA9957r9UCcoDwgHCiddGk6lMx1eziR7lZkJafRowupsFCdKLtSE+5EEIIIYQQot0rLoZnnoHnnoOysur1V18Nq1dD9+4XPsbu3bt57LHH2Lx5s8X60aNHs3z5csaNG2fjVlunVqmZET2DVH0qCdkJhPqH4uPpQ1FZEWn5DReiE21PgnIhhBBCCCGEUzOajA2O676Qr7+Gf/0LkpOr14WHw6pVMH36hR9/+PBhFi1axLp16yzW9+/fn6effpqrrrqqRdObNUdMcAxzRswxz1OeXpDeYCE6YT8SlAshhBBCCCGcVmJ2ojnwNFQoFdCjddHMiJ5xwcDz1CmYMwc2bqxe5+EBDz6oFHjzsV4nzezEiRMsWbKEDz/80CJNvEePHjzxxBPMmjULNze3ljy9FokJjiFKF9WiGxai9UlQLoQQQgghhHBKidmJrN69mpziHMICwvDx8KGovIj9GftJ1acyZ8Qcq4F5aamSpv7002AwVK+fNEmptB4d3fB509PTeeqpp3jrrbeoqKgwrw8JCWHx4sXcfvvteHh42Opptkh9heiE45CgXAghhBBCCOF0jCYja5PWklOcQ9/gvub0cH+NP32D+5KQncC6pHVE6aIseoa//17pHT92rPpYISHw4otw/fXQUJZ5VlYWy5cv59VXX6W0tNS8vmPHjjz66KPce++9eHl52fy5CtcmQbkQQgghhBDC6aToU0jKSSIsIKzOeG2VSkWofyiJOYmk6FOICIzg1Cl44AFYv756Pzc3JUBfsgT8684cZnbu3Dmef/55Vq1aRXFxsXm9r68vDz74IPPmzcO/oQMI0QAJyoUQQgghhBBOp6C0AEOFAR8P6wO/fTx9SC9IJzuvkDUr4dlnLVPVx45VUtUHDqz/HPn5+bz00ku8+OKL5Ofnm9d7eXlx33338cgjj6DT6Wz0jER7JUG5EEIIIYQQokEtrW7eGvw0fmjdtRSVF+GvqdtLXVhaRNbvo5n5UBRpKdXru3RRxpPfeGP9qepFRUW8/PLLrFixgnPnzpnXe3p6cvfdd/Poo4/SpUsXWz8l0U5JUC6EEEIIIYSoV0uqm7em8IBwonXR7M/YbzGmHCD7dEe+fGk6Zw8ONq9zd4e5c2HRovpT1YuLi3nttddYsWIFWVlZNR7rzm233cbChQsJCwtrpWck2isJyoUQQgghhBBWNbe6eVtQq9TMiJ5Bqj6VhOwEQv1Dca/owJZ3x7Bv7QRMldWhzuTJ8J//QEw9TS0pKeH1119n+fLlnD17tvocajU33XQTixcvpmfPnq39lEQ7JUG5EEIIIYQQoo7mVjdvSzHBMcwZMYcvE9by3Zc69r1/HYa8DubtYWHw0kswc6b1VHWDwcCbb77JsmXLyMjIMK9XqVT87W9/4/HHHyemvkheCBuRoFwIIYQQQghRR1Orm9tL/skYNjwSzZ491W3UaEw89JCKf/8bvL3rPqa0tJS3336bZ555hvT0dItt1113HY8//jj9+vVr7aYLAYB9qzM00X/+8x9UKhXx8fH2booQQgghhBAurTHVzQ0VBgpKC9q4ZYqMDJg9G0aOxCIgnz4dEhJUPPVU3YC8tLSU1157jd69e3PvvfdaBOQzZ87k4MGDfPbZZxKQizblND3lZ86c4fnnn7d3M4QQQgghhGgXLlTdvKisCK27Fj+NX5u2q7QUVq2CJ5+EwsLq9f36wcqVcPHFdR9jMBh46623WL58eZ2e8WnTprFkyRIGDx7cqu0Woj5O01N+//338+ijj9q7GUIIIYQQQrQLVdXNU/WpmEwmi20mk4m0/DRidDGEB4S3SXtMJvj6a+jfH+bPrw7IAwNh9Wo4cKBuQF5SUsLq1avp2bMn999/v0VAfuWVV7J3717WrVsnAbmwK6foKd+wYQMeHh5ceuml9m6KEEIIIYQQ7YK16uY+nj4UlRWRlp+GzlvH9OjpbVLk7Y8/YN482Ly5ep1KBXfeqfSYBwdb7l9VTX3FihUWBdwArr76ahYvXszQoUNbvd1CNIbDB+VFRUU89thjbNq0idLS0gvuX1paarFffn5+azZPCCGEEEIIl1VV3bxqnvL0gnS07lpiQ2KZHj291adDy8pS5hV/6y0wGqvXjxun9I7X7uAuKioyB+M1pzYDmD59OosXL2bIkCGt2mYhmsrhg/JFixZx9913ExISQnJy8gX3X7ZsGUuXLm39hgkhhBBCCNEOxATHEKWLIkWfQkFpAX4aP8IDwlu1h7y0VAm6n3oKavaxRUbCc8/VneIsPz+fV155hRdffJGcnByLY82cOZPFixczaNCgVmuvEC3h0EH5/v372b17d5MKvD366KPMmzfP/H1+fj5hYWGt0TwhhBBCCCHaBbVK3SbTnplMsG4dPPQQnDxZvd7PDx57DP71L9Bqq9efO3eO1atXs2rVKvLy8iyOde2117Jo0SIGDhzY6u0WoiUcOijfuHEjJSUlTJo0CVCqJgLMnTuXwMBA3nrrLXr16mXxGI1Gg0ajafO2CiGEEEIIIZrv99+VYLzm7McqFdxxhzJuvHPn6vVZWVm89NJLvPLKKxQUVE/JplarmTVrFv/+979lWjPhNFSm2qUUHVhycjKRkZFs2bKFuLi4Rj0mPz+fgIAA9Ho9/v51p3IQQgghhBBC2E9qqtIL/v77lusnToSXXoKaWedV0yT/97//paSkxLze3d2dm2++mQULFtCnT582arkQ9WtKHOrQPeVCCCGEEEII11RQAMuXw4svwl8JsQD06gXPPw9XX109bvzEiROsWLGCNWvWUFZWZt7X09OT2267jfnz5xMREdG2T0AIG3GaoHzu3Lns2rXL/P/o6Gg++eQTO7dKCCGEEEII0RQVFUo19ccfV6qrV+nYERYvhnvuAU9PZd3hw4dZvnw5H3/8McYa5de1Wi133XUXDz30EKGhoW38DISwLacJyleuXGnvJgghhBBCCCGayWSC776Dhx+GhITq9R4eMGeOksLeoYOybs+ePTzzzDOsX7/e4hh+fn7ce++9zJ07l841B5kL4cScJigXQgghhBBCOKfff4dHHoGff7Zcf911Sgp7jx5gMpn4+ectPPPMM2zevNliv6CgIB544AHuvfdeAgMD267hQrQBCcqFEEIIIYQQreLUKVi4ED76yHL9yJHwwgswejRUVlby1VfrWb58Ob/99pvFft26deOhhx7iH//4Bz4+Pm3YciHajgTlQgghhBBCCJvKzYWnn4ZXXoEaddno0QOeeQb+9jcoKyvl7bc/YMWKFRw9etTi8T179mTBggXcfPPNMt2xcHkSlAshhBBCCCFsoqQEVq+GZctAr69er9PBokVw991QWlrAiy++wYsvvsiZM2csHj9o0CDmz5/Pddddh7u7hCqifZCfdCGEEEIIIRyc0WQkRZ9CQWkBfho/wgPCUavU9m6WWWWlMs/4okWQlla93ssLHnhAGU9eWprFE0+s5pVXXiEvL8/i8XFxcSxYsIApU6ag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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "np.random.seed(1234)\n", "\n", "# define true model parameters\n", "x = np.linspace(-1, 1, 100)\n", "a, b, c = 1, 2, 3\n", "y_exact = a + b * x + c * x**2\n", "\n", "# simulate noisy data points\n", "m = 100\n", "X = 1 - 2 * np.random.rand(m)\n", "Y = a + b * X + c * X**2 + np.random.randn(m)\n", "\n", "# fit the data to the model using linear least square\n", "A = np.vstack([X**0, X**1, X**2]) # see np.vander for alternative\n", "sol, r, rank, sv = la.lstsq(A.T, Y)\n", "y_fit = sol[0] + sol[1] * x + sol[2] * x**2\n", "fig, ax = plt.subplots(figsize=(12, 4))\n", "\n", "ax.plot(X, Y, 'go', alpha=0.5, label='Simulated data')\n", "ax.plot(x, y_exact, 'k', lw=2, label='True value $y = 1 + 2x + 3x^2$')\n", "ax.plot(x, y_fit, 'b', lw=2, label='Least square fit')\n", "ax.set_xlabel(r\"$x$\", fontsize=18)\n", "ax.set_ylabel(r\"$y$\", fontsize=18)\n", "ax.legend(loc=2);\n", "\n", "fig.savefig('ch5-linear-systems-least-square.pdf')" ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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6PQ6olKi8HD0YFTgqDrTdN+Yb+T006dNr1u83gJNw6rpIqgoCl988QUBAQG8+eabpgqW5s2b88MPP7B161YZVb2yqmmwuVqjPo6+vnfvXqVHjx4KoLRs2VLp0aOH2VfxEcC/+OILJSQkROnVq5fSp08f0yjbilJ4bcaPH680b95cGT58uDJt2jTFy8tLCQgIUP73v/8pJ0+eVMaMGaP06NFDCQ8PV3r27Kls2LDBtP/ly5eVbt26KX369FHuuusuRa/XlyjrzY6RkZGh/Otf/1L8/f2VIUOGKJ988onFUcP//e9/K23btlXuvvtuZf369QqgdOzYUVmzZo2iKIqydu1apW3btkr37t2VUaNGKY8++qhib2+vDBw4UFEURQkLC1Ps7e2VgIAA5fHHHy9RzjfffFMJCgpS+vbtq4SFhSlbtmwp9frPmjVLad68ueLm5qaEhYUpkZGRyptvvqkEBAQo9vb2SlhYmJKRkaEoiqK88MILSrt27ZQePXoou3btsni80kYXX79+vRIWFqY0adLEdK6VK1ea1n/55ZdKr169lLCwMKV3797Kvffeq1y6dMm0fs2aNUrbtm2VHj16KO+8806p72f//v1K3759la5duyrBwcHKyy+/rBgMhSOMrlq1yux97dy502zfPXv2KB06dFA6deqkDBs2THnrrbcUQAkLC1NOnz6tKErhqP933nmn0r59e6V///7K5MmTlczMzHIdv6zrU1F19fddCCGEENUvKjlKWfDHAmXCjxOUsd+NVSb8OEFZ+MfCOjfafNyyONNo6we7HVSMBmOVHPevv/5S+vTpYzaqularVebOnatkZWVVyTnqm4qMvq5SlDI6ldYD6enpuLm5odPpcHU17yei1+s5f/48LVq0MA1+JqzP39+fefPmVXnNcm01b948IiMjb9rv+nZVVddHft+FEEIIURajYqzTg9vlJuVyoO0BDBkGUEHn/Z1x7Vayn3xFJCcnM2vWLD799FOz5v2jRo1i2bJlpkGBRUll5dAb1Z2fMiHqKXd3d5KSkggPD2fJkiXWLk6t8euvvxIeHs66devwssboi0IIIYS4rRQNbhfSJAR/d/86FcgBzr1wrjCQA96TvG8pkOfl5fHWW2/Rtm1bVq5caQrkAQEBbNmyhbVr10ogr0JSUy41Z7VGZmYmw4cPZ9++ffj7+zNlyhSmTJli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LGEoJyIionFOPvlkAMCqVatQUlIS5a0hIiJKXAzlRERENE55eTkAoK6uLspbQkRElNg4ppyIiIgCCIKAyy67DJ9++im6urrQ19cHrVYb7c0iIiJKSGwpJyIiogCbN2/Gxo0bccEFF8Dj8eCjjz6K9iYRERElLIZyIiIi8tm9ezdaWlpwxRVXYN26dQCA999/HwDw+9//HgcOHIjm5hERESUcllIlIiKa5375y1/iD3/4A6666irU1NTgT3/6EwDgtNNOg1gsxksvvQS5XA6tVotFixZFeWuJiIgSC1vKiYiI5rmkpCQ0NTXh3XffxTPPPAO5XA4A0Ov1+Pa3vw2n0wmPx4PbbrstyltKRESUeFjojYiIiIiIiChK2FJOREREREREFCUM5URERERERERRwlBOREREREREFCUM5URERERERERRwlBOREREREREFCUM5URERERERERRwlBOREREREREFCUM5URERERERERRwlBOREREREREFCUM5URERERERERRwlBOREREREREFCUM5URERERERERRwlBOREREREREFCUM5URERERERERR8v8BkLu3yZC/sg4AAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# fit the data to the model using linear least square: \n", "# 1st order polynomial\n", "A = np.vstack([X**n for n in range(2)])\n", "sol, r, rank, sv = la.lstsq(A.T, Y)\n", "y_fit1 = sum([s * x**n for n, s in enumerate(sol)])\n", "\n", "# 15th order polynomial\n", "A = np.vstack([X**n for n in range(16)])\n", "sol, r, rank, sv = la.lstsq(A.T, Y)\n", "y_fit15 = sum([s * x**n for n, s in enumerate(sol)])\n", "\n", "fig, ax = plt.subplots(figsize=(12, 4))\n", "ax.plot(X, Y, 'go', alpha=0.5, label='Simulated data')\n", "ax.plot(x, y_exact, 'k', lw=2, label='True value $y = 1 + 2x + 3x^2$')\n", "ax.plot(x, y_fit1, 'b', lw=2, label='Least square fit [1st order]')\n", "ax.plot(x, y_fit15, 'm', lw=2, label='Least square fit [15th order]')\n", "ax.set_xlabel(r\"$x$\", fontsize=18)\n", "ax.set_ylabel(r\"$y$\", fontsize=18)\n", "ax.legend(loc=2);\n", "\n", "fig.savefig('ch5-linear-systems-least-square-2.pdf')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Eigenvalue problems" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "eps, delta = sympy.symbols(\"epsilon, delta\")" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEMAAAAzCAYAAADM6LWyAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADO0lEQVRoBe2b7XHUQAyGLwwFZKCDKyGhA0IHuaQCSAkMv+7+ZaAD6IC5dJBQAQkdQAdJKIHnvbEzwrFj7Xrjr1nN7Jzs866kdyXtrnW3t16v9xc1tNls/tbcnsUtbKu1+QXW3dDuK+3zLKxuNmJbsVf2b/fwjN8wZ6B11dx33t9g+wcsXL2cupkYssSGj7Q3NLn/H5omV59BpDCZOslwtUMMOaMp193FGDV5z8DoA3mHPIGmUI8O9zl4xiUAJEn4cwDjG2Ac4xXHfHaiyYMBCMoRCo0tfO3+wYuQO2cgaMmgytqvisEvuadZGYyQL294R/tKO6Jp/6DrKHKBgVCtw4rLt/C/oiQl7lToVK4iC64vEKFw2afJW4KpNUwY+IBRhfx7+LEAIS+VTitaSd8LRt9FkcczPhUjnwLGacH/hP8SJTFNJ3npFTrYjZXlo6R4wFAsXiDYzkKUsISdlCu0wXpE6Bntva1hgjRl6M6oP9I68gbGlivGdWUIbcejgdBYHjC0bJUKqM+gBBhNyVGect5FOQ8YWk5PzIwsxNvrLgpE9lW+UvjuCF0UNtqOa0WJJtcRHiFaUYS8jvuaGYExZAJdIF9J9JYmes21Ji2K6Os/wvOwYrE2YUVJT9Cpi/FN4j1h0tR3dvczGGZKMxgZDIOAYbNnZDAMAobNnpHBMAgYNnuGAcNzhN89zo5vCaMtr06HOrjpJBtVrKHfKCnEM5IVa0aJBEq5PYNnkxVrxgpGiGckK9bMAYxkxZrJg0EC1XuMJMWasYLhyhkAoTdJyYo1fYJhVsHW4lcrGAymt0BJizV9gVHo7i5+PZlAC1STF2v6AAPdg4tfbZ7xLMUaDxgYo43dD5o+vbSiX1kuCC5+tYGhXFH77tMI9Soa9BzjK2Hr1zixdETHoOJXY5gUMyNFkhdrYq0L7CePCip+PQWGZqaO5CnndV+M7F5w8asRjMKwZynW9ARacPGrtYhEuCQr1vQEwoMYdHcVv3jOV0TiwehK1YNWAzHoHlT8aguTgcwYRmwGw+CewchgGAQMmz3DgFFux/Xb6//OAFw3bbpM92myVVuxYmd76Rk6mdo/4GhvMWeq/vlmZ+8/qCUcovB6XBoAAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}\\epsilon & \\delta\\\\\\delta & - \\epsilon\\end{matrix}\\right]$" ], "text/plain": [ "⎡ε δ ⎤\n", "⎢ ⎥\n", "⎣δ -ε⎦" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "H = sympy.Matrix([[eps, delta], [delta, -eps]])\n", "H" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "eval1, eval2 = H.eigenvals()" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\left( - \\sqrt{\\delta^{2} + \\epsilon^{2}}, \\ \\sqrt{\\delta^{2} + \\epsilon^{2}}\\right)$" ], "text/plain": [ "⎛ _________ _________⎞\n", "⎜ ╱ 2 2 ╱ 2 2 ⎟\n", "⎝-╲╱ δ + ε , ╲╱ δ + ε ⎠" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eval1, eval2" ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\left[ \\left( - \\sqrt{\\delta^{2} + \\epsilon^{2}}, \\ 1, \\ \\left[ \\left[\\begin{matrix}\\frac{\\epsilon}{\\delta} - \\frac{\\sqrt{\\delta^{2} + \\epsilon^{2}}}{\\delta}\\\\1\\end{matrix}\\right]\\right]\\right), \\ \\left( \\sqrt{\\delta^{2} + \\epsilon^{2}}, \\ 1, \\ \\left[ \\left[\\begin{matrix}\\frac{\\epsilon}{\\delta} + \\frac{\\sqrt{\\delta^{2} + \\epsilon^{2}}}{\\delta}\\\\1\\end{matrix}\\right]\\right]\\right)\\right]$" ], "text/plain": [ "⎡⎛ ⎡⎡ _________⎤⎤⎞ ⎛ ⎡⎡ _________⎤⎤⎞⎤\n", "⎢⎜ _________ ⎢⎢ ╱ 2 2 ⎥⎥⎟ ⎜ _________ ⎢⎢ ╱ 2 2 ⎥⎥⎟⎥\n", "⎢⎜ ╱ 2 2 ⎢⎢ε ╲╱ δ + ε ⎥⎥⎟ ⎜ ╱ 2 2 ⎢⎢ε ╲╱ δ + ε ⎥⎥⎟⎥\n", "⎢⎜-╲╱ δ + ε , 1, ⎢⎢─ - ────────────⎥⎥⎟, ⎜╲╱ δ + ε , 1, ⎢⎢─ + ────────────⎥⎥⎟⎥\n", "⎢⎜ ⎢⎢δ δ ⎥⎥⎟ ⎜ ⎢⎢δ δ ⎥⎥⎟⎥\n", "⎢⎜ ⎢⎢ ⎥⎥⎟ ⎜ ⎢⎢ ⎥⎥⎟⎥\n", "⎣⎝ ⎣⎣ 1 ⎦⎦⎠ ⎝ ⎣⎣ 1 ⎦⎦⎠⎦" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "H.eigenvects()" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "(eval1, _, evec1), (eval2, _, evec2) = H.eigenvects()" ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABQAAAAZCAYAAAAxFw7TAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABUElEQVQ4Ee2V0W0CMQyGA2IABBvABrRMAN0AukHLBpz6dPcKG9AV6AbtBgg2KBuAGIHPp7OU5pyUnnisJct27P+PHXKhlef51jk3QlWeiqI4apCy1C3JL7yarAXhnsSDt9jIheNVgO1G6ASok8iVKXZeVTUn7BBdsRY9kmSHAPcQ7LAZusbP0E/8AdaUKCEgOZMu9kOR+Bd8iTe6FtooIYVz9BACiHfoFPKukUv+KFMAZwMkXYpIviZmh7HdA3QviMvQJCSjxdqNj9Wu/zyyT2L5fWsx1qF2YWG0e7mXNTEJq+shxdZYumZebpOw2vYLO6h832iHkq9JilBeoccawjl5SA7eFD9KooQA3qk8Y2eKwJdxn9EXXQvtb4+DdPMGkY4+Jp4QW19QyZ0kBHihSh6EmyU68s0MQeE/YXAgDcK7n2F5bbge314zTf+X5ZPMruoDUe0UkU+lAAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}0\\end{matrix}\\right]$" ], "text/plain": [ "[0]" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.simplify(evec1[0].T * evec2[0])" ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "array([[1, 3, 5],\n", " [3, 5, 3],\n", " [5, 3, 9]])" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A = np.array([[1, 3, 5], [3, 5, 3], [5, 3, 9]])\n", "A" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "evals, evecs = la.eig(A)" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "array([13.35310908+0.j, -1.75902942+0.j, 3.40592034+0.j])" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "evals" ] }, { "cell_type": "code", "execution_count": 55, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "array([[ 0.42663918, 0.90353276, -0.04009445],\n", " [ 0.43751227, -0.24498225, -0.8651975 ],\n", " [ 0.79155671, -0.35158534, 0.49982569]])" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "evecs" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "array([-1.75902942, 3.40592034, 13.35310908])" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "la.eigvalsh(A)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Nonlinear equations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Univariate" ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = np.linspace(-2, 2, 1000)\n", "\n", "# four examples of nonlinear functions\n", "f1 = x**2 - x - 1\n", "f2 = x**3 - 3 * np.sin(x)\n", "f3 = np.exp(x) - 2\n", "f4 = 1 - x**2 + np.sin(50 / (1 + x**2))\n", "\n", "# plot each function\n", "fig, axes = plt.subplots(1, 4, figsize=(12, 3), sharey=True)\n", "\n", "for n, f in enumerate([f1, f2, f3, f4]):\n", " axes[n].plot(x, f, lw=1.5)\n", " axes[n].axhline(0, ls=':', color='k')\n", " axes[n].set_ylim(-5, 5)\n", " axes[n].set_xticks([-2, -1, 0, 1, 2])\n", " axes[n].set_xlabel(r'$x$', fontsize=18)\n", "\n", "axes[0].set_ylabel(r'$f(x)$', fontsize=18)\n", "\n", "titles = [r'$f(x)=x^2-x-1$', r'$f(x)=x^3-3\\sin(x)$',\n", " r'$f(x)=\\exp(x)-2$', r'$f(x)=\\sin\\left(50/(1+x^2)\\right)+1-x^2$']\n", "for n, title in enumerate(titles):\n", " axes[n].set_title(title)\n", " \n", "fig.tight_layout()\n", "fig.savefig('ch5-nonlinear-plot-equations.pdf')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Symbolic" ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "x, a, b, c = sympy.symbols(\"x, a, b, c\")" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [], "source": [ "e = a + b*x + c*x**2" ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\left( \\frac{- b - \\sqrt{- 4 a c + b^{2}}}{2 c}, \\ \\frac{- b + \\sqrt{- 4 a c + b^{2}}}{2 c}\\right)$" ], "text/plain": [ "⎛ _____________ _____________⎞\n", "⎜ ╱ 2 ╱ 2 ⎟\n", "⎜-b - ╲╱ -4⋅a⋅c + b -b + ╲╱ -4⋅a⋅c + b ⎟\n", "⎜─────────────────────, ─────────────────────⎟\n", "⎝ 2⋅c 2⋅c ⎠" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sol1, sol2 = sympy.solve(e, x)\n", "\n", "sol1, sol2" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOCAYAAAAWo42rAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA0UlEQVQoFXWR0Q2CQBBEhVgAwQ60BLUCsQO0A+3BP/4MJWgLWgIdGCmBDiB2gG+OW0PIuckyO3Ozu5cj6vt+ZlEURenrFlyRJVojLTIjwht+BZ86ABNA2p66ib14BhMzee0Dqukm7ozggawlTOIFzzTdjBlCNzGJaqoii/1dBvr/m2pi6s+te2y3Lb/V48NQvdBE6woZbFurO9rKJOA0bXhHDBW5DBhtYmXP88C0CRjXaLW2OiPFHaEDczNTa+2RPEmb6+ND3RcMdoUtfAd3f+wLrOY/XeyA6s8AAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle 0$" ], "text/plain": [ "0" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e.subs(x, sol1).expand()" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOCAYAAAAWo42rAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA0UlEQVQoFXWR0Q2CQBBEhVgAwQ60BLUCsQO0A+3BP/4MJWgLWgIdGCmBDiB2gG+OW0PIuckyO3Ozu5cj6vt+ZlEURenrFlyRJVojLTIjwht+BZ86ABNA2p66ib14BhMzee0Dqukm7ozggawlTOIFzzTdjBlCNzGJaqoii/1dBvr/m2pi6s+te2y3Lb/V48NQvdBE6woZbFurO9rKJOA0bXhHDBW5DBhtYmXP88C0CRjXaLW2OiPFHaEDczNTa+2RPEmb6+ND3RcMdoUtfAd3f+wLrOY/XeyA6s8AAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle 0$" ], "text/plain": [ "0" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e.subs(x, sol2).expand()" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [], "source": [ "e = a * sympy.cos(x) - b * sympy.sin(x)" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\left( - 2 \\operatorname{atan}{\\left(\\frac{b - \\sqrt{a^{2} + b^{2}}}{a} \\right)}, \\ - 2 \\operatorname{atan}{\\left(\\frac{b + \\sqrt{a^{2} + b^{2}}}{a} \\right)}\\right)$" ], "text/plain": [ "⎛ ⎛ _________⎞ ⎛ _________⎞⎞\n", "⎜ ⎜ ╱ 2 2 ⎟ ⎜ ╱ 2 2 ⎟⎟\n", "⎜ ⎜b - ╲╱ a + b ⎟ ⎜b + ╲╱ a + b ⎟⎟\n", "⎜-2⋅atan⎜────────────────⎟, -2⋅atan⎜────────────────⎟⎟\n", "⎝ ⎝ a ⎠ ⎝ a ⎠⎠" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sol1, sol2 = sympy.solve(e, x)\n", "\n", "sol1, sol2" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOCAYAAAAWo42rAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA0UlEQVQoFXWR0Q2CQBBEhVgAwQ60BLUCsQO0A+3BP/4MJWgLWgIdGCmBDiB2gG+OW0PIuckyO3Ozu5cj6vt+ZlEURenrFlyRJVojLTIjwht+BZ86ABNA2p66ib14BhMzee0Dqukm7ozggawlTOIFzzTdjBlCNzGJaqoii/1dBvr/m2pi6s+te2y3Lb/V48NQvdBE6woZbFurO9rKJOA0bXhHDBW5DBhtYmXP88C0CRjXaLW2OiPFHaEDczNTa+2RPEmb6+ND3RcMdoUtfAd3f+wLrOY/XeyA6s8AAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle 0$" ], "text/plain": [ "0" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e.subs(x, sympy.atan(a/b))" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOCAYAAAAWo42rAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA0UlEQVQoFXWR0Q2CQBBEhVgAwQ60BLUCsQO0A+3BP/4MJWgLWgIdGCmBDiB2gG+OW0PIuckyO3Ozu5cj6vt+ZlEURenrFlyRJVojLTIjwht+BZ86ABNA2p66ib14BhMzee0Dqukm7ozggawlTOIFzzTdjBlCNzGJaqoii/1dBvr/m2pi6s+te2y3Lb/V48NQvdBE6woZbFurO9rKJOA0bXhHDBW5DBhtYmXP88C0CRjXaLW2OiPFHaEDczNTa+2RPEmb6+ND3RcMdoUtfAd3f+wLrOY/XeyA6s8AAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle 0$" ], "text/plain": [ "0" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e.subs(x, sol1).simplify()" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOCAYAAAAWo42rAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA0UlEQVQoFXWR0Q2CQBBEhVgAwQ60BLUCsQO0A+3BP/4MJWgLWgIdGCmBDiB2gG+OW0PIuckyO3Ozu5cj6vt+ZlEURenrFlyRJVojLTIjwht+BZ86ABNA2p66ib14BhMzee0Dqukm7ozggawlTOIFzzTdjBlCNzGJaqoii/1dBvr/m2pi6s+te2y3Lb/V48NQvdBE6woZbFurO9rKJOA0bXhHDBW5DBhtYmXP88C0CRjXaLW2OiPFHaEDczNTa+2RPEmb6+ND3RcMdoUtfAd3f+wLrOY/XeyA6s8AAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle 0$" ], "text/plain": [ "0" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "e.subs(x, sol2).simplify()" ] }, { "cell_type": "code", "execution_count": 68, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "ename": "NotImplementedError", "evalue": "multiple generators [x, sin(x)]\nNo algorithms are implemented to solve equation -x + sin(x)", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNotImplementedError\u001b[0m Traceback (most recent call last)", "Cell \u001b[0;32mIn[68], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43msympy\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msolve\u001b[49m\u001b[43m(\u001b[49m\u001b[43msympy\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msin\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m-\u001b[39;49m\u001b[43mx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mx\u001b[49m\u001b[43m)\u001b[49m\n", "File \u001b[0;32m~/miniconda3/envs/npbook_py310/lib/python3.10/site-packages/sympy/solvers/solvers.py:1112\u001b[0m, in \u001b[0;36msolve\u001b[0;34m(f, *symbols, **flags)\u001b[0m\n\u001b[1;32m 1108\u001b[0m \u001b[38;5;66;03m#\u001b[39;00m\n\u001b[1;32m 1109\u001b[0m \u001b[38;5;66;03m# try to get a solution\u001b[39;00m\n\u001b[1;32m 1110\u001b[0m \u001b[38;5;66;03m###########################################################################\u001b[39;00m\n\u001b[1;32m 1111\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m bare_f:\n\u001b[0;32m-> 1112\u001b[0m solution \u001b[38;5;241m=\u001b[39m \u001b[43m_solve\u001b[49m\u001b[43m(\u001b[49m\u001b[43mf\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43msymbols\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mflags\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1113\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 1114\u001b[0m solution \u001b[38;5;241m=\u001b[39m _solve_system(f, symbols, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mflags)\n", "File \u001b[0;32m~/miniconda3/envs/npbook_py310/lib/python3.10/site-packages/sympy/solvers/solvers.py:1744\u001b[0m, in \u001b[0;36m_solve\u001b[0;34m(f, *symbols, **flags)\u001b[0m\n\u001b[1;32m 1741\u001b[0m \u001b[38;5;66;03m# ----------- end of fallback ----------------------------\u001b[39;00m\n\u001b[1;32m 1743\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m result \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mFalse\u001b[39;00m:\n\u001b[0;32m-> 1744\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mNotImplementedError\u001b[39;00m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;241m.\u001b[39mjoin([msg, not_impl_msg \u001b[38;5;241m%\u001b[39m f]))\n\u001b[1;32m 1746\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m flags\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124msimplify\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;28;01mTrue\u001b[39;00m):\n\u001b[1;32m 1747\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mlist\u001b[39m(\u001b[38;5;28mmap\u001b[39m(simplify, result))\n", "\u001b[0;31mNotImplementedError\u001b[0m: multiple generators [x, sin(x)]\nNo algorithms are implemented to solve equation -x + sin(x)" ] } ], "source": [ "sympy.solve(sympy.sin(x)-x, x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Bisection method" ] }, { "cell_type": "code", "execution_count": 69, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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veXm5ooWLVoIb29vAUA0atRItGjRQjRv3lwEBgaKli1biunTp4u8vDwhhBDXrl0TLVq0EA4ODsLBwUG0aNFCXLx4Ufzzzz9i6NChonHjxiI0NFQ0btxYjBo1SsTFxVkdLzo6WvTu3VvUqlVLhIWFic6dO4v169cXqWvbtm2ic+fOIjg4WDRv3lwMHTpUXL161arP+vXrRe3atUXz5s1Fhw4dxIULF8S8efNEo0aNBAAREBAgRowYYel/4cIFERkZKQICAkSdOnVEy5Ytxf/+9z/L+pSUlCLnlpubK959910REBBgeX2WLVtW7Gt5/Phx0aJFC2FjYyNcXV1F586dhRBCdO7cWbi6ugobGxvRokULcfbsWTFx4kSrfS5ZssSyn61bt4pOnTqJwMBAERYWJnr06CF2795tday8vDwxePBgERISIho1aiQ+/fRTIYQQbdu2tTrWxYsXxdy5c0WdOnUEAFGnTh0xY8YMy35iYmJEnz59RGBgoAgODhadOnUSW7duLXJuu3btEq1atRJeXl4iLCxMfPDBB2LUqFGW4+zYsaPY14SIiIikJxPi1n8/ERERERERERERVRBevkdERERERERERBWOoRQREREREREREVU4hlJERERERERERFThGEoREREREREREVGFYyhFREREREREREQVjqEUERERERERERFVOKXUBVR2ZrMZCQkJcHJygkwmk7ocIiIiIiIiIqJKTQiBrKws+Pn5QS4veTwUQ6n7SEhIQEBAgNRlEBERERERERFVKdevX4e/v3+J6xlK3YeTkxOAghfS2dlZ4mqIiIiIiIiIiCo3rVaLgIAAS6ZSEoZS91F4yZ6zszNDKSIiIiIiIiKiUrrfNEic6JyIiIiIiIiIiCocQykiIiIiIiIiIqpwvHyPiIiIiIiIiOgeMjIycO7cOZw/fx6Ojo4YMmSI1CVVCxwpRURERERERERUgmvXrmHmzJl48sknMWrUKJw6dUrqkqoNhlJERERERERERCUIDAzEjBkz0LRpUwBAly5dJK6o+mAoRURERERERER0D2azGdHR0bCzs0O7du2kLqfaYChFRERERERERHQPhw8fRlpaGsLDw6FWq6Uup9pgKEVEREREREREdA/bt28HAPTo0UPiSqoXhlJERERERERERPewbds2AAylyhpDKSIiIiIiIiKiEuh0Ouzduxdu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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# define a function, desired tolerance and starting interval [a, b]\n", "f = lambda x: np.exp(x) - 2\n", "tol = 0.1\n", "a, b = -2, 2\n", "x = np.linspace(-2.1, 2.1, 1000)\n", "\n", "# graph the function f\n", "fig, ax = plt.subplots(1, 1, figsize=(12, 4))\n", "\n", "ax.plot(x, f(x), lw=1.5)\n", "ax.axhline(0, ls=':', color='k')\n", "ax.set_xticks([-2, -1, 0, 1, 2])\n", "ax.set_xlabel(r'$x$', fontsize=18)\n", "ax.set_ylabel(r'$f(x)$', fontsize=18)\n", "\n", "# find the root using the bisection method and visualize\n", "# the steps in the method in the graph\n", "fa, fb = f(a), f(b)\n", "\n", "ax.plot(a, fa, 'ko')\n", "ax.plot(b, fb, 'ko')\n", "ax.text(a, fa + 0.5, r\"$a$\", ha='center', fontsize=18)\n", "ax.text(b, fb + 0.5, r\"$b$\", ha='center', fontsize=18)\n", "\n", "n = 1\n", "while b - a > tol:\n", " m = a + (b - a)/2\n", " fm = f(m)\n", "\n", " ax.plot(m, fm, 'ko')\n", " ax.text(m, fm - 0.5, r\"$m_%d$\" % n, ha='center')\n", " n += 1\n", " \n", " if np.sign(fa) == np.sign(fm):\n", " a, fa = m, fm\n", " else:\n", " b, fb = m, fm\n", "\n", "ax.plot(m, fm, 'r*', markersize=10)\n", "ax.annotate(\"Root approximately at %.3f\" % m,\n", " fontsize=14, family=\"serif\",\n", " xy=(a, fm), xycoords='data',\n", " xytext=(-150, +50), textcoords='offset points', \n", " arrowprops=dict(arrowstyle=\"->\", connectionstyle=\"arc3, rad=-.5\"))\n", "\n", "ax.set_title(\"Bisection method\")\n", "\n", "fig.tight_layout()\n", "fig.savefig('ch5-nonlinear-bisection.pdf')" ] }, { "cell_type": "code", "execution_count": 70, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAGGCAYAAACqvTJ0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACQYElEQVR4nOzdd3SUxdvG8e+mJ6QBgRQSeu/dghRpovQmYgEUBAQVRCzYwIK8igUUlSoWUOlIAAURUEQQkSJFmnQIhJqeTbI77x/I/owJEEp2Q3J9zslxMzv7zL3VzcU8MxZjjEFERERERERERMSJ3FxdgIiIiIiIiIiIFDwKpURERERERERExOkUSomIiIiIiIiIiNMplBIREREREREREadTKCUiIiIiIiIiIk6nUEpERERERERERJxOoZSIiIiIiIiIiDidQikREREREREREXE6hVIiIiIiIiIiIuJ0CqVERERE5Ip69OhByZIlsVgsHDx4MNfG6dWrl1PGEREREddTKCUiIiI33JEjR6hduzZhYWFYLBa+/PLLLH0WLVpE7dq18ff3p3z58tx1111Oq2/16tWMGjXKaWNZLBanjHUjHDx4kFGjRmUJhGbNmsVrr72W6+N/8cUXThlHREREXE+hlIiIiNxwUVFRbNmyhYEDBwIwcOBAtm/fnqlPhw4d2LJlC/Xr12fq1KksW7bMafWtXr2aV1991Wnj3UwOHjzIq6++qllKIiIikusUSomIiEiuateuHTabjW7dupGYmOjqckREREQkj1AoJSIiIrmqXr16fPTRR+zevZt+/frl6DbGGMaNG0eVKlWoXLkyZcuWZdiwYSQnJwOwZcsWKlSogMVioWzZsjz11FOO27Zt25b77rvP8fvo0aMpVaoUxYoV4/3336dHjx5MnDgRgNq1a1O7dm26devm6J+YmMiwYcMoW7YslStXpkKFCrz22mtkZGQ4+jRu3NhxauLWrVtp06YNlSpVomrVqixZsuSK9++rr76ifv361K1bl5o1a9KuXTsWLlx4yf4JCQnUrl2bIkWKULp0aVauXEmLFi2IioqiSZMm7Nmzh1OnTtGzZ0+qVq1KlSpVWLp0aZbj7Nmzh86dO1OqVCnKly9P48aNWbVqleP6sWPHOp6jfv36OR6f8+fPZzrOoUOH6Ny5M9WqVaNcuXJMmzYty1gnT56kb9++lCpVikqVKlGtWjUmTJiQpd+hQ4fo0KEDRYoUoV69egwcONDxPIuIiEg+Z0RERERyyciRI83IkSONMcb069fPAObDDz/M1Kdp06Zm1apVmdqefvpp4+fnZ3777TdjjDEnTpwwVapUMXfffbejz9mzZ42Hh4cZNWqUoy0+Pt54e3ubgIAAk5qamul406dPz1RXdl+D0tLSzG233WZq1qxpTp48aYwxZvfu3SYiIsJ069Yty30DTL9+/YzVajXGGDN06FATEBBgzp075+i3atWqTGP98ssvxsvLy/z111/GGGMyMjLM0KFDTdOmTbN7CDPp3bu3CQwMNM8++6wxxhir1Wpuv/12U7duXTNixAiTkJBgjDHmqaeeMoGBgeb8+fOO2x48eNAULVrU3HfffSY9Pd0YY8wHH3xgPD09zZo1a7LU+9/nxBhjpk+fbgDTvn17x7HHjx9v3NzczJ49exz9zp07Z8qXL29atGhhEhMTjTHGrFu3zgQEBJjhw4c7+qWnp5tKlSqZevXqOR6zdevWmdKlSxvAHDhw4IqPiYiIiNy8NFNKREREnGLChAnUr1+fp59+mg0bNlyy3/79+3n//ffp06cPDRs2BCA0NJQRI0bw3XffsWbNGgAKFy5MkyZNMs0wWrx4MTVq1CAhIYEff/wxU3v79u2vWOPMmTNZt24dr732GsWLFwegYsWKPP3008ydO5fVq1dnuc2AAQPw8vICoGfPniQkJPD77787rm/WrBnGGMfv69atw8fHh1KlSgHg7u7Os88+m2m21uUkJCTwzDPPAODl5UWXLl3YtGkT9erVw9/f31FHfHx8pjpGjhzJ+fPnee+99/Dw8ADg8ccfp2TJkowcOTJHY1/Uq1cvgoKCHGPZ7fZMj824cePYt28f7777LoUKFQLg1ltvpU+fPrz33nvs378fuLCo+e7du3n11VcJDg529GvRosVV1SMiIiI3J4VSIiIi4hTe3t7MmzePwMBAunfvztmzZ7Pt98MPP2C327njjjsytdeoUQOAlStXOto6derEli1bOHToEAALFizg3XffpXDhwixYsACAbdu2ER4eTtGiRa9Y48XF1m+55ZZM7bfddhsAy5cvz3KbypUrOy6HhIQAcOLEiUuO0bRpU5KTk6lfvz4TJkzg6NGjhIeH8/jjj1+xPoCiRYs6xgEoUqRIljou3teYmJhM961cuXKEh4c72iwWC9WrV+eXX34hPT09R+MDVKlSJctY/77Py5Ytw8fHh1q1amW63W233YbdbmfFihUArF27FoAGDRpk6nfxuRYREZH8TaGUiIiIOE3JkiX5+uuvOXr0KA8++GCmGUQXnT59GoCXX37ZsaZR7dq1eeihhwgNDSUpKcnRt1OnTgAsXLiQ1NRUNm/ezB133ME999zDokWLsNvtLFiwgM6dO+eovotjXwx6LroYvJw6dSrLbS7OTgJwc7vw1cpms11yjAYNGvDrr79SvXp1nnnmGaKiomjatGmmWU2Xc3Hm0UUWiyVLe3Z1nD59mmPHjmV6TGvXrs3WrVspXLgw586dy9H4OR2rcOHCWW7338fx+PHjAFn6XpyFJSIiIvmbh6sLEBERkYKlZcuWvP7667z44ouMHj06y/UXZwG9++67dOzY8bLHioqKom7duixcuJAyZcrQvHlz3Nzc6NSpEzNnzmTt2rUsXLjwsouIZzf22bNnCQsLc7SfOXMGgGLFiuXoOFfSoEEDZs2aRUJCArNnz2bUqFG0bNmSgwcPZhvm3AghISGEhYWxefPmXDn+f8c6evRolvb/Po4RERHAhcc7NDTU0e+/C6uLiIhI/qSZUiIiIuJ0I0aMoFOnTowcOZKdO3dmuq5Vq1a4ubllG548+eSTjjWlLurUqRNr1qxh6tSpjhlRbdq0wcfHh/feew83NzdKliyZ6Taenp4Ajplay5Yt4+zZs9x1110A/Pbbb5n6r1+/HsBx/fX46quvWLRoEQABAQH07duX8ePHEx8fz4EDB677+Jdy1113sW/fPhITEzO1//rrrwwePNjx+38fmz/++IM9e/Zc9Vipqals3bo1U/v69etxc3OjZcuWADRq1Aggyyyxbdu2XdV4IiIicnNSKCUiIiJOZ7FY+PzzzylXrlyWU+LKli3LU089xYcffsgff/wBXAhIJk6cyOLFi6lTp06m/p06dcJms/HTTz/RvHlz4MIpdS1atGDhwoWOU/z+rUyZMgAcPXqUuLg4OnfuTGJiIg888AC33XYbI0eOdNR1ccHubt260bRp0+u+73v27GHMmDGO0+Xsdjs///wzERERVK1a9bqPfymjRo3C29uboUOHOtaPiomJYfDgwVSrVs3Rr3Tp0lgsFsdMpyeeeMIRyuXU0KFDKVeuHM8884zjdMsNGzYwffp0hg0bRtmyZQF46KGHqFSpEqNGjXLMjlq/fj3R0dHXe3dFRETkZuDSvf9EREQkXzp8+LCpVauWCQ0NNaGhoaZWrVrm8OHDWfpt27bNFCpUyKxatSrLdR988IGpUqWKqVixoqldu7Z54IEHzKFDh7Idr1y5cqZHjx6Z2qZMmWIAs23btiz9U1JSTKdOnUyZMmVMlSpVzBtvvOG4Lj4+3gwdOtSULl3aVKpUyZQrV86MGjXKpKWlOfp06tTJhIaGGsDUqlXL/Pzzz2bOnDmmSpUqBjBRUVHmiSeeyLbWLVu2mN69e5sqVaqYWrVqmWrVqpnOnTubnTt3Ztv/ooYNG5rChQsbT09PU6tWLbNr1y4zdOhQExUVZQBTpUoVM2PGDDNjxoxMdQwYMMBxjD179piuXbuaEiVKmNq1a5sGDRqYadOmZRlr5MiRpmTJkqZ69eqmW7duJjU11QwaNCjTWN98841Zu3atqVWrlgFMaGio6dq1q+MYJ06cMA8//LCJiooyFStWNFWqVDEffvhhlrEOHTpk2rdvbwoXLmxq165t7r//fvPuu+86xnn77bcv+7iIiIjIzctiTDYrjIqIiIiIiIiIiOQinb4nIiIiIiIiIiJOp1BKREREREREREScTqGUiIiIiIiIiIg4nUIpERERERERERFxOoVSIiIiIiIiIiLidAqlRERERERERETE6TxcXcDl2O12jh8/TkBAABaLxdXliIiIiIiIiIjIFRhjSEhIICIiAje3S8+HytOh1PHjx4mKinJ1GSIiIiIiIiIicpWOHDlCZGTkJa/P06FUQEAAcOFOBAYGurgaERERERERERG5kvj4eKKiohy5zqXk6VDq4il7gYGBCqVERERERERERG4iV1qKSQudi4iIiIiIiIiI0ymUEhERERERERERp1MoJSIiIiIiIiIiTqdQSkREREREREREnE6hlIiIiIiIiIiIOJ1CKRERERERERERcTqFUiIiIiIiIiIi4nQKpURERERERERExOkUSomIiIiIiIiIiNMplBIREREREREREadTKCUiIiIiIiIi4kI2u+HI2WRXl+F0CqVERERERERERFzEmmHjia830fnjtRw4neTqcpxKoZSIiIiIiIiIiAskWjN45LPfWbrtBPEpGew/lejqkpwq10OpQ4cO0aNHD5o3b07NmjWpV68eq1atyu1hRURE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8Pb25qOPPnJ1GQVWroZS48ePZ/To0fzf//0fNpsNi8XCokWLuOOOO3JzWBERERERESlgDp9JZuzy3URvPQ6Al7sbfRqVZlCzcgT73bh1gowxjB07lueffx5jDC1atGDOnDkULlz4ho0hUlA4daHzq6U1pURERERERORyzial8eHKvcxYf4h0m8Figc61SzCsdUUiC/vd0LGsVisDBw7ks88+A2DgwIF88MEHeHp63tBxRG52eWJNKREREREREZHckJJm49O1B5i4+m8SrBkANK4QwvN3V75hi5j/26lTp+jatStr1qzBzc2N8ePHM3jw4Bu2PpW4RlJSEsHBwQCcP39eC507mUIpERERERERuWnY7IZ5fxzlvR/2cCI+FYBqEYGMuLsKd1QIyZUxd+zYQfv27Tlw4ACBgYHMnj2bu+66K1fGEufLyMhwdQkFlkIpERERERERyfOMMazaHcv/fbeLPScTASgR7Mszd1WiQ60I3NxyZ8bSd999x3333Ud8fDxly5Zl8eLFVKlSJVfGEufz9fXl6NGjjsviXAqlREREREREJE/bcOAsY5ft4veD5wAI8vXkiebleei2Unh7uOfKmMYYPvjgA4YNG4bdbqdJkybMmzePkJDcmY0lruHm5kaJEiVcXUaBpVBKRERERERE8qTtx+IYu2w3P+05BYC3xz876jUtT5Bf7i0unp6ezuOPP87kyZMBeOSRR/jkk0/w8rpxu/iJiEIpERERERERyWP2xSby/g97WLItBgAPNws9GkTxZIsKhAb65OrYZ8+epVu3bqxatQqLxcLYsWMZNmyYFjTPp9LS0hg/fjwAQ4YMUfDoZBZjjHF1EZeS0y0ERURERERE5OZ39FwyH/y4l7l/HMVuwGKBTrVLMLRlBUoVzf1d0Xbv3k379u3Zu3cv/v7+fP3117Rr1y7XxxXXSUpKwt/fH4DExETtvneD5DTP0UwpERERERERcalTCVY+WrWPr347TJrNDkCrqqE83boilcOcM0FhxYoVdO/enfPnz1OqVCmio6OpUaOGU8YW1/Hw8KB3796Oy+JcesRFRERERETEJeJS0pn88998+stBUtJtANxerijP3FWJOiULO62OTz75hCeeeAKbzcZtt93GwoULKV68uNPGF9fx9vbms88+c3UZBZZCKREREREREXGqRGsGn/96kEk//U18agYA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7zR9P/udlu/9xNcbDmPNsFMzMogPetbhp2ea0a9xWQJ8cjYDMi8yxvDuu+/SoUMHEhMTufPOO1m/fj2VKlVydWmSzxlj2LdvH/v27XParHb5l9xba92Y+Ph44+bm5tgp4d8//90dJjvafU9ERJzlUrvv/ft6Ly8vExQUZM6dO+do/+6774y3t7fp2rWrOXPmjDHGmF27dpkqVaqYqKgoc/To0UzHeeWVVwxgxowZY6xWqzHGmKVLlxp/f3/TunVrk56eeYvu++67z3h4eJjjx4+bhIQEU6FCBfPBBx9c9r4MHz7cAKZHjx6OWrdu3WrKlCljADNy5Mhs73vlypVN586dzcmTJ40xxmzZssVERUWZ8PDwTLveGfO/Xd1uvfVWs2DBApORkWFSUlLMM888YwAzatSoLHVd7vE15sL/92vUqGHCwsLM+vXrjTEXdkZ7/PHHjZubm/nss88y9f/9999NiRIlMu2C9/bbbxvA9OvXL8fjX9x9778u3scDBw5kas9ud7k//vjDeHl5mfDwcLNx40ZjzIXvQX369DFAtrvsXe65jY+PN7Vq1TJFixY1P/zwgzHmwm6Dc+fONf7+/lkei0vtvnfR7t27jcViyXYnvsux2WymYcOGBjBjx4416enpxm63m3nz5hkvL69sd9n7/vvvHf2NMeb55583devWveJYaWlpplmzZiYsLMyx0+W2bdtMZGSkadiwYabdBo0xZt26dcbDw8OEh4ebpKSkTNctX77ceHl5mQcffNCcOXPG2O12s379elOyZEkTHh5u9u/fn6l/7969TUBAgOOxycjIMAsWLDBFihQxzz//fJZamzZtatzc3My4ceMc24fHxcWZ119/3QCmatWq2h1Mbohka4aZuf6QafXeascueqWfX2z6ff67+W3/hdd2fmC1Ws0jjzzi+Fuxf//+OdqtXeRGyMjIML/88ov55ZdfTEZGhqvLyTdymufkaih1vRRKiYiIM1StWtWEhIQYwHh6eprQ0FDToUOHLP2efPJJA5jChQub0NBQk5qaaowxZtOmTaZLly4mNDTUFC9e3JQqVco8/vjjjnDnv+bOnWsaN25sQkJCTLFixUz16tXN22+/ne0X8L///tvceeedpmjRoiYiIsL06tXLMe6lpKWlmTfffNNUqlTJ+Pr6mpIlS5pOnTqZCRMmGMAUKlTIhIaGOv7/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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# define a function, desired tolerance and starting point xk\n", "tol = 0.01\n", "xk = 2\n", "\n", "s_x = sympy.symbols(\"x\")\n", "s_f = sympy.exp(s_x) - 2\n", "\n", "f = lambda x: sympy.lambdify(s_x, s_f, 'numpy')(x)\n", "fp = lambda x: sympy.lambdify(s_x, sympy.diff(s_f, s_x), 'numpy')(x)\n", "\n", "x = np.linspace(-1, 2.1, 1000)\n", "\n", "# setup a graph for visualizing the root finding steps\n", "fig, ax = plt.subplots(1, 1, figsize=(12,4))\n", "\n", "ax.plot(x, f(x))\n", "ax.axhline(0, ls=':', color='k')\n", "\n", "# repeat Newton's method until convergence to the desired tolerance has been reached\n", "n = 0\n", "while f(xk) > tol:\n", " xk_new = xk - f(xk) / fp(xk)\n", "\n", " ax.plot([xk, xk], [0, f(xk)], color='k', ls=':')\n", " ax.plot(xk, f(xk), 'ko')\n", " ax.text(xk, -.5, r'$x_%d$' % n, ha='center')\n", " ax.plot([xk, xk_new], [f(xk), 0], 'k-')\n", "\n", " xk = xk_new\n", " n += 1\n", "\n", "ax.plot(xk, f(xk), 'r*', markersize=15)\n", "ax.annotate(\"Root approximately at %.3f\" % xk,\n", " fontsize=14, family=\"serif\",\n", " xy=(xk, f(xk)), xycoords='data',\n", " xytext=(-150, +50), textcoords='offset points', \n", " arrowprops=dict(arrowstyle=\"->\", connectionstyle=\"arc3, rad=-.5\"))\n", "\n", "ax.set_title(\"Newton's method\")\n", "ax.set_xticks([-1, 0, 1, 2])\n", "fig.tight_layout()\n", "fig.savefig('ch5-nonlinear-newton.pdf')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### `scipy.optimize` functions for root-finding" ] }, { "cell_type": "code", "execution_count": 71, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAKoAAAAPCAYAAAB0p1TfAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAGvUlEQVRoBe2a3ZEUOQyAhy0CWLgI4DJgIQPIAI4IgAygeNs3CjIAIgAuAyACfjKAi2BhM9j7Pq/VuD3ubvfOXNVd1alKa1uWJVmSZffApbOzs83/8MsDx8fH1xndBt/SP/018+/rYd8N8GtpGeNDxldpv5f0/3r/crkBNvc8j09ofwefr91wISNEv4FWO/NlTNJeBR/AM0oKxibMo8yn8x1rz4dMGzXQb0B4Bx7VskaMxSCveUQbepxVjva9hE6zBafQr5TULGdWNzzu4Smob38DHb+DvrUfaL1x+Jjlhn+VKRydN+O/hdyYaMWmV3eSgcwuvy/x5X1M+mdIVBi/oPkZ7Z9akBd+ob0DLp5OeEyk96CBT86nNXiiSb9hrCPVYxK8yDQ3+hdjEyzpyXxPaIcEov8Qvve098DSxtfQf4A3QW1YA9oWQY51tzJNW5RbgpX2iQRscC9rdHvIhv1kGSbqIZj2k2lr4qB9oj7UXuUYw1PaARgvxkZm+Lp0w9e1916+bOisf1KiItAkqB1m5XDjVpc7WdhcY9A/sKasEG6oTHID67WUklRh9L+Cn+maABFI7XkI3cSMIL6Fpi2eukRjzoDcAzf0H9MYsC7I/C1e/bBVkaClQ0C7Wjdr3I9JUMMDCB/BkLk2Dvou7b8WXI0XY5Nt7MoBeLv8voJv0T8HeUNutq4sTn0Cb6PQhJsE5u8yaZKkahOM0K3GZZLLVyZusKpbYwMc6wwxAXKGftAu2iJLW0fyC1neCi3YOvEtpgmaN0pPQu0Uh5Zu9tobm73rbtkzQVv0TySqV5pXSA2RHM7PgVXOChz8W7zMHWZiS8+Jc/CkikhrZb5iG4Lo63DBqror3Efeq5YQ6FHBh2lovtueDYT1HZPfA+8NEX5QinLL/ewaB2XWsBibvOCf0F3bMjVe9M/lynFTgq5OTWS6CeY1ZHsfNPE8JcPHAnMmMqT08WRbgh8XQlMP63SiQfX920wwF/cA630ilMkxuwz+6zD4dT26LWYXVZOs9eB5ADxsP7Ms/TM8baCVCVxJGIZb/mFdei5kDmX6/vdGCuiJzYV0h4JdW+xd9I8VNTZ/2lAY1W9yI5WDbzL2I+gF6HvTRI1KqHiDZeBr0JnCaI61JoiJpSyd/xm8MCBL+R6Y1vNjSq4HRNwJ0OnVGm9z5d0Ey4S6SByMiz+j6W9lK9cPYA/2hraM21xsLqJbFXsDbJ31j4naA1Hx5nhNqrra+QH0unCYHw8bxsmRuW+SxiGJg+GUfFZpg+Am3oAGoUx82dbAqoqMLhP7Lu3wBFmjrOQt7LbqKc99f4M++KLkn+iP4sBavwHCdxv6HkBl1zdGT2wmVA7kke6BuqcOtkdcm/4xUUfJUemNk5bekNVcGhaOalUpv3Q91VYPHalTr4H+xPQYtAKYDH60CS0ZaQJeq7Hr0086ibjiD+u9IusALkmISr7ENzufdZtU3jbfQT8wPXxC7GenOJyLSn/14XV0iJHELb+WsdmX7sKM/i52GptZ/xwUmzGhaghaa6Mlr/PhlJIefZMxgfpAK5uV0sCZgJ4iIemBZgWw4tQQV/+aKrRBlvoPaZf2UevzlM8FseafGnsgR29cbIl96+PbjMN/4fNSVtAG++H3fWuyTUG5JmS3eMuEjjUlX9AG3eXknvqL/rmcFXldDMlUKI+KunT1uYnW+hC1tEkrrg9qk1jHpADQ98t/zskhf6nVtlvI8vfEEjwMBkq6lW5IJvra4bqv4IUhy/GQbO0DmjpN2NLPLT+W82GLPmsdosSL3LC7Nza75kDYtarFTv286J9IVANlVtdwBMF34paTK0bXtn5/dL3JlxKd1gr1GrwWMmkNjAkj70Z6nkuJK60AgyMsHZxzrvwXefJvrYH+UzptXMPlutDVSoaSb7bvXjJ6IFoH1kCFbWvi8Ap5w8EqjPC2CXmSu2ID3xrdyt0L9PrnQG0w+xH0g9ZESkBfB/4Bpg8gidLAM3B05TBOiUA7JDv9rfWIMCnrwPtu9CkQFYBhuiZHic+8tilT3lOZ9gDKE1sQ9H3o8iDEW3TQxT58m3mFpwSm7YpDFuDPUKM3N2N/IRGGgwetKzYrdZ9r2d/fRf9civ89haEG5il4kvXfon0GvUygDeNv0K1CfmiMAJqJGgH2CmqtH5I58xrAsgIkmdCsDIPD6Zvk/uvQiJexlUCdVkBbg67Nn5iLn4MY/gLoBlh+K7mgTBNm4KevPg/kA/pez1sAvVs3vOrSv+VB3do7fF1x0Bh4tTGqqv5Wtu/+U9oRQOuJzRrdXXtHby/frH/+BmxawMm4g0XMAAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle 0.693147180560118$" ], "text/plain": [ "0.6931471805601177" ] }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" } ], "source": [ "optimize.bisect(lambda x: np.exp(x) - 2, -2, 2)" ] }, { "cell_type": "code", "execution_count": 72, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle 0.693147180559946$" ], "text/plain": [ "0.6931471805599455" ] }, "execution_count": 72, "metadata": {}, "output_type": "execute_result" } ], "source": [ "optimize.newton(lambda x: np.exp(x) - 2, 2)" ] }, { "cell_type": "code", "execution_count": 73, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "x_root_guess = 2" ] }, { "cell_type": "code", "execution_count": 74, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "f = lambda x: np.exp(x) - 2" ] }, { "cell_type": "code", "execution_count": 75, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "fprime = lambda x: np.exp(x)" ] }, { "cell_type": "code", "execution_count": 76, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle 0.693147180559946$" ], "text/plain": [ "0.6931471805599455" ] }, "execution_count": 76, "metadata": {}, "output_type": "execute_result" } ], "source": [ "optimize.newton(f, x_root_guess)" ] }, { "cell_type": "code", "execution_count": 77, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle 0.693147180559945$" ], "text/plain": [ "0.6931471805599453" ] }, "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ], "source": [ "optimize.newton(f, x_root_guess, fprime=fprime)" ] }, { "cell_type": "code", "execution_count": 78, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAKoAAAAPCAYAAAB0p1TfAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAG4klEQVRoBe2a3XEVORBGZ10EYCACvBkYyMBkAEsEmAygeII3CjIAR8BPBkAEgDOAjQC4GXjPEWqh0Z07o7GprX3YrpIltT61Wt2tlubCcHZ2Nvxfftng8ePHB5Rjyv5/3S7oeNjqqN6Ug5rfi6vn/NvtJR0vDRU9efLkWe5+o/6T8gze1wqy2KxkBPYVvNPoWNN/UfWv0L4Hb1PxxBzQv595+9T21ed95o0q+Icw3lCu0x7JGgGrTp5znzrWcVQ56vcCPtUWbeBfrrlZzuzaYNzDI4q2vUqx/wb+1n7g9frhQ5Yb9lWmdP1nVf724gbkLfompK7BVnO0b2tzh2d1LIHKop8BP6V+6yxqN/2Z+hZlMVjBGEjvKCqRjE+t8ywG/UA/yaRpEDzPPBX/m74BltbJuIfUJYBoH4N7R32HUut4Av875QZFHdaQuoWTY97NzFMX5dZ0ROehDHRwL2vW9pCV/WQZBuo+Je0n89b4Qf0s2lB9laMPN9Q1LeLUgwmuPesbha7Bim9oyuZCZnVMgcrCBkFrMDOHG/eE3aIskQq8Z06dIdx8HeQ69gqYFKQKpH1K+UTTAAhHqs8xfAMznPganrqYlRKPMR1yhzLQfkClw7oo46ew2qHNSMpPh4B69drMcT8GQUv3YHyghMy1ftB2af+t4Kbfg+v1jaLXYIsq6KqPdtGsjnt5lps9nZDwEd4RCxhwO4nx2wwaJCnbBBC+2bgOcnF14AbUtXVSkH2D0JIIOaUdvPPWyFLXkfxK1ruqXTe3MmI9uND2RukJqAv5YUGHpeFe3yhnDTatu2DzJd2GCFSvNFNvSxEcjs+RWc4MHPgtLGP7mTm1zjfH8maszcyXrUMQbY0jmVUvSneR93JKCPzI4GUYnm/Gp4WxvmHwe+C9IcIOSlFuvZ+L+kGZq6nSqcc3of8itlFkp80b3GT3UqXkJCAzr8wNMmaGMnVb36UYeGaR8rHAmIEMa5iS5ceFNDU2ME8H6lTfv5MB5uQeYr7XTx0cs9PAHwA4pB7dFrOTmkHmevA8AB62H1mW9ilPG3gRAM3sUXfLPsxLz4WMUqZvzNPRLDpzOMa6fbMGGzowp8vmczqaUWPzmxBc1XFqdhoR4fXYDfp+BD2n+N40UCMTKlZn6fiWDjNjNMZcA8RNKkvjf8q4c1XIUr5OmXp+7JLpAbFciFjTaz3e5sq7QakD6jx+0Pavka29la1cP4DbG7AHt8Y33Vh06bX5rI57bKyHIuPNYQ2qNtv5AXQCP4LZj4eBfjEkbYN0Ix+Kg5E6jJmldYJOfkXRCXXgJ9yKP6syMmtp5NvU5QmyYq0RtNLbrKc89/0FfrHFaMJ0Z+QH5voNELYbaHsAlT26MTpxa3yzBttl8yUdDdRRcDT2iVOe3pDNWOqyQBhqKkv5pWuQmj2GjL1G05+YHlDMAAaDH23SlIw0ANZT7FrpJ53EXPGH+V6RIwd2TI9M3gHdDclrG1TeNl8pfmDGx1Xs50J+qFbXhgesoV3naIQDr227fNOLBXcem9c6Fx19o8b7xIBqKXg7AyhPcNyN7qJitLxJA6AQvAigtA59s81AXV+Nsrz6zUAWA7eLkOP6+9RL+2jlmb3Xzmll2PdAGgSF0OUtxez6hXKU+46HzW0HBa/oAt4PNH/q2/opLU9Kc3pxzgGrD2d9k2UvYpHVbXOwi3u5lBf2uijBFMpQR0Zduvo04NT8EFUMHIymNuP6weGh0cBm4oG2X/4a76KkbjeR5W+9NXkgzD7yzXTlg4m2ejivPSyw+inL8ZBs7QOea3rgajtP2bEej8W12VQWTljkht69uJDb1sU37cBEv2BZ33avzRd1jEDVUZ76ljytvhO3jNwAnTv1+6PzDb4U6NS36Z9QroVMah1jwKTMID+PpcCFX5MbkpYOzk9U/os88Vtz4P+QTx3XcD0v1poKhho323YvuXggpg6sByJ0W+OHl8grB6tSwtsm5MnuwiFr0TexRg8WzBqbL+q45+II9SPoe1Yg6UNbA/5FSQ9nmfIoZ5SU8eRJ9JNS1CXYaW/NB2pQto732vfBHRmAbvqHg1HgM64hlSl2I+g3kPIsUxT837GWByHeomUt9uEbzp+oUgBTd/khC/BnqHgyJRZ9fyGR6oPXi+v1jfLXYMXXNGXzRR3/8H/JSGxSAY8o8eF0k/ZT+HUAifNNZRYavWXgOWaghoO9gqbml2DOWB1YZwDYSZaZoTa4xtn6TynMNQu5phnQWqer80fG4ucgur8Ivg4WbyaXXN+AKXjarueBvEd78j0Mv3ttsK6lfeuDurV3cF1+QM4AVh0jq2pvZfvBtqEutALX5RsFI7Mbm/GzNl/S8R8dhNSL317FIwAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle 0.693147180559945$" ], "text/plain": [ "0.6931471805599453" ] }, "execution_count": 78, "metadata": {}, "output_type": "execute_result" } ], "source": [ "optimize.brentq(lambda x: np.exp(x) - 2, -2, 2)" ] }, { "cell_type": "code", "execution_count": 79, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle 0.693147180559938$" ], "text/plain": [ "0.6931471805599381" ] }, "execution_count": 79, "metadata": {}, "output_type": "execute_result" } ], "source": [ "optimize.brenth(lambda x: np.exp(x) - 2, -2, 2)" ] }, { "cell_type": "code", "execution_count": 80, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle 0.69314718055904$" ], "text/plain": [ "0.6931471805590396" ] }, "execution_count": 80, "metadata": {}, "output_type": "execute_result" } ], "source": [ "optimize.ridder(lambda x: np.exp(x) - 2, -2, 2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Multivariate" ] }, { "cell_type": "code", "execution_count": 81, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "def f(x):\n", " return [x[1] - x[0]**3 - 2 * x[0]**2 + 1, x[1] + x[0]**2 - 1]" ] }, { "cell_type": "code", "execution_count": 82, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "array([0.73205081, 0.46410162])" ] }, "execution_count": 82, "metadata": {}, "output_type": "execute_result" } ], "source": [ "optimize.fsolve(f, [1, 1])" ] }, { "cell_type": "code", "execution_count": 83, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "def f_jacobian(x):\n", " return [[-3*x[0]**2-4*x[0], 1], [2*x[0], 1]]" ] }, { "cell_type": "code", "execution_count": 84, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "array([0.73205081, 0.46410162])" ] }, "execution_count": 84, "metadata": {}, "output_type": "execute_result" } ], "source": [ "optimize.fsolve(f, [1, 1], fprime=f_jacobian)" ] }, { "cell_type": "code", "execution_count": 85, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}- 3 x^{2} - 4 x & 1\\\\2 x & 1\\end{matrix}\\right]$" ], "text/plain": [ "⎡ 2 ⎤\n", "⎢- 3⋅x - 4⋅x 1⎥\n", "⎢ ⎥\n", "⎣ 2⋅x 1⎦" ] }, "execution_count": 85, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x, y = sympy.symbols(\"x, y\")\n", "\n", "f_mat = sympy.Matrix([y - x**3 -2*x**2 + 1, y + x**2 - 1])\n", "f_mat.jacobian(sympy.Matrix([x, y]))" ] }, { "cell_type": "code", "execution_count": 86, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxYAAAGGCAYAAADmRxfNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABeTklEQVR4nO3dd3wUdf7H8ddm0wgpdEIJvfeOPwGJggiCeEQQyylFPbFyeniKegqeCJ4NLNgRBRVQQUAEFBQEFBCQTuglpBBqet3M748hC0sSSEg2k/J+Ph7z2NmZLZ/AEua932YzDMNARERERESkEDysLkBEREREREo/BQsRERERESk0BQsRERERESk0BQsRERERESk0BQsRERERESk0BQsRERERESk0BQsRERERESk0BQsRERERESk0T6sLKKysrCyioqIICAjAZrNZXY6IiIiISJlhGAYJCQnUrl0bD4/Lt0mU+mARFRVFSEiI1WWIiIiIiJRZERER1K1b97KPKfXBIiAgADB/2MDAQIurEREREREpO+Lj4wkJCXFec19OqQ8W2d2fAgMDFSxERERERNwgP0MONHhbREREREQKTcFCREREREQKTcFCREREREQKrdSPscgvh8NBRkaG1WVICeLl5YXdbre6DBEREZEyocwHC8MwiImJ4dy5c1aXIiVQpUqVCA4O1hooIiIiIoVU5oNFdqioUaMGfn5+uoAUwAycycnJxMbGAlCrVi2LKxIREREp3dweLNLT03nxxRd57bXXOHDgAA0aNHCeGzlyJOHh4fj6+jqPNW/enA8//LBI3tvhcDhDRdWqVYvkNaXsqFChAgCxsbHUqFFD3aJERERECsGtweLIkSPceeedNGvWDIfDketj5syZ4xI2ilL2mAo/Pz+3vL6UftmfjYyMDAULERERkUJw66xQiYmJzJo1i1GjRrnzba5I3Z8kL/psiIiIiBQNt7ZYtGnTBoDjx4+7821ERERERMRilq9jMXnyZEJDQ+nZsyePPPIIJ06cuOzj09LSiI+Pd9lERERERMqStDS44QaYMwcMw+pq8sfSYNGsWTOuu+46fvnlF3755RfS0tK45pprSExMzPM5kydPJigoyLmFhIQUY8VlT1JSEk899RT9+/dn8uTJxf7+UVFRDB06lAYNGvDCCy8U2eumpKQQFxdXZK8nIiIiUpymToVff4Un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mDVLq2tfDctmhTp06BBAjjUEgoODnedyk5aWRlpamvN+fHy8ewoUERERkXLhxx/NVbUBZsyAevWsrae0smxWqOTkZAB8fHxcjvv4+DjP5Wby5MkEBQU5t5CQELfWKSIiIiJlV2QkjBhh7j/6KPztb5aWU6pZFiz8zg+xv7j1Ifu+32WG348fP564uDjnFhER4dY6RURERKRscjjg73+HU6egQwdNLVtYlnWFatSoEQAxMTEux2NiYrjxxhvzfJ6Pj0+OVg4RERERkYKaNAlWrYKKFWHuXPD1tbqi0s2yFovKlSvTsWNHNm3a5DwWHx/Pvn376Nu3r1VliYiIiEg58NtvMHGiuf/++9CsmbX1lAWWrrz9/PPP8/nnn3Py5EkA3n77bdq0acPNWjddRERERNzk1Cm46y7IyoJ774V77rG6orLBrV2h0tPT6devH+fOnQPgjjvuICQkhG+++QaAsLAwYmNjuemmm/D19aVy5cosXrwYDw9L846IiIiIlFFZWTBypDlou1kzeO89qysqO2yGYRhWF1EY8fHxBAUFERcXR2BgoNXliIiIiEgJNnmyuWaFjw+sX28O2pa8FeRaW00DIiIiIlIu/PorPP+8uf/OOwoVRU3BQkRERETKvKgouOMOsyvUiBFw//1WV1T2KFiIiIiISJmWkQHDh0NsLLRrB9Ong81mdVVlj4KFiIiIiJRp48fD2rUQGAjffguXWYtZCkHBQkRERETKrPnz4Y03zP3PPoOmTa2tpyxTsBARERGRMmn/fhg1ytz/178gLMzaeso6BQsRERERKXOSk2HoUIiPh549zWlmxb0ULERERESkTDEMuO8+2L4datSAuXPBy8vqqso+BQsRERERKVNefx3mzAFPT3Owdu3aVldUPihYiIiIiEiZsXw5PPOMuT9tGvTqZW095YmChYiIiIiUCQcPXlgE77774KGHrK6ofFGwEBEREZFSLzER/vY3OHcOrrkG3ntPi+AVNwULERERESnVDANGjoSdOyE4GL77Dnx8rK6q/FGwEBEREZFSbfJkM0x4eZm3GqxtDQULERERESm1Fi+G55839997D6691tp6yjMFCxEREREplbZtgzvvNLtCjRkDDzxgdUXlm4KFiIiIiJQ6MTFwyy2QlAR9+sDbb1tdkShYiIiIiEipkpJizgAVEQHNmsE332hl7ZJAwUJERERESg3DgNGjYcMGqFwZfvjBvBXrKViIiIiISKnx0kswZw54esL8+dC0qdUVSTYFCxEREREpFebMgQkTzP0PPoDQUCurkUspWIiIiIhIibd+vbkIHsC4cXDffZaWI7lQsBARERGREu3AAXMGqLQ0GDwYpkyxuiLJjYKFiIiIiJRYJ0/CgAFw6hR06gRffgl2u9VVSW4ULERERESkREpONlsqDhyABg1gyRLw97e6KsmLgoWIiIiIlDgOh7mq9oYNUKUKLFsGwcFWVyWXo2AhIiIiIiWKYcDjj8OiReDjY942b251VXIlChYiIiIiUqK89hpMnw42mzmmokcPqyuS/FCwEBEREZES46uv4Omnzf233oLbbrO2Hsk/BQsRERERKRGWLYMRI8z9J5+EsWOtrUcKRsFCRERERCz3++8QFgaZmeag7ddes7oiKSgFCxERERGx1PbtMHAgpKSYa1bMnAkeukotdfRXJiIiIiKWOXgQbroJzp2Da6+Fb78Fb2+rq5KroWAhIiIiIpaIjoZ+/SAmBtq2hR9+AD8/q6uSq6VgISIiIiLF7uxZs6Xi0CFo1AiWL4fKla2uSgpDwUJEREREilViIgwaBDt2QK1a8PPP5q2UbgoWIiIiIlJskpPhllvMWaAqVTJbKho1sroqKQoKFiIiIiJSLFJT4W9/g1WrICDADBVt21pdlRQVBQsRERERcbv0dBg61Oz2VLEiLF0K3bpZXZUUJQULEREREXGrjAy44w5YsgQqVDBnf+rRw+qqpKgpWIiIiIiI22Rmwj33wIIF4OMDCxdCaKjVVYk7KFiIiIiIiFs4HDB6NMydC15e8N13cOONVlcl7qJgISIiIiJFzuGAUaNg1iyw281wMXCg1VWJO3laXYCIiIiIlC3Z3Z/mzDFDxddfw5AhVlcl7qZgISIiIiJFJiMD7roLvv3W7P40d65CRXlhebCYMGEC33//PZUqVXIeCwoKYuHChdYVJSIiIiIFlpYGw4ebA7S9vc1wccstVlclxcXyYAEwdepUQjU9gIiIiEiplZpqrlOxZIk5+9OCBTBggNVVSXEqEcFCREREREqvlBRzRe2ffjLXqVi0CPr2tboqKW4KFiIiIiJy1eLjYfBgWL3aXFH7hx+0TkV5VSKmm50xYwahoaH06NGDESNGcPDgQatLEhEREZErOHkSrr/eDBWBgbB0qUJFeWZ5sKhXrx4dO3ZkxYoVrFmzhoYNG9K5c2ciIyNzfXxaWhrx8fEum4iIiIgUr2PHoFcv2LIFqleHX38170v5ZTMMw7C6iIs5HA7q1KnDfffdx6RJk3KcnzBhAhMnTsxxPC4ujsDAwOIoUURERKRc27vXXEE7IgLq1YOff4ZmzayuStwhPj6eoKCgfF1rW95icSm73U6DBg3y7A41fvx44uLinFtEREQxVygiIiJSfm3ZAj17mqGiRQtYu1ahQkyWB4uxY8fmOBYVFUVISEiuj/fx8SEwMNBlExERERH3W73aHENx6hR07gy//QZ5XLJJOWR5sFi0aBGLFi1y3v/kk0+IjY1l9OjRFlYlIiIiIhebOxf69YOEBDNc/PKLObZCJJvl081OmjSJqVOn8tZbb5GWloa3tzc///wzLVu2tLo0ERERkXLPMODNN2HcOPP+kCHw1Vfg62ttXVLylLjB2wVVkAElIiIiIpJ/Dgc88QS88455//HHzZBht1tblxSfglxrW95iISIiIiIlT0oK3H03LFhg3n/jDTNk2GzW1iUll4KFiIiIiLg4dQpuuQXWrwdvb5g1C26/3eqqpKRTsBARERERp717YdAgOHAAKleGhQu18J3kj+WzQomIiIhIyfDzz9C9uxkq6teHdesUKiT/FCxEREREyjnDgHffhQEDIC4Orr0WNm4ETdIpBaFgISIiIlKOZWTAww/DY4+Zs0Dde6+5RkWNGlZXJqWNxliIiIiIlFNnzsCwYWaQsNng1VfN9So085NcDQULERERkXJo92649VZzPIW/P3z5JQwebHVVUpqpK5SIiIhIOfPNN9Ctmxkq6tUzB2krVEhhKViIiIiIlBOZmfDUU+aaFElJcP318Oef0K6d1ZVJWaBgISIiIlIOxMZCv37w+uvm/X//G376SYO0pehojIWIiIhIGbdhAwwdCsePm+MpPvvMvC9SlNRiISIiIlJGGQa8/z5cd50ZKpo3N9enUKgQd1CwEBERESmDzp0zp5J9+GFIT4chQ7TonbiXgoWIiIhIGbNxI3TsCN99B15e8Oab5n5goNWVSVmmMRYiIiIiZYRhwFtvwdNPmzNANWwIc+dC165WVyblgYKFiIiISBlw+jSMHAk//GDeHzYMPv4YgoIsLUvKEXWFEhERESnlfvoJ2rY1Q4WPD3zwgdlSoVAhxUktFiIiIiKlVHKy2e3p3XfN+y1awJw50L69tXVJ+aQWCxEREZFSaPNm6Nz5Qqh47DHzmEKFWEXBQkRERKQUycyEl1+Ga66B8HCoVQuWLYO33wY/P6urk/JMXaFERERESonwcBg9Gv74w7w/bJi5AF7VqtbWJQJqsRAREREp8TIzYcoU6NDBDBWBgfDFF+YAbYUKKSnUYiEiIiJSgm3fbrZSbN5s3h8wAD78EEJCrK1L5FIKFiJFzOFwsGbNGqKjo6lVqxa9evXCbrdbXZaIiJQy6ekwaRK88orZYlGpEkybBvfcAzab1dWJ5KRgIVKE5s+fz9ixYzl+/LjzWN26dZk2bRphYWEWViYiIqXJunUwZgzs3GneHzIE3nvPHKgtUlJpjIVIEZk/fz5Dhw51CRUAkZGRDB06lPnz51tUmYiIlBanT8P990PPnmaoqF4d5s2D775TqJCST8FCpAg4HA7Gjh2LYRg5zhmGgWEY3H///axfv56kpCQLKhQRkZIsKwtmzIDmzeHTT81jo0fD7t3mzE/q+iSlgbpCiRSBNWvW5GipuNTZs2f5v//7P2w2G40aNaJNmza0bdvWedu0aVO8vLyKqWIRESkpduyAhx4yuz8BtGljTiHbs6e1dYkUlIKFSBGIjo7O92MNw+DgwYMcPHiQhQsXOo97e3vTokWLHIGjXr162PRVlYhImXP2LLz0ErzzDjgcULEiTJgAY8eCvmeS0kjBQqQI1CqCjq/p6els376d7du3uxwPCAjIETbatGlDtWrVCv2eIiJS/DIz4aOP4IUXzDEVYA7OnjZNU8hK6WYzcusUXorEx8cTFBREXFwcgYGBVpcj5ZTD4aBBgwZERkbmOs4CIDg4mHfeeYfdu3ezY8cOdu7cyb59+8jKyrqq9wwODs4ROFq1akXFihUL86OIiIgb/fwzPPEE7Npl3m/dGt58E/r1s7YukbwU5FpbwUKkiGTPCgW4hIvsbkzffvttjilnU1NTCQ8PdwaN7NuIiIirqkHjN0RESqZ9+2DcOFi82LxftarZDeof/wBP9R+REkzBQsQiua1jERISwtSpUwu0jsW5c+fYtWuXS+DYsWMHZ8+evaq6NH5DRMQaUVFmgPjkE3MchacnPPIIvPgiVK5sdXUiV6ZgIWIhd628bRgG0dHRLi0bO3bsYPfu3aSkpFzVa2r8hoiIe5w9C6++ao6bSE01jw0cCK+/Di1aWFubSEEoWIiUIw6Hg0OHDuUIHBq/ISJS/JKT4e23zVBx7px5rEcPmDwZevWytDSRq6JgISLO8RuXBg6N3xAROW/rVhg/3rzq79ChUC+VkgIffwxTpkD2DORt2pgvPXCgFriT0qsg19oaLiRSRvn6+tKhQwc6XPKfZVxcHDt37swROM6cOXPZ19P6GyJS5nz3HSxbBl27XnWwSE6GDz6A//0PTpwwjzVoYI6ruOsuKIKesCKlhlosRETjN0SkfOrQAbZtM2//+qtAT01MNFfHfv11iI01j9WrB88+CyNHgo9PURcrYg11hRKRIpHX+I39+/fjcDiu6jU1fkOs5MhykJyRTFJGEknpSZfdT3Okke5IJy3TvM3eso9fup/uSMeR5SDLyCrQZrPZsNvseNg8sHuYtx42jxzHLr7v5eGFj6cPPnYfvO3e+Nh9nPddjl90zM/Lj4peFanoXTHPWw+bh9V/RcXnxAkIDna9X6PGFZ92+rQZKKZNg1OnzGMNG5qB4t57wdvbTfWKWETBQkTcSuM3pLgZhkFyRjKnU05zLvUccalxxKXF5X17ybHswJDmSLP6RynRKnhWcAkagT6BVPKtRJBPkOutr3mb27GKXhVLRzfIL76AESNc799zT54PP3QI3noLZswwuz8BNG4Mzz8Pd98N+lUlZZWChYhY4tLxG9mh40rjN/Ki8RtlV1J6EieSTnAq+RSnk0+btymnXfYvPVaUocCGjYreFZ3f4vt5+TkvqP28/PDz8sPX09f5zX/25uN54f7F53w8ffDy8MLTw9PZ4nDxZrPZcj+ODQPD2XpxcYuHw3DkesyR5SAjK4O0zDTSHGnOFpXs/YtvLz6e3SKTmJ5IUnqSM2wlZSQV2Z8rgJeHF9X8qrlsVStUzXGsml81qvqZxy0JI8OHm2MssheXuO02mDMnx8P+/BNee818aPZEex06mIvdDR+uxe2k7FOwEJESwzAMYmJicqwuvmvXrkKP37g0cJTo8RtFOPtMSZWWmcaJpBOcSDxBTGIMMYkxnEjKfT8xPfGq3sPb7u38ljzIN8j19vz+pecDfQIJ8AlwCRG+nr4Kp+cZhkFKZgpJ6edDx0WBIz4t3tlCdC71HHFpl9yeP559LDMr86pq8PPyI9g/+MJWMZhaAbVcjtXyr0WNijXwsuezaSAy8sJo6pw/NNxwA8THXzgWGAi//AI2GxmZsOpXmDsXtpwfenGCmrS9qQ5PPWU+VR8fKS8ULESkxHM4HBw+fNilZaOw4zdq1qyZY7B469atS8b4jf/8B15+2bx96SWrqymwhLQEjscf53j8cSLiI5z7F29nUwu2MnwFzwpUr1jd+W12Vb+qF/YrVHV+m33x+VLTzaYcyu6udiblDKeSTzm37NanS7fTKac5mXSywC1R1fyqEewfTJ2AOtQNrEtIYAghQSEu+/7e/tCnjxkU8mKzmQEjr/uXSOjeh4D1KwpUq0hZoGAhIqWWO8ZvNGzY0CVwWDJ+oxCzz7hbZlYmkfGRHD53mCPnjnDk3BEi4iI4nnAhNMSnxV/5hTC7wdT0r+n8lrlmxZqu30RfdMzf218hoZwzDIOkjCRik2KJSYwhOiHa2aoVnei6fyLxBA4jf186BPkEcd/BQCZ8FY1/ciaF+ZQZgK1SJfjoIxg2rBCvJFI6KViISJlztetv5CW38Rtt2rShfv36+brYnT17NjNmzODGG29k3Lhxlw8pVzn7TFHJMrKIToh2BofDZ8/fnr9/LO5Yvi7YgnyCzG+Fg0KoG1CXuoEXtjqBdagdUJvKvpUVFsQtsowsTiefdgaNyPhIZ+tZRHyEGYbjjxOXFud8TvVEeP8HuC0csoCCzHll2GzYDAOGDDEXqijGf7MiJUmpCxYLFixg0qRJVKhQAQ8PD6ZPn07r1q3z9VwFC5Hyy6rxG6dPn6ZmzZrOLlvdu3dnzpw5NGjQIPcXLeDsM1cjMyuTo+eOsv/Mfvaf3s+BMwfYf8a8PRp3lHRH+mWf7233pn5QfRpUakCDSg2oF1TPNTgE1CHAJ6BIaxZxh+xuexeHjZo/rubu99ZQITUTz6wrv0amDZJ8PZh+XzuiBvSkadWmNK3SlGZVm1G/Un08PTRiW8qPUhUsNm7cSJ8+fdi0aRPNmzfniy++4Nlnn2XPnj0EBFz5PzEFCxG5lLvHbzRu3Jinn36a5Ow5J4GgoCA+/fRTbrvttpxPzufsM1f8ubIcHIs75gwP+8/sd4aHw2cPk5GVkedz7TY79YLq0bByQxoEmeGhYeWG5m2lhtQKqFW+1jCQcsMwzLkTFn4cS69PR3JD+tLLdo0ygMerw0cBkF4F8AYc57cs8PD0oE6POrTv2p6mVS4EjqZVm1I3sK7+HUmZU6qCxW233Yanpydz584FICsri9q1a/P888/z6KOPXvH5ChYipU9WFiQlmROyJCRAaiqkpeW9ZWSYFwfZv62y9y8+ZrOZ88hfvHl7u943jFRiYsI5fnwnR47s4MCBnYSH7+D48asbv5Gb4TfeyIwXX8SvQoULxV5m9pncpFQJZJ9vErtP7mbPqT3mdnIP+8/sv2zLg6+nL02qNKFJlSbOC54mVZrQqHIj6gTW0besUq7s3Qtff21m+L17zWMv8R/GMxlP8v6CYZbNxr1XujTyAv4JXDIvRPa/wWZVm9GqWitaVW9Fy+otaV61ORW8KhTmxxGxTKkKFpUqVeL5559n3LhxzmMDBw7Ey8uL77///orPV7AQsU5mJpw8aW6nTuXcP3UKzpwxr6mzQ0R8PCQmXnbylWJns8Xh67sTT8+d2Gw7cDh2kpa2g8zMqxu/UQmIBnwvvEGBZp9Z0RBuHJH7OR+7D42rNHaGhqZVmjq7adQJrKNvS6VcO3rUnCL266/NVopsvr4waBB8sqkDgUe2XbbF4jHg3Su8j81m4+VFL3Pa6zT7zuxj/+n9HDp7KM9WQxs2GlVuZAaNai1pVd0MHS2qtVAXQynxCnKtbenXV6dPnyYuLo7giwc1AsHBwfz5558WVSUiYPbaiYyEI0fg+HFzi4y8sH/8OMTEXFgw6mrY7RAQABUqgI9P3puXl3ktnv0Ff277WVlmy8bltvR0SEkxW0uSksz7AIYRREpKD6DHRdUZmPFgJ7DjotvdwOXHb5wD5gH3Ol/qkhCRR6gwgLO+8GEXqOxb2XkR0rJ6S+dFSEhgCHYP+xX/bEXKA8OA7dth4UL4/nvXCdc8PaFfP7jzThg8GAKTY6DWNtcXyA75F4X954FPyftfub+/P6NGjWL8wPEuExVkj3Pad3ofe0/vdbY47ordxdnUsxw8e5CDZw+yeN9il9cLCQxxBo12NdvRvmZ7WlZvia+n76VvLVLiWRossvsn+/j4uBz38fFx6bt8sbS0NNLSLsx5HR+fvykQRSSnjAw4eBAOHDBvL94OH75w4X05Hh5QtSpUrw7Vqpm3F+9XqQJBQWaACAw0t+x9X19rF5nKzDQDRnLyhbCRvSUk2Dh3rvb5rR/nzsG5c3D6dCarVnUmOXl7nq9rB/oVoI7s2Wp+b9GBZXe/wMDm1/KvkBrUrm0jONjs0iUipsxMWLfODBLff29++ZHNwwOuu84ME2Fh5u8hpwXLXV8o+5uNxx+Ht982m1QdDmoCvwPdPT1Jz8y54F9iYiLvvPMOGzZsYPz48QwePBgPDw88PTxpXKUxjas0ZkDTAc7HG4ZBbFIsu0/udoaN7P0TSSfMQebxESw/eKE+u81O82rNnUGjXc12tKvZjjoBdTTrmpRolgYLPz8/AJegkH0/+9ylJk+ezMSJE91em0hZkplphoVdu1y3vXvNcJEXLy+oXx9CQqBOHahb98KWfb96dfP/59LI09MMPUFB+X/O2bMJVKmSM1TY7DZstT1o4OXgm+NQLQOzCeIKMrETTwBj+JBvwm+H/+R8TNWqUKsW1K5t/rmHhFz4e8jeDwrSSsBSdh07BsuXm9vKlWbIz+bra7ZM/O1vZnen6tXzeJEffzSTR/bgrMGDL0wj+8gjMGYMLFgANhsdbDY+7tSJERs35lnTxo0bGTJkCK1atWL8+PHccccdeHrmvKyy2WzU9K9JTf+aXN/wepdzZ1LOsOekGTR2xO5gR+wOtsVs42zqWWf4mLPzwkQPlX0r5wgbbWu2VeuGlBilboxFbi0WISEhGmMhcl5qKuzYAZs3w5Yt5u2uXeYg6Nz4+UHTptC4sbk1aXJhPySk9IaGopSckcy2mG1sid7ClugtfP/a95xZdwb8gKZAM6Ax4AueHp708GnK1DnnaP9X9BVnnznZeQDL75zJ4aQaREfjssXEXD74XaxiRdegcWnwqFsXKldW+JDSITkZfvvtQpjYs8f1fJUqcMstZpi48Ubz839ZmZlmQo+Ph0qV4MMP4fbbcz5u3jx48EEzuQQG8sjddzP9/fedpxs0aEBERESus8s1aNCAf//734waNQpf36u/0DcMg6iEKLad2Mb2E9udW/ip8FzXm7Hb7LSu0ZrOtTrTuVZnOtXqRPvg9vh55f4FrUhBlarB22FhYXh7ezPn/NSLhmFQu3ZtnnvuOc0KJXIFDgfs3m12C/jzzwshIpfWe/z8oFUrc2vd+sJWr575JZ6Y4tPi2Rqzlc1Rm9kSYwaJ8FPhZBkXDSYxgAyoElCFznU60yG4A+1rtqdtzba0qNYCb7s3/Oc/MHmy+ZeUF7sdnn0WXnop19NZWebg9+ygERXlOs4lIsK8PX06fz+bn1/uoSMk5MJWqZLChxS/hATz99jq1eb255+uv8c8PKB7d7jpJnPr2rWAX3okJJh9pBo2vPJid7GxZuvFkSOk//wzvQcNYv369QD07duXjz76iNdee40ZM2bk6HEB5tTUTz75JGPGjCnS65K0zDT2nNrDtpjzgSN2O1tjtnIq+VSOx3rYPGhZrSWda3emU3AnOtc2f0/5e/sXWT1SfpSqYLFx40b69u3Lpk2baNasGbNnz+aZZ57ROhYiuUhMhI0bzf+A162DP/5wncU0W7Vq0LmzuXXqBB07QoMGChCXSstMY9uJbWw4voGNURvZGLmRfaf35frYWv616FSrk8sWEhiSd3/nDh1g27bcz136uItHnF6FlBTXQfUXh47s/VM5rz1y5ed3IWRcHDou3g8MVPiQwomKMn+XrV1rBoktW3JOBBESciFI9OljtrgVisNRsDRy/vEnTpzg8ccf5+TJk7z11lu0b98egJiYGN566y2mT59OYmJijqdXqlSJxx57jMcff9xlgc2iZBgGx+OPszl6M1uit7A5ejObozZzIulEjsfasNG8WnM61epEt9rd6F63Ox2CO6gblVxRqQoWoJW3RfKSnGwGiJUrzWUPtmzJ+QV4xYpwzTXmlh0mQkJ04XcpwzDYf2Y/GyM3OoPE1pitua4LUS+onhkezn/T1zG4I7UCauX/zWJizEERF8tl9hmXx9eseRU/Vf6lpl5o7YiIuBA8Lr7Nb/jw979y+MjH90JSTiQkmK2pGzaYYWLDBvOzeKlGjaB3b7NhoXdv88uQ0vB77OzZs7z33ntMnTqV07k0H/r5+fGPf/yDf/3rX9StW7dYaopKiDKDxvmW181Rm4lMyPmH7uXhRYfgDnSv053udbvTvU53mlRpogHi4qLUBYvCULCQsiQz0+wCsHKluf3+e86ZmUJCoEePC1vbtuYgZHF1MukkGyI3mEEicgN/Rv7J2dSzOR5Xza8a3ep0o3ud7nSr040utbtQza+Q3y5+/jmMHHnhfh6zz7g8/t57c7xMcUtJMS/4Lg0eF++fyefSHoGBVw4fV+wXL6WKYZifn+3bzca67Nvw8JxZ2sPD/N3VvfuFMFFM19xuk5SUxCeffMJrr71GZC7JycvLi3vvvZenn36apk2bFnt9JxJPsCV6C5uiNrExyvyC5WTyyRyPq1KhivN3Yvbvxap+VYu9Xik5FCxESpFTp2DpUliyBJYtg7g41/N165rdAPr0gdBQ84JMXGUZWYSfCmfdsXWsizC3A2cO5Hicr6evSzeAbnW60bBSw6L/dm74cPj22wuzzwwZcqFfd3b/7fOzz2CzwbBh5vLApUBS0pXDx8Uz9lxO5cp5h47smccUPkoewzD/rvftM2eWCw83J4zYvj3v4FmvnhkiunUzbzt1Krt/t+np6cyePZspU6awf//+HOc9PDwYOnQo48ePp0OHDs7jDoeDNWvWEB0dTa1atejVqxd2N86eYRgGR84dYUPkBjYc38CGyA1sid5CmiPnuJHGlRtzbci19AjpQc96PWlZvaUW4yxHFCxESrDsBZ2WLIEffoD1612/zatSBW64wQwSN9xgztikVmlXKRkp/Bn1pzNI/B7xe47WCBs2WlZv6dIa0bZGW7zsXu4t7ipnn+HMmTIzBVdiYu6B4+L9/C5BFBAAwcFmT7Hg4Ly3GjXM6ZGlaGRkmAHy6FFzO3DADBH79plbHktNYbdDixbQvj20a2duHTuaf0fljcPh4LvvvuOVV15hWx7jrW6++WbGjx9PbGwsY8eO5fjx485zdevWZdq0aYSFhRVXyaQ70tl+YrszaKw/vp79Z3KGo8q+lZ1Bo0e9HnSt3ZUKXhWKrU4pXgoWIiWMYZj9ir/91tyOHnU936EDDBxozsFe4NlOyoGYxBjWHTMDxLqIdWyJ3kJGlus8rBU8K9C9bnfzP7qQHvxfyP9RybdS8Rd7lbPPsHp1uRqYEB9/5fCRy3jYy6pW7UIIqVbNzHdVq+a9HxBQPkN7UpI5rOfiLSrqQog4etQMFZcOpr6Yp6c5JqJ5c3Nr08YMEa1awSVr3pZ7hmGwbNkyXnnlFdauXZvv52W3pH777bfFGi4udSblDBsjNzq/yNkQuYHkDNdk6eXhRefanekZ0pMe9czfwdUr5rWgiJQ2ChYiJUBWljlr07ffwnffmRdK2SpUgL59zSBx882lv29xUTsef5zVR1az+qi55TZTU+2A2s4Q0aNeD9rXbO/+1oj8usrZZ+QCwzCDxaUXwCdO5H4stymWr8TL60LIqFTpwsrwQUEX9nO77+dn/hv29TVvs/eLI6QYhjnuKjnZdUtIMBu/zp7NuZkrxl/4s8tvYPP2Nrsw1a9v5uTsENGsmRkq1EJUcGvWrGHy5MksXbo0X4+32WzUrVuXw4cPu7VbVEFkODLYGrOVdRHrWHtsLesi1hGTGJPjcc2qNqNXvV6ENggltEEodQP1H11ppWAhYhHDMAcrzppldpmPirpwzt/fXNBp6FDo39+8OBHTsbhjrDqyyhkmDp496HLeho22Ndu6BIn6QfU1c4kAF9b7uDhsnD59YTt1Kud+SkrR1+Hj4xo0vL3NvOjhYd5eumUfdzjMYJR9e/G+w2F2S0pJuRAiLteSkF8VKuTsTla/vusWHKwpqt3lr7/+YsqUKXzzzTfk5zLs119/JTQ01P2FXQXDMDh09pA5vu3YOtZGrGX3yd05Hte4cmNCG4TSu35vQhuEEhKkAYOlhYKFSDGLjIQvvzQDxc6dF44HBsLgwebY3H79zIuN8i57wODqo6vNMHF0NUfOHXF5jIfNg061Ojn/A+pZr6c13ZqkzEpOdg0b8fHmFhd3Yf/S+9n7KSkXtsutf+huHh7mAGg/P/OLi8qVza1SpQv7F28Xhwh///LZDaykeeONNxg3btwVH/fVV19x5513FkNFReNMyhl+j/id347+xqojq9gcvdl1kVGgUeVGhNY3WzN6N+hNvaB6FlUrV6JgIVIMkpPNLk5ffGFODZv9L8nb2wwT99xjLuyk/sYQnRDNysMrWXFoBb8c/oWI+AiX83abnS61u9C7fm96N+hNj5AeBPkGWVStSP5lZJhrhGQHjYv3MzLM1gWHI+eWfTwr60ILhqdnzv3sWz+/nJuXl8JBabdq1Squv/76Kz6uJLdY5Ed8Wjxrj611fpm0OWozDsM1lTes1JDQBqFc3+B6+jTqQ+2A2hZVK5dSsBBxo127zIl+Zs1ynVazZ08zTAwbVgQrxJZy8WnxrD6ymhWHVrDi8IoczeKeHp50rd3V2Sx+bci1BPiUn4HLIiJgzhzVoEEDIiMjc+0SVRLHWBSF+LR41h1bx6ojq1h1dFWuQaNV9Vbc2OhG+jbqS+/6vfV/hIUULESKWEoKfPONGSh+//3C8fr1YdQoM1A0amRdfVZLd6Sz/vh6M0gcWsHGyI0u/0nYsNGpVif6NupLn4Z9uDbkWip6l9FJ7EVECmD+/PkMHToUwCVclJRZoYpDQloC6yLMoLHy8Eo2R23G4MKfhaeHJ93rdKdvo77c2OhGutXpVnIm6ygHFCxEisihQ/DOOzBz5oXWCbvd7Or04INw443lc3CjYRjsiN3Bzwd/ZuXhlaw+ujrH9INNqjShb8O+9GnUh+sbXK+VW0VE8jB//vwc61iEhIQwderUMh8qcnMm5Qy/Hv6VFYdW8POhn3NM6OHv7U9og1Bni0bLai01mYcbKViIFIJhwG+/wdSpsHDhhbET9evDAw/A6NFQq5alJVribMpZVhxawbIDy1h2cBlRCVEu56v7VadPoz7OMNGgUgNrChURKYWKe+Xt0uTw2cPOcXorDq3gdMppl/O1A2pzU+Ob6N+kPzc2upHKFcp5f+QipmAhchXS0swpYqdOha1bLxzv3x8ef9wciF2eWieyjCy2RG9h2YFlLD2wlPXH17vM6lHBswK9G/R2fmPUpkYbPGzl6A9IRESKXZaRxbaYbc4xfL8d/Y3UzFTnebvNzjV1r2FAkwH0b9KfjrU66v+mQlKwECmAuDiYPh2mTTMXkAJzjvcRI8xA0bKltfUVp5NJJ/np4E8sO7iM5QeWczL5pMv5ltVa0r9JfwY0GUCv+r3w9dT8uSIiYp3UzFTWHlvL0v1LWXZwWY7JQmpUrEH/Jv3p37g//Rr3U7fcq6BgIZIPsbFm68R775lz0wPUqQOPPWZ2eapSxdLyikWWkcWmqE38sO8Hlh1YxqaoTS4D5gK8A+jbqC/9m/TnpsY3Ub9SfQurFRERubyj5446u+yuOLSCxPQLS83bsNGtTjcGNBnAgKYD6FK7i1oz8kHBQuQyjh2D11+Hjz8255wHaNUKnnkG7rjDnBu+LEtMT2TFoRUs3ruYJfuXcCLphMv5DsEd6N+4P/2b9Of/Qv4Pb7u3RZWKiIhcvXRHOuuOrXN26d0Ru8PlfI2KNRjYdCC3NLuFGxvfiL+3v0WVlmwKFiK5OHIE/vtfc0G7zEzzWNeu8Oyz5ixPZXn8xLG4Y/yw7wcW71vMr4d/Jc2R5jwX4B3ATU1uYmDTgdzU+CZqBZTDkekiIlLmHY8/brZmHFjGz4d+Jj4t3nnOx+7DDQ1v4JZmtzCo2SBCgkIsrLRkUbAQuUhkJEyaBJ98Yq6EC3DDDWaguOGGsrlybZaRxcbIjc4wsf3EdpfzjSo3cv7yvK7+dWqVEBGRciXdkc6ao2tYvG8xi/ct5tDZQy7nOwR34JZmtzC4+WA61epUrrtMKViIYA7EnjIF3n/fnPEJzHUnJk6E//s/a2tzh5SMFH46+BML9y5kyf4lxCbFOs952Dy4NuRaBjUdxC3Nb9Gc3yIiIucZhsGeU3tYtHcRi/ct5o+IP1zGG9byr8WgZoO4pdkt9GnUBz8vPwurLX4KFlKunT0L//sfvP02JJ9fs61XL7MbVO/e1tZW1M6lnmPJviXMD5/PsgPLXBapC/QJpH+T/gxqOogBTQdQza+ahZWKiIiUDieTTvLj/h9ZvG8xyw8udxkA7uflR/8m/QlrEcbAZgOp5FvJukKLiYKFlEvp6WbrxEsvwZkz5rFu3eDll6Fv37LT5Sk6IZqFexeyIHwBvxz+hcysTOe5ekH1+FvzvzG4+WB61e+lLk4iIiKFkJaZxuqjq1m81+wydTTuqPOcp4cnfRr2YUiLIdza4laC/YMtrNR9FCykXDEM+O47c1angwfNY61bw+TJMGhQ2QgUB88cZEH4Aubvmc/64+tdmmhbVW/FkBZDGNJiCJ1qdVIXJxERETcwDIOtMVuZv2c+C8IXsOvkLuc5GzauDbmWsJZhDGkxhIaVG1pYadFSsJBy4/ffYdw4+OMP835wsNnlaeRI8PS0tLRCMQyD7Se2O395XTpFXrc63QhrEcaQlkNoVrWZRVWKiIiUX3tP7WVB+AIWhC9gY+RGl3MdgjswpMUQwlqG0bp661L9pZ+ChZR5x4+bgWLuXPO+nx889ZR5zL+UTkNtGAY7Yncwb9c8vtn9DftO73Oes9vshDYIZUiLIfytxd+oE1jHwkpFRETkYsfjj/N9+PfM3zOf347+hsNwOM81rdKUYa2GcXvr22lXs12pCxkKFlJmpaXBW2+ZrRLJyebaE6NHmzM91a5tdXUFZxgGO2N3OsPE3tN7ned87D7mALGWYQxqNogqFcrBUuAiIiKl3KnkUyzeu5j54fP5+eDPLmtHNa/anNtb387trW8vNS0ZChZSJi1bBo8/Dvv3m/d79IB334UOHSwtq8AMw2DXyV3M2zWPebvm5QgTA5oO4PZWtzOo2SACfAIsrFREREQKIyEtgSX7lzBv1zx+3P+jS8hoWa2lM2S0qt7KwiovT8FCypQjR+CJJ+D77837wcHw2mtw992la2D2rtjzYWL3PMJPhTuPe9u9GdBkALe3NsNEoI8+xyIiImVNfFo8i/cuZt7ueSw7sIx0R7rzXOvqrZ0ho0W1FhZWmZOChZQJmZnw5pswYQKkpJiDsceOhRdegNLyV33wzEG+3vk1X+/8mt0ndzuPe9u96d+kP8NaDeOWZrcQ5BtkYZUiIiJSnOJS41i0dxHzds9j+YHlZGRlOM+1q9mO21vdzvA2w2lSpYmFVZoULKTU27QJHngAtm41719/vdntqVXJbSl0ikmMYd6ueXy14ys2RG5wHve2e3NT45sY1moYg5sPVpgQERERzqWeY2H4QubumsvPh352WZ+qc63O3NnmTh7v/jhedi9L6lOwkFIrMdFskZg2DbKyoEoVeOMNGDGiZHd7ikuNY0H4Ar7a8RUrD68ky8gCwMPmQZ+Gfbir7V38rcXfysUKnSIiInJ1zqSc4fvw75m7ay4rD63EYThoXrU5ex7ZY9lA74Jca5fimf6lrFm2DMaMgaPnF7W8806YOhVq1LC0rDylZqaydP9Svtr5FYv3LnYZkNW9TnfuansXt7e+vcyuxCkiIiJFq0qFKozuOJrRHUcTmxTLd7u/w8/Lr1TMHgUKFlICxMXBP/8JM2ea9+vXh/ffhwEDrKwqd44sB6uOrOKrHV/x3Z7viEuLc55rUa0Fd7e9mzvb3EnjKo0trFJERERKuxoVa/BQ14esLqNAFCzEUj//DPfdBxERZlensWPNNSpK2iJ3u0/u5vOtnzN7x2yiEqKcx+sE1OHONndyV9u76BDcodR8oyAiIiJS1BQsxBKJifDvf5stEwCNG5stFj17WlqWi1PJp/h6x9d8vu1zNkdvdh6v7FuZYa2GcVfbu+hVvxceNg8LqxQREREpGRQspNitWQMjR8KhQ+b9Rx6BV1+FihUtLQuAdEc6S/Yt4YvtX7Bk3xLn9G+eHp7c3PRmRrQfwcCmA/Hx9LG4UhEREZGSRcFCik16OvznP+bidoYB9erBjBnQp4+1dRmGwaaoTXyx7Qu+3vk1p1NOO891qtWJEe1HcGebO6lesbqFVYqIiIiUbAoWUiz27zdnedp8vkfR6NHw1lvWLnQXGR/JrO2z+GLbF+w5tcd5vJZ/Lf7e7u/c2/5e2tRoY12BIiIiIqWIgoW4lWHA55/Do49CUpK5LsUnn8CQIdbUk+5IZ/HexXzy1yf8dPAn53oTvp6+DGkxhBHtR9CnUR88PfRPQ0RERKQgdPUkbnPuHDz0EMyZY94PDYVZs6Bu3eKvZffJ3Xy65VNmbZ/FyeSTzuO96vViRPsRDG01VCthi4iIiBSCgoW4xR9/mF2fjh4Fux1eegmeftrcLy4JaQnM2zWPT/76hPXH1zuP1/KvxYj2IxjdcTRNqzYtvoJEREREyjAFCylShmGulv3vf0NmJjRsCF9/Dd27F9f7G/xx/A8+3fIpc3fNJSkjCQC7zc6gZoO4r+N9DGg6QF2dRERERIqYrq6kyMTHm4Oyv/vOvD98OHz0UfEM0I5NiuWLbV8w468ZLgOxm1Vtxn0d7+Pe9vcS7B/s/kJEREREyikFCykS27fD0KHm7E9eXuaMTw8/bK6m7S5ZRha/HP6FDzZ9wMK9C8nMygTAz8uPYa2GcV/H++hZr6dWwxYREREpBgoWUmgzZ5qDtFNTzbUpvvkGunVz3/udSj7FzK0z+XDzhxw4c8B5vFudbtzX8T7uaHMHgT4WzmMrIiIiUg4pWMhVS02Fxx4zp48FGDDAnPWpatWify/DMFh7bC0fbP6Ab3d/S7ojHYAA7wDubX8v/+j8D9rVbFf0bywiIiIi+aJgIVclKgrCwmDDBvDwMGd9Gj/e3C9K51LP8cW2L/hg0wcuYye61O7Cg50f5I42d+Dv7V+0byoiIiIiBaZgIQW2YYO5wF10NFSuDHPnwo03Ft3rG4bBxsiNfLj5Q+bsnENKZgpgjp24u+3dPNj5QTrX7lx0bygiIiIihWZpsGjRogXBwa4z9QwfPpyHHnrIoorkSj77DMaMgfR0aN0aFi6Exo2L5rUT0xP5cvuXfLD5A7bGbHUeb1ujLWO6jOHutndrETsRERGREsrSYBEcHMyqVausLEHyKSMDxo2Dt9827w8ZAp9/DgEBhX/tfaf3Mf3P6Xy29TPi0+IB8LH7MLzNcMZ0HsM1da8pVTM7ORwO1qxZQ3R0NLVq1aJXr17Yi3NlQBERERELqCuUXNGZMzBsGPzyi3l/wgT4z38KN57CkeVg2YFlvPvnuyw7sMx5vGmVpjzc9WHubX8vVSpUKVzhFpg/fz5jx47l+PHjzmN169Zl2rRphIWFWViZiIiIiHspWMhlHTgAAwfCvn1QsaI569OQIVf/emdTzjLjrxlM3zSdQ2cPAWDDxsBmA3ms22P0bdQXD1sRjwAvJvPnz2fo0KEYhuFyPDIykqFDh/Ltt98qXIiIiEiZZTMuvQoqRl27dqVt27YcOHAAu91Ov379+Ne//oW3t3e+XyM+Pp6goCDi4uIILI4lnsuRdevg1lvh9GlzfYoffoC2ba/utbbFbOO9P99j9vbZzsHYlX0rc1/H+3io60M0qtyoCCsvPrGxsezcuZNt27bx/PPPk5ycnOvjbDYbdevW5fDhw+oWJSIiIqVGQa61LW2xaN68OQ8//DBdunThxIkTDBw4kM2bN/Ptt9/m+Zy0tDTS0tKc9+Pj44uj1HLn669h5EhzkHaXLrBoEdSqVbDXyHBksCB8Ae9ufJc1x9Y4j7ev2Z5Huz3KXW3vws/Lr2gLd5OEhAR2797Njh072Llzp/M2NjY2X883DIOIiAjWrFlDaGioe4sVERERsUCRB4sJEyYwceLEyz7mzz//pEuXLsyePdt5rGbNmkycOJFBgwaxf/9+mjZtmutzJ0+efMXXl6tnGPDKK/D88+b9v/0NZs82u0Hl18mkk3y4+UPe3/Q+UQlRAHh6eHJby9t4tNuj9AjpUWIHY6enp7Nv374cAeLw4cNF8vrR0dFF8joiIiIiJU2Rd4VKTEwkMTHxso+pVq0anp45M014eDgtW7Zk6dKl9O/fP9fn5tZiERISoq5QRSA9HR58EGbONO//61/w6quQ3547O2N3MnX9VGZvn02aw/w7qlmxJg92fpB/dP4HdQLruKfwq5CVlcXRo0dzBIjw8HAyMzPd9r6//vqrWixERESk1LC0K5S/vz/+/ldeCXnHjh1s2LCB+++/33ksMjISgJCQkDyf5+Pjg4+PT+ELFRcJCeZK2itWmLM9vfsu5Gc5kSwji+UHlvPW+rf4+dDPzuNdanfhn93/ybDWw/C253/MjDvExsbmCBC7du26YgDOi5+fH61bt6ZNmza0bduWtm3b0rJlS7p3705UVFSOwdtwYYxFr169CvvjiIiIiJRIlo2xOH36NP/73/8ICwujSpUqpKSk8Oqrr3LdddfRqlUrq8oql2Jj4eabYfNms8vTN9/AgAGXf05yRjKzts1i6oaphJ8KB8DD5sGQFkN44ponuDbk2mLv7pSQkMCuXbtcAsSOHTs4efLkVb2e3W6nefPmzgCRfduwYUM8cplr9+2332bo0KHYbDaXcJH95zB16lQN3BYREZEyy7Jg0a5dO4YOHcqAAQOoUKECCQkJdOnShUmTJpXY/vdl0aFDcNNN5rSy1arBjz9C1655Pz4yPpL3/nyPDzd/yJmUMwAE+gRyf8f7ebTbozSs3NDtNbtjHET9+vVzBIjmzZsXqHUsLCyMb7/9Ntd1LKZOnaqpZkVERKRMs3S62aKg6Wav3tat0L8/nDgBDRrA8uXQrFnuj90ctZm31r/F3F1zycwyxyA0rNSQsd3HMqrjKAJ9iv7P3h3jIKpWrersvpQdIFq3bl2knx2tvC0iIiJlRamZblbcZOtWGD8eJk+GDh1yfcivv5prVCQkQLt2sHQp1K7t+pgsI4tFexfx5h9vukwXe1396/hn938yuPlg7B5Fc8HsrnEQFweINm3aULNmTbe3iNntdg3QFhERkXJHwaIs+u47WLbM7NOUS7D47ju46y5zFqjrroOFC6FSpQvnUzNTmbVtFm/88QZ7T+8FzOli72hzB//s/k861+581aW5axzEpQEir3EQIiIiIuIeChZl0eLFF25fesnl1Oefw+jRkJVlzgL15Zfg62ueO5tylvc3vc/bG97mRNIJACr5VuKhLg/xaLdHqR1wSZPGZZTUcRAiIiIi4h4KFmXNiROwbZu5v3WrOeVTjRoATJ8Ojzxinho9Gj76yFyjYsfRHczYM4OPt3xMUkYSACGBITxxzRPc3+l+AnwC8nw7d46DuHg616IeByEiIiIiRUvBoqxZvjzn/Xvu4fXX4amnzEOPPw5vvQWL1y/k/tH3c2rvKWgB3A7tarXjqWufYnjr4XjZvVxeqiyNgxARERGRoqVgUdYsWWI2Qzgc4OmJsWQJLx26hwkTzNPPjDe44b6VtH/4CXZ+thPSzz8vHGZcN4ORN4wkMTGRzX9u1jgIEREREck3TTdb2kRGmt2dcmMYcMMNEB/vPJTiHUjP9F8wbA76jVnBwYqf8cuiA5zZ5/rUqlWr0r17d/bs2VPocRCXBgiNgxAREREpnQpyra1gUdr06QO//JL3eZvNDBjnZWHDA/P+L8AdwNW1O7iqVq1ajgChcRAiIiIiZYvWsSjLxoyBLVvg3Lncz1+SE7NDxXGgL1DQFFmxYkVat26dYzamGjVqaByEiIiIiDgpWJQ2w4ZB795mwFiwIEcLRV62c/lQYbPZaNCgAd26dXMJEA0aNNA4CBERERG5InWFKs3mzYMHHzSXz3Y4LvtQB9AGCL/MYypWrEhsbCx+fn5FWaWIiIiIlFIFudbWV9Gl2e23c3TDT+zsUPuKXZzswJ4BAzi+dSsffPABAwcOxDd7Zbzz0tLSyMjIcFu5IiIiIlJ2qStUKbX75G6mrJ3CVzu+4sWKDprbwOty6cJuhy5dqNO+PQ+2b8+DDz5IcnIyK1euZPHixRw9epTRo0cTFBRUbD+DiIiIiJQd6gpVyvwV/Rf//e2/LAhf4Dy2a3oALWITrtz81KED/PWXO8sTERERkTJEs0KVQZujNvPSby+xaO8iAGzYCGsZRu3fHqBVbH/XB2cP6L50YPfWreYaGDVrFl/hIiIiIlIuaIxFCbcxciODvhpEl4+7sGjvIjxsHtzd9m52PbyLjvu/Je69GNcn2O0QFAQvvGDe2u2u55cvL77iRURERKTcULAoof6I+IMBXw6g+yfdWbJ/CR42D+5pdw+7H97N7LDZ/Px1S55/HgbwI1k2D7N1AmDwYNi7FyZONG8HDzaP22zg4QE//mjdDyUiIiIiZZbGWJQwa4+t5aXVL/HzoZ8BsNvs3NP+Hp7r9RxNqjQB4LPPYPRosJNJondVfNPjoVIl+PBDuP32nC+aPS3tuXMQGAhnzuRsyRARERERuYTGWJRCq4+s5qXfXuKXw78A4OnhyYj2IxjfczyNqzR2Pu6bb+D++839px5JwWddI2jYED74AGrUyP3Fb78dQkPNRfWOHIHkZAgIcO8PJCIiIiLlioKFhQzDYNWRVUxcPZHVR1cD4OXhxagOo3im5zM0rNzQ5fE//gh33w1ZWWa4eOWdAGxZm/LX+lCjBsyfby6kp9YKERERESliChYWWX1kNS+seoHfjv4GmIHivo738UzPZ6hfqX6Ox//2G9x2G2RkwB13mA0UNhsFDwkKFSIiIiLiBgoWxeyPiD/4z6//YeXhlQB42715oNMDPN3jaUKCQnJ9zvbtcMstkJpq3n7xhfKBiIiIiJQsChbFZHPUZl5Y9QI/7jdnZcpuoXjuuueoG1g3z+cdPQoDBkB8PPTqBXPngpdXcVUtIiIiIpI/ChZutuPEDl5Y9QLfh38PmLM8jWg/gv/0/g8NKjW47HNPnYKbboKoKGjTBhYuhAoV3F+ziIiIiEhBKVi4SfipcCasmsC8XfMwMLBh4+52d/PCdS/QtGrTKz4/KQkGDTKXoggJgaVLoXLlYihcREREROQqKFgUsYNnDvLSby8xe/tssowsAIa1GsaE0Am0qt4qX6+RkQHDh8OGDWaYWL4c6ubdW0pERERExHIKFkXk6LmjvPzby3y29TMchgOAW5vfysTQibQPbp/v1zEMcy27JUvMbk8//AAtW7qrahERERGRoqFgUUiOLAdjl43lo80fkZGVAcCAJgN46fqX6FK7S4Ff7z//MVfWttvNgdrXXlvUFYuIiIiIFD0Fi0Kye9g5Hn+cjKwM+jTsw0vXv8S1IVeXBmbMgEmTzP0PPzSnlhURERERKQ1shmEYVhdRGPHx8QQFBREXF0dgYKAlNew5uYcTSScIbRB61a+xYoU5rWxmJrzwAkycWHT1iYiIiIhcjYJca6vFogi0rN6SltWvfiDErl3mqtqZmXDXXTBhQtHVJiIiIiJSHDysLqC8O3ECBg40F8Dr2dPsDmWzWV2ViIiIiEjBKFhYKDkZBg82V9du2hS+/x58fKyuSkRERESk4BQsLJKVBffcAxs3QpUq5vSyVataXZWIiIiIyNVRsLDIM8/A/Png7W22VDS98mLcIiIiIiIlloKFBT77DF577cJ+r17W1iMiIiIiUlgKFsXs999hzBhz/4UXzFmgRERERERKOwWLYhQRAWFhkJ5u3r74otUViYiIiIgUDQWLYpKcDLfeak4v264dfP45eOhPX0RERETKCF3aFgPDgFGj4K+/oFo1WLgQ/P2trkpEREREpOgoWBSDV16BefPA0xO++w4aNLC6IhERERGRoqVg4WYLF8Lzz5v706fDdddZW4+IiIiIiDsoWLjRrl3w97+b+48+Cg88YG09IiIiIiLuomDhJnFxMGQIJCbC9dfDm29aXZGIiIiIiPsoWLhBVhaMGAH790NICMydC15eVlclIiIiIuI+ChZu8Oqr5tgKb29zsHb16lZXJCIiIiLiXm4PFvv37+faa68lNDQ01/NxcXHcc889dOvWjU6dOjFx4kQMw3B3WW7z888XBmu/9x507WptPSIiIiIixcHTnS8+a9Yspk+fjt1uz/Mx99xzD1WrVmXjxo0kJyfTrVs3AgMDeeKJJ9xZmlscPQp33ml2hbr/fnMTERERESkP3NpiUbVqVVavXk2TJk1yPb9jxw4WL17Mv//9bwD8/Px4+OGHmTJlCllZWe4srcilpsJtt8Hp09ClC7zzjtUViYiIiIgUH7cGi5tvvhlvb+88z69YsQJ/f39atmzpPNa1a1diY2PZvn27O0srco8+Cps3Q9Wq8O234OtrdUUiIiIiIsXH0sHbhw4dombNmi7HgoODnedyk5aWRnx8vMtmtY8/hk8/BQ8PmDMH6te3uiIRERERkeJlabBITk7Gx8fH5Vj2/eTk5FyfM3nyZIKCgpxbSEiI2+u8nPR0eO01c3/SJOjb19JyREREREQsUeBgMWHCBGw222W3TZs25eu1/Pz8SEtLczmWfd/Pzy/X54wfP564uDjnFhERUdAfoUh5e8O6dfDf/8LTT1taioiIiIiIZQo8K9S4ceMYM2bMZR9TrVq1fL1Wo0aNOHHihMuxmJgY57nc+Pj45GjlsFr16hemmBURERERKY8KHCz8/f3x9/cvkjfv06cPTz75JOHh4bRo0QKATZs2UaNGDdq1a1ck7yEiIiIiIu5n6RiLdu3accstt/Da+UEKKSkpvP/++zz99NN4eGhRcBERERGR0sKtV++LFi0iNDSUZcuWsXXrVkJDQ/n0009dHvPFF1+QlpZGt27duPbaa7nttttK5eJ4IiIiIiLlmc0wDMPqIgojPj6eoKAg4uLiCAwMtLocEREREZEyoyDX2upvJCIiIiIihaZgISIiIiIihaZgISIiIiIihaZgISIiIiIihaZgISIiIiIihaZgISIiIiIihaZgISIiIiIiheZpdQGFlb0MR3x8vMWViIiIiIiULdnX2PlZ+q7UB4uEhAQAQkJCLK5ERERERKRsSkhIICgo6LKPKfUrb2dlZREVFUVAQAA2m82SGuLj4wkJCSEiIkKrfwugz4TkpM+EXEqfCbmUPhNyqZLwmTAMg4SEBGrXro2Hx+VHUZT6FgsPDw/q1q1rdRkABAYG6heBuNBnQi6lz4RcSp8JuZQ+E3Ipqz8TV2qpyKbB2yIiIiIiUmgKFiIiIiIiUmgKFkXAx8eHF198ER8fH6tLkRJCnwm5lD4Tcil9JuRS+kzIpUrbZ6LUD94WERERERHrqcVCREREREQKTcFCREREREQKTcGiiKWlpfHiiy/Su3dv+vbtS8eOHRkyZAiHDh2yujSxwJkzZ5gwYQI9e/YkNDSUDh068PLLL5OZmWl1aWKx/fv3c+211xIaGmp1KWKBBQsW0KVLF3r16kXv3r3ZtWuX1SWJxdLT0xk/fjyenp4cOXLE6nLEYvPmzaNfv3706dOHrl27ctttt5WKa8lSv45FSXP27Fk+/vhj/vrrL2rWrElWVhZ33HEHw4cP588//7S6PClmP/74I9988w2///47QUFBREVF0alTJ9LT03nppZesLk8sMmvWLKZPn47dbre6FLHAxo0buffee9m0aRPNmzfniy++4KabbmLPnj0EBARYXZ5Y4MiRI9x55500a9YMh8NhdTlSAvz973/nhx9+oF+/fmRlZTF69Gj69+/P9u3b8fX1tbq8PKnFoohVqVKFJUuWULNmTcBcwK9Xr17s27fP4srEClWrVuVf//qXc2GZ2rVrM3ToUObMmWNxZWKlqlWrsnr1apo0aWJ1KWKBV199lZtvvpnmzZsD5gVEZmYmn3/+ucWViVUSExOZNWsWo0aNsroUKSFuvfVW+vXrB5jXko8++ij79+9ny5YtFld2eQoWRczb25uOHTs670dGRvL5558zduxYC6sSqwwYMIDRo0e7HPP19SU9Pd2iiqQkuPnmm/H29ra6DLHIypUr6dq1q/O+h4cHnTt3ZsWKFRZWJVZq06aNvmgQF998843L/exWipJ+/aBg4SaRkZF07tyZxo0bc9NNN6nbizj98ccfDBs2zOoyRMQCp0+fJi4ujuDgYJfjwcHBpaL/tIhY448//qB27dr06NHD6lIuS2Ms3KROnTps3ryZqKgobr31VmJjY/n444+tLkss9ssvv3Ds2DF+/PFHq0sREQskJycD5FjsysfHx3lORORiaWlpvPbaa7z99tt4eXlZXc5lqcUinyZMmIDNZrvstmnTphzPq127NpMnT+aTTz7RrB9lyNV8HiIjIxkzZgwLFy50jrmQsuNqf0dI+eLn5weYFwoXS0tLc54TEbnYgw8+yNChQ7ntttusLuWK1GKRT+PGjWPMmDGXfUy1atWcszlcPNtL9gC93bt307p1a/cVKcUmv5+HbGfOnGHw4MFMnz6dTp06ubs8sUBBPxNSPlWtWpWgoCBiYmJcjsfExNCoUSOLqhKRkuqZZ57B09OTSZMmWV1KvihY5JO/vz/+/v5XfNzMmTM5deoU48aNcx6Ljo4GzNYLKRvy+3kASEhI4JZbbuGFF16gb9++AHz00Uf84x//cGeJUswK8pmQ8u2GG25wab0yDIMtW7bw3HPPWViViJQ0r776KkeOHOGrr77CZrOxefNmADp37mxxZXlTVyg3mDFjBqdOnQIgNTWV//73v7Rp08ZlFhApH1JTUxk8eDDXXHMNderUYdOmTWzatIkPP/zQ6tJExCLPPPMMP/74o3Ma8i+//BK73c6IESMsrkxESooPPviAWbNmMXbsWLZs2cKmTZtYvHgxO3bssLq0y7IZhmFYXURZEhERwf/+9z/WrVuHv78/iYmJtG7dmldeeYWQkBCry5Ni9t577/Hoo4/mek7/9MqvRYsW8eabbxIeHk5qaiodOnTgnnvu4b777rO6NCkmCxYsYNKkSVSoUAEPDw+mT5+urrLlWHp6Ov369ePcuXNs27aN7t27ExISkmPKUSkfEhISqFSpEllZWTnOffbZZ4wcObL4i8onBQsRERERESk0dYUSEREREZFCU7AQEREREZFCU7AQEREREZFCU7AQEREREZFCU7AQEREREZFCU7AQEREREZFCU7AQEREREZFCU7AQEREREZFCU7AQEREREZFCU7AQEREREZFCU7AQEREREZFCU7AQEREREZFCU7AQEREREZFCU7AQEREREZFCU7AQEREREZFCU7AQERG3iomJ4X//+x+9e/fGz8+PCRMmOM/98ccftGvXjnr16nHu3DnLahQRkcKzGYZhWF2EiIiUXWfPnsXHx4fY2FiaNGlC5cqViY2N5a+//uKVV16hXr16hIeHs2DBAnx8fKwuV0RErpKChYiIFJsePXrw+++/s379et577z1mzJiBp6en1WWJiEgRUFcoEREpNr169QLg3nvvZeLEiQoVIiJliIKFiIgUm549ewLQtWtXGjZsaHE1IiJSlBQsRESk2DRt2hSAPXv2WFyJiIgUNY2xEBGRYmEYBsOHD+ePP/4gOjqa06dPExQUZHVZIiJSRNRiISIixeLtt99myJAhDB48GIfDwZo1a6wuSUREipCChYiIuN3WrVs5cuQId955J7179wbgl19+AeCTTz5h165dVpYnIiJFQNNxiIiIW7zxxhvMmDGDv//972zatImvvvoKgOuvvx4PDw+++OILfHx8CAoKonXr1hZXKyIihaUWCxERcQtvb28OHTrETz/9xPvvv+9c/K569eo88MADpKen43A4ePrppy2uVEREioIGb4uIiIiISKGpxUJERERERApNwUJERERERApNwUJERERERApNwUJERERERApNwUJERERERApNwUJERERERApNwUJERERERApNwUJERERERApNwUJERERERApNwUJERERERApNwUJERERERApNwUJERERERApNwUJERERERApNwUJERERERArt/wHjgHeM8qZUAgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#def f(x):\n", "# return [x[1] - x[0]**3 - 2 * x[0]**2 + 1, x[1] + x[0]**2 - 1]\n", "\n", "x = np.linspace(-3, 2, 5000)\n", "y1 = x**3 + 2 * x**2 -1\n", "y2 = -x**2 + 1\n", "\n", "fig, ax = plt.subplots(figsize=(8, 4))\n", "\n", "ax.plot(x, y1, 'b', lw=1.5, label=r'$y = x^3 + 2x^2 - 1$')\n", "ax.plot(x, y2, 'g', lw=1.5, label=r'$y = -x^2 + 1$')\n", "\n", "x_guesses = [[-2, 2], [1, -1], [-2, -5]]\n", "for x_guess in x_guesses:\n", " sol = optimize.fsolve(f, x_guess)\n", " ax.plot(sol[0], sol[1], 'r*', markersize=15)\n", "\n", " ax.plot(x_guess[0], x_guess[1], 'ko')\n", " ax.annotate(\"\", xy=(sol[0], sol[1]), xytext=(x_guess[0], x_guess[1]),\n", " arrowprops=dict(arrowstyle=\"->\", linewidth=2.5))\n", " \n", "ax.legend(loc=0)\n", "ax.set_xlabel(r'$x$', fontsize=18)\n", "fig.tight_layout()\n", "fig.savefig('ch5-nonlinear-system.pdf')" ] }, { "cell_type": "code", "execution_count": 87, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "array([0.73205079, 0.46410162])" ] }, "execution_count": 87, "metadata": {}, "output_type": "execute_result" } ], "source": [ "optimize.broyden2(f, x_guesses[1])" ] }, { "cell_type": "code", "execution_count": 88, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/rob/miniconda3/envs/npbook_py310/lib/python3.10/site-packages/scipy/optimize/minpack.py:175: RuntimeWarning: The iteration is not making good progress, as measured by the \n", " improvement from the last ten iterations.\n", " warnings.warn(msg, RuntimeWarning)\n" ] }, { "data": { "image/png": "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tm0DmjQBNm689Fr79+/HY4+9gm+/fQeAK1NGITbWIflUEpeR6ERveZmsOfZYAAidfgJ6y3OS6M2h2wKd6C0is3vJEvz888/49ttvMWfOHPzwzjs55t5+7DEMGDAAd999N3r1GpXj5m6++TG0aNECUVFRiI6+P8dMdPT9aN68OaKiovBwhw45bmt4z5644447cM899+CBB17NcZ1XXvkK77//Pr788kvMnr06x8yOHVlHqwo43FqZbdvS//9Nm4AjR3LPrVt3Ek899RTq1q2Lb7/djsw3FekZBy8BetPbQm9/CQvsx2WRWxfAhf/q62/G5FpWZiQ60dvg9jIGTl/4TxA5Da++WMbkWlZmJDrRO6CMqlULCSdP4ujRoziVlIQmDgccmV5U9zgcGDRhAva+8AISEhJQ9NgxrETWv3qmAYh+4AFkfotwVQD7c8i9vmBBplxVAGOzpf7++xvAlzqE9M6ErJk9e5b4MocAvJMtAcxevTrTtn4C8Ey21JQpT2baVs7WHTrUwGWXncTll1+OMmXKoFixugC+ROZ/J3Q6vdi69VukpoajfPnyKF68EpzOSvB6z3/A2cpT6cI///AD0K5d9q87HF706XMd/vtvBwCgVasKWL1aBc2bly696Z0H/H7zlDDYY0FvSRnLt2d6eLWkgdoF3XvjRqUaNTr/pli7eOeQSZ46Ve3evVv98ssvas6cOWrixInqq86dVZrDoRSg0gD1ZIkSKiwsTAHwPQYA6mz6m+vV2XN/xgWPCzODChdWlSpVUnXr1lVRUVGqbdu26uabb1bvNG16fnsOh5pz001q9OjRavz48ertt99W7733nurX72fldHrOvQfZowYNWqu+/vprtXDhQrV48WL1ww8/qGee2aqcTu+5jFc99dQWtWTJEvX999+r7777Tn377bdq42OPKc+5583jdKrfBw5UM2bMUFOmTFFvvvmmGj9+vOrWbYFyONK35XCkqdatP1J33323uuWWW1R0dLSKiopSlSqNUBn9DOn/OyDb/qc/BmjkMmfSVFTUu+rxxx9XL774opoxY4ZauHChGjUqVrlcXuOnUlTU+T+HhSl1112Zc95s3s2aNVNLly61/PQu6L9yJGYkOhUEb/ZYsMeC3oIylm/P7ebQbWlOJrxHjQJefBF44gngttvEeqeUL4+4uDgcOHAgy+O/HTtQaP9+rD1x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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def f(x):\n", " return [x[1] - x[0]**3 - 2 * x[0]**2 + 1,\n", " x[1] + x[0]**2 - 1]\n", "\n", "x = np.linspace(-3, 2, 5000)\n", "y1 = x**3 + 2 * x**2 -1\n", "y2 = -x**2 + 1\n", "\n", "fig, ax = plt.subplots(figsize=(8, 4))\n", "\n", "ax.plot(x, y1, 'k', lw=1.5, label=r'$y = x^3 + 2x^2 - 1$')\n", "ax.plot(x, y2, 'k', lw=1.5, label=r'$y = -x^2 + 1$')\n", "\n", "sol1 = optimize.fsolve(f, [-2, 2])\n", "sol2 = optimize.fsolve(f, [ 1, -1])\n", "sol3 = optimize.fsolve(f, [-2, -5])\n", "sols = [sol1, sol2, sol3]\n", "colors = ['r', 'b', 'g']\n", "for idx, s in enumerate(sols):\n", " ax.plot(s[0], s[1], colors[idx]+'*', markersize=15)\n", "\n", "for m in np.linspace(-4, 3, 80):\n", " for n in np.linspace(-15, 15, 40):\n", " x_guess = [m, n]\n", " sol = optimize.fsolve(f, x_guess)\n", " idx = (abs(sols - sol)**2).sum(axis=1).argmin()\n", " ax.plot(x_guess[0], x_guess[1], colors[idx]+'.')\n", " \n", "ax.set_xlabel(r'$x$', fontsize=18)\n", "ax.set_xlim(-4, 3)\n", "ax.set_ylim(-15, 15)\n", "fig.tight_layout()\n", "fig.savefig('ch5-nonlinear-system-map.pdf')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Versions" ] }, { "cell_type": "code", "execution_count": 89, "metadata": { "tags": [] }, "outputs": [], "source": [ "%reload_ext version_information" ] }, { "cell_type": "code", "execution_count": 90, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "application/json": { "Software versions": [ { "module": "Python", "version": "3.10.12 64bit [Clang 14.0.6 ]" }, { "module": "IPython", "version": "8.12.0" }, { "module": "OS", "version": "macOS 10.15.7 x86_64 i386 64bit" }, { "module": "sympy", "version": "1.11.1" }, { "module": "scipy", "version": "1.7.3" }, { "module": "numpy", "version": "1.22.3" }, { "module": "matplotlib", "version": "3.7.1" } ] }, "text/html": [ "
SoftwareVersion
Python3.10.12 64bit [Clang 14.0.6 ]
IPython8.12.0
OSmacOS 10.15.7 x86\\_64 i386 64bit
sympy1.11.1
scipy1.7.3
numpy1.22.3
matplotlib3.7.1
Sat Nov 02 18:16:50 2024 JST
" ], "text/latex": [ "\\begin{tabular}{|l|l|}\\hline\n", "{\\bf Software} & {\\bf Version} \\\\ \\hline\\hline\n", "Python & 3.10.12 64bit [Clang 14.0.6 ] \\\\ \\hline\n", "IPython & 8.12.0 \\\\ \\hline\n", "OS & macOS 10.15.7 x86\\_64 i386 64bit \\\\ \\hline\n", "sympy & 1.11.1 \\\\ \\hline\n", "scipy & 1.7.3 \\\\ \\hline\n", "numpy & 1.22.3 \\\\ \\hline\n", "matplotlib & 3.7.1 \\\\ \\hline\n", "\\hline \\multicolumn{2}{|l|}{Sat Nov 02 18:16:50 2024 JST} \\\\ \\hline\n", "\\end{tabular}\n" ], "text/plain": [ "Software versions\n", "Python 3.10.12 64bit [Clang 14.0.6 ]\n", "IPython 8.12.0\n", "OS macOS 10.15.7 x86_64 i386 64bit\n", "sympy 1.11.1\n", "scipy 1.7.3\n", "numpy 1.22.3\n", "matplotlib 3.7.1\n", "Sat Nov 02 18:16:50 2024 JST" ] }, "execution_count": 90, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%version_information sympy, scipy, numpy, matplotlib" ] } ], "metadata": { "kernelspec": { "display_name": "npbook_py310", "language": "python", "name": "npbook_py310" }, "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.10.12" } }, "nbformat": 4, "nbformat_minor": 4 }