{ "cells": [ { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "application/javascript": "IPython.notebook.set_autosave_interval(300000)" }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Autosaving every 300 seconds\n" ] } ], "source": [ "from IPython.display import display, Latex\n", "from IPython.core.display import HTML\n", "%reset -f\n", "%matplotlib inline\n", "%autosave 300\n", "from matplotlib.pylab import *\n", "import sympy as sy\n", "sy.init_printing() " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercice Intégration\n", "\n", "On se donne une fonction $f$ de la boule unité $B$ de $\\mathbb R^3$ pour la norme Euclidienne définie par $$f(x,y,z) = x^2 + y^2 + a z^4,$$ où $a$ est un paramètre réel. Le but est de calculer l'intégrale de $f$ sur $B$.\n", "On introduit les coordonnées sphériques $(r,\\theta,\\phi)$ définies par $$x = r \\sin(\\theta) \\cos(\\phi), \\quad y = r \\sin(\\theta) \\sin(\\phi), \\quad z = r \\cos(\\theta),$$ où $r \\in [0,1]$, $\\theta \\in [0,\\pi]$ et $\\phi \\in [0,2\\pi]$. \n", "- Exercice 1\n", " - Calculer le Jacobien de ce changement de variable.\n", " - En déduire l'intégrale de $f$ sur $B$ en fonction de $a$.\n", "- Exercice 2\n", " - Intégrer $f$ sur le tétraèdre de sommets $(0,0,0)$, $(1,0,0)$, $(0,1,0)$ et $(0,0,1)$." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEwAAAAYCAYAAABQiBvKAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEHElEQVRYCd2Y7VEcMQyGlxsKOEIHRwd8VBCuAz4qADoIwz/+ZaADSAUkdBA6SHIdQAnkOiDvY2SPbuPdO+8CCacZn2RbkmVJlr238vT0VC0K5+fnQ/GeGf/I8JHGp4vqeO98q4UbuJBzTqKM6CvRv9Q24tiy40HhBo/lpF0ncyF6pLFNN7bUZKnDyK6f79EjCmosIQubn5MpcpgUXKv5eoUDHzQ2WdiKf8Ao+z5p2S6ngNODbIKVkqKfpERIEQZ8U9sS7Z3o2ebSkiXy1MFT0ddzBQoZpHNPIjvCp02imsMp6zZ/o35KAJubCgfbijIsLihhNkn96uUs04cubt8t678Ykp3oPRNuc9Z38eAQeD6rkQQJNH6pzonpqoodJkE2SDaM1ViItGWsE0j2ToJrwun27aQoL0RQucmzoDWZr4RD9ghzUnKXGDoCb5HDpBDHIHwlepMmmsg8qnUGM7SzfIvggXRnj7nZzlEMjqjpmEkA04GuYek7jFpDmoMTSNFrZEfS34WQTdSuhxbZM+bFR4YHwCFGfjDsEboOgsPESKYcqpE1HDU8TOaQovfqx5RdU78ITDdvN3RFgw41Tv1jHWoG+E79feFKGHu+qDH+VY0swAHAjtoP8VBb2mCsyeQMzyhZ7EAfe/SwbZ2co9E1HhgDGwjCwhw5ilzMmlzKmlg7MsP4OrhU40kCZqPBcaKJMMV+xkCNTWyco060CWSUpTCjE2e2AZu/b2A4tvG6QwkUMGPP81DQNVq1haNijKPoxU8dNpatAaZkHsLobekbqk0dM0Hx0FQDMXxXsiHzEBCNMyHJ2jbbsL1JL6cJ4AYNhP2QdVxkOYeha7SqHxST9gAejplVSTDRYbbwR/IcMxb6DS3MFX4ret5x8is1fVlgdxsQfB8kz8s+UwlgQjahD4eRwTnAicOBGIkYXiViQHTec6//L0cOB3GEON7UxHqGafhtQGtHRxM8DwfWacraEICBkyDtqSlNUXGsi5HShZMqYd5tG2or6pK1x6KJ8msCmR2dk1tnUhukhtc//TwLuh69w8iwW8/xAjROiQU2qJOjiCDrUN9eEzhCIWB+Ea3/V0JojKNIBtVvTS/K/ENwmARQTKunqRfoSlNY65GmX7+h6jysh5FdgQziCZIDAhbWM9soFR9FT3PMNkZpmVD0AZw184gLo/1/MICM4ghGbesieBawHhnIAzJkm/q8yY7UsIdx5qmvjFOMGY8XEYHgozrdoJrzcKPOzHehm2SN+DThRcDbM3czOpGKE3jS+d8Kr+l/peUEnkv7wvV6VWSy5MPpE94YFEm+P2aOWszIPtZT29BV/m9Fn1XfWlYZQTno+28K2YWO8NxY9gwjRtS4Pu8+ZFOWLnUNw1uAsoMs2RMu+cJAjr9/+DJJF8Ift3uBixItws4AAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle r^{2} \\sin{\\left(\\theta \\right)}$" ], "text/plain": [ " 2 \n", "r ⋅sin(θ)" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle a r^{4} \\cos^{4}{\\left(\\theta \\right)} + r^{2} \\sin^{2}{\\left(\\phi \\right)} \\sin^{2}{\\left(\\theta \\right)} + r^{2} \\sin^{2}{\\left(\\theta \\right)} \\cos^{2}{\\left(\\phi \\right)}$" ], "text/plain": [ " 4 4 2 2 2 2 2 2 \n", "a⋅r ⋅cos (θ) + r ⋅sin (φ)⋅sin (θ) + r ⋅sin (θ)⋅cos (φ)" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFgAAAArCAYAAAD8I09bAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFb0lEQVRoBe2b/5XUNhDH9+5dAQfp4NIB5Do4OoCkAqCD8Pjr7r880gFQQQIdQCoA0kHoILAdXD4fr+Uny7Ktvdsft47nPa2l0Uia+Xo0kmXv0fX19SJHV1dXD+A/5/o8Vz9FHraeYtfLyDbL7+B/jHhrZU8GpN9R9/dA/RSrXqUORVmAT0nvb2Lwca4Rnf2a40+Zh83PsO9Lxsan8GKvzoj0szoAM5ChYVmn/pbTq/kRkx5t2qwOwAzwCyC/2fRAB9DfJ3R8jO0fSMbeQK/IvA6Fda+tGEzHhobBzpBxQKdTrEQ67hvkWosj5TOEbPuV9C/JmKZBv3PdO6HHexOKPCZ9J/+Cq14t4K34S7kYg8aDaSQAS64CkKW6Y+ue1ElwHpIEU4XMP0QuBfcCvvHtBXUm23kjXVSGbhQiuyN00a4wewVRvVsLPTLypSIMGoBp4JYsdF71EP9QZ2z+xFWA3LZ4Q16TVwFB+mi+LlNcEWXr3JHYLr555r/CW64k9/+LLnqv+ui5wcZ/av6C69oYVCGChk75sdAgkPHdfES7ML3Pqeu7Od5xtzlpvd7RmnqU90Y1BvHs0z4B1znekq8ciPxaGBzTUE8UgNi7YPUTsmGnEYQewOvzxJ8Ram3UkdWrHfdD6OAOXHUEw1xD6KkD6M3qq0M0VIqBHqyh5zTwTsUkiGc136kcD26MjcGxjw7RRsVMsaxygr6gvgW8vH1Q0JPrMh0fnrYL9P2krgiDExprZMdQ+N/lczWYN0RZwAwp9xomGfgXpE4/tUw6O9xvVlONNk5DY3cqUzfd/oWxXdxNOlROD21ubEOmGIPjAfXtxJSS4OYWp84mXaWRVbHGw+EJqLPjM0ky1uWMWtXu7ldHqh6L4yHRTXvdqsU6FmNQLXJJhy52ARC90tDh7iEsaAIZhwubDy1WKu4i4R77B9IfJPtwiza670ZuJ4QuztanDKau36JBBb3x3ppfjMFR32laNMCcvQUCQyHiFt3OTQMCkwCYKWwoMy7eOZoEwKDatyDvHfCpALx3IPsUmAHuQ2ZD/BngDQHZ180McB8yG+If1D6YnYIPQa1DlxqHcE4QPyAEiHwMbz3uh4pdXI8uLy/z7+13MXo0BiAcRcW1srT18dtzhPC0uW77rWFwchvD1rLiDgtvE4M5Bm/5xs8AzwBvGYEtd79RDyaWec7bIni+jjprMSdQKLW1cx6cs70GKLyK97lfwDzPTc9J/4JnfXgxaF7ydf42aUnnpo1RDaBn4b4IzfVdZOsowDVgvnIPAC/Iuy3ylP8JKT5sD/tQPdk3ANb9hkxOQao2Q/Sf3ugbdUw/pzR8S9KOn0hDM6/I1lGAGcRjwGcMLqABzGDQS+oCj2z1bm1vm3oVuA1hn45Q6U/ety2dkBf1X/QAUxKDne4O3HhhrUg01pztQ2DUgwFTb03fIBsipMGPVVYi/+/fUYBTeAD8Ap4faWQ/taLekGIs8wWnMcwY7CyYHJXYWgwwnRmPBPecJGCfSSkJ7J/IVuGEqwD7bZev5kPcTtscarnI1hudpgGWIcItTLqL6ICFrF/1eBDjJ0gHQ+jrIudMvUe+cpgx5XO2lixynX7pyJ2Dg3Y+1OgIr7ZrAqw3T53cmrZsHQUYYPywL7ddCSHCsLFAxm1c7j8OAVSn1CRoHVtHAQYRQftCp2MAuTHPydwXVdpPaaErtrUEYEOBn9d7jclBpLB4+beBXJzVw4NM1WACP8W2lgDsd2itz08B0kVOb3WrFoD3a/fWvpiyC4V0iE93bjOlagauss1vsa1FuwiA0gtjkM4odw57kJMfPgxUsW+W4YebQPFuE7qG76S1WScytLl4ucY0X+mX2vofkks7awnDwZIAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle \\frac{4 \\pi a}{35} + \\frac{8 \\pi}{15}$" ], "text/plain": [ "4⋅π⋅a 8⋅π\n", "───── + ───\n", " 35 15" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "r,th,phi,a=sy.symbols('r theta phi a',real=True)\n", "x=r*sy.sin(th)*sy.cos(phi)\n", "y=r*sy.sin(th)*sy.sin(phi)\n", "z=r*sy.cos(th)\n", "J=sy.Matrix([[sy.diff(x,r),sy.diff(x,th),sy.diff(x,phi)],[sy.diff(y,r),sy.diff(y,th),sy.diff(y,phi)],[sy.diff(z,r),sy.diff(z,th),sy.diff(z,phi)]])\n", "chgt=sy.det(J).simplify()\n", "display(chgt)\n", "f=x**2+y**2+a*z**4\n", "display(f)\n", "I=sy.integrate(f*chgt,(r,0,1),(th,0,sy.pi),(phi,0,2*sy.pi))\n", "display(I)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Algèbre linéaire\n", "### Résolution de systèmes linéaires\n", "Pour éviter les calculs inutiles, on s'interdira de faire appel à la matrice inverse lorsque l'on résoudra un système linéaire. On utilisera plutôt la méthode de résolution par pivot de Gauss, qui correspond à la factorisation PLU de la matrice du système.\n", "On note $A$ la matrice carrée de taille $n$ du système, $b$ le vecteur colonne de taille $n$ du second membre, et $x$ le vecteur colonne de taille $n$ des inconnues. On cherche à résoudre le système linéaire $Ax = b$.\n", "La factorisation $P^TLU$ de $A$ est donnée par $PA = LU$, où $P$ est une matrice de permutation associée aux pivots utilisés, $L$ est une matrice triangulaire inférieure avec des uns sur la diagonale, et $U$ est une matrice triangulaire supérieure, celle obtenue à la fin du processus de transformation par méthode de pivot de Gauss. Si on dispose de la factorisation, on peut alors résoudre le système linéaire en trois étapes :\n", "1. On résout le système linéaire $Ly = P b$ pour $y$.\n", "2. On résout le système linéaire $Ux = y$ pour $x$.\n", "3. On a trouve la solution du système linéaire $Ax = b$.\n", "\n", "- Exercice 3\n", " - Expliquer pourquoi les étapes 1 et 2 sont simples à réaliser.\n", "\n", "On note que la méthode du pivot de Gauss suppose simplement que la matrice $A$ est inversible. \n", "La méthode de Gauss (sans pivot) revient à choisir $P=I$, mais cette factorisation n'est pas toujours possible pour conduire à des coefficients diagonaux non nuls dans $U$. Il faut que toutes les sous-matrices principales de $A$ soient inversibles. Lorsque c'est le cas, la factirisation LU existe et est unique.\n" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFgAAABLCAYAAAD010ABAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAGcUlEQVR4Ae2dX47VNhTGLyOeKzqVuoDLDgZYAdMdQHdQWELVp5m3iu4AuoIKdgA7mMIOYAGVOkJdQb9fyAmO49w4sZ00lS1lbB8n/uwvJ8d/cnLnztXV1cXhcHivIxTeXF9fPw0VVNkXBsTPR6WOIT5UdueuU/Cb0pzshk9upqaDDLwISH+Q7Alyl+CXYrwSGmDrlEicvfLLJUM0INg/L5jXxZiU1zoeKP05eFJmoXB4BH9uq32o+Ja85B9aWdFIOKalfwvovo4XkkUpo6vBo41UZfdU+LsOOkYHgzZH8uxB2GDxdPHYNUFpOvwemY53rbhIpPoZn35V/AYAxXBh2JMkn3HRVFCln3U81fFc5/4xdX7mcsgEtwtqB9rM08OTVCwI55kqv6e4IRcgpcEl/5L8VIgieKqSwuWXqv+jOobmuAHNpfMlnyZmUCEzdCP5ZaBNbvua9B4IhshPreYMOiCBT3zonKUybi5m0Q9mGig/GaJs8MkaCheK2LF5OIPtQeUhDUtuleqNuXHnU0B70OBBH9R5yMU02MxicE4GgZGHzR0LkzdhlwSrtwxurDJZHG0ZvpsC3x3BIpXRG5s8Zjqm+hxbHrK9dq1pN/Pik2FXBItUpk3nirs58cneJRQKw0xDyAyYzAa7UaTdEKwOs/S8r7jTXKWPHKO9Sy9gBhOq3zR4cpGzC4JFIoPaI8X+oAbppx7lVIqx9axc/fBAgg9qj2m5X97ll0zTzLBzFycBOqSFiVZD6eg7pf3VE5P9YgOd6n6lgz2PJzrcpfKPas/jmC5FEywAOkmwyfVrybBBbxUPdpSaM/P8eatqeEyxv34oMgf2QNBWNnceKWZQI36sfBT2HII72yeA1YI6wu7VZkH4PKW9vZA5jdmFDZ7Tof/auZXgwnekElwJLsxA4eqrBleCCzNQuPqqwZXgwgwUrr5qcCW4MAOFq5+zVD6qLbZkZD+UPGv0yS271D4IAyzbSWN3ix20VRxPUrGjCBYIhNIhI/igNFuFbPTgL9H5DUiWNahuyN3E8SQH9lkkG+xkPRMgpFowzf3FBIXizRxP1J9k7FiC2ZpjV4mjCSK7S5usUMz26FaOJ8nYsSYCbf3WJdDRZn8T3D0tRxrsixM3FPNVKiRjRxHst16d5c42j4/SJTfbD6p/bB+a10iUR218+32IyefAnkWwAOkU5LKrT8f+1LF6aNvhzixWa8Nc7LkEQ2qjMQJiwMONs+gsYoS5LR1PZmHHDnKDfopYpmYMdLybK2kHe9jCWsvxpIdLZgk2BH/T1mRxm/0aqWIGmcbmfZU2KTMRmI3iQW1YzfHE78xM7O/tegj+p81YbGVujJc35mA1TXXBSQsbk7S240nTjAXYfzUX6k+sicAU4GxH7IaHbcYWHW5ZtrRweXq2cDw5pGLHDnK2D9CRJmA0Co1+rrRPfHdeakJ1H1XHVo4nydhRBKuTeLjgReMuKgAv/hGKMLZ0PEnGjiIYLRS5mIGipgAcPwh3M8eTHNhnfodqPi8DleC8fA5qqwQPKMkrqATn5XNQWyV4QEleQSU4L5+D2irBA0ryCirBefkc1FYJHlCSV1AJzsvnoLY5S+WjrrZNH3bRbslrOdm84RjUnFkgHN4BEvgQZdavjjRXJfxJwY7SYAFALs4f7JxxNN+JScYe8WVC26MuFQb70TeKuaF8tsWNxumFdhUNqdhRBKsHyQ4YS1lQB3mLkfSrI1tixxKMlm7l/MFr+5AZupGcLVT2pEuFZOxYgtmm3O2vjiSwj2Ix1vjBPgKfNI93/StDeWnJJs4fkdp5HmpzqiwXdqwGD9qrBvCe7KjDZhaDczIIjLxTr6RKmYgs2IsJFnmzHDAykD1WhX2cPlZeUj6JvYhgae9azh8h+2eEmYYxLy4RsmDPJljkrub8ISwzDSEzYDIbcLKSnAt7FsEC3cL5gxnMMcCeaXDJF7HJ2NEEi9wLdXIL5w9svTm4uDw3q0lH09yyXOlk7CiC1Qk0CDBWVCyZu0Oy0o4n+B/fCpOnpwlKYx741ZGfvkjK/BVOMnbUPFjNT3bASKQAbV38qyNbYkcRrDu5mfMH5Aifwa77wimRsFmXp2JHmYhZLaon9xioBPfoyJ+pBOfntFdjJbhHR/5MJTg/p70a3VkEG+q9QmXqPyrxGfHy4mz0H5VwKgSzlh+bAhVZ5wP8Pwr2MjbYpX8BBdxtqC1mhrAAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}1 & 2 & 0\\\\3 & 2 & 2\\\\2 & 0 & 0\\end{matrix}\\right]$" ], "text/plain": [ "⎡1 2 0⎤\n", "⎢ ⎥\n", "⎢3 2 2⎥\n", "⎢ ⎥\n", "⎣2 0 0⎦" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFgAAABLCAYAAAD010ABAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEkklEQVR4Ae2d/00VQRDHwfi3IZpYAHYAWoHQgdiBWgb8Z7ADtQIDHWgHBjrAAkwkxAr8fuEGj3Xfu+Fm583dczY59vbn7Hxu3+zd7iRsHh4e7mxsbJzhqoXTo6Ojg1pB5t0QAJ8L3G3XeKBs82Gv4APuWbkffvQTeV8lcFzJ3UfeK+b3AX8E8QRaobUsC8w+leXIY9Y/gMt61TQa06Sc4NrF/VW1kkMmZMlM+YXun+E6Rt5KJoRFdn8GL8QCAVso/IzrEtdzXFWbg3yXAPlcI94jPqWAbjxniPdxuUJG/ybZDzREIOQK1wGud6j/RdOmVR3IfIu+thBfw2W/uOcvh+mPTHuFFrJVgL0UUPbLt5jzSt3vyNsDBP66vIJZ9hwA74EeTVMZxDSw3CuYZU8asHJ2Pvag20r2pAEDnMBb9rbiZSKayJ46YM3kfKKp5FRnUPbUAddsr7CSGcb3Yo/QRPakAcMOimmomQHJk8WuKeRWsicNuCP2DfF2hZ7MYJZ7BbPsOQDmZzm/Hsuwi4zz3kwry1ukzbLHABbDLjOohSIL+wBAbqZcIr7ePGFF3NM8vMb1hmmv0EK2ai+CCkAYnyaDvNifII/272s3kOtCpz+crdzceYGYixrjl0jXvvBQ1DSYZN8HMD8bQwJAcrHjPsjKg1X2GBOxciXnLDABOz+9BJyAnQk4d58zOAE7E3DuPmdwAnYm4Nx9zuAE7EzAuXv1pzLHgc/GMOePTv4OYu6JzMbpRQ0YcE0OGAQ0JkAud85m6/SissFQMtL5Y9ZOLyrAmEFmB4wxs3cCbcx6awFzD7h2CCjnYSxfx2DWexBwZwOH4K3kdGNoEC3LW+k9CBiDFnjc9F4UuBCtW2iitwawBpyc02nqrlOdQb01gGu2VyDJU/Zy/hA5EXETvQn4UTd6ie8oA1skpqFmBiRPFrs7beecMOr9VHQn4N9dQmIp68dmB4x+ZzO6H6v3T9FRYyJY1+yAIQJnFpv1VgHGzyXM+aN4ILKoiO0vitsmW+it3ovA0E0OGBbVoehsnV7UgDujH+X8MVunF5WJsMy+/71tAnaeAQk4ATsTcO4+Z3ACdibg3H3O4ATsTMC5+5zBCdiZgHP36k9ljgOfy2GOJ5GyO913EN/b6UUNGAqGOJ50yoXIhs48UDA5vahsMARFOp5EyjY7vagA4ymaHTA4E0eGSNkjh/y3mRbwHprUDgHlLI7lXiFStlmnQcCdHRoS5HLCECl7SGFt+SBgdCTw5HS51recLtfKLHmRsi3jvm2rAXxbecmNnJUtqeJWFCl7UCkN4JrtlY5lhnk5nkTKFh1N8SBg2EExDTUzIHmy2JkGUzaOlF2OZWx6EHDX8VgHjLHj6reLlN0fx6h7LWCzA8ao0d00ipRtGPZNUxVg/FTDHE8iZRd0ZTGVdacorifVexFoHuZ4EikbD9jk9KIG3C04UY4nXGijZJucXlQmoj75M1dDIAFrKBnqJGADPE3TBKyhZKiTgA3wNE37bxEXeFMo2+Q/KimJFGkwW/iPSliVgLmPsOgVyGWPgYLXKMhBcFWlP/gz38bXcncWAAAAAElFTkSuQmCC", "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}1 & 0 & 0\\\\0 & 1 & 0\\\\0 & 0 & 1\\end{matrix}\\right]$" ], "text/plain": [ "⎡1 0 0⎤\n", "⎢ ⎥\n", "⎢0 1 0⎥\n", "⎢ ⎥\n", "⎣0 0 1⎦" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFgAAABLCAYAAAD010ABAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFbklEQVR4Ae2dUZITNxCGTSrPFCFVOYC5wZI9QZYbZLkBcAMonnbfUnCDDSeg4AZwg2T3BnAAqrJF5QT83zC9aMcau21Njz22ukorjSSrrW/aPRpN23vn7OzsaDabXSrl5P35+flprqHWfScgPp9Umud4qO3Oz0nDa5XpnMrn9KCWswReZWofqe5P6lPAFyJegWZoLasSs7+77aqjagFwt1/2WC/GpbxTeqjy12yngErpMkv5T8M/UHqlulEMokR3asG9WKTgnhrfKF0r/a6U9TmqDxHp5xrxl/L3KGjfz6XyR0qhkDV+ke6fPESk5KvSqdIz9X/rec1QfaTzqca6p7yBy7gq88nh+ILjKBlCtwtw1ASc47KKucr0/Ud1J4LApytKinVPAfCJ6OGaumKugfYoKda904Cd1nk/gu5QuncasMAZvGWrlSgXMYjuXQfsMc5fPZ2C+qzUveuAc77XWJmFsS6OkEF07zRg+UFzDTk3YHV2sRsU8lC6dxpwS+yj8nmGnlkw7VFSrHsKgLkt5+6xKw9VcZVYWrd9iONi3ZsANsduFjTERHrHEEA2U66VN5sndFQZ9/BY6QnHUTKEbtdeBBOQMs4mYgv7d6rD/31o30jTGPQHa2Vz51g5FzXyP3Scu8NT06BSpHsdwNw2bkUEkosd+yCjS6nuTVzE6JOcssIKOPjsVcAVcDCB4OGrBVfAwQSCh68WXAEHEwgevlpwBRxMIHj4dW6V53ovdrvKZgvH7A9Ebhfemr50HamCPZHJBL24AGtiAH2h3ADPVGZ3i40e4iVuYhZUN6hobHRPNujF64MJ/njaQjWAZrkvrSIil85JB714AbMtyI4WqREmbuU9zosDT7wuAmv9JQWZWHNo+FKqcwvlE+lciJ5UnT0HpH2pe/Ra8K25CS4DE+34TOXcG7jVf4oHmhe+f5WsfKrjsmDTIqVcxYHLEwXcxr9K+yoGb5krXHkS1gUM1OYxjWCziiCENHQVseNnz55P9r7NjVwEowksvoezy7O5lWeS10xMrpe8X7PulUEvAL7bDmT5wrgCeERaaPjhInAbeyWar7mGnPFYnV3sunP/zSoA/H97YLm1pTlR3rgDGzht2+fypoEnXwyK10VwNvlKF3kqFhBiNx1p2z6URws8eSFaH1Jigs1FDotmqdYFn3YdsmwXFfOBQ469MJbmVRz04lpFoEiJcP30pmKud8SXUMKtVzomG/TiAsypbUGGw1wwo++6Jxv04vXBuXnXOgeBCtgBqaRLBVxCz/HaCtgBqaRLBVxCz/HaCtgBqaRLBVxCz/HaCtgBqaRLBVxCz/HaCtgBqaTLOrfKcyli0wdhF40NaWIlrqgYQ6SLPenRA0+Y26a6XYA1OHD5TR9+7KcRlXnoab86ErZHIT3s2G0l8GQI3S7AmmDzBLkh2/6RcqyXgBQs6tYj/bRfaVk62AptNntUfq4yVjyKDKHb64NPNKNPUog1pYLl8nMvWHiVDAEvYEB+bs9oZphm4z1Xf/B1LhchsH37sc3HVe2jXeimdsa8FrwwL0EFLq7BVhYLfWrFbLYxYMHj4saDUH6SsUoPgY0ACyrP5vDJfa6jR93hVa8NWFBZmt1XfrMmPjxs/hmvBVhQeVT/ILVcleckv8rD6ukGLIhc1I6Vdy9qQOe2uUqGgHeZhoVyUfsowGlsBEMSLzHWhS4NPBkr2IU5IhvpdgHW4ET1ABn/25XwNbBOICcX4Y4SGe3XVkp1uwBLCb/XuzWR/q2tVkp1u33w1uhOXHEFHHwCK+AKOJhA8PDVgoMBp6sINtS76uo/KukS6RyLWe8/KqErgPkix82XvKlMpO9LHkmXgy/yOK1XvgGmM9sh7RKzXwAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}1 & 0 & 0\\\\3 & 1 & 0\\\\2 & 1 & 1\\end{matrix}\\right]$" ], "text/plain": [ "⎡1 0 0⎤\n", "⎢ ⎥\n", "⎢3 1 0⎥\n", "⎢ ⎥\n", "⎣2 1 1⎦" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}1 & 2 & 0\\\\0 & -4 & 2\\\\0 & 0 & -2\\end{matrix}\\right]$" ], "text/plain": [ "⎡1 2 0 ⎤\n", "⎢ ⎥\n", "⎢0 -4 2 ⎥\n", "⎢ ⎥\n", "⎣0 0 -2⎦" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}1 & 2 & 0\\\\3 & 2 & 2\\\\2 & 0 & 0\\end{matrix}\\right]$" ], "text/plain": [ "⎡1 2 0⎤\n", "⎢ ⎥\n", "⎢3 2 2⎥\n", "⎢ ⎥\n", "⎣2 0 0⎦" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "A=sy.Matrix([[1, 2, 0],[3, 2, 2],[2, 0, 0]])\n", "\n", "display(A)\n", "L,U,perm=A.LUdecomposition()\n", "P = sy.eye(A.rows).permuteFwd(perm)\n", "display(P)\n", "display(L)\n", "display(U)\n", "display(L*U)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On peut utiliser la méthode sympy LUsolve pour résoudre un système linéaire par pivot de Gauss qui s'appuie sur la décomposition précédente. \n", "Il existe d'autres décomposition ($LDL^T$ pour les matrices symétriques réelles,QR, etc.) qui peuvent être utilisées pour résoudre des systèmes linéaires et peuvent faire l'objet d'approfondissement.\n" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAC0AAABMCAYAAAD5sj5lAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADc0lEQVRoBe2b3W3UQBRGd1GeUcQDBTgdkBJYOiB0wKYDIt72DYUOQg0pASoA0kFSABJSRAPL+bwzq9mRHdvrz0ZGHsk7f97rM9d378zcTJbb7XbhTJvN5hR577guKZ87ZUdZJwh+ReVnbMjyW/ovsrbaapC1CjcI/qiEnHu+WFR9mb7lSdLxmbJuTtNDWmkqI/COe+7I3zbd29B/XdH/hrZSbgp9w8M6QVYItjTB8SUXRJuaSuhneecU6jP0WG9p1vRYmk69R+9n8guXb73kWnEV1OW6fpPLndqSG1ou88pGVyNotukaxdibbeaB3TauvLhn6RiBE9oC1GZQk7Rpm6alIV6/lqMfg7bk/pTe0/64K3o+rdAgXQMoP10myjcUtFY/27V4Pt3msQZ0laBpctEko42GLbmhpeUfNroaQVbzQKP54l2DeKBdOxpbcmt6DxZMQjsN++Z2EGiAC2Blz+eUrZ5DWrGahwQG4CtybURjXblt/2mFBkwalpsTdPQYsmvrys8KDZx8siaYgzgKA9j7bvp6Jzf0a4hWgUoRJuukEkdrhQbSFayJfJX5IN6j8knGxhnaqMwnRc2aflI9xs5Jatrt8goUqolEvnoO1qTWNUnzmCS0bPp5UH3M0zfRuswUPnSw5mWEEfSfUIl57OuUAz10sOZXBJqkeQwKjfYP1tVRU33zwaAB/gBc3L305Tz4/iDQAGtyse0JD4ip2KEB1nZLGv6aP8xVt0MDtgbc+jeWfLBWaGAVnLnNH+Ku26ABLoB7QT6YLcfBa3JxJdnyGdDxBIHqi1D/Tm57AzZooMqdeNQAdWl+zfWJ8mNsd+Q280hhgBRs1LgC7eWRB91D+VT9XEdPPDZNZ9AK+eZhXwHLFcqHK5Xmsyt2+xwEug4BaEswZxDzqIN2tc/QLk02yZk13aQhV/8kNT22yyvQdu9gztjQlpM3kzSPSUK3Mg+mX60TvnF1WS9chGm7dBqUbcGcttBaWvb6czHQtmDO/2se5fs1fAQz633yppV5GHijCMvJm7HNQzuWVRwB+VEnb8aG1mzY++TNqOaBlvMtmAbR+eTN2JreWwYD0H7xqJM3/wQa4ALgo0/ejGoeUnMA7nXyJoW+R6DkpqnTP+ekX6wqB+DGkzfcV/vPOZIraC0X9YOoSu64XNuTNzHQU8W0+As+iv78TrPdPQAAAABJRU5ErkJggg==", "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}\\frac{1}{2}\\\\\\frac{1}{4}\\\\- \\frac{1}{2}\\end{matrix}\\right]$" ], "text/plain": [ "⎡1/2 ⎤\n", "⎢ ⎥\n", "⎢1/4 ⎥\n", "⎢ ⎥\n", "⎣-1/2⎦" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABoAAABLCAYAAABumJecAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABi0lEQVRYCe1Z0U3EMAzNIb4RAokBGAEYATaAGdiA3/YXNgBGODZgBka4G4APhJiA90Ic+XI5NS79OFW2FNmxHbt5dd2oXXRddxFC+MCo0Vvf93c1Q6mD3wq681LPOWyLQ2V4gkxnTWs9GZAfK/Yb6G6p14mekdkSeCMu1r5sKDCBjqqtRFQOEhYT6iXGJeTvwQXJQe9o5xoEPIbxFeML4wqjei+g30mtiXjlsSiQ9AEyd2WiA5P3P5w90WjwHDqHLiMwphhO0+qTHKVBaGpBjIPWw0ZKuv5jYQkdu/07+FbnTj6ZWRI1vQBz5EIYA10Rom3qidpwqng5dBVQ2lQOXRtOFa/mFiRr0df8ABnB8KqTmjBzh84MmSwgdEdpIlxsU/AzCcJEP2kiXGxT8E8JstfF4AfIeJv2+h5JIZm478gEl3Z26DQaJnl+0PkBMuBI7F8g42Mwv/L2HZn6m3Z26IiGHyBjTXgx6EfDJM8POn1mWOHtWcIxyQ9fBmUifo2/56RClv+ytR++OeQv+HNn92+gknEAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}1\\\\1\\\\1\\end{matrix}\\right]$" ], "text/plain": [ "⎡1⎤\n", "⎢ ⎥\n", "⎢1⎥\n", "⎢ ⎥\n", "⎣1⎦" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "b=sy.ones(3,1)\n", "x=A.LUsolve(b)\n", "display(x)\n", "display(A*x)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Exercice 4\n", " - Résoudre le système linéaire suivant par pivot de Gauss : $$\\begin{pmatrix} 11 & 2 & 3 \\\\ 4 & 15 & 6 \\\\ 7 & 8 & 19 \\end{pmatrix} \\begin{pmatrix} x \\\\ y \\\\ z \\end{pmatrix} = \\begin{pmatrix} 1 \\\\ 2 \\\\ 3 \\end{pmatrix}.$$\n", " - Vérifier la solution en calculant le produit de la matrice du système par la solution trouvée.\n", " - Expliciter $P$, $L$ et $U$ et vérifier que $PA = LU$.\n", "- Exercice 5\n", " -\n", "Soit la matrice $A = \\begin{pmatrix} 1 & 2 & 0 \\\\ 3 & 2+b & 2 \\\\ 2 & 0 & a \\end{pmatrix}$, où $a$ et $b$ sont des paramètres réels. \n", " - Pour quelles valeurs de $a$ et $b$ la matrice $A$ est-elle inversible ?\n", " - Lorsqu'elle n'est pas inversible, calculer le noyau de $A$.\n", " - Calculer la factorisation PLU de $A$.\n", " - Résoudre lorsque c'est possible le système linéaire $Ax = y$ pour $y = \\begin{pmatrix} 1 \\\\ 2 \\\\ 3 \\end{pmatrix}$.\n", " - Vérifier la solution en calculant le produit de la matrice du système par la solution trouvée." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Polynôme caractéristique\n", "On peut calcler en sympy un polynôme caractéristique d'une matrice carrée $A$ en utilisant la méthode charpoly. On pourra chercher les zéros de ce polynôme pour obtenir les valeurs propres de $A$. On pourra vérifier que les valeurs propres trouvées sont bien solutions celles trouvées par la méthode eigenvals.\n" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAATMAAAAmCAYAAACoNHzCAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAJaElEQVR4Ae2d2ZEURxCGh401YLVYoMUDDgsAD0BYAHiAgjfeCPAAYQECD0AWCPAAZAGwHqz+r6eyo6u7pqev6WuyImqqus7MP7Oyjj7m2tXV1WaXe/HixTPlPZV/qPjXXeU83RFwBByBQyEg2/NEbf8p/0rxv3b1cy1lzFThQhU+yl/KY8i+72rA0x0BR8ARODQCskH31McbeWzSXV0TRq5izIIh+6JSnxR/GJX2C0fAEXAEJkJA9uhMXWObNorfKJNxUk7Q9St5Kj1O5HmSI+AIOAKTICADxmqMY68Lxdl6Ri5lzG6qxNdQMSrsF46AI+AITImA7NIn9Y9Ru1Wm47ScoOtzeT/sTwCzxiQpB5NXtnQfkj+1e23I9ubeluM4uoSwU5FLGbOogF+sHgGOFW5pMPoE1k/UjmM//HrXTm0zezfqDSwDgbCa2Lgh6ycvx7EffkPVdmM2FJLLbOe5yGZF4a4fAo5jP/wGqe3GbBAYl9eIVhMXopq7QhyouuuIgOPYEbgDVOt9ZhaW2O9FG+cu3GWoOKXb7P9DmTwfwpO8B30QtwldFUI7JBR4s9rvlLaE8yeeqMbnTnRj4CzttuI/uU7xozQeYDTHYexjpSXlb4WGCNUHNyxq9W2Iflq0sUgc6/gTxjZerdhBdXoomXYyZur8TFy+lUfZUXoGQdKpLHfKXir8QIFQ94vC+/KDGrTQdiO6ksS2SFRf8MygYrBnqxuFXOMrD/QpbTYu4HRbIc/sZE5x+Hmj8H5I2iiOUpusjEdkj0wp+5qyCjEw/ylkQhtUpqH9xvpG+bGceIWuxeC4DxfxM5pOB+wGHasn+xhM5YuQS3lec2IwvEuVIU35PNh2pjAzZCHtUiHXxZmdrN5O/TSiq3dH2wYwWsxYxW0ayj34YB6I3mIzGKmXxQTFScuNG3nijVUH8oJXcyjgufIyQ0ai4qxEP8sPLtPQ/phypcumbnY4Shb35CsPlDZkaDSdFo2Dy7STMWsIDMV4HSq15fpX6YDO4F+cE90PRDSrkeilV6Wz2sxXNnNkLGAO9vkEE+i8p/BbyC+SjrFmQroIifCeMtjIebEyDbw1DmaMI2Oq9bgSP4vVaRNaypi1BsIaS4QMELaiZWeDgfwlOlYwzCyXCyR+1503jNb3Gp4waKYbKZlyHorj2OEY3NpwXJJOo382uea6Fp2ZSVlZbeA+boPuvwXFr2vkvC6TPLXzTQEvvUdboH31DpzPgGXgg9cjebux8V5pxW3ngcmIm1ffzK4Y2ToaHii/cqantF0fFch0QvmsvDYKCVJyu06GXEXJtsnxr9qZo1wzIkXbYnCMUe11NYhOjyRXdhXP1BcTbL6gKK/MOA/hvcxo+9QRIlP4vLNEOzbTJ7KygUM+gwOg5+SMbg5/uQHwWh5jizFjIIzu1C/fnkN+nOMkXSjT+FxL5TFk4G93OGkXRUoZrMzoKc+woWzSqd25ynUTMFoEjklwuyea3Drr9FhyVT/oI7u74lnuJjNmECFvq7G73fFoXdNm82RF0XSpjN8UVl4qTVYYIRGsQjc3FS8b/b+V97ZQZgSKMqOPIYEWPHSZYSn3/1R5+cF9OTNxjbJ8KNXJvqaitPyIIPSHrHB2hLC9Svyq/OzkCpmBj8XgmIC2U5L4HkSnR5YrNoEbUR+N/lNFUEpm6/xWeydEqpVS5ypW6jxE7JzF0ithAKiSPoOE1KDlkQXuJLGSTG71AvD/KN8USNG9rvZLv2rTtoAv1RIrNM5zom2jykBXm1UZZdlKl9thG/u78nhWEKPJhMQNHTyr0hQuSo6d6prxizMmvBJNi8FRtCKffEIpwJaNLeWnjmXYdUXyLNQjmpLdXp0utqH2R5Fr6IdHgdDrXwpvnQYGIOCGEqI9aJHItnE6k6daatBaWgq8tl2NWr7AV53QUtuwjE7qK3KQlWagjZXFE8V5ur+IL0vzRv2qHgrCrJe8M6t0eIgGi9Jse1vsU8WW5+BPftY4ir4If0NZ6UwoyL7xClxlbax20mnre+ww8IpeZw92nyiB2RclhxEefNy1RelCK6uT1MC2lVly9dKlo5HrQPdZTZ9TDmgzKvk5VxA628U6Zc3YCWWZ2PIZXHEGR0qORQjQG27U7O2jWGnG8WPDcc46XVET6Rny4WyTXUtmuLMzM0oqAeWHIbZAQznOXNhylR3Gc9IPQIrfOmNUprd8zRI/NbizSUFtT2ak1TeGlP5ZnRmPz3XNFrTWqTwG6Y7C3BCGCsz22bGB8rgbyrLe2t6EOFuecr1QfbygSFefXtXOseE4W50uy1GyQdc4TomOX3JjFiqgjGw1KdjUXQ8FbbWV11M7LNV/KmQwZE5xBsEf8tlB8jY1/UtZ+St59u1tXR1d0MCA7NLuRvW4o8cqxGZv0hrz1ZaRDuWNLgwa2H9WeFnXjvIxzkw+YM75ae6Vxo0Dq0+58nko9SiTnTkpXutUbpZyTRA9axwT9HZOkkx663QPue4cqzsYwk6xo4wWDak/NPmlgnv/zEQNocA4rCQDGUVmNuPuAkYsczCoCErBYPghf0eedzWbKn6r55Fa0EW7uJ0vyG+zd/+qL/iCPxzGvDFfWY0D/og2DDWGB5kwgxHudMoHD8qnHKtoVp2ZU9wGufHe+vm60F/j5wdVvqm+9Zar8UmofmeNY5HWQC+TV6szs2Ib4reXTqt+4/Gqso1kWqQv8IiNYoKOznQ7G7NyB0u8FhgIfk3nPLkYAm8oC2dl+flXXmDFkSHlujQcA72djdkS1EI8Jo3ZyRKIPyCNnA+xYlydE19sG1j9Tn6ONQG4g8l1gTiiz6vU6ZIeVXg8LRU4mksp6ZmYZdu7Wice863hapksMXYIuS4JR9EanSOV4Fn15TGvzDgcb/wszqq1YF3MuVzXJc/G3BytMXND1lhHFlXQ5boocQ1K7NEas0FR9MYcAUdgcgTcmE0uAifAEXAEhkDAjdkQKHobjoAjMDkCKWP2U1Rxp8+dI+AIOAKLQSBlzHh+o/Jq0mI4ckIdAUdgtQjoBg8LLTyLrsiljBnPqfCBv4uopF84Ao6AIzA9Anw0AWev1G2v9JsyZnxdwd6x9O1mDpVHHAFHYEoEtMDiAxj2tYzKu8aVdzMhNizleK/vtjwfPstfHCffnSPgCDgCYyEg+8Onqeyl9OizP0UaksbMCqgRXsR+JD+br0EYbR46Ao7AcSAQjBlfPq59Vet/p2uQr0LxhicAAAAASUVORK5CYII=", "text/latex": [ "$\\displaystyle \\left\\{ 10 : 1, \\ 6 - \\sqrt{29} : 1, \\ \\sqrt{29} + 6 : 1\\right\\}$" ], "text/plain": [ "{10: 1, 6 - √29: 1, √29 + 6: 1}" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "A=sy.Matrix([[10, 3, 0],[3, 2, 2],[0, 2, 10]])\n", "lmbda = sy.symbols('lambda')\n", "char_poly = A.charpoly(lmbda) # Polynôme caractéristique\n", "p_expr = char_poly.as_expr() # Forme symbolique du polynôme\n", "sy.plot(p_expr,(lmbda,-5,20))\n", "display(sy.roots(p_expr))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Exercice 6\n", " - Calculer le polynôme caractéristique de la matrice $A = \\begin{pmatrix} 1 & 2 & 0 \\\\ 3 & 2 & 2 \\\\ 2 & 0 & 1 \\end{pmatrix}$.\n", " - Calculer les valeurs propres de $A$ comme racine du polynôme caractéristique.\n", " - Vérifier les valeurs propres en utilisant la méthode eigenvals." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Matrices monotones\n", "- Exercice 7\n", "\n", "Soit la matrice réelle $A$ de taille $10\\times 10$ constituée de $3$ sur la diagonale principale et de $-1$ sur la première diagonale supérieure et la première diagonale inférieure.\n", "- Renseigner cette matrice avec la librairie sympy et calculer son inverse. \n", "- Qu'observe-t-on sur le signe des éléments de la matrice inverse? \n", "- Démontrer mathématiquement, dans une cellule Markdown, ce que vous avez observer. Indication : \n", " - vérifier que cela revient à montrer que pour tout $x\\in \\R^{10}$ tel que $Ax\\ge 0$ (au sens del'inégalité pour chaque composante) alors $x\\ge 0$\n", " - travailler alors sur la relation $(Ax)_i$ où $i$ est l'indice de ligne telle que $x_i$ est minimal pour en déduire que $x_i\\ge 0$.\n", "- Calculer les valeurs propres de $A$ et observer que celles-ci sont réelles et strictement positives.\n", "- Montrer que la matrice $A$ est inversible et que ses valeurs propres sont réelles et strictement positives." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}3 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\\\-1.0 & 3 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\\\0 & -1.0 & 3 & -1 & 0 & 0 & 0 & 0 & 0 & 0\\\\0 & 0 & -1.0 & 3 & -1 & 0 & 0 & 0 & 0 & 0\\\\0 & 0 & 0 & -1.0 & 3 & -1 & 0 & 0 & 0 & 0\\\\0 & 0 & 0 & 0 & -1.0 & 3 & -1 & 0 & 0 & 0\\\\0 & 0 & 0 & 0 & 0 & -1.0 & 3 & -1 & 0 & 0\\\\0 & 0 & 0 & 0 & 0 & 0 & -1.0 & 3 & -1 & 0\\\\0 & 0 & 0 & 0 & 0 & 0 & 0 & -1.0 & 3 & -1\\\\0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1.0 & 3\\end{matrix}\\right]$" ], "text/plain": [ "Matrix([\n", "[ 3, -1, 0, 0, 0, 0, 0, 0, 0, 0],\n", "[-1.0, 3, -1, 0, 0, 0, 0, 0, 0, 0],\n", "[ 0, -1.0, 3, -1, 0, 0, 0, 0, 0, 0],\n", "[ 0, 0, -1.0, 3, -1, 0, 0, 0, 0, 0],\n", "[ 0, 0, 0, -1.0, 3, -1, 0, 0, 0, 0],\n", "[ 0, 0, 0, 0, -1.0, 3, -1, 0, 0, 0],\n", "[ 0, 0, 0, 0, 0, -1.0, 3, -1, 0, 0],\n", "[ 0, 0, 0, 0, 0, 0, -1.0, 3, -1, 0],\n", "[ 0, 0, 0, 0, 0, 0, 0, -1.0, 3, -1],\n", "[ 0, 0, 0, 0, 0, 0, 0, 0, -1.0, 3]])" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}0.381966009824403 & 0.145898029473209 & 0.0557280785952233 & 0.0212862063124612 & 0.00813054034216024 & 0.00310541471401954 & 0.00118570379989837 & 0.000451696685675569 & 0.000169386257128338 & 5.64620857094461 \\cdot 10^{-5}\\\\0.145898029473209 & 0.437694088419626 & 0.16718423578567 & 0.0638586189373836 & 0.0243916210264807 & 0.00931624414205861 & 0.00355711139969511 & 0.00135509005702671 & 0.000508158771385015 & 0.000169386257128338\\\\0.0557280785952233 & 0.16718423578567 & 0.445824628761786 & 0.170289650499689 & 0.0650443227372819 & 0.0248433177121563 & 0.00948563039918695 & 0.00361357348540455 & 0.00135509005702671 & 0.000451696685675569\\\\0.0212862063124612 & 0.0638586189373836 & 0.170289650499689 & 0.447010332561685 & 0.170741347185365 & 0.0652137089944103 & 0.0248997797978657 & 0.00948563039918695 & 0.0035571113996951 & 0.00118570379989837\\\\0.00813054034216024 & 0.0243916210264807 & 0.0650443227372819 & 0.170741347185365 & 0.447179718818813 & 0.170797809271074 & 0.0652137089944103 & 0.0248433177121563 & 0.00931624414205861 & 0.00310541471401954\\\\0.00310541471401954 & 0.00931624414205861 & 0.0248433177121563 & 0.0652137089944102 & 0.170797809271074 & 0.447179718818813 & 0.170741347185365 & 0.0650443227372819 & 0.0243916210264807 & 0.00813054034216024\\\\0.00118570379989837 & 0.0035571113996951 & 0.00948563039918695 & 0.0248997797978657 & 0.0652137089944103 & 0.170741347185365 & 0.447010332561685 & 0.170289650499689 & 0.0638586189373836 & 0.0212862063124612\\\\0.000451696685675569 & 0.00135509005702671 & 0.00361357348540455 & 0.00948563039918695 & 0.0248433177121563 & 0.0650443227372819 & 0.170289650499689 & 0.445824628761786 & 0.16718423578567 & 0.0557280785952233\\\\0.000169386257128338 & 0.000508158771385015 & 0.00135509005702671 & 0.0035571113996951 & 0.00931624414205861 & 0.0243916210264807 & 0.0638586189373836 & 0.16718423578567 & 0.437694088419626 & 0.145898029473209\\\\5.64620857094461 \\cdot 10^{-5} & 0.000169386257128338 & 0.000451696685675569 & 0.00118570379989837 & 0.00310541471401954 & 0.00813054034216024 & 0.0212862063124612 & 0.0557280785952233 & 0.145898029473209 & 0.381966009824403\\end{matrix}\\right]$" ], "text/plain": [ "Matrix([\n", "[ 0.381966009824403, 0.145898029473209, 0.0557280785952233, 0.0212862063124612, 0.00813054034216024, 0.00310541471401954, 0.00118570379989837, 0.000451696685675569, 0.000169386257128338, 5.64620857094461e-5],\n", "[ 0.145898029473209, 0.437694088419626, 0.16718423578567, 0.0638586189373836, 0.0243916210264807, 0.00931624414205861, 0.00355711139969511, 0.00135509005702671, 0.000508158771385015, 0.000169386257128338],\n", "[ 0.0557280785952233, 0.16718423578567, 0.445824628761786, 0.170289650499689, 0.0650443227372819, 0.0248433177121563, 0.00948563039918695, 0.00361357348540455, 0.00135509005702671, 0.000451696685675569],\n", "[ 0.0212862063124612, 0.0638586189373836, 0.170289650499689, 0.447010332561685, 0.170741347185365, 0.0652137089944103, 0.0248997797978657, 0.00948563039918695, 0.0035571113996951, 0.00118570379989837],\n", "[ 0.00813054034216024, 0.0243916210264807, 0.0650443227372819, 0.170741347185365, 0.447179718818813, 0.170797809271074, 0.0652137089944103, 0.0248433177121563, 0.00931624414205861, 0.00310541471401954],\n", "[ 0.00310541471401954, 0.00931624414205861, 0.0248433177121563, 0.0652137089944102, 0.170797809271074, 0.447179718818813, 0.170741347185365, 0.0650443227372819, 0.0243916210264807, 0.00813054034216024],\n", "[ 0.00118570379989837, 0.0035571113996951, 0.00948563039918695, 0.0248997797978657, 0.0652137089944103, 0.170741347185365, 0.447010332561685, 0.170289650499689, 0.0638586189373836, 0.0212862063124612],\n", "[0.000451696685675569, 0.00135509005702671, 0.00361357348540455, 0.00948563039918695, 0.0248433177121563, 0.0650443227372819, 0.170289650499689, 0.445824628761786, 0.16718423578567, 0.0557280785952233],\n", "[0.000169386257128338, 0.000508158771385015, 0.00135509005702671, 0.0035571113996951, 0.00931624414205861, 0.0243916210264807, 0.0638586189373836, 0.16718423578567, 0.437694088419626, 0.145898029473209],\n", "[ 5.64620857094461e-5, 0.000169386257128338, 0.000451696685675569, 0.00118570379989837, 0.00310541471401954, 0.00813054034216024, 0.0212862063124612, 0.0557280785952233, 0.145898029473209, 0.381966009824403]])" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "{1.08101405277101: 1,\n", " 1.31749293433764: 1,\n", " 1.69027853210943: 1,\n", " 2.16916997399623: 1,\n", " 2.71537032345343: 1,\n", " 3.28462967654657: 1,\n", " 4.91898594722899: 1,\n", " 4.68250706566236: 1,\n", " 4.30972146789057: 1,\n", " 3.83083002600377: 1}" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import sympy as sy\n", "D=3*sy.eye(10)\n", "A=sy.zeros(10)\n", "A+=D\n", "for i in range(9):\n", " A[i,i+1]=-1\n", " A[i+1,i]=-1.\n", "display(A)\n", "display(A.inv())\n", "display(A.eigenvals())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On observe bien que $A^{-1}$ est une matrice à coefficients strictement positifs et que les valeurs propres de $A$ sont réelles et strictement positives.\n", "\n", "### $A$ Matrice monotone\n", "On généralise le résultat précédent en considérant une matrice $A$ de taille $n\\times n$ à coefficients réels et telle que $A$ est à diagonale strictement dominante avec des coefficients négatifs en dehors de la diagonale. \n", "On suppose que $x\\in \\mathbb R^n$ satisfait $Ax\\ge 0$ (au sens de l'inégalité pour chaque composante). Montrons que $x\\ge 0$.\n", "Notons $i$ l'indice de la ligne telle que $x_i$ est minimal:\n", "$$\n", "x_i= \\min_{j=1,\\ldots,n} x_j.\n", "$$\n", " On a alors $(Ax)_i = \\sum_{j=1}^n -a_{ij}x_j \\ge 0$.\n", " Ainsi, on a\n", " $$\n", "x_i= \\ge -\\frac{1}{a_{ii}}\\sum_{j\\neq i} a_{ij}x_j.\n", " $$\n", "Hors $$a_{ii}> \\sum_{j\\neq i} -a_{ij},$$, \n", "donc $x_i\\ge \\alpha c_i$, où $0<\\alpha_i<1$ et $c_i$ est une combinaison convexe des $x_j$. Ainsi $c_i\\ge x_i$.\n", "Finalement, on a $(1-\\alpha_i )x_i\\ge 0$ et donc $x_i\\ge 0$.\n", "On a donc montré que si $Ax\\ge 0$ alors $x_i\\ge 0$ et donc $x\\ge 0$ puisque $x_i$ est la plus petite composante de $x$.\n", "### Valeurs propres de $A$\n", "On note $\\lambda$ une valeur propre de $A$ et $x$ un vecteur propre associé. On a alors $Ax = \\lambda x$.\n", "Comme est auto-adjointe (réelle et symétrique), on a $\\lambda \\in \\mathbb R$.\n", "On note $A= D - M$ où $D$ est la diagonale de $A$ \n", "$$\n", "Ax= Dx - Mx = \\lambda x.\n", "$$\n", "On note $(.,.)$ le produit scalaire euclidien. On a alors\n", "$$\n", "(Dx-Mx,x)=3\\Vert x\\Vert^2 - (Mx,x)= \\lambda \\Vert x\\Vert^2\\ge 3\\Vert x\\Vert^2-2\\Vert x\\Vert^2.\n", "$$\n", "Ainsi, on a $\\lambda \\ge 1$.\n", "On a donc montré que les valeurs propres de $A$ sont réelles et strictement positives.\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Itérations de Jacobi\n", "- Exercice 8\n", "\n", "On considère la matrice $A$ de l'exercice précédent. \n", "- Décomposer la matrice $A$ sous la forme $A=D-M$ où $D$ est la matrice diagonale de $A$.\n", "- Calculer la matrice $D^{-1}$ sans faire appel à la matrice inverse.\n", "- Coder la suite $(x^{(k)})_k$ de $\\mathbb R^{10}$ des itérations de Jacobi:\n", "$$x^{(k+1)} = D^{-1}(Mx^{(k)} + b),$$\n", "où $b$ est un vecteur de taille $10$ constitué de $1$, jusqu'à l'itéré où l'écart entre deux itérés successifs est inférieur à $10^{-6}$ pour la norme Eucldienne.\n", "- Vérifier que la solution trouvée est proche de la solution du système linéaire $Ax = b$.\n", "- Le démontrer mathématiquement." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}0.617977678236059\\\\0.853932885906068\\\\0.94382063063879\\\\0.977528591952255\\\\0.988764583581853\\\\0.988764583581853\\\\0.977528591952255\\\\0.94382063063879\\\\0.853932885906068\\\\0.617977678236059\\end{matrix}\\right]$" ], "text/plain": [ "Matrix([\n", "[0.617977678236059],\n", "[0.853932885906068],\n", "[ 0.94382063063879],\n", "[0.977528591952255],\n", "[0.988764583581853],\n", "[0.988764583581853],\n", "[0.977528591952255],\n", "[ 0.94382063063879],\n", "[0.853932885906068],\n", "[0.617977678236059]])" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}1.48802110411239 \\cdot 10^{-7}\\\\3.48843353537021 \\cdot 10^{-7}\\\\4.14058046738219 \\cdot 10^{-7}\\\\5.61636122053955 \\cdot 10^{-7}\\\\5.7521145180317 \\cdot 10^{-7}\\\\5.75211452025215 \\cdot 10^{-7}\\\\5.61636122053955 \\cdot 10^{-7}\\\\4.14058046738219 \\cdot 10^{-7}\\\\3.48843353537021 \\cdot 10^{-7}\\\\1.48802110411239 \\cdot 10^{-7}\\end{matrix}\\right]$" ], "text/plain": [ "Matrix([\n", "[1.48802110411239e-7],\n", "[3.48843353537021e-7],\n", "[4.14058046738219e-7],\n", "[5.61636122053955e-7],\n", "[ 5.7521145180317e-7],\n", "[5.75211452025215e-7],\n", "[5.61636122053955e-7],\n", "[4.14058046738219e-7],\n", "[3.48843353537021e-7],\n", "[1.48802110411239e-7]])" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "M=D-A\n", "x=sy.zeros(10,1)\n", "b=sy.ones(10,1)\n", "xn=x+sy.ones(10,1)\n", "while (xn-x).norm()>1e-6:\n", " x=xn\n", " xn=(M*x+b)/3\n", "display(xn)\n", "display(A*xn-b)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On observe que la suite de $\\mathbb R^{10}$ des itérations de Jacobi converge vers la solution du système linéaire $Ax = b$. Cela repose sur le fait que la matrice $A$ est à diagonale strictement dominante.\n", "\n", "Pour établir ce résultat, on note $x^{k}$ la suite des itérations de Jacobi. On a alors\n", "$$\n", "x^{k+1}=\\frac 1 3 (Mx^{k} + b).\n", "$$\n", "La solution du système linéaire $Ax = b=(3Id-M)x$ satisfait $3x = Mx + b$, soit \n", "$$\n", "x = \\frac 1 3 (Mx + b).\n", "$$\n", "Ainsi, par soustraction de la relation vérifiée par la suite et celle vérifiée par la solution, on a\n", "$$\n", "x^{k+1}-x = \\frac 1 3 (M(x^{k}-x)).\n", "$$\n", "On note $e^{k}=x^{k}-x$ l'erreur à l'itéré $k$. On a alors\n", "$$\n", "e^{k+1} = \\frac 1 3 (Me^{k}).\n", "$$\n", "On a alors\n", "$$\n", "\\Vert e^{k+1}\\Vert \\le \\frac 2 3 \\Vert e^{k}\\Vert.\n", "$$\n", "Ainsi, on a $\\Vert e^{k}\\Vert \\le \\left(\\frac 2 3\\right)^k \\Vert e^{0}\\Vert$.\n", "On a donc montré que la suite des itérations de Jacobi converge vers la solution du système linéaire $Ax = b$ à vitesse géométrique.\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "base", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" } }, "nbformat": 4, "nbformat_minor": 2 }