{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Approximation de problemes aux limites par differences finies\n", "\n", "## $$-u''(x)+q(x)u(x) = f(x) \\quad \\forall x\\in ]0,1[ $$\n", "## $$u(0)=u(1)=0$$\n", "L'inconnue est la fonction $u:[0,1]\\rightarrow \\mathbb{R}$.\n", "\n", "Remarque: si $q(x)=-\\pi^2\\cos^2(\\pi x)$ et $f(x) = \\pi^2 \\sin^3(\\pi x)$ alors $u(x)=\\sin(\\pi x)$ est solution" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "######################################################\n", "#Importer les libs de calcul matriciel et d'affichage\n", "######################################################\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import scipy.sparse as spa\n", "from scipy.sparse.linalg import spsolve\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAEACAYAAABI5zaHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xd4FFUXwOHfTQCREkIHaaGDigSR0IQsTbCCKCJICaBY\nQEX8EJWSpSpNoqAgNYIiiA1EpGdoIk1DkV5CB6WGUATC/f7YJRsjkE3Y3dly3ufZB2YzO3M47J7M\nnrlzR2mtEUII4V+CzA5ACCGE60lxF0IIPyTFXQgh/JAUdyGE8ENS3IUQwg9JcRdCCD+UbnFXSk1R\nSp1QSm25zTqfKKV2K6U2KaWquTZEIYQQGeXMkftUoNmtfqiUegwop7UuD3QFxrkoNiGEEJmUbnHX\nWq8EztxmlaeAL+zrrgVClVKFXROeEEKIzHBFz70YcCjV8mGguAu2K4QQIpNcdUJVpVmWOQ2EEMJE\nWVywjSNAiVTLxe3P/YtSSgq+EEJkgtY67QF0ulxx5D4X6ACglKoFnNVan7jZilpreWhNdHS06TF4\nyyNTuYiLQ9tft++N0YwerbEU2UbOoIs8XGgHfRjEwipv8xcF0FWr2tbt2NH22ujolNf+68/bPdex\nI9f7R7Or0pN8SVu63/Md97KV/Hcl8nzBJUx/eDznzqV5bVycvC88/b7w00dmpXvkrpT6GogECiil\nDgHRQFZ7sf5caz1fKfWYUmoPcAHolOloAkRCQoLZIXgNp3JhGGCxpPx5cv46ZmypyRcVznNofwee\nKDCft46PpzFLyFE5AoqehZgYMHLZXm+12h6ZFRaGslopr6yUB16w5IMeL3Aoe3kWrs3DrL+b0y1f\nEo1y1eN5/SfNk4O5K03MKX/ehrwvHCQXdy7d4q61buPEOt1dE44QaRgGGAY60sLyD39jzGuFWLrz\nVZ64PocPq1hpeC2G4KbtISERwp6D2FhbIU9bUNP+mdnnbmyzRQtKWK28GBXFiwmjOFP0F36ceYnP\nP+lO97Mv06ngz3Q9/TFlE/9wvC7tdoVwI1f03EUGRUVFmR2C17hlLuxF9MrSlczYEk5M+ST+OdaG\nNxtsYcr22uSJrGYrlA+2dxT0G1IXY1cX97TPhYVBWBh5rVY63RVFp7Cf2DV/DxPWh1Nr8qvUufsP\n3vvsd2ql+jfd6ihe3hcOkos7p+6kp5OhHSmlPbUv4cNuFPX2XZh6pgVDF1Wn4tWt9KyyhEe2jCSo\nYwdISLAV1RtF3Wo178g49X5vxBIVBQkJXCpenqlfZWVE9n6UuryTvmW+plG7oqgDCbZ15CheOEEp\nhc7ECVVPnhTQwiYuLs7sELzGv3IRF6ev9bPqSf/brkvedUw3Lbtbr6Gm1pGRWkdHa92xo2296Git\nb7zOm3KZOqboaNvfO3bUV/sN0NMrDdYV2KEblt6r11Xr6vi3pIrf7PcFtiHM8jDxcav/F52Jmitt\nGWE++9H6sg/W0nP1C+TOn5Wv/2lJnXaPgJHddpSe+qTozdot3uBmMYWFkcXan3YHo3i+0GtMDXmT\np+f1o9ahvYzsEUPY2fh/9+RNpuXbtWmUyvjB+e3IrJAmsHhTQTKTYWCxWDgw9ieaV9rBiyva0/fC\nu6yImkqdyGyOIn6j/+qNBf1W0sYaFUWW0iV4qfrv7Hq4C+EnF/PQhK4MNOpzedEKWy5MClX4Jynu\nwhyGwbVlKxj12h6qz+lPjXuOsu1yGZ6NPIlS2I7WbxR3XyrqaaWOPSoKrFZylC1K38hVbOz6OZsP\nhHDf8/ez6Psk2zkE8JqjeOHbpLibwAjkD6/93x7/0TIiRj/PVz+sY821h+hbfwXZI2s5WjBpj9b9\nQaqjeCwWSrWoxreRY/nssZ/puqU7j82tyNl3P5QiL1xCirvwDHuhujZlGkMbLaXJgp68kTSUUY8s\nonxksVu3YPxR6m8kYWE0LbeXLXVfJeuZE9z/2WvM31g4ZXy/FHibnTt3Eh4eTkhICGPGjOHVV19l\n8ODBLtm21Wqlffv2ABw8eJDcuXOnnHs4ceIE9evXJyQkhF69egHQqVMn8uXLR61atVyyf3eRE6om\nCMieu2Gw58jddJjTk7vz52Dj1QcoGVkGSlts0875cuslM9IcxedOiGJOlnjiSn1P1LTXaN77OMPv\n+pXsCQmBk5PbGD58OI0aNSI+Pt7l2059IrNkyZKcP38+ZXnChAkUKlSIxMREAFauXMmSJUs4evQo\n2bNnd3ksriRH7sL9YmKY9Y2idtf7aZ04kcXtp9sKuz+3YJyVpsg36BRGfJ1uHEvKRcTKkWz7U9ty\nFBNjXow3uOJbRCa3ceDAAe699947338m9lu5cuV/LYeFhXl9YQcp7qYImJ57TAyX+w7mtRFh9Nn+\nAovaTefNyE0ENYhMacEYTsy5EhAsFozQULBYyFu+AN88O5s3KywgcsNIpm96AH780fw2jUnFvWHD\nhhiGQffu3QkJCWH37t1ERUXRr18/+yYNihcvzkcffUThwoW55557iL1x3uIm9u/fT2RkJCEhITzy\nyCOcPHky5WcJCQkEBQWRnJxMVFQU06ZNY/jw4eTOnZsJEybw0ksvsWbNGnLnzs2AAQMy/G/xJGnL\nCNezF+wDCZqWK/tSJvRPNrafTZ4P3wPr8f/O1SJswsNtf0ZFoSwWuigrESdm03LJa6zNW5yP6kSQ\nbajVtk4A/UJctmwZDRo0oH379nTu3BmwtVJSt1NOnDhBYmIiR48eZdGiRTz77LM8/fTT5MmT5z/b\na9u2LXXr1mXJkiX89ttvPP7447Ro0eJf6yiliI2NRSlFiRIlGDhwIAB33XUXkyZNYuXKlW78F7uG\nFHcT+H3P3TBYsSkPrcd1oJdlIW8taoYqGAnWfyA01LaOPQd+n4sMsKQ97xAaShXjG9Y/k0iHYfdi\nKXuIb4tv4R5P9uFTf1tIfaSaeoiqJ7bBfy+wSr2cNWtW+vfvT1BQEI8++ii5cuVi586dRERE/Os1\nBw8eZMOGDSxbtoysWbNSr149nnzyydtevJX6Z750kZcUd+FaMTGMmxGC9Wh5vrzyNE1q14V/IqFF\nC+jRw+zofEuPHhAeTijw45oBDAnqRy1jNHOuDKSa1Wr7RenunKYtwJmZOtkV2+D2V3Dmz5+foCBH\nlzlHjhwkJSX9Z72jR4+SN29e7r777pTnSpUqxaFDh/6zrq+T4m4Cw35lpl+JiSH59Dl6TrmPxUfu\nZfXrUyi3+arjQ32LIuSXucikm+bCvhxUOpZ+YSuo/NdyHvn9AyaWX0qL4+MdrZwAzGFmLtcvWrQo\nZ86c4eLFi+TIkQOwnSQNDg52dXimkxOqwiUu/Z1E623RbM5anV97z6XcJ2/89wpTkXn2q1ufbaX4\n5aUf6L7qeUZle8+z5y1c8f94B9tI2x7JTIukVKlSPPTQQ0RHR3P16lVWrVrFvHnznNqnr5EjdxP4\n1ZGqYXA6MQvNxz5FsRJbWZBQnbt+qw3Wy//pr9+MX+XiDt02F6n68A8ZM/jtuSSajm7K8TqrGZ7V\nQIXGeKZFY+I2Uh+ppz2hmpGj+BkzZtCxY0fy5ctH7dq16dixI2fPnnV6P66e4MtdZD53kXkxMRyY\nuYZH947lsZNfMLz/BYKWx0l/3d3sR+qn+4ziiYOfUeHwUibVn06WBvXuqA9vnzfchYGKjLhV/jM7\nn7u0ZUzgL+Pct+zMRt1tE3m5b0FGRicRNCDadmSWgeLiL7lwBadzYW915WtSncU7SvBXubq0PP4Z\nl3pbIdURqAhs0pYRGRcTwx/bs/Po1OeJudqV589Ucgx3kzaL54SGknOElTlFV9JpZSeaVsrO3BIb\nCLUYtp/L/0VAk7aMyBjDYH3Pr3li1yjGXehAy8jTtiLiiWF54uZiYrj+wxx6/vMBK9ZmY8k7i8m3\n9hfHjcKdJG0Zc7m6LSNH7sJ5hsGauyw031mDyTNz8uTGB2zPZ3LcsnCRHj0IOnuW0dG1eKfuahov\n7s2SJpDP7LiEqaTnbgKf7DPHxLCix/c0b3yBaRef4cmNVlsb5saImEzyyVy4yR3lwmJBLTcYnrUP\nDbP/SpPhjTndZ5T3TDomPE6O3IVTVmzKw7O7P+DruTlptLKWrWhIj9172P8f1AArIyLr8L86v9Jk\n/+csefMe8n5sNTU0YQ7puYvbi4lh/Z85ePyLVnx99VkaRdezFfUM9nOFh9hPbOs4g7dXPMWKos+z\nuHRX8g75n+3nt/k/k567uWQopPAcw2DrV5t48uu2TLrakUaRybbnW7SQwu6tLBawWlFPt2BU/bnU\nK3mAZr/2I2nRr45vWyIgSHE3gU/0mQ2DvSUsNNv5MR9NyMVT0Q+mFA5XjorxiVx4iEtz0aMHqoGF\nj9bU5v7wrDyz8X2u1Gvkuu2LTImNjaVevXoe2ZcUd/FfhsHh9z6l8UNn6He+F213WV1y8lR4mP0k\n6+chvchxcDsdBpcnOXqgHME7IfXNQHyVnFA1gbfPp3LyXFaa7PmM197Py8sXirr15Km358KTXJ4L\n+/ayDICva1WmWaW7efNSGcZER6CWG67dl/A6cuQuHAyDS30G82T7UFqcnESvC1a58tRPZP/Qypzi\n3Vi9PisDG8T53NH70aNHeeaZZyhUqBBlypRhzJgxAJw+fZoSJUqkzOyYlJREuXLl+PLLLwH4+eef\nqVatGnny5KFkyZL/uTXeqlWrqFOnDnnz5qVkyZJ88cUXTJw4kRkzZqTcXq958+Y3jemtt96icOHC\n5MmThwceeIA///wTgHPnztGhQwcKFSpEWFgYQ4YMMedE9Y2pM939sO1KaK11XFyc2SHc1LUlcfrp\np7VuW2WTvt4/2vakm2P11lyYwe25iIvTx98ersuV0/rTx+alPHeDt35Gk5OT9YMPPqgHDRqkr169\nqvft26fLlCmjFy5cqLXWetGiRbpIkSL6r7/+0i+++KJu1apVymsNw9Bbt27VWmu9efNmXbhwYf3j\njz9qrbVOSEjQuXPn1jNnztTXrl3Tp06d0vHx8VprraOionS/fv1uGdOCBQt09erV9blz57TWWu/Y\nsUMfO3ZMa611+/btdYsWLXRSUpJOSEjQFSpU0JMnT9Zaaz116lT98MMP33Sbt8q//fkM11xpywgb\nw+B/Hf/mdJYEFh6ogcpXW4Y7+qHCG35m0WNZqfvJc5Rq+xWPH53o9P+zq2a6zehB7Pr16zl58iR9\n+/YFoHTp0rz44ovMnDmTRx55hCZNmtCqVSsaNmzI2bNn2bx5c8prIyMjU/5epUoVnn/+eZYvX07z\n5s2ZMWMGTZo0oXXr1gDky5ePfPkc1/Xq2wSaLVs2zp8/z/bt26lRowYVK1YEIDk5mVmzZrFp0yZy\n5sxJzpw5efvtt5k+fXrK/V89RYq7Cbyuz2wYfLzJwsJ//mb1loLc9fF7HrvJhtflwkRuz4V9tFNp\ni4XvkibR/KcXWdwykapOvtysIfAHDhxIuT3eDcnJydSvXz9l+aWXXmLs2LH06dPnX+utXbuWd999\nlz///JMrV67wzz//8NxzzwFw6NAhypQpk6mYGjRoQPfu3enWrRsHDhygZcuWjBw5kosXL3L16lVK\nlSqVsm7JkiU5cuRIpvZzJ6TnHugMgx+6L2F4v0Tmn6xhu5rRh3qxIoPsd26qvfdLxtSfzZOfP87R\n98Z49fxAJUuWpHTp0pw5cyblkZiYmNJnT05OpmvXrnTo0IFPP/2UvXv3pry2bdu2tGjRgsOHD3P2\n7FleeeWVlCPykiVL/mvd1Jy5Icfrr7/Ohg0b2LZtG7t27WLEiBEULFiQrFmzkpCQkLLewYMHKV68\n+B1kIHOkuJvAm8Z2r9+Rm67732NuXAhh0VG2D7kH2zHelAuzeSwX9iP41t+24uUGu3nqwBgu9LJ6\nZt+ZEBERQe7cuRk+fDiXLl0iOTmZrVu3smHDBgCGDh1KcHAwU6dOpVevXnTo0IHr168DthOsefPm\nJVu2bKxbt44ZM2akbLdt27YsWbKE2bNnc+3aNU6dOsWmTZsAKFy4MPv27btlTBs2bGDt2rVcvXqV\nHDlykD17doKDgwkKCuK5556jT58+JCUlceDAAUaPHk27du3cmKGbk+IeqAyDY2+PpGWPEky8+ALV\nf7LKyJhAY7XyfvIg7j+2iHYPbTc7mlsKCgpi3rx5xMfHU6ZMGQoWLEjXrl1JTExk48aNjB49mmnT\npqGUonfv3iilGDZsGACfffYZ/fv3JyQkhEGDBqX018F25D5//nxGjRpF/vz5qVatWkq/vkuXLmzb\nto28efPSsmXL/8SUmJhI165dyZcvH2FhYRQoUIBevXoBMGbMGHLmzEmZMmWoV68eL7zwAp06dQI8\ne5u+dOeWUUo1A2KAYGCS1npYmp8XAL4EimDr4Y/UWsfeZDs6vX0Jz7m8aAWW/vV5/O5l9ItcIROB\nBSrD4MrSlTyysh/Ll8vcMmby6NwySqlgYCzQDLgXaKOUqpxmte7AH1rrcMACjFJKyYlaL6bjDF7p\ncJES5/+kr9HIMRGYCEjZVi7lu4hh6a8ofEp6bZkIYI/WOkFrfRWYCaQd0X8MCLH/PQQ4pbW+5tow\n/YupfWbDICbeQjzhxK67DxUd7fE++7/DMTy+T29lSi7s/ff8w3t7ft/CrdIr7sWAQ6mWD9ufS20i\ncJ9S6iiwCXjTdeEJlzIMFr0xj+H9zzPnRE1yjrDKyBiRMoJG+Jf02ifONODeB+K11halVFlgsVKq\nqtb6fNoVo6KiCAsLAyA0NJTw8PCUsb03jloCYdlisZiy/yOLt9Fzn5XZ83Oxf0oD9ttjwaR4ZPm/\nyzd4fP8Ib2EYBrGxsQAp9TIzbntCVSlVC7BqrZvZl98Drqc+qaqUmg8M0Vqvti8vBXprrTek2Zac\nUDWLYXBp8Spqf/w8L16IoXt0AbnhhvgPuVmHuTx9s44NQHmlVJhSKhvQGpibZp0dQGN7EIWBisCt\nB4gKU3qrr5/oS+XSl+jWv4CpPfa0pOfuILkQrnTbtozW+ppSqjuwENtQyMla6+1KqZftP/8cGApM\nVUptwvbL4h2t9Wk3xy2cZRhMfeU3fj11H+tO1kblf8hrCrvwPp4agy3cT+6h6s8Mg015LTSuc4Hl\n63Ny7zdWj80ZI3yc/ZqH8U/MY9yhJ/jticHc3eRhee+YQO6hKv7NMDjXdwTPNjzFxxdfshV2+dov\nnGUfQfPy+ZHce30Lbw4t5GjnyfvIN2RmnuDMPPDSuaLN4Ik5zK9f17pl5T/1a69praOjb+zY7fvN\nKJnP3cErcxEXpxMTtS6f76T+8ulvPbjbOI/ty9sh87kLIGV+mDG/lOPg9orMaDlI5owRdyT3KCuz\nSx+i8Q8fUr37WColbYCoKHk/eTnpufuh+HhoUvcCv3WZRNlP3pTCLu6cYTBxVCKfJDzF2qeGkGNI\nH7MjChjScxcAXPhlBW3aQEzTBZTNd8b2pBR2cacsFl588HeqVoU3fnnU9pz03r2aFHcTuG08s2HQ\no3MiEXfF88IPz0JCgtefAJOx3Q5enQvDQB1IYFyJoRh/hPDdc7Pc+t7y6lz4COm5+wvD4Ju/LBhX\nTvH7yvwwKlpmehSuYx9Cmxv46u+JPPXTS9R84Qiev7+QcJb03P2BYZDw7ngitkxm/sVIHop+QqYX\nEO5hf18NDurPsjhYUn8QQQ0i5foJN8psz12Kux+4dg0iyxykxesl6XXBKjfeEO5lGCTXs2Apc4Cn\nKuyk1+JHzI7Ir8kJVR/isn6i/ShqaI3vyXFoJ28nDfC5YY/SW3XwpVwED7LyZdF3GLEknN9f/tw2\nNNKF8ftSLryV9Nx9mcXChlwWxo64wB9vjSdoQDQYkT5T2IWPsrdgSlkMPh6zgrbLX2Zjy5PklPed\nV5G2jA+7tHAF1d+qT7/K39KmylY5gSo8z2ql/V4rubavZ9yGGj71rdFXSFsm0BgG73c5QZWgrTz/\nfSufGPYo/IxhQEICY4t9wM8bC7Ow3XR5D3qTzMxZkJkHMrdMClfMm7FsmdbFcp/TJ09qx9wxPkjm\nEHHw5Vwsbv+FLl5c6zO9P3DJ9nw5F65GJueWkSN3X2MYnGv7KlFPn2Xi+dbkH2N1nEQVwgyGQeOD\nU3iyyHp6DCtiO7kqR/Cmk567D+pU7Q/uqlmN8UWsMuxReAfDIOkhC1VLnuajRxbSfGYbsyPyG9Jz\nDxBzh2xh5YFSjByZ6kkp7MJsFgu5ckFs8x959ecnOHkSOXI3mRR3E2RqDK9hcKb3h7w6sAhTzrQg\n10ir7SSqj3+AZDyzg0/nwn7NRT29gjZJE+hm2XpHrRmfzoWXkHHuvsJioecXFlpWXUv9xxrKsEfh\nXVJNPzC42GAe/P5+ZhXoRmv5Vmka6bn7AsNgwZCNvLqhM1vOliBX5EOOD5N8eIQ3sR/Bry33As0n\nP8nWXtMo8Nc2ubnHHZC5ZfxYYiLcX+IcU77LQ+NVVinqwrvZT/C/XftXTpStw5flrPJN8w7ICVUf\nkqF+omHwzjvQrNweGje2P+dHhV16qw5+kwv7+3NggzjWrIGfd5XPcO/db3JhIum5ezPDYNmbc5if\nUI0tiQ3B+pbjJKofFXjhhwyDnEd3M/HhL4ia1oCtB18hpLEh3zo9SNoyXuzCBahS/Axjv8rLY+us\n8tVW+KSXHtxI1uDrfLa+htmh+KTMtmXkyN0b2a847T+7FnXP/s1j6/b63FS+Qtx4z47IsYH7V4/n\n+U5Tqa+Xy8lVT8nMnAWZeSBzy6RwZt6MDRu0LpTzvP7rf8NuvMitMZlF5hBx8NtcxMXpH1vP0OXL\na33x/UFOviTOvTH5EGRuGf9xbelyunaF4Y0XUzDnRduTcqQjfJXFQvNKOwkPh4HLI23PyQlTt5Oe\nu7cxDD7q8ic/60dZsr8sqmNHCAuTE1HCdxkGxMZyvMD9PDCqA0tf+ZYq27+Re/w6Sca5+4kDB6B6\n5Yus2ZSD8l9Z5SSq8Cvjn5jHtNNPsKrJANudw0S6ZJy7D7npGF7DQHeMoluTXbx1aYitsAfAVL4y\nntnB73NhGHQ9Pwp96BCTBh657dTAfp8LD5DRMt7CYmH2p3+TkK0C3/fNDtZ+MjpG+BeLhaAB8Hm+\nEjSuPZrmBT6jsLWX2VH5LWnLeImzZ+HeEuf5dmFu6iyySjtG+LV36q7myPncfLX5AbND8Xoyzt1X\n2VsvfWc+zJNJe6mz6JhchSr8l/39Hh12lPtmvM/i9tNoErxMxr67Q2bGT2bmgYxzT5F2DO/GjbYx\n7afe+dCcgEwk45kdAi0XP7X5Spcrd/Ox74GWi9tBxrn7puvX4bXXYGjDpeS7+5LZ4QjhMU9U2EXV\nqjB0ZT2zQ/FL6fbclVLNgBggGJiktR52k3UswGggK3BSa225yTo6vX0FHMNgcp99TDrYhNWHSxHU\nsYOMaReBwT72/XC+Bwgf3YHfXp9BucTfpT1zE24Z566UCgZ2Ao2BI8B6oI3WenuqdUKB1UBTrfVh\npVQBrfXJm2xLinsap09D5ZJJ/LIiFw/OtcpJVBGQhjVezMrsTZj3kFU+AzfhrnHuEcAerXWC1voq\nMBNonmadtsB3WuvDADcr7OLfDPtJpfffh1b3buPBB82OyDwyntkhUHPxVu3f2L0b5u2qkDLmPVBz\n4UrpjZYpBhxKtXwYqJlmnfJAVqVUHJAb+FhrPd11Ifqh+HjWT9vOnN3V2ZbUFKxvyggZEZgMg2yH\n9jImYjqvflmHxodfJXtDA0JD5bNwh9JryzwDNNNav2RfbgfU1Fq/nmqdscCDQCMgB7AGeFxrvTvN\ntqQtY5ecDLVKHqH70GJ03G+Vr6JCAC0rb6dakWP0i2todihexV3j3I8AJVItl8B29J7aIWwnUS8B\nl5RSK4CqwO406xEVFUVYWBgAoaGhhIeHY7H/dr7xNcyvl+PjsZw9y6SFYVw+ep4SyzbCgQQwDAx7\njrwqXlmWZU8sGwZGbCzPqQN0M76lfY8YEnYsgGbNsPToYX58Hl42DIPY2FiAlHqZGekduWfBdkK1\nEXAUWMd/T6hWAsYCTYG7gLVAa631tjTbkiN34ORJKFf8F5ZHJVB1/KsB34oxDCPlDR7oAj4XhsGg\nAdf5I29D3giJwmIvcIHOLSdUtdbXgO7AQmAbMEtrvV0p9bJS6mX7OjuABcBmbIV9YtrCLhzeew8a\nld5P1SInbE8E8odZiNQsFnrV/ZVNm2DdkXvMjsbnydwynmIYbBhp8OTyt9mRVJw8HZ+WMe1CpGYf\n+z7vyiP0/PohtvSZxV2H9wb82HeZz93LaQ31Sh2kU3RJuhyyyklUIW7jiQq7eLhzBd69bA34z4rM\n5+7lZs2Ci1ezEhUFRkKC2eF4jRsnkoTkIrU293/CiBFw6FyI2aH4LCnu7mYYXGzXlXdePsfHx58j\neJAVjh/3+5twCJFphkGxi3t49b4VvBdT6LY39RC3Jm0ZDxhgiWNb4QbMqmwN+K+YQjgrKQkq3pPI\nd899Q61JL5odjmmkLeOlDh2CT9bVZPhwsyMRwrfkygVDGi7jrYVNCdDjwjsixd1dDAOsVnpHrqH7\npRGUmmpNmWJAeqsOkgsHyYWDERMDVisd8szhyuG/mPnst7b2jOTIaXInJnexWFid1cLK0eeY+N4y\nsPZx/EzeoELcXni47Z6rQEzQFF5Y2pnm7XeSI4CHRGaU9Nzd5Pp1iIiAnqW+o22VLdJrFyKzrFae\n22alyt/LAnLeGem5exPD4It6k8h24hBtvn/W1o6Rs/1CZJxhQEICw4rGEGNU5UjPUdKecZIcubtB\nYiJUKnaeOctyU+Nn63+O2gN+DpFUJBcOkguHm+Xi/XorOVKmHl+UtgbUN2E5cvciH3wAj5TdS40a\nZkcihP947+GVLF4M62XeGafIkbsrGQYHx86l2vzBbL5UnmLRL9laMgE+N4YQd8w+78yUM08zeW4B\nVnWYiCodFhBzM8ncMl6ifdVNlGlRlQHKGlBfHYXwhORkqFH8GL3rrqL1t63MDscjpC3jBTZuhKX7\nytCr1+3Xk/HMDpILB8mFw61yERwMMc0W0HtJEy5f9mxMvkbGubuCYaDjDP43oTXWpNHkGnmP3BNV\nCFez31gVjfo6AAAY6klEQVS+vk6g2rlQxjyZk17FZkjb8xakLeMi8+ZB785/semV8WQZ2N/scITw\nazu7j+HhWa+zo9Mw8g/vbXY4biVtGRNduwa9esGIJovJEnTd7HCE8HsVC5yiVSsYvKK+2aF4LSnu\nd8owmFTvC4r9s49HZ7Rz6oIl6a06SC4cJBcOt82F/cKm6BwjmLa2Avve/FgubLoJ6bnfocQHLQzY\nep75K3Kj5kTLCBkh3M0+/LEw0GPjMt4/8SYzK1ml756GHLnfoeHDbRcsVavm/GvkKkQHyYWD5MLB\n2Vz0rL2GlSth3ZFi7g3IB8mRe2YZBoc/ncO4n4cQf+lJsHaRETJCeJJhkPPobgZWn0OvSRUwrkQF\nzIVNzpDRMnegU7U/uOexagzJas1QO0bmEHGQXDhILhwykovkZKha9C+GNlrKU1+3cW9gJpDRMh62\naRP8srs8vf17FJYQXi84GIY3WUzvJY25ds3saLyHHLlnlP1CikcnteTxIxPoHl1A5o8Rwiz2z6Pe\nn0CjaR1o/fgFXi7wnV99HmVuGQ8yDOjS8jTbu31KtkH9zA5HCAFs7Po5T857mV1RQ8k19H2zw3EZ\nact4iNbQuzcMahBHtuDkTG1DxjM7SC4cJBcOmclF9XuO0aABjPy1jusD8kFS3DPCMPih4RiuHDzG\n89+3kjssCeEt7Bc2DS4Qw5jlVfir14iAv7BJ2jIZcO0a3F/kJDFfFqDZb1a5YEkIL/RGzbUE1a5J\nTKjVLz6j0pbxgNhYKJr7PE2bmh2JEOJW+tRbwfTpkHA21OxQTCXF3RmGwaV2LzHg7XN8mPA8aoDV\nccFSpjaXudf5I8mFg+TCIdO5MAwKn/yTbvcvx/pxqK01E6CtU7lC1RkWC2OGXCWicR5qVnnUL77q\nCeGX7Fenvn0OKhSrztYcF7nf+prZUZlCeu5OOHMGKhS/wMqNOak00yrFXQgf8FHThaw4UIofd1Qy\nO5Q7ktmeuxy53479Aolh39WgxcWjVJp5ROaPEcLb2T+3rxU6QsyifqzpMonayav86sImZ8iRezoO\nH4aqFS6y+ZVxFPvobZdsU+YQcZBcOEguHFyViynN5/DF2eYYFqvtXJkPktEybjJgALxY7XeKhZw3\nOxQhRAZ1qLqJv/6ChXvLmR2Kx8mR+60YBrs+/oU6C6PZdak4+To+BWFhMp2oEL7CMCA2lu8vPcqg\nbyqwsf9cgg7s97n2jNvmllFKNQNigGBgktZ62C3WqwGsAZ7TWn9/k5/7VnEH2lbZwn3PV6HPVauc\nRBXCR2kNNYsf4e2PitF6u9XnPstuacsopYKBsUAz4F6gjVKq8i3WGwYsADIchDfasgWW7i/NG2+4\nftsyntlBcuEguXBwZS6Ugg8bL6FvX7iaHDid6PRGy0QAe7TWCQBKqZlAc2B7mvVeB74Farg6QI+z\nn2nvP6s1vS9MJPeoEBkhI4QvMwwaqjjCrj/MlMFHeDnYanvez1ust23LKKWeBZpqrV+yL7cDamqt\nX0+1TjHgS6AhMAX4ydfbMuvHb+TpwdXZ3XEwdw/pa3Y4QggXWLsWnn3kHLtnbyL7I/XNDsdp7hot\n40w1jgHetVduhR+0ZfqNzEOfPnB3VrmtixD+omZNqFbkOBNGXzA7FI9Iry1zBCiRarkEcDjNOtWB\nmUopgALAo0qpq1rruWk3FhUVRVhYGAChoaGEh4enjGW90WMzezk42MLOU/kpV87A+CcUiz12V+4v\ndT/R7H+v2cs3nvOWeMxcjo+Pp0ePHl4Tj5nLMTExbqkPA3vl4rG3HqbCAoPs2b3n35u2PsTGxgKk\n1MvMSK8tkwXYCTQCjgLrgDZa67Q99xvrT8VX2zKGgY4ziBzfhs5/fUBUdJjteTf05Qy5WCWF5MJB\ncuHg8lzYz6UBtBpwHxGN89Cr2AyfGBbpzqGQj+IYCjlZa/2BUuplAK3152nW9d3iDixaBG+0PcnW\n1z4jy8D+ZocjhHCDbd0+xTK7G3u6fEDIB++ZHU663Da3jNb6F+CXNM99fot1O2U0AG+hNfTpAwMb\nxJEl6LrZ4Qgh3OTegn/TtCl8/FtN/PkOyIEz6PN2DIM5jT7h6qHjPPtta7ffPs9w03Z9keTCQXLh\n4LZc2G/HF533Ez42HuB072F+ezs+mRUSuF7fQr8/KzN0UmGCNvb3uSvYhBBOsp9DKwc8vWojo7L0\nZkiY1ev77pkhR+7ArFmQM+tVnnjCM/uTk2YOkgsHyYWDJ3LRL3IF48fD3xdyuH1fZgjs4m4YXOvQ\nmejupxh8JOqOb58nhPARhkHJM5toU3Ydw0YG+eXt+AJ+VsgpzecwPbE5y+p7br5nGfLmILlwkFw4\neCoXR4/C/WUvsfW1z7hnlGvu1+BqMp97JvzzDwxcHsngwbbJhYQQgeWee6BztT8YurKe2aG4XGAe\nudsvaPhsfQ1+mh/EL9Frbe0YH7igQQjhIvY68PeOU1SaZeX3N6dRKvSc100o5raLmFzFq4o7cPky\nlC95me+aTydi4ktmhyOEMFHf+is4XqE+k9oZXlXYQdoyGTZ5MlQNPUhEsSMe37eMZ3aQXDhILhw8\nnYu3a//KnDmw5/vNHt2vOwXkOPfLl+GDD+DHxwyv+y0thPC8vI/W4o1cMODbSKabHYyLBF5bxjAY\n0/swi87W4KddlSA62va8l/XZhBAeYu+9J/5zF2U/fJFV3WZSMWmj15yDk567ky5dgnKFE5kbF0L1\nn6xyNaoQIsWQhkvZUawR08tavaY2SM/dSRMmwEP3HKV6dfNikN6qg+TCQXLhYFYuXq+5jgULYOfJ\n/Kbs35UCp+duGFya9BXD5nzEz0ltwNpc7o0qhHAwDEKO7aRHlaUM/jSU6UlREBbmsy3bgGrLxDRb\nwPK7m/FDVavXfOUSQniXxEQoW/QCqzpNoeLY19N/gZtJWyYdFy/C8NV1paYLIW4rJAR61PyNQSsi\nzQ7ljvh/cTcMsFoZH/k1tZMWUfUHq+mTg0lv1UFy4SC5cDAtF/Z68XqR2SzaUoQd3cf67Hzv/t9z\nt1i4UMPCiFHnWfjKl9KOEULcmr2/HgL0OLGUwWe782U5q0/23P3/yB0YNw7qljjEA4VPmB0KIPN2\npya5cJBcOHhDLrpHrGPRIthxsoDZoWSKf59QNQwuLFpN2U/eZPGF2lTpWN2nz34LITzEMCA2lqGH\n2rNt2TG+jN5je96E2iEXMd3CiFf2sv50Wb651+o1LRmZt9tBcuEguXDwllwkJkK5ohdYsTEnlY4b\nphwUymiZm0hKgpFfFk6ZYUAIITIiJAR61PqNQYPwuZOqfn3kPnw4/D5tKzO33i8XKwkhMiXx55WU\njarHytZjqTS2u8f3n9kjd/8cLWMYXJg4g1FzPmLZhdZgbeX4mRR4IYSzDIOQ9QZvPXCFQZ/m5Ssf\numrVb4/cP2q6kDUhTZl9n9Vreu03eEs/0RtILhwkFw7elovz56FskQus6DTV40fv0nNP5dIlGPFr\nHfr2NTsSIYQ/yJ0b3qq1hoHLfeeqVf86crfPy/zJ2posW/APP0bHy71RhRB3xl5Xzu8+TtkZA1nR\n7RsqFTjpsdaMDIW0u3wZypX4hzlPx1J9wstu358QInAMbriMXcUbMq2z4bEDRmnL2E2dCuF5D1D9\nnmNmh3JLMoeIg+TCQXLh4K25eD1iLfPnw97vN5kdSrr8arTMlSu2e6POfmS5tGGEEC6Xp1ltXssG\nH8yrxySzg0mH/7RlDIOJ7+/n27/qsXBvebk3qhDCtey999OX7qbc8Jf4/c1phJ2Nd/s5vYDvuV+9\nChULnWH6vLzUXWz1uuGPQgj/8d7DKzlbpR7jClvdXmsCvuf+1VdQOu8Z6tY1O5L0eWs/0QySCwfJ\nhYO356Jn7TXMmgVHEnObHcot+X5xNwyudejMkLdP0W9/Z9tvUZNvxiGE8GOGQcG/t9Gp4q8MH53F\n1paxWr2u5vhFW+arlt/x+clnWN7Aihpgdcs+hBAitWPH4L4yl9jW7VOKjPyf2/YTsG2Z5GQYvLI+\n/fuDyvA/XwghMqdoUWj3wGZG/lrH7FBuyqnirpRqppTaoZTarZTqfZOfv6CU2qSU2qyUWq2UesD1\noaZhv9fht61nk/fkbhqttPpMO8bb+4meJLlwkFw4eH0u7PXnnZIzmbKmEn/3Gu51rZl0x7krpYKB\nsUBj4AiwXik1V2u9PdVq+4D6WutzSqlmwASgljsCTmGxcL2+hUFlLzCi7Q/SjhFCeI59iHVx4LmH\nNvBRlnf4wGJ41bBrZ47cI4A9WusErfVVYCbQPPUKWus1Wutz9sW1QHHXhnlzP/4Id185S7Nyezyx\nO5fxptnuzCa5cJBcOPhSLt59eBUTJsDpX9aaHcq/OFPciwGHUi0ftj93K12A+XcSlDO0hoEDoX/9\n5agGFnfvTgghbiqsRTgtWsDHv9U0O5R/cWb6AaeHuCilGgCdgZuONo+KiiIsLAyA0NBQwsPDU35D\n3+ixObVsGAx961uSDjbgiU0vQMVojNhYCA/H0qNHxrfn4eXU/URviMfM5RvPeUs8Zi7Hx8fTwwfe\nv55YjomJyXx98OSybYGGZ77jtRWN6fnuB+Q5vhMjPNxWjzJZH2JjYwFS6mWmaK1v+8DWO1+Qavk9\noPdN1nsA2AOUu8V2tKtcv671Q/cc1t99p7WOjnbZdj0lLi7O7BC8huTCQXLh4Iu5aPdAvB40SLu8\nJtlrZ7q1Ou3DmbbMBqC8UipMKZUNaA3MTb2CUqok8D3QTmvt9gb4ggVw+VoWWrRw957c48ZvayG5\nSE1y4eCLuehTbyWffALn/8lmdiiAE20ZrfU1pVR3YCEQDEzWWm9XSr1s//nnQH8gLzBO2QabX9Va\nR7g8WsNAxxkMmtKFvn/9j6CBlR3DH33wzSCE8BOGQaWkDTQstJVxH57lnbustufNnLgwM4f7mXng\norbMso/+0BUqaH2tn9Ul2zODL37ldBfJhYPkwsFXc7F5s9aFc57XSfOXu2ybuLEt41WGjAnh3Xch\nOMhzN9sWQghnVKkCdUocYkLMRbND8a25ZdauheeanmXP36FkXW1IK0YI4XX+mLiBx3tWZN/fucme\n/c63l9m5ZXzjTkz2SfKHTG7OO+cmkXVIQcfPpMALIbyBvU5VA6olnWDqM5pXC37r9pt53FJmejmZ\neXCHPfdNm7QukitRX3x/0B1txxv4aj/RHSQXDpILB1/PxerOk3SpUlpf6TvgjreFv/fchw6FnrXW\ncHfWa2aHIoQQt1WnxCFKl4YZW6qYFoP399wNg13fbaHulM7su1iE3B2fgbAwuTeqEMI7GQbExrLk\nekO6T4/gz36zbANAMlmz/Poeqp0fPUapWkWJ1la5N6oQwidoDbVKHOZ/o4vTqqCR6YNRv71Zx4ED\nMGd5Hl5/3exIXCf1vCqBTnLhILlw8IdcKGW7anXIENBxhsf37/XFfcQIeLHa7+TLh7RhhBA+5YmX\ninL9OszfXd7j+/betoxhcHzcD9w790O2Xw6jcPSrtuel1y6E8AX2oZEzt97PJ9/dw+oOE1ClwzJc\nw/yy5/5O3dVcerAuY/JbpdcuhPBJyclQudApPn/iJxp8EZXh1/tdz/30aZj8RzV69TI7Etfzh36i\nq0guHCQXDv6Ui+Bg292ahq6q59H9et8VqvavMp/8GE6LS6coOeWQzPwohPBN9nrWLuQQA/aFs+6l\niURcXe2Rq1a9si1z/jyUKXKBXztPpvyYN9wcmRBCuN/Yx+azOOtjzKlmzVCb2a/aMuPGQeMy+yif\n/7TZoQghhEt0qfY769bBlhOFPLI/7yruhsGlPoMZPeg8729ta2vHWK22rzZ+xJ/6iXdKcuEguXDw\nu1wYBncf2cNb9y9m6Pi8trrm5trmXT13i4XJPxQjomFuqlR7RkbICCH8g33446v2lvPuF3JS/ojh\n1r67V/Xcr1yB8oXOMntRKBHzrVLchRB+x2oxOFTWwuQSVqdqnF/03L/8EirkP0VEBDIyRgjhl97o\nmYUff4SD5/K4dT/eUdwNg+QOnfiw1yn67Ovi6EX5W9/Nzu/6iXdAcuEguXDw21wYBvl+X0KXSqsZ\nEZPFNiTSTb137+i5WyzMHnuSgpXyE9nYIu0YIYR/svfee74C95Z+kL4FLlPY6p4rNb2i5379OoQX\nPcGHUwvz2DqrFHchhN/rHrGOnFmvMGz1w7ddzzfvoWpvvczbWZEsf1Xk0bXj4ECCXI0qhPBf9rr3\nTslEqn3Xh969h5Hv7ksunxTR9CN3raHWvYn0qrKAZ795ziOxmM0wDCzyywuQXKQmuXAIlFx0rvYH\npVpUIzrSuGVh99nRMkuXQuLJf2hZebvZoQghhEe9+/Aqxo6F8wt/dfm2TT9yb9AAOoX+QIc380or\nRggRWAyD58dbqH5qEb0WP3LTVXxvPnfD4Nfhq3hhTTd2nS1E1ug+tuflZhxCiEBg771vPlGYpuNb\nsO/9ydx9ZM9/Zoz0veIOPF5hF0/2rMArx60BNUImUPqJzpBcOEguHAItF09V3EnTNyrS7W/rf2qh\nz/Xc//gD4o8XISrKrAiEEMI79Km3guHD4Wqy60qy54/c7V9FWs1uRe1tk+kZHWKb/dEDk9cLIYTX\nMQyIjaXxiv68sH8QnaJL2Z63t6h9qi2z/Yt1RPaKYP+LQ8g5tI9H9i+EEN4sLg5efvYU27/ZQnAj\nS8rzPtWW+XB0Nt54A3Jmu2rG7k3nt/NmZILkwkFy4RCIubBYoECOi3w77m+XbM/jxX3/fpi3qwLd\nuyNtGCGEsFMK+rx2hqGr6uGKhopn2zLR0bz6dX3y7vqNodFXbD+QoY9CiEBnPxepNVQb2IIhbf7k\n8WyLISoK1aCB9/fcjxzR3F/2Eju7j6HgiHc8sl8hhPAl37SaTcyRVqxuYkUNsLqv566UaqaU2qGU\n2q2U6n2LdT6x/3yTUqrarbY1ahR0qLqJgjkvZjROvxKI/cRbkVw4SC4cAjkXz1TexsmTsPxA2B1t\n57bFXSkVDIwFmgH3Am2UUpXTrPMYUE5rXR7oCoy71fbif9jH/9Y+67c3vnZWfHy82SF4DcmFg+TC\nIWBzYRgEH9zP+/f+yJovdt7RxZ3pTfkbAezRWicAKKVmAs2B1LN8PQV8AaC1XquUClVKFdZan0i7\nsaX7yoD1xYC6GvVmzp49a3YIXkNy4SC5cAjYXNjPQUYBWONttXLAgExtKr22TDHgUKrlw/bn0lun\neKaiEUII4RLpFXdnz7ambfbf+nUyMoaEhASzQ/AakgsHyYWD5II7rpW3HS2jlKoFWLXWzezL7wHX\ntdbDUq0zHjC01jPtyzuAyLRtGaWUZ4blCCGEn3HHbfY2AOWVUmHAUaA10CbNOnOB7sBM+y+Dszfr\nt2cmOCGEEJlz2+Kutb6mlOoOLASCgcla6+1KqZftP/9caz1fKfWYUmoPcAHo5PaohRBC3JbHLmIS\nQgjhOS6fW8aVFz35uvRyoZR6wZ6DzUqp1UqpB8yI0xOceV/Y16uhlLqmlGrpyfg8xcnPh0Up9YdS\naqtSyvBwiB7jxOejgFJqgVIq3p6LKBPC9Ail1BSl1Aml1JbbrJOxuqm1dtkDW+tmDxAGZAXigcpp\n1nkMmG//e03gN1fG4C0PJ3NRG8hj/3uzQM5FqvWWAfOAZ8yO26T3RCjwJ1DcvlzA7LhNzIUV+OBG\nHoBTQBazY3dTPuoB1YAtt/h5huumq4/cUy560lpfBW5c9JTavy56AkKVUoVdHIc3SDcXWus1Wutz\n9sW1+O/1Ac68LwBeB74FXDPnqfdxJg9tge+01ocBtNYnPRyjpziTi2NAiP3vIcAprfU1D8boMVrr\nlcCZ26yS4brp6uIuFz05OJOL1LoA890akXnSzYVSqhi2D/eN6Sv88WSQM++J8kA+pVScUmqDUqq9\nx6LzLGdyMRG4Tyl1FNgEvOmh2LxRhutmekMhM8r1Fz35Lqf/TUqpBkBnoK77wjGVM7mIAd7VWmul\nlOK/7xF/4EwesgIPAo2AHMAapdRvWuvdbo3M85zJxftAvNbaopQqCyxWSlXVWp93c2zeKkN109XF\n/QhQItVyCWy/YW63TnH7c/7GmVxgP4k6EWimtb7d1zJf5kwuqmO7VgJs/dVHlVJXtdZzPROiRziT\nh0PASa31JeCSUmoFUBXwt+LuTC7qAEMAtNZ7lVL7gYrYrr8JNBmum65uy6Rc9KSUyobtoqe0H865\nQAdIuQL2phc9+YF0c6GUKgl8D7TTWu8xIUZPSTcXWusyWuvSWuvS2Prur/pZYQfnPh9zgIeVUsFK\nqRzYTp5t83CcnuBMLnYAjQHs/eWKwD6PRuk9Mlw3XXrkruWipxTO5ALoD+QFxtmPWK9qrSPMitld\nnMyF33Py87FDKbUA2AxcByZqrf2uuDv5nhgKTFVKbcJ2IPqO1vq0aUG7kVLqayASKKCUOgREY2vR\nZbpuykVMQgjhhzx+g2whhBDuJ8VdCCH8kBR3IYTwQ1LchRDCD0lxF0IIPyTFXQgh/JAUdyGE8ENS\n3IUQwg/9H1B7BTScsechAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "########################################\n", "# Choix de la taille de discretisation\n", "########################################\n", "n = 200 #nombre de noeuds interieurs\n", "h = 1./(float(n)+1.) #taille du pas Delta x \n", "xs = np.arange(1,n+1)*h #vecteur d'abscisses xi = i*h, i=1..N\n", "##########################################\n", "# Instancier les fonctions q et f du pb\n", "###########################################\n", "q = lambda x: -np.pi **2 * np.cos(np.pi*x) ** 2\n", "f = lambda x: np.pi**2* np.sin(np.pi*x) ** 3\n", "###################################################\n", "# Assembler la matrice A et le vecteur b = h**2*F \n", "###################################################\n", "A = np.diag(2*np.ones(n)+h**2*q(xs)) - np.diag(np.ones(n-1),-1) - np.diag(np.ones(n-1),1) \n", "b = h**2*f(xs)\n", "###################################################\n", "# resoudre le systeme lineaire Au=h**2 * F\n", "###################################################\n", "us = np.linalg.solve(A,b)\n", "#######################################################\n", "# Visualiser le resultat, comparer avec sol analytique\n", "#######################################################\n", "plt.plot(xs,us, 'r+', label = 'fin diff')\n", "plt.plot(xs,np.sin(np.pi*xs), 'b', label='exact sol')\n", "plt.legend()\n", "plt.grid()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "2.661377672574794e-05" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.linalg.norm(us-np.sin(np.pi*xs), np.inf)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "# Methode de Jacobi pour resoudre $Ax=b$\n", "### Decomposition $A=M-N$ avec $M=D$ et $N=-(L+U)$\n", "### Premier Itere : $x_0 \\in \\mathbb{R}^N$\n", "### Suite a calculer : $Dx_{k+1} = -(L+U)x_k +b$" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [], "source": [ "A = spa.diags([-np.ones(n-1), 2*np.ones(n)+h**2*q(xs) , -np.ones(n-1)], [-1,0,1])\n", "Dinv = spa.diags(1./(2*np.ones(n)+h**2*q(xs)), 0) #La diagonale\n", "N = -spa.diags([-np.ones(n-1),-np.ones(n-1)], [-1, 1]) #L+U, les blocs triang sup et inf\n", "b = h**2*f(xs)\n", "\n", "x0 = np.zeros(n) #Itere initial\n", "iters = [x0] #On va garder la suite des iteres pour visualisation\n", "#On garde aussi la suite de residus pour montrer la vitesse de convergence\n", "residu = np.linalg.norm(A.dot(x0)-b)/np.linalg.norm(b)\n", "reslist = [residu]\n", "while residu > 1e-3:\n", " rhs = N.dot(x0) + b #Assembler le membre de droite\n", " x0 = Dinv.dot(rhs) #Resoudre un systeme trivial (D diagonale ici)\n", " \n", " residu = np.linalg.norm(A.dot(x0)-b)/np.linalg.norm(b)\n", " reslist +=[residu]\n", " iters += [x0]\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "residues_j = np.array(reslist)\n", "niter = residues_j.shape[0]\n", "plt.plot(np.arange(niter),residues_j)\n", "plt.xlabel(\"Iterations\")\n", "plt.ylabel(\"Residu\")\n", "plt.title(\"Convergence de la Methode de Jacobi\")\n", "plt.grid()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nP378dEH+P4DNAjcXX/t7AAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Visualiser l'iteration i\n", "plt.plot(xs,np.sin(np.pi*xs), 'b', label='exact sol')\n", "for i in [0,10,100,1000,2000,5000,10000, 20000, niter-1]:\n", " plt.plot(xs,iters[i], '--',label = str(i),lw=2)\n", "plt.title(\"Iterations de la methode de Jacobi\")\n", "plt.legend()\n", "plt.grid()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Chaque iteration est peu couteuse, lineaire en n, mais il faut en faire trop. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Methode de Gauss Seidel pour resoudre $Ax=b$\n", "## Decomposition $A = M-N$ avec $M=D+L$ et $N=-U$\n", "## Suite a calculer $Mx_{k+1}=Nx_k+b$" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "A = spa.diags([-np.ones(n-1), 2*np.ones(n)+h**2*q(xs) , -np.ones(n-1)], [-1,0,1])\n", "M = spa.diags([-np.ones(n-1), 2*np.ones(n)+h**2*q(xs)],[-1,0]).tocsr()\n", "N = -spa.diags(-np.ones(n-1),1)\n", "\n", "b = h**2*f(xs)\n", "\n", "x0 = np.zeros(n) #Itere initial\n", "iters = [x0] #On va garder la suite des iteres pour visualisation\n", "#On garde aussi la suite de residus pour montrer la vitesse de convergence\n", "residu = np.linalg.norm(A.dot(x0)-b)/np.linalg.norm(b)\n", "reslist = [residu]\n", "while residu > 1e-3:\n", " rhs = N.dot(x0) + b #Assembler le membre de droite\n", " x0 = spsolve(M,rhs) #Resoudre un systeme facile, M traingulaire\n", " \n", " residu = np.linalg.norm(A.dot(x0)-b)/np.linalg.norm(b)\n", " reslist +=[residu]\n", " iters += [x0]\n" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "residues_gs = np.array(reslist)\n", "niter = residues_gs.shape[0]\n", "plt.plot(np.arange(niter),residues_gs)\n", "plt.xlabel(\"Iterations\")\n", "plt.ylabel(\"Residu\")\n", "plt.title(\"Convergence de la Methode de Gauss Seidel\")\n", "plt.grid()" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Visualiser l'iteration i\n", "plt.plot(xs,np.sin(np.pi*xs), 'b', label='exact sol')\n", "for i in [0,10,100,1000,2000,5000,10000, 20000, niter-1]:\n", " plt.plot(xs,iters[i], '--',label = str(i))\n", "plt.title(\"Iterations de la methode de Gauss Seidel\")\n", "plt.legend()\n", "plt.grid()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Methode de Richardson Stationnaire\n", "## $x_{k+1}=(I-\\alpha A)x_k +\\alpha b$" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nW+lzGfCeUnspxZlH131Tn1np8V54+iu2nt7w9Jenvzz95emvl4ca0191CvXXAGfFlimlRkgaoCi2\n/xHwKMU58WiF+qOAS6Mo1HfdNxXqn4qIiyWdBwyFC/W4UO9CvQv13bhQX1edQn2dpPJj4DCKK6xG\naioRESc1MMA/AS6l+Gt8PSI+Jems9ASXpz5fAuZTzHl8IFItp9O+af104DvAvsBy4N0RsbbyvFkm\nlRHDw8ObT2Vz5Pj6W87x5Rwb1EsqdWoqFzQ0nm1ExGJgcWXd5ZX22XX3TetXU1xqbGZmPebv/jIz\ns1pe0ZmKpGfpfoVWRMTgKxmcmZnlp+vXtETEbhGxe5fFCWUCy/37hxxff8s5vpxjq8tfKGlmZo1x\nTcXMzGrx/6diZmY95aSSodzndR1ff8s5vpxjq8tJxczMGuOaipmZ1eKaipmZ9ZSTSoZyn9d1fP0t\n5/hyjq0uJxUzM2uMaypmZlaLaypmZtZTTioZyn1e1/H1t5zjyzm2upxUzMysMa6pmJlZLa6pmJlZ\nTzmpZCj3eV3H199yji/n2OpyUjEzs8a4pmJmZrW4pmJmZj3lpJKh3Od1HV9/yzm+nGOry0nFzMwa\n45qKmZnV4pqKmZn1lJNKhnKf13V8/S3n+HKOrS4nFTMza4xrKmZmVotrKmZm1lNOKhnKfV7X8fW3\nnOPLOba6nFTMzKwxrqmYmVktrqmYmVlPOalkKPd5XcfX33KOL+fY6nJSMTOzxrimYmZmtbimYmZm\nPeWkkqHc53UdX3/LOb6cY6vLScXMzBrjmoqZmdXimoqZmfWUk0qGcp/XdXz9Lef4co6tLicVMzNr\njGsqZmZWi2sqZmbWU04qGcp9Xtfx9bec48s5trpaSSqSpku6SdL9km6UNNSl33xJSyU9IOncsfaX\nNEfSC5LuTMuXexWTmZm1VFORdAnwZERckpLFtIg4r9JnMnAfcBzwCPAL4LSIuLfb/pLmANdGxBvG\neH7XVMzMttNErqmcBFyRHl8BnNKhzxHAsohYHhHrgauAk7djfzMz67G2ksrMiFiZHq8EZnboMxt4\nuNRekdaNtf/+aeprWNJbmxx0v8h9Xtfx9bec48s5troGxuvAkm4CZnXY9MlyIyJCUqe5qOo6dVhX\n3f9RYJ+IWCPpTcA1kg6NiGeq+y1YsIA5c+YAMDQ0xNy5c5k3bx6w5YXRr+0lS5ZMqPE4Pse3I8WX\nU3t4eJiFCxcCbH6/HEtbNZWlwLyIeFzSXsAtEfH6Sp+jgAsjYn5qnw9sioiL6+yf9rkFOCcifllZ\n75qKmdl2msg1lUXAmenxmcA1HfrcARyYruiaApya9uu6v6QZqcCPpAOAA4HfjEsEZma2jbaSyqeB\n4yXdDxyb2kjaW9IPACJiA3A2cANwD3B1RNw72v7AvwXuknQn8F3grIhY26OYJoyR09dcOb7+lnN8\nOcdW17jVVEYTEaspLhWurn8U+NNSezGweDv2/x7wvUYHa2Zmtfm7v8zMrJaJXFMxM7MMOalkKPd5\nXcfX33KOL+fY6nJSMTOzxrimYmZmtbimYmZmPeWkkqHc53UdX3/LOb6cY6vLScXMzBrjmoqZmdXi\nmoqZmfWUk0qGcp/XdXz9Lef4co6tLicVMzNrjGsqZmZWi2sqZmbWU04qGcp9Xtfx9bec48s5trqc\nVMzMrDGuqZiZWS2uqZiZWU85qWQo93ldx9ffco4v59jqclIxM7PGuKZiZma1uKZiZmY95aSSodzn\ndR1ff8s5vpxjq8tJxczMGuOaipmZ1eKaipmZ9ZSTSoZyn9d1fP0t5/hyjq0uJxUzM2uMaypmZlaL\naypmZtZTTioZyn1e1/H1t5zjyzm2upxUzMysMa6pmJlZLa6pmJlZTzmpZCj3eV3H199yji/n2Opy\nUjEzs8a4pmJmZrW4pmJmZj3lpJKh3Od1HV9/yzm+nGOry0nFzMwa45qKmZnV4pqKmZn1lJNKhnKf\n13V8/S3n+HKOrS4nFTMza4xrKmZmVotrKmZm1lOtJBVJ0yXdJOl+STdKGurSb76kpZIekHRuaf27\nJP1fSRslvamyz/mp/1JJJ4x3LBNR7vO6jq+/5RxfzrHV1daZynnATRFxEPDD1N6KpMnAl4D5wCHA\naZIOTpt/BbwD+NfKPocAp6b+84EvS9rhzsaWLFnS9hDGlePrbznHl3NsdbX1hnsScEV6fAVwSoc+\nRwDLImJ5RKwHrgJOBoiIpRFxf4d9Tga+HRHrI2I5sCwdZ4eydu3atocwrhxff8s5vpxjq6utpDIz\nIlamxyuBmR36zAYeLrVXpHWj2Tv12559zMysIQPjdWBJNwGzOmz6ZLkRESGp06VYTV2etcNd5rV8\n+fK2hzCuHF9/yzm+nGOrLSJ6vgBLgVnp8V7A0g59jgKuL7XPB86t9LkFeFOpfR5wXql9PXBkh2OH\nFy9evHjZ/mWs9/dxO1MZwyLgTODi9POaDn3uAA6UNAd4lKIAf1qHfuVrphcB/yTpsxTTXgcCP6/u\nMNZ11mZm9vK0VVP5NHC8pPuBY1MbSXtL+gFARGwAzgZuAO4Bro6Ie1O/d0h6mOJs5geSFqd97gG+\nk/ovBj7iuxzNzHpnh7yj3szMxscOdw/HiNFuoOxn3W4YzYGkb0haKelXbY9lPEjaR9It6XX5a0kf\nbXtMTZG0i6TbJS2RdI+kT7U9pvEgabKkOyVd2/ZYmiZpuaS7U3zblBVG7LBJhS43UPazMW4YzcE/\nUsSWq/XAX0TEoRRTu/8ll79fRLwIHBMRc4HDgGMkvbXlYY2Hj1FMv+c4BRTAvIg4PCK63v+3wyaV\nUW6g7GddbxjNQUTcCqxpexzjJSIej4gl6fGzwL0U915lISKeTw+nAJOB1S0Op3GSXgOcCHyNrS8g\nysmYce2wSSVTL+eGUZuA0lWPhwO3tzuS5kiaJGkJxQ3Pt6QLa3LyOeAvgU1tD2ScBHCzpDsk/cdu\nndq6pLgnRrkB8xMRkd2cJ3mecu9wJO0G/DPwsXTGkoWI2ATMlbQHcIOkeREx3PKwGiHp7cCqiLhT\n0ry2xzNOjo6IxyS9GrhJ0tI0e7CVrJNKRBzf9hh67BFgn1J7H7b+2hqb4CTtBPwv4FsR0en+rb4X\nEU+nWwfeDAy3PJym/AFwkqQTgV2AQUlXRsQZLY+rMRHxWPr5hKR/oZhu3yapePqrkMv85+YbRiVN\nobhhdFHLY7KaJAn4OnBPRFza9niaJGnGyH9xIWlX4HjgznZH1ZyI+ERE7BMR+wPvAX6UU0KRNFXS\n7unxq4ATKC522sYOm1S63UDZz0a7YTQHkr4N/AQ4SNLDkj7Q9pgadjRwOsWVUXemJZer3fYCfpRq\nKrcD10bED1se03jKbSp6JnBr6e/3/Yi4sVNH3/xoZmaN2WHPVMzMrHlOKmZm1hgnFTMza4yTipmZ\nNcZJxczMGuOkYmZmjcn6jnqziUzSRuBuii9XXAackdPXstiOyWcqZu15Pn2N+GHAOuCstgdk9ko5\nqZhNDD8FXgsg6bWSFqdvg/1XSa9reWxmtTmpmLUs/edqJwC/Tqu+CvxZRLyZ4qvUv9zW2My2l7+m\nxawlkjZQfCnfbGA5xffQTQVWAfeVuk5J/xuk2YTnQr1Ze16IiMPTt/beQPG/dN4MrI2Iw9sdmtnL\n4+kvs5ZFxAvAR4G/BZ4Ffivp30PxdfiSDmtzfGbbw0nFrD2b557T/02/DHg38D7gQ+lrxn8NnNTO\n8My2n2sqZmbWGJ+pmJlZY5xUzMysMU4qZmbWGCcVMzNrjJOKmZk1xknFzMwa46RiZmaNcVIxM7PG\n/H+rb/XuYqZjWwAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Visualisation des valeurs Propres de A:\n", "A = np.diag(2*np.ones(n)+h**2*q(xs)) - np.diag(np.ones(n-1),-1) - np.diag(np.ones(n-1),1)\n", "valeurs_propres = np.linalg.eigvals(A)\n", "plt.scatter(valeurs_propres.real, valeurs_propres.imag)\n", "plt.grid()\n", "plt.xlabel(\"Re\")\n", "plt.ylabel(\"Im\")\n", "plt.title(\"Valeurs propres de A\")" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.000181244221753\n", "3.99969649104\n" ] } ], "source": [ "print min(valeurs_propres)\n", "print max(valeurs_propres)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [], "source": [ "alpha = 0.25\n", "def richardson(A,b,alpha):\n", " x0=np.zeros(n)\n", " R = spa.csr_matrix(np.eye(n)-alpha*A)\n", " iters=[x0]\n", " residu=np.linalg.norm(A.dot(x0)-b)/np.linalg.norm(b)\n", " residues =[residu]\n", " while residu>1e-3:\n", " x0 = R.dot(x0)+alpha*b\n", " residu = np.linalg.norm(A.dot(x0)-b)/np.linalg.norm(b)\n", " iters+=[x0]\n", " residues+=[residu]\n", " return iters, residues\n", "iters_richardson, res_richardson = richardson(A,b,alpha)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "residues_r = np.array(res_richardson)\n", "niter = residues_r.shape[0]\n", "plt.plot(np.arange(niter),residues_r)\n", "plt.xlabel(\"Iterations\")\n", "plt.ylabel(\"Residu\")\n", "plt.title(\"Convergence de la Methode de Richardson\")\n", "plt.grid()" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nVKx4L3XrTsTDw9Pp8uiRu7EYkYmpBpB5OsFZILdhxiDgl4IKUlBE4J134L13a+FRtO06gNsadpMp\nmbi4LcTE/Mrly5tISDiBn193i8bdCINmJJUqdadSpe6AeWbOlSs7uHJlByVKuH7AN43rkx/jnu+v\ncqVUJ+A5wOJs86CgIOqmZ4/28fEhICAgw8d4Y45vfvenTAnh2jV46CHbzjdqv23btuzcuTNDJ0bL\n48h9ERNlywZRunR1/v23CeXLD6JHj2GUKFEqy5zuwMBAl5DXyP0tW3axf38or776psXydeu+4eLF\n5fToMQxf365s2bLdIfJojCckJISFCxcCZNhLm8hrOg1m3/m6TPtvAm9YqNcSOAY0sNJOwecGWcFk\nEmnTRmTlStvbuHjRbuLkC5PJJAsWLJBbbrlFVhZGcBfFWmTKlJQruZ5ndLAsVyI3XSQlXZDTpz+S\nvXvvlT//rChhYU/If/8tlZQU+02Xteczqik41vSPo6ZCKqVKAuFAF+AcsBPoI5leqCqlagO/A/1E\nZLuVdiSvvvLLr7/CmDFw4ADY4mo/fBgCA2H7dqhXzy4i5cqZM2cYNmwY586dY8GCBbRq1crxnTqB\n69ePEhW1gosXV1C79miqVu1rtEjFguTkKGJifiIq6gcqVLiLunXtEylP+9yNxd4+9zxNo4ikAsOB\n9cAh4FsROayUGqaUGpZe7W3AF/hCKbVPKbXTSnOFRgSGLBvPy2OjbDLs589Djx7m6Y6ONuwiwty5\nc2ndujXt27dn165dRd6wJyaeJiLiPXbtup39+/+PpKTzNGz4KVWqPG20aMWG0qUrc8stg2jZcq1V\nwy5icrJUGpfDluG+LRt2+sn36Q9bpNSoepKYnFLgc69eFWndWuSdd+wiSp5cvHhR7rvvPgkNDc1y\nvCi7Ii5d+l2OHh0hsbF/ismUWuj2irIu7I09dbFnz90SFvaEXLy4SlJTE/J1jr2eUY1tWNM/xSWe\n+zubJ9On9ljKlCrYir/UVHjySWjdGsaPd5Bw2ahcuTLr16+nRYsWzunQjphMKRaP+/p2omHD/+Hj\ncw/mJRAaV6RFizX4+nYjMvJ/bNtWnSNHniM2dnORdLvMmjWLNm3aULZsWQYOHJhxPCIighIlSuDt\n7Z2xTZ48OaN88+bNdOrUCR8fH+pZ+JmeW4q9zZs307JlS3x9ffHz8+O+++7j0KFDWc7fuHEjrVu3\n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\nG/L/neppkjcNoiAAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Visualiser l'iteration i\n", "plt.plot(xs,np.sin(np.pi*xs), 'b', label='exact sol')\n", "for i in [0,10,100,1000,2000,5000,10000, 20000, residues_r.shape[0]-1]:\n", " plt.plot(xs,iters_richardson[i], '--',label = str(i))\n", "plt.title(r\"Iterations de la methode de Richardson, $\\alpha=0.25$\")\n", "plt.legend()\n", "plt.grid()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(np.arange(residues_r.shape[0]),residues_r, label='Richardson')\n", "plt.plot(np.arange(residues_gs.shape[0]),residues_gs, label='Gauss-Seidel')\n", "plt.plot(np.arange(residues_j.shape[0]),residues_j, label='Jacobi')\n", "plt.xlabel(\"Iterations\")\n", "plt.ylabel(r\"Residu $\\frac{||Ax_k-b||}{||b||}$\", fontsize=20)\n", "plt.title(\"Vitesses de convergence\")\n", "plt.legend()\n", "plt.grid()" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "# Conditionnement" ] }, { "cell_type": "code", "execution_count": 127, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 2. -1.]\n", " [-1. 2.]]\n", "3.0\n" ] } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "n=2\n", "A = np.diag(2*np.ones(n)) - np.diag(np.ones(n-1),-1) - np.diag(np.ones(n-1),1) \n", "print A\n", "print np.linalg.cond(A)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "n=2\n", "A = np.diag(2*np.ones(n)) - np.diag(np.ones(n-1),-1) - np.diag(np.ones(n-1),1) \n", "kappaA = np.linalg.cond(A)\n", "b=np.array([np.cos(3*np.pi/4.),np.sin(3*np.pi/4.)])\n", "#b=np.random.rand(2)\n", "Nsamples=20\n", "ra = np.random.rand(Nsamples)\n", "deltabs = np.array([ra*np.cos(np.pi/4.),ra*np.sin(np.pi/4.)])\n", "#deltabs = np.random.rand(2,Nsamples)\n", "#deltabs = np.linspace(0,1,Nsamples)*deltab\n", "z = np.linalg.solve(A,b)\n", "solution_perturbation = np.zeros(Nsamples)\n", "rhs_perturbation = np.zeros(Nsamples)\n", "for i in range(Nsamples):\n", " deltaz = np.linalg.solve(A,b+deltabs[:,i])-z\n", " solution_perturbation[i] = np.linalg.norm(deltaz)/np.linalg.norm(z)\n", " rhs_perturbation[i] = np.linalg.norm(deltabs[:,i])/np.linalg.norm(b)\n", "plt.scatter(rhs_perturbation, solution_perturbation, c='r')\n", "plt.plot(np.linspace(0,1),kappaA*np.linspace(0,1), label=r'$\\kappa_2(A)$')\n", "plt.legend()\n", "#plt.axis('equal')\n", "plt.ylabel(r'$\\frac{||\\delta x||}{||x||}$', fontsize=25)\n", "plt.xlabel(r'$\\frac{||\\delta b||}{||b||} $', fontsize=25)\n", "plt.grid() " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Geometriquement le conditionnement est une mesure de l'anisotropie" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 2. -1.]\n", " [-1. 2.]]\n" ] } ], "source": [ "n=2\n", "A = np.diag(2*np.ones(n)) - np.diag(np.ones(n-1),-1) - np.diag(np.ones(n-1),1) \n", "t = np.linspace(0,2*np.pi,100)\n", "xs = np.array([np.cos(t),np.sin(t)])\n", "ys = A.dot(xs)\n", "print A\n", "valeurs_et_vecteurs_propres = np.linalg.eig(A)\n", "v1 = valeurs_et_vecteurs_propres[1][0]\n", "v2 = valeurs_et_vecteurs_propres[1][1]" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nMwj++iucdho8+KB/RhhOnw5nnqkVdgwVOnzJGHNxYa+LSDrQDriosO3S09NJDS78mZKSQsOGDUlL\nSwP+yQE5eZw7X1SS/RPl8eLFi+nTp49n4vHqY899nl55hcDFF8OECaSdfjrcfDOB886DypVdj+/Q\nc3leN4bAgw9CejppwW289Pd14/HIkSPDqt/GjRsHkFNfhmSMKdENaAv8ABxbxHYmUubPnx+xY8Uz\nLSdnPF1OGzca07u3MSkpxtxwgzHffutqOCHLatIkY+rVM+bgwZjH41WR/EwF687D6tQS57RFZA1Q\nBvgj+NRCY0zPENuZkp5DqYS3Ywe8/DKMGgWpqXD33XDZZXYwi5s2bIBzzoHZs+3FVBVxBeW0dXCN\nUn6QlWUnpHrmGdsv+oYbbNfB00+PfSzbtkGbNnDttXbQkIqKuJgwKnd+TRVMy8kZX5VTqVJ2GtjP\nPrNLnYlAq1bQrJmd6+S336J6+pyyWr8e0tLsQhD/+U9Uz+lHsfhM+arSVkphW9fDhtkUxaHh8XXq\n2L7SI0dGZ8DOwYPw7LNw9tl2qbXHHouvofg+oukRpeLB/v3w0Ufwzjt2Dcty5eDCC+2tWTOoWbNk\nlez27TBuHIweDdWrw5gx7qRkEpDmtJVKFMbAihUwb54drbhokZ1hsEEDe0tNhWrV4MQT7UAeEXs7\ncMCuwLNpk50X/JNPbP78ssvsqM1zz9XWdQzFRaUdCARy+jeqgmk5OZNQ5bRtm12MeMkSO+vgL7/Y\nwTw7d9pK3hibN69WzbaoTz3Vztx3zjlQpkxilVUYIllOBVXaujaQUomgShU7t3fr1m5HosLkq5a2\nUkolirjo8qeUUonOV5W2r/rVukjLyRktJ+e0rJzRftpKKaXy0Jy2Ukp5kOa0lVIqDviq0ta8mjNa\nTs5oOTmnZeWM5rSVUkrloTltpZTyIM1pK6VUHPBVpa15NWe0nJzRcnJOy8oZzWkrpZTKQ3PaSinl\nQZrTVkqpOOCrSlvzas5oOTmj5eSclpUzmtNWSimVh+a0lVLKgzSnrZRSccBXlbbm1ZzRcnJGy8k5\nLStnNKetlFIqD81pK6WUB2lOWyml4kCJK20RGSIiS0RksYh8LCI1IhlYKJpXc0bLyRktJ+e0rJzx\nek77f8aYBsaYhsC7wIAIxVSgxYsXR/sUcUHLyRktJ+e0rJyJRTmVuNI2xuzK9bAC8Hv44RRu586d\n0T5FXNByckbLyTktK2diUU6lwtlZRB4DbgD2AE0jEpFSSqkCFdrSFpG5IvJ9iFtHAGPMQ8aYk4Bx\nwFPRDnbdunXRPkVc0HJyRsvJOS0rZ2JRThHp8iciJwFzjDH1Qrym/f2UUqoEQnX5K3F6REROM8as\nCT7sBGQ4PalSSqmSKXFLW0SmALWBg8Ba4N/GmK0RjE0ppVQ+UR8RqZRSKnJ8OSJSRO4VkWwROcbt\nWLxKRJ4QkRXBAVBTRaSi2zF5iYi0FZGVIrJGRO53Ox4vEpEaIjJfRH4QkWUi0tvtmLxORJJFJENE\nZkbrHL6rtIMjLy8G1rsdi8d9CJxhjGkArAYecDkezxCRZOBZoC1QF+gqInXcjcqTMoG+xpgzsF16\n79RyKtLdwHIgaikM31XawAjgP24H4XXGmLnGmOzgw6+A6m7G4zFNgB+NMeuMMZnAJOzFdJWLMeY3\nY8zi4P2/gRXAie5G5V0iUh1oB7wMRK0Dhq8qbRHpBGwyxix1Oxaf6Q7McTsID6kGbMz1eFPwOVUA\nEUkFGmEbACq0p4D/A7KL2jAcYY2IjAYRmQscH+Klh7A/8S/JvXlMgvKoQsrqQWPMzOA2DwEHjDET\nYhqct+nV92IQkQrAFODuYItb5SMiHYCtxpgMEUmL5rk8V2kbYy4O9byI1AP+BSwREbA/978VkSaJ\n2tWwoLI6RETSsT/XLopJQP7xC5B7Vsoa2Na2ykdESgPvAG8YY951Ox4POx+4TETaAeWAo0XkNWPM\njZE+kW+7/InIz8DZxpg/3I7Fi0SkLTAcaGmMifpkXn4iIqWAVdgvs1+BRUBXY8wKVwPzGLGto/HA\ndmNMX7fj8QsRaQncZ4zpGI3j+yqnnY8/v21iZxR29sW5wS5Io90OyCuMMVlAL+AD7JX+t7TCDqkZ\ncD3QKvgZygg2BlTRolY/+balrZRSicjPLW2llEo4WmkrpZSPaKWtlFI+opW2Ukr5iFbaSinlI1pp\nK6WUj2ilrZRSPqKVtlJK+cj/A3XD7afhMJiQAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(xs[0,:],xs[1,:],'b', label=r'$||x||_2=1$')\n", "plt.plot(ys[0,:],ys[1,:], 'r', label=r'$\\lbrace Ax: ||x||_2=1 \\rbrace$')\n", "plt.plot(v1[0],v1[1],'go') #vecteur propre\n", "plt.plot(v2[0],v2[1],'go') #vecteur propre\n", "plt.title('Sphere unite et son image par A')\n", "plt.legend()\n", "plt.axis('equal')\n", "plt.grid()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Appliquer plusieurs fois $A$ fait que l'ellipse s'applatit dans la direction propre associee a la plus grande valeur propre " ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAEACAYAAAC9Gb03AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xd8FNUWwPHfTUIXiIiAEkroRTAUKdJCkUfvAiJNiggC\nAooEEWkqiAUEKSJSRcqjvSCIIBAkdAi9Bw2oSBNBigkk3PfH3UBAWrK7md3J+X4++3mZmS3nvJWb\nyZk75yqtNUIIIezLx+oAhBBCuJcM9EIIYXMy0AshhM3JQC+EEDYnA70QQticDPRCCGFzTg/0Sil/\npdRCpdQhpdRBpVR5pVQWpdRqpdRRpdQqpZS/K4IVQgiReK44o/8cWKG1LgqUBA4DIcBqrXUhYI1j\nWwghhAWUMzdMKaUyA7u01vnu2n8YqKa1PqOUygGEaa2LOBeqEEKIpHD2jD4QOKeUmq6UilBKfaWU\nygBk11qfcTznDJDdyc8RQgiRRM4O9H5AaWCi1ro0cJW7yjTa/MkgfRaEEMIifk6+/jfgN631dsf2\nQmAgcFoplUNrfVop9RRw9u4XKqVk8BdCiCTQWqvEPN+pM3qt9WngV6VUIceuWsABYBnQwbGvA7D0\nPq+37WPIkCGWxyD5SX4pMT8756Z10s6PnT2jB+gFzFFKpQaOA68AvsACpVRnIApo6YLP8SpRUVFW\nh+BWkp93s3N+ds4tqZwe6LXWe4Dn7nGolrPvLYQQwnmeeWdseDikSQNr11odSZJ17NjR6hDcSvLz\nbnbOz865JZVT8+id+mCl9H0/+/x5ePJJ83NwMEyeDIULJ1tsQgjhqZRS6OS8GOs2WbPC1avQqhWE\nhUGRIvD223D5stWRPbKwsDCrQ3Aryc+7eXJ+Sil5OB6u4pkDPUD69DB3rjmbBxgzBooVgwULwKK/\nQoQQycPqmS2e8HAlzyzd3G3PHnN2HxsLN29CwYIwYQIUKODeIIUQyc5RmrA6DMvd7/8H+5Ru7vbs\ns7BzJ1SrZrafeAIqVIBhwyAmxtrYhBDCw3nHQA+QIQN8/TV8+CH8+CO89JIZ/J991tTxPYwn10Bd\nQfLzbnbPT9zJewb6eK1bw7ZtsGsXXLsGvXtD+/bwyitmto4QQljo2LFjLFmyhGHDhhEREWF1OIC3\n1OjvJTYWRo6EL76Ajz82A//cuebntm3BhVeshRDJx9tr9GPGjKFSpUoULVqUbt268e233ybpfVxZ\no/fegT7eli1mYK9WDdq1g759zfTMyZMhf37n318Ikay8faCPd/DgQebMmcMHH3yQpNenvIuxD1Kh\ngjmbB+jSxZzh16kD5cvDqFFw44YlYdm9Bir5eTe755ecrl27RuXKlf+1f8mSJQwaNMiCiP7N+wd6\ngIwZzYXa0aOheXNzY9XmzeYibdmypqYvhBBuMH78eDZv3kxcXNytfaGhofTu3Zvff//dwshu8/7S\nzd1OnYJOneCvv2D2bNi+Hd5801zEff99eOwx13+mEMJlvKl0s2vXLqKiomjTpg3Hjh0jICCAxYsX\nM3LkSPz9/QkODk7yWb2Ubh7k6afh++9Nvb5SJbhyBfbvh4sX4ZlnYMUKqyMUQthAbGwsCxYsoGnT\npuTIkePW2XuzZs3Yvn07q1ev/tcgHxoayvLlywkJCWHOnDm0a9eOw4cPuz1W+w30YGbc9OwJP/0E\nU6ZAx46mXj91KvTqBW3awNl/LXrlUnavgUp+3s3u+SWHCRMm0KVLF4A7Bvr7OXnyJMWKFaN+/fqs\nXr2a+vXr06pVK3Lnzu32WO050McrWtTU6oOCzOPKFdi3DwICoEQJmDVL+uYI4WWUcs3DGcePH2fb\ntm2Eh4czc+ZMYmNjOXXq1ANfkzt3bgoUKMCZM2fImDEj/v7+NGjQgPTp0zsXzCOwX43+fjZtMjdW\nVa0KY8fCsWNmls6TT8KXX0JgYPLFIoS4L0+v0Wutee+99xg2bBg+PuZcuU+fPqRLl46RI0fe93WH\nDx8mJiaGiIgIfvnlF4YPH86KFSuoV6/ePZ8vNfqkeP552L0b/PzM2f21a2Y2Tq1aUK6c6Y6Z4Kq5\nEELcbcuWLTRs2JDIyEhu3rwJQHh4OHv37mXt2rWsX7/+vq9dtWoV3333HVproqOjWbp0KdmyZUuW\nuFPOGX1Cy5ZBt27mgu3w4fDrr9C1q+mBP3UqlCzp9EeEhYURHBzsfKweSvLzbp6cn6ef0ScXOaN3\nVsOGpvXxsWPmbP7aNbNs4auvmjP8wYMhOtrqKIUQwiVS5hl9PK3NBdm33rr9OHPGzNg5dAi++gru\nccebEMJ95IzekF43rhYVZaZgxsXBzJmQLx8sWmQ6YzZpYpqnZcpkdZRCpAgy0BtSunG1vHlN6aZp\nU9Mj56uvoFkzc6NVdLSZipnIG63sPk9Z8vNuds9P3EkG+ng+PtCvn+mPM2mSqePHxJgeOl9/bco5\nbdtKz3shhNeR0s29XL9u+uJMmWK6YbZoYWbkvPcezJljpmK2bi0974VwAyndGFKjTy5bt5opmOXK\nwfjx8PjjZu59586m3DNpkrnLVgjhMjLQG1KjTy7ly5ubrB5/3MytX7XKDPo7d8Jzz0GpUuauWseN\nEwnZvQYq+Xk3u+cn7iQD/cOkT2/O5qdPNy0TevQwi5m8956p50+fDjVrQmSk1ZEKIcQ9uaR0o5Ty\nBXYAv2mtGyqlsgDzgTxAFNBSa33xrtd4funmbhcvmimXmzebaZjPP2+mZI4bBx98ACEh0KePabMg\nhEgSKd0YHlejV0r1A8oAGbXWjZRSo4HzWuvRSqkBwONa65C7XuN9A328xYvNmf0rr8DQoZAmDfz8\ns2mj8PffZpaOC9ooCJESeftAf+LECbZt20ZkZCS1a9emTJkySXofj6rRK6UCgHrAVCD+wxsBMx0/\nzwSaOPs5HqVZM9NC4dAhU6vfs8fcZPXjj6aHTq1ahHXoYKZn2pTda7ySn0iqjRs38sQTT1CwYEGO\nHj1qdTiAa2r0Y4D+QMIrktm11mccP58BsrvgczxL9uywZIlZprBWLfjwQ1PG6dLFLFYeGQllypiZ\nO0KIFKNNmzYEBgayY8cOmjdvbnU4gJMDvVKqAXBWa72L22fzd3DUZ7z377AHUQo6dDCzcNauhSpV\n4OhRyJmT4PBw0xytSRPzy+DaNaujdSlP7XzoKpKfeFTXrl2j8l09sQIDA2nSpAlDhw61Jqi7OHvV\n8HmgkVKqHpAWyKSUmg2cUUrl0FqfVko9Bdxz3b6OHTuSN29eAPz9/QkKCrr1H2D8n5ZesZ07N2Hv\nvAP/+x/Bzz8PQ4YQVrw4ZM9O8L598MYbhBUoAP37E9y3r/XxyrZse/i2Nxk/fjybN28mLi4OX19f\nBgwYQIcOHUiTJg1Hjhxx+v3DwsKYMWMGwK3xMrFcdsOUUqoa8JZj1s1o4E+t9UdKqRDA31YXYx/k\n6FHo0IGwmBiCly6F+PUgv/sOuneHevVg9GjInNnaOJ0U5sH9zF1B8rOON12M3bVrF1FRUbRp04Zj\nx44REBDA5s2bOXfuHAcOHKBRo0YUL148Se/tURdj7xIf1SjgBaXUUaCGYztlKFQINmww9fkyZcw8\ne62hQQPTJA1Mk7Tly62NUwjhlNjYWBYsWEDTpk3vWBy8YsWKNGrUiIEDB/5rkA8NDWX58uWEhIQw\nZ84c2rVrx+HDh90eq7RAcKe9e00LhTx5TN+cHDnM/nXrzEXbihXN+rVZs1obpxAe5GFn9GqYa3pM\n6SHOjT+ff/45DRo0IH/+/FSsWJH+/fvTrFmz+z7/5MmTXL9+nQIFClCmTBnWrFlDeHg4NWrUuOcC\n4a48o5c7e9ypZEnYvt0sV/jss+YO25YtoXp180tg8GBzdv/55/Dii9IkTYhH4OwA7QrHjx9n27Zt\n+Pv7Ex4eTmxsLKdOnXrga3I7yrhnzpwhY8aM+Pv706BBg+QIV1oguEv8xSVSpzadMENDzcD+0ktw\n4QJkyACffWZuvho61MzN/+MPK0NOlFv52ZTkJ+5Ha82MGTOYPXs2HTp0oEOHDlSqVOlW6eZ+Dh8+\nzJ49e1ixYgVVq1YFYEUi17lIKhnok0v58mZ+fY4cd9boK1Y0+4sXN2f9M2aYmr4QwuNs2bKFhg0b\nEhkZyU1HM8Pw8HD27t3L2rVrWb9+/X1fu2rVKr777ju01kRHR7N06VKyZcuWLHFLjd4KYWGmfULN\nmuasPn6Zwt27oVMnyJbN1PTjZ+wIkYJ406wbd/LkWTfiUQQHmxq9j4+p469da/YHBZk7aatWNTN2\nJk26ZwtkIYRIDBno3eShNdCMGc1Z+6RJ0L696Yp57RqkSgXvvAPr18OsWVCjhke2QLZ7jVfyE3Yi\nA73V6tY1Z/cXLpgz+k2bzP5ixSA8HBo3hgoVTIknLs7aWIUQXklq9J5k0SJ4/XXo2BGGDTPtj8Gc\n0XftCv/8A9OmmV8CQtiU1OgNqdHbVfPm5uz+yBFTo4+IMPsLFIA1a8wvgGrVzCInN25YGqoQwnvI\nQO8mSa6BZstm5taHhECdOubM/sYNc+H2tddMp8zwcLN27e7dLo05Mexe45X8hJ3IQO+JlIK2bc38\n+i1bTI3+wAFzLHduWLHCLFlYuza8+66tFzgRQjhPavSeTmuzNOHAgfDWW+bh62uO/fGH6Yh57Jip\n3Zcvb22sQriA1OgNj1szNilkoE+kqChzM1V0tLl7tlAhs19rWLAA3njD/BUwfDjco0GSEN5CBnpD\nLsZ6AZfXQPPmNWvSvvQSVKoE48aZm6mUglatYN8+OHXKtFF4wG3YrmL3Gq/kJ5z15ptvWh3CLTLQ\nexMfH+jVy8y1nzfPtFCIijLHnnwSvv0WPvkE2rSBnj3hyhVLwxUipTp+/Di7LZwscTcZ6N3Erav3\nFCxoFjepVw+ee87cYRv/J17jxmaBk6tXTfO0H390SwieujqRq0h+whknTpy41ZbYE8hA7618faF/\nf9MgbcoUc4ftb7+ZY48/bla2mjTJ1PW7doVLlywNVwi7untx8C1btlCuXDkLI/o3GejdJNlqoMWL\nw+bNpm5fqhTMnHn77L5OHXN27+sLzzzj0uUL7V7jlfzEo0q4ODhAVFQUa9as4eTJk6xbt87i6AwZ\n6O0gVSqzqMmqVfDpp6Z8c/q0OZYpE0yebH4B9OplGqhduGBtvELYxK5duyhUqBCpU6fmD8fCQa1b\nt6ZEiRLExMQQHR1tcYSGTK+0m5gYM8Vy6lSzRGGrVreXKLxyBQYNgv/+F774wqxqJYSH8ZbplbGx\nsQwePJiRI0cSGBjIvHnzKP+Qe1lCQ0Px9fVlw4YNlChRgpUrVzJo0CCKFCnyr+e6cnolWmtLHuaj\nhdts3ap1kSJat2ih9dmzdx7bsEHrggW1btny38eEsNhDxwZTnHT+4aSxY8fqyMhIrbXWFSpU0IsW\nLXrg80+cOKGPHTumtda6dOnS+q+//tLLli3TV69evU+a947RsT9R462UbtzE8hpouXKmKVqePGZx\nkyVLbh+rXBn27DHtFEqUgPnzE718oeX5uZnk58FcNdQ7IX5x8PDwcGbOnPnIi4MXKFDgX4uDp0+G\nGxz93P4Jwjrp0pl59U2amM6XixaZG62yZDHHPv4YWrQwyxrOnw8TJ5o1bYUQ96UTLA7u42POlXft\n2vVIi4PHxMQQERFxx+Lg9erVc3vMckbvJh41Tzn+DD5LljsXJofbi5YXLWrO/GfPfqSzHY/Kzw0k\nP3Evsjh4Yj9YLsZaY906M7e+enUYMwYyZ759bOdOcyxXLjNTJyDAujhFiuUtF2PdTXrdeAGPrYFW\nr24WN0md2pzdr1p1+1iZMrB9u7nbtlQp0zXzPv/gPDY/F5H8hJ3IQJ8SZcxoztinToUuXcyCJpcv\nm2OpU8OQIWZFq4kTzU1XJ09aG68QwilSuknpLl6Efv1MSWfaNHPGH+/GDXPBdswYGDECXn3VNFYT\nwo2kdGNIP3rhet99B926mXVrR46EDBluHztwwNTuM2QwfwXky2ddnML2ZKA3PKZGr5TKpZRap5Q6\noJTar5Tq7difRSm1Wil1VCm1Sinl78zneCOvq4E2aGB62v/1FwQFwcaNt48VL26269Y18/PHjyds\n7VrrYk0GXvf9JZLd8xN3cvbv8BtAX611caAC8LpSqigQAqzWWhcC1ji2hafLksVMrxw9Gl580Sxb\n+M8/5pifn+mWuXGj6YXfp49ZwlAI4fFcWrpRSi0FvnA8qmmtzyilcgBhWusidz1XSjee7Px5eP11\nM0Nnxow716ONizO9ckaMMGvZ9ulzex1bIZwkpRvDI2v0Sqm8wHrgGeCk1vpxx34FXIjfTvB8Gei9\nwYIF0Lu3uXt26FBIk+b2sePHoXNn00ht+nS4R2MmIRJLqcT167IzVw30LmmBoJR6DFgEvKG1vpzw\ni9Jaa6XUPUf0jh07kjdvXgD8/f0JCgq6dcdefA3RW7fHjh1rj3xatoRq1Qhr3hyKFCF44UIoU+Z2\nfmvXwqRJhJUvD61aETxxIvj5eU78Kf3788L8tNZOvT7h9QdPyMeZ7fifZ8yYAXBrvEy0xHZBu/sB\npAJ+APok2HcYyOH4+Sng8D1ed8/ObHaxbt06q0NwrZs3tZ4zR+ts2bQePFivW7VKa631y4te1g2/\nbaj3bF6qdY0aWj/3nNb791scrPNs9/3dxc752Tk3rZPWvdKp0o2jLDMT+FNr3TfB/tGOfR8ppUIA\nf611yF2v1c58trDIH3+Y+fS//gozZ9Lt5ESmREwhQ6oMVMtTlcmnypBr9GRTt3/7bbMoihDCZZK9\nRq+Uqgz8BOwF4t9oILANWADkBqKAllrri3e9VgZ6b6U1zJoF/fuje/YkpOxF/ntsKY0KN2L+gfm0\nzvg8I+efJ+1fl82F3JIlrY5YCNtI9nn0WutwrbWP1jpIa13K8Viptb6gta6ltS6kta599yCfEiSs\nsdmOUoTlyQMREajNm/lo8Ho+ytGOufvnMq7OODIUKErO2vv4X61c6Jo1YdgwuH7d6qgTxdbfH/bO\nz865JZXczy6SLiAAVqyAHj14sedEtp5rwpsr3iCtX1p2dotgbrl0VHg9NafW/A9drpxphyyESHbS\nAkG4xsmT0Lkz1y+cp3NTH/4MzM7sprPZf3Y/vVb05KXdcfRffAa/Hq/Du++a5mlCiESTNsXCOrlz\nw6pVpH71NWZ9fpLXw65RdnIpUvmmIuK1XTzWuTtBr2kOrJ5DXOlSsGOH1RELkWLIQO8mdq8T3jM/\npaBbN9S2bdQ/7sPOWenpP74Rn276lNfLvc6akEN8/HZl+gSdJvo/tdADB5qbrTxQivz+bMLOuSWV\nDPTC9QID4ccfyfJqb36apkn3xWQazK4LwIymM3nxgyX8563sbPpxGteffQa2bbM4YCHsTWr0wr2O\nH0d3eoWTF37h5QbXea/LbGrnr82NuBuM3TyGI5NGMPZ7SNu5G34j3oe0aa2OWAiPJv3ohWe6eRO+\n+ILrQwfzfjVFdLcuvP/Ch6T2Tc3JSyd5d96rvPTlJqpe8ifDN/OhYkWrIxbCY8nFWA9i9zphovLz\n8YHevUm9dQeDzxSmfd/pvDiqDEf/PEruzLmZ1W0lMd/O4q3K17hYvybX3nj9dntki8j3573snFtS\nyUAvkk/BgqTasIniXd5h3idRfN2lNNN2TkVrTZMiTRg95Rc+ntiWH376mktF86HDw62OWAhbkNKN\nsMaRI1x7uSX7/z7OjN5VeL/zHLKkywLAjlM7mDe8JSHzf8e3VRse/2wCpE9vccBCeAap0QvvEhfH\njU9HE/PhCD6slYYao+ZTq0BtAGJvxjJl1UiyDXyfGucykvGbBaQKrmFxwEJYT2r0HsTudUKX5Ofr\nS6q3B/LY5p0MiMxOmnoNeX9WV6Jjo/Hz8aNHncE8t+4oX7TMw4Um/+F051Zw9arzn/sI5PvzXnbO\nLalkoBfWK1qUzDv2U7rdAHr1nMVHHQqw7/ReAPL452HwpzvYuHwSG/aEcr7A01xbtcLigIXwLlK6\nER5F79/P+VYN2X/jd45/FEKnJkPxUeZ85MI/F5j9fktaTQgjukEd8k6eB489ZnHEQiQvqdELe4iN\n5c+hA/D5fBzTXixAqzGrCMic69bh9buWcv619lSOuknq6bN4vF4zC4MVInlJjd6D2L1O6Nb8/Px4\n4v1PyRi+jTYb/+Zoufz8b/UXtw5XK9WEuuGn+a5nbf5p8yJHWtVCX77s0hDk+/Neds4tqWSgFx7L\n79lSPLU/isKNO1OlWR++7F6OC9f+BCB9qvR0HryYs5vXcOjXCM7ky86Z0LkWRyyEZ5LSjfAK0Tu3\ncb5lfY6lvoyaMpXgKm1vHbsRd4PFn3Wl8gezuVCjIsWmf4dvZn8LoxXCfaR0I2wrbZlyBBw+Re46\nrShRtwOz+9TgaswVAFL5pqJV/xlci9jKiXORnM2fgxOLplkcsRCeQwZ6N7F7ndCS/FKlIv+YmaRe\nE0bV/+1me+ns7Nweeutw3lxlyTn+FJsHdsa3c1ciGpfjxl9/Jumj5PvzXnbOLalkoBdeJ2P5KuQ5\ncppswfXJU70JCwc05HpsDBMnwnNlfeg4bAJ9X9jNyXN/cK7AUxybP8nqkIWwlNTohVc7v3E1l9s0\n59dM8M+Hi2nbqRbz5sGhQ/D5OE2lJ99mxIHPOFW5JM/O+oG0WbJZHbIQTpEavUhxslZ6gbxHz5Gx\nYjClX6rNiAYtafPyDSpWhMOHFPX7fEyTvIc4cvwi5/Pn5MCcsVaHLESyk4HeTexeJ/Sk/FSaNJSa\nEkrs8mW88OMK5mbJRrsWG1i7Fl58EbbtLITPoF/olyuEjD3eJKxmCa79efqB7+lJ+bmDnfOzc25J\nJQO9sI2nqtUnMPI8j1Uoz/pz1fhvn3ZMmBCHry+0bQuzto1gzpuRHI+K5s/8udg65ROrQxYiWUiN\nXtjSiTWLud6uLUfSZGBF1eWMmVKONGnMsbNn4bMuw+geNoIDxQpRJXQ1GbPltDZgIR6R1OiFcMhT\nsxn5jp8nc6WSDFlUgQFVunAi6iYA2bLBqNAh/LzwOOcuxnGxQB6+/2ikxREL4T4y0LuJ3euE3pCf\nb7r0VPlmDZcXzeW1E3PYU+0p5n8dcet49dp5aHvgCEvbDKfoh4NZXLooZ0/8CnhHfs6wc352zi2p\n3DbQK6XqKKUOK6WOKaUGuOtzhHiYAv9pRf5fzuEbVITg3mUZ1aAb0f+Ys3tfX+g1+R1ubPyF6BsQ\nXSKQBYM/tDhiIVzLLTV6pZQvcASoBfwObAde0lofSvAcqdGLZLdz4RzSde/C8ccyk3XKSiq+EHTH\n8dkDP6LKxEHsyJOf8otXk6tAbosiFeLePKlGXw6I1FpHaa1vAPOAxm76LCEeWZkWL5M/6izX8hUk\nX5PSTG7bg5txN28dbzdyAH4RUcQpH3TpfMwd+IGF0QrhGu4a6HMCvybY/s2xL8Wwe53Qm/NLkyEj\nrdZsYP+4mVRZOY2VhXKyf/PeW8cD8geQ/fNJbHrjQypOHMJ/Sxbm959PWhix63nz9/cwds4tqfzc\n9L6PVJPp2LEjefPmBcDf35+goCCCg4OB21+Wt27v3r3bo+KR/P697Zs/F3kiz7KzYV2iqz/LrBqN\nGbVsMT6+PuzevZugmuVI3ekEN5u8QPgzgRx+8RWGzJzqMfE7s22H7y+lbIeFhTFjxgyAW+NlYrmr\nRl8BGKq1ruPYHgjc1Fp/lOA5UqMXHmP5hFkEvvcqJx7PQu5vVlK8Qsk7jsfX7iPyFaDastU8EZDr\nPu8khHt5Uo1+B1BQKZVXKZUaaAWEPuQ1Qlim/uvtCTh2lnM58pK1ZhBTX+n5r9r9zS1R/HNdcbVY\nIKs/HWVhtEIkjlsGeq11LNAT+AE4CMxPOOMmJYj/08uu7JhfpiyZaB++iYhPpuO7eAorC+VkZ9ie\nW8fzFQ2gzf5DLH1pOIWGvcvyCsW4cv6UhREnnR2/v3h2zi2p3DaPXmv9vda6sNa6gNZabjsUXqNu\n9w7kmLOEv3LlI6B+KT5v2Z3rMebsXino/eU7/P6/nzl7IY4L+fOwc9qnFkcsxINJrxshHuCnWd+Q\n9c0uHH/MH0Z+T8PWpW4du3wZhrQczhubhhNVtijlFvxIuieyWxitSAk8qUYvhC1Ubd+W/FHnuFG4\nIOU6l+G9Wq/y+2/m7D5jRvh0xXssHhRJ5Mlr/FkggMNzxlkcsRD/JgO9m9i9TpiS8kuTISPNVm7g\nzJxvaLN3Njsr5WB4yA7++ceUcvq+nZfC04/TKdMA0vfoy7b6pYi5cM664B+Bnb8/O+eWVDLQC/GI\nSjZpQ/6oc6QvX5xuX5SjT/lXmD07jps3oXJlGDr3fRrlPszPp/7iz4I5iZw/2eqQhQCkRi9Ekvzy\n40JutGvPsXTp+eiJUPq/9zwNGsDff0ODhprnMr9Nv/DPOFulNCVnr8Iv8+NWhyxsQmr0QiSTwFot\nyP/zeZ6oVpqFhyrzw/A2lCkTyw8/wPLvFBGXP2b0y3s58/cpzuXPwa+LplsdskjBZKB3E7vXCSU/\n0+++wvRVxCxbQt/ToXwS/SRTJ66jaFEIDITxE4qT/6tf2fFuZ3w6d2Ff8yrc/PuS+4N/BHb+/uyc\nW1LJQC+Ek3JVb0xg5HkyV6rEnB01GdW0OXnzxdC3L+R82oeGfSbyT8RWTpw5wpn8OTgbOs/qkEUK\nIzV6IVzo9E/fc61dK37NBJlnzCOoTL1bx2JvxrLwk05U+XAOV/5TnUJTl6AyZrQwWuGNpEYvhMVy\nVK1L4NFzZKn8AgHVGjCvf12uXb8KgJ+PH63fnsWfW9Zx8OROzhZ4ikvfL7U4YpESyEDvJnavE0p+\n96fSpKHEpEX4rP6RCgu3sLXUk4Rvnn/reMkiVam74Q++61mbay81J6pdI7h61QVRPzo7f392zi2p\nZKAXwk2yVKxB3iNnyFmzKUVqt2F676r8de0CAGn90tJ58GKOr1/KzsNrOVfgaf5Z84PFEQu7khq9\nEMngyvaNXHipCZGpLhM9YRx1q3dFKVNmvRR9ia+HN+HliRvQzZuTY9w0yJDB4oiFp0pKjV4GeiGS\ny40bnAjlcWewAAAV3ElEQVTpQcYp0/m2TQmajl5GzswBtw4v3TSdG726U/N0ejJ9uxi/asHWxSo8\nllyM9SB2rxNKfkmQKhV5Pv2Kx9Zvodm6Mxwtl49Zy97npjZN0po8/wrPrzvO5y/m5q/GtbnY/RW4\nds31cWDv78/OuSWVDPRCJLPUpcvy9IETFGv2Gg3bDGN0x0IcOLMfgJyZcjJkTASL5w9lzZZvuVQ0\nH3rjRosjFt5OSjdCWOjmvr2cb9mQg3F/sHPYa7z+4mjS+qUFYP/Z/Uwb3IDBC06Ttn1n0o36BNKl\nszhiYTWp0QvhjWJjuTRiMGrMZ3xaz5/gD76lev6aAMTExvDBoj48N2omNf7OSoY5C6BCBYsDFlaS\nGr0HsXudUPJzIT8/Mg8bSabNEfQ5mJnUdevTf0oL/rz2J2n80jC81STSLQqlX+WrXKpbnetv9YXo\naKc+0s7fn51zSyoZ6IXwFMWL83jEQcp2HMSQ/sv55OVAZu2agdaaWvlq8cGkIxTsEk3oirHEPPsM\nbN9udcTCS0jpRghPdOgQV9q24vCVXxjb5RkGvzKDwlkLo7Vm0vaJ7Pp8IONWKtK+2gM1dCikSWN1\nxCKZSI1eCDuJiyNuzGdcf38Yw6pp0vTuR0jVd0iXKh0Hzh6gx9fN+GTpVUpfzYzvzFlQpozVEYtk\nIDV6D2L3OqHklwx8ffF9qz/ptu5k2JlitOo1mQbDi7AyciXFsxVn5Vu7mfZuA94sfY4bdWrD4MFw\n/fojvbVH5Ocmds4tqWSgF8LTFS5Mmo1bKPbqIL7/4iI7+r9My3nNOX/tPJMaTqZyyERKvQbHwxaj\nn3sOdu+2OmLhYaR0I4Q3OXaMuE6v8PtfJ2lZ9zJNG4fQt2Jffv/7d1r9tyVtdsfRe+Gv+PTsBQMH\nQqpUVkcsXExKN0LYXcGC+K7/idzd+rNxmiLrpBkETShB5IVIwjtvJKpRVSq9no5L63+A8uVh3z6r\nIxYeQAZ6N7F7nVDys5CPD/Tqhe/2HXQ6lYON0+DjrzvRamErepfvzZsvfkaB/xxhfYMSUKMGfPgh\nxMbe8RYenZ+T7JxbUslAL4S3ypcPtWYNj3frww9fRdNr3T9UmFyWHad2sOLl7+mefTshH9Xm5rq1\nULEiHDxodcTCIkmu0SulPgYaANeB48ArWutLjmMDgU5AHNBba73qHq+XGr0QrhIVBV27cv3CeYZ3\nyMPU61voU6EPG05u4ErMZVZcbUqGYR9C//7w5pvg62t1xCKJknUevVLqBWCN1vqmUmoUgNY6RClV\nDPgWeA7ICfwIFNLa0Yv19utloBfClbSGqVPhnXc41bklXYoc5dClSC5FXyJr+qxsqvktWXsNMK2P\nZ8yAwoWtjlgkQbJejNVar04weG8F4ldQaAzM1Vrf0FpHAZFAuaR+jreye51Q8vNASkHXrrBzJ0/v\nPs6KcX+ysPB7lH26LMcuHGNo1AxYvRratSOsXDn47DOIi7M6apfzyu/OzVxVo+8ErHD8/DTwW4Jj\nv2HO7IUQySF3bvj+e+jVizLtB7Dq+PNEdT/K0OCh5kJujx4wcSIsXQrBwRAZaXXEws38HnRQKbUa\nyHGPQ+9orZc5njMIuK61/vYBb3XPGk3Hjh3JmzcvAP7+/gQFBREcHAzc/q3srdvx+zwlHskvheW3\nfj0EBhK8axd068YvFWfDgAEEv/qqSS5nTsKGDiV4716oUIGwNm2gSROCa9TwjPid2A4ODvaoeJzd\nDgsLY8aMGQC3xsvEcuqGKaVUR6ArUFNrHe3YFwKgtR7l2F4JDNFab73rtVKjFyI5aA1z5piLsF27\nmlYJCZugHT0KHTuafdOmQWCgZaGKh0vWGr1Sqg7QH2gcP8g7hAKtlVKplVKBQEFgW1I/x1vF/0a2\nK8nPiygFbdvCnj1w4ACUKUPYpEm3jxcqBBs2QP36UK4cTJ5sfjl4KVt9dy7iTI1+PPAYsFoptUsp\nNRFAa30QWAAcBL4HesipuxAeIEcOWLwY3n0XBg2Ct9+Gf/4xx3x94a23YP16c1ZfuzacPGltvMJl\npNeNECnR2bPQsyfs3WsG9uefv30sNhZGj4YxY2DUKOjUyfxVIDyC9KMXQiTOokXQqxe0agUffADp\n098+tm8fdOgATz0FU6ZATpk85wmkqZkHsXudUPLzbrfya97cDOjnzkHJkqZ0E69ECdi6FZ57DkqV\ngtmzvaJ2b/fvLilkoBcipXviCfjmG3MD1csvm5LOlSvmWKpUMHQorFxpyjlNm8KZM5aGKxJPSjdC\niNsuXoR+/WDdOvjqK6hV6/axmBgYNgy+/hrGjTPlHpHspEYvhHCNlSvh1VehTh34+GPInPn2sW3b\nTO2+RAlzh23WrNbFmQJJjd6D2L1OKPl5t4fmV6cO7N9vZtuUKGFaKsQrVw4iIkyrhZIlTSsFD2L3\n7y4pZKAXQtxbpkzw5ZcwfTq8/rq5e/avv8yxdOngk09gwQLT+rhdu9vHhMeR0o0Q4uGuXIF33jHT\nMSdOhMaNbx+7ehVCQmDJElPXr1vXujhTAKnRCyHca8MGcwNV2bIwfvyd9fl168yxmjXNDJ5MmayL\n08akRu9B7F4nlPy8W5Lzq1LF9MzJmdPU7v/739vHqlc3d9r6+pra/Zo1Lok1sez+3SWFDPRCiMRJ\nn97U55csgSFDoEWL23PrM2Y0df0vvzQ1/R49bs/JF5aR0o0QIumio2HECLOE4aefmhuu4vviXLwI\nb7wBGzeaC7pVqlgbq01IjV4IYY2dO019Plcu0+Y4IOD2sdBQeO01eOkleP99M2NHJJnU6D2I3euE\nkp93c3l+ZcrA9u1mjn2pUuYMP/5ErlEjU7v//XcoXdrccOVGdv/ukkIGeiGEa6RODe+9B2vXmhp9\n7doQFWWOZc0K8+aZFgqNGpl++DExloabkkjpRgjherGxZorlxx+bpmjdu5uFyQFOn4Zu3cwvgZkz\nISjIyki9jtTohRCe5cgRU7v39TXN0AoWNPu1Nm2P33rL9MMPCTGdMsVDSY3eg9i9Tij5ebdky69w\nYfjpJ9P3vmJFMzMnLs7MzGnf3vTM2bjRrHB18KBLPtLu311SyEAvhHAvX18zzXLrVli+3AzqBw6Y\nYwEBpmFa165QrZqZnx8XZ228NiSlGyFE8rl50/TDefddM/gPGHC7ZPPzz/DKK2agnzEDChSwNFRP\nJaUbIYRn8/ExF2IjImDTJrNMYUSEOZYvn+mX06IFVKgAEyaYXwzCaTLQu4nd64SSn3ezPL9cuUwZ\np18/0/t+0CBzl62PD/TpY+r2s2ebKZonTybqrS3PzQPJQC+EsEb8Bdm9e+HQIXOj1ebN5ljhwhAe\nbjphliljWihIqTfJpEYvhLCe1qYT5htvQOvWplVChgzm2N695hdCrlwwZQo89ZS1sVpMavRCCO+k\nFLRsCfv2wblzps3xunXmWMmSpm1CUJB5zJ9vbaxeSAZ6N7F7nVDy824em1/WrPDNN/D55+Ysvls3\nuHTJtFcYMQKWLTN32rZqBefP3/MtPDY3C8lAL4TwPA0amMXJtTYLnKxYYfbHL0yeM6c501+2zNo4\nvYTU6IUQnm3tWujSBSpVgrFj4YknzP716828+2rVzP7Mma2NM5lYUqNXSr2plLqplMqSYN9ApdQx\npdRhpVRtZz9DCJGC1ahhavdPPGHO7hcuNPurVTPLGqZObc7u1661Nk4P5tRAr5TKBbwAnEiwrxjQ\nCigG1AEmKqVSXInI7nVCyc+7eV1+GTKYs/aFC2HwYNM7548/bi9dOHmyqen37k3YypVWR+txnB2A\nPwPevmtfY2Cu1vqG1joKiATKOfk5Qghh+uTs2gVFisCzz5pWCVpD3bpmGuaFC6bMs2WL1ZF6lCTX\n6JVSjYFgrXVfpdQvQBmt9QWl1Hhgi9Z6juN5U4HvtdaL7nq91OiFEEm3a5dpgZw9uzmrz5PH7F+4\nEHr2NMcGD7bd0oUur9ErpVYrpfbd49EIGAgMSfj0B7yVjOhCCNcqVcrMr69WDcqWvd0bp0ULU7uf\nORPSpzdn+imc34MOaq1fuNd+pdQzQCCwR5kV3wOAnUqp8sDvQK4ETw9w7PuXjh07kjdvXgD8/f0J\nCgoiODgYuF1D9NbtsWPH2iofyc+z4pP8EmwPHEhYzpwwejTB8+YR1rUr5M4N33xD8LZtULMmYU2a\nQOvWBNesaX28idwOCwtjxowZALfGy0TTWjv9AH4Bsjh+LgbsBlJjfhkcx1Eiuus12s7WrVtndQhu\nJfl5N1vmFxen9bhxel2mTFqPHKn1jRtm/4kTWteooXXFilofPWptjC7gGDsTNUa7ZB69UupnoKzW\n+oJj+x2gExALvKG1/uEer9Gu+GwhhLhDVBS8+ir8+adZvjAoyJR0Jkwwi5MPG3bnGrZeRtaMFUII\nMDNxZs6Et982g/6770LatGYN2/btIVMmmDbNNErzMtLUzIPE19jsSvLzbnbOLywszDRJ69jxzhbI\nmzaZ9scbN0JwsGl/PHt2imh/LAO9EMK+cuSARYtMQ7QWLaB3b7PAyaBB8MMP8NFHZv+5c1ZH6lZS\nuhFCpAwXLsCbb5r2x19+Cf/5jxn033vPdMycPBkaNbI6yoeSGr0QQjzMqlWm/XG1avDZZ5AlC2zY\nAB06QPXqMGaMqeF7KKnRexA710BB8vN2ds7vobnVrm2apGXODMWLm5WtKlc2N1n5+ZkGaTb7/0cG\neiFEyvPYY2Zxk8WLYcgQaNoULl82JZ0JE+Dll02ZJzra6khdQko3QoiULSYGPvgAJk0y/9uli6nn\nd+8OBw+a+n2pUlZHeYvU6IUQIqn27TODfPr0ZhHyAgVgzhzo188sWj5ggCntWExq9B7EzjVQkPy8\nnZ3zS3JuJUqYufaNGkHFijB6NLRuDTt3mpk6VapAZKRLY00uMtALIUQ8X1/o2xe2b4c1a8watefO\nmZk6L71kfgF8+aXX3WQlpRshhLgXrWHWLNNGoWNHc9H2xAlo1870wJ86FZ56KtnDktKNEEK4ilJm\nbv3evWaAf/ZZOH0aNm827RNKlTJ33XoBGejdxM41UJD8vJ2d83N5btmzw7x55uaqDh3MbJy+fWHp\nUggJMfsuXXLtZ7qYDPRCCPEoGjaE/fshTRpzo9Wvv8Lu3WapwqAg+OknqyO8L6nRCyFEYm3aZKZi\nFixobrDaswe6djX1++HDzS8DN5EavRBCJIfnnzeLk5cubWr1UVFm++hRKF8eDhywOsI7yEDvJnau\ngYLk5+3snF+y5ZYmjZmJ89NPMHeuaaMwYgT06mX63Y8bZ1a28gAy0AshhDOKFjWDfXz3y19+MU3R\n5s6FunXh1CmrI5QavRBCuMypU6Zdwp49pna/aRNMnGj66DRr5pKPkF43QgjhCUJDoWdPqFEDXnzR\nrGxVvTqMHWs6ZzpBLsZ6EDvXQEHy83Z2zs8jcmvUyFyQffxx6NzZNEaLjTUXb7dvT/ZwZKAXQgh3\nyJjRrFa1fDlMmwYnT0L79lC/PowalawXaqV0I4QQ7hYba2r2I0aYG68OHDC/CGbNgpw5E/VWUroR\nQghP5OdnLtLu3g1//w3nz5sFT8qUMWf8biYDvZt4RJ3QjSQ/72bn/Dw6t4AA0wht/HgzQ0cpc4bf\nrx9cv+62j5WBXgghklv9+qZ807WraYc8ZgxUqGDq+G4gNXohhLDSzz9Dnz6wbJnZXr8eqla979Nl\nHr0QQnirtWuhZk3z86VLkCnTPZ+W7BdjlVK9lFKHlFL7lVIfJdg/UCl1TCl1WClV25nP8FYeXSd0\nAcnPu9k5P6/NrUYNM+Xy55/vO8gnVZIHeqVUdaARUFJr/QzwiWN/MaAVUAyoA0xUSqW4awG7d++2\nOgS3kvy8m53z8+rclILAQJe/rTMDcHdgpNb6BoDW+pxjf2Ngrtb6htY6CogEyjkVpRe6ePGi1SG4\nleTn3eycn51zSypnBvqCQFWl1BalVJhSqqxj/9PAbwme9xuQuDsChBBCuIzfgw4qpVYDOe5xaJDj\ntY9rrSsopZ4DFgD57vNWKe6qa1RUlNUhuJXk593snJ+dc0uqJM+6UUp9D4zSWq93bEcCFYAuAFrr\nUY79K4EhWuutd70+xQ3+QgjhComddfPAM/qHWArUANYrpQoBqbXW55VSocC3SqnPMCWbgsA2ZwMV\nQgiRNM4M9NOAaUqpfcB1oD2A1vqgUmoBcBCIBXrIhHkhhLCOZTdMCSGESB6WzG9PCTdaKaXeVErd\nVEplSbDPq/NTSn3s+N72KKUWK6UyJzjm1bnFU0rVceRwTCk1wOp4nKWUyqWUWqeUOuD499bbsT+L\nUmq1UuqoUmqVUsrf6lidoZTyVUrtUkotc2zbJj+llL9SaqHj395BpVT5ROentU7WB1AdWA2kcmw/\n6fjfYsBuIBWQFzP/3ie543NRjrmAlcAvQBa75Ae8EB8zMApzMd4WuTny8HXEnteRy26gqNVxOZlT\nDiDI8fNjwBGgKDAaeNuxf0D8d+mtD6AfMAcIdWzbJj9gJtDJ8bMfkDmx+VlxRp8SbrT6DHj7rn1e\nn5/WerXWOn5ZnK1AgONnr8/NoRwQqbWOcvz3OQ+Tm9fSWp/WWu92/HwFOISZJNEIM4Dg+N8m1kTo\nPKVUAFAPmArET/KwRX6Ov5qraK2nAWitY7XWl0hkflYM9La+0Uop1Rj4TWu9965DtsgvgU7ACsfP\ndsktJ/Brgm1vzeOelFJ5gVKYX9LZtdZnHIfOANktCssVxgD9gYRr89klv0DgnFJqulIqQin1lVIq\nA4nMz5lZN/dl9xutHpLfQCBhjfpB00g9Lr8H5PaO1jq+/jkIuK61/vYBb+VxuT0Cb4z5kSilHgMW\nAW9orS8rdfs/S6219tb7WpRSDYCzWutdSqngez3Hm/PDjJelgZ5a6+1KqbFASMInPEp+bhnotdYv\n3O+YUqo7sNjxvO2OC5ZZgd8xte14AY59Hud++SmlnsH8Bt7j+IcUAOxUSpXHS/J70HcHoJTqiPkz\nuWaC3V6R2yO4O49c3PmXildSSqXCDPKztdZLHbvPKKVyaK1PK6WeAs5aF6FTngcaKaXqAWmBTEqp\n2dgnv98wFYLtju2FmJPJ04nJz4rSTfyNViS80QoIBVorpVIrpQK5z41WnkxrvV9rnV1rHai1DsR8\nSaUdf2J5fX5KqTqYP5Eba62jExzy+twcdgAFlVJ5lVKpMV1YQy2OySnKnHF8DRzUWo9NcCgU6OD4\nuQPm36XX0Vq/o7XO5fj31hpYq7Vuh33yOw386hgrAWoBB4BlJCI/t5zRP0RKutHqVvw2yW88kBpY\n7fiLZbPWuodNckNrHauU6gn8gJmB87XW+pDFYTmrEtAW2KuU2uXYNxAza2qBUqozEAW0tCY8l4v/\n785O+fUC5jhOPo4Dr2D++3zk/OSGKSGEsLkUtyCIEEKkNDLQCyGEzclAL4QQNicDvRBC2JwM9EII\nYXMy0AshhM3JQC+EEDYnA70QQtjc/wERRARae4BthQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "i=1\n", "for k in range(3):\n", " ys=A.dot(ys)\n", " i+=1\n", " plt.plot(ys[0,:],ys[1,:], label=r'$A^{%d}x $'%(i))\n", "plt.legend()\n", "plt.grid()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## On peut d'ailleurs utiliser cette remarque pour calculer la plus grande valeur propre et le vecteur propre associe" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(-1.5, 1.0, -1.0, 1.0)" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x=np.array([-1.1,0])\n", "plt.plot(x[0],x[1], 'o')\n", "for k in range(20):\n", " x=A.dot(x)\n", " x=x/np.linalg.norm(x)\n", " plt.plot(x[0],x[1], 'o')\n", "plt.grid()\n", "plt.plot(xs[0,:],xs[1,:],'b', label=r'$||x||_2=1$')\n", "plt.axis('equal')" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nRK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Ainv = np.linalg.inv(A)\n", "valeurs_et_vecteurs_propres = np.linalg.eig(Ainv)\n", "v1 = valeurs_et_vecteurs_propres[1][0]\n", "v2 = valeurs_et_vecteurs_propres[1][1]\n", "ys = Ainv.dot(xs)\n", "plt.plot(xs[0,:],xs[1,:],'b')\n", "plt.plot(ys[0,:],ys[1,:], 'r')\n", "plt.plot(v1[0],v1[1],'go') #vecteur propre\n", "plt.plot(v2[0],v2[1],'go') #vecteur propre\n", "plt.title(r'Sphere unite et son image par $A^{-1}$')\n", "plt.axis('equal')\n", "plt.grid()" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nCOoiRVz0AAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "k=100\n", "cond_array = np.zeros(k)\n", "for n in range(2,k):\n", " A = np.diag(2*np.ones(n)) - np.diag(np.ones(n-1),-1) - np.diag(np.ones(n-1),1) \n", " cond_array[n] = np.linalg.cond(A)\n", "plt.plot(cond_array, label=r'$\\kappa_2(A_n)$')\n", "plt.plot(0.5*np.arange(2,k)**2)\n", "plt.grid()\n", "plt.xlabel('n: taille de la matrice')\n", "plt.title('Conditionnement de la matrice de differences finies en fonction de sa taille')\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.12" } }, "nbformat": 4, "nbformat_minor": 0 }