{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Tutoriel officiel de sympy (Symbolic Python)\n", "https://docs.sympy.org/latest/tutorial/index.html" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'1.1.1'" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import sympy as sb\n", "sb.init_printing() # Pour avoir de jolies formules mathématiques à l'écran\n", "sb.__version__ # Version actuelle de sympy" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Introduction" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQUAAAAzBAMAAABs7ACmAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEN2ZRGZ274lUMiK7q80H6AXIAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADM0lEQVRYCe2ZO2zTUBSGf+fVPOrGAanqAg0tSKhLi8IGFIuFtRKCEQUVpRJIwMZUkQFQN4JYujULqLAQgRgQgmYCwdLCwIaajQEQKY+KgsDcaztOfX3sxpaFO3AGP/5z7jmf77m+rhoUCgVEaFKhoGBc+xohAvo1rYm9URLw2slQGXKlj3X/TxQuw1Okv0XN8Bq4HDXDFQWrDd8Q4fbiDbBaj5iBlR/3jRDyewFk16NniE1Ez1DyjxC0F4sat7ajYDLANARleOWobgjzyP2rdzPbpBmyVaQU2uWhBtsfZJVO+aBUYluEXwvG8MylzGdN++Pi8pCDMRwEHk66rQnXatk9hGs64LdbaiG3ghsqkdJD2jW5Rnj3B2SI1yAr6LtEpPSSUhQDGxCoFzuAvjXIv7wKEr5QGa4BchHyT6KOl7QFwwzb9Zx/2Q5VDog5MypTiroaa+un3g8EgzRd7vQifXX+9rm6mC0xhkVRm2kBqbKu3jdO+nVPB4IhnWCLylgPd3E+VXfkWZrCWUHMDbEGxAxxVPBteUswPI63OgxAky100ZYrc6qoSb+BU7oYnxB9yOtfMlHePcJtjM2f871Q8mWLIbtiPtzmBKyc0442YGw1J5y+LRSCAQvs0c13M17LOxP8cErA0kSmynV2fEL5PTSK4ROLNxmGlbwKSPYEbAvLiBr61wb0rrHVegbO/vEMQhorKWcQfNJG2mK4gL4qMNyy4vnFaUiHRA2J9VvclxstHSlK9AdKSMPDdeMMgi/RfmQxvIRcZQve6LQ5BKnrFYcGvP/A/QNs+bUwQk6EkKaTTn7x5a1YAs+nLAYz7mYnftNZ1BZWus6MwJCbO6wyrzikO4D0mevBjKpujnbRYo1uEGumzXYiucGEqk203xA+G4NUtsfzO0qzogatK+PiYo0vEa8hlM/GkBRS8ltKs8JYM212XAVj8BpC+WwMtnzBbjLf/Y8Lm+GYODU9IIXMcOddvYeiQkjIDMjw98Knhc0A9m8QvxYuwz1gueYXofPN8j2OHCBpSuQMmEX0vTiJ6PeHREn/ZpGNchfDXZPudbw8/xmM2dkm87Av6t9QBpvb4TeUv9t1xieqAbDQAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\left [ \\pi, \\quad e, \\quad \\sqrt{2}, \\quad \\frac{2}{3}, \\quad -1, \\quad i\\right ]$$" ], "text/plain": [ "[π, ℯ, √2, 2/3, -1, ⅈ]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[sb.pi,sb.E,sb.sqrt(2),sb.Rational(2,3),sb.exp(sb.I*sb.pi),sb.exp(sb.Rational(1,2)*sb.I*sb.pi)]" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAATwAAAAPBAMAAACLsm6CAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIomZu0QQZlR2ze/dMqswxovtAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEdklEQVRIDa2WXWhbZRjH/ycfJ0nTpMGJIgxbUxEnjAWO32IbvybKYAe8c+KO7s4JCQiTXS3sTrzoWK9EsRWHgh9bB64MFFv8mB+MLswLEXUUK05wtlXXj6Wbx//7f5IlIN5ZyMmT531+v/fpe97zJsB//DXhl/411E0WgGd6hr19PR/+1/Ca4UfM90Pk3r/hy0Uz75zmNRiJ4AVHmkyWy01LCsi33jsFf8twaDXZOI43kAx+Abzy7aExivDs4TtIy+sUZkuUt7aTsukiW5c20K/gQIOl/sKxyBFz7ej05VuA5w8VjuNGJFaAzWFxFi5pQP+ZTyIkgV+tJnE0CL70v8L3JexBZt0YRaig2JDXFLJ5n+NCezI3vSll69IG5tZRm3SlmIh4yc21o3m+4zfgIXBFPgTeRKoKlzSg6IZfBJ6zGqq9SnEKqQomGn7LGEWZOvxJ80ohW18FDzvVnNlMKVuXNjB9AgPE+af2vj3ajuZdqgVsw0yEpVJ21X2e58sAtXeza081WaDoPIll7AqZEqMoUVV79JpCI2MRRQCTsplSti6dMBAYq6tY7Q31tudfZNNN3oalZt+Uq5lXoQPU3u7tuMtqmN+KWhW5K4yya+7WLXHDMkpfjJL002sKjbxrHk1m01PpbD10G0T6Cyt27eVKnfbOv3K/rV7I0TMYeH8Ld7iSAor7x5soxuMNrR5rvKpWj7sUT7Edx1i0dOlu85pCI62z40RsMk3vLrL10AJReP13Z7Obez067W3HYOj21U7OVbiE2tvIN6CkgFTksZNtrVKnphjC7b014LvFJm1kLErEbwDOawo34rfqOGlJm956cLYeWiBNYw1erL2hq+0BqVnsDQtLHOyvoLaM5DSLmOwAO5C9aedKp2aQD/8JnFvncNZdyFh08No4hPN2FP0VPwbui5Ts2NiDbD20QI7nte3do5Ep9bSX/AP+PbdOcCkCYGAWGXfjmOwAo6UXkN2I2jW3Mb/n8Etu77kHwzGKMhWMTcvbUXDkMnAgbE9m07MH2cSIFohCEyn332r1bkCnvdQkkppqlE1zIfonkVlT0oDHgdEml3OwQZI1+Izv7H4VP3JDNMQoyvNcX5dXCmjka7ZXV1I2U8rWpQWittrT3tOLixs/qdH8LIrLbsIjwEF4Jd7UzIqSBnzER9NnQbFuNf7frhh9VT+OXHtkrlNUY/a8vFKYbYdbPSVl00W2fVfpkkDk53tuLlUf8zURIcFbWMXLkXcFhSHkojT33pSSBgwBH+A492JJNUj/xV0zjcGmE8xEYhTlS8AD8kphtt3ce8yxVjZTytalDeThPFbnOW+PBsCjzrXnVfBqhNeiVB2bg+AC8CD2NpQUgE3ITePJCPutBtk/eVCcwqPuq4SnnRhF6beQOUQnvU5hI6kh/yRzTMpmStm6dBt8IuBPgk+Bn2fmqLk3fsyiTSN3AokyD7tjcczuEwHPHyUFeMFChMJCEFoNPDddeTjkt0rAnwRiFOFcQIe8UphteKTZTsqmi2xdWuA/TQAb2AydRzEAAAAASUVORK5CYII=\n", "text/latex": [ "$$3.14159265358979323846264338328$$" ], "text/plain": [ "3.14159265358979323846264338328" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.pi.evalf(30)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAF4AAAAvBAMAAACYgmA5AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEM3dMquZdrvvIolEZlQyeDuZAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAB/ElEQVRIDdWUv0sbYRjHv5ef3l1+HP4DiYPgZuCqQ0vxoIvgYESRDgVDxRvFDk23dil0KVTchIKR0g6K4uSaTG5iJlfdOlhIIraFIInv+14u3N37JDlHH8j7vs/n+7njfZO7AGEq1uXVDKMKZ8wKrQpx/nE63jzO1/Kk/8ogMZCo4fD0KwvLHkFZnR7kj0Mp4eoaeOHxgU+D/E0kO8jlfTJrBvlKAanvyIb29Tq/c0OMfOUWdf8/LIxyIfUSSnnLVcVM+Mkdlnxgn9j7Feip7VH+ftUCCsJqXB8n8qN85IpIO7tQW0Z25H6QaCNqsO1YGOugwVaeIvYP7R9umJJrcX/SI7Ml5eObMcEitQi1pXR03wWkf/GxxKR0nX3/qeaR13+9N+M/jwgjOxU+n9nseftSF2jokPk7NJbD5zKSyLlEhoPfw2MpfUL+uMnrGdD/y1s3zV3TnOGHygroHaSjCvCEzkseINT+f7397F4c8DV7ynKj/qwVUa31usDz9hP6fd9zF3ED6rbb+OclYNdPWKe2EG9LVIA9A2uVYBQvIH4XhE6/DKxZRBRtEtBBc1SySLzvjhf7T/mzFBQsWiKiBAUdzyZ0XFJQsHSJiDInOCAwRzfQKlK0ALyToACxEySNYKTN2huFIHT6H7bNfoJARdhrlw+wXjvd7d72lg+or4KDm/HQ1gAAAABJRU5ErkJggg==\n", "text/latex": [ "$$- \\frac{1}{2} + \\frac{\\sqrt{3} i}{2}$$" ], "text/plain": [ " 1 √3⋅ⅈ\n", "- ─ + ────\n", " 2 2 " ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.cos(sb.Rational(2,3)*sb.pi)+sb.I*sb.sin(sb.Rational(2,3)*sb.pi)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Définition de symboles (on n'est pas obligé de leur donner le même nom, mais c'est conseillé...) :" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "x,y,z,t = sb.symbols('x y z t')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Définition de symboles avec typage" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "i,j,k = sb.symbols(\"i j k\",integer=True)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGYAAAAlBAMAAABCPYGTAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAVGariXaZIs0Q3btEMu8rsP0LAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABs0lEQVQ4Ee2VPUsDQRCGJ0fMeSZ+gBZiY0rBJpWNCAFJYRcLsTSFYml6CxNLGxUVQdEkpBBSpRHxBwhiIalttA0IoiiYKs7M7V5msxK51A5kd+ZlnpvZyV4C0+0PCGNb7RaMhwE4txmSOUUqLJPpg6Hmwtbpg7lLha+z1PqDyVMjgbnouYdlXHucZ2AsyCcnkcUlTovPRDObJJs2IcKnA4BljEsXuPhMEc7yIoNdrxAo3tw+MoP4mYyiyIxThmg9yFBOLCmUNcx3cgBHqygyE09BhAZi2IiMiMFc35gZzUHiXaaQfy8FZnaVwkwJGeuFWLeYRcnspGH4S6aQr5/KOteZUSlch5hPJQRbJfDQYWZKKX5vaUhYdV4BvL0aWUMxz5LBGUSsGSDTMa7zKJl4HRxr1sUO8VtvzgvECkBfgbBr4fvnmVUKnwcqcNnwvmUSgJ4sq9zbhsEcrywA1MxCD+IR82/VLMCVwXAQMZmhhoDIdctK8HvjgK6sMLqShgWXVjAnRgbATVe8rWPBJLWm9vOu+FbHgtGS3t2k9nh38jrswegUa/9n9O+bNZqeQhP6+D/9AZ1rcwffr2JJAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\left [ 0, \\quad \\left(-1\\right)^{i}\\right ]$$" ], "text/plain": [ "⎡ i⎤\n", "⎣0, (-1) ⎦" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[sb.sin(i*sb.pi),sb.cos(i*sb.pi)]" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "j.is_integer" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "j.is_real" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "j.is_complex" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['is_Add',\n", " 'is_AlgebraicNumber',\n", " 'is_Atom',\n", " 'is_Boolean',\n", " 'is_Derivative',\n", " 'is_Dummy',\n", " 'is_Equality',\n", " 'is_Float',\n", " 'is_Function',\n", " 'is_Indexed',\n", " 'is_Integer',\n", " 'is_Matrix',\n", " 'is_Mul',\n", " 'is_Not',\n", " 'is_Number',\n", " 'is_NumberSymbol',\n", " 'is_Order',\n", " 'is_Piecewise',\n", " 'is_Point',\n", " 'is_Poly',\n", " 'is_Pow',\n", " 'is_Rational',\n", " 'is_Relational',\n", " 'is_Symbol',\n", " 'is_Vector',\n", " 'is_Wild',\n", " 'is_algebraic',\n", " 'is_algebraic_expr',\n", " 'is_antihermitian',\n", " 'is_commutative',\n", " 'is_comparable',\n", " 'is_complex',\n", " 'is_composite',\n", " 'is_constant',\n", " 'is_even',\n", " 'is_finite',\n", " 'is_hermitian',\n", " 'is_hypergeometric',\n", " 'is_imaginary',\n", " 'is_infinite',\n", " 'is_integer',\n", " 'is_irrational',\n", " 'is_negative',\n", " 'is_noninteger',\n", " 'is_nonnegative',\n", " 'is_nonpositive',\n", " 'is_nonzero',\n", " 'is_number',\n", " 'is_odd',\n", " 'is_polar',\n", " 'is_polynomial',\n", " 'is_positive',\n", " 'is_prime',\n", " 'is_rational',\n", " 'is_rational_function',\n", " 'is_real',\n", " 'is_symbol',\n", " 'is_transcendental',\n", " 'is_zero']" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[ n for n in dir(j) if n.startswith(\"is_\") ]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Comparaison de deux expressions : différence entre a == b et a.equals(b)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Manipulations algébriques de base" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfYAAAAXBAMAAAALqnAcAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEHarMolUmd1mIrvNRO9/G2jnAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEjElEQVRYCa1XvW9bVRT/PX/GDnbcBilDpdaKh4iFhpZKIAYMaiXEglURujBYXdhIaIcWNZQCi5EAZUKCJZYQzKAyIEHA4g9AnvhYSAApYoHWqIraKFK4X+fdc99998Vgv+G9+87v65z4Pr8YUEf1kVZbr/xztHK24Vd5ZRoM7pe9nqxX3zvfye34VV0po3wrhE2PkZ3A0cl65U56XWgXB35VV+aG1XshbHqM7ASOTtYrd6L1zAatktdK46jZp8FIpmbdT9Jrim/u+5QilYq3aBW6ToMR8vbqE/bq+eFE0619emkrLjyX+l2Xxaiu3BjGcrXwPIorL7oMdufLGQivV05P5nCMmxTesncF95mO1rDZNWj1C0uzq0zGAip7lipWnkf1fTzhMPiNJ+cgkOgVjO7lMIybzK+P6PZku/pAr2v6uc/t4dTAoJ/geeLJ6y/6JpVh1DjdjQ64BrEHMR5aw9cOQ90Y76ScRIrj9crTvJyklUlALp59plH5TXdSaqpr7S/MDXSl+uX51/RKny/rSyrDqPHrEM7s1oMYq6nPkfFOykmkkr1eWZqfk7QyCWz2wsVWX49kY1b1DkD98PCuxvSZ1IDPsOrSA66xHsT4gcPxOvZ25SRSvLReie7nAITpEEpQn/vx1sMr3TgccUztXcBi0VIT864aLkOBsRo/byBafOzCSzh+BdGy739wYWnoM6gzK3dsA16Q9DExSlCzr+XO8P/bqPtC63HAYsXSDjbd2RMMp0k8e7aNMlrN6+i8igrbN8Y/OtjArs+gzqzcsU33gkobE6MEOXuln9vPm90tc2h2saO7DPusPMBTqg+QOsFwmhQ+e/gYp/tPVrvryH+ulfJMsx8CNxseI/YmuRYaUcBLuu6Ni1GCnL2A2YEOEOdyr/fBn72e3qL1EcMa9SZ+F4zrvd7fvd47WuEwEmrcabTxDRAJmdDqg/nfBzaHLsPxNnKhs6KQlyDdORbIcTCWoPY85poCjw/zJy60MSve0BbbbtBb1fzlPIa0oF1zHviuC/wjSrURXmiLqzmI8Z6YXWy3BMN4M7mSkSjgpehjYvxzB7b7UYM6i7s/NVKzW2wd9EvPqD2G9DBNRocNOXttH8cgHpZHrT0x8JX83D2G9uZyJaXZ0700fUyMz35i+DSKfm/1ZdRHHLuNWf0o0PPuMaQJNfmH3IVb+bvoSNlt3x/b4nmPPIbpjMmVlGwDXpLeGBPjs68+cxM/+r1VNsTbm2NXsS22qDyM2mNIjJr8SLxVS/cWdmpdlJdr/FVPjNlOtOszjDeTS9fYNuAl6aGcJMZnX1gsvd5VAfpEvf10bQscm7/4Zl8zSJ1kSJTUtWs3htGV5isfii+7c0v7WqjOxMClq22fYbyZ3BEFvCQ9lJPETEL+2/tnWFd6GffmIS+bCs3uEUQhVV0cMGo2I+BtRVleY2GBBNWh87PB9lweRLvmjn4NWNCuUtTrONm1BGQzAt4kyvIaEwsksA695Uwz3/GKYxXexrkjeEczyCCL+X8x8g5fS4tvhMFM5LL4vz37OJpB+izmf8f+BTMwv/3WNA2BAAAAAElFTkSuQmCC\n", "text/latex": [ "$$x^{3} + 3 x^{2} y + 3 x^{2} + 3 x y^{2} + 6 x y + 3 x + y^{3} + 3 y^{2} + 3 y + 1$$" ], "text/plain": [ " 3 2 2 2 3 2 \n", "x + 3⋅x ⋅y + 3⋅x + 3⋅x⋅y + 6⋅x⋅y + 3⋅x + y + 3⋅y + 3⋅y + 1" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expr = sb.expand( (x+y+1)**3 );expr" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGoAAAAaBAMAAACtLdRlAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAInZUiRDNmWbvRN27qzJGkhbKAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABq0lEQVQ4EZ2TPUvDUBSG38TGftf8AIeiQ3UoluIiDhZxFUoXKRQJurhZihTFpZOTgwgddLEgSMXBr7EUVHAUihRcBLM4OdQOQifxJie55LiYmuWc8+R9SO69CTDspUylzWEdIJ5TD4a3EmbAGN4CorV/WOqaJen+TcWOlpKAmvFvRUQeSHwDs36ljzwwCRRNZQDN8GdpL5vCGs0jmg/VEawxq8kma5BkRlihMhKLaR1hHsvyUUySWBbqdP+Mx2RGYklsa4P4liiF9OpShkYnU6hA6zAC2NYyQUsuq8/BK5bJzSH0yYhj7RG8FUvU1X685s0omSrid14ievtZ8wSPxakhZtjDbqt11Gq1AQ2HCCcFk0T0ttWzgxAWMJakQe5Y5As9kxjfjXOC61a51LU8ywQNTBP4tfPOGz4ApcYbAjwT6+CJE+cN94mKrVx438EpzwQ7kQEnjlUhegGsTIxsZ3hG66b6nOD1pJ0ErolGTecuFbl2+ZtLYgUU51jF9+i9mjRUUXSf7hDi8lu/90puf4Ou27I67k4lt/HWbKrhHWX/6HZKze3+riGdMj8TP1VAH6JvZgAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\left(x + y + 1\\right)^{3}$$" ], "text/plain": [ " 3\n", "(x + y + 1) " ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fct = sb.factor(expr);fct" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$x^{3} + x^{2} \\left(3 y + 3\\right) + x \\left(3 y^{2} + 6 y + 3\\right) + y^{3} + 3 y^{2} + 3 y + 1$$" ], "text/plain": [ " 3 2 ⎛ 2 ⎞ 3 2 \n", "x + x ⋅(3⋅y + 3) + x⋅⎝3⋅y + 6⋅y + 3⎠ + y + 3⋅y + 3⋅y + 1" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P_x=sb.collect(expr,x);P_x" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbYAAAAaBAMAAAApjmRiAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAq90izTIQmXa771SJZkQb1iE+AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEV0lEQVRYCd1YTYgcRRT+ZsbpmZ2/HQV/AjkkfRBRhCW3YCBDQPQiGYQQb/ZeTAzCxrCweklmTyuCJLlKSEYPIShm5yTBS9YguIc97MlbyOJFCIQEf/ayJGvVq3pdr6qnezPuHiR1qHr1fe99772unu7eBfZyfPLzS7uUq3y12M+TmFj9hXgmT2ty/CzOTR7kRZRW6kMPEJuJ1OvxG+iJ4F2bT3A096o/nXi138qtaEL1u3vb22+77g0or+ddhQnV97g34E5eYU+L198t8JxI3fT2fpLRq6x9vpEBgbHwkV+vsmv1VbZ4XVsbd5eKEHbk9eMBW2YVrhl1wXlB5Kh7i14+nniM3pxCeysDjoejs7g3sr6HkyDo0EbpQACprQwJ2eo/HiJdQ3XJyaDZ+U21Ned2MZEM2RdH0d8C7NgfQQCTR30Lcz3jW+lWZ4z1wCx4B1OXrKkXC4sQQWrzTL/y2EBZ14x6KMNVol7Y2/0NyN6aA5MwgAns3MR0z9CHT5xMjHXLLE2dRAwLixBBarOctK8bKOuaUQ9luModegOa9vpRpjTKh00VwG17rMvb2xaylT03ZBezWlhtOMTnUV1dtCefdc2ohzJplcXnBvy+jtOfIepS8jRKw5nReRPR0gCzgrCVTb+9el5yacEqJBwuGzHSNUcd8DOnVe7Q2wfP97HyE9qPKFEapeFwVBdfRKs5xD1B2Mrm3kNjJDguWIeEw2UjRroKhSIurXKH3tDcqozmUbpEYmmUgsOa1P726K1aD/sEw709Qu264LhgHSK8tSmyESNdhUIRl1a5U29Y/gg30BgAtTh+/ds47pIslhOzyrmxmSjHGwydi+Pv4vig2k4fQPsJcw5WTCN4yiCy2UgkcGWFIk5WWdzbCeDaqLOJD80tyFeEYMrgpmofU1t4mHgvJnvVyz20HwvOwibESZDlstHWcx2vHmbmKoufk9F2onpT99mXpgAbZeCgprlN3ds86kNB2Mqm9LkJzsImRLhr02UjwnMdrx5mzustIcF0+gbq5pvq4rJBOIrgKPUio9HVN9hlKG83bGUd9XsbCs7CJiRx7tpy2Qj3XMerh5m5yuDcvK8QpX1Xv8hq3Y59yXEUwXM9Ss5Te12/rD7Fw3VG1GorwxWcGQnOwhQSpnTZSEe6CoUijqsUve1bPjhAnFAUT50F9a0c7V/6ywAcRXA5+CD+Y0F9K8+uXpjhYLVyb60F9bB3HMMUEqR02UjHc3UKRRxXWfr6z1f4e1L7NxOKCqZWzwAcZXY/Bl5m+4tEuTKLMefBmZScjYI8V4AViji/Svf3W0tWZu15fUPRSL9CabdiQDnXetH3cv9AbAQnYQQpXTaKla5CoYjzq3S9nRbFsPka9rMp12ggd8YuD0orWbSYC1LmZNMa/0Xd/o2jw+WDQO/1uLW0oZdwtENA7ZtfnB+DGiiPC1LmZNMaeQqFnDs3U8azND/bvR3by/9P/o+OvR7/8C8SjpzGLrExwAAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\left [ 1, \\quad 3 y + 3, \\quad 3 y^{2} + 6 y + 3, \\quad y^{3} + 3 y^{2} + 3 y + 1\\right ]$$" ], "text/plain": [ "⎡ 2 3 2 ⎤\n", "⎣1, 3⋅y + 3, 3⋅y + 6⋅y + 3, y + 3⋅y + 3⋅y + 1⎦" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[expr.coeff(x,n) for n in range(3,-1,-1)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Identité parfaite des deux expressions (=== de Mathematica)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expr == fct" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Comparaison deux expressions (== de Mathematica)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expr.equals(fct)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.exp(sb.Rational(2,3)*sb.I*sb.pi).equals(sb.Rational(1,2)*(-1+sb.sqrt(3)*sb.I))" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.exp(sb.I*x).equals(sb.cos(x)+sb.I*sb.sin(x))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Notation indicielle dans Jupyter" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAOQAAAAZBAMAAADTdZ95AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAVESZEM27ZiLviTJ23asWSsTfAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACv0lEQVRIDb1WTWgTQRT+kt0maze2xZ+jGM8KzUVFaGElrUorJjdvKoIRwUMEhYoigUoOIjZ3D0ZoPRSVgD9gK3ShCgoxFiwoeIlQraigxB4CFep7s7vJZDMRhG4fdGe+7/18O28m0wWwBRtoRdYKJTZQEU9ZbDhoxXFZIGoTOiszAcyvJLvlqouAUZCJAObj95blqhVAK8pEAPPw3hdy1ZSF3rhMBDCfHnliSWW7spiTseRav+mtllLaKbxpIYIARkvRWAGfiThaGZ3ua3G4QC8vzdxVORrcvyKUvvAKMpSdiP3QFhpVpImGij0o4fapG3GEPCW/V5ltruIEEM3F6j1ZHE77czCGt7ll6JeAkYdLuHn1e4cI3CfHR7/TyfaxRg3vABMRUjPL7Qst4QxlPKf9TmAQ3/Dal89L4wi1uT7uQNP0Gq8S6LXpEWqXBP6wewdQw0RpFlOMfCYifJwHhY87IEy00RCNBfpzuqWUDNcxJCQvkiTw3stujiJiTxX6fF+TdGdONgON/pw2mnV8AQ7Ff4LuQV6l7gY7g3665xeKQhJ4ALy0O0RMrkALpTtkc60IP0Qb6cTS9ux8fAC7HCaVZp9nodVkIUwvT42FSfexfh5QRRgHFzDUnVD6QB2QJaMF9FtIlkP7qTC/xGYq3DR9wN56gSBL5i16zJXUEREboJtMmU0dkCW1KjbFiREm1r3NQ/JIkkbVvH4bE1lAFZEapSOYU/q4A7IkvZlW9IoLyQbyWB5JMj/7yFrEZQu8t222nY7CM2KLbR5Ss7Evcy6TyTp7mbJgFtwwY+q3Dd12kTzcODmAO2trmCl/pf1URRx7BdA/QqWPOyAdn2uEPsnVozJQzjtGHKdrTJXBHZAkPxAaVsX9N9e12+uWP5U7ICRFG8W3z/p84Wnzll9LxuJ3yUResBvxHcu3j7BJ4C8/LbqjufZU4gAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\left ( x_{1}, \\quad x_{123}, \\quad x_{ij}, \\quad x^{*}_{i+1}\\right )$$" ], "text/plain": [ "(x₁, x₁₂₃, x_ij, x_i+1__*)" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x_1,x_123,x_ij,x_ip1 = sb.symbols([\"x_1\",\"x_123\",\"x_ij\",\"x_i+1^*\"]);(x_1,x_123,x_ij,x_ip1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Dérivation, intégration" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.1 Primitive avec affectation immédiate" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calcul formel d'une primitive $\\int\\cos(x)\\,\\exp(x)\\,\\mathbb{d}x$ avec affectation immédiate" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAALMAAAAuBAMAAACRwjVdAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEIl2mUTdMiJmu6tUze/kkN0jAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADdUlEQVRYCZ2WS2gTURSG/0kymTTPQQs+NoZKURExNi50IYQSwSKFotCNqEFKKKht0JWrjlKKIJRAXbgz0IWKYEeqgquGutbGpWJtutBKF5o+pFqQeObRZJ7pnR6YO+f853x/by4zSQE1YpJ297IyMge8eOqzjMz7HVizMfduHvLszcp88ewMMDIrO7BmY/iqd2tGxi/v9ezNwHAHT4qBVNKTNSPTXxCSfE/BkzUbE/oLf58nX4CRCa91dXp0BiOTkL0aA4xMIrkDazYmSGNlj+6MTFsF7ZKbtdqwd1syaEJd6ZSbs7+sdC7a2y0YuEIYLzadZtVUm22q22Tu0NVMA+UqADcIfGwoDEkLiGviAfoA0RrwUJd4wwdqTlkyK2Rp62Wc7gHaeVzUhGjKec6kWiFTs1Fcpkx5zmL6bpmsrZDudnviTOirLAydS08rSjdwaep5Cj5Z6ztac90dZbSnz0I4na44QBrKlRBEUEZ8GiMSSZ/omqOLHmM1HK3Hy/ySMIhwaj+QozErpKH8InwIywhXkVDO4AZdvXRFc7RQOFrPI/qDTk3YuCIiSUNWSAEphicl1bqERIrKb3Rdo0uo0RLI54e+5/MypcbgVqkaKQOrwc1TSsMA1fVQ8F0L6xZr7jfJfJUWisauDYywRo25PmCTO1bPUE7WJogkipDIPS4oB6Lvmv4b4GsQWx4It06gsuv1u9i3QbkVIomCdhUpGqwnAV8lKqGtpLabu9ZKbZ0nLp4Bv/EOeEuSFdLRRYQl2nJM3/VRICLvpmNO6X39rlX6St85h4UlxJIfRDwlzQppY/yRdKfwYnnP1PKdqesk9dMZPSvSayNp/cZZa6W2cq86JIx2vMaFiS46chtknG3mwYKWj+mSo3VzXMvM0GjvE+uAWrdlNLlH7xq+nkLZz/rf1XuNmwkKyTiufBR7KGdHh1JSb6blAXzKY+kURigiIl51GgK9uxRh0d58Cfy0q6pihOIriPxxnAsVFfmRQ++XiBnJQSfJCEVyiCgPu5d4A8y4HLbFJlizCAzlMMMMjYyk2OYMU+qXh6F2SwfcGu56MOPeM3QCbGMGAsiaKtdi6yfbdcDe2Hoz7B2TEk3ivklgKGYRkhjGbgEnGMaMI0ISftEoOOehgez5nHPLVR3LZunR3jZi9HtU2XbKPLBQr/8zK/bqP61G4cKOnzBbAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\frac{e^{t}}{2} \\sin{\\left (t \\right )} + \\frac{e^{t}}{2} \\cos{\\left (t \\right )}$$" ], "text/plain": [ " t t \n", "ℯ ⋅sin(t) ℯ ⋅cos(t)\n", "───────── + ─────────\n", " 2 2 " ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a = sb.integrate(sb.cos(x)*sb.exp(x),(x,t));a # Primitive : on intègre en x et la variable est nommée y" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "integrate(f, var, ...)\n", "\n", " Compute definite or indefinite integral of one or more variables\n", " using Risch-Norman algorithm and table lookup. This procedure is\n", " able to handle elementary algebraic and transcendental functions\n", " and also a huge class of special functions, including Airy,\n", " Bessel, Whittaker and Lambert.\n", "\n", " var can be:\n", "\n", " - a symbol -- indefinite integration\n", " - a tuple (symbol, a) -- indefinite integration with result\n", " given with `a` replacing `symbol`\n", " - a tuple (symbol, a, b) -- definite integration\n" ] } ], "source": [ "print(sb.integrate.__doc__[:604])" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "sympy.core.add.Add" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(a)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.2 Primitive avec affectation différée" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calcul formel d'une primitive $\\int\\cos(x)\\,\\exp(x)\\,\\mathbb{d}x$ avec affectation différée" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAIQAAAA8BAMAAABV8w+MAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAzSIQVIndMkTvdquZZrtbApCxAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADUElEQVRIDe1WTUhUURT+Zu44b/7HohZB0QNpIUUNRARhztsUFIFjpIEtEikiaDEQLlo5QQZCMFKLahE8JDHGwqBNWOJQGCWEYwRBi9TaRIsyR7Ef0859P/PuoBPjfdsuvHu+75zznfvz7n0zgNk2WlbesFl5raX01bot4W3dnHZbw6O5rYB4wnWJHtcVMMhUt0XGa9xWwLV3rkv8LyDsQLhNIHJwOFuQE5ZUSvFSpkTkQNj1ZUdclxtaUGUzApGDE+4v+3m5kQUVWxaIHPT9ktMJqsgPgchBf1FOJ6iSvQKpBFUz4F073jTt+EP3dzxzmINCmokDuuMT0OmUQ/rC05sc5qBDNrxrAWVL3naR3Z5xSCGmpx1WQqzWhp6EheKa7SK7Ynu5L75WBUQKdn40b6GsoFJ+2mFuu6CK1MJBx3fDgq2OC1HhcHp7m5ESYja8bANgmwW3Oi6EFyyyL/ecjXT38wmysRYNDbmXUB7kaomP0XNgcD85cYogvGMD82C5R50nOIN/3jAInEOniYB6LXBT6UBMbwTaycmHzoeGI4QnCaJHjRURwaD+gjPE5wyDPQXcMxGwAb7r/hSUxZ6EsbAzQFQNzYULwGHKYXcQqcUbDKkjhqJr1hR+y7VkTATG19alAQv+5T7uuwUoiPEl0X4DkSJogDRmuIPalBEBfpuU9wq/u00ZYJk1r+QJUwmars57/k8iOI1khqx9xSfyRKjZu0qQLVHHZ7FUh4OLhI0Tm1VZwlxIMoUp8gbmsJcMHc6CYXAW8JmI7wV8wTwCi0cBvtwvQGNmFPxPxAd6khpmfHWfw7PWCVhJm8JJsNINqy/guHITntSRBD5SmN5k08VXuEJwnB6PHr1Q41ts6A1oxOBd4T21UFvOBNSzpy0qdrU8Rvf7/gzxq6BT4nutEeyghw2f3DnAxvVjb4nQhL8b5t+d35opjdi+OrNG2MbVUctTulzChXOSY1V9OfmGGG23DQQbrOrLSQfdbJ9sINhku0AqQq/15qPqGinZh2s41+casuqvT1WWPaqWURlyW0ZUpmHCBS0LVE8Cf6rPrZAZsr5ZFcLVuM1PUTWZFXPiesVQtQHxR6laTVleM56UcQnyVbF/3yTEpqRhUJXWmsK/Z0atXyH29PgAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\int^{t} e^{x} \\cos{\\left (x \\right )}\\, dx$$" ], "text/plain": [ "t \n", "⌠ \n", "⎮ x \n", "⎮ ℯ ⋅cos(x) dx\n", "⌡ \n", " " ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "b = sb.Integral(sb.cos(x)*sb.exp(x),(x,t));b # Primitive : on intègre en x et la variable est nommée y" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Represents unevaluated integral.\n" ] } ], "source": [ "print(sb.Integral.__doc__)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAALMAAAAuBAMAAACRwjVdAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEIl2mUTdMiJmu6tUze/kkN0jAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADdUlEQVRYCZ2WS2gTURSG/0kymTTPQQs+NoZKURExNi50IYQSwSKFotCNqEFKKKht0JWrjlKKIJRAXbgz0IWKYEeqgquGutbGpWJtutBKF5o+pFqQeObRZJ7pnR6YO+f853x/by4zSQE1YpJ297IyMge8eOqzjMz7HVizMfduHvLszcp88ewMMDIrO7BmY/iqd2tGxi/v9ezNwHAHT4qBVNKTNSPTXxCSfE/BkzUbE/oLf58nX4CRCa91dXp0BiOTkL0aA4xMIrkDazYmSGNlj+6MTFsF7ZKbtdqwd1syaEJd6ZSbs7+sdC7a2y0YuEIYLzadZtVUm22q22Tu0NVMA+UqADcIfGwoDEkLiGviAfoA0RrwUJd4wwdqTlkyK2Rp62Wc7gHaeVzUhGjKec6kWiFTs1Fcpkx5zmL6bpmsrZDudnviTOirLAydS08rSjdwaep5Cj5Z6ztac90dZbSnz0I4na44QBrKlRBEUEZ8GiMSSZ/omqOLHmM1HK3Hy/ySMIhwaj+QozErpKH8InwIywhXkVDO4AZdvXRFc7RQOFrPI/qDTk3YuCIiSUNWSAEphicl1bqERIrKb3Rdo0uo0RLI54e+5/MypcbgVqkaKQOrwc1TSsMA1fVQ8F0L6xZr7jfJfJUWisauDYywRo25PmCTO1bPUE7WJogkipDIPS4oB6Lvmv4b4GsQWx4It06gsuv1u9i3QbkVIomCdhUpGqwnAV8lKqGtpLabu9ZKbZ0nLp4Bv/EOeEuSFdLRRYQl2nJM3/VRICLvpmNO6X39rlX6St85h4UlxJIfRDwlzQppY/yRdKfwYnnP1PKdqesk9dMZPSvSayNp/cZZa6W2cq86JIx2vMaFiS46chtknG3mwYKWj+mSo3VzXMvM0GjvE+uAWrdlNLlH7xq+nkLZz/rf1XuNmwkKyTiufBR7KGdHh1JSb6blAXzKY+kURigiIl51GgK9uxRh0d58Cfy0q6pihOIriPxxnAsVFfmRQ++XiBnJQSfJCEVyiCgPu5d4A8y4HLbFJlizCAzlMMMMjYyk2OYMU+qXh6F2SwfcGu56MOPeM3QCbGMGAsiaKtdi6yfbdcDe2Hoz7B2TEk3ivklgKGYRkhjGbgEnGMaMI0ISftEoOOehgez5nHPLVR3LZunR3jZi9HtU2XbKPLBQr/8zK/bqP61G4cKOnzBbAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\frac{e^{t}}{2} \\sin{\\left (t \\right )} + \\frac{e^{t}}{2} \\cos{\\left (t \\right )}$$" ], "text/plain": [ " t t \n", "ℯ ⋅sin(t) ℯ ⋅cos(t)\n", "───────── + ─────────\n", " 2 2 " ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c = b.doit();c # Calcul de l'expression b" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a == c" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAANwAAAAuBAMAAACxLmqgAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEIl2mUTdMiJmu6tUze/kkN0jAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAD20lEQVRYCZ2WT2hUVxTGvzeTmXmZzGQGFSp1kUGxVdLF4MSVFGLMIi6EgMVNqbZZTAU1DhYFQczDhRvBBlqoG3EgG4uQjAhuDe7bTl2ILaUm0BYqotGoILbEc+99f++7982dd+C9d+75vt85c9+fEIBH2RHXfs6P+jFHvSPRpcnKWjNxqT0/qctJ1VI3SU3ULp36OFFXiPZHD1qKckKp8JUv/uFnxkl52djKjdsOvfCBIPNLvZJKtZdD0rP+kNyKJBksjxp4IpZgXLazNaKYLPZZjokt8Ihx1o6x6kC9FpQNsk2N/TiQMTCGLWLckVahljvY11uW+xpn8NkP4V4GOR9nv0V22sActnw7j73htVnOxxXX9+w0sweupcb2fn8hwXxcpRO0Mc3emRojPjGuFqkZLV4auWQTH5evAcuy0mM9A5R6WBQyHzfYxRZHIfISF+LqdVhTOgTQQOLZYU+jrkOzy0w5HJOzOxqxml/QQUOLb+74Jj+5Ou+nuM9TwQfVHll/0LFxv53VBazjwK9+xSDpE7KClgO00dIa8L1byoU2HrikTIYkOWE5TNoA7XC4KkyleoLZk2TIq/e+fkEW9p2U3V0ZjZOhhDHffPep/WenMDvV4O/QBPD50q06Mh3BKMdt2f4JrANj0yCY2WRIP85qI498B8N3MOeQ7Tc6fqGDPk0eqnH2UxxtnXOwwGGyyZBAVefcKjIodlBcQYXdv5N0HKKj9CWdKFTjyl387MwAc2cZTCFDrKaJ0wsOH9dGpU6Wv+mgTiis0Wmg2Zz9p9nsUBqOkRrp/wGVGoMpIpD1sMmixQQRG26wlpsev5LGWa+pnFsRVm93FY+h8lyddk2mSpvBFDQuAgmUDBzyVuxqV60bLXYz3d3Rf4O5NVQTb+bIuLu7KQZTExlijdVBv35oPjRuAch0Sw4G28Lv7S5M07PD8l/AsQsMJkWGwuZoXlpF0aGtld3djQJDnc302OiGsVCNs/9FxrnYwgMOk0mGOKk85XY3dhYWn3yw9OT80glyHKH7+yP94rwj7Kpx2DaxC/bE6DSDmU2GBGpyzreE67JrVo6TG8mQrMOe/N3tK0mD46Jw0K2H/kRrGciQ39NDriDDXndF3OQ1ux2X9Ax0kIfcBp7FG7LKh7xcrMZVPaOFPOR5FfeceEeq2PSeANcUmp7RQh5yF7infniKOW4pBRNCTusba5UUjIsU1rVNtUIKxkPy49quWiEF4yGT2qZ6IQXjIt6Xqe8dV1IwHnIfthNvmFxJwbhIoYas4ktOHJeC8ZDLk5P0TfQXKRgPebyx8X9/w4AUDEfeA5P/CDa7GaHcAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\frac{e^{t}}{2} \\sin{\\left (t \\right )} + \\frac{e^{t}}{2} \\cos{\\left (t \\right )} - \\frac{1}{2}$$" ], "text/plain": [ " t t \n", "ℯ ⋅sin(t) ℯ ⋅cos(t) 1\n", "───────── + ───────── - ─\n", " 2 2 2" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.integrate(sb.cos(x)*sb.exp(x),(x,0,t))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.3 Dérivation" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADYAAAAqBAMAAAAKf7UOAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIomZu0QQZlR2ze/dMqswxovtAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABp0lEQVQ4EXWSPUvDUBiFT5o2/UibVgXnoj+ghQ5qBXHpqBZc3FrQRUVa8AcYBAdxaKEgFqFkcnZxsFOkg7gVEdeGgoOD2CLELn7cfDRN7m0u3LznnOd9b7gkwOxiAT5LyOJE9mHRESqKDwvdIenHyEit6jMHhB6B/dbRgsx2JFofQDb6zqssI2fK4VR0KE09WdQTCCpTphJdBEdAsj6FVXSTlVJCmaGiBlHfK34iwCCEq+R+tddV7LAM27kCdpuRJXnCEpk/Y00Clwp2XYaSL5R32ze38WpO8Xq344tu59UH5LusQNC8qeWWgfQFwoMpTFDByXlI6zBvaT3sxkAVAu4h1qm5M+LjZId09LpeFm0T3ySbV3DtRZjPkGaVhEENmxRDRUPYeA+vhb5pxg8RL5NQ6DeGFpvLb9hN3BdOLRlQzMppyBRtuFW+MVQeh7KZSGWIt6YCSldZQz2hbwWiDsk+HbF2ygjPG/ZBkgrpx2pD5NcWkxIfjPXDWDi1V3ckIzpM4gR81pGMOGYSJ4ikMeMYSjwDl1Q0tlwnt6aODVVj5JdQqMyw/5zIafNoZoPBAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\frac{3 x}{2} \\sqrt{y}$$" ], "text/plain": [ "3⋅x⋅√y\n", "──────\n", " 2 " ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.diff(x*y*sb.sqrt(y),y)" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " Differentiate f with respect to symbols.\n", "\n", " This is just a wrapper to unify .diff() and the Derivative class; its\n", " interface is similar to that of integrate(). You can use the same\n", " shortcuts for multiple variables as with Derivative. For example,\n", " diff(f(x), x, x, x) and diff(f(x), x, 3) both return the third derivative\n", " of f(x).\n", "\n", " You can pass evaluate=False to get an unevaluated Derivative class. Note\n", " that if there are 0 symbols (such as diff(f(x), x, 0), then the result will\n", " be the function (the zeroth derivative), even if evaluate=False.\n" ] } ], "source": [ "print(sb.diff.__doc__[:581])" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAI8AAAAbBAMAAAC3usH1AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEM3dMquZdrvvZokiRFR04zSiAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACaUlEQVQ4Ea1UT2jTcBh9aZukf7IaxOqO9epBK8pOIhW8eVgvY94WChOdiBHZdvGww0RFwR4UQVCKoiAMVgWZMMSA4Elk6MGbzcGbh20oIjio7/sta5JKyg75IO/3fd97ffn9viQFUggvBQ9lcf776XoqXnd7PScVIwdGKj7w8DIdI5TXdmHkDdcoenS4RrGmP1z0VehnUU3uqFQ5J4DVOY8Z8EPhIHxoLgYt02dyOyhkqTQ3Zck2tiHjayek1qqE/8Jq4N3OWA6SfRhVmMroqhgRngJvhDXagoOh2yi0guZzrsejAmWUe0IjgevAuk26EJX088Im9K2gKogsGsqolKGRwG+g65P+HJX0c70G/VdQZdr99naijK6JEUETI1Fc5HVgdt+qzzUW2Q1tzkWFt+UvYiFGVptGAtZfYNwlf4iXY04atZiWxbhbKrewDBSrA5QYlUAjAWXUoeIklZ65pbcH1BjDJ6OKs0A5uMfeYxIcuxgtiZGAxh11ZUePOHvkq8qmL2VlOLALLh6Q3lBkCDSyXNmMgAx73SdJI2CPWMZDHnrXznHiI604IzsamZiYuv9WoHMTWLapOCyqrqdJHolyBx/RhEmTnaP1WTka35vGNrwAdYwbwOjaFOcWjzPAFb5reaqLC3FKzYinkDYh62v3RPCaRzx1Ad8kD8MaOzddw7R6Qww37Eum3/o5yRke+eMq0FZm69L+AuyfL8/4koeR6fV6VVRWLnv8OnntIrL1YaJXJN8PE4Rc0Qnzgcyoao/ZmhloJ5V3kghkXb3Dj2EhURAnkv9Fy/OXKM3bcX1iZbUTKUUsBfQ/HAiPSTSBpKsAAAAASUVORK5CYII=\n", "text/latex": [ "$$- 1440 \\left(x - 2 y\\right)^{7}$$" ], "text/plain": [ " 7\n", "-1440⋅(x - 2⋅y) " ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.diff((x-2*y)**10,x,x,y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Affectation différée " ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [], "source": [ "d = sb.diff(x*y*sb.sqrt(y),y,evaluate=False)" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Derivative(x*y**(3/2), y)\n" ] } ], "source": [ "print(d)" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "sympy.core.function.Derivative" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(d)" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADYAAAAqBAMAAAAKf7UOAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIomZu0QQZlR2ze/dMqswxovtAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABp0lEQVQ4EXWSPUvDUBiFT5o2/UibVgXnoj+ghQ5qBXHpqBZc3FrQRUVa8AcYBAdxaKEgFqFkcnZxsFOkg7gVEdeGgoOD2CLELn7cfDRN7m0u3LznnOd9b7gkwOxiAT5LyOJE9mHRESqKDwvdIenHyEit6jMHhB6B/dbRgsx2JFofQDb6zqssI2fK4VR0KE09WdQTCCpTphJdBEdAsj6FVXSTlVJCmaGiBlHfK34iwCCEq+R+tddV7LAM27kCdpuRJXnCEpk/Y00Clwp2XYaSL5R32ze38WpO8Xq344tu59UH5LusQNC8qeWWgfQFwoMpTFDByXlI6zBvaT3sxkAVAu4h1qm5M+LjZId09LpeFm0T3ySbV3DtRZjPkGaVhEENmxRDRUPYeA+vhb5pxg8RL5NQ6DeGFpvLb9hN3BdOLRlQzMppyBRtuFW+MVQeh7KZSGWIt6YCSldZQz2hbwWiDsk+HbF2ygjPG/ZBkgrpx2pD5NcWkxIfjPXDWDi1V3ckIzpM4gR81pGMOGYSJ4ikMeMYSjwDl1Q0tlwnt6aODVVj5JdQqMyw/5zIafNoZoPBAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\frac{3 x}{2} \\sqrt{y}$$" ], "text/plain": [ "3⋅x⋅√y\n", "──────\n", " 2 " ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "d.doit()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Dérivée d'une fonction non encore définie" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left [ \\frac{d}{d x} g{\\left (x \\right )}, \\quad \\frac{d^{2}}{d x^{2}} g{\\left (x \\right )}, \\quad \\frac{d^{3}}{d x^{3}} g{\\left (x \\right )}, \\quad \\frac{d^{4}}{d x^{4}} g{\\left (x \\right )}, \\quad \\frac{d^{5}}{d x^{5}} g{\\left (x \\right )}\\right ]$$" ], "text/plain": [ "⎡ 2 3 4 5 ⎤\n", "⎢d d d d d ⎥\n", "⎢──(g(x)), ───(g(x)), ───(g(x)), ───(g(x)), ───(g(x))⎥\n", "⎢dx 2 3 4 5 ⎥\n", "⎣ dx dx dx dx ⎦" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g = sb.Function(\"g\")\n", "[g(x).diff(x,n) for n in range(1,6)]" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left [ \\frac{d}{d x} g{\\left (x \\right )}, \\quad \\frac{d^{2}}{d x^{2}} g{\\left (x \\right )}, \\quad \\frac{d^{3}}{d x^{3}} g{\\left (x \\right )}, \\quad \\frac{d^{4}}{d x^{4}} g{\\left (x \\right )}, \\quad \\frac{d^{5}}{d x^{5}} g{\\left (x \\right )}\\right ]$$" ], "text/plain": [ "⎡ 2 3 4 5 ⎤\n", "⎢d d d d d ⎥\n", "⎢──(g(x)), ───(g(x)), ───(g(x)), ───(g(x)), ───(g(x))⎥\n", "⎢dx 2 3 4 5 ⎥\n", "⎣ dx dx dx dx ⎦" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[sb.Derivative(g(x),x,n) for n in range(1,6)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.4 Limites" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAOBAMAAADgeEClAAAAIVBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADdcGRXAAAACnRSTlMAMt0Qq5nNdrvvxbMB0AAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABtJREFUCB1jYGBUZmAwCVvMwMDAThbB0rnIHQBAqQoWQ8kakgAAAABJRU5ErkJggg==\n", "text/latex": [ "$$1$$" ], "text/plain": [ "1" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.limit(sb.sin(x)/x,x,0)" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAOBAMAAADgeEClAAAAIVBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADdcGRXAAAACnRSTlMAMt0Qq5nNdrvvxbMB0AAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABtJREFUCB1jYGBUZmAwCVvMwMDAThbB0rnIHQBAqQoWQ8kakgAAAABJRU5ErkJggg==\n", "text/latex": [ "$$1$$" ], "text/plain": [ "1" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(sb.sin(sb.pi*x)/(sb.pi*x)).limit(x,0) # Variante" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAALIAAAAyBAMAAAAKFJyDAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMs3vq927ImZEmRB2iVQin4g+AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEeElEQVRYCZ1YXWgcVRT+Jvs7Ozu7a7WhD2oWBBGLdtEQ1KpdUOtPGwg2BRHU1daW0mAHq29C5smiFBME34rJgyVaVFYQHxTp9AdFSWkUEatG91kopEb7k7bGM3dm7r0ze2d2J5dk7ne+c843d+7PuSFAcnsy2a30GvuVdJjM2mG7P2tdu3fcaBCyvo/gIBaVMQ7jQNEPMZ7alEYZH8QJcn6yFsCzqZRzdpAX1z/HHemUK5t5ohoUG5xPp4w7eaIaZBY4n1J5xuKZSiDJSVAZGiEHZiNExBwXdkrlylWRqkDaBUGmVDauiVQFyooFREplvKzQE1SmKXBa5anEJRyy1658XMoVKgH6U3pvwpilKMr0Lfl7Az3R7xJw65ZxR1ghVO6EzCOelR9j/bphFO4L+Zkx0k35zEFbuM4L6CL/ReaSR49DXwkHkGV0U0HMzGyAYNQ59MBG1hWveNZuoB0JALT4PWmI4JItMENvs2eQTMrdrfJfN9fNZKJUho0x+GClclE6gtF0Yb8roIcGbNb/41m78eow1j/wxmn7yDfTHkVrcSlAof7mwycLtzW1HXPz213+E/o9tbq6ugJjftstfwBm06VxkT1BY6bqM+xol6dFTTaVVcVoIYdcE5ntGLIo+w7SOnd+w4kaSjjtHAWKdaZ5D1cmcdq/F6HxkZaUyvpmmMg3kW+galP288Ct+LZcAw7hrPUEgut1p6y8B7gOUeCyS8xZpU/ljZgXJiym3ELVIfN+N6iVbQM1vORizUvb4WK4s0E/pHytW9mLEM+vN61ElbVmjvnZNtUbDCcpq2ej0Damau5s+GO+m3RKnaqrpl/CV7GzIY/Z5DPOBuE/Kg6ytqQ8QfzxdnUaxj6avgVawRaLFCtIU3F7eDbKyv1MF37eogEP+GP+iXROgu7iyoUvG3qHPsBhysPsObi8d/De/YPLL7653Pzxb3ova+qTov8yf07bNfLZgZENB2in4j36fQXZBRgfO3+9Q0bOYtnxRYcmzC8qLDD2katFXK8z27geoWVTuyxbcbg4G/F8yOygIkWcvpn0QSJjr4AuKrSYrS5nJvMBT/t9cvdF2J1vM7ur6CyeIb7kxz4SzomxCnbIcciz/APMXaajt4TylP/6LXS4Z/1KxkN7gAzp8DYNZGqg4xGMeajDfIvv/3D4hqCS8egeYNIB5ud+tVjYd8CkhYfNY0ePfcQI72bXOmXrBK9kPQS5m/6SKVtbBzqMoKUYauMZMeZSwwvMYxuvZDy1B3iMjjkmNC9Ke9xVflAo6/5RuQljbkT8hat4Cwum8vDzHrf9a9Fs0LUazDOe9VI+xRIBr5IpRFRU0b01tKWC5ysv+CsY7Gd4m8O4iiu8kqlkFBxdZzho1n2l1+hGc/S6FEcVjFq5jod4JZO8SXDGAj5/6/ffvJg56ha/b0sJ7JuQ72CUVzLJmwTphpKarOnTd0nuNFBXXs6ywo30UWtpmU6vLJriNbVHe2eN9g5RRFTqCjJC5e0I0ZfZz38hsK8vqXCQsdG1/we9CyHrxVrN3wAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\lim_{x \\to 0^+}\\left(\\frac{1}{\\pi x} \\sin{\\left (\\pi x \\right )}\\right)$$" ], "text/plain": [ " ⎛sin(π⋅x)⎞\n", " lim ⎜────────⎟\n", "x─→0⁺⎝ π⋅x ⎠" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lim_sinc = sb.Limit(sb.sin(sb.pi*x)/(sb.pi*x),x,0) ; lim_sinc # Par défaut, limite par valeurs supérieures" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAOBAMAAADgeEClAAAAIVBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADdcGRXAAAACnRSTlMAMt0Qq5nNdrvvxbMB0AAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABtJREFUCB1jYGBUZmAwCVvMwMDAThbB0rnIHQBAqQoWQ8kakgAAAABJRU5ErkJggg==\n", "text/latex": [ "$$1$$" ], "text/plain": [ "1" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lim_sinc.doit()" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAOBAMAAADgeEClAAAAIVBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADdcGRXAAAACnRSTlMAMt0Qq5nNdrvvxbMB0AAAAAlwSFlzAAAOxAAADsQBlSsOGwAAABtJREFUCB1jYGBUZmAwCVvMwMDAThbB0rnIHQBAqQoWQ8kakgAAAABJRU5ErkJggg==\n", "text/latex": [ "$$1$$" ], "text/plain": [ "1" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.limit(abs(x)/x,x,0) # Confirmation de la limite par valeurs supérieures par défaut" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAOBAMAAADH1sFNAAAAIVBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADdcGRXAAAACnRSTlMAEM3dMquZdrvvHSJQDQAAAAlwSFlzAAAOxAAADsQBlSsOGwAAACZJREFUCB1jYIABFkMYi4FBNGkhgsPATg2OkDEImDBQbBpr5+JwAHRPC1OtyQ5cAAAAAElFTkSuQmCC\n", "text/latex": [ "$$-1$$" ], "text/plain": [ "-1" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.limit(abs(x)/x,x,0,\"-\") # Limite par valeur inférieure" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.5 Développements limités" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQIAAAAuBAMAAAAxeAqaAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMt0Qq5nNdrvviVRmIkTkPrJOAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEyElEQVRYCb1XXYgbVRT+sjPJZDOZbLQIuj40RhcqVRp/WnVfkrqFvggJ1bSoFYP4IApusAuLojS+CL7UVXwpQjdq60L74CIUQRADrVqU0igV1gfdPPhWwV1b/9buxnNn5s5mJvdMd7qS83Dv/b7vnnPPvXN/EoCz8eMTnIQaq2DuVV6LqFSwj/MwljgFiexWVosqrGExy/hc4jM4gQzjFJ0+w2agHeIzOHZrIfpQrMcHjGJobAbaypaDjNd10LHbGafP+Qysqyi2Gbfo9AKznlaLzwBrGGlFH0rtYZVi6tnETp5YmVf7AHdhpMNpUfmFG25iFgHWZTbYWdzIahsXtOmJ0VOY7Xb7XBwF564o1sDRjLlH+7yiE3FM1dW3Ea8AYVrUHM7jcPsRpROvAGGaMlgImcUbjMorQJjGhAuh/2I1XgHCNEXAr79RnzXRNbOK+xQuoUqYly+W2XGg0dYaaPokCbQj+pJa4hUgTJOR7fq0i5IdeuRv9kkSmMs7ZzKK4wbwSrgmI4taq1EhzFhJt5CuO8Bfagfqp7/1Uy7iFYrMevlDJVsSH16hlnh72AdI9vw/6kxlfMeLdqAfZbjY7nIFmALu389fsbLz5uuqeWS02xFxnpDBEsi8DRQL9D2unUGmJd0i1r+6/Xe1PgEu1ARacyksAKeARGtDGZjK/SJDhdSfutrz1iowvEQo5s03UcAE3eWNgWRg5JI0h6QY3MhRYZt14JU24ZmBZFCsazRoUqyBXqPigal7Ts5TTZahtDawDzb7FS7QZOmT16hINqioGHvjOarJYssDyaBsD1ZsUZUoAem2saoLQGbRznTWQHsmLyxL5EjXM7Fu8Xz+znfy+VK/sst2uY0EeB5uQ3D78vmj+fwd1JoUEC8XqBiq0LyRrAlCmOZl4GCm3OxXeKstxvpXRBdrQJOsi1KYNZiv8DRNHOI4yAx+a2sFgWg96JgOYCcu0lJre+0R9QbwYKeMlI0GdhaM7pPfHc/aY4rz/8WWx3HJzSA9A/3N353sXEpVXXsfWGdUfpB34i+zY04C9vnfOW0enHf7x0tKR9og1edcF9HBy8ClY5Wgm0ln4B/8sP91IDX3lKfKDDwCONbTpmaiRYXKLiJF306a9zK59FBJKrJOPVutbrdK+LiDF3BvW9LyZZKYau9tdDjxNiqN3oyjCsGlXyoFtTgtW0UvYHgmnUOqEZR78C09bWqe9cN1NFtA2ZtJkI59VVqnnJZJNz6GL0NfTZZgeu9fsBthfd5H3u1DPeBhoJztwW7ToVPOtRKQ34eeg748UkHGvnsCsoRaTbZErf6d6PbY0dtzvU30a6oMrIboM7RUpAyurnfvb8nfyrZCP1NYi6n/fxBttVQZ6B0Ramt9sQnG1R3KtDu64EO3VlXiCVEY0Sn3cverizYcg8hgxS9dJ6qq/Yg+r8zgI9E/XkGxiYx6+dQBWTatXgKirboyg20i1Jf07FVghu1EdsSg8BmsdpAjTPTPe/aU320GNe0KMWYTP9GPoHTYaQw6cjjWhFHoF116uNQnZf4gahQ4RE9NvNYnRye+r1bp7PeZS480+hSTdp81Vn0sh+14KNsnRycmu90/FV4OHZ/8ux4UrffolaHnqYbx6d1BMRT/B6nOTzFVBWYYAAAAAElFTkSuQmCC\n", "text/latex": [ "$$1 - \\frac{x^{2}}{2} + \\frac{x^{4}}{24} - \\frac{x^{6}}{720} + \\mathcal{O}\\left(x^{8}\\right)$$" ], "text/plain": [ " 2 4 6 \n", " x x x ⎛ 8⎞\n", "1 - ── + ── - ─── + O⎝x ⎠\n", " 2 24 720 " ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.cos(x).series(x,0,8)" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA4EAAAAvBAMAAACvetL8AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEM3dMnZmu0TviSKZVKt68wbhAAAACXBIWXMAAA7EAAAOxAGVKw4bAAALAklEQVR4Ae2cf4xcVRXHv2/nx87Oj90Rf5A2TXeDWBKjdMkaE7XKGKpgxexAsyYttR0hG4K/2BqqgomdP4hJjbjbSDREbIdilay2jJK2Ght3bCkobOoYNYI16aC0Kmi7pb9gS13Pve/nvL3vx7ldOv94k847973zOd9z35k38+betwX+3y7zGahfZr1Ll1u8+wVukD2jL3IR8h/gM7nHvl7lU4LIjlT0QDz9x5UlTbRDWAMHucovYQ0XAVIzfCaz/f18SBJXJzXkJLl5bq6hKdoh7FVMlZjSK7GDSZD7AxqnNMPNzE4r20DVtpnbBvJMotPun+ZXEHgvO2vjFp0K3vR7tpAEeu7XBIE6HtHT7CD1KFv71jIbSRk6FXx5aZOtJID+HyypaIEEFaq6ZKe45HVsZWMTGzmiU0FA8+tsqmJcYKdoAVfqgh3j9hX50sMlJpOr6FSwAONVppDp3lfFOS2QoC/ogp3icq1knadtPIipCg9BcvIns/wPxL5STu9SSlSgV3oa1n3MoXXQ3Rh5YdUu7Ft5c/yL0ESuw13xEZgMcqdYQ33r+rdMNrNItVgUOUsw3UoOckE70e+wwY4BeawvH8T2ubn4GZjIqpGX4yN0cy5kcOd/WddgI3UsP2jsnGQIma4SxNp1jPeYpWEl+h62ZMeAz2JD/ThPXQOBDoN0PXWht8JLTnprg9BLVCPFhUNK+CI3mAYCHQZJdA9wk5P+2iD0EtVKcuGgs/xQGgh0GPSV+clJQhuEXqKaaS4IlrmANzEDaSDQYYDxusH/KhOj0QY1E1WfwdHP1NUHFnCv8ZXeGdRYATUQ6DDAldWTyLJys5y1Qc1E/Tk+Z+5I1Y0xvQH4A4b0C2eWTGSaIQ7zD2kg0GGAox/+LR6Yn0D0Hm1QM1FfRoWGuaO7SqtpyTHf0fZuzuxam/Zj83oqZ+NQ+a+fn+fp7NBAoMGoEMphyUjhqfB3ly4YwAER58M8MYG0dd6usLap2XQFGLV66s2nzN2Zsvpw+16Ws4lqINBgNBD9/ASpLShlo+gvmckBG2bJShTtrrXNeaYLCjVrpxXT59rejemsHd9Su0wyUi2mlvS91HG5JzNA9ZvGo69UhVduwvJNvniyQavaLatrbzKv2xZgX67o8tfZ9XGsmM7a8S2hyyQj1WJqSd9LHZdzHgPOer7x5/sfl/Ow+Zrl24XMg/TBPG8m0VOsp+yw6YawMhXxGtTiOgfHD4rctt8n03bM2wmWCR+GN4ZPKxwMFvSGjGErVY1lhUGkXxF4X9UKsg/YReYyq6vaTDg7twqrUHb6CoPlbPI+RBF0/i4NxoeED8OrqAv6OG/IGLaPNtPtqk3Vge0CHy5aQeiTUTxA9rTVVWwyA85OWefQobOczbh+xFELMTQYPxI6DK+0LujnvDGjbT9tprsaYsF7syjeajtG7tBaqmrbE2HJT44M/Gwbbnh4z/oyHcrX6GX/zj30upv+WdegXFmh3pLJXXRzvK6Kj4zeSl21s8DcFhHfdfRYETIeT8eMkAmuYIRWIBgh6CSmNuKoGmchirdZRPgb/bOLIPrj4ojVaO1/EB8CtpWTYtGzq0Lffd+Thb9deJgjMFdWkPs+tpRuqGMTzQskAp0F5raI+K6ja0XJuJ6uFSETWIgorUAwQtDNTGXFUk2bi9BXiQBfpn9WEWS84ZLcyJctRZoB+xpwL+TzA4kmsKgiH/X8gzguR2CvrHQN4Pk6PWk5fNNWObOjdHZDx4nv85bdKBkVE2cYKi5KK7CCEYIqLXdfLFWam6RmnBOv16J9XWyqiiuGRKNFx8T52yAqSFUWU/09VeB3RVCZMIz80ND7vj001LJXVvpr9IjQRbozql2/qR7kjL45p1EOYfGNt8ssSj4kVCaACZOxh+GVkSlSeqFaYWCYoJOjcyK8Bp24WKpdsoIpeUO5gk68d12sv0pRrGbsoEeJ2yv4XfM5oC3Cw3oPmisrw2XaQb9P+sYWLxc/IUW5Fc6Cc1pEfMfPY0TJeFwdM0Im8FKK0goEIwSdxJRGLNVu+Sna3xQR6Bqk006n32pTJdsCfoq3nfFUsKsJYxZpUX73U9ReWelvWNfgs0XjbooR4OwGJysifpuv1YmSUTERMoGFiNIKBCMEVTm6+2Kp5uU8i7gdtSroWd4arrvB/gQc91SwuwzjIl2vR+gBFOEkR2CvrNDHN5oPUz0/UUZvBVA6C8rTIuJ7PB0zSsZx9BgRMoGFiNIKBCMEPakpzFiqubkqsNS87v7hWxcbL7pRny/iq+JL8BrzezDbAt6BOxo14JBwkiOwV1ZoHjBb/1gJ7yxsRTe9C5TOgvK0iPgeT8eMknEcPUaETGAhorQCwQhBT2oKM57qhtePrLL+mGuNb13sLk/Qb4yurd740MYbX7vnztMt+iUxSHVf+/FjJeADwkuOwFmSWfrMj5F7Znc188ORx+ig0llQnhYR3+PpmhEyrqNrRcgEFgIRWha41/OeN0UjBK3MSjDonT6/xVLN/Ov0kxY6XmxfFzs8P6Szx3kmLke1tCroHPQbgc77D9zj97X6PsTjNTlZ8vS8pprJTV8jgGTD62rbPsSuoPhLAJObXKc8tVCDR+lmciIU9HFWHtuvGioiu/NZ0b2Z/vFUrSC06am6trDC5kU/Z7vmK8IKn9kNcs618HhV4PObD3Ednqj2yveMu8ex1MyvkBXz9omW4+cxfIg1jKUHaFJfcl1NQ37GeBDTVIM7/j19sBkK+jgr7tBp+oOld+PN4t1C0yZMVTc5OfvlduevTbjH5Peb7O7z7AwyxZehbD7n3iJ6JtRQEIJ3oXtMjQTkRDO8DxGwuqWiAmRSVEHJ3QH8SMUFaDVoqjEcVAuK3NKDyNLIUlRBpqqbYLL9bKZF3KBm2KdxY5CHZ3+Qc88p9F7w+HnMIKRA5zaoqZntRZysI3l7S4WpEYgKSo5+AR8txgebQCscVAuK3LpbEIP7KP2mY6oSbLf/2IbcJuptXV9nr9lPhzrZTIAzfR72nrF9fNsApGvC5+ftKpm/AydLyHa1vJ6OrURkBSVHv7XGqSyKpgaRLSEcVHItEuhrIEMTWTWqIFvVyc9ZeJZ7Rp39b6CRmOEF77t65294BHlfD9wWUEF1LHENCs4Q57Ii7Zgv5vcEFzw+8iTo53vmHFL1a8FXdZIrNByT7sXGPJ03zBQTR5zWvww96osiOEryLHIVjQomz+Zmad6XleE/RRpscCOmqlM14rCXZsb4qu7Yn3NNZIuezhtmrmBG7p9BfiuTSTRoiUSjgomGPJc1hlxuRjhrgN2DooKzqNkV5KgyElxw13yDGbKPHgkRPw44bVr8XZBGBafF3C/GOddgdkAkpgHmL/TXkDlLtxX0KcpV5ZyMhfZ1fh7FDZwYQPpcXGfTL91ArqxRQeLEPcXRphkm1mtijNzSDSbYPYD8GbqTKVzcI2enuaqk2alWqOGXPO1u/jX4F+R+fuLEyW21+EryToa4Os0E312Mz6G/Rc5ssIfuyWfoZ2761LdOnHjtJTH/zFJlJLjQrquAW3gxM/Q9OMFCkjWkqAg9LQYlKig5mho+wOAw3tAB6W9sesbSE8gPkNY2gKvKyXBhfXMrpg8PMkPeh0VNFvLE9DT9QqPlZgYlKii5RJP+3wVGO1rTAXMNrCnig1hUIqnzdCfEVGUkuMCuXTQRPMCMmZ22VlLicsvn5uhp2Pzy8+W4BHrvPX0MkjN2ri/FxsjxF/Tu0gD3H/41sHhEjOzA3CZwVUMy/B/KVMZkwCR28QAAAABJRU5ErkJggg==\n", "text/latex": [ "$$- \\sin{\\left (a \\right )} + x \\cos{\\left (a \\right )} + \\frac{x^{2}}{2} \\sin{\\left (a \\right )} - \\frac{x^{3}}{6} \\cos{\\left (a \\right )} - \\frac{x^{4}}{24} \\sin{\\left (a \\right )} + \\frac{x^{5}}{120} \\cos{\\left (a \\right )} + \\frac{x^{6}}{720} \\sin{\\left (a \\right )} - \\frac{x^{7}}{5040} \\cos{\\left (a \\right )} + \\mathcal{O}\\left(x^{8}\\right)$$" ], "text/plain": [ " 2 3 4 5 6 \n", " x ⋅sin(a) x ⋅cos(a) x ⋅sin(a) x ⋅cos(a) x ⋅sin(a)\n", "-sin(a) + x⋅cos(a) + ───────── - ───────── - ───────── + ───────── + ─────────\n", " 2 6 24 120 720 \n", "\n", " 7 \n", " x ⋅cos(a) ⎛ 8⎞\n", " - ───────── + O⎝x ⎠\n", " 5040 " ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a = sb.Symbol(\"a\")\n", "sb.sin(x-a).series(x,0,8)" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$- \\frac{1}{6} \\left(- a + x\\right)^{3} + \\frac{1}{120} \\left(- a + x\\right)^{5} - \\frac{1}{5040} \\left(- a + x\\right)^{7} + x - a + \\mathcal{O}\\left(\\left(- a + x\\right)^{8}; x\\rightarrow a\\right)$$" ], "text/plain": [ " 3 5 7 \n", " (-a + x) (-a + x) (-a + x) ⎛ 8 ⎞\n", "- ───────── + ───────── - ───────── + x - a + O⎝(-a + x) ; x → a⎠\n", " 6 120 5040 " ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.sin(x-a).series(x,a,8)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.6 Formules de différences finies" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAANUAAAAqBAMAAADWqgN8AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMt0Qq5nNdrvvIolEZlSFnHVmAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAD5klEQVRYCe1WTWhcVRT+Mm/e/L6ZDhYEzSLj0EBbQUZstK4yIiW6EAdJG2ooHRQRF+qUpmRRaEcqEUQwREQptT5aA6UgjlroItCGLmy7aUOpP3ShD6kbKyQhi0KU1HPu37u3iavw6iYHcs853/3ud+7ce+dMAGUP1XWUtPd2vfvAagFHN2qt+0I3znDdR7jxDtd/hP/jGRZW7z5cDQFrgkx0BDixmC98uaXNHGVHdGB8NjKhFVy2Yid0BAKS/k9muWsv9GeoV96xkZ63mjLNRjYs49HvASnw8KdqlipnIxXf7552gHOPRPBaDrQpUunrDsxJ8bmTgBJYUbMZ2uxqppzcpzjSnbxShz/nQNdpsbAflQ/MfP6vY4AUCJbUbKkJaKaCjJs0EQViRd5GgO90mldFy22NiG1IgWJVg58Amqkh5YOWDYgVP9gI8IZOM3MyimvxNpRApqlpbwOaqSHl/a4FlF7cQktGLaQwemAF3vjzvRfodhpywtS6ObULEALT5/siPDP25EwEnIuZlhCH7hY2tQmijRm7GuaW4GOs/QpQaknY1MJdAlggOI6P62hmh/wq8FPMlHwzpiITUvBNhYYnYsT7An4Lt3A0fIked1VOmFqFRQJY4Nk57EEpzC6nqfDvgnnvfiNqfpZebY3tMcrm6Q8nAO81AVX8JaS6qGCC8Z4FGvxabdtUrdagEGUGWGB/HY+jB7kW5ehTTI5dY2ps4s1RLW35DgZnKeHDQjDJI5VoSw/xkljgc3j/ECZuAFdjpuJpl4l0xP59Ht7hQdpgF79RFCzjqTXOMNegORLw/kaJP+L10KvrM6R0leX0JsXMZzx+EJMGI0yUT3+UXkCXbrwjJ8znyvNaEvBW6Pj+3Dn7MooE/BIzJd+M+iELQFw2P1ptmXapv1heHJgMIroqtS1TS7wkFngTN5rd+c17cY0WjsRMLaN8ULUAcdm4FCPe0LdfHfBG2n/8SlgqlBOmlnhJLLDj8KNDlYHx8r6IGNslc3rPe0w3rZsTfn7a/AZHqYrOXX9KpabWsABsAQIKVYCYhQYuzvK8ad0UW33yNt0zGXfPtUx3adV7yw35iCwBXsWdm5jpOvKTnJvWTXEuZETYVvXz8KEGHF/oOClSx1oCsAQ4P0OfqUNfuyWklzk3rZtijyaU/fyqDHZqwPG5upOidCgUgCXAOf3KMDNdRZrbSty6OfmaB8cKc06qkltrgYw5AqUQ1NOEpRZgt24JJjT2tWG37oSqSNl+OK07yVp+E07rTrIWfRfydutOsBb9K3fWad0J1uoFDjqtO7lahf7dw1WndSdXK0P/A7Sc1p1YrX8BwRD99n56AVgAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\frac{1}{2 dx} \\left(- f{\\left (- dx \\right )} + f{\\left (dx \\right )}\\right)$$" ], "text/plain": [ "-f(-dx) + f(dx)\n", "───────────────\n", " 2⋅dx " ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f = sb.Function(\"f\") ; dx = sb.symbols(\"dx\")\n", "(f(x).diff(x)).as_finite_difference([-dx,0,dx],0).simplify()" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAR4AAAAqBAMAAACXeynqAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMt0Qq5nNdrvvVESJImaynIhAAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAE6UlEQVRYCe2WX2gcVRTGv93Z2WR3s5uoKAiVbGMDKhZWtLWCkJVSoi+6SG0Ral2UIvZBtxgpiNBIShVEjBVRKtpB9EklwQe1vmS1hYoEXFoLeVGXav0HpSlBhNQQz7n33Jl7pzvxqUsf9sLMOfd8v3PunTt39i6g27UVca4K42179qqaD3CgN581d0ZvfdZcnt7+WXt5euvTW5//WYG1Zff3p5gAt3RczOVQx7yOQc51BSoaBe4/uqFhlX/B8i23L9CdL6yY43bMK9iVbdylqWgSmW9GaWd2vKQ6u44Dn5A3/3wLZl4RBbBu5wE3vCW6O64K+vMVoVNP1zTGRTuQLG7WBN+LVXw/S3bgviPw6kA28DYCT1LEbazbeawuC5KtuCz1TtwYGHowEJWKdiBZ3C0EmUwFuWmyuY+n4LeBs8C3wDkBChTRjXU7j6KFJdFKsgIRjSNfVgw9Z2ZLRQ0picbwBKTllpBZIZ+zcmQPAjM0RamRbxhOVbXyKD5QNuKb2oloNVWhvzEUFxXShLQt1KN+pozMRepy1ud0/U1TC5Btk0stGoF1O4+62Roj3J7RJqJ5qobeo0Xi2yFpQtr6TaefXgR+PbyNtizg8XzaGKhqIhxB6U7emZPDAe6euGM+oN0So0sPbKhB0cVd+5bh7d+67jtaTyoqpObN3Ty99Icb5PxDFz1m8V+A+qW61sL5KN3OK7yH1yuo9Y37ZeC3OD1IJRV9rNW/BB8TjYdp81BRITVv7unAeMqO0r3I7+w2mU8T+bJSoveldDvvnjZ2oNTqW8m0gQ9iNH4eApj23odfx3kcaD1IL7/M5GqsUWpulsgnRrhRnl+jUH6Rbu9SmNZnroEUd/2RkVsPj4xUydU6521WaevxeAW3I4X+OqvDdNk0ZijAtL+EdBNDOMQUF2XyssZk1M6xq74Vmg/v55kAhWmth+9L6XbeO/AuETPYYPBYjFZfB9O5SYzxYLwbVFEhNW/u2cB4ZOk390egv0ruXrpeAS7QT2uZXGrhfJRu5dE6lhYJmGt5lQ7v6yBJTI81cYHcwgrupGLlkKSY1fobVmcd8Bw9CIdeputP0L5AaVIT4XyUbuV5y/SqPt0y+xAGiPwjRuNtCjA9FuBQ/vSrmUU0dVEhNY97T2xlz3zN7BdHH9lehtqA6mNMB94b9N5lxuF8eIM6eU/hbK05c92j+IqEnXRRC2m1+3mUbKM0OpC/uGm6EOiiQjJNrQb67Gj5ynzXLUvbvU57hnuf0eWdnKCh0y3uWyMo3c6768Wbxoc27c/vDgjbyKxFq6+DaW/86x/2eTsbH/1FMhdVZHjEXtLrgPWc7bTt3EvzIqh2Smz4xErvkKe4YlnjIe1XORAfhYoKORiwDvwi81GflA6pe766l22pZmLmwC20VUT08Jg1mFhfUxAaH+qNHx+FigoZHrHqQ6StJq/D1E1P1ZX7mgSKk+KIMXo8T+QFl8Yt+v9MjOaiQvJhqFrqZmW8Sd019xL9B+O2RQL9FXHEGD2eJ/KUS+P3x1QgRnNRIfeYhAUZ6CcTcG2xrfvn3XDU65hX0g8TUcZzaSqqSOuILVZTSbmmxpW31hG7cM31skBXftikEewj9ujqahLWtbhzxHZt1OSBcvYRm4x1TXGO2K6NmjyQc8QmY11TnCO2a6MmD+QcsclYt5T/AHNIUHMyzsEiAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\frac{1}{dx^{2}} \\left(- 2 f{\\left (0 \\right )} + f{\\left (- dx \\right )} + f{\\left (dx \\right )}\\right)$$" ], "text/plain": [ "-2⋅f(0) + f(-dx) + f(dx)\n", "────────────────────────\n", " 2 \n", " dx " ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(f(x).diff(x,2)).as_finite_difference([-dx,0,dx],0).simplify()" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\frac{1}{2 dx} \\left(- 3 f{\\left (0 \\right )} + 4 f{\\left (dx \\right )} - f{\\left (2 dx \\right )}\\right)$$" ], "text/plain": [ "-3⋅f(0) + 4⋅f(dx) - f(2⋅dx)\n", "───────────────────────────\n", " 2⋅dx " ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(f(x).diff(x,1)).as_finite_difference([0,dx,2*dx],0).simplify()" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\frac{1}{2 dx} \\left(3 f{\\left (x_{N} \\right )} + f{\\left (- 2 dx + x_{N} \\right )} - 4 f{\\left (- dx + x_{N} \\right )}\\right)$$" ], "text/plain": [ "3⋅f(x_N) + f(-2⋅dx + x_N) - 4⋅f(-dx + x_N)\n", "──────────────────────────────────────────\n", " 2⋅dx " ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x_N = sb.symbols(\"x_N\")\n", "(f(x).diff(x,1)).as_finite_difference([x_N,x_N-dx,x_N-2*dx],x_N).simplify()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. Substitution et évaluation numérique" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.1 Substition" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAC8AAAApBAMAAABXUG2CAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEHarMolUmd1mIrvNRO9/G2jnAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA6klEQVQ4EWNggAMhZZHQBDgPiVHAZMTegMSHMTkXMP1ingDjIdEsDNwHkLjITH4FZB4S+/4CRgEkLowpfcGegRXGQabzHesYriELwNjiSmyVCTDOMKL/YwcfBp8XWRqxu0m45iOqBC8s8TChSbApQBXil2BUV2AQhqhE1cHK9oBhPjaJZewHGKyxSQjwKTA8Akqwd3T0vejoMACpgVh+X4DlCzYdDDUMTA+wSmxm4AbrZ2BAdRVDMcN9qI/RJISD6hegGsW874cRWCQGIo4wCsxnP8D4DCoBD0Qwn0OBOQAqgUqxKdWiCkB5AOhAR45k563LAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\frac{x}{y + 1}$$" ], "text/plain": [ " x \n", "─────\n", "y + 1" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "frac = (x/(y+1));frac" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " Substitutes old for new in an expression after sympifying args.\n", "\n", " `args` is either:\n", " - two arguments, e.g. foo.subs(old, new)\n", " - one iterable argument, e.g. foo.subs(iterable). The iterable may be\n", " o an iterable container with (old, new) pairs. In this case the\n", " replacements are processed in the order given with successive\n", " patterns possibly affecting replacements already made.\n", " o a dict or set whose key/value items correspond to old/new pairs.\n", " In this case the old/new pairs will be sorted by op count and in\n", " case of a tie, by number of args and the default_sort_key. The\n", " resulting sorted list is then processed as an iterable container\n", " (see previous).\n", "\n", " If the keyword ``simultaneous`` is True, the subexpressions will not be\n", " evaluated until all the substitutions have been made.\n" ] } ], "source": [ "print(frac.subs.__doc__[:946])" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAK8AAAAzBAMAAAATGEV+AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEN2ZRGZ2qzKJVCK7ze/WWNJcAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADKklEQVRYCe2Yz2sTQRTHv9v8bBLbhELqodgarBYFLagVD9Gg4EHQ5A9QuhBoqQcNCMVCwdqz0ICgCBUWD4IXm6viIYLYgyC56MGLVUoPgtgqgrRInDeb2e5O3zZaqoeSPczOfN/3ffL27WSXBKlUCtt9GKlUEkfq37ebi0S9XsW+bccSMNQCq77ugFakR3fft9T1/Ml5eiBeYHwbWjEYHg/0MUZf6d1skYvp4FAlvBbhKuCSSYsnUeZiOjiKRI3zbaJ1JbmgDgY6Tc7nr8XZgplvXr5isCX4oc/B4EJ6xT25m2jnjH5asIAIF9PBc7dO4Txn9NNuz44NcDEd3DUSO25xRj+tHPuS42I6mPNsSWuBnba1WvHfWtFZ5w+nADXhbbq6vCNf/3/1CFUNE+dm+9j45TJ7phXPan0Rt6fNwMj4lBy21lmeWdCUy03A0b3kiGngp3deysTHctSHaeG+IkV/cHd2hRza68QYxLAlZKNGQe0wrn8Q4F2ylI1g8a6xj7AEp73J4VX0EjOgXDLs5FwT0NAgaRvBMVN6ARvsAQDBRXTWhKGjYbJPTg6B8ZHEpmA70z3O0WddcCvwgt9STIHTQzBK0uyY7Io9AFoE+2k8KdpcNNFNc3GHTXkCZMX3aKHA5ScILcuoY+LB0dEbZBNVtccWMCxTNPBlEhvguJVFpCpdTcDAnCV8B4FngRomZYoGfkhiA2xgCR2muNmZzOFPmYxsCl+xuG+0WxaBpEhYElN3jmzFjBAVGMEVzEyRsP7pLDg6hcSqcAkw8snoT8pw5UjwRZJUj8VlXaW1y8SCe1ds8HvhzCK8QBmuHAl2twKJEuY1EwvuKNmteCXM85QlD+e+SPAl0pyKS8EfmokFhwqQ+5i21AnkC1qOBA+RqMDGRHHNa4q8+TZuK57x7FH5EDojxO67pyvenMmvB0zgEIkKLLZlzWuyV35j2xRFHjTCTitoHe+jUYGz2GPRWnyzGpdnr/xG8aQJ1IzPjbAnx34+KfB+TPgxeP012sxImYs9l6ICPyrmOJO/1oPYyDE2/EKqAty/pT9C2F+NhAzRDTVS6eo/+yPkN8yo9+ShR3PqAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\left [ \\frac{x}{y + 1}, \\quad \\frac{z}{3 \\left(y + 1\\right)}\\right ]$$" ], "text/plain": [ "⎡ x z ⎤\n", "⎢─────, ─────────⎥\n", "⎣y + 1 3⋅(y + 1)⎦" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[frac,frac.subs(x,z/3)]" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAJIAAAAzBAMAAACOFUz2AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEN2ZRGZ2qzKJVCK7ze/WWNJcAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACGElEQVRIDe2XO0sDQRDHZ72YxEM0QTAWghoUOxXxUfmobWKtggdCbAQV0Urw0dmlEhSEiB/A1NaClZpvYLCwsPEFEohweq91Zm8XV42F6BW5mf3/53c7Sw7mIJlMwvcvh9JrP30fBJf2C3RWgeMgZv5JWif5Y+fEsss7+1pbaJ5v2ctjp7AnA+atfqwr477omtGOVYE0DYuFVayr4tpCtBKbxKpA2oRzrKrjONQXqSqQAJ6prs4aLaqJpEgFNF/oTIElMIuS2GnsHnJYV8Wt4xtQR0RKMstNpUieGBTJ8dYoTBCNktiQdTRFdFXSlDUH80SkJCJ9Mvkn6R3YXzgnW37dh05I7rPtN+MvPCcW6k+58EF3bUVlpSh8QKrpEAuUuZq0nXCKDpWVXIh7T1OR2MqVS8rxAlWQGnlwpRApMumXLDokZvlZ+MaNUQXJDGpdUm2YEKxwox4pKJPc5SQ2Z0HKc3ODu6cQ4X0c4EaypzqzBLNapPdxQE46MYqwrkNC44CclGiw4OaNZKTTPdfp9JIDlXYXjAPYSLqDTCJe1tkTAB8H5HuCEYiW9Eh8HFCQzqDebQmAG6TdoXGAG2l3w5Dx/9vcICWhcYAbKSm1O1ag3a3fdVveCv5F40BAil08rjkW/t4d+AWBAddLY9HokYwiu/Xt/MWUlqNF0eiRaqxYDpm+FHokMzvwpWpcNANdVfpSXKjel+IrSNWvoPTwhbMAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\left [ \\frac{x}{y + 1}, \\quad \\frac{x}{x + 1}\\right ]$$" ], "text/plain": [ "⎡ x x ⎤\n", "⎢─────, ─────⎥\n", "⎣y + 1 x + 1⎦" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[frac,frac.subs({x:y,y:x})] # Ne marche pas..." ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAJIAAAAzBAMAAACOFUz2AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEN2ZRGZ2qzKJVCK7ze/WWNJcAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACGElEQVRIDe2XO0sDQRDHZ72YxEM0QTAWghoUOxXxUfmobWKtggdCbAQV0Urw0dmlEhSEiB/A1NaClZpvYLCwsPEFEohweq91Zm8XV42F6BW5mf3/53c7Sw7mIJlMwvcvh9JrP30fBJf2C3RWgeMgZv5JWif5Y+fEsss7+1pbaJ5v2ctjp7AnA+atfqwr477omtGOVYE0DYuFVayr4tpCtBKbxKpA2oRzrKrjONQXqSqQAJ6prs4aLaqJpEgFNF/oTIElMIuS2GnsHnJYV8Wt4xtQR0RKMstNpUieGBTJ8dYoTBCNktiQdTRFdFXSlDUH80SkJCJ9Mvkn6R3YXzgnW37dh05I7rPtN+MvPCcW6k+58EF3bUVlpSh8QKrpEAuUuZq0nXCKDpWVXIh7T1OR2MqVS8rxAlWQGnlwpRApMumXLDokZvlZ+MaNUQXJDGpdUm2YEKxwox4pKJPc5SQ2Z0HKc3ODu6cQ4X0c4EaypzqzBLNapPdxQE46MYqwrkNC44CclGiw4OaNZKTTPdfp9JIDlXYXjAPYSLqDTCJe1tkTAB8H5HuCEYiW9Eh8HFCQzqDebQmAG6TdoXGAG2l3w5Dx/9vcICWhcYAbKSm1O1ag3a3fdVveCv5F40BAil08rjkW/t4d+AWBAddLY9HokYwiu/Xt/MWUlqNF0eiRaqxYDpm+FHokMzvwpWpcNANdVfpSXKjel+IrSNWvoPTwhbMAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\left [ \\frac{x}{y + 1}, \\quad \\frac{x}{x + 1}\\right ]$$" ], "text/plain": [ "⎡ x x ⎤\n", "⎢─────, ─────⎥\n", "⎣y + 1 x + 1⎦" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[frac,frac.subs( ((x,y),(y,x)), simulaneous=True)] # Ne marche toujours pas..." ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAJIAAAAzBAMAAACOFUz2AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEN2ZRGZ2qzKJVCK7ze/WWNJcAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACPElEQVRIDe2Xz0sbURDH52VjEpfQJgRMD4I2WHqrRfxxivXcSzy3ARcK8SJoKfUUaO3NW06FCkLEP8CcPQuetPsfGHrooZfGFiQQYc3b577deW9nN8ToyT3sZub7nc+bvM1mWMjn83D3g1Nmnf93B8FP5xpmRsDhiOojaaCdvLd9YrWPu3uDtMA+WFBERqUnA9atOWQggnGzDWtIU0jvYbP1GRmI4NiwoY40hfQVzpBMBrknFvxGqkICuEIyHVRymS5SVVKyB4M90GVItSNI7CTdgQYyUMEpZLeQhnsyu4V2sokMVLAElVWkYRJbtA7fIZ0Mit/ftJCISUiKC/axYViSYbM/oyElrLRyZ4btyazN45Ye/zOV/aBCseNO+NHRqsJ9jtM3DnvvtDUejsT0talMzLebsqlCLR9DSjzXKqgETfqW4zUHVKGfz4jVKBL7dOGSGn4F8alYvnQVjZRcva3Y5CRm3Ub6RRpTBMn0al3SmE7wMtI4GMkrC7mGkwJTXhrcnjTCxPqzH003K42op8CUl4Zw0uvUtjEdQQpM+WjSWCvVS4t7Io2oJ2/KG6XSq1+l0hZfNLSnDGRtLgaNiAT+lJdLhZIAnlqc1D+kEZP8KS8NBKnSYvyHRpL8KR9Nmlz5AuMuiOrJn/LRpKOdZXgbSfKnvEeq/31piZLguVAzF5oi4RnT5/+2eUY+d96U9wzCHnFWjYIUmPLywYyAuJJqFCR9ysdxdF2Q9CmvO+MyVXgxojfFjdG9Kd4AeRG0aOl7Hy0AAAAASUVORK5CYII=\n", "text/latex": [ "$$\\left [ \\frac{x}{y + 1}, \\quad \\frac{y}{x + 1}\\right ]$$" ], "text/plain": [ "⎡ x y ⎤\n", "⎢─────, ─────⎥\n", "⎣y + 1 x + 1⎦" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "temp = sb.symbols('temp');[frac,frac.subs(((x,temp),(y,x),(temp,y)))] # Il faut passer par un symbole intermédiaire" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.2 Évaluation numérique " ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAATwAAAAPBAMAAACLsm6CAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIomZu0QQZlR2ze/dMqswxovtAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEdklEQVRIDa2WXWhbZRjH/ycfJ0nTpMGJIgxbUxEnjAWO32IbvybKYAe8c+KO7s4JCQiTXS3sTrzoWK9EsRWHgh9bB64MFFv8mB+MLswLEXUUK05wtlXXj6Wbx//7f5IlIN5ZyMmT531+v/fpe97zJsB//DXhl/411E0WgGd6hr19PR/+1/Ca4UfM90Pk3r/hy0Uz75zmNRiJ4AVHmkyWy01LCsi33jsFf8twaDXZOI43kAx+Abzy7aExivDs4TtIy+sUZkuUt7aTsukiW5c20K/gQIOl/sKxyBFz7ej05VuA5w8VjuNGJFaAzWFxFi5pQP+ZTyIkgV+tJnE0CL70v8L3JexBZt0YRaig2JDXFLJ5n+NCezI3vSll69IG5tZRm3SlmIh4yc21o3m+4zfgIXBFPgTeRKoKlzSg6IZfBJ6zGqq9SnEKqQomGn7LGEWZOvxJ80ohW18FDzvVnNlMKVuXNjB9AgPE+af2vj3ajuZdqgVsw0yEpVJ21X2e58sAtXeza081WaDoPIll7AqZEqMoUVV79JpCI2MRRQCTsplSti6dMBAYq6tY7Q31tudfZNNN3oalZt+Uq5lXoQPU3u7tuMtqmN+KWhW5K4yya+7WLXHDMkpfjJL002sKjbxrHk1m01PpbD10G0T6Cyt27eVKnfbOv3K/rV7I0TMYeH8Ld7iSAor7x5soxuMNrR5rvKpWj7sUT7Edx1i0dOlu85pCI62z40RsMk3vLrL10AJReP13Z7Obez067W3HYOj21U7OVbiE2tvIN6CkgFTksZNtrVKnphjC7b014LvFJm1kLErEbwDOawo34rfqOGlJm956cLYeWiBNYw1erL2hq+0BqVnsDQtLHOyvoLaM5DSLmOwAO5C9aedKp2aQD/8JnFvncNZdyFh08No4hPN2FP0VPwbui5Ts2NiDbD20QI7nte3do5Ep9bSX/AP+PbdOcCkCYGAWGXfjmOwAo6UXkN2I2jW3Mb/n8Etu77kHwzGKMhWMTcvbUXDkMnAgbE9m07MH2cSIFohCEyn332r1bkCnvdQkkppqlE1zIfonkVlT0oDHgdEml3OwQZI1+Izv7H4VP3JDNMQoyvNcX5dXCmjka7ZXV1I2U8rWpQWittrT3tOLixs/qdH8LIrLbsIjwEF4Jd7UzIqSBnzER9NnQbFuNf7frhh9VT+OXHtkrlNUY/a8vFKYbYdbPSVl00W2fVfpkkDk53tuLlUf8zURIcFbWMXLkXcFhSHkojT33pSSBgwBH+A492JJNUj/xV0zjcGmE8xEYhTlS8AD8kphtt3ce8yxVjZTytalDeThPFbnOW+PBsCjzrXnVfBqhNeiVB2bg+AC8CD2NpQUgE3ITePJCPutBtk/eVCcwqPuq4SnnRhF6beQOUQnvU5hI6kh/yRzTMpmStm6dBt8IuBPgk+Bn2fmqLk3fsyiTSN3AokyD7tjcczuEwHPHyUFeMFChMJCEFoNPDddeTjkt0rAnwRiFOFcQIe8UphteKTZTsqmi2xdWuA/TQAb2AydRzEAAAAASUVORK5CYII=\n", "text/latex": [ "$$3.14159265358979323846264338328$$" ], "text/plain": [ "3.14159265358979323846264338328" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pi_num = sb.pi.evalf(30);pi_num" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "sympy.core.numbers.Float" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(pi_num)" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$1.69568553207377992879174029388 \\cdot 10^{-31}$$" ], "text/plain": [ "1.69568553207377992879174029388e-31" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.sin(pi_num)" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOBAMAAADkjZCYAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAiXaZIs1UEN1mu6tEMu+iw/3TAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAV0lEQVQIHWNgYBQyYWBgCGOocGDgbGBgXMDAtYGB7TsDvwEDzzeGeiD5k8FfgIH3E5j8yFAvwMDzCSTL9o2BawED53cGzgcMzAEMDG0MdRcYGAqV9jIAAMSUErnbiJtLAAAAAElFTkSuQmCC\n", "text/latex": [ "$$0$$" ], "text/plain": [ "0" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.sin(pi_num).evalf(chop=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.3 Conversion d'une expression en fonction numérique" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [], "source": [ "cos_vec = sb.lambdify(x,sb.cos(x),np)" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(_Dummy_321)>" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cos_vec" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "X = np.linspace(0,4*np.pi,1001) ; Y = cos_vec(X) ; plt.plot(X,Y,\"m-\") ;\n", "plt.xlabel(r\"$t$ $[s]$\");plt.ylabel(r\"$\\cos(t)$\");plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. Manipulation algébrique d'expressions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.1 Polynômes" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAANEAAAAXBAMAAABnpbd1AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEHarMolUmd1mIrvNRO9/G2jnAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACwUlEQVRIDb2UT2jTUBzHv2mTZk2XNtuEHQQXtsPEg3bOwcRDIzgQLxZx7uIhCOLN1u1QhTnFUwX/5ORhCC0MxeNkHgQd9CgIric9tiiIF3UdY+ic1Jf38rIkTeppe4fX3+/z/f765SXhAXQJ0+Maq/Z6lyHf3esM9v+ZurK5P0lJbb+SAGmfnh5wNvBFPJtZjX6cSum9Ea6KxTAuTV90sfLSLWkhFFEx/cjTLUH662k9ZU/W0/BSeYhJXmMJ59zaLmJbGKr5iN2oFkNjwI8OkYLDYUm9RbzhduXVmRu8pr/qd2RqPmI3CZ2hnxpyVVb6d/FpWFJB23Wl2+313Y5VBStI3CTyLHJGh0qA1BuW9IFZ+0cOTJshU+p9gGrCqI4BZuBnIt1jCMNjU5cCg0dIUv8sBH/eztRonRiLseNh94M4csLRpEQTlWCSuAEZI/pNf5JikaT8dSTXvVzYsfAVSFZj23HLK/C6YDLtuVzDKQZ3z9RTxCKOVU9yM/uV0JtVzHnEl71caAMLGkSkai4W3pXtZVCQbjFNS+v4TIhcLj/6Vi5nqVgCDLylpWdokSQJxEwm4MG/gEqdeDMEdyzRQGrL0Rqa6FyK7pmSRXtiIzCm6CQJagvnDZ/ygCRZhDSqguYT7GaoRZOoNo9YkxncpKtQqlC30ce4s6vj47kvefKwj/owXtMzHaznIPkFu0tnkW452gpSWebgSWIesb7V+DrywUkyR8wrftwg7wkonF7AR79gd0kLBcvR5tCwz04WT3pRKk0mNgebqkmxZ8ssQ86qvz2ElKm8QL69weHELdMv0O5TaZVrAxfuVJmDJ6212zvCrH7tSXBQXvujCxOj2wE+M2cESFR72RF4UpTP4VLtP4YIWa7ZZ6eL37ARTobnccjsaogUe/R4x4uPNBPhHia6yV20xPDtLmqndIVech38HwXsn0k73DpYAAAAAElFTkSuQmCC\n", "text/latex": [ "$$x^{2} - 3 x y + 2 x - 4 y - 6$$" ], "text/plain": [ " 2 \n", "x - 3⋅x⋅y + 2⋅x - 4⋅y - 6" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Q = x**2 - 3*y*x + 2*(x-3) -4*y;Q" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAOkAAAAYBAMAAADt18dsAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEHarMolUmd1mIrvNRO9/G2jnAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADCUlEQVRIDb2UTWgTURSFz0yTTjJp0sEKLrpoaBfdVqsguGgExZ9VUEs3LrLpOpEioVBrQJAI/mQnuOlgUepOqwtRhEhBFEGDgroQUhSKm2orUkSr8Wbe3PfeTBPJqgOdd+53T++ZeTMZwDuM8VFHqO08W7BK25knsnpr9o/tT4077VPdji6nM1d4VLQUJn5t5to0gvhNsOywOtrubZpUA25NPFGFUnbxZQYtLu6IsmgqOn5KVvY9KYPCqMraKGAuJysl5hH9AzxVwFcXthAC9hXsl3wex4VOViTzhKVqcwMDVa3L1t3AV+C61vGk2TK1p4DH7LQfHDojdHeamVhTqkyuoreqSrD1m4MxF6nwIzq2pHmlzGu2VKOxJho8im0fWXhrXt05ZCrt2FgGPXqrac62TH0l5u0Y2jmeE7J55lTGZ1ULSF6CMZxGn2BspeoaEB3RnYDpLulmbm4eHq6RLph7rBIzlcr4hWohMrQX0e5lzAmmUiPfgXhVc5K8gyXd7DeNzQpWyOyav7q0zfFHSXwxMCufu21VcUAwlRor0OWWAk5kKVUz+02jAcw6iCBRlXarXL76pVymvZJ4FTCel5tHhmypdSeVxidSykpFkf4ia3RS1rhLqWxWGD+BuRo5e9N0koe8AR9TKh+RDBIbqDsR/5MtrXG6VSSX2eetN0Gpmpmblym1QkXdNRxm6rkyfqZaA+vN1BmYy4LJ1EnYbniH346O/t2nmXnMQ+9e+2tjiDKi1R8l8aLqpUZoh3EfiRHBODWShekgflc5hfoMzczNOj1XIH9wFu8Y0eqPkvik6sUroN/rFOrNHaKDUxeKRfrJWmkPaqff0MzME1ljBdg12D2dY0SrP0riD1rvfZG+/n0nzruCcerrRmMTiPlU+mcai5pZ4ompjNRS8CgGsa2e034vaF3g/wiubA7ScMWfdObe+8kFrVa1uUPeEbRO+1RfNLOOO9CPgp5YuisbJKKyt7xMxNuZWw0Isv5g2T14Lgj8KuG0wO3MLawhZPtvbAiHyxth8L/6H43OuS1M+ALLAAAAAElFTkSuQmCC\n", "text/latex": [ "$$x^{2} + x \\left(- 3 y + 2\\right) - 4 y - 6$$" ], "text/plain": [ " 2 \n", "x + x⋅(-3⋅y + 2) - 4⋅y - 6" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Q.collect(x)" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAOsAAAAYBAMAAADpIhdRAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEHarMolUmd1mIrvNRO9/G2jnAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADKklEQVRIDcWVT2gTQRTGv22TbLPJptsi9GCRpQUrHmxrKdRTorQgXszB6HURxJvGeoilpRTxkIN/clIsgoFe6q2iB0HFeBMEGzyIJ1ssiCcbSylaI/HtTt7sdBNKRKgD2fne73vzXnYzOwG8oWVGLKH29KpDn9vThqJZZ9nY/A9to9ZftzVa+5rF3dPCc7v7De7BBtIUvG9KJTwZ2FJG7m1Kmk1EJC2hkZkuy2CHCGXR5uwgFIQzZyQyHkspxALCvwNoR9jrRz2IbvmRqjqGgNcqIG3cwphECzgltFkQ8zDwTbokmDObYgEMOlrVj1R1iNreUwHpeBbPGRlPx68IHbHFvG4hWRTSuzJntMoC+FRG87ahB9Q2YfmZrrqsxIlarSJcLk8PIpkSyLsyryOzpHiI/FQjqcNxahsvyNgT70TY3b8v4/iOUv4OtL7hibPCY949CY2K6Wl/CfCxoKZK57DbNkwfdVQnBsoUZ9uOqicUlwdCG9DRb18Ta5inLyFaCdzDiZGUmspNjILbNlri2Ju1agFfiBbbttsLvsPlgY4s5jFYPCa8OjecGbQvken4S4DIlprKThhu28gcx96s1YBZCyHESpLr+fztr/k8JdPIASm88KTPNXxGwqaNUgZ68+644WasW5yqvfFoiuC81zZUIanQH8BDWoxOmy5yyLuNZl22wQZz8ztOp0RbtsaBV46SWueG7bU1VzlPzDepbYHkSlGzfIfL4wKMIsxtdAmPuV7CESJxRy7Rapbb1k+tO+bISHItHXzIeObd7f5yEmFZgn4KWwShNNq6XrZXkBYx89gQnhCJ1dNcc40esprqMjESQ7R5ljgS8wr9tvT2Hp/FB8Xg8ou53Fhks2fVdITJXB8y3ZdUfS3u03urpvrVOqmlbvuxq2JpjXZyT19kylEMLr9cq1W1Sfvi3brHXBsd2CZkzvlrzNx0WU2Vjr78y0ZHUcZCnLuaChAKuXzQ8Xm45HreBg4mNYsXm8EGFjzyOYH5DA44Lgue8JzXMCv/GQ1e6+A6Rr3kWLG1NUZgR7W2qiHrvHei0gHQYrmY1VDin8Cj1lbPN037A5xbr5MXBj30AAAAAElFTkSuQmCC\n", "text/latex": [ "$$x^{2} + 2 x + y \\left(- 3 x - 4\\right) - 6$$" ], "text/plain": [ " 2 \n", "x + 2⋅x + y⋅(-3⋅x - 4) - 6" ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Q.collect(y)" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEgAAAASBAMAAAAK1oXlAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEM3dMiKJmbtEZlR276s0Yu9/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABKElEQVQoFWNggALWtIoJMDYyHV7UguCKM3D9RvDgLNYHDPkIzec3MH6CSwEZsyAcPgEG3gtw8bkTGFAU7YHI8H5k4PsKV8TAwP0LicMAVcRnwMD3BUl88gIGmRoGxgcQIagiIIf5A0KRzzsHhoS9DFxQIYQi/wMIRQzcv1k3FDHwNUCEEIrMGRiEjEHABCRzX5DhDgPvASCr2Nj4rrGxHUiQgb0ATIEJFwaG/g2cHxn8HSBicJOWI9Qw/hcAKmJXYDgLFYMp4k5gCIUruwe0ToDjAUMfmiI3BoaDcEWrQOHE/oATFlhQk1jNy+sM4Io4y4ERzPjsOCx4oYqY/v//rwBXBGWwwURgbkJXwMBQxCC7ASoKjWBMNQw2DM+wiKIJ7Tk+AU0EzAUA2T1HmdFRA74AAAAASUVORK5CYII=\n", "text/latex": [ "$$- 3 y + 2$$" ], "text/plain": [ "-3⋅y + 2" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Q.coeff(x,1)" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABkAAAAOBAMAAAAoFKpzAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEM3dMiKJmbtEZlR276s0Yu9/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAXElEQVQIHWNggALWtIoJMDYDgzgD128E7/wGxk8I3twJDEg8BgbuXwg5BobJC5B4Pu8ckHgM3EAzhYxBwAQkfF8ALunCwNC/AcZj/C+AxGO4h6JyFYp9nOVAVwMANtkW44cnmdIAAAAASUVORK5CYII=\n", "text/latex": [ "$$-3$$" ], "text/plain": [ "-3" ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Q.coeff(x*y,1)" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAMoAAAAaBAMAAAAEdd60AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAInZUiRDNmWbvRN27qzJGkhbKAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACyUlEQVRIDa2WPWgUURDHZ+9u7y6X3JlCQUHhwICVmEIQsblCKyNsZ6MYtBEtFFHrrawU0phCCw8LUWxOxEIWw3loYSPBxkbhLCXBjyJNhMT5z/u+27iimWLfvP/8Zmbf2913R7R9Fh//nGxftbFK5a5INar1xmJEnRztX6QjKmlHN9rISV8VbTonAikyehEQzyuynuR2qbc5XJpVzNi1gShbITCVCseXSt6O0QuOHDZIMK4kRPuVUgjssZnICqyFDgeJzHKDYPzxCvNVySkE6LrJjd4aT49nb66xdy6hWjoSUdND3KF+FX4INFIVJwfQupZoH31RrqVK6FJNacIg4YgidBdaCJTb0Ngc0EIlWPT+2w3lWUq61Pr0SOmjVylyEWoI2HwHlHo6eWJz84dyLSVdSgtqU1eWolSjepAipzDBrrey4W4VsPkOaM4HBDhLSZfGGsn9np87gKBnUuQWBADVmYE8Iy/fAVP9gODJSJfWBj1nMUqog6BnUuQYBAC7qKJj9i4dUF0OCICWkrVE63RP0k8nPMSXM9gQihT5Dk+AWB5rLcte3s8yVPWASVmmIhDxKekS6y5RB2HfpMsTKNJlp4nZu3SArIUsAdJSai0bdAHqQ4oxeOY2BAAfNlgsm813gHRxREBJl9ZPGrDKH1ETQc+kyG0IAB4TyTaNdhGg2Q8Inrh7kS78juFtXZ2bWULQM+lyDQIDrTeDk0MVDNciAH8OPgHOUtKlvkBPWeyUF7sIOvv04FWb6BkEBip09JKOmXwP4Fv1CYCGar779YFfh2WaHOr88SHqQQsBky+0AvRr6ucHFFVTfST6iPXVOanOTCPacxCCAtyZbCA8aM/4TKbX3jx096ppIfA1TBub3WHlzJhqBP1rUQg0Z01G/ojHO3pOWrI+rdxCIPd3zpahetv5/+Pp/zBblNAbv0X07+Vy90/sCaLfnO2nzt6ERKgAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\left(z - 1\\right) \\left(z + 1\\right) \\left(z^{2} + 1\\right)$$" ], "text/plain": [ " ⎛ 2 ⎞\n", "(z - 1)⋅(z + 1)⋅⎝z + 1⎠" ] }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" } ], "source": [ "R = z**4-1;R.factor()" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPkAAAAVBAMAAAB251VaAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAInZUiRDNmWbvRN27qzJGkhbKAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACYklEQVRIDZ2VsWsUURDG58zt7eUiMaCCoMWCQkpFbMTCP0CEq6wsDkQQQRRREGzWRhsLGwu1ECxCxCaijTwi8dA+nY3F9RYG/AecmTfjvi/7NsU+yL158/2++e72dnNEtEb5NfB2X8B9vvs827V96Ny+rh8nVax6A+8O9qt8wdNg/z0lOh07PYF1sred90e5mEFqPBQ/73L6iP+I+gFEn4ludvpdLmtBWussJ4/vSRuBTSe7ANdlfyYv6J/U0ouL5WWvcZfh9FJ6CJx3rAtwXa0yBP1LVQMsT2mjOaWVDr8lHQQwPQOkQ0Z1y5+ms/yAgdWwOJG6uNb0q9JEANMzgM0p1iui4W7Lb+kuy9sfnZnrV2xO2TT9qVQIYHoGEAuv4eQF3zgzrtBv6S5/YuA4DfkVlqZfkhYCmJ4BbMrRcka0tNXyW7rLrwUvHsrrtSDrq5Txs/+RKgEeh/AqhG3p5oFmwvRIxd/oHoOJvwzhy5sQdolcVvGYzIOln/29tBDAz54BfMrlKZFc/X1+++xk8g0G+H8qs7CaK48ApuuVR8Cn3OFCrzzKnm7ynKlNIr4asDT9ubQQwPQMYFOKv3wrjXdafkt3mR+a1e/zKwtz+abp9+WEAKZnABsw2eNnuKxafkt3+QM/HXTxtpl8+/V2m50f5YiAp3cCPmFeE62stfyWTiavLJxv7YMtaSHg6QrngHTKybbf00VhOf6UpJ7/dVlLiQDfIs3KAY1K9EgO6E9/ZUT+lvJQn4qn3sBgRwd0+VW+Donp4Uc89AYOx8e4y6/yoE4Tk3os9wyv3sCTg/0s/wPbz67k6MrUQwAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\left(z - 1\\right) \\left(z + 1\\right) \\left(z - i\\right) \\left(z + i\\right)$$" ], "text/plain": [ "(z - 1)⋅(z + 1)⋅(z - ⅈ)⋅(z + ⅈ)" ] }, "execution_count": 72, "metadata": {}, "output_type": "execute_result" } ], "source": [ "R.factor(extension=sb.I)" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left(z - 1\\right) \\left(z + \\frac{1}{2} - \\frac{\\sqrt{3} i}{2}\\right) \\left(z + \\frac{1}{2} + \\frac{\\sqrt{3} i}{2}\\right)$$" ], "text/plain": [ " ⎛ 1 √3⋅ⅈ⎞ ⎛ 1 √3⋅ⅈ⎞\n", "(z - 1)⋅⎜z + ─ - ────⎟⋅⎜z + ─ + ────⎟\n", " ⎝ 2 2 ⎠ ⎝ 2 2 ⎠" ] }, "execution_count": 73, "metadata": {}, "output_type": "execute_result" } ], "source": [ "R = z**3-1;R.factor(extension=(sb.I,sb.sqrt(3)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.2 Fractions rationnelles" ] }, { "cell_type": "code", "execution_count": 74, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGkAAAAuBAMAAADZ8SrdAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEHarMolUmd1mIrvNRO9/G2jnAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAB80lEQVRIDe1Vv0vDQBT+UtvURqqpCB10KPUP8NeiU6NUECeXOncRR6tLlII4OGRSJ0GnQBdXwVHRUXAwkzip4OJki4jQosT0rpfm11XjJOiD3H3ve++7XO7CewAxoTAhUxRmjCO+FSaf5vYZ0mt4VUL+iQqIeXYoFcpG0Nsl9Upp83Oe00gj8daOtlEFsQ/bk45tSMFIUXh3Usk96o0BzzZfwbyNCbgz4FKJGRqvysjpFEI6ya+2oD2JdRtagKkmgZwC9A8PFIq9pllz5jTx7R6E7NjsIuWZyvJ2racUGQ+84ZkJBXEMZ9a9qugLkNAjja7Wl9I4G8U3HGJEn/KquktAFD0XLA/CpdY0hRJVWcEpgXFN23nStFHiqGTsy5DJM+SB8yJg7Yaa/V0J61WW3euCTCOOUTDlpirZQIqytmoJko5BI4eYI53BR6CaOuuqYcGtii4gImNlehM3LNUxH0Csi6/ph2TRrTpSVevK0llxoxVwaICkWjaEtczyfotlO7w2Tdc/4xL5HKbyBToS7O/tmPQfDHEC5g+sFmL935P6d/rL987c21++pfL1ly9UpObD118ozdWSmu/vL7xWQNehNd/XX/itgMhcNX+IlPxtK+Cig/YZXPPBodkKgTWf0wqYhlPzOTRTcWo+h2YqTs33059kvaw5iTloEQAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\frac{x^{2} - 3 x + 2}{x^{2} - x}$$" ], "text/plain": [ " 2 \n", "x - 3⋅x + 2\n", "────────────\n", " 2 \n", " x - x " ] }, "execution_count": 74, "metadata": {}, "output_type": "execute_result" } ], "source": [ "F = (x**2-3*x+2)/(x**2-x);F" ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAE8AAAAqBAMAAAAAIxtcAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMt0Qq5nNdrvviVRmIkTkPrJOAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABg0lEQVQ4Ee2SO0sDQRzE5/Lw8joN+AWilhae4COlaJEyaU5QUgRsBAUtBNt0YiHY2qiFlVXqNF5jKRzBDyAWWlgoClpp3L2QvVmzJykt3OLuN/Ofe+wyAKwpDLXmVt+GygH2f/C3k/oTxxPE/WE4SB2+VnoBuxUXfNQHbV32lONtFqG/ItkwBW+R+wI2eJT2WfV5BTgBrvtS3rMsFJ+5qAbIusoAHogjXAaqRYz4kYN1wYt7s5cDe58BcksU3BZcsyvpEnkSrQ+g0CBzWujA/kz55ElM1IB8Cd1wSeNUPIxMQyIWJuWaCNkTV+slxN5FBIGxXXJCLIgXYvSY7C3Jz0HSJU9gG04gPx2tA6B8V0UuciRZ57BdFJrkXgBX42t4Iktgx/PEUab5j+6B+f18vaUHd7rdd7HzgNxEkcQP7LAOt8cGcZ0YONIUC6fJCmVNsci4rOD4miRxI9lYGAopNBVGDQmMhaG5QlUY5cTCYGFiooOFMQYNhTHmTIUxBw2FMQa/ASuyVz4vXCtdAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\frac{1}{x} \\left(x - 2\\right)$$" ], "text/plain": [ "x - 2\n", "─────\n", " x " ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "G = F.cancel() ; G" ] }, { "cell_type": "code", "execution_count": 76, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADIAAAAqBAMAAAADlBV0AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMt0Qq5nNdrvvIolEZlSFnHVmAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAx0lEQVQ4EWNgwAKWhjViEQUKcTkw7D+AVYrFgIFzAlYZzs8MLL+wyrAoMLB8xCoDFGT6gEtGvgCXjCouCdYAXDJXcUnwbWBYhV1OmoGhGKsMl2poiAJWGbb///8nAGUYlbFKMzCYhH3GIcPAPuhlmJOUQEAA5AOgR4GAgV6uZun85I4r4AajuHmJ4e4HWB0WwO7OqoBNhncB+y+WC9hkGBk4ErCJg8T4cWaS8wuYDbDpsjjgz8CNTYLhvXAkwzmsMqblfLEPGABjzTM9tOyVWwAAAABJRU5ErkJggg==\n", "text/latex": [ "$$1 - \\frac{2}{x}$$" ], "text/plain": [ " 2\n", "1 - ─\n", " x" ] }, "execution_count": 76, "metadata": {}, "output_type": "execute_result" } ], "source": [ "G.apart(x)" ] }, { "cell_type": "code", "execution_count": 77, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAOQAAAAvBAMAAAABVnvJAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIomZu0QQZlR2ze/dMqswxovtAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADCElEQVRYCe2Xv2sTYRjHnzRNcmmSM+LqIP0DNFihUEXqKCJm81fBg3ZxUCIOrsHNyU6Ci2ZSB4cuTooGCiJ4SHEQHMSsXbRdqogS7/313D33Pnd9E4xQ6A2X59fn+fI+5C55ANJXYfZEOx1z8BtvHYoOLZznqpah8pOL58duLuzkF4hsYQDHuOM87pZ/7U5bFVUHST+A2ppFAlxtw6QkazvgbzOSAN4PNpwfdDplH/w/bJulDhvOD7pIRh3qW1ybz982uPAuMUfJr6tsH2+Mbyw4Sq6zigBvgoxETthNstjiWnwBuNDlEvkxN8nbXJPyMJicpHcEDjKiryc42I8ADxjJO5N7Lgvrc6f7jGRpbpzXun/u9ybTjIZmhsNhj4b2PTWBi/9/EPf2JSczgb062OjpdLnE0E6F4csw/CBMFySqiSrLz0NxyZ9gRQl+hGuvDnaEI0al//iUzSz1RMKWTCQpn5mIy6rd2KbW5di1JJ2omFeW2RPuphPSF6tGoi1KjkSlOps9odxLJaSrVo0nmDKv9dEoxJVh9oRiJ5koGU/+i7L/JPEUdsigdN7sCTWsF4a3ql0J1wLt4QdPYTqD0nlf7wlXsF4YVHLGnBlreArTUtKmMK/2hOORf/3RjdmujFPJqYEM0pvcLiiFBVKSoVBA7glPo/pWdbPYlxyVrPRkkN4YCgukJEOhgNwT3gFUmtVtX82QSnp9bBYbDIVJKWlTKKD2hBcADZjuCaoYhu9fheFA2BJubAmTXhaV/MnIoIwAqEcgkgQ4YL6o9JSlNSonPI7CKinJUUrAU3vCM1F/rVkOJEcl7REBS0lU3DIGawT0nnAWYKX9HaYURiUriyqauLMU5qWkTWkBsyccBbj/6SRcUhiVLJp5Y0+ewrSUtCktYPaEJYDlh958l0qqVaPexGba4ClTlUUlBERpfcMA4hNPKYOHkyliU4qkIJvSdZVWEsDXugzOJ1PEphRJQTZl6s4Yw/osLFohDIxHaXwF26SN6SAdif3xKM0XOnEjat2iLvHGoP4CE0k+cwhUMOkAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\frac{3}{2 \\left(x + 1\\right)} + \\frac{1}{2 \\left(x - 1\\right)} - \\frac{2}{x}$$" ], "text/plain": [ " 3 1 2\n", "───────── + ───────── - ─\n", "2⋅(x + 1) 2⋅(x - 1) x" ] }, "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(G/(1-x**2)).apart(x)" ] }, { "cell_type": "code", "execution_count": 78, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGQAAAAsBAMAAABhxwBmAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIpnNuzKriUQQ7912ZlSugimNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABzUlEQVRIDe2Vu0vDUBTGv1Sb2petDl1cQgqCgtDB3amDTjqIiIOdBLHQbh3tX6DB1+TgrIOh4KAZ7CQIDuJf0M3RFhEsCjH30XDbvK6bg2e4Pefe75fbk9x8AaaLZfhF/NY7q+iLq4BSwX7Tu4izYt87W0DiE1ANpC6ExYlnXmR8kF3gEkj1ofYEZLIdglwbqOWhmlA/ZJE9oOY0A6S7OH84bXQoGLqLo7inqu02tEw1Zsog8W+qaiGbz/RU1nfELmmNIDENcYyXaGpZd1eWVSG53x0DdLKEFzLk2mR0InyXrEY1dUwBh/mkQaoI5BVKHtgAHk+aNSQoEY7E68gYUFr6rPm2OY8DCWRG151HM2bbdunoaXKhM4yoK19VNiOMS7b9LpQ8ddv3LgXNuMcySPA///s74DzJ4CCXO7ZI3JCUCUn2lyPZ2GGvi/yfjIG7hTySayqimRHQz5PFC2aNUcTXk0UESJisdg+/v8OI0BZv333FIhFlmfMyCLPjAtYYE4pw66Z2rJTX5yQQZt3MjlO23Y1GuHUP7JgCsXBPdrWuHVMqtJeBdbt2LIFQrWDHkQjXCnYciXCtYMdDiJ8nj2opIHxfeC3x4x7LQO0PMEO7uAzSOYsAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\frac{2 x + 1}{x^{2} + 1} - \\frac{2}{x}$$" ], "text/plain": [ "2⋅x + 1 2\n", "─────── - ─\n", " 2 x\n", " x + 1 " ] }, "execution_count": 78, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(G/(1+x**2)).apart(x)" ] }, { "cell_type": "code", "execution_count": 79, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAN0AAAAvBAMAAACVsNI7AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIpnNuzKriUQQ7912ZlSugimNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEGElEQVRYCe1XS4gTQRCtyWazk+9GES+ihAgKugt7EEFEXRFBYQ+5iSf3Kiqbk950wZvf4OcgCObo52BcUMEBHfawIPiJn7MELx4UzCKCghirursy3TPTk3gQPGwfpqtevVc10+mZdAHwWL1xP5s8L7KRNA+tM4nOLJyZD+V9HPLj3KF1IWKmAbmmTHgxLq8N03Ru20YiXCOSm/sJmWUyAL7Iabirpiv5SRKNSLRMCzLfJf+v6mm65HoaUd1WvmvUyy76KjBgYp2qZ9cxUeU7ovKr5xtzmwMKhXSqnl3HBZRuQc2q3obU1HD1WKfq2XVMlGlTFZq3et5dz3uEVmPcJ8Aysjs9GjUAqUt53pN7njeboJPEfr63bPF++dpgJHHu63i/2HR9okhXqsMqmZfrbU8sw8FAx/UsuoAopIcAnhv1sr/HOGfSHOhUPZsuIFI6Z6G6qSXzqudzu+uT6qiYplP1LDqNSNKRXq+n9iOv50x7iHqajtczXqcRQ2m5Xgge6HK9gcQQ4a++15o2+XutEVfMlRX4X1cAX/PBo4t3H/whwPhgBTLiNJRoZfybFSjHp3XiYYnagpZceqpCR/cC2/UDO2K9iiASuGDBEeZj/adYSqECMTmd6rYa0fEvO24sgu3m8X9W9Q3ZqTgl5Osw0ohE1sLYDwKvRiICwL5jR3wkONan2jpD/2spVvSIsI8C3CVjMhJhwDwbMYozH+tzGoYL5WvuHc2W5v0GzJXRbEYiDOSiiyJDfKw/y0wxG/V2GSFyjgHM1QDcqUiEgZE2W9FZHOs3I35z6fqpjohzvZsT6J4UUOjyDP1UHT9zL44eOm3ERP8wNmtg6AREcaynh6gUjqdagsf16ufQfScg8zL6C316iBQs+VuNmOgfilMGhk5AXKDQU4BiubCcwRQ4VD2nsxGdzwIyL/kK+vkOwBt4XT5hxET/UJL3rQX6RHmsvw0wCmlxV0ErkAV6jCOais0qGbl5gBrsE9hV0U48RFv0HaNdgWoXJoLculgPoN+h8HqWfiJKaxoa8h2heiBuyQhT/+A2DUg4dO/iG0F9w26yL5ezyMXB9UZm0YlZz0/glPH362DUXYYbOGmD+ofoejJRHetnAK7Nz4FqGbjerU4d4L2WS5qjdSjgjaV9yB7IdAE52hD9Q3FaQ8hkIh/rcdN/PbwFLkka17vstAHonTDHumoVX0HATV/6fqXpdoyo6B9SvoHhAysiH+vPA1x5UZpUUq6XfomyByEpwJ5e7xuCbguyE/7HD6E49Q/5cggME/M1ncD1CHNaesSwaTvGj3XxcIDKHce+/r02v+TMELP1q5zwJecEe9kIz2vCQOCnw6vGIWeaLet8zRY5aAvgppu2xNINSyCAaSfGjaLtGYhs64DfxGUi7A+je2X/vcbuDgAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\frac{2 + i}{2 \\left(x + i\\right)} - \\frac{-2 + i}{2 \\left(x - i\\right)} - \\frac{2}{x}$$" ], "text/plain": [ " 2 + ⅈ -2 + ⅈ 2\n", "───────── - ───────── - ─\n", "2⋅(x + ⅈ) 2⋅(x - ⅈ) x" ] }, "execution_count": 79, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(G/(1+x**2)).apart(x,extension=sb.I)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.3 Expressions trigonométriques" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Sur le cas-test élémentaire ci-dessous, cela ne marche pas bien" ] }, { "cell_type": "code", "execution_count": 80, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['expand_trig', 'exptrigsimp', 'trigamma', 'trigonometry', 'trigsimp']" ] }, "execution_count": 80, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[ a for a in dir(sb) if \"trig\" in a ]" ] }, { "cell_type": "code", "execution_count": 81, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAN0AAAAVBAMAAAAwUfbwAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMnZmzRC73UTviSKZVKsmUdgqAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADs0lEQVRIDXWUTWgTQRiG322ym003aYuigheXqAiKNUjxUsWAP+BBjL8HEYyiUhFsxUORohYVRFGsSEVRSkAPUn9Y/EXxEOyhWj0EL6IIWSuCB9FWsaKt6DezMzuTuA7szvt938zzzswmA9Q2RyS82kIQ62k5NHokz1YN0eeGc+YLdSTM6KKurEW2qwXRUtJ4VSKdc2pwuii0Ij/MqvIb4NGNNhlX0WRS7znNKImURNoTasyGUK6Q6kxJKpg5mCUslZuM58NKtOC0hC+LEqlNG5A1LJbKlAJIZVH3G1tzIhMrCXFU9LUdp83xZTpEygTQE8qktgqZTAL2BTTmZNwrxEuZqOkZzWjxZfZfpJ2TNcSzoQzFMa4qYWWZqPzHj9Pq476cT0hjZiZ3tw/TLt9udimdKgJm5sP0m0C9T/GkhbOcVb5x4HlmmCIMsZe9H1jXvLa/DNxiMTXhZw5RckvmKadSmtEwj/wUchPQgUNAn2uMU5FtKoVmdxCI5ci6gAQSPpLDmOFRme3HaH4HlOqGUx1AC8WsCb+HZfus0QXL5dSA5mTJTyFP5FHEXmA38I0mJmjRrVjgvQfSxLN7UQ/Lh9WDxiyVDzI4KuWYVzfeQIlXPA79liN9KVGEMcqpAa0e5KeQibF5YH67gK80OdkNNGEHwxgj9Dq83eN+BTS6FF6ghwZ9N2DlmJrBXoOdnRc7O+mMzF8sVQZ+cWpAa2V+Cmle/VOq8QucYffQ7M1rJmr8jCZYvxHY4wTzoxacp8FWXOkGxjiV+zku81PIe1g/qvnFaXWwx7ExOE8nby5tYucp9rca2Pqd+53xzHzteZrs3mD7m+BU+n5l2J8/f+krKiSt7L3mZ7kw2xpG6JsiViBPFw1ZzW87rdmn89zU/YU+LLCIHtaC/WE5zUiWYI9yKuiHw4pJX0O+zmMP+3grgy3TnyA9uqXHpkWmaHC6F5ZHm4uL/d2iZWRRyVamPMNpQj1hPGrCj27a68ZZxIucKv5SaCxoyJML53ZPvbhz6s9ti374dJQdMJ+4b5cQI+FReCVzzdh9fm37+cnt9IPAcXpOvWij/1h6gJaELnpYE37mp34Pj/s/glEpTTRa95qx2RqSMnrbFwYPQqVEoklpUg7jsSb8gkB7KxpPRiDVlTqgzZMyVpKK93R9B+1oVVoFisZzEUjLE6Odgpqm1B4lSd2viiKCkMZrUUi6wYJm5YWo6uii0tpOTUfKkMarkcg7YmJrJMCRJ8iqMXkWkUN5UtJ4QMi/sDwD1mpYugAAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\sin{\\left (x \\right )} \\sin{\\left (3 x \\right )} + \\cos{\\left (4 x \\right )}$$" ], "text/plain": [ "sin(x)⋅sin(3⋅x) + cos(4⋅x)" ] }, "execution_count": 81, "metadata": {}, "output_type": "execute_result" } ], "source": [ "trigo = sb.cos(4*x)+sb.sin(3*x)*sb.sin(x) ; trigo" ] }, { "cell_type": "code", "execution_count": 82, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAN0AAAAVBAMAAAAwUfbwAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMnZmzRC73UTviSKZVKsmUdgqAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADs0lEQVRIDXWUTWgTQRiG322ym003aYuigheXqAiKNUjxUsWAP+BBjL8HEYyiUhFsxUORohYVRFGsSEVRSkAPUn9Y/EXxEOyhWj0EL6IIWSuCB9FWsaKt6DezMzuTuA7szvt938zzzswmA9Q2RyS82kIQ62k5NHokz1YN0eeGc+YLdSTM6KKurEW2qwXRUtJ4VSKdc2pwuii0Ij/MqvIb4NGNNhlX0WRS7znNKImURNoTasyGUK6Q6kxJKpg5mCUslZuM58NKtOC0hC+LEqlNG5A1LJbKlAJIZVH3G1tzIhMrCXFU9LUdp83xZTpEygTQE8qktgqZTAL2BTTmZNwrxEuZqOkZzWjxZfZfpJ2TNcSzoQzFMa4qYWWZqPzHj9Pq476cT0hjZiZ3tw/TLt9udimdKgJm5sP0m0C9T/GkhbOcVb5x4HlmmCIMsZe9H1jXvLa/DNxiMTXhZw5RckvmKadSmtEwj/wUchPQgUNAn2uMU5FtKoVmdxCI5ci6gAQSPpLDmOFRme3HaH4HlOqGUx1AC8WsCb+HZfus0QXL5dSA5mTJTyFP5FHEXmA38I0mJmjRrVjgvQfSxLN7UQ/Lh9WDxiyVDzI4KuWYVzfeQIlXPA79liN9KVGEMcqpAa0e5KeQibF5YH67gK80OdkNNGEHwxgj9Dq83eN+BTS6FF6ghwZ9N2DlmJrBXoOdnRc7O+mMzF8sVQZ+cWpAa2V+Cmle/VOq8QucYffQ7M1rJmr8jCZYvxHY4wTzoxacp8FWXOkGxjiV+zku81PIe1g/qvnFaXWwx7ExOE8nby5tYucp9rca2Pqd+53xzHzteZrs3mD7m+BU+n5l2J8/f+krKiSt7L3mZ7kw2xpG6JsiViBPFw1ZzW87rdmn89zU/YU+LLCIHtaC/WE5zUiWYI9yKuiHw4pJX0O+zmMP+3grgy3TnyA9uqXHpkWmaHC6F5ZHm4uL/d2iZWRRyVamPMNpQj1hPGrCj27a68ZZxIucKv5SaCxoyJML53ZPvbhz6s9ti374dJQdMJ+4b5cQI+FReCVzzdh9fm37+cnt9IPAcXpOvWij/1h6gJaELnpYE37mp34Pj/s/glEpTTRa95qx2RqSMnrbFwYPQqVEoklpUg7jsSb8gkB7KxpPRiDVlTqgzZMyVpKK93R9B+1oVVoFisZzEUjLE6Odgpqm1B4lSd2viiKCkMZrUUi6wYJm5YWo6uii0tpOTUfKkMarkcg7YmJrJMCRJ8iqMXkWkUN5UtJ4QMi/sDwD1mpYugAAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\sin{\\left (x \\right )} \\sin{\\left (3 x \\right )} + \\cos{\\left (4 x \\right )}$$" ], "text/plain": [ "sin(x)⋅sin(3⋅x) + cos(4⋅x)" ] }, "execution_count": 82, "metadata": {}, "output_type": "execute_result" } ], "source": [ "trigo.trigsimp() # pas terrible..." ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "NoneType" ] }, "execution_count": 83, "metadata": {}, "output_type": "execute_result" } ], "source": [ "resultat = trigo.equals(sb.cos(3*x)*sb.cos(x)) # Ne renvoie rien ! bogue ?\n", "type(resultat)" ] }, { "cell_type": "code", "execution_count": 84, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 84, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(a).equals(a+1-1) # et pourtant..." ] }, { "cell_type": "code", "execution_count": 85, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAToAAAAYBAMAAACYfyzmAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEIl2mUSrVGbNuyLvMt2wmzq1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEd0lEQVRIDa1WS4gcVRQ91V39rf4Zh4CBMM0YEzELSydEXNlOEkyIhAbBJBCc1pExuwzRnWIKMqAmCzsuVFC0h8GFJDIFgoQgOgP+SFy0/4CaaV3oQm1H4wfzsb331XuvqmsqU+ngXbx33733nHvmvqrqASKtGRldKWiMTFZWyv+PueTSwGQmzM7AoGsD7B5cXbluXb62ZoOijNukOtdDWldBkK1IdapYYleCBksUbKV6L5c0PHXJKe+csuMxQKIjqu6QtffFYhS9KLxCj1W3b5M8bzvSeVyqOyjPUB3V2bhxXV36GoRzFQ5lqjLR11vG+jdB/7mKhXug+B2lakjLEY3XvErL8dQZTYXMicbqBJjAI/KkQLBmROQGXXVMe9GOR/+DSoZ7rN7xG5B1oFQYsrA4su53Fmw6tAjL1qQjt6cBpUKB8Ba+5ux2XTmtvWjHdCie1Op0jz2yPEnqEi2tTkZpsygBFPzAgu+yd4uvTiWsN769m/15FUAhNHCdkI6gP/u8Dqsej8oIq0tdqJiOrpDOkb94dnv98Iu+y974TGBGXqrQ6y2Rl2p6R1pzjnYjHUFf9dWpHkF1OHD+HgJ/dvhO6+VG8eedoxOaaoy86zevHSGl63VQOOneJpYfATKrgDH64Kcb6FYaolYvQyMbYGzZVGcYB5k+6ZK6UI8+dYneS0TYQgmlBgoTWHQVH/8xteQE/wY8o2Jyv/UfqooC8cBMbLZ30RPd7ANZH2Jf+5yLWQGjFNOfBKkL9ehTd/BUr47UAhLIN5CfR5n4PfuROrjJi2kKPKli3p7ZOPcn3WIEqEQzPYq73P30bel4xXLNNfGE+z2w+AXDyIgeVVIX7hFUR6/KIXoef511hboWyrakw/tAEXkxgUWKGa902drkTiNzqRIJKtSBNl5niuJSH2i4SqG/gXKVe5ERfdYldcEe2NXtftztiheZ3wp6syzCrHr1jyh1RGYz0z5efKM/592pSBCrA87zkprnVdsiEWVo4uUW9yIjdW+CbzbUIzi7Ycruh1Uxnm3zzbYCs3uBOcZdoxK+Wf5Y031HgXJThEldxHXLbna4Jme3k3tRFdHfPzl56aFwj6C6ggscR8amdmF1s8Ca+gHxkBwhtoCdAfJuJChvw3gtvUQPFLKtAII+ME1g6j2S8hX3ohTRk32wrEdQXeoYsjYyC9SOBpcLzo4+I4c+uRe7iWOLYNLL3goO03AiQIkGMpeH5lM0QtPW9exYHyHhftPGcwJGAe8rdWFZj6A6fLl1G93FzaM3FU+cXjt3+uyceCSZ7wFgaDSznRrhJz77Vnx4az0alOrQN81+7CmqLbk+gL3VYxthja2vcy8+Ez2wozcb7iHVpU/8O8EVV7JSW2WsjvJi9190xTvai3Z8epHXPdTsolE6qn+XYTo6GOdM6wL//wEd6nN8ehE2HZndI/e47bgqOKWc+J3eFs+sVlyxpheFA/TwiNco/hnlxO/0O+VZvhJXrOlF4QA9PGLL8Xb6pF+9nZSlR2Mhil4URvb4D+JWOAOxQoHgAAAAAElFTkSuQmCC\n", "text/latex": [ "$$8 \\sin^{4}{\\left (x \\right )} - 8 \\sin^{2}{\\left (x \\right )} - \\cos{\\left (4 x \\right )} + 1$$" ], "text/plain": [ " 4 2 \n", "8⋅sin (x) - 8⋅sin (x) - cos(4⋅x) + 1" ] }, "execution_count": 85, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(trigo-sb.cos(3*x)*sb.cos(x)).simplify()" ] }, { "cell_type": "code", "execution_count": 86, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOBAMAAADkjZCYAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAiXaZIs1UEN1mu6tEMu+iw/3TAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAV0lEQVQIHWNgYBQyYWBgCGOocGDgbGBgXMDAtYGB7TsDvwEDzzeGeiD5k8FfgIH3E5j8yFAvwMDzCSTL9o2BawED53cGzgcMzAEMDG0MdRcYGAqV9jIAAMSUErnbiJtLAAAAAElFTkSuQmCC\n", "text/latex": [ "$$0$$" ], "text/plain": [ "0" ] }, "execution_count": 86, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.expand_trig(trigo-sb.cos(3*x)*sb.cos(x)).expand().trigsimp() # ouf !!!" ] }, { "cell_type": "code", "execution_count": 87, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAd8AAAAaBAMAAAAEfEvYAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAVKvNuxCJ72Yydt0iRJnNo+5GAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAG4klEQVRYCd1YW2wUVRj+9jLb3e7sdp8g0YQut4T0QaoBNYaEAdogKOmmoBEe6IKmIQS0IkSNSlbBSAqBShBUUNYqRCuBqtFGizARjEQfWEMCiT60hogECpaAIhep/38uM9tpt92VPhhPwvzffz/fOWfOTgFGdgRKL2c0jkuVnnUbGb6xt5HsTT3gNQyvxxFvHz5qBCJ8M2SRKSO4vrHK0idWkTOvlZ71bzLqP+esUFN+rp2vlI4XNcgcU6XaRZQIpxRhFaxzh0jtF1JMD1XrEEt/tdKEWJmvuDjcUXO540FXL4SyivB7KuCnQoH97CFxpMsT0hjL9nMOpujywldcDxFaw0+/RQ9nFCCMgJmMTap1whgYy5/MKcN3GQl8tiTsSyuHJqFU4NG9FxQ2n3OMO1MMR2m9Hx1tzJeifKRbmQb0QEQc3fwMNO63SZ/ANr9FD2cUIhw007C2yrAlUsSBsSqvq1uCY5CE5ys7MNVBEnTDrzfylnaZYiGNaq0HBH+tDSJF+WhSe7w96k//oV1aBhLGQcIlEu6RvznGZ7LMBkATM1Th7Y2/i9U4qxths4MECGfgEHNofYNd5IxndGi4W6MCUpT/OKm9ukcsoyzlAwhvBJ4gZxGEP+jsFCvPO9wTFAXLX8kJSRU0YdWIxHFBo8kxlAndUUOWS1gbzTlv/Uq4TOvAGhcOirh8ZF1S+3QPX1ZZBhKeCVTSTCZwgN+ihzM8R/rEHuVhwhPrhRKNWEJ21cLdSRUWruNTHqtWKhDIOJBB7ErK3UnlKevr6yV4Qqkk7nfhYEiUDwWS2qd7DEGYXp+uBDCeU4IWPRa1LmwkAyAIG20Tt4ujaTqvBxGOzJjGEXS5SOnv288pbze/b96XjHT0tFUJNz3iabrSZI1QUhulnHz9FwKRD9uqj6zCzrXft2a1/wwBNY2l2qbk4sYlMM7tz3EvMnF57CPCnh6FCRtMOKMINxBAd3mV/NwRhONozZ4nKwI2P3kEzWcOf5UScBrGCImnLttEzEIU0STKqrCbVDF4yVWNcLWyKRHq49VaALTjU2BVNnJT+3lb1TTWaZuU5tM41bLTxlzRS54aM0OEPT28hM938qA2MP8EdmfpWNu02A+QIWyX3/RnCMgd3oQD9iTW5C3FKGgue1XOPZJEVDD3raj7mw7pGoQQTCLYhIoMR9KIJgBVw9cuTfo56mhfDjiVQhozgdnAX9rziTuNO7VNykA1Rttf0JTf4V6yfAhE2NPDS9itIginqcHXwEab7BEEq6Vb7HALZkltBy+RxZiOdG2zMPpbUJ5ltBm+qyng8FxbELZQIczkKSNOqkakl/T5XKbzS0J0AVfSlRS9sg9MuAa4TlYxXnKnsZsNblJDmlyXgIo095LlNzHh/B7xzs6OFzo7k+THgEvLoB3uypJnfhYx3mEqlhVC7rAzDTp6ahDhd+UBp5vZaGcrTfx4gj4lpt8ajLCqEWvSFYSkC9WkqRuP93UPQlhP41S/HHEYfXSYKizuJQibWSbs6VF4h0FplTRX3mGIdxhdtpEiRRGO3cQjrEX5IQYRju+yGPJtxheP0Us3fAZmytjSwkfachYNAaoNWcNzpPm7hF6Wb/HYNS/hu8mlpuE50g3daod7uBe9aAnExo2bvCrt6eEl7L7DfJS2ED9+h3mmWJCbLN4OSdiY5++ld4yGPLuMiLBhbWDUTv+OMHiRrDaoiz/jIRzMQtcIWxzqjDIbeBi4g2l7jvRcdxrrnXgB6B1GYi2txuvci7pm2VyW9PbwEuYoNV4DThMcz6rfIuZv/IYfCUvCvmuLm2IJoYplZxQwktjgz9GpyJIWbKHHiRSaAd8aok2LFsjb4VASukacw90RmyoKjE4R7RpgivPyAEvdaZxzExjRV3fI3tGCe0Uv+vsuydYKy9tjCMLRhPE85UzgRL8FLG7znZUM+dIyzmXHvEySRv28lJD815IdnHWJuLIhkubHXRdzdHKXta2MzF69sG71m3X8C8Aj1u7UiNrC4jy2XrxA+GTz3ty2Z2u3XZ2z/kZS+X52p3HQCZeg/swKmGeW5rgXWag8/exNv7JHzVP30IT9s29UeSoYy1tbyOQQdt1cMH+cfEh+Wubbhsd8IcvxgwbDyijPSAyTCQ013PIiSvfQhAunFkG4cPJQHv05j4EfnwXT6BdLjXhGowLSLS8Czqow54+HAmlF7XDB3CEddJnJYVoKFCHoMpPjqAaFpFNeBJTQQ+5wdX5d75HO9xWPDUvFije+yDznR792uASnvAgsoUcNJ5Q35df/KF/59/iYSt1UQgkzI4PD9rBJurwILKHHIZFwz7D1/y8B/qmCyYj+v/R/eW1ik2h2/wB+Zcow+XUJLwAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\left\\{x\\; |\\; x \\in \\mathbb{R} \\wedge 8 \\sin^{4}{\\left (x \\right )} - 8 \\sin^{2}{\\left (x \\right )} - \\cos{\\left (4 x \\right )} + 1 = 0 \\right\\}$$" ], "text/plain": [ "⎧ 4 2 ⎫\n", "⎨x | x ∊ ℝ ∧ 8⋅sin (x) - 8⋅sin (x) - cos(4⋅x) + 1 = 0⎬\n", "⎩ ⎭" ] }, "execution_count": 87, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solutions = sb.solveset(sb.Eq(trigo,sb.cos(3*x)*sb.cos(x)),x)\n", "solutions" ] }, { "cell_type": "code", "execution_count": 88, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACoAAAAOBAMAAACr0JNIAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAzd27q1R2Zu8QIokyRJmp/u38AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAuUlEQVQYGWNgVDRREjFUZkAF/AEM+QUMEaiCDFMYQKLMaKLLwaLcE1CFz4JF2RegigJ5QBN4NVI3rpFwYNdIYOB6lgdWARRl4H+6voDJgGF+AsOJBWwCIGGQKJMCJwOzAQN/AoMeA8NXmCijAwNElOc7A4M0XPQBVJT1X3l5DVx0A0wtWDtQGGQuI0R0fQJDCwMDL0wtE9AENgWGigcMJy4w7AJKOPc3+/DaNwcwMOwun9HIwOW3ewEAxS0wjQp/2TIAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\mathrm{True}$$" ], "text/plain": [ "True" ] }, "execution_count": 88, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solutions.condition.trigsimp()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.4 Expressions avec des puissances" ] }, { "cell_type": "code", "execution_count": 89, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['expand_power_base',\n", " 'expand_power_exp',\n", " 'is_nthpow_residue',\n", " 'nth_power_roots_poly',\n", " 'perfect_power',\n", " 'powdenest',\n", " 'power',\n", " 'powsimp']" ] }, "execution_count": 89, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[ a for a in dir(sb) if \"pow\" in a ]" ] }, { "cell_type": "code", "execution_count": 90, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACsAAAAbBAMAAAAXCWteAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAInZUiRDNmWbvRN27qzJGkhbKAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABMUlEQVQoFZWRv0vDQBiGn+aHaU1aA44usYuT0EFclaJuQtTBpa0BERw7iFRBjJOjRTenUsHFoQX/geouFGdBF3cdXMWv1xMSyeLBvd/7Pvdxx8dBxtrIYIKq2fhftDvMbF/9GmE/eSYht9UXYlSSuCvBC0QWklQ17TTAjlKYPVi0wInT+Bzqs1BIUwqhArd/8ESswIHo5nxjpWLPBdTBGiq8L9o0np2+Zba5gHyk8L043/gsxtNOxAuYo1ngGkp4EYSFgEsJH78YpgLxvbD0DZNthXdH2vPtkEMMQfqSR6h1XpHBnvCG8tBAda/D0vsRN3BCL5apA4XvYLtstioyc/XUB1e2LPdNFSVrojPjmG9q7ET2ldiWjg+6ukFxWb5moGNNV7N8LM4LdczF2qhyNg4/6wA0AeADloYAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\left(x y\\right)^{i}$$" ], "text/plain": [ " i\n", "(x⋅y) " ] }, "execution_count": 90, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.powsimp(x**i*y**i) # Rappel : i est entier" ] }, { "cell_type": "code", "execution_count": 91, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACgAAAAUBAMAAAANaGKIAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEHarMolUmd1mIrvNRO9/G2jnAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAzElEQVQYGWNggACPU1cwWAwhrgFQQQSLgWEpVAyZxaIAE0SwGJwYFkJFESyuY74GEEEEi4FV8s0CiCCEJaQsEpoAFhAqYmCEqi9gMmJvAAsG5DFwfgCzOBcw/WKeAGJyJdQwMG8AC7IwcB8AMxgYGR4x8ClA2Az8MAbvRwZ/B6jg/QWMAmAm+wEGPYiY9AV7BlYIk9uAYTOEle9Yx3ANwmQ34P0JYYkrsVUmQJiMpuq/ICwUkvUAChfEqWGQS8AQbGIwxRBjSFK/ABEEAAjBKQjwhrXBAAAAAElFTkSuQmCC\n", "text/latex": [ "$$x^{z} y^{z}$$" ], "text/plain": [ " z z\n", "x ⋅y " ] }, "execution_count": 91, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.powsimp(x**z*y**z)" ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAC0AAAAXBAMAAABt1dtiAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAInZUiRDNmWbvRN27qzJGkhbKAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABMUlEQVQoFWWOPUjDUBSFv2hqfvpDJgddgktxEIMI4iIBdRSCICI4RERwlCJFcGlxELfi6CQOLiKIgnN1cBCEDBUcgzhrKwhO4nt9TWztHe4553uHy4P+KdyOxP0U9PcFiZ3ut3bQfIEGvG5+JsOrXNNypSNbBVcLyIQpa5stGJ67BKPSyw9h8WgDrF6MFShw/o8PVRTYFZIZe36bZ7lEJkKPFN8WYjDh7uPPYjYxQ8VvhFSZdF40r0y+zuCV4idCYh7EMY6xXArNPw6fIthffMTYNcU3pdgtVjBCxknv3IsLj/kmPrmIJzDrqr8kKj+rNdvDiOxv8TdX8QvRL7kzB0IaxRZkHcWzsVK59RBGO9Hc6RjKrHmwl8S7xFzTAK2exPXETBVPIRckUaskTmq1E34BXhA6vxxUC9IAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\left(x y\\right)^{z}$$" ], "text/plain": [ " z\n", "(x⋅y) " ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.powsimp(x**z*y**z,force=True) # On force la simplification, sachant que cela peut ne pas être vrai..." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4. Équations algébriques" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Citations du tutoriel" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "« Il est recommandé d'utiliser **solveset** et non pas **solve**. » " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "« Il est recommandé de donner une expression ou une liste d'expressions à annuler plûtot que des équations. » " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.1 Exemples" ] }, { "cell_type": "code", "execution_count": 93, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAASBAMAAACQmVJ4AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMlRm3bsiEJmr74l2zURt5drLAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAbElEQVQIHWNgYGBgBGIGZREgIZreCSTdGboEGJgCGJwDGDg2sIV9YGAx4DH/xsBlwFv+kYFfgYXhH5DUZvjEwG/Qx/4PKO7A9o+B9+AExu8M3D0GfAsYGH0LuDcwMLQwlBQwMOieaQea2QbEACYWFqOUzDJ7AAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\emptyset$$" ], "text/plain": [ "∅" ] }, "execution_count": 93, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.solveset(sb.Eq(x,x-1),x)" ] }, { "cell_type": "code", "execution_count": 94, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPBAMAAADJ+Ih5AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIom73c12Mu9mEJmrRFSCJs1eAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAaElEQVQIHWNgYBAyCU0sYmBgYLKYwLX/NJCx7RIDA6c1AwP7BisgDyjCvMAAyBADMhg3ABlAIMOuAKYZingnQBjSvAkQBjOjApQB1gVk84LN4QWyQCYzJAMxU6gW11OwWUIWXzYyMAAABh0SwXq4QNgAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\mathbb{C}$$" ], "text/plain": [ "S.Complexes" ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.solveset(sb.Eq(x,x),x)" ] }, { "cell_type": "code", "execution_count": 95, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPBAMAAADJ+Ih5AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAZt3vu80iq0QQiTKZVHbti7qdAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAYklEQVQIHWMQMvEPMhFgAIKAdIZ2kQlAhkMWAwt3AYTBkxAAYzhAGOwzoVJbriaARJKDPr0E0kBdglNBNJDBMvEBhMF9IAzCYDidAmVMYRQAsgKmMzAKVDAwAG0PY3CJvwAAmAIaQDAz1qwAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\mathbb{R}$$" ], "text/plain": [ "ℝ" ] }, "execution_count": 95, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.solveset(sb.Eq(x,x),x,domain=sb.S.Reals)" ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left\\{1, - \\frac{1}{4} + \\frac{\\sqrt{5}}{4} - i \\sqrt{\\frac{\\sqrt{5}}{8} + \\frac{5}{8}}, - \\frac{1}{4} + \\frac{\\sqrt{5}}{4} + i \\sqrt{\\frac{\\sqrt{5}}{8} + \\frac{5}{8}}, - \\frac{\\sqrt{5}}{4} - \\frac{1}{4} - i \\sqrt{- \\frac{\\sqrt{5}}{8} + \\frac{5}{8}}, - \\frac{\\sqrt{5}}{4} - \\frac{1}{4} + i \\sqrt{- \\frac{\\sqrt{5}}{8} + \\frac{5}{8}}\\right\\}$$" ], "text/plain": [ "⎧ ________ ________ ___\n", "⎪ 1 √5 ╱ √5 5 1 √5 ╱ √5 5 √5 1 ╱ \n", "⎨1, - ─ + ── - ⅈ⋅ ╱ ── + ─ , - ─ + ── + ⅈ⋅ ╱ ── + ─ , - ── - ─ - ⅈ⋅ ╱ - \n", "⎪ 4 4 ╲╱ 8 8 4 4 ╲╱ 8 8 4 4 ╲╱ \n", "⎩ \n", "\n", "_______ __________⎫\n", "√5 5 √5 1 ╱ √5 5 ⎪\n", "── + ─ , - ── - ─ + ⅈ⋅ ╱ - ── + ─ ⎬\n", "8 8 4 4 ╲╱ 8 8 ⎪\n", " ⎭" ] }, "execution_count": 96, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.solveset(z**5-1,z,domain=sb.S.Complexes)" ] }, { "cell_type": "code", "execution_count": 97, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left\\{1, - \\cos{\\left (\\frac{\\pi}{7} \\right )} - i \\sin{\\left (\\frac{\\pi}{7} \\right )}, - \\cos{\\left (\\frac{\\pi}{7} \\right )} + i \\sin{\\left (\\frac{\\pi}{7} \\right )}, \\cos{\\left (\\frac{2 \\pi}{7} \\right )} - i \\sin{\\left (\\frac{2 \\pi}{7} \\right )}, \\cos{\\left (\\frac{2 \\pi}{7} \\right )} + i \\sin{\\left (\\frac{2 \\pi}{7} \\right )}, - \\cos{\\left (\\frac{3 \\pi}{7} \\right )} - i \\sin{\\left (\\frac{3 \\pi}{7} \\right )}, - \\cos{\\left (\\frac{3 \\pi}{7} \\right )} + i \\sin{\\left (\\frac{3 \\pi}{7} \\right )}\\right\\}$$" ], "text/plain": [ "⎧ ⎛π⎞ ⎛π⎞ ⎛π⎞ ⎛π⎞ ⎛2⋅π⎞ ⎛2⋅π⎞ ⎛2⋅π⎞ \n", "⎨1, - cos⎜─⎟ - ⅈ⋅sin⎜─⎟, - cos⎜─⎟ + ⅈ⋅sin⎜─⎟, cos⎜───⎟ - ⅈ⋅sin⎜───⎟, cos⎜───⎟ \n", "⎩ ⎝7⎠ ⎝7⎠ ⎝7⎠ ⎝7⎠ ⎝ 7 ⎠ ⎝ 7 ⎠ ⎝ 7 ⎠ \n", "\n", " ⎛2⋅π⎞ ⎛3⋅π⎞ ⎛3⋅π⎞ ⎛3⋅π⎞ ⎛3⋅π⎞⎫\n", "+ ⅈ⋅sin⎜───⎟, - cos⎜───⎟ - ⅈ⋅sin⎜───⎟, - cos⎜───⎟ + ⅈ⋅sin⎜───⎟⎬\n", " ⎝ 7 ⎠ ⎝ 7 ⎠ ⎝ 7 ⎠ ⎝ 7 ⎠ ⎝ 7 ⎠⎭" ] }, "execution_count": 97, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.solveset(z**7-1,z,domain=sb.S.Complexes)" ] }, { "cell_type": "code", "execution_count": 98, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEAAAAAVBAMAAAAEBPWpAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEER2zVSJ3ZkiZjKru+/kt61jAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA1UlEQVQoFWNgYGBUYsABpk4AS5gE4pBn4D4rAJRi/Ygsvx0kBALchUCC9wCQYCsAElDAeMIfqkCmBaQPLIesgIHBHmYCMz0VcDjAnAiiUd3A/AAoNH8BkIADVAWcXxkY9hQBJRndy0FgA7oJDHNdGRhbYB4Dm4JqAkOKAjS0cFjB+hMogRlQYCMhAfUAmwLGLyDzcITk2fc1BgzlQCN47n0/jDUuQJpZ4c7GElkgBWwgAgzACsChBRMB08JwHjiUGZ/C+VDGAriAHJg54yhcAI2xDSgDAOKZOLJwUZ+4AAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\left\\{-1, 1\\right\\}$$" ], "text/plain": [ "{-1, 1}" ] }, "execution_count": 98, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.solveset(x**2-1,x) # Ensemble des solutions" ] }, { "cell_type": "code", "execution_count": 99, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADkAAAAVBAMAAAAOWFv7AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAInZUiRDNmWbvRN27qzJGkhbKAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA5ElEQVQoFWNgYBBgwA7A4kwG2CUZFoHETZAkXwdAOXxbGRhA2lgT4LKs1/OhsrFlX4GiqQwM7A1wWQYGfZheJpBsOwMDJ5IkmixnAMMy3LJsDQwluGVZLjBk4JblSGDYjFuWeQPDLKCnsneDwAN0N/N9AMkiAKqPuCYwJCPk0PUCTT6ELgsOEHBocBxg8EWTZf0GEgDLsiswrEaSvTN/rwLDbqBm3pO/LzEwcAswcD9AkgYxmWFhzSDNwMBRgCbLAudXAFkH4TwIIwjGZzwAZMXAeFC6AcbnAVnBCOfChKF0IwMDAIIpNvvVOWgFAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\left(-1, 1\\right)$$" ], "text/plain": [ "(-1, 1)" ] }, "execution_count": 99, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.solveset(x**2<1,x,domain=sb.S.Reals) # Intervalle ouvert" ] }, { "cell_type": "code", "execution_count": 100, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADUAAAAVBAMAAAAUZLt1AAAALVBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAOrOgAAAADnRSTlMAdt0yiUQQzauZu+9UZvf1EgYAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAB2SURBVCgVYxBSZsAKGJUMGFyxygAFWQJQ5IwSoAqZ1dDk2DrroHIZ05+hyTEwyMH0MQ5GObYiJRAwoJ07wd7H7ne256AgxZTr2qchwKAE1Mix+lEjejyAtPAA5cAALY5AYiwQGYx4AAkn4pG7gCTnhCu9aAcAAEjnKIELRTGoAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\left[-1, 1\\right]$$" ], "text/plain": [ "[-1, 1]" ] }, "execution_count": 100, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.solveset(x**2<=1,x,domain=sb.S.Reals) # Intervalle fermé" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Attention : on n'a pas l'ordre de multiplicité des racines ! " ] }, { "cell_type": "code", "execution_count": 101, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFQAAAAVBAMAAAAqQdQ7AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEER2zVSJ3ZkiZjKru+/kt61jAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABPUlEQVQoFWNgYGBUYiAIpk4AKzEJJKiSgfusAFAR60dkldtBQiDAltwJYTBwFwIZvAdAYgVQISDFeMIfptSVQXwCWEKmBWQWWBWyUgYGe6hSrgIGtgsQM5gJKAVaCHMZIaX8DQxMX4kzVR6o9Be6Ug4HiAiEhLl1fgID92ckpcwPgJz5CyAiEBJZ6TeIENitnEDX7CkCCjC6l4PABkQIyCcwMCGbyjDXlYGxBRo8qKYCvcWK7C2GFAVoPEDUAUmYA3gvMHBBoxHsANafQEnMKABZw/WAAehfsIWQcH2ATSnjF6AoQymD3AYIC0cUnH1fY8BQDjJMzPg0A5jFc+/7YaxpAGQgK9yjCBbYmahuBSllAxFggMQqAAqA4wEqBaGE4TwECxynjE/hMlDGArgAgiUHZs44CpfCydgGVAMA4k9PeRI+ndAAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\left\\{-1, 0, 1\\right\\}$$" ], "text/plain": [ "{-1, 0, 1}" ] }, "execution_count": 101, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.solveset(x**3-x**5,x) # Ensemble des solutions" ] }, { "cell_type": "code", "execution_count": 102, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAATUAAAAVBAMAAADV6mS1AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEER2zVSJ3ZkiZjKru+/kt61jAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEAElEQVRIDZWVT4wTdRTHv9PZdnd2Znfn6IHNViPoRVMiF4OSAhLDASmXTTjR4B8OAjbGZLigPaxJEzz0YBASyDYhRj3ZmGiIbqQEkBBDqAohKhguYGKy7i56EDehvPd+M7/O/DqTLS/pb957v/f9zPvN9PcbANZTSDUnNauTzl7tRk4WKZqPXYeEb9oT08TcQjEWxNz8aw93BX+0sPBTLCluFsmso3g4eH4FcBq72gOALLl9q43yCJXfMiRMwom53410ajgcvFADTqFwfwCRJR+rw269SeUHRNLl8QkemOR08E6RgzVsODgTzwN/D8Cy5F4T0xZ3pHojOS+OjEmej8k7HCQt10rGme80CWfiko9rTUM9ILdvBu9xjQUc89rkpPU2uQLvgUkC8iUjN7Dwl4OgTDVJOPd2GbjGd0uYIc9t96Npt3OW3bTevBq81aiuf12zt6c3RsVxOPdG9gE2XDn+Ugn2Uq/Xq3NGessdPPn6BY7wsW4NE75s0bTeqHB0ORRtIdJ/otXPTacMuLNV1dEYh4+VOe3+g+rtkvUAb61/+8x3nFG9FSZ+wUyTw508KJsdL7GzRSJZmvzfFAnnSkpU2D/77ea2UoTPrZ+S3vrwEbmF1Mbh8y1Ojdbd4iKcVbdiNzdLjertq8ku5uUGZZXlUU4QYL7CQY0H6U2RcARK9DVetEVJ82Fv/ZT01ofzkRRaDL7wruQasKz7GF+mZ8q7lk3k/kwRX3Lk/hkEwVH2YFf2Az6dF9crFNU4xb2FJDpiIlGXdi3ZWBC8T+oO+2HKgON7ggddLojDrTnWj9dpbcvwaHpB3S3sDfuAq6yRU4MdYNqhsitUsI2jGg8L9FMkfE6uErmdUZ5ji/aCTsnCNRzTqozGBHyiQ5lZOE2vjKmWjw+xrAqV/CLwP23ssAeZ+ZEOIYuK9jU5/JWHMzwIKV/FSSjRWGWK02xRbzplwPUikIDzPnWrsP3JKq2jaq0g/EQo+T16ngXGv8ADm1t/ls5YUh2W8Dka1TaTHf8NsBFKNONPFaWk35tOGXC7FBYm4Uz8pNG4zH/5N8abdpnIYiJ3VlEof8HxSEWlaZNvhXOjG51v+R2wPmvzHJOcI42PaqFoE2i5yqLnplMGHDvCwiScibt7vX/xDHD6U0xU8IOqE3muBue3Ciesq0+q/PPXF28vLVaj3nD81VfUwcmkETrTyqHoBjyqEot60ykDjnU/+1KYhDMx1UQem8kdUt8snTqgPeVkkvrvVCtMODbclG+WLhB4JnFArnWh8xi95VqGeDi4fceQReGa8rmoMrxmkow6DoeDW3dTpMPIrb8MYSbJqHsM+IlLKVpK6Q9O+rR7ULZIfDKLFK8J/WHgjwDzdShI3qM8HwAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\left\\{2 n \\pi\\; |\\; n \\in \\mathbb{Z}\\right\\} \\cup \\left\\{2 n \\pi + \\pi\\; |\\; n \\in \\mathbb{Z}\\right\\}$$" ], "text/plain": [ "{2⋅n⋅π | n ∊ ℤ} ∪ {2⋅n⋅π + π | n ∊ ℤ}" ] }, "execution_count": 102, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.solveset(sb.sin(x),x,domain=sb.S.Reals)" ] }, { "cell_type": "code", "execution_count": 103, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left\\{x\\; |\\; x \\in \\mathbb{R} \\wedge \\frac{e^{- x}}{2} \\left(e^{2 x} - 1\\right) = 0 \\right\\}$$" ], "text/plain": [ "⎧ ⎛ 2⋅x ⎞ -x ⎫\n", "⎪ ⎝ℯ - 1⎠⋅ℯ ⎪\n", "⎨x | x ∊ ℝ ∧ ────────────── = 0⎬\n", "⎪ 2 ⎪\n", "⎩ ⎭" ] }, "execution_count": 103, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.solveset(sb.sinh(x),x)" ] }, { "cell_type": "code", "execution_count": 104, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left\\{x\\; |\\; x \\in \\mathbb{R} \\wedge \\frac{e^{- x}}{2} \\left(e^{2 x} - 1\\right) = 0 \\right\\}$$" ], "text/plain": [ "⎧ ⎛ 2⋅x ⎞ -x ⎫\n", "⎪ ⎝ℯ - 1⎠⋅ℯ ⎪\n", "⎨x | x ∊ ℝ ∧ ────────────── = 0⎬\n", "⎪ 2 ⎪\n", "⎩ ⎭" ] }, "execution_count": 104, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.solveset(sb.sinh(x),x,domain=sb.S.Complexes) # Peut mieux faire..." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.2 Exemple d'équation polynomiale à solutions triviales" ] }, { "cell_type": "code", "execution_count": 105, "metadata": {}, "outputs": [], "source": [ "equation = sb.Eq((z-3)**10,2)" ] }, { "cell_type": "code", "execution_count": 106, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAKxkAAAAbBAMAAADesjHIAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAq90izWa7dhAyme9URIk9JpKFAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAgAElEQVR4Ae19e5BkV3nfN9Pz6Nl57C6OeYiHVssjIAgaSCFTosIO2ICxnWjAgKi4Eo0cQDwCjOQQUVKy2zg8XFLMDqRiI0jYFsHC2QRYbCeRAiqN4Q9hu/COXcaB4ERto2iFyl4WvBISCE2+7/edc8+5556+ffsx3dOjc6u2+z7O+Z6/8/3OOd3TSzRex/J4mZusHVEEaiPSm9SOWQQSUMYsYaMyNzHPqCI/XnpTQRmvfI3M2gSUkYV+vBQn5hmvfI3K2lRQRhX5MdObgDJmCRuVuYl5RhX5bvV+YIXo7NEOvY52aoD+V/zTymm/9Q9u3uigM/946brV/I0OVy/9P/+kQ4v445X47bK7tfdc050vEFY/e7BRJnW3Pau/jmjpTKvcrNlODbR7daDs++c331yuMnw6JKBMhXorXPcGlA//5RMryN49TSoVlNkzrQoWT7/n2xVaoUn3QDnznqqy0a72N1/f6qqDadwLUH7qiif1oGpPAiUxTwkSeisoiXlKQpo96r6gJObJgjeak8Q8ubgn5smFw7uoBJTEPF7EwtPEPFlEZs+0svOSk7TmKQlO+GhPTmVnz7RCPyPXac0TCUrbW3sSKIl52uabaCyY53GHl0tciDxa0L2FuesO0dL64lqkhbs10Vo44K7anc0u19faPQvvv3t7uxneK71+9dy50ufhw299vxXeqnI9250WiJxozZ6qIjvfZh/tO5S/sxNXS/0L/ZqK+M1ric7Qn5fLexr9fnkDPO0CKDPb2z+sINFrMiSgHPNUVj3tDShN+lRVBX20a/XRV7t2U1CoGlB+hT5Y1ayugTK1caKqbLRbvPP5XbW3jXsBytPoBtu9i/e9CJTEPGUA6K2gJOYpi6l91nVBocQ8NnZdvbe6ah1rnJgnFhVKzBOGpRugJOYJo+dfJ+bJolFtKpvWPFnAKpzsxalsWvOUJj6teWx4EvPYSMTedz3zXHt4k1Zilpfd+0PzcOEQzW/Q35Y1pf0b9YdKG+DhzFZ1K5q0r7NAr8VSk7a8y86n3+zcJNbiL3rYjZ3bWFqJySq/t3+r9nB5i0E8nVvrV8pC00j4MtHttH+5VN7DdLxR2gAPuwAKo6TZWaDXYkhAWTzt6ax62htQfkxHNqpq6L3db/Te1fTspqBQNaC8kyp/v6droNxPi125vNhbEnoCys10T1e2aeO9CJTEPGVA6K2gJOYpi6l91nVBScxjQ9fde2KeDvFKzKMBGi5QEvOUwTIxTxadalPZtObJAlbhZC9OZdOapzTxac1jw5OYx0Yi9r77mWd6tfo+KF2xJU7WV4yrvBt7ZJm+ZK7ib9zgx/EnRHNE/0afzT7KdlQ8lum+SMvaGyM3cWv+m19t9yh+/5t/0Yg92KD6cuy+uVd/77mSp20fTbb120VHOzv9042+d2ND4aLiRQ1VZF+vsCddv0//a3R5v+34Zar9Lc1v2svYOzfYvxV7IPec610ApUZLjYjA0EvXZEBAiYXWKSH60HH/qvJ5e6C46ECYp/+N/e/GBsKhIQjh9HplJ8KGPRSUMqB4rh9rvT5U1u46DpT2BYXu+A+NdrKi9xf/Y7QCedZGu/UIlGdGhcnNIJee/v6B4gnL9IchHC5QEvNkiYietC8oYS4dbhLzREMZ3IwXlAK/ul6JeVwssjOHuuxWGMLhFpTEPC4R0bNdyTwoZsMFSmKeKDyym4l5NBRlBcWbrKU1T4ac7CQgB2/G0v9U1gt9ps9jHqx+hltQyoDiud73msfz0nmuZ2nNE0bE379yz9KaJ7rWdQEKz9Jum0YEu21mN3b6LQfX31d7x/bBx/+nMFx8PXvBLe/lt6k/wMbqjN1A5N3YEw0K5mC1s7fyrtrZ65dVzvzW3AOhxLmmNpg///Jnm2fHHg0aQUzt5Cs3+L5tb5qYPxryOny0QQvb29s/4l8nFfP50pxJm+PfudEaLJdyLJ39Dktl3VCgFuMenv7Ji5+Cd+9FJN75M4cb9NL732lk7zv5RG6Q+Umz9XNeBz5V40WscYM+Lg34Ra1E69lX4c29aNuTtzQI0fG6Qr9puHTI9cCZGGgsOstMdeb+LQoSke+goRc1xgWO8WkO4SltBgsn+WHhKAfKNSefIJ1+4cSWdHyzvMjxZZp7iMI5mAsl2txBJ8I0ZbHyXC8ABWIu+/TbREg+tvQ1CPZeJOXqJfIml14yIkA5y8EEnKAAqhQ8EFoEikjUvLlRgLR4KV8Pd2MLQBG8A/RerwJQYBFkIzomAtzVG1VEfwVDvZc8UD589LOkmPaQ7LU2qPdd4Bh7QEEIJYyF4w1XPaF+4NI7v3fw7cuFZ/0UFIoAxRYIz/XZ7VagthugcJT8ggIvs6Fef/RjvxXIphhQcE8aLv7E+zaDDjGgYDR6KS8ARXMsYk22UVCs80bDv1gPVMWBwl29aBWBApfVIq5gKChe8QtU8KUK8woKD0YNIdoqxmNAKS8oiXkaBeYhP8oc3QLzGHiEQMlXx0JB6ZF5IkDph3kwShPzRAtK2RQlKCgoI37ZllFYKCgDYR4VInxVWlBAo7AIvvXNPCDIWEGhxDyJebAaEMwbUMaAkpinrKBgvAZrnj3NPChLY8k8/tx95GuePc88uvqJFZTxZh6ZQYSL47TmwXzUW5SBU8xLhzWPLppiQEnMM0Tm8arjjq95qgKFJ8veJgpmxWAe3Y2tPWuDPv4mmvse0ZX51bz8eujc/yC6YYvotTXZgKSXGDDSAnZj+aF/3EjTj9DUZv3penPxrR94xH8s55MHtMHkJc9v6LO5J13Y1DP7CjEvoCXZ/7XtzbMP2jbmvX7B5Q1aetnJk8+jX6BfXcYlzvT5kdV68GMKtb9Hj6P3ffohIiiAKtyzgoOfhVSJh79/H9WbdOWmavm79Illz0/6SrgbC9kQa9ygi0Q+v4iVVtUH8+FWi351fe53CdHxuop+e8iemnfAwDoseuHWxCH5KYenUJAIrzmfQjjUmFRxjO+54OSnNrUZLJw9kO8jV+2B0uKnn1in2TuIpg+9oCFtT/ELDuzGzuc9daHUNn/+axzZ4LCxcq4XgAIxtQP03S3ua9urmPpaIA4ph5dwGpdeMopAkWAitlCgFpcBBRIRWhd8TYtL+cJyuBtbAArnAqD3bCMKgKIWIeUSHRsB7upGlX7i4AchBEqTJjbVLTdi/fZEQD3UGBc4xg4oGsJr8l1w9cK30dytK3TiAE3/IPe434JCEaDYAuG5/pGP/DCnVoeuDVM5UBAlV1C0VLgA1R6g48t54TGgYCSaZuEvV8eAgtHopbwAFDVexHpuFKpj/eq8aWirIPSBwhHwooWPpvx+MBAWAe8oKOGI9dsXCwoPRg0hmmkdiwClfUHpFyh7lXnIL9sS3ALztAFKHvRhQemNeXRsBEBxxS8HEb0A6nwXcsyjGEvMEysoXTAPyshwmEdxgzJUVlAGzTxKkJGCQol5EvN4zKOgjAAlMU9ZQcF41dlftubZ08xDGDVjyTxuakojX/PsfebR1U+koIw18+hELlgcO2ClNU+VqWx+zYNFE0WAkphnmMzjQFzYRBn0msdbvefg0mHNg+0VMM80fqngJbz/U/89qn2PvwCL779mwi7jsxPrRAt8+6De/Zx9uIBfKgg2W49t1s/Ta4nuNa3+7TfMXujiqu137QFtMGFv8G88Lt6eXeAEYnjz94t8ZdubFq+xLb9uT441ZAOy1pw+REtrRHxpzqQB/wF88O3cqSa9hb9SxLuxUABVeg8CN+n4Fk7IV0AcIpp9hI6vQPbEKZppen7WVsPdWMiGWOPG7EUi4SLfNt4vM78Aa6ODtk8mejtNiA1eV9Fvjtpb7Zl9Z5fVop+jmTV6PdH7KUwEmlo1EA41JlUc4yaRZJsPjV7sB3/bAqXWZF9k3+30Fk2oqftafIkDv1Swf9Nc6ZsLpV7Xv2a3uLKoZ7FyrheAAjETDZo/VYjttO1mnUbKm+KlOi0IKAUKgilwggKoImRUTS4CRSQitC74SIun5UUU7sYixxBrss25AOi9XgWgwCJNubQ2EZChAv1qIF3aMCfZWw4oPPjrK+qWN2LR1iYBwgXrxhgBcTMDCiIa+8Hf2hdYyk0rdIT7X76VaeeTvgtKBCi2QHiur9C3Nny1OnRNmDJgaYsiUDhKfkGRtHoB+jHtX83JphhQ9J60W6C6Kao5JMJaBxSMRi/lBaCo8SLWucHSrfPWohPGb5NBtC0ARdLoRasIFHEZFk1JsURBCUesKrRq5AodTKBYA0KorRTZxxt65b22LSj9A2WPMk8uyhzJIvPEgRKAflDMEwGKw7SXaAt9oM4HCuO3mRUULUaJeWIFBSNRI9qJeVBGhsM85EirtKCARjFpEt/6Zx6pe4l5EvMojfkFJc88CsrEPANY8+xp5tGRNI7M409Ni1NZ4Wfwq87L5NKbZBYXx4l5sNL3yVMmy26KomeRgjLma54IUNKap581DxZNsSlKWvOUTmVlphjstvXBPH513Ok1j1dYSY5qax5dnIN5dDf2EvafXofd2KX8d8qu5wfP5X/080QXyDu534Hl3dj5wv/i9a0tOk9X8a5cA43nGosrOKGFdX2nudcd0AY6UZK7lxL9tXlq3iDmzgZduOzam0fvsi3vsiecvgXZXZg5QAvMNnxpzqQB/4V8foPZmCbVBwqgypgrHR6WX8PF4SsAPhbvoP0rkL1/hZbO+X6evf/RTe1lXiEbYnFG9O9fxk/4xbPtpg3+0AmHjQ7anif6rs4yva68+LDHC+jf2VPzfqzBhrFF4j52wt9PQSK0oVWD0EONpkpysqljgBsaC1+hffzXSxp8FQPKbJMjfYofTp2iCT7ng5neHLH/xcuFUht9jP7MtM6insXKuV4ACsTMP0QTvOeftVdBMy0j0DqNvcNN8VKdFgR4ySgARYMpcIICqLK4FtFFoIhEhNYFH2nxtHzy7OcDqCPHHlAkFwC916sAFFikIJTomAhIV+gX83ij5sDcsp5lrzmgLK3xbqy6pRHJmpFNggj3XRAQb2ZA0d3YqVXXz5xNCg6ndTf2u03/cb8FhYpAiRSU2hotbfpqqSugcJT8giJp9QL0TA/a0BEDirknz/dv8A8/acN1fUfckCgHFIxGL+UFoCDHEGuyLbkIqmP9djpismEyGAeKdIV+tacIFHEZFgGY98rHO4igZ6B2NWogzCsoMhgRQm0FjFMEKG0LCvULlL3KPJqWqxzDFpgnDhROiJe8QkFRLkQGkUvNGEhLaoA5iswTAYrDtO3G77YIh0DJM48WI0rMg8hxGUIuNSoYiRrRTsyDRPtlW7oVCoqmvE/mUSEoQ0itGlgsKEKjsAgVrH/mAUtGCkpinsQ8PvMoKCNAScxTWlCyNbFH+z6/8zif20vMY0bNGDKPPzWdaWn9zeh22Guevc88m1j9RArKmDOPTOTg21WYWqY1T79rHiya0ppHWUbghCUFFgdDZB6vOu74mgfFzxRgeau25sGsmLDmwW7sAn8nVrAn342dyH3Xde6HLJP/8RbnqtmN5Z8ANccCfxV13W622pvc/gHiHndv4s7M6tSGPrKm0dLUAW3gZu9TDXqitnKvLOZxRBduuPbm2X+zbeyOESYORN+h/U1aZPNl3q9n0nL6wNwh20Pffx5vgg9VIBbrPTxoZd8uzykwa9LTq5B9fI1mH/b85K2vLC6qBbIh1mhpvYwf8Itn22Rj+jZtbaMjbT/2IPuwgeh4Xd2auPa2m39be2Wv7DIs4r1QPu5+K/0Wv+USoU2tGhFehxpNleSEaGlDWxkLb9Ur77U9UE40uYbzP5p9wO7GnmjwJQ7ejT2Tbbbam9xeQ6k33kyvNk+yqGexcq5PRYByenXiEE3wd4yz9ipoftUItE5jZgIv1WlBgJeMAlA0mAIno4AtLgeKSDSotsFHWjwtREcaxi7zFgIFuZAXr1cBKLBIQSjRwSW7xr2Mfr5Jl9788Ya8e0cOKIsPNvZJkNgtN2K1sU2CCPddAIgzoGhE961pH+/1tPSr627shZveg74LCv8acQgU8Rr2e67/LE00PLU4rQ4UjhIfWUGRtHoBeg19FPKylxhQzD1ps0SzEg4+ckjMA+WrGI1eygtAmRCUQyzOgHdNuWfbs+mXGqyID5PBCelVAIqk0YtWESjsstYHVDBTUPIjFloyNXzlFxQZjHx8RxuZQlsESvuC0jdQ9irz5KKM8IbMMxEFSr46FgoKUtQD80SBYoufyb68WegL6nwXUO1cQUExosQ8iFzPzIMy4pdtiNsR5vEmaaUFRWgUFqGC9c88wE2xoFBinsQ8gnbLPArKIlAS85RPZbGoMtMWM1H3y7YWlD3EPGbUjCHz+FPTka95HgPMg8lKsaCMO/PIIidYHHvrirTm0YqHV7u04otcTcyveXTRVARKYp5hMo9XHXd8zZNbvTM4qq15dHGONQ92YyfwBc1F7MaeaBLdeN1nWZa8/v73D27q07vXPvLFg3yXZg/xy0efU1ut3fPDdf6J3AZf5o4/Xa3LMF5Fo8UzdlpkTaNfmTqgDSauuH7DiPrM0eWcDL7401W5cwm59hBI9Bzb0u4YYeJAtTU6znuw7IrM+/VMzKSjoYnnP3n9FvuB6iMKRJXemzu88SL68NEW35Mjp+Anr/vPfGvxmSpbNrR/7PlJ9IbvbUof/7jEiIUbs8u8PyEvnm1zZ64xfmfRkbbyGfSWRsd1hX4YOL+9fc5Xw+fsMiza/+oznLqJ7es3+WaWCPRCD6sGwkXNNzRVnBN+zt88xWEsvMFcurcoUOqfuX5r4cKLnkIXrnLLxQfnnvwFEUbX8j9ofunln+H/LCvcQM5CqY3+79EN6cSHjbqLlXO9VgQKZ4SPyXNhbGnSCrROm5RfSiZvggB1VQMUAkWDqegSBWKxySiAVQSKSDR5s8FHWryU0/S7nyIG544cUJALefFsiwFl8hxkkwITBkov1Q+P7tzezqnhizxQLvzBf+V77FYOydLHJkGEey4AxA4oGtHZU9IjdwAKtCW/VCDbagKR8oIi9lYqKFQECnsdFhS67Lpv5wziiwhQNO9FoHCU+OOVrKBwWv0AzYZYjgFF70FB/cxZFidHDokBUDDovZTHgMIpxwDP8F6ojp+87idUVZZBaRsCBWlU/UByESiCZFiEwmgKCkfQNxCKDFAgzCsoCpTamjGG37jQFoESLSi7kHkUKLuCeZAWU7aRvBjzFIHiqiloNFZQemKeKFBs8dPSDgxY6IdAQbXLmMeM0sQ8QuM9M4+OUq9s68xpp5hHhvbQmQe4KRYUnYQk5tGRt/eYx6wBpKRUYx5luSJQEvN0vebZ08xjJlYDYB5AdIhrHn9qWpzKCj/LhN20kkt/DjfgNc9jgXkwWSkWlJEyD+an/a15ikDxgdXFmgf4HxLzwO/hrHm6Zx7swhSBkphnmMzjgXin1zy5wipVt9qaRxfnJMyD3dgp833Y2vnr7n0qb6E9nWbWzevF/LfneHrilPnd2IkV7vaqe6/n1+jxmwc3ao/ix2bzjaxptdWpA9pgplHj3xDIt8pEshg+558ide3DpnbHSFctE7z308Jvl/JeijmLyq6fX6Uv2d1Y+a1TVmXuTR29uplZkM33dFn0VjqyRXPXPEllT/BPoD0Q9dP1n/uBEQurXkS8GysvUdtsdODyk4nevarRcV2hPzAw08Uuw6Ljr6D5Td5kPb8Mt4yBrpdVA+Gi5heRKokxy+Lc4zAW3t0w19lbFCgfXaarabLJPxC6yQ3nfmR/N/bv8JXTzBf5Iwtl2Mim1cWqzHURwwf/trFrHwDFOm12Y59KJizCP+pq3EwTTI6tKhBVJqMBsKzJIlHzlo0CpMUENOglYnHkgIJc4CVqW+YMuwzZhOggAuil+uMeAckeUJa2f5ozxm4VkGw9EuGeCwCxA4pGdJG9Dg5Age8dedXRq3gfFhDRstKmoLSzl2VkoQzSapdj4rXar663iXIMKIHWLLZIuSsonNZCgHyHY0DRe+0URIAio3E1mnKn6sS6UWXxXqU6RoCCNJZGSwwUi96oxRIFRSJYMNAABcKkgxYUDEb+ZIJzbw4ptEWgRAtKKVDaZFe0tAOKTWtFoLAYFpZnniCPdnSMgnmQFhPltsEoAqVzdRSXAUIFRkXmiQHFJcLFzSYhAApKlldQdJTe3ZB8+kcUKIl5bA1EIda8CXwxSr2yHVbOLLIDYR4zVAzzuZRnWnByLDdF6Zd5FDfFgqKTEFaYmCc3lbXDLw8UZTUM+kJhz2evWFBcNQ3RlVXHHWAeT1c15tFBUQRKtKAk5skKCqgNU0tH+wKUvco8ZmI1AObxIJofQzrVjg40O2QcS1df80SnprnxLvxqWgldRy0wpsamsl2seR4DzKOTlWJBGSnztCHdbtY8gow8UKLAspCOAcXcy89Kc0jMpigDYp7AbzuMZDUcLo77XfN4w7oa8+guTBEoiXm63m3rY80TBXGGyYGueQqF1aopX/MoUEmYZ1r+F68MH9+j6efxd6la8nO3+lrcPJlZ46+NNahlh2XhfeERRKAVNLKmLZHZPBEJv9xe1IJsAk82+e98bftAYH7iQEeUZnh38VgDcXm0jew6f2HwvzTM1hwr4D3sR8y9F7M277jLnrNEPmYO8cvpTSGzR+t30EfifkpLPSabRqy4QS3ZjZUX9Kdagy/cYaMDl2/amsOfd/8yP59sai8+nTlEgYFZfzYQFh0/R/tuo4Vvv1t+Ktcmwuvl1HDoRc1XZDe2JTHmrJ4z8tRCsv8fUKYlDpTns4QNMTPYjX0L92tnL0SaUIaN7jL6XKxKXeeMcAfGqWtfa/CFOzKnQTjspeITCFBX42ZqMHXHRRRI8jWjgYIMicpoHFoXfKQlmnJnYA4oyAVeorZlzrBFkM1iZg7xCxuoaZRRFcY005UHyh9fui37Zac3CyP2rqzHzCHPBYDYAUUHkf2f6LIuBgp8zd+Nfe0mkUIEZSVeUNraKzItjttEXbw2GS0tKBGgBHnPYovx7goKp7UQIDHMHjGg6L12CiJAwaCPptyqkRwbVZJt5MI53yY63LkIFE1jWbTEQLHoqyiWpqBwBAsGOqD4BUWNk5psj8kmL0Yetlf2fUyYJ4Rn5nQAFL7UANXyFci4a+hAky8B6YV5vLId1yLKikDpXB2JLeqeeaJAsSPWi1s2tgR1bZmHTZdynphHaLxn5lEQemW7LVAGwjyMm6EzjyosFhS3Jk7MI4XAHtnwG3Pm8ZB8l/UtV1BIuc1jHpkOFYGSmMewUTBFyaIKatOppaV9V7a9NGRZ0JNxZR4zsRoA87SPDUfIhrJN1B1LV1/zRKem+fE+tDXPY4B5dPVTLCijZB5vnhUMx+LiOEBeCVCiwLLy2695AvznFWBxmq3oMN0sLCmsCn0vFhS35gn9zorXDqx5PLecGn8qSwHz6KKpCJTEPMNkniiIM0wOdM2jxc/DpFOTm6Lo3DXbbTO7OMI82I3V707X8UsF392gE5tEj5pXXvXr09Mr5ruxU7xvx3913JBXe9RfflgOlifHnb/GW3x3r/uN9h0+/NzfOXxYuv4ib57UTQP6/LLfKhDTIDqZb+9p/dThw188fPgi0aerlnv4TzBatMhfweJ5hDnzzPRkf5/oyi2zG8sK+Lizofeo7v6evqCA9sn/xTP/kMq+8ehdD1s3PLPeL3E4/BxIZdlGLJ9NL/NGLF6KtnnRgcv1z/z1MYmlRMd25UvR7xnoeYQIiEX7D9H0j+kf08KPGtwhS4T2yqlh4aLmY8iE5IQ381a4jxzGQv4ucHDEgDLHu+b7W5NN/sHbVW6+cN5+N5Y3n3P2yqUfniyUvlMu6rlYlbgu/9EJ7WtWiS1WIuylyZtcGle9sDoTNZiKLlbAB6syGfVS7kw2mELesuBLWoop95MnOXZAQS7wUrTNz6BYJLLZLImOXGoaFTdRj3SoZECZbtJpXvSzW3kkex5BeOYCcuIBRR2Wb7gHh/5SAe9NHaClh0khomXl4jYFxbNXZLks8EWG42jUxWtrf1BQ8mIiQPG0+rHFSsQVFAaKVeBZ4EyMAcXca6PArIllgFvvMOiLKXdakGMj1uI9V0092/wMFoFi0qhAcb18TIqBsAjAtAXFFj87Yn01uYJiNHAI7cEYpyJQYgVlVzKPl0ff6QAoQ2EeV7Z97sxBnVMeACVXTV3KfdBLGULKOVPVmScOlGzEatxyanJA0ZKVMQ+rllGamEdovGfmaWgZyco2R9Wl3B/lA2EeETJ05lGFxYJi/l40MY8t0Zx78offuDOPQbJfhHMFpcg8UsyKQEnM0/2aZy8zj+HLQTCPV2xl9PkzOGa34hTPYTnH0lXXPMWpaWG8d1rzOE4wYcC8RiaOXa55HgPMo8vkYkEZLfN489MAb1g2+MDympYDpQgsD8sxoJh7Hv4LCnRq2WHN4+DYcc3jOeOGEXoFi2PDC+Gax/MIi9mSNU+3zKOLpiJQEvMMk3mKIPYxOdA1jyl+ZuaVU5ObooRrHt3FEebBbqz+rvASdmNP8w4N33/QvF7MTfB/fH133ezGyr4b1Vr8Ej1u5r9m2eSfiuQPZfKNzEZxbV12/tDgTTw0NoJWVibE0HSTvPZh0+wjCnDHs/BfMsk3avlyf5M/f2ln5jN4N3ZVN5JYAUGV3qOXkn/4CmZWaN/Dcxs084iRTfseUjdCs6yE6SaRipWznyLejcVL1LZsG13a8vH5xpsQnemm6Qr9FBgoLXEgAmzR5ApNP0C8w3Zk00uE62XVqHBRI5n4CnJCk2sqzEbvOOMgf8SAssDLxv1rgoorD3DrpR/Y3ViGTlt7+dsKXiijUXexKnMdYoj3n6vEFisR8VLxKZcmGXkLxHA+JhFMXROzAlX1DICn1uLn7rBAEYkIrR98Tks05Vn36aYHFOBdQR+1zWZQXOZj30MmOnypvaC/beBzQJlvUKfop+EAABIKSURBVO0RdUsj4twyHhnh1gXkhAOzBt38gojWi7uxpwUK1JLdWP5PABUiWlYYFbGC4iBqRdt3L5TOPDxUG9Vr2K+uB62MnDhQ8nnPYhsUFPEyDJA1T94nI0Ax99ooiAPl841oylmDHpzjSVXFZ8iF53xYhiwmI0DRNJZFSxMr9eEZgncUFESwYKBRo8JsQdk0QOGabI7pJp8UgRIrKLuReQJ4ZrENgMKXJkBxECKY/TOPKdubYcpNrFEOJ/NAQUKitmWgn26if5fMgwqQB4o3Yl3crJo8UL4SMI8ZpYl5hMZ7Zx6TaFu2202ESFKumOQz1BItKIVRTnzYDIYFxXZV5hsO86iZkYKi/5cKJeZxI09y55I37szjCms15tF6k5hnMGuevcs8k8qXg2AeB1EMPfcSn0HJc4Nlx9IzstxsU0uDqWx0apoVa/Dz8NY8e555zOqnWFBGyjxBtTeQC4BSzuoRoPS45snjP4dEVGN/fsgFJWpWNmjK1zyB39m8nHvx4S+O+1/zOLeqMQ8WTZEpSlrzbD4DbNQuebyKminstvXKPOXVcbopOGHZACZNNyvttrVb84RIttBX4XZxHK55WD9vJZIwD3Zj6ZIG3/oQdmPvXsF3k35oXi+mFt3JD+mLDf+7sf+L6nKzeNS3G7wby3+kfmWD8o2MaYsHD174hRYa/A5/nZKCVkaiiqE/pto/cO3DptnY4/RRnfeM+UcUptkvyaae5S2w1vJfLl1pvhvLCl4Mi/Xe4jqxqOzwFcwfoolzxx/i3Vgjm6bWKOZn1ptlL6tYOfuTgwd/9DS8RG2ziROXl1nEK0mjk3WFfgoMzHRJBPhXWtdmDvGXaurn+PuHb4RbaqDrZdWocFEjLX4dMabj2EJjOcbCIxsiNHdEgIIvPjYnm0s0z3pp/ja7G/syvnKac2L4wgtl0MhE3cWqzHWIoYUW/X3XPsSUdVq3QcRLDYsMKnU1sMDYimDqmlgUqCrNaAAsYzIUSGj9UYC0lMERKc+AArz/DRIStc06IxaxnVNrGh251KGlqY17ZBb4FijHWcBPqlshko1HKjxzATHm3FmgaERrPG0MjkkOLdXXZTd28bx+N7Z5YlP2NNsUlHb2kh/KaNSrFRTFWwiUQKuNLbZBvIIiQAkD5DscA4rea6dAJBaB8spSOMJ4FZvh3XO+XXWMAEXTqEAJYmrdMoTzSvkzzyu/wQN7YjU+Yg1QVJgtKA3VICE0B8paBCiXNLjB7meeII/GaR1OHlCGxDymbIcMa2MdA0qF6tgb8xSB0g/zaDGixDzZd2Nl+HbNPIbApc7vOPO4SdoQmUfrHkUKSmKePc08HstVYx4FZQQoiXl0zllCbZj9ebTPBKMLhj3IPDpqBsE8HkQzRtYTL5TxqDuW7mLNE52aZlNZ8LNM2Iez5tnzzGNWP5GCMkrmCeBkcKfzBplBOGCFS/IyoPS25gnwn1Mg1dhf0UlBiS5z7cgR43VoZm74a57Ab0MJmACzBH9xrCsSZYOe1jyeW5WYp45FU2yKkphniMxTXh0Hu+YJkWyhr6iz5PnrwW4bgMrfn9wgsxvLmyZE/O0IXj2fOFe7qUmLD9M8Xn+OWnSiyV+C4++/HeRGDHFuu7hKE7govnyB//S28UtEnw4bWdN4w+4AoUGL6L+HraxAiJlr0WzDtQ+12rGHzZNF/iBn+hTtW8ESWc/CDkb43fy7sfq1PiiAKr33dSKJhD18BUtsxxpbPv8QZC/cJuGL+Wk7QzbEGjeIFRG/RG2z0UHbP2pwsW9JdFzXJdFPgYFWl0QAFi3y78aeot/lXcZllwivl1UD4VADFxBjurvJ8hr8Ty2kE8t6yXfsEQPK/+SfpdiY4t3YOU4BHdvyd2Pb2QuFJpSeeVCTRd3Gqsx1ZIQ+SfRe7tshtrp3KF6q0zJRUVfjZmowgS5RoKqQ0RBY1mSR2JK8ueAjLdGUw1l+QY59oLAixCdqm82gWATZGh0TAe4K/WFMra48UOY5wf9M3QqRbDyCcM8FiTGnu8lbrRCJud6c/IJGpgEnUkloH5eYAzS3TS8GROZLCkpbe6EwXlDsFwoQK9jfKiko6mYAlCDvNrZhQREvwwD5/saAovfaKYgABaMxmnKrSoxXsZkb/Igdi9pmMSlti0DhNJZFC0MFFgGYKCiIYMFAowbC/IIiQJGarB9vAeMkQGnwLe+IFZQyoIQjzxPFCuNAydKaxapVAhSIUXuz9iE8bWxDoBxrxKu7tRLBRGyhAKr0XgAUX8ES59hjHnJRbheMOFA6VEdYBNmIjokApxH6wwhYj2JAcYnwetkkQLhzAfh1zKOjNDEPaLx35sEo9cp2G6Agx/0yjwEKZw6p9VKeYQQnPDZgESrYfN/MI2MTBSUxj34oJIMew2dPM4+H5GrMo6BMzDOANc+eZh4dNYNgHg+i+QooJWsH1jzR6Z+l22GveR4DzCOrn13GPG1IF3gLF8fBTLMMKNF1hcG0GS/M6lDgMU+A/5yCVn5xjHlgYUlhNOAtPpVlbbAt9NtOm3dizeO5VY15sGhKa54Rr3lKqyPmroNb84RIttAH6tuueTAr5o1XnhLrd2Nrz9qgD2/QB84v09TDs3O301SL9PUenmPPXUx0wyY+XeMRMrFG9Bv3HtWfRuXr4Hg9LTxAk5v128NG1jT5u3ZtcBnN3ha2stIg5oUnTz6Ob9j2oVY79rBqWXiUWz6PbtrQuSnOwg5G+Eyr/iXdjYUCqMK9uXdd/VfcPzt8BbUm3dDgaJ1ehZbZZ9Ob+Y8WIn7a3pANscYN/vUHPvglZpuNDtpe25hZJUTHdYX+0ECrSyKgFr2LbtqkP2vQFeQS4fWyaiAcauACYkynW7yrdl5kahzvbpjLTA3FgPKJDfpH/GM6vGj/aJNmObL8EYEcj2fOCgKK+/riQhk2yqJuY1XmOsTULj55yyEW2yG2OjMRL9VpbCWKq6EFLAoHgimxhQK1GBkNgWVNFokIrQu+piWWcqulABTGuyYkZpvJICyCbETHRoC7Qn87j/JAWfxZml5Xt0IkG48g3HMBMQZQjq+I/Qih/LeReim39Hjh26j+Hapf+dP8P3ptrAMiZQWlrb3k4bhd1LMCAdfDVsagGFBCrXZ0hAVFvAwDZB3Fewwocq+tgghQMBox8sJeRpXmWMTabKOgdKiObYDCXcuihcTCIuAdBUWBEmLSAAXC/IIig1FqshYUrWMMFL10wYsVlDKgtMmuCHRjLmiUpbUSUCDG1F0b2zAjdryHQOFSEa3u1l8EE7GFAqjCvTIFGIMu+OSiHPhptbQBSofqCIsgG7k0EeA0lpVfrQABUFwiPLdsEgpAkWqXMY+6Kf+/aBWgJObJPpHKFxSA0CvbbYCCHAN/JtuSCxkk0TIUZx5yXZFaL+Usyzt4bKhFUsH6Zx6YmZjnMcY8/nKhGvMAlJSYZwBrnj3NPKQjqX/m8SHqlT85dSQeVslsQmHXMGWkCzHeHDA2NbV0O+w1z2OAeWSyIgVlF615QjgJ2PgIgRLO3aVNGVBiwJI+ONoxT4j/nAJUYzc/xMQxOtkwStpMZTvMy3dizeO7VY15sGhKzDPqNU8MxBaTmLsObs0TItmqKV/z6KxY1jxmN5am33LBfVQ7e/b/Uf3Wf0WXnX0qjwa8TjxtmVdcb7/lPt6CvfNqGSOzp/hrVQu/tyXnkWPx5K1bVD9zzUbYyJpG+y5/cB0NaicvaIStrESIuXx7mzcHs/ahVkthj7/zonWq8TYgffi6J/EuoFziLOxghd9/ywZNvOP7TyAogCqSe0v0R//QtpH3nILLbvltov998p1Gy9n7OQIxP60ANV7E6hl9epvjJy8x22x00Hbp7Gf5p94kOl5X0R8aaHXBZVi0dJIjMHfByS1yifB6WTUQDjVwATGml2yyvMMNfoGF8qmCXvK7PSJAqX3uLzkUB7/NTf7lyac1aO4dD65L8xv4R2SDgFop8p6FMmxko+5iVea6iJna3t5e6RxbpBxewmm9FFdDC6yZCKbEVhXAYgAlBJYxGRIRWhd8QlpiKbdaQqAI3jUhMdtMBtUiyJbomAhIV01tm8AHQPnISQYa3AqRbJMA1DsXFMQClMlns/0aQv5ISC+tR/L+hqs+16CXnj27SjdevakQKSko7TLAglwo20TdFQi4HrayRkWAEmq1owNRcgUFXoYBsmLxHgOK3GunIAYUjEaMvLCXUaU5FrEm2ygonapjHCjStSxaMFAtkgqGghIfsQYoijqpW1pQABSEEAVFMS5AwaUXvEhB2X3ME2bEjo4AKLgsG+ooHogtAtIb87iy3QbqcaDsDPPEgOJGrBc3O7ZCoKDaOebRGpuYR2hc4KS57JZ5lMBd2W4DlEEwj5miDJt5lCAT8zzGmMdfLlRjHtQb+YuFxDx9r3n2NPNgJA1gzeND1Jvn4BR1PDartxOKntY8samppVvw8xDXPI8B5sFkZXcxjzfPykGuizVPDCgxYGXy2zFPiP8cElGNvfmhLBj6WPOEfpthtBNrHt+tasyji6bEPIPYbeuDeWIgtpjEBBiyAUydD6MGl205tV3zhEi2ajqseTBPB/Pwxycr2QCrdCKfCvVyWNN66Rvvk1FY/HH/d3dcgTNx8NFxsr2zzmoWGlnzW/jMu8zuVzyRzf5ejoFHvbPTvZjp9xm4yb7w/PnOOwN9nT36ambXvgN86i6z+xVPei0o2YclFfV0brbjsd1xBZ6PnTPoNe79tKMar4IIULzLbpX2CpTBR72j0926FrbfcQVO4eCj42R7Z53VeMhIzONFrvR07wGls0eOahLzlILDe9h5+HmN+zztnME+FWj3jmq8gpKYp2rIO0a1qqDO7YaEyc5qPKAk5umcN22x94DS2aPEPFXR4dp1Hn6ubb9nnTPYrwb076jGKyiJeaqGvGNUqwrq3G5ImOysxgOKME/3u7F0R2dvYy0WV2N3+7nHv4Cys8eOK3DmDz46TrZ31lkN/+CAPV7BJ96lvV31fX6rast8u4FHvbPTeQO6vxq4ye1N2HlnoLuzR63MxikZ2e4yu1/1pMeCIj8aNNhjx2O74wq8eAw8Op5s77SjGq+CCFC8S09KtdMegTL4qHd0upo/7VvtuAKnevDRcbK9s85qPGQk5vEiV3q694DS2aNWFpHEPFkoOpx0Hn4dBHTxuHMGuxDWvmlHNV5BSczTPo75Jx2jmm/ez9WQMNlZjQeUxDxVM7r3gNLZo1YWnMQ8WSg6nHQefh0EdPG4cwa7ENa+aUc1XkFJzNM+jvknHaOab97P1ZAw2VmNBxRhnh52Yz/XTxxS310egQ9l9tXlS9DuMrtf9WRfq2rL1G78IlBfz2w+3uC/T3eX2f2qJ6mgVI3UOLbzKogAxbvs2psElK5DNkYdHDIS84xR2oZuqkc1iXmGHv0xUugKCiXmGaO8Dd1UB5TEPEMP/hgpTMwzRskapamuoCTmGWUedr1uBxQwTw+7sZ/Y9T4mA3uPgHzPUY/pA/zuLu3tyu9zpyo3TQ3HLgLTzuLX8Kl36R5UPEsFpWKgxrKZV0EEKN5l1+4koHQdsjHq4JCRmGeM0jZ0Uz2qScwz9OiPkUJXUCgxzxjlbeimOqAk5hl68MdIYWKeMUrWKE11BSUxzyjzsOt1O6CAeXrYjZ3Y3PVOJgMHEIHJ5T6FPKXP/qn7eETg6X2amQpKnwEcl+4JKOOSqdHamZhntPEfG+2poIxNqkZraALKaOM/LtoT84xLpkZsZyooI07AuKhPQBmXTI3WTjBPD7ux9ZXR2p20DycCV/Sr5v39Ckj9xyEC0+t9WpkKSp8BHJPuCShjkqhRm5mYZ9QZGA/9qaCMR55GbmUCyshTMB4GJOYZjzyN2spUUEadgTHRn4AyJokatZlgnh52Y+kPR2150j+ECNTW+lWy0OxXQuo/BhG4tG8bU0HpO4TjICABZRyyNHoba2v92pCYp98IjkX/VFDGIk2jNzIBZfQ5GAcLamv9WpmYp98IjkX/VFDGIk2jNzIBZfQ5GAcLamtiJe/Gvvxwl3+SvrAlPdOxtyOw1Ojbv6/1LSEJ2P0RuK9vE1NB6TuE4yAgAWUcsjR6GxPzjD4HY2FBKihjkabRG5mAMvocjIMFiXnGIUu7wMZUUHZBEsbBhASUccjS6G0E81z73NX/DyYhDpRdb3zGAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\left [ \\operatorname{CRootOf} {\\left(z^{10} - 30 z^{9} + 405 z^{8} - 3240 z^{7} + 17010 z^{6} - 61236 z^{5} + 153090 z^{4} - 262440 z^{3} + 295245 z^{2} - 196830 z + 59047, 0\\right)}, \\quad \\operatorname{CRootOf} {\\left(z^{10} - 30 z^{9} + 405 z^{8} - 3240 z^{7} + 17010 z^{6} - 61236 z^{5} + 153090 z^{4} - 262440 z^{3} + 295245 z^{2} - 196830 z + 59047, 1\\right)}, \\quad \\operatorname{CRootOf} {\\left(z^{10} - 30 z^{9} + 405 z^{8} - 3240 z^{7} + 17010 z^{6} - 61236 z^{5} + 153090 z^{4} - 262440 z^{3} + 295245 z^{2} - 196830 z + 59047, 2\\right)}, \\quad \\operatorname{CRootOf} {\\left(z^{10} - 30 z^{9} + 405 z^{8} - 3240 z^{7} + 17010 z^{6} - 61236 z^{5} + 153090 z^{4} - 262440 z^{3} + 295245 z^{2} - 196830 z + 59047, 3\\right)}, \\quad \\operatorname{CRootOf} {\\left(z^{10} - 30 z^{9} + 405 z^{8} - 3240 z^{7} + 17010 z^{6} - 61236 z^{5} + 153090 z^{4} - 262440 z^{3} + 295245 z^{2} - 196830 z + 59047, 4\\right)}, \\quad \\operatorname{CRootOf} {\\left(z^{10} - 30 z^{9} + 405 z^{8} - 3240 z^{7} + 17010 z^{6} - 61236 z^{5} + 153090 z^{4} - 262440 z^{3} + 295245 z^{2} - 196830 z + 59047, 5\\right)}, \\quad \\operatorname{CRootOf} {\\left(z^{10} - 30 z^{9} + 405 z^{8} - 3240 z^{7} + 17010 z^{6} - 61236 z^{5} + 153090 z^{4} - 262440 z^{3} + 295245 z^{2} - 196830 z + 59047, 6\\right)}, \\quad \\operatorname{CRootOf} {\\left(z^{10} - 30 z^{9} + 405 z^{8} - 3240 z^{7} + 17010 z^{6} - 61236 z^{5} + 153090 z^{4} - 262440 z^{3} + 295245 z^{2} - 196830 z + 59047, 7\\right)}, \\quad \\operatorname{CRootOf} {\\left(z^{10} - 30 z^{9} + 405 z^{8} - 3240 z^{7} + 17010 z^{6} - 61236 z^{5} + 153090 z^{4} - 262440 z^{3} + 295245 z^{2} - 196830 z + 59047, 8\\right)}, \\quad \\operatorname{CRootOf} {\\left(z^{10} - 30 z^{9} + 405 z^{8} - 3240 z^{7} + 17010 z^{6} - 61236 z^{5} + 153090 z^{4} - 262440 z^{3} + 295245 z^{2} - 196830 z + 59047, 9\\right)}\\right ]$$" ], "text/plain": [ "⎡ ⎛ 10 9 8 7 6 5 4 \n", "⎣CRootOf⎝z - 30⋅z + 405⋅z - 3240⋅z + 17010⋅z - 61236⋅z + 153090⋅z - 26\n", "\n", " 3 2 ⎞ ⎛ 10 9 8 \n", "2440⋅z + 295245⋅z - 196830⋅z + 59047, 0⎠, CRootOf⎝z - 30⋅z + 405⋅z - 324\n", "\n", " 7 6 5 4 3 2 \n", "0⋅z + 17010⋅z - 61236⋅z + 153090⋅z - 262440⋅z + 295245⋅z - 196830⋅z + 59\n", "\n", " ⎞ ⎛ 10 9 8 7 6 5 \n", "047, 1⎠, CRootOf⎝z - 30⋅z + 405⋅z - 3240⋅z + 17010⋅z - 61236⋅z + 153090\n", "\n", " 4 3 2 ⎞ ⎛ 10 9 \n", "⋅z - 262440⋅z + 295245⋅z - 196830⋅z + 59047, 2⎠, CRootOf⎝z - 30⋅z + 405⋅\n", "\n", " 8 7 6 5 4 3 2 \n", "z - 3240⋅z + 17010⋅z - 61236⋅z + 153090⋅z - 262440⋅z + 295245⋅z - 19683\n", "\n", " ⎞ ⎛ 10 9 8 7 6 5 \n", "0⋅z + 59047, 3⎠, CRootOf⎝z - 30⋅z + 405⋅z - 3240⋅z + 17010⋅z - 61236⋅z \n", "\n", " 4 3 2 ⎞ ⎛ 10 \n", "+ 153090⋅z - 262440⋅z + 295245⋅z - 196830⋅z + 59047, 4⎠, CRootOf⎝z - 30⋅z\n", "\n", "9 8 7 6 5 4 3 2\n", " + 405⋅z - 3240⋅z + 17010⋅z - 61236⋅z + 153090⋅z - 262440⋅z + 295245⋅z \n", "\n", " ⎞ ⎛ 10 9 8 7 6 \n", " - 196830⋅z + 59047, 5⎠, CRootOf⎝z - 30⋅z + 405⋅z - 3240⋅z + 17010⋅z - 6\n", "\n", " 5 4 3 2 ⎞ ⎛ 1\n", "1236⋅z + 153090⋅z - 262440⋅z + 295245⋅z - 196830⋅z + 59047, 6⎠, CRootOf⎝z \n", "\n", "0 9 8 7 6 5 4 3 \n", " - 30⋅z + 405⋅z - 3240⋅z + 17010⋅z - 61236⋅z + 153090⋅z - 262440⋅z + 2\n", "\n", " 2 ⎞ ⎛ 10 9 8 7 \n", "95245⋅z - 196830⋅z + 59047, 7⎠, CRootOf⎝z - 30⋅z + 405⋅z - 3240⋅z + 1701\n", "\n", " 6 5 4 3 2 ⎞ \n", "0⋅z - 61236⋅z + 153090⋅z - 262440⋅z + 295245⋅z - 196830⋅z + 59047, 8⎠, CR\n", "\n", " ⎛ 10 9 8 7 6 5 4 \n", "ootOf⎝z - 30⋅z + 405⋅z - 3240⋅z + 17010⋅z - 61236⋅z + 153090⋅z - 26244\n", "\n", " 3 2 ⎞⎤\n", "0⋅z + 295245⋅z - 196830⋅z + 59047, 9⎠⎦" ] }, "execution_count": 106, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sol = list(sb.solveset(equation,z,domain=sb.S.Complexes)) ; sol # résultat pas terrible..." ] }, { "cell_type": "code", "execution_count": 107, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1.92822653746371, 4.07177346253629,\n", " 2.13291705468806 - 0.629972635077273*I,\n", " 2.13291705468806 + 0.629972635077273*I,\n", " 2.6688037859562 - 1.01931713553736*I,\n", " 2.6688037859562 + 1.01931713553736*I,\n", " 3.3311962140438 - 1.01931713553736*I,\n", " 3.3311962140438 + 1.01931713553736*I,\n", " 3.86708294531194 - 0.629972635077273*I,\n", " 3.86708294531194 + 0.629972635077273*I], dtype=object)" ] }, "execution_count": 107, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.array([ s.evalf() for s in sol ])" ] }, { "cell_type": "code", "execution_count": 108, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1.92822654+0.j , 4.07177346+0.j ,\n", " 2.13291705-0.62997264j, 2.13291705+0.62997264j,\n", " 2.66880379-1.01931714j, 2.66880379+1.01931714j,\n", " 3.33119621-1.01931714j, 3.33119621+1.01931714j,\n", " 3.86708295-0.62997264j, 3.86708295+0.62997264j])" ] }, "execution_count": 108, "metadata": {}, "output_type": "execute_result" } ], "source": [ "V = np.array(sol).astype(np.complex);V" ] }, { "cell_type": "code", "execution_count": 109, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(V.real,V.imag,\"or\"); plt.grid();plt.axis(\"equal\");plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 5. Problèmes différentiels" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 5.1 Équation différentielle ordinaire sans condition initiale" ] }, { "cell_type": "code", "execution_count": 110, "metadata": {}, "outputs": [], "source": [ "f = sb.Function(\"f\") ; # Fonction inconnue\n", "a,b,c = sb.symbols([\"a\",\"b\",\"c\"],real=True,positive=True) # Paramètres positifs" ] }, { "cell_type": "code", "execution_count": 111, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$f{\\left (x \\right )} = C_{1} \\sin{\\left (\\sqrt{a} x \\right )} + C_{2} \\cos{\\left (\\sqrt{a} x \\right )}$$" ], "text/plain": [ "f(x) = C₁⋅sin(√a⋅x) + C₂⋅cos(√a⋅x)" ] }, "execution_count": 111, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sol_gen=sb.dsolve(sb.Eq(f(x).diff(x,2)+a*f(x),0),f(x)) ; sol_gen" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Pas de condition initiale dans la version 1.1.1 ! (prévu pour la 1.2)" ] }, { "cell_type": "code", "execution_count": 112, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'Eq(f(x), C1*sin(sqrt(a)*x) + C2*cos(sqrt(a)*x))'" ] }, "execution_count": 112, "metadata": {}, "output_type": "execute_result" } ], "source": [ "repr(sol_gen)" ] }, { "cell_type": "code", "execution_count": 113, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left \\{ f{\\left (x \\right )} : C_{1} \\sin{\\left (\\sqrt{a} x \\right )} + C_{2} \\cos{\\left (\\sqrt{a} x \\right )}\\right \\}$$" ], "text/plain": [ "{f(x): C₁⋅sin(√a⋅x) + C₂⋅cos(√a⋅x)}" ] }, "execution_count": 113, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f_rule = sb.solve([sol_gen],[f(x)]) ; f_rule" ] }, { "cell_type": "code", "execution_count": 114, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAL4AAAAZBAMAAAB9Q4n4AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAq90izRB2u2aJ71SZRDLoymTnAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACoklEQVRIDbVWTWgTQRh9ZjNpN7tpGw+lBw8xIFg8tIoIBSFB0UMpuHpoUYoNQpWWHlLBm9QgIh6DYLGniuLPzaKngpgQ/DmJOXsKFjyJ1p+WllLjfLO73dnZERWSD7LzvvfevAzfTkqxOzuIdlUiewD5FoR/bVLpgm61JH9OFy24luR3Ff+Wzy6l+4xy1DV2P8oBo7Pp0pAk7KpLTRh655+ehHW7FJZEN6LhEo8cLO+XhMMSVqCbP7aP0+9192hL8fOWXXYA+4ckvJOwAt38Yb4DHxSJ2tRalIw/JOFeILB8gFUk8k1xys+qxnszEyUXlzjXVQ0Em4g/lMjPZUg9r7HEe2fUzcZ38rFG4D7D4dH5IwHhofmpBkT+YiGk1bJUe4mbOMHkQRNlrtNTrrt8XA9wjWZsi63ZHpIPLdlFN3+gQT3YQpo8clUcqHGxX66B3eCrVeePDHCuhJpLB89+JAtu/lMR69iwuTVUr8A2QwSQFK+c4dMFLkzngUSB3z0H/YrPFj4xnwGSrEZ33fDOtmMdQUq9obFVUl8CzwDjLN8Q4+1jsO2dTS5IFmkV+eLmm+h03PyaGKKY/wbcY0h73ZtfFvlg34CbfLKb6BRfK81/glu8/FyBozv8E7mO2zRZhytBGfRCTM7x84sfJf9tsi105J8HHkLdJaDunt/aAJYp5WM4CujDVbCfZA+qUoJFhxH5uapV5vgkrldplcquwvTuJ8Zn99S5ZFyRdAHH6fpnnRDN3qbFHwSR37EWJ/X01EpvI+QCFi5OevPxhYNY8aG8WuF8XxL5qfUXfq9dxfv1FGPuy2udydSR3nwwfFyveqycn2w2V3XmUR2JoVNviK/0aFWflPN9Tl1LKiH3sUG5i+B/yY9s+g+i/fnH2vr/z5Pfwx6brzD0uhcAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\left [ C_{2} = b, \\quad C_{1} \\sqrt{a} = c\\right ]$$" ], "text/plain": [ "[C₂ = b, C₁⋅√a = c]" ] }, "execution_count": 114, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eq_ics = [sb.Eq(f(x).subs(f_rule).subs(x,0),b),\n", " sb.Eq(f(x).subs(f_rule).diff(x).subs(x,0),c)] # ics abréviation de Initial Conditions\n", "eq_ics" ] }, { "cell_type": "code", "execution_count": 115, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAALUAAAAyBAMAAADoyIf6AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIrt2EIlmRJmrMu/dzVR9PQywAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADsElEQVRYCbVYTWgTQRR+22y6Ic0fQQ+ekqMFxWg8iIIdWpSiLQnoxVJJDt7tXcFQFAV/WlCqvQVPRQ9VKwrS0ggiPVTbQw8FL70UQQ+tWtsqap15M7PJZLuZKcY5vHnf9958s5l5M5sEgLZkmtkmtscZKRb4SqTbpN6ZTAilQrFJklWZ3qfcdzarXLM8+xlXalltlmKNTqGMIJ6u4ZrljvPdzA03S7BGJ1VCkONdTaDODWb76hg9FKI6bes9DOrF6jIMtSN5mKgbqYeG2kNEL+XJMNQWpeoZ3pAw07a/NxTxCZppwzqA46PgTxtq3wD4bzUYPJMl/g/oE1Gf2z40OmLlfVL96K720eJuJdg5iVDVPnYYYv1FJU8LAhMElt+qaYsIFe3ON5QbSqh5GmTvIwChL2rWH4TikhrHhfhA0+CSmqZD0ec0w3mipDlrCMXl2jFAURCnG1PStKCwRFPCJSUvWEEYXcUOFz+F1CkkqImUpNegt36xoF2WKTPMid49skS7GD0VdL3w1VbIMN9tuXnX9XeC35SY/ZvB3IKNG4Bbd7PMqDm0ACe5qM04XYv85Bknzt1DhzC7QgCnDL0E6CkxBqYJsyScrbBetPiW0iQt+zbcNhtKcEtSALdBXECfM9BzFfk5ZmNliFUQGpkI7tcn2IBU2R2wCA6vwst0lfma4PIEqXzFzdI6vLLzcKFWex1C+HFCr+h4vpcpOguc1WkTZT6LLWyQcf1VfgNOFxkqlJl9xwyrmWXiaqt1EsZlXwVeCSydt5UixOjzQJidaREdgb0MOFiDgGcHutsfDFBOrEmkxBJkaykLb5ZICnt7cPQ6c5IE4Qyz3VjeIL5Q8TOPUVdbINE9lDBGpFfbW8PhRC1mfnweGXFl8ah4bg6kvS8dutnbtOSjMVJPi7uqVts6v5mpTwOLPwPluzwxRkxvbXl45Y71RKtEaED6Reloe1PtXq2SN8FU+w6Ade2gd628ilXGUNuu0JdGogVPW3WwxjPUDhbBfgEhOsMOmoH2RyoXoffCGtBvnDtpeu3AFNXLArSlIecWi9EUeu1d7Map0JdJHi4aSbpJem2gx6uVFkhuCfbHEu5AA0dqD/vn0is6QugLNtM6s/159xtqoG1twjIdbt/t23PUT2ZbXvyWiqe3jXLyAFloEPUPicu14am4crzkL9Ag0lHGYLjRD4Po1I62UM5ms+JlDb96cddjYz88lAkh/yuAQKM/C16bSNXnOLPup02m64P/iPl/M38B6WjllYBrj+4AAAAASUVORK5CYII=\n", "text/latex": [ "$$\\left \\{ C_{1} : \\frac{c}{\\sqrt{a}}, \\quad C_{2} : b\\right \\}$$" ], "text/plain": [ "⎧ c ⎫\n", "⎨C₁: ──, C₂: b⎬\n", "⎩ √a ⎭" ] }, "execution_count": 115, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sol_ics = sb.solve(eq_ics,[\"C1\",\"C2\"]) ; sol_ics" ] }, { "cell_type": "code", "execution_count": 116, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left \\{ f{\\left (x \\right )} : b \\cos{\\left (\\sqrt{a} x \\right )} + \\frac{c}{\\sqrt{a}} \\sin{\\left (\\sqrt{a} x \\right )}\\right \\}$$" ], "text/plain": [ "⎧ c⋅sin(√a⋅x)⎫\n", "⎨f(x): b⋅cos(√a⋅x) + ───────────⎬\n", "⎩ √a ⎭" ] }, "execution_count": 116, "metadata": {}, "output_type": "execute_result" } ], "source": [ "{k:v.subs(sol_ics) for k,v in f_rule.items()}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 5.2 Système différentiel ordinaire" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 5.2.1 Système sans conditions initiales" ] }, { "cell_type": "code", "execution_count": 117, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbUAAAA0BAMAAAD/H7snAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEN2ZRGYizbsyq4nvdlTi2OUeAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAG7klEQVRoBe1aXWhcRRT+bvYvu9lsNvSh9adka1W0gq7VWmgtBqUoUk2sUMW/rJZKKYKrxTcrCYi1ghgVKrVCUsQHpcXYPqgN1dQ/KmhdKQhtrV6t+KCUJFgDpTTrOfOze3ezuXdPNo1FnIeZMzPnnO9+d+bOzsxZQJyc4ffSYqPGDS7Zv0vqpL29XWgSQigjNJkN9SyWCtw47e1pXFf8S2DCqm2d0TNCk9lQP40n++v301ws9uLy+vWNZiT9r3C7R8QNiMi5vfE50JIRv5AGDeLPZoG9Iicz4IZJ4LW5X0vaXMQXnW9u4XFE+0Qgs6LclcZG2RudwbjRfNyE7bPyvBInexEdjOckFjPgFstGt+24XgIyK7qbsXHH66KBE3Nbf2DATRaLY7PyvHU7ia48OonvisW6DVhRyi38FV4RvTzR00yrvCbXPD5t53QdUm6XdmP5dL7OX7vzJUJ5sXspt1vSuEYM0rBBaBxNQ2IvUm6H4JwWgzRskOxFR6fYi5CbcxaROV5GmFLHEHrE1KRriTOJ5vzvcpgGLTpcbE3lpE5qjFvU+KjpawvWZmvMfKNrTaVPwfrW1riqcBErRBa3VLSoilG1ltUKNbj9ZHTuqtbl+sXHt+/pn9LR6uqmcGFKV90NfrDOno83HZ3iKQjVcFu/fJs1Tdlhsaa2o3YZGk4Df9o++4C2DgwfyZUrVZJFXfkBIIRlT0Gomlt0EJ92GuD5pgSeKkk+wv63XDh5qxAjohUp5jpXVjR4Kha15d3DgBCW3ASiam6JNJIjBnVZCf1eI60utdQQDt+RRqjbdkSyVjLlWuCjqqZS1aImf+sDhLDkJBBVc0uOIzFhMEdK2EkzCKdKLVMFOvAAyXL7wbKopJeA0eqxtCoWlU4vwIhtRT2wrByIasYtg4S5AQnnSyCxbi36cWvJkM7tJRM8UxaVRFcxXW5Vm60mDCqfpoWw7CIQVXMjzaYx4OSJDQgN0Uw+sWvnJ3RxMMguAB9ukd1LssBKUlp47KJhF9jPBuXkMDfzisqtZYlRH/jsbZpgItjUqh+6g1FL3AYKaMlHD4EHK4RjBboui+T1Q/hwQ1uBdHiwsq17+GLvPjZZehmnJSRFzwLkedqk+s5Rtwz2QzzRG4xa4rZYfRjn0OQC6/Bz7h1aljP6mfy4qVu1a+k95FonEvRaftUmNlfchmxtakmoUHdmItjUOL/TQFTLLZQFDiE+gWQn0I+t/BjxMcpoDL7RY4C2YmXi7lFW/IJ0aS/G4gBn5UT7T3QVynUlOU+rce2nCZKlhtQYZT6wlaB8PqWt80AuGNVyo/U+PonWEQUC8DRBeIRz3+9N36oRN7qQVRTWsOhJ9L2Nup56pUio5j6QudUNO+DiR/VG/VENN9oVPB6ZQPMgYi5hhCfQXt+cpDUeeI6zrpyTNnOy/L3hRaCHmmsnRgWD0vfmUlYvbE8OhBuIarjtBL6PjKGjG80FOM8nxjCk7hsI0H/cvmWFl4EFne+jhcT7ue5JD4HO6Y6nwSsyKs0wHnARbA+cv4NRzRknuviGFRlnAu+neeFPnZk3Enbpa2BQSqd0UZGbUI6+O6eFf/TVm3E3aayq0KKfFtf5Gh35qlZdVajQF+F1wupQTkcuQVuGIFTDLUbfax53HqeFP5yBs6pw8hGCb8rpZ6jFzYRy1DqAW4F5J1LLXFKv3jw6B471o2mRdlSVa1S9HNUJq0M54T37MghENdwsKC/JV9sKHjOSlxsHAziZUE5okCtN/ZxzimZUUZ39Ut3gra9QFV9YFQxgNRvKacrWgRopxzreTMd536XWLgVnt6+rVc1kk7rUoZw/Yi5Xyzvk8v6V20tpqCRNEVKDak0IgG1ztaEK5cR3YYDeZiCqh9vu9PwCeWjOaTeI9hrBW6i9sWpoyQBXmZPJC1ZloxUqSof9TpOa+vKqxx9WbaeV3l4gcdDZwnIAqndO3vbgjWzh9HJOqTmty4qcGenEoZyHb9LyAtvYZ4WKMlJRq6xEjuRUgz8sMdKJQznhZfs6uRaA6uWmjYENRlhnG7xlLGtqFaGcaLdujeS8ujLZF3az9eUN5QSheuakNfcpORhgdvxzGMpRwQB9NhGFckTcdDBA7fjnMpSjggH6bCIK5Yi4qWCA3vHPYShHBwP02UQUyhFxU8EAu+P3mbqz26WDAeZsInEt4maCAXrHL0FpSDdpggHqbCLxJOFmgwF6xy9BaUjXBAP0IUHiScRNBQPsjl+C0pBuBwcDHjVnE4knCTeoYIDd8UtQGtJVwQB7NpF4EnFTwQC745egNKSrggH2bCLxJOImcXwB6P7P7QIYhBk8wn983K4Q/zd0Bu9w7k2c9oW9M/hv6Nw/6AwQ+b+h/wDe6iJK5DRDbgAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\left [ 2 g{\\left (x \\right )} + \\frac{d^{2}}{d x^{2}} f{\\left (x \\right )} = 0, \\quad - 2 f{\\left (x \\right )} + \\frac{d^{2}}{d x^{2}} g{\\left (x \\right )} = 0\\right ]$$" ], "text/plain": [ "⎡ 2 2 ⎤\n", "⎢ d d ⎥\n", "⎢2⋅g(x) + ───(f(x)) = 0, -2⋅f(x) + ───(g(x)) = 0⎥\n", "⎢ 2 2 ⎥\n", "⎣ dx dx ⎦" ] }, "execution_count": 117, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g = sb.Function(\"g\")\n", "SDO = [sb.Eq(f(x).diff(x,2)+2*g(x),0),sb.Eq(g(x).diff(x,2)-2*f(x),0)]\n", "SDO" ] }, { "cell_type": "code", "execution_count": 118, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+8AAAAmBAMAAABHW7f3AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAdt0yIs3vqxBEZruZiVQ5Xk1xAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAK8ElEQVR4Ae2af4xcVRXHz8y8nX07v3bXVCDa6mSR0BSwI/UPEzH71FBMmmbHP1QiiayaIERDt1bTBtC+Ak2joLOS6B8Y2PEPxKZ/dKtIG/afaYMIbQnTJrU1ae1YIdrEpotgKI2wnnPuvW/ue+/OvPe2u9tJlpvsveee+7nn3u878362AACp67H6oEQfgcPRyNUhdroJ1s2tkbB1g5Ng2jJGCxO9Kj5zZ5KdnZP0+p7Vk0TNErDPLMEa81xiT5J59oigt7tJZi1fNnNv72rPDyXZ21Sd6RuSzFnGbF+zd8VbbyfZ22CD6e8kmTM/1nbmNy/urHjxH40bzsxddM3+zt542+o83zxScnT/o8An+xHdp9mvazZIFrLi5r64ibfPbHWhGOdKxKS+T7MdwOLHh2PmgHG9t8QFiYu/rYCeTou0sd0AP6162DEokD3meB7dyE0a2CtI/Hk9eHe7AIVyd0KNxiQ1jCRrXYCmirUIbeZSkqC+bXWdGJP0MHsCMsNlCtmgCmCAVOfN0neZWGPiHQoFYImmQ11qdBgwuAcnrbcMboMrJqlheYyidQE+awgb1+UIsKPy/um4kYjzbavrxJikhxUmAUplCqk2RG9nuXHyhMorJtaU+FRLzB0YCsXQHDs1O8rMudZbA9cCDL942unOEpkMo8T74udC206t3PiiXPYXE6D1gnuJVD5YD07p1vdtqxvIApLITmO0duJRFPwNPdb7wUVYa9nEBhP/6imAC2r6x5ShtdbRuyrcfYFq+6NbH7Ca2rAyd+zfWt+oOtgWy8Wam3Ie7GtpTjbDZDKMEu+Pv5o9WrWif/obsnvqEmg9jWHTqFwoTjWIGHWohuCe2WkaWCzZt+Ni7cSjKPg3LX8zVXohrVbVyPof7opb7gcbQVH6XGW12zug+C71rHGqr7kOSsfrZPlL6psuXFij+W51v3QOcrAvo/nYNJDJMJF4PT5eWvylnh8SP1awfl6Gds9P4c/YqFwoTjeJ3stTQntWgUID+rYUZA5xq5tE9q8xiJd4EgXkgT9RpRfSOjBtZP2Jz54/AIW6mpprKKvdbgO4h3oFOhCP0cn1moOVKE/K1v69i4T2WmkdANiHg96dviuZADsy8/zMTB188Wu4uCiZGSzP4c22AtKkjxzYMxezcqWY5vyQqpA6clIJDfi2JRhRG8kEsv+JYTDxhZmZ7868ACSKn2w+7q2hKS9NGFl/4qdcgKw3GwyfqTa5sN1BYnASq6+6WP0K/2T5u2z7aOLAuOxhcwd82r6ER39WPTZ1I5NhfMb74vfV2wsLaxQc6ao9gtdrrxfgzMqVYoL5rTekToUJDfi2pShqTWQS2ZRm74wHEsWX+ouhnzRqzUwb2TT+HrC8wzUcx+aXwqT6621TWd8H2E7hR128sfLDxG1qCECl82wLfZmGN2D9Yd3LpWpzfbFalL5uZDKMEu+PX0ClerHGT3jveG8U9Z5OoW1WrhQT/B5VQXXk4xIc8G9LUdSayCSy/Q93b+BRHaawoy2q20VoLeuJ99i+KnEDl5l+9lsPAbyK5o5rHznTAjjJ3uAjw1ryfgj/xspk4c9NFZlO6z/ksOn3gc2xlW52bm7W3uzs2n3sFPu8n4iRTIZR4v3xU+O0CK1LLVoPPLXKZQtg1wq9J53YlA6uqIeUpxsSWAs7DrJJh8m3Zwlw4xswy5a4kUwiO++AdeJ/QxiOfuS7VgDgDQ2gVqc6qPw5I1u8RKxIP8CbaNNp3khtLpQBnkET7P9S3S4Zgvhud5ZW1otMfJEJOfBEJdPUGWHHJGNgfKn3LTDAkszr+kCtcwLWT4eU16qCQMVNvqHx+5JPnRYCfANdl48iI2Xz9xpemxKPxeZ2cIjs4NJPkZOKj4Wb0GP/0aUB4M8sn8T3Yif1dn8d4Bx7Xa69SpwHM9hfW/GcwpAbTnvPcBjyMqQmAxh2Y5IxsEIoeIaW77BuCBaO0iXAgxZUbks63bBa/MCcoXubrs4XTh/ovnwUGS1bfZeAhthC0aV2sIlVaOmCQ2NYGlyDYGHnAXw+GxKu0iy29+HtGfJV8owKN9U7R6hcj9ZRdn4N600uma78EnxoZOSekZEb0ZPlU86Gn53cBvk3V/2VKL2Eyc//ZkuYDGMA1TCmR2bbovdN07oh0nNkp+kV3aycFNt8LYQBiqzU2Xw91A6MGugku30IFTl/2TJ5noDdbA02sAkrP+VhbAgW300rcPvLYqhYxvY+ssVFQ3tgJyeXXIObm7Hmm32pIr8ao0P9Uun3A//AX9ghGJwgO1QC5I/gGiMZwCA1a8T84W1KT4d1/aTXG23hBjopJ8V4ScAiznip7lP0mKOXdLRsiSvyCmS7+sp09lHhxIeVqysXM4qF0i3Y/0uFnXnKEn/kmnJsV13qecirLoDlYIfO+NfIKKpnRrRlnsQbfBPehbEKX31wKFAC5Do4Ia5T3TF4GhPfDDChLt+wojF93l4H9ndUTor76MiIxCt18kbYDqMGusiWsCIXVDbGrg1hFVc557x/nLeUpYn78MPM5HZKKOxhr6/KNCHloocSP0Y4XkfEGyXaMp0WPdwVXfgdJp6+eLWwGygBEmANmMgAZl83a8T8wTP05cgUTcMCJ8FesPGB3aycFddaqINun1hJdaHEq4EusuUOFLmgsjH2WB2rCOVyC/JFjhXhxAq6TwJc/MxL8DSaB4nyP9V/4ehRfLEFeBD/SngcLrjhxMPFOpT4xnIcclV43EE2UGRGPfLDQ0YygKXsWSPmD85P9R3WVaR6YJf9mtOP1/KgcgGx4imrjqhNOff2LB59ySNLtOwguZCyMfZoC6sI5WoL+XG2vsf1RaqfAHh8uHS4heYnqO//9H/33By/3uEtEbn9D01iEzzjwT6y9RUaz6wGWDU8RGagqIwq0sazzUAGsNcx8SbMHzw3Tn1DNA1L4860MrD5dDmsPN0ghBXnP0Im8GFSew4lXg10ls1BsFLkQsrGsFOUjQjlRFDJVrnhb5HwZ7LTFfZgZZWVFW6n3LYvlHg1tEGDlE+0KqOed9Rb1XOh4cesOiU+shQmIhGAfwUYSnK08rv0WaHEq8HOshXhtQsoG2Pudb3AkQa+yFChxJcm+LmOHmJFKdSVFW6zk22fl/gn2z6yrImM4/d4PT9pf1vcnrxhZfixzJnT77XUUOe2r955zBtpehYamW1AGYhW/pI+q1Piu8jWp+N5v6CyMfYhf/yuvewED1Pi0weqbPPXP7I2cNdc8b/OySEv8QF0w7rb3ICrQ3c1/DYWaeGdOLLUYoSyh/Qw/ffaX6Z+pHLfKdUp8VdJNu7/Rl1UhK0lPrfSYfgxNeWAMgxtZtxzyq/GXt8zNs3NeXZ343PDP+gOyNE977SiuWejEfyvAXoZOHx6kvqRymut9rSNdx9sd3TrKsnGK8hlfRsRtpZ4RVp1YeUc5TG1PzY5e8InHknns5VI5fnGfMIu1ZwSvcfGLYbEx5u6Mx629FTOdxVf2PXFC8PCxly4aIVqgljzTnypkWCVpUQ3LOJi/DV4EeNfWehsK8H8eScezidYZSnRU4u52InFDH6lsfnbStwgMvE3xeWXOZet9PABuD/J3mTiv5JkzjJm8Xtoz5ZUor3VGizkrNOzenprY/y+31tbUrtZ7ygrTisz/vDqOPAHDDzs9OpBsPE/EMUvqfcFaz9fjz9pOZPWnb2qPp8kg5kR9bBS2tKrgnpsX1/ssf142/mJZ8UwMpz3/wN0h+Tf0AehtwAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\left \\{ f{\\left (x \\right )} : - 2 \\left(C_{1} + C_{2} e^{2 i x} + C_{3} e^{2 x} + C_{4} e^{2 x + 2 i x}\\right) e^{- x - i x}, \\quad g{\\left (x \\right )} : 2 i \\left(C_{1} - C_{2} e^{2 i x} - C_{3} e^{2 x} + C_{4} e^{2 x \\left(1 + i\\right)}\\right) e^{- x \\left(1 + i\\right)}\\right \\}$$" ], "text/plain": [ "⎧ ⎛ 2⋅ⅈ⋅x 2⋅x 2⋅x + 2⋅ⅈ⋅x⎞ -x - ⅈ⋅x ⎛ \n", "⎨f(x): -2⋅⎝C₁ + C₂⋅ℯ + C₃⋅ℯ + C₄⋅ℯ ⎠⋅ℯ , g(x): 2⋅ⅈ⋅⎝C\n", "⎩ \n", "\n", " 2⋅ⅈ⋅x 2⋅x 2⋅x⋅(1 + ⅈ)⎞ -x⋅(1 + ⅈ)⎫\n", "₁ - C₂⋅ℯ - C₃⋅ℯ + C₄⋅ℯ ⎠⋅ℯ ⎬\n", " ⎭" ] }, "execution_count": 118, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sol_SDO = sb.solve(sb.dsolve(SDO,[f(x),g(x)]),[f(x),g(x)]) ; sol_SDO" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 5.2.2 Calcul de la solution pour des conditions initiales données" ] }, { "cell_type": "code", "execution_count": 119, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABy4AAAAVBAMAAADiEdTpAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAdt0yiUQQzSKZu6vvZlSXY1v9AAAACXBIWXMAAA7EAAAOxAGVKw4bAAANd0lEQVR4AeVbX4ycVRU/Ozs7O7vtTIc+oAjoZmsIBKEj7YM8mE6bVqJNbPXFB4t8VRIiYrr64INVOhAetKR2IWqthrSVxBhr4oLEiBtl1cALJKw+yJ+QOGhjfOuKgILKes6559x7v/vn63To9oHehPnud373nPO753fP/Pm2wMZNcMmNZsWO81ge4XAW7ldEfzvQCHFHcBmK4QhxR3AZigrYuieWU9IqHIBWVIy+YNVBKgKcA8rExabcdQ7PdyL83opNTXRyYJUX+qjj2CAX4G3aP3He/pcCFaiShUqmuiSrd64Kac2rkiQDD2nMkdvl9WXz+Fe7GK7xnsVfN3tR3LVDAXZe0Y/yOcPNOL0C/8sQAxifz6Mp2u0eiNklEcvYfKzzN489TOvQy42bCjfnmXM8Q/f7Ty8u3xcs4dsckN2cAxJnaPyaKIfZGdLBcRGp1Ld/79xUzApTzwpFU5r5wV1J0JoUU1NwycKeiioksSNN8dRJzVn7UtosHx/Iie0dj5AcAFfS78v7of4aRr3qcmjvWPbD83ztUJgcNK6N8jnD9Th9P/6XIQZQW8ijKdp3AIjZJRFLrQeThWfFaXMB9uzFK3rpaDx+qNC5XGvq2JhDy9hvCzhzQ7CEbrNAdnMe8JUw4BeOvR6a3D7wjewiUrkbPtsPuZgi13poZyoGl3pWKJrSzPiaV68kLEskpktBJQsFTdNKaEqnztSctS+lzfLxgKzYHhCSA+BK+n35C4BnAO6kt+ATfS+8ma4dCn8E+FiUzxrGqC9x5IgBbMS+zKEp2g8BGDOFnVimV8/SmjcGfV1XwPolvEEvN95XuLnOjOMUxmv8EOGpfysAcKtMQ0CTR/STwAsuoMzGXo9MbmeQpKIOIRW1j0alNQP1kzaETAIqYtV6np9mTqiAYEpMl4JKZgUVFdK0AFKagqk5aZ87YVkgqnDqFFhyUh0wlfT78tkCnujD1wpcsU9XuevaoXAa4CxlTY8PHzT2HDEYfw77MoemaC8BGDMFbndMeGd5yhj0df3rsI5abEkNdE1qyI7rEZ2k2cQSvsh4Wa4hoMkj+klgfaHx9JroS7cPSFJR15CK2kejMr0A7eg9IqAiGbSe56eZEyoguJQQ06XgkqmgokKaVkZTU3NMEqSVzdAld/SiCidPgZLTgKaSfl8+CvBEt/4WLbhZV7nr2qHwBsBtA5cpmPVMX2aJQX1yAbJogvbEHACbOZF2gLN8vUxg3Qys+ye2GXq5kexLdvwULtozwBf+1SseqkgIaPKIfhKYXJZw9pLoS7cPSFJR35CK2kejsmEeJvjkaBi6BlQEknriD6nzO2rJkrAsLo+ssSmAS6aCigpuOVfIMk5qygFI+yzbLBBVOHkKlJzSMJX0+xKRzXB0hhZ8jl6isUZog/oyOnKafax/EBpXdCqIvRv78nxoT/U49maTQeXGu82w/wG87DaA91pbwa+lPc8QfV46x2/jL9JXaGmj6xxEkQjQ5BH9JFBfcBHNLNGXCMg+IElFQkRUNPRoVA5gX/5PQ3hXj4pnra1UK5o8iMmSqCyRmCYFcMlUUO2LUoUcrbAviaMJQNpHdVHHHBBXOHkKlJyGM5Us9+X4P2APcsmMC4tOzfLAo9Z8FWBbNu0ROAh1/E6YJdZcxr7Movi5FW6K3wLJzEPl5oW9fWh7Lto/sTNeCoUaOkd8/6tLaF0MIIpEgCaP6CeB1hxFfJDrdj0HT/Yl7ozpQJKKkIqoiD2u5FBUjvZsQTUQXX0qnn1bp1LRhGbonOQhssRimhTAJVNBbV+maYWaEkcTgLSPJNL95IC4wslTwORcM4CpZLkva/Owuav5outaodyXvSidGHrYl9+amssTqwP25fnQrg0oNO6Gh8pNlubgGNr+YgDv9TqcGy81Bhp6jjfiUvzaWx6iSARo8oh+EmjPlKPi493oNx2u0H1AkoqEiKho6NGo0GnCt9dw+FQ87LpqRWkLsaLJkogssZgmBXDJVFDbl2lagabM0QQg7aO66H5yQFzh5ClQchrOVJL68g5+A96EwHH+DY2TAr7I780e5qONnYsFxXGePtq8+kpu7jSKnzzk6o0GCnpbxzPQtPFlZtVt9bEviw0delKDo5DUCqPpeepLQSW1h/rEJPX6vRQJ94pfTmdnP/C72dkFmqOlAfRJt41ufPJT82ggLxfXaGgXeY5P4lLulgY0zBs1fsA9MztLH3AK3L4bnwn6ycv0PVYCGObjK+hVGsm+1H1ATMUSDqi4jQWVHJbKgR5MRN8SXEmJisuB9axU1NdMFM3xYFkSYkoK4JKxoE6FHC2jqaNJHE0A0l6VMI3hVikgBzOu8D1/+Dlp5vLrKQCYQzuT80Q1lSx9XtIzW/6i3u6OXzbjreWph07BVAh76Lre2FLg7KH43CsA6bnP2UFolPt7APuSHtcKsSh1s8Ofl7S83R0qNfclMeLR7siELPxMcZ8Y7OUFmrGXNYXvrc4RTyD9HAX4K3xwo67Xd0oB5uFBg2hy2ZyjHwCmaPS9qjxSfWn3Qc0QU5EAClgqGng0Kvi0oh099+G/UJjHtEjFDapnhaLmLxvD8TCyxGJKCvNQXAXVz8tShRytUFP+IwHXnLQXPnFjCBAdTK3wY3CV5AhOAYzRcVByysNUstSXZ6DZP9HHBXU8oTO6UK8eumFvM/yq5qHj3fqcOsnVQ2HiLBvxHZDGAt78BODPhawML59eXPzvY9SaQixKPbG4+MTTPUGHSj05wCTECC/uZwtb8JM3/h7b7sE38ANrgJAdoYbO8W79y2XPiySKmD9p9uA1ONrlUNp+Ef0AMEUzmuAbL47870vaGdOBJBXZQkRFtzYalemT0Iq/U5eoaALgeh7MK2rEGY4HTA4wbiSmpkh/j03Tip7l0akzASiJ8IkbQ4DoYGqFt8AtGIdGcArgMyto5O+xXjOYSvp9Od6DseJoB9d+JNGXPtoqwr70UXyXXiYabpTQ/QccYGYvARzD75C58TQ03qqDEItT40cZPo8V2sOknsa1zIgTagew5cCgB/BiQGQrwOUA5OVG2JfO8RQ+yKJvdPUi7ksF/hT2ZURfWSnARWuddATMjD4vg8K5fUCSioSIqGhozWgrORSV1hLgM4BCg5hrmYrFqJ6VirLfcDxYFl7P4ZWrpgAumQr6ciWtqC+JowlA2isf8+ZoN2OB6GBqhQFukNWSX4HG5SsIKDmNaCrp9+W9x48/Cm182n2mSPRlCYX6jMYx1xI69qUyCCW0E/VlbdD4PRyYC5zs7ZswsXLEEotSA2w4adFhUtOzc2bEGVRKttzWXAZ4wGbmSfO64z+YkQfmFgn70jnuxjVnl6GN723uCZIoYgHYYSJpcq26pR8CXLSpjs0vE+rLoHBuH/wHn4iKhlBAqah9RCo3wl3dxr80iLkGVATkelYqyn7D8eC/Y/B6ji5lsymAS6aCigppWvG/KyCOJgCdGOUT9aUC0cHUCr9LZQtOwVhjBUkrOakO4NO6u7r41GeXNRxaXcXCfv7043vRFKUvoXBTYd14UkbvVCayyEfb/agvG9vxQVHtmnJEe3ds9RScWrbEotQwdejNjtKGIVJPzAAYRpRDO4At01ej5VoyuzG5uro6h/+uYMaZ4FfPXl/eonP8JC5rfH/xO7TaPmtTRRTQf2+uySP6AWCKVutTUG+s++krj4SFc/uAJBV1D6mofUQqt1+GTzdmCxuFJgEVwUw9qxRlv+F4sCxmPYWXsrkUXDIVVFRI04o15VPHAVj7XGNYomFPaIUbp2TnwSn4O/elkpM1AFxJvy8tQpOoL0to80el2/BmPPz16S04AlFfGvRv3qKK6QVIvckPbztAjc0ZnZWvJa8yZO6MY63rsKgvFTpcmFmUXCsXAKZo96p7+ZotXJJK2RdAqYR2GIFKu4iiiMGnEq4ZUtFkSQBKsgRr8HsRJrOCal84AlW0zCpTcy9JtjHy29gmR6Kcv7lMfWnJOVI0G7Ev74cPleP4d3d1m/hlODe27jzx8STWS1oj4wVIzc9XNfDEss7kOhUaxF7yCnz41ji25h1m+/JWZ6NZc2G8z5YguatcAJiiPcQ+0UsvsoghSSVYbKkE9pGo4O+xzPCphEuGVDRZEpB/WC4xgzXmfzawggYqoE8VLRPS1NzTPtuXmW3gT7SjcqLK+cd3fvTVAVhy5aqM1pfNh7d8txzHv6sVraf8+3B+tAgtdN/opKyR7UKknu5HYT3DYW/uT6u9cKU4/tg52b50Jp4d3nJzEZj4tqJyWLTmyZRPVeEuNpX9SYJs9KgEi0ZW1JyjSlm4ZDlBiUeelmEpNfeS5Poyu41r4KXCBAtfm/h0IEMu15fNW96o6JP1q6srYRJ3P779yr67i2atn/0msqGhlTLGtguRunEyjussua/o1V7oL4532lD3HYp+1Bvs2dVVu8if5CtHRZsu/LV2XlG4i01FPhcsNW/iqHhGno6qqJyjSlm4ZDlBKXuelqEpNXdJso2R3cbWy35pYkWvL/5noIcmxHbBjk2h7Z1/f6Rii61+DqzyQh91bFaczlzooezPD7XKX3QpUIEqWahkqotfGDs/V4W05lVJbLARJhlyG5/8PxH8fnJ+I45hAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\left [ - 2 C_{1} - 2 C_{2} - 2 C_{3} - 2 C_{4} = 0, \\quad - 4 i C_{2} - 4 C_{3} - 2 C_{4} \\left(2 + 2 i\\right) - 2 \\left(-1 - i\\right) \\left(C_{1} + C_{2} + C_{3} + C_{4}\\right) = 1, \\quad 2 i \\left(C_{1} - C_{2} - C_{3} + C_{4}\\right) = 0, \\quad 2 i \\left(- 2 i C_{2} - 2 C_{3} + C_{4} \\left(2 + 2 i\\right)\\right) + 2 i \\left(-1 - i\\right) \\left(C_{1} - C_{2} - C_{3} + C_{4}\\right) = 0\\right ]$$" ], "text/plain": [ "[-2⋅C₁ - 2⋅C₂ - 2⋅C₃ - 2⋅C₄ = 0, -4⋅ⅈ⋅C₂ - 4⋅C₃ - 2⋅C₄⋅(2 + 2⋅ⅈ) - 2⋅(-1 - ⅈ)⋅\n", "(C₁ + C₂ + C₃ + C₄) = 1, 2⋅ⅈ⋅(C₁ - C₂ - C₃ + C₄) = 0, 2⋅ⅈ⋅(-2⋅ⅈ⋅C₂ - 2⋅C₃ + C₄\n", "⋅(2 + 2⋅ⅈ)) + 2⋅ⅈ⋅(-1 - ⅈ)⋅(C₁ - C₂ - C₃ + C₄) = 0]" ] }, "execution_count": 119, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sys_ics = [ sb.Eq(c.subs(sol_SDO).diff(x,d).subs(x,0),v) \\\n", " for c,d,v in zip([f(x),f(x),g(x),g(x)],[0,1,0,1],[0,1,0,0]) ]\n", "sys_ics" ] }, { "cell_type": "code", "execution_count": 120, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left \\{ C_{1} : \\frac{1}{16} - \\frac{i}{16}, \\quad C_{2} : \\frac{1}{16} + \\frac{i}{16}, \\quad C_{3} : - \\frac{1}{16} - \\frac{i}{16}, \\quad C_{4} : - \\frac{1}{16} + \\frac{i}{16}\\right \\}$$" ], "text/plain": [ "⎧ 1 ⅈ 1 ⅈ 1 ⅈ 1 ⅈ ⎫\n", "⎨C₁: ── - ──, C₂: ── + ──, C₃: - ── - ──, C₄: - ── + ──⎬\n", "⎩ 16 16 16 16 16 16 16 16⎭" ] }, "execution_count": 120, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sol_ics = sb.solve(sys_ics,[\"C1\",\"C2\",\"C3\",\"C4\"])\n", "sol_ics" ] }, { "cell_type": "code", "execution_count": 121, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABXcAAAAyBAMAAADl1fUkAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIrt2EIlmRJmrMu/dzVR9PQywAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAQd0lEQVR4Ac1dbWhkVxl+k0xmMpPsZFjUPwU3dYtSLHTKsrpFdMcthbZ0TXRbbMGSwYIKKgmK/WN1Z2mtlaoN1lalYkPRH7KU2dYVqdYSxUo/okSsoiAyoP0hbdm0XauttOv5es89X+9772zmI/fHPee8z/vxnOeeOx93TnYBxLF3QZ7zju/kOQwWP9IqmK+6WtBxMG6liwaTx2QZsarI/UgLe3ntriR4som0p14uMpNqG/1H09aeLVjnvoJ+g3J7qDWoTCLPqFVF6oXV3Z0EK481zEyW2zglrr0XwalDbz2BfdtOdXT3wIkbMK3F3E4aP+S6YP8F7PBtdQnxZG6TOkkaA0WbxnFWjiNAfcMb7mxgVcU0SSLIIzlDjBRtGt+JuhARTNYYOcGjD+tpV/7rTJ/sljcQuqy68Hfs23ZOL6Gpxrf29Kwx7hD4E7EnwMxayhrZPoOWdG6TOkkaI0Wbxs2sHD/Z/Vow3sGwvBEGJ4mMT92IYFrlkRMsPaKFm9wOBUyN962jtT3ZtH20YVuG/TXsp9o83Iv5rTciBhOvI8Dm5kjLBHk4FpHtXNsd7aifqYppOCLsDEWCPBxrqLaQuhARZGuw4GAJLq+rWcwvqCbn5Lw4zq8zvnYtBT4PvkMcDQAKD9zl8PlWwhia3BdHLjdFuiZ5XQhA4WE9Ma6fThjPz+SoiglYItQMH5SzGIK6kCBIcVAToMCBE+w2Vb3FNdSNacunMrALQibiqG1PEIg25+Fu8J6OOyL6n87sbG6OtEyRh2dlAP7iDnbSd1XFPBwRdoYiQR6ONWRbSN0EQbYGCw6U4L6OnAQs6kb1ydPskoKuPHD7xKmbQA8c5ytuAygdO9S6YHpr2jGbrogyvSReOtSMY4Sl8lLS7Bt/qoZUbZWaIq0Y62zJSYGcVeo4Tt+8KXfaZlRFB4ro+NT1CVIqK6FIEIZy+c2qLbR4D7ekwpWn4Uel+75wUA2kAY+lLwLcul5buvqTx65Dm21llBkk8enKKevrdQq8wk2dVRFUbZmaJK0Y64LJSYGcVeoo9KKVCgxtWlW0kkTHpi74BCmVlVAkOJzL38/ifUopvK8N70Wp3Xai9w2YeBWmVl2j7VNR6PD2mS3s+u2Zlj9OjObWpJGsLVOT5ckoU0fOKnnU9R2TxPoyalUxhCI6PnXBI0jqNQ6CfSzemv4gfumB65PrswSvwOQrBz+Kl8FvqSj0as03seu3i4Td8equywFZW6Ymy5NRJr+cVfIoEfakM2M0qqIHRXR86voESb3GQbCPxVs9pRR+DXUOW/FaNL8WGnFMRqED9Qo7uYEeov2g08+696suXVukJsvTUSY/+Qp7SUYAe2l6iKZboyqCJNGxqesTpPUaAUEtUqmBYvWxeGf1yvw3hobtnjWYXwqNOCaj0OGv2AnasvuN7VgA6uGjqqFri9RkeTrKlBKzSh8rVkOLp+lZONkxqiJGEh2buj5BWq8RENQiTTdRrD4Wb7etgsRTvzpGe+1ib2lOLN6eZ8QBGWUcSm8mnlBIrPQqpqDamvYga8vUZHkyCquJWWHXbxfb/vg8R0ZVjCaJjktd8AnSeo2BYHLxmteU4GntsjZ/FkonUGqvPT7RLm/BVSbYgwDIKONX2X5bEIFD/bqKo0Q7rV+bydoyNVmejMJCYlbY9Vv/FcnHkiNWVYwgiY5LXTCX3RCk9RoDwdTineppppUmSqrad+vR1LEDntkOJt8DcPCAH2NBMgo99rexZ1rc/HFJZv/8WmrzzOQp7UHW3t8GujwZZcrKWXkH7prxPowrjzQ9DOZVtV67TV0wlx0JknoN//JrCpXL7eajYPHOXN8CeA6JfgA7qjXbIDzb8AZ288dyVuO6s6nNM7MLmccIerhrZno7LJamh167QlUkU1xdGO1l5whqbHqxheyDxXvjyR6UtjDDnhb2RFsqtPHMCdhZ1+7vWFnFRBMf2khtnjFTQK9ht7hrpvyfoBJBz3jtDlWRcnF1R3zZGYIGessLdvNRsHgf/1wLZto2Qwd7oq0N6MGmkzLdDfZvdJvWbVJ07Z6VStvYHQfrKTu3eKP+Bja5ExZs33H0MIhHzwlU3WGommIZ1g3H/arrTDNMpcYsh7xLkMJpggbZL+rqnxwW1xSF7pJmIn82mlVddTqddaH+pjMYQRf3d5jbS1ZcvMbZPFPHRX2ml2bzj7S5kNUmT3ibXTPxS5JHLwwchqocy7B+MC6sbt5lZznkXQIGTxDUUyidXcfNR2Yv5OFVhUxviOZL2kme/5x1oUztdHN8Bti123ecx+IvTjubZ6xqK+vpsowy6QDHapM7Nt3NGLwWYh69EByGqjTLsHo4Lq5u3mVnOeRdAhpPEdSTqG8tIbhnW5keU+fy/U91AL4i+ldcfs31PYAbpXmuI88w5f5aoCxDOGWbj+z2HXN7SeTqy5zNM1a1w400EVqZtL9rtcmNUW6X0t2MwcvKkCE+PRMom/ptl7UjVeFJ5bEjVUOWTs1k93zUzSPIcsi7BCHOE9RzKt3TwLVRf1WaZh7WwLx8K5Yvt52pe2Y25NNZcSxuyTNMD2onisqWPjmbj6zDrCofI1a15Zb19TqhMh6YM7DJjZ/cLhWG/FIZUkjgeRNcsBCpWnpDee1I1ZBlUDccxhqKz4h56uYRZDnkXYIA74egmtzdDdHcta4nuk+2vxd/S9KYeqnaBnhBmkvyJBb4CBZvak/V3IasHiNWtbtb0iE+AmViB8Zik2uf5F6qTYklET+x/NG/GakKLeW1I1UDln7ZeBRrKN5WN6RfjNjUeQStY1wPIO8SBHhMgyaoys38DODajql8RrbCUINJdUd2jV021W01mD9nDzEu/W1THuui6wDCQzqToMGPqtinhSeonNvJzV9zp6RDsNtqZnPzmcc2N9ck9IA8mRQmD8DXNzd/sbmpdvMpmz1J17CwBUVHwG5yBW0n91I9I1MlEQlkx+wCdBu8qlYpR0SRwJpT6josnSg9Fam+M0mNhxoqhrnq6stumWRSyRokBwk6lyBJ0MG1ysUJKury9HwTrr3djD4mW7F4hVhNeXY3YpvFK81DO6LvQKKSljdG7C1vFm9EKritI5wz2OTayfnSmEWpxZtEMh/Z6/bgfcNRNWDpl41HsYYF1M277CyHvEsQ4P0Q1NO7VSxT/NhwsTSpv2k/3ii1zMcG7TaSjw2pPVX6jS1GrGoj+NiQ3EulPjYkEaOYaVYaIHQdhqpWAr8gNYo1xHflGLGpR/mxIaZBE1STnPm5aPAL20+kaT/AkdUHYFp0Py7H5jD7X3A4lPaJxI41/ZUiRqy8/s6RjFdwW2dAgZ5Nrn3nlhK75dQXthRiviRgmRW1M24YqgYssSDVxhriF7YYsanzLrt1TFXNuwQBHtOgCapyy+uy+Z3q63//4EaAMz+8C74sTLdJs3naMPW68hnqKbWnanZNlowRq9rh9TSnQJm0E2G1yTWe3Ev1qMRSiBEMUy82quK7bqiqedqwI1UDlliQamMNxdrIUzePIMsh7xIEeD8E5SQr6lEZ6B8p6tvSdCvAVQfqd/RE91dybJ7z5j2tlq47PVKbv+Y7MmuMWNVW1qVDfATKxA6MxSY3Pqm9VHqvRwKZ+42XuXLPDRuxquY5745UDVl6ZeNBrKH4btORfjFiU+cRtI5xvb6fNsQ0aIKynPmncrrifVF8elC34dy67MtjYkM1+lTPNqJcefCrDuB1GUj40SiNLCpqXhE1sKqdWUWwdOwG2w+U8yEMwDZCbXKacin1CU0n/CfmNa28/fNVxSBaipBMxlLF0oHR/LAW5KrrXHYT5CfzOPhQcAkSl9++vtDUKYKSzPyWorTYEc2/9vTkoNyRZ3nMtFWjT+YPFuSgA9WeNkZnBmID6bhuMyqiDJW2sXexAzMAPzBG0dySdcVUPMhFZD9CbXJ6rsyOlSU3f+3b0F0voioG0VKEZDKWKpYOjOaHtSBXXeeymyA/mcfBh4JLkFg39hLR1CmCkozZmKMW76+PanoXGpawFzuqtVsiy21n26TnAgwkHGmURuBMzy8RjfQ7nzR/QjzdjGBtYCA2kCZG71gpebdb9XTpj5JDnqqaJycSo58MpqkywuSqC/ayI0FGSgZiCTLUOYJq1Yo13BHJbz6h+R3RDcBF2FGt/lInutML5OJlIDaQiaO2Llhuc/rNQ4w/Qi9eBmIDaWL0j/5lS012KnfozzJ5qmIQXZETXkQzgfTsc9U13+WRnWjpZBzEEmSocwTdxYsEJ9q6V26gRbX6L8xFt/Jya6btQXbAQGwgE0f9BmFrZn+bffwiuMOa/Q4DCUcapYlVt/0KeaM8VTGersgJL6KZQHp+ueqCvexIkE7G6CiDaYI0gr+fYnGvTS1ezyEbrLSw/8Ar38Ru2DKQcKVRGnkkLBGOy3bTRfXcoV6ImjEDCQ8GJYnNLhCl+jNnqmIcWZHTTwbTgfT8ctWFiCCdjNORJ0hT5wj2sXi7PUlAHtPn/qA78ZmB2EAybiL3Dzhqb1oay2/4bxYWAGAg4UWjJLF9TSf7+XczVTEHWZEVXkQzgdT88tWVv24HB5VMuDGQQGmCJMIS7GPxzq7hJJ7be24V+0HLQMKTRknE+0dHgmJmqH4tkP36hy/Nnuf5vgzEB5LEVsj7xK+cM8pURUeyIqefDKYDydkXUDciSCZjLwBPkKTOEuxj8c6cMvKWO3DmtOkHDQMJTxqlkepGUCIe3oWmT0H9fy0c+C0DCUcapYl93y9wviOrKiagKzL6yWAmkJxfAXUjgmQyTkeeIE2dJdjH4q3gq9psCyayt2oUXbUMJHAapZH5plcgNTiObwPijtrXS3kAMJAIoFGaWO7HmTSR0GpVRYCuyOgng5lAcn4F1I0Iksk4HXmCNHWWYB+L1/ygKZ6rCSb3STbxwUDCmUZpJPq+EBed62hbaVt89WrHuLAwEI+SxLKvicmCxY1PBq5kRU4/mYMOpGdfQF172Q1POlmOygxBmjpLsJ/Fi4lmG84jd196BhKONEojT/kFUiO7jsQfM00KbqmDgYQ7jZLE9D8KnCrVpw1VxTCyIqefDGYCyfkVUDd63EAm43TkCdLUWYK4eNdQO6adXdJg5VkoN9N+DCQCaJRE+vhn/cXfPbfg5jQvDhIRdCBJ7DhxlxD1aTOqih5kRU4/GcwEUvMrpG5IkEomKDAQS5CkzhPsZ/GWz0qNxPHjO8mNOQzEBlJxk0XuKnzxqn33zlVFMD4xkHBmUIrYxXGN87NYVTGcqihwBmJRan6F1A0JUskEAwaSs6PpUwhPcF9HZoX5BdXknP6Ugw8BPt4qkHTPUgGnwbpU8EbeedoxqIqkC6kLu5ZgV1/3yULX4mQDZz2y9vEilWriY9iIj9newAqOQVXkXkhd2LUEzZ8h1OjNqThR0U5tOYORdKtrhcq8v5DXIJ2+N7hko1cVuRdUd7cSLKk/xBKTWe7hjLj2Xg4cBvZisaRV/f5RzHkQXvVB3sYjVxUVKKhu/B9nY4JhtzxB/I+zYSratpkiNtlOWYdnqz1bMPc7C/oNyu2h1qAyiTyjVhWpF1Z3dxKsbDZwJnsXsMe17+LAwWNHWwVzTq4WdByMW6noTVWs3IhVRVKF1YVdSfBkU07k/yWbDT4hFEoQAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\left \\{ f{\\left (x \\right )} : \\left(\\frac{e^{x}}{8} - \\frac{i e^{x}}{8} - \\frac{e^{- x}}{8} - \\frac{i}{8} e^{- x}\\right) e^{i x} + \\left(\\frac{e^{x}}{8} + \\frac{i e^{x}}{8} - \\frac{e^{- x}}{8} + \\frac{i}{8} e^{- x}\\right) e^{- i x}, \\quad g{\\left (x \\right )} : \\left(- \\frac{e^{x}}{8} - \\frac{i e^{x}}{8} + \\frac{e^{- x}}{8} - \\frac{i}{8} e^{- x}\\right) e^{i x} + \\left(- \\frac{e^{x}}{8} + \\frac{i e^{x}}{8} + \\frac{e^{- x}}{8} + \\frac{i}{8} e^{- x}\\right) e^{- i x}\\right \\}$$" ], "text/plain": [ "⎧ ⎛ x x -x -x⎞ ⎛ x x -x -x⎞ \n", "⎪ ⎜ℯ ⅈ⋅ℯ ℯ ⅈ⋅ℯ ⎟ ⅈ⋅x ⎜ℯ ⅈ⋅ℯ ℯ ⅈ⋅ℯ ⎟ -ⅈ⋅x \n", "⎨f(x): ⎜── - ──── - ─── - ─────⎟⋅ℯ + ⎜── + ──── - ─── + ─────⎟⋅ℯ , g(x):\n", "⎪ ⎝8 8 8 8 ⎠ ⎝8 8 8 8 ⎠ \n", "⎩ \n", "\n", " ⎛ x x -x -x⎞ ⎛ x x -x -x⎞ ⎫\n", " ⎜ ℯ ⅈ⋅ℯ ℯ ⅈ⋅ℯ ⎟ ⅈ⋅x ⎜ ℯ ⅈ⋅ℯ ℯ ⅈ⋅ℯ ⎟ -ⅈ⋅x⎪\n", " ⎜- ── - ──── + ─── - ─────⎟⋅ℯ + ⎜- ── + ──── + ─── + ─────⎟⋅ℯ ⎬\n", " ⎝ 8 8 8 8 ⎠ ⎝ 8 8 8 8 ⎠ ⎪\n", " ⎭" ] }, "execution_count": 121, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sol_avec_ics = { k:v.subs(sol_ics).expand().collect([sb.exp(sb.I*x),sb.exp(-sb.I*x)]) for k,v in sol_SDO.items() }\n", "sol_avec_ics" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 5.2.3 Simplification algébrique « technique » pour avoir une formulation dans $\\mathbb{R}$" ] }, { "cell_type": "code", "execution_count": 122, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left [ \\left [ e^{i x}, \\quad i \\sin{\\left (x \\right )} + \\cos{\\left (x \\right )}\\right ], \\quad \\left [ e^{- i x}, \\quad - i \\sin{\\left (x \\right )} + \\cos{\\left (x \\right )}\\right ], \\quad \\left [ \\frac{1}{i \\sin{\\left (x \\right )} + \\cos{\\left (x \\right )}}, \\quad - i \\sin{\\left (x \\right )} + \\cos{\\left (x \\right )}\\right ]\\right ]$$" ], "text/plain": [ "⎡⎡ ⅈ⋅x ⎤ ⎡ -ⅈ⋅x ⎤ ⎡ 1 \n", "⎢⎣ℯ , ⅈ⋅sin(x) + cos(x)⎦, ⎣ℯ , -ⅈ⋅sin(x) + cos(x)⎦, ⎢─────────────────, -\n", "⎣ ⎣ⅈ⋅sin(x) + cos(x) \n", "\n", " ⎤⎤\n", "ⅈ⋅sin(x) + cos(x)⎥⎥\n", " ⎦⎦" ] }, "execution_count": 122, "metadata": {}, "output_type": "execute_result" } ], "source": [ "exp_to_trig = [[sb.exp(sb.I*x),sb.cos(x)+sb.I*sb.sin(x)],[sb.exp(-sb.I*x),sb.cos(x)-sb.I*sb.sin(x)],\\\n", " [1/(sb.cos(x)+sb.I*sb.sin(x)),sb.cos(x)-sb.I*sb.sin(x)]]\n", "exp_to_trig" ] }, { "cell_type": "code", "execution_count": 123, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left \\{ f{\\left (x \\right )} : \\frac{\\sqrt{2}}{4} \\left(e^{2 x} \\sin{\\left (x + \\frac{\\pi}{4} \\right )} - \\cos{\\left (x + \\frac{\\pi}{4} \\right )}\\right) e^{- x}, \\quad g{\\left (x \\right )} : \\frac{\\sqrt{2}}{4} \\left(- e^{2 x} \\cos{\\left (x + \\frac{\\pi}{4} \\right )} + \\sin{\\left (x + \\frac{\\pi}{4} \\right )}\\right) e^{- x}\\right \\}$$" ], "text/plain": [ "⎧ ⎛ 2⋅x ⎛ π⎞ ⎛ π⎞⎞ -x ⎛ 2⋅x ⎛ π⎞ \n", "⎪ √2⋅⎜ℯ ⋅sin⎜x + ─⎟ - cos⎜x + ─⎟⎟⋅ℯ √2⋅⎜- ℯ ⋅cos⎜x + ─⎟ + si\n", "⎨ ⎝ ⎝ 4⎠ ⎝ 4⎠⎠ ⎝ ⎝ 4⎠ \n", "⎪f(x): ─────────────────────────────────────, g(x): ──────────────────────────\n", "⎩ 4 4 \n", "\n", " ⎛ π⎞⎞ -x⎫\n", "n⎜x + ─⎟⎟⋅ℯ ⎪\n", " ⎝ 4⎠⎠ ⎬\n", "─────────────⎪\n", " ⎭" ] }, "execution_count": 123, "metadata": {}, "output_type": "execute_result" } ], "source": [ "{ k:v.subs(exp_to_trig).expand().simplify() for k,v in sol_avec_ics.items() }" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 6. Calcul matriciel" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**sympy.Matrix** ressemble à **numpy.array**, mais il y a des différences significatives." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 6.1 Vecteurs et matrices" ] }, { "cell_type": "code", "execution_count": 124, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left ( \\left[\\begin{matrix}x\\\\2\\\\0\\\\-1\\end{matrix}\\right], \\quad \\left ( 4, \\quad 1\\right )\\right )$$" ], "text/plain": [ "⎛⎡x ⎤ ⎞\n", "⎜⎢ ⎥ ⎟\n", "⎜⎢2 ⎥ ⎟\n", "⎜⎢ ⎥, (4, 1)⎟\n", "⎜⎢0 ⎥ ⎟\n", "⎜⎢ ⎥ ⎟\n", "⎝⎣-1⎦ ⎠" ] }, "execution_count": 124, "metadata": {}, "output_type": "execute_result" } ], "source": [ "V = [x,2,0,-1] # Un vecteur est une liste simple\n", "MC = sb.Matrix(V); MC,MC.shape # Beurk : confusion vecteur et matrice-colonne" ] }, { "cell_type": "code", "execution_count": 125, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left ( \\left[\\begin{matrix}a & 2 & 0 & 1\\\\1 & b & 0 & -1\\\\0 & 0 & c & 2\\end{matrix}\\right], \\quad \\left ( 3, \\quad 4\\right )\\right )$$" ], "text/plain": [ "⎛⎡a 2 0 1 ⎤ ⎞\n", "⎜⎢ ⎥ ⎟\n", "⎜⎢1 b 0 -1⎥, (3, 4)⎟\n", "⎜⎢ ⎥ ⎟\n", "⎝⎣0 0 c 2 ⎦ ⎠" ] }, "execution_count": 125, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M = sb.Matrix([[a,2,0,1],[1,b,0,-1],[0,0,c,2]]) ; M,M.shape" ] }, { "cell_type": "code", "execution_count": 126, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'Matrix([\\n[a, 2, 0, 1],\\n[1, b, 0, -1],\\n[0, 0, c, 2]])'" ] }, "execution_count": 126, "metadata": {}, "output_type": "execute_result" } ], "source": [ "repr(M)" ] }, { "cell_type": "code", "execution_count": 127, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOBAMAAADkjZCYAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIomZu0QQZlR2ze/dMqswxovtAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAATElEQVQIHWNgEFJ2ZWBgM2Cob2Dg/MGQv4CBdSsD/wIGIOgvABKsx4EE77y3IAGG/gYQyf2NgfcCAwtQ8TcQyf0AJMJeAFYfbOzKAADgJRMDsKssqgAAAABJRU5ErkJggg==\n", "text/latex": [ "$$3$$" ], "text/plain": [ "3" ] }, "execution_count": 127, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M.rows" ] }, { "cell_type": "code", "execution_count": 128, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOBAMAAADkjZCYAAAAKlBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADmU0mKAAAADXRSTlMAMpndq3ZmzYkiRO+7EDr+BQAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAD9JREFUCB1jYGBgEAJiBgYTEMEKJsVKQOwGEMk6AUROYwCRDSCSbQKInMoAIpe4uNz2AEowbAERDHdAhPrdowCHcQzAI1BqtQAAAABJRU5ErkJggg==\n", "text/latex": [ "$$4$$" ], "text/plain": [ "4" ] }, "execution_count": 128, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M.cols" ] }, { "cell_type": "code", "execution_count": 129, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPUAAAAVBAMAAABs27XUAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAdt0yiUQime+7EGZUzauLTBfhAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACi0lEQVRIDcWWv2sUQRTHv5e7vbvsXXRV0C4JY2FASBbxDzgUsbG4TsHmECuLcAbhKkECQsAiNsEqsFZRQTaVlZAVBMuzE23yw0JMihg0Kc6EOPtm3mbndl2Wa26KmXlv3vf7yQwzt8HZixhKKwgXN4ZCltBSM4t9/+ZS4g8rd766eD2fyCcTV7xkTmfIJJNtt7EW9OtnUdoHvvSnE7H9Y91LJDlBJunsu6qmcAj/M5fzuA0sAIcc6lIO5Wit6mDCi2XNKZmksz+oSuspTifYix52W1aPvXQph3KsOzrIYJNJJlt6dHkTkfkWsOuWJjkejK1M6K6VH513YJ/ZvnpLWUaG1mVmxMcZjG1eCIzSmDjPvqV2Rt/zO63RHioYd+YMQxTHv6uE0Rf34H+zD4zSmDgfW5rQmdvPUJnEO0y0dgxDGXQDlYn3I210PeyplD6imDgfW5oQu9LDSAMulsluTogFIaaVdTW6VCoO+w7wGPYfOTspZXFFiKl5ITbCupS79laELfwhlSbErj6H35Sx3gqgN1N0MRo9ptCNWq0dPm9LL0RXIxLn2ndoQmy/gTVpax3gjbLXhn4vjf0R5dZfyLOixuwTcS52aKLYAZbrD5ZO/ULDMKxuQJ65p3LcFxsoePt4pR+fYtsxscHuExsmxB5zapdK9d8rT6xALerN1Fbl+7aPWKDGe53OFnbwQmdVaVwcZ/eL2YpMiG1vXp89Zz90Pr03DIHbHfktER4raFw/Pj7CCj9vfTXiYmb/XJx2+sXsRCbE5kw06n2ruO5F+ZSJUUrrzFaBl6LRqXS28YEo/V8tV4xSqoy+JWGUJU5nkwd3L3kyyJglzsHWF3oQMpAlluxrw/p/bar5D7iVubEG6/k4AAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\left [ a x + 3, \\quad 2 b + x + 1, \\quad -2\\right ]$$" ], "text/plain": [ "[a⋅x + 3, 2⋅b + x + 1, -2]" ] }, "execution_count": 129, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M.dot(V) # Attention : produit « matrice par vecteur » uniquement" ] }, { "cell_type": "code", "execution_count": 130, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Help on method dot in module sympy.matrices.matrices:\n", "\n", "dot(b) method of sympy.matrices.dense.MutableDenseMatrix instance\n", " Return the dot product of Matrix self and b relaxing the condition\n", " of compatible dimensions: if either the number of rows or columns are\n", " the same as the length of b then the dot product is returned. If self\n", " is a row or column vector, a scalar is returned. Otherwise, a list\n", " of results is returned (and in that case the number of columns in self\n", " must match the length of b).\n", " \n", " Examples\n", " ========\n", " \n", " >>> from sympy import Matrix\n", " >>> M = Matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]])\n", " >>> v = [1, 1, 1]\n", " >>> M.row(0).dot(v)\n", " 6\n", " >>> M.col(0).dot(v)\n", " 12\n", " >>> M.dot(v)\n", " [6, 15, 24]\n", " \n", " See Also\n", " ========\n", " \n", " cross\n", " multiply\n", " multiply_elementwise\n", "\n" ] } ], "source": [ "help(M.dot)" ] }, { "cell_type": "code", "execution_count": 131, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAJ0AAAAzBAMAAAB/Hhd7AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEN2ZRGZ2MomrzbvvVCK8PCCcAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADD0lEQVRIDe2Xz2sTQRTHv5sfdtMk2w1CDyIkbRURBKNRpHpZPIrQQKkHDxIreBIbelBvxh+UoGADVaSIGBARvDQ96a0peOnFrn9Bi8WTYlNtKVTtOpuksvPepC40l4J72J3d+b7PvjfzZt4uEokE2nRoiYSJo86PNuEQdZwKDgja8KGWSLlrT2++lbLeFW7w7rcSiedSn261Vrp9Ht6oyaRLp99ynlE8o4B2pCHxtIkpxjNKGLeYf3sR/s3ejEBJ5gEjjBcxEasy3oitbXDesA9ebAWRTcY7b4HzOi764EVSiKwzHhBfY/7pnT54wipQU/DOZhnvuk/e7Rzn3ZjMU56R9cnr4/ki4mXzq8MfL5hW8TBPU+GST96gCIyuj5vAjC0HbOT88eIFfKM8zTEZLzQ5+WKuIK2PRj6TOG4BlykPcxDxarKDQEyVLyTxjb5Mf4rxhtz8S5YJsKtC1tuz+cM59EoOdjqOU2a8UEbsB4EemRec+pkj8bqCuMRrmND5aDz92Lh4zwqe7u1vttW8AlcqeN1cxeKtS7QcVyp4Wa5S88IKoYd3d5v68d5rqm9TP45Yf/d7r8mO2s36sSOG13iX8OSi7Q2AlHr/9TwPbVECbd3QfP6sWEN1rSdfhM38G3nx1iXFYp7l34JY1dWtlzWv2tg9i+wHvd/vEBHwyRIljvr3YCJz3CbSIPCc8EpE4t6+RLTCeGlgiWqHgH3/5sVXXDvqn/CNvfuhL15nVcUD9Lz73HsMTOMk8e/J1VNehdvuej12gvsHfKFCRJwrNuFNY9kiuuQrxGwWL/CY6MTt+MYi4QHRFNElawjOcp5RIzqxrz+aWWW84CbRdaUQXuU8vUx0wCDiv0wpn6NlBNeJLlBGeI3zAhWiA2aBZVvixcS3GY1DDIDKv2SJ8jRhGclKPFGJYhWYkjIkxq/K/RtIA5okxAcx+osSz0jjmknqOd5hv2J+Fwqg9fyciQtkPpb6j4HUc+iZp4r8+2qL78weycGOiQzdD+r9/+u5YvzckdnF9fxgO/+nuyvt/p/+A+WHB9pPCDfiAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\left[\\begin{matrix}\\left [ 1, \\quad 2\\right ] & \\left [ 3, \\quad 4\\right ]\\\\\\left [ 5, \\quad 6\\right ] & \\left [ 7, \\quad 8\\right ]\\end{matrix}\\right]$$" ], "text/plain": [ "⎡[1, 2] [3, 4]⎤\n", "⎢ ⎥\n", "⎣[5, 6] [7, 8]⎦" ] }, "execution_count": 131, "metadata": {}, "output_type": "execute_result" } ], "source": [ "T = sb.Matrix([[[1,2],[3,4]],[[5,6],[7,8]]]) ; T" ] }, { "cell_type": "code", "execution_count": 132, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAD8AAAAVBAMAAAADRiu8AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAInZUiRDNmWbvRN27qzJGkhbKAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABK0lEQVQoFXWQIU/DQBSAv67d2lK6FIVYSGbwiP2A/QFCg0Y0ISQIEhCEYkiKws6CgSAwmCaICQSDH0BmphCrwDNIQCAod20F12Mvl76+932vdz0gYG4UqLE2l3MtUQ+Wj541yYj3MuRwM8IYs3FVN1awvmEH7AQ/xB3UhQmcwxm4Yn3iv9eFy5BpgBtyA36K/1MXXmCa0Uo4LIg3qwuifgBrzG5B3rq60P4AJ+KuIEOd4x2AmXIhkS3etYhFpz0rBfE3WjhyaGHAtkhmnyVN6GEEcosnQV5hlVBV2n0aIc6IdTCG8Una/FKFThyLq7C73EIrz/OIe/UT+3kuRrwAL6smTVUoux1xFfKwMqwyqc9jUT5WrU0VFZUxEmmrAkmV/6ZFua3xH6msU/gFShE8YASAI3oAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\left ( 2, \\quad 2\\right )$$" ], "text/plain": [ "(2, 2)" ] }, "execution_count": 132, "metadata": {}, "output_type": "execute_result" } ], "source": [ "T.shape # Matrice de couples et non pas tableau à 3 indices" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 6.2 Une matrice est un objet mutable" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 6.2.1 Suppression de ligne, de colonne (en place)" ] }, { "cell_type": "code", "execution_count": 133, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFkAAABLCAMAAAAsy9sNAAAAOVBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXHtMAAAAEnRSTlMAMquJZkQiEEAwmXbvu91UzXwVE4xGAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAC80lEQVRYCe1Z7bKcIAyN4EoLfl3e/2FLgrgECYy323Y6Iz9WIMkhhiAHFgZPRcGnyhoBAQavx1BenwIGRBuVR+TpY6BvoPEW8mTtvgxv67KmtbPJy1vIE06F9mLY9g3ArAf0LWRl0Ml5Ll092uOKFb3E5i3k2SO0kqZloezaSAngFrIip5QXIu0tevvyISahFMiT1W5yJBF/1jDptWIS8khSjvyaQ/iX43Vq1qFv8MLIk9dokuQM2cw4nKV3RqVqWemdK6ITmQbg0bDk7RolFVvsshIwmOjz63gn5vOMCWPkfA3SUQQGiHHeKjMYB8WxxLLh+0xpmRVqC2XyWMk6Q6MtO2yCKQwUKEcLpoANzZGWkN2jhEVjD7M+hhmSAj2tNpSY1VdggBVX93xkO0M2yulhUk5YCbDH7+7h1BXbaOdUMmbIV93f6HmQ8+A90XiikUcgr/+93BhW4UNG7phlbm44IpMxyu7tTRD2xpcfmkzGdZCPDSMP6FlvM5kO8qs1cJvJdJB1K8yJb1SZDHSQd+WcjZZnEFKlyWSgg2z8bsLmXt8mT74RmU6Zz22fIxsUSNKJHLfRe8i0Lx+MJQXhfFaYzA//8xS3faZsTmTztEkVzmS+itNEG9kT75MyT2YyOHYHORwkIq1MfubPBpPpIqvg8yKvb5nJgFpmvyqBH4dxjRWzGZ1/mAxGoVrKlVJV+lbng5yH7YnGP4lGTkVyB1K9J0964clnkFGRTCtVe/Kkh0+GzKlIrhbrPTmzYMicijA9avTkzIIhcyrC9KjRkzOLHLmgIkwPGz056oRTrI6n2Bz5JAzCptKTh1sE3K9svPyqIgsn+hNZkIcjPUrmK0cqqAi+HCs9OcQ7ncMm97m4VGGo1OBU5SqnO53UzZA5FUkq72dHzmkZQ+ZU5I2Yaj05UahwF0j6DJlfqiS87MmoStZ/VOO9WCXrCipyteRUpSIPHyyXbpm4zxXlb3c9yHno/t9o/Kl/agz9s/Lpf2rGEX4BgTQlTySgEjIAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\left[\\begin{matrix}a & 2 & 0\\\\1 & b & 0\\\\0 & 0 & c\\end{matrix}\\right]$$" ], "text/plain": [ "⎡a 2 0⎤\n", "⎢ ⎥\n", "⎢1 b 0⎥\n", "⎢ ⎥\n", "⎣0 0 c⎦" ] }, "execution_count": 133, "metadata": {}, "output_type": "execute_result" } ], "source": [ "R = M.copy() ; R.col_del(-1) # en place\n", "R" ] }, { "cell_type": "code", "execution_count": 134, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHQAAAAzBAMAAAC06THAAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEN2ZRGYiiXbvu1TNqzJTNcPEAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACWElEQVRIDe2WP2gTURzHv5fk7sy/mriIUwJRlyINHFiQil2dKjrp0kPBrXibwaGeCBIEbRdBHWxm8c9tju2sQ6su4mCDi6MG/6Li+d554X3fgyslDTjoQS6/b973c7+X97jvHer1OkY4JDYVfxyBxOP4O/aPAkrmzJhRx3va57m4ncMsgbe1rK4LcD+x9xn2+KStl+uZ6HPgDlntJtweaWApE12pYdNX3tIGygMlRZWNvgA2+8q7u43CDyV11Jm+FmpjmCLZEOhn0lrX435Jn9HEN7JeCKBpRq1byDfJC+TaJCX6lTSj+QFygTbmsWoEKPAsGC320Jhls81NIZapnLVM4rLzTOIJHF/9UOrB1pdCbU4jwoMyeScC7JKbnh72MvJrQ5F8K7QS2i2Xxs56nthadUxiX18pUSnUerW4cJPG1uP4J0ns7b5hidcrh8Lx33Rai0wx7ls9s5E28L+rthxZ4m8uk5nRF6/6WdOUv5+beSTOfyZsZHQlsg5ugTobuDybomZGnwQubYFWaygup6iZ0Q+BVbrVzasUB6h+SVEzo8UDdy4yAaWrTVR/paiR0ZZETygr4HYXWYqw/ZCiRkY7InTfh+R1JnGEpCjlcLLCRkYnaEBeEdK3SYqyJT4JamS0JbrOheQ9ViMhy3xbnBLUzGjxX1cjct+lOilPyXOCmhl9H5inRnIW2lEOcD5FzYw+DcywVzwhC6zfAVdSFEZG5yLrHls9gDfHaXlHm0PUyGirc6PPqNvp0vxRieN4bYiyb9t1skzbdmvGfws9MOqr9PUdvEr/Boj+n/T8l5sVAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\left[\\begin{matrix}a & 2 & 0 & 1\\\\0 & 0 & c & 2\\end{matrix}\\right]$$" ], "text/plain": [ "⎡a 2 0 1⎤\n", "⎢ ⎥\n", "⎣0 0 c 2⎦" ] }, "execution_count": 134, "metadata": {}, "output_type": "execute_result" } ], "source": [ "R = M.copy() ; R.row_del(1)\n", "R" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 6.2.2 Ajout de ligne, de colonne (nouvel objet)" ] }, { "cell_type": "code", "execution_count": 135, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left ( \\left[\\begin{matrix}a & 2 & 0 & 1\\\\1 & b & 0 & -1\\\\x & y & z & t\\\\0 & 0 & c & 2\\end{matrix}\\right], \\quad \\left[\\begin{matrix}a & 2 & 0 & 1\\\\1 & b & 0 & -1\\\\0 & 0 & c & 2\\end{matrix}\\right]\\right )$$" ], "text/plain": [ "⎛⎡a 2 0 1 ⎤ ⎞\n", "⎜⎢ ⎥ ⎡a 2 0 1 ⎤⎟\n", "⎜⎢1 b 0 -1⎥ ⎢ ⎥⎟\n", "⎜⎢ ⎥, ⎢1 b 0 -1⎥⎟\n", "⎜⎢x y z t ⎥ ⎢ ⎥⎟\n", "⎜⎢ ⎥ ⎣0 0 c 2 ⎦⎟\n", "⎝⎣0 0 c 2 ⎦ ⎠" ] }, "execution_count": 135, "metadata": {}, "output_type": "execute_result" } ], "source": [ "R = M.row_insert(2,sb.Matrix([[x,y,z,t]])) ; (R,M)" ] }, { "cell_type": "code", "execution_count": 136, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left ( \\left[\\begin{matrix}a & 2 & 0 & 1\\\\1 & b & 0 & -1\\\\x & y & 0 & 1\\\\1 & 0 & z & t\\\\0 & 0 & c & 2\\end{matrix}\\right], \\quad \\left[\\begin{matrix}a & 2 & 0 & 1\\\\1 & b & 0 & -1\\\\0 & 0 & c & 2\\end{matrix}\\right]\\right )$$" ], "text/plain": [ "⎛⎡a 2 0 1 ⎤ ⎞\n", "⎜⎢ ⎥ ⎟\n", "⎜⎢1 b 0 -1⎥ ⎡a 2 0 1 ⎤⎟\n", "⎜⎢ ⎥ ⎢ ⎥⎟\n", "⎜⎢x y 0 1 ⎥, ⎢1 b 0 -1⎥⎟\n", "⎜⎢ ⎥ ⎢ ⎥⎟\n", "⎜⎢1 0 z t ⎥ ⎣0 0 c 2 ⎦⎟\n", "⎜⎢ ⎥ ⎟\n", "⎝⎣0 0 c 2 ⎦ ⎠" ] }, "execution_count": 136, "metadata": {}, "output_type": "execute_result" } ], "source": [ "R = M.row_insert(2,sb.Matrix([[x,y,0,1],[1,0,z,t]])) ; (R,M)" ] }, { "cell_type": "code", "execution_count": 137, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbIAAABLCAMAAAAiR/JLAAAAPFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo1xBWAAAAE3RSTlMAzUSZq1TvEGYy3Xa7iSJQQDB8rw0HegAAAAlwSFlzAAAOxAAADsQBlSsOGwAAC+5JREFUeAHtXel666oOJR7jKffc4/d/18NggZAAkdrdcfvt/KixAbGkxWhkqpT/PRoXnHb763zEDw/MTp/3tPi0EWLQr3lMwW+Bo2nfnvp3EJhK+rOeGWWe3f4e6E8bgYDegBysRT8AkdP+whG/I/x8m7IbGAGBHp6MhzE8+xhlr7Z9rBOD5h9s29LWGHJKdCNIey+vFKg2ggRanUCNQDe8HXUPr0A1Wp/jmsDLNP5tz3bIj16pcZY4G7v2sUOHEYAh7cPDQqjWCBJodQY1Bt2tBO2ELFWLlog4fdtZQw9DRtBzNhEbRZ5IvfxBygTQ6hRqTNlr1zUW/x6hkalPUTZYS3e8B3BAVzsC9wk6sCIm/CcpE0CrU6gxZWq1Vdbr2qNG9jHKOoup2zOj2d4auA2tbF6HEPiTlAmg1SnUEWXTvgQVlXpgBlkrG5elG6dtIy0TCzDhcWmN0DE1H3VpX+22vKKC3XP8d85M7UZQnk+dcHYTvpiyCtQ50Ooc6ogyteIhIyaQUaar99ItqsW8UjPp+031RmhcDk7XDHrusJZ7thgKyv3aN3OXjUdJr6WsAnUe1DnUsSl73MF0kRkpZU9t6EWPMF25fr961ZoRkU1twJhuHSEQP9vuD7Kgq1feMociePBSympQZ0Grc6hjytQeJhzjHk3DKGVmbFlDam4i90TP9wbT6dk/qUStrRhz0eRtjjHdxdiMTdyjp8q5tmOsQJ0HfRI1oQwN80/c4kzfw9c+FYYyUwNN25SbPqjBVIwRT3SYwZ9ZxtQxkEe9A8vvHlzaymTUJdDnUBPKGldrjZJkeElQZtfeI1+gxjaz/eKCB0kc75oJQYETKNWbhvTiFcamWm1X8Iz68Dg73F1JmYy6CFqdQk2NtYNtxz2eVxDKxrVR9qVqsUcz5rJrELcQAeuh62jbsu5h+wwnarIlLJma8bR4bbVAUlPBaykz8+QC6jJodQo1pWyFHuwZ2ps1AKGs36ex1eZqhDm+UmYvoNmzk5SHHumeeqTOUf+aW/1zC50UE7MGMA6ZVRvOcCVlSkAtgVZnUFPKFmCqI8MLoWxsl0X17VNkTK/I9HvbxEB4mHPslm16dUvO6A+3r5Wd6IybXh/mMgfKunXYZ70miX9U+ziW33kjCKgl0OoMagp6gjnjQBavHi1XRH6yZS0u5/3OFFR7qaxTRpCE18Yz0Luj6kWGsuSMsaYQM8yMg9wYa2RdnoZpL5RwT8oerkPs41VZepIvKGijZ90ZdbmBqkbAd6b5HZS1brHVwpgGFvtqBeuXpc1udoHwT11/B2XP3b7AfcQL6a+3sk+xUVXu76BsciuzASb7oPpXWxnkv+X1d1A2uvnHTt8n/KVMV7pbGIHXs92soV7HxDG0jVugDXCuCXHty3JvYQQOejZTxp7O8e9RwcoGfT+Wa1+WcVPKHubl0gIraq/CLdB6NBcFfgllnZneb3RZ9reVmVpyi3rL61lrZvmdm+qjypxHK7lZvrat1e/987+UU2hIPa5DvKcQomyo1okTsuHSuPaQKn3FRsByWGoJdLXrKUhGpXHQtoGtzg0GMugrRose65mKWccVfENHs0FJ9kuRgIxTKEqhHoUtzkonThBHSuPaQ8L01RuByEmkLoI+hZqD3sww9qinTHKzXMyifGRjI9IytS2CohVd1eO4eidOyIVL49pDqvTVU6ajsZxE6hLoN1xPQTIqjYNezGTxQd9X5VuZ5GbZDKZTPEGZ9UQA6PRa78QJOZHyBb8vSB1f6ykrgn7D9RTKR6g5ZU9D2VxPmeRmaQvt83ucYn3dSkMZ+DHWbxUg5b+RsiLoN1xPKynTm80z88TBFQzkoGvWzdKmaebsrrSOx0ZEIiH46PSb5QwlbzhxgjhcGq+wkCp9xUbAcnjqEmg9TNjRubBXzwSi0jjo3rz4GFirwGiZQN1t0g1flGZauuK+MYKDckFQD4OjVjLtGuI9AgvFg6Djikvj2pPE5BYbAcshyezYnQcd/Bi/hJqDtpTtb1KWd7N02hS91orK6xcxxlMnUyU8ZfU7crg0rj0zfvSgmrIi6EDZl1Bz0I1pZTub8Hi042MOv8PpouBmeajsJimR/v4GG9E/9AHrPXW4mPqHEJBcTxNgcWlcexCcvnoj6Ggsh6UugtZ9huUq6zBbRs1B60+4R03Z/wiMf/b/kyfhtuhmOVlaV1YHQvai8m5Vlv20xY0KxUYcCrIhXNq/xMGFJGW32AhYDktoV2VZ0G+4noJkVBoH/Y+jjI73uIKBnONadLPUmzmmY/s6ZbaLdg7VpFxzW+/ECZmR8t83YyyDPoc62crM9KOeMsHNcrC73F/vGM3GAvpmGyx/XOudOCFjnrKMdytk1Fdcb7EclMQFy6DfcD0Fyag0Tpkdy+b66YfkZvk08/sT6zLzac2af2VV7cSZUD5uZcU3NC53NWUC6HrX0wTq85SJbpaN9vYtvBZOO4UCVN3C2uyqzCSqdOIEeXFpsfZz4swCyOeugbJYTpxK3wmgT6GOQZuibSuzm2YRkIA2evyzb4j2vdQ13sIIBLRmoDf+OitbB90C7dUVhGgvLpNuYQQCWtvk6Sij8G+B9nspG8WXEbcwAqfMvsnv6jdfrjbjn5QXa196D+pQ3ZQyu19mt6Yj490CbYTogpuYMlngLYzAQbfG7WP56/uRIvCmlNk+sWdbkrdAmzLjmWe8wpal3cIIHLSdLB5u3kiBW6BFeC4Jcu3LYm9hBA7afkBxuHkjBW6BFuG5JMi1L4u9hRE4aPcBhXXzxvhvgRYDuiLMtS9LvYURGOjjzbt188b4b4EWA7oizLQXhN7CCAz0MYp19L3w96GVfEeleMHMLjrtH8u0F2QhIwiohGihHIhOomagn26uuNC1NEILAquvxVNJpQNApfgqFBn/WKa9ICwYQUAlRAvFQHQaNQO9uU1ufzIBZA9o4Un9tS9s/kq+o1J8HYqMfyzTXpDmjSCgEqKFUnx0GjUDDdvH9AMzj9YLrA+UDr+RfEel+DoUGf9Ypr0gzRtBQCVEC6X46DRqBno+Pt+ciRuaR+sF1gdK58CBSx/dBQfpUjykK18z/rFM+7KUsCstoBKihVJ8dBo1BT3CIVYbmX8kKJvmeVIv6WVq0637ys61AViSF6YUb+To83U2+XwdnZD5x1LtAVXuCkYQUAnRVno1aIaagu7hK6UGAgd8QIu0eSzbuuS3+H3K0lDmHREzGx9SvP7yxrgStNHZkb7kOMD9Y6n2cXp+B0YQUAnRWm49aO7VS0F33k+HnHMOaIMeL7OHS7fVQnQIlYYyr11GkBSvm47JmT2hM6DQKVn1otrj1KkwGEFAJURryfWgOWoKOhxd1cbHSADaSJOxlbbeTfLSUCZ6YQpemirrLhcBNTcJ/1iqPctDHoARBNRCtIZyTBiI+NQtR01AT6E7RKdpGlGAFot9ZZoGTqNdV9wRS/FDf+dG6rzvqBRvzx/10gqBlH8s0b6Q20V5IwiohGh31KtYmkmQQE1A2+/3Dllxz+jRhpIaM/7Izawxq7JsMsl3VIg/KnQAlQsl/WOJ9rm8/rk3goBKiK4GnTzxlYB+2ENEHcQlah0ercff2LmidSz1z1IBc7Jf9kxT0QtT8i09Jralb7ENqLR/LNE+hT565o0goBKiVSXoNOoYtP7/XAhi6CSNzmSdpqZVzxc3Pc2Xfl2n/79BPpHkOyrEu75emuRn/GNj7fMYISYYQUAlRNeB1vPK1ImvMej4aPwND5IB7YFfk9sP8D8EQafU9bVah+FUlHkm+Y5K8foF7JI7ediXmfGPjbX3qbOBYAQBlRBtDiSQQevPn+2PnD8agR6jdgXf1DgFAtqsQj8vItK+Av4tjBCBNv9dAv+Q7z7vGHHCnxqOtK9Q4n6UDXStOYSh7RZoK6z6VpIfTxluVE7zPjS7v5Rpk9zCCKiejeRFsGEt/HedW6B1Fem6v0j7KqG3MAICHehB8P3pD7dAi4BdEkTaV8m7hREC6Mb/P2KMfoKnn/4v2BjUFeH4v2pXSvy0EQjoOf0CoTkmkaP9N9S/7F+BFxeMCRo/bQTHAexQjpix/wAbIIP8l1aBKAAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\left ( \\left[\\begin{matrix}x & y & a & 2 & 0 & 1\\\\-2 & 3 & 1 & b & 0 & -1\\\\z & t & 0 & 0 & c & 2\\end{matrix}\\right], \\quad \\left[\\begin{matrix}a & 2 & 0 & 1\\\\1 & b & 0 & -1\\\\0 & 0 & c & 2\\end{matrix}\\right]\\right )$$" ], "text/plain": [ "⎛⎡x y a 2 0 1 ⎤ ⎡a 2 0 1 ⎤⎞\n", "⎜⎢ ⎥ ⎢ ⎥⎟\n", "⎜⎢-2 3 1 b 0 -1⎥, ⎢1 b 0 -1⎥⎟\n", "⎜⎢ ⎥ ⎢ ⎥⎟\n", "⎝⎣z t 0 0 c 2 ⎦ ⎣0 0 c 2 ⎦⎠" ] }, "execution_count": 137, "metadata": {}, "output_type": "execute_result" } ], "source": [ "R = M.col_insert(0,sb.Matrix([[x,y],[-2,3],[z,t]])) ; (R,M)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 6.3 Générateurs" ] }, { "cell_type": "code", "execution_count": 138, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAJcAAAB9CAMAAACYngGvAAAAOVBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXHtMAAAAEnRSTlMAMquJZkQiEEAw3ZnNdrvvVHxhCJaFAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEUElEQVR4Ae2c63LiMBSDDUmbXSiX5v0fduNQgmX7HEVk2jI75kfLRJH9VTYtaoCwG+fbPrzG7XDDCWE3dv10e3sNrBBZ+v0Yud5fBOmB0Wdcu8PwEIt7XXc6ej8D0QUZuIb98WN0uD6uIQwHG4zoigxcUz4nh6s/xAC7cxHj1wGiS7LCdZ4fsVeTnOiSrHCNxxjM2zitZvVGdEkWuIb7wH2VKhBdkwWu97GLQLvxVOciuiY/wzXjlWzLxHVdkwWu4ZbXm5UX0TVZ4Aq3/XUl+97UiR1lhes8/+bq7d8Tvk7sKCtc/SVuquNHubVuR4guyQpXOMS/Q5edxcV0YgcZufbny3jYG78HJqbudNrbWEwndpCRy0zix4XGpUXe8mp5aQloZ7f91fLSEtDOzvYXaZ7Br72B2AUZufzmyWpv8O2SDFykeU4r4dXeQOySDFykeTIuYpdk4LoXRKu4kryIXZJTLtI84wPKW0di1+SUa2l45hNWl4vYNbnKVS+mLK9l4rpdkyPXn/FvnHP6B8M8ollcp1P8dXTtZPRM/ky4aHH1uZgdi+ucRPoF5ci1/H8Vq2Vqut/38grELsnp/gqkeU5wLhexSzJwsWJKuJgdiut9BR7fQUYuqJYPx/0eqb2t196D+vnvuI4/P781Y+Oykqkfb3nVc7GOxryG3rlWZRm/+fj7dPFi+fv4zXMpw7f9paQVQpaX0Dyr8/i9VxgdubYVU9Z7ldGBS2qe1by852fS6MAlNU+ZSxoduKTmKXNJo6dcWvNUubTRU66l4dV7LZFnTmd/EXsmV7meKqaruVaNHrlW9tqseerrqNRe6I9YLYuJiRzPd9ZRq73pOm4spozr23otKaaMi9hRhrw2FlOyjtLoyEV6LZED6b3EDjJyxaV4jVvj0tah5dXy0hLQzo77q/Xa9Zm1x+P6rOKZWV5C86zNQ+zkcm/qRi6leVa4fLtUe4FLap4lF7FPBu/pLLqBS2qeJRexEy50A5fUPEsuYidc6E65tOZZcBF7PN9Zx8ydcmXVMp+YyIHpPlfmrnKtap459oOrbo/nO3ktXDd3ykWKK5E3Xu7NRk+5tOZZ5MXsfl6ZG7ik5llyETvhQjdwYbUsJibyxsu9ODpwSc2zwA7M7u77zI1cUC3LiYnMrtcqtRe5SpTfOtK4tORbXi0vLQHt7La/Wl5aAtrZ2f5Kq2VlICJvfB1yWnuRyy+m7IXETPdHx9oLXFgti7yIvPF1yNN0ydN/4MJqWXARORCdyA4XVsuCi8hfz9DN998yu5lXVi1zLiJvfH9tnM1Yx6XCPXe9dqN9BVe9mC7z1mXWa5nd5sqqZUw2vRGZ9Vpmn6Yy1jGrlinTfP+2cc33z26121xYLQsuIm+/3GvlhdWy4CIy67XMbufFiim8UrjAzpppqTO7ub9YMd3Ya4kdai/8HSp/xF870ri06Fte/1Ner/k5SMP8yUOv9TlIfR/+AZowXeeVmqgyAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\left[\\begin{matrix}1 & 0 & 0 & 0 & 0\\\\0 & 1 & 0 & 0 & 0\\\\0 & 0 & 1 & 0 & 0\\\\0 & 0 & 0 & 1 & 0\\\\0 & 0 & 0 & 0 & 1\\end{matrix}\\right]$$" ], "text/plain": [ "⎡1 0 0 0 0⎤\n", "⎢ ⎥\n", "⎢0 1 0 0 0⎥\n", "⎢ ⎥\n", "⎢0 0 1 0 0⎥\n", "⎢ ⎥\n", "⎢0 0 0 1 0⎥\n", "⎢ ⎥\n", "⎣0 0 0 0 1⎦" ] }, "execution_count": 138, "metadata": {}, "output_type": "execute_result" } ], "source": [ "I5 = sb.eye(5) ; I5" ] }, { "cell_type": "code", "execution_count": 139, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAALYAAABkCAMAAAAc2DoSAAAAOVBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXHtMAAAAEnRSTlMAMquJZkQiEEAw3ZnNdrvvVHxhCJaFAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADWklEQVR4Ae2c63KrMAyEzSXhlFzr93/YY0NLLcV4Y+RRoWN+dVgkfyyK22w6MY2djtYc4hhnWmMa2/XuOB2C2njUvrUe+3wM4h/KnmE34/AjvvzUdbdL4hb1ZII9tJerTWBfn8YM4yq3okywnbu3BHY/evu7+8tDmE9oyjnY92mvea7dmKacg20v3taTdaMSOzTlDOzhm6uPQRtVOQP7bDvP29hbFFtV3oI90b+gL9gacgb2MLt9WnFbVc7ANvNsP9MvSR05B/s+7dj96gaoKOdg9w8/0Jfry1jPJzTlHGwz+l/uj2YFW1Om2O39Ycc2vsE52KG73dpVak2ZYq/5uLvzFVvzkVS3q9vQgTok0KKCF1S3C5oJW/0Nt0FAY/aS/lC30wHNjtIfgg0CGjdxe0l/CDYIaAA2qC4qE+zvIGQlvwHYoLqoHGKDgMbvSokhAdVl5RB7STpW396ksEF1WTmKHQ9ogNsLV7y6rOyx/9kPj+RSvGnFtfwGYIPqsvJngI3yG8edmG1UXTQc8tjLZzcgvwHYoLqoHM62AQENwAbVRWWCjQKa9JCg6pLhEMUG+c1+0h+K7TeLQxwVW/MxVber29CBAw/J0Cf+PQDe+K9ccHYf6S5/k/wKwaZFDzwkx3cbxDtA1kt/6JCk4x2TljXTH4IN4h0gu9dW6s0PqM6TCbYsgQHYsuasmmDLEhiALWvOqkNsWQLj99/EkMia8+oQe4ky4vEOkAE2qM6Uo9ibApp3sTc1X+7qqzrEliUwAFvWnFeH2MKAJj3bwuYsHCLYsgQGYMuas2qCLUtgALasOasm2MKAJrkBGmFzGg5RbBDvAFkx/aHYfjc4xFGxNR9Tdbu6DR2oQwItKnhBdbugmbDV33Ab5DcyuWD6Q91O5zcg3gFy0fSHYOdFLHwAQbW7PPHG3oBqJhNslqFwLpkMsPOaE2yWoXBsmQyw85qH2DxDYdgy2TdLDElm8xB7CSM2xTugGmCDai5HsYskMOxZvYv93tohNs9Q2MIyGWBnNg+xyyYw7KYBdubaBJtlKHxhmey6JV6SJq85wWYZCseWyQA7rznBLprA8JsG2HlrU2yQ38jkkukPxY44tM9TFVvzuVS3q9vQgXlIDvltMMP0BSuH+jaYvjf/AV5TVxUNqhZ6AAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\left[\\begin{matrix}1 & 0 & 0 & 0 & 0 & 0\\\\0 & 1 & 0 & 0 & 0 & 0\\\\0 & 0 & 1 & 0 & 0 & 0\\\\0 & 0 & 0 & 1 & 0 & 0\\end{matrix}\\right]$$" ], "text/plain": [ "⎡1 0 0 0 0 0⎤\n", "⎢ ⎥\n", "⎢0 1 0 0 0 0⎥\n", "⎢ ⎥\n", "⎢0 0 1 0 0 0⎥\n", "⎢ ⎥\n", "⎣0 0 0 1 0 0⎦" ] }, "execution_count": 139, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.eye(4,6)" ] }, { "cell_type": "code", "execution_count": 140, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAALwAAABkCAMAAAAL+qrbAAAAOVBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXHtMAAAAEnRSTlMAMquJZkQiEEAwdpnNVN2773xf50j7AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEaUlEQVR4Ae2cYXujIBCESTTlTpuk9f//2AO9GGYRxwXb1D74qbLM7utKbDKhNadhPM7mQMdtYjbmNDStOy4HYjceuD0PHv7tSNxP1hbhm6brS66E6tkEVRzh36/G2Fs+PdWzCbo4wLc3f0ua+/PG6H6iejZBGQf4+/jAuQ5WxzzPpno2QRkH+KH3HJfBLZ6sg+rZBGU8hLcPbZtAt113tqemSVwc15MCLIGMh/BvQ+OpT0OXgHc3pjt3ph9fGvEcqmcTtPFF+PEaYrjWPYY69zvhnLgzc+2E3rAJ2ngIb6fOX1KdP7nrub/HF/UYYXrDJmjjIbyZluR17QWburDxAqieTVDGAf4+PuHblUflxb+TsKlHKdWzCco4wLcfvoF9YmXY+8X4t0ImtaTNut4p2QRlHODNzb89+PBre+G4Difbu8u7JJ6UTrKq9ynZBF0c4W3jnuQJdmP7rjPXvk2zm1W9h2cTdHGE9/kPdFT4V92s2vna+YwO1GWT0bRdJLXzu7QxI8lv6rzK88nolSktAHrsvM7zyYAvLYB6gFd6Pnr40gJCD/BKz0cPX1pA6AF++giZNp1YnF4NS6CMh/DS05EsLG6IKeXcg/+WXMI70cZD+Nk2SZhOLG6IKfX0bTILSIBF+MQn7FmbiDNT6gmfSMAKyLiH/zP8HVeI1vORy4qZUrubTp8BPDWdpiWbb0oVFxAAHn7+Tkrp+cjOu/N1U8qUFhD6cM0XekLclCosEJlWAF/mCW0wpcoKuDuLphTC6zwfsWw2mFLVdHr2DDv/HD/ETxX+Vbepdr52PqMDftnYNvUlU0bC75S8uc8F83ub7yy8R636gt2jizk5ROfB01nIVxpfSIlDqgIIj54OpvVnpfE4oxjRFQB44emIxO7tNNkJxeJRQjnAEog4wAtPR6Y2pfEooRxQFgD4h62S+pq4NC5Zo3NlgRBe6/nI2kzvfh2WbZWSBUL42RbZyROSF+f2ZJRtlZKAi/A7eUIRPHOlZriNACF8qenE9Ia5UiyBjIfwe3tCUef9QNFWKWE6AbzwdKLipXGXcN2VUhYAeOVGo+jiiJ67UiSBNK0AXng6EVxhfIMrhaYSA0D4ItPJlVrXb3Cl1hPIAggfX+qPHqnwr7o9tfO18xkdqMsmo2m7SGrnd2ljRpLf1HmV57PQK6anO50WcsIQFMDO6zwfyDqeMD11reKUOIIFAF54OqhzZ6VxmiCqKAYEAMArPR+R2f0pD/vzPDohSokDQg/wSs8HE7szpucTopQ4IAqE8NLTQaH7JPDQZm5UogmYKyUBQvjZNvkq04kVYK6U1C/Cb/R85J2Zcyf0dKeTIa6ULBDCS09HwpXG6U4n5kpJgBD+602n6UWzulVq1ZUSeoBXej7yztCNTHwCcaUEIMArPZ8InumlaSQTUFdKFAD4QlNJbkSSbO583VTirhTqEV7n+cRwTF/sSmEBhI9xfvRIhX/V7amdr53P6MC0bA78n4Xs+G96DvifhdrW/AMJWVSFaQ57VQAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\left[\\begin{matrix}0 & x & 0 & 0 & 0 & 0\\\\0 & 0 & x & 0 & 0 & 0\\\\0 & 0 & 0 & x & 0 & 0\\\\0 & 0 & 0 & 0 & x & 0\\end{matrix}\\right]$$" ], "text/plain": [ "⎡0 x 0 0 0 0⎤\n", "⎢ ⎥\n", "⎢0 0 x 0 0 0⎥\n", "⎢ ⎥\n", "⎢0 0 0 x 0 0⎥\n", "⎢ ⎥\n", "⎣0 0 0 0 x 0⎦" ] }, "execution_count": 140, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x*sb.Matrix(np.eye(4,6,k=1,dtype=np.int)) # l'option k n'existe pas dans sympy.eye" ] }, { "cell_type": "code", "execution_count": 141, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left ( \\left[\\begin{matrix}0 & 0 & 0 & 0 & 0 & 0 & 0\\\\0 & 0 & 0 & 0 & 0 & 0 & 0\\\\0 & 0 & 0 & 0 & 0 & 0 & 0\\end{matrix}\\right], \\quad \\left[\\begin{matrix}0 & 0 & 0\\\\0 & 0 & 0\\\\0 & 0 & 0\\end{matrix}\\right]\\right )$$" ], "text/plain": [ "⎛⎡0 0 0 0 0 0 0⎤ ⎡0 0 0⎤⎞\n", "⎜⎢ ⎥ ⎢ ⎥⎟\n", "⎜⎢0 0 0 0 0 0 0⎥, ⎢0 0 0⎥⎟\n", "⎜⎢ ⎥ ⎢ ⎥⎟\n", "⎝⎣0 0 0 0 0 0 0⎦ ⎣0 0 0⎦⎠" ] }, "execution_count": 141, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.zeros(3,7),sb.zeros(3)" ] }, { "cell_type": "code", "execution_count": 142, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAa8AAAAzBAMAAADSlpq+AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAq0Rmid0iMu92ELuZVM0av29pAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADOElEQVRoBd2aMY/TMBTHXyi5Him6VmIBgUS+wbEgsbXfoD1uu4X7CLfc3CIhFoS4T0DNSJBoJYTE2JHpYEFCDLQzQmJAgDiBiv1enLrBPpOT2oSXwX6On1/+vz7XSd0ApEeSJNqsTB0libCKcYj9yz+IAe7Mf1ljlHmyMZ+Prdd3iCX/ZyIbc0lat7NWlYyaHcwpVvnXP2mCoCMtp6/2KqU+Cxi801JvKgPBDoU+h3V9b6kJnu6C7p5o2H0amG08+l9skeyNH6qWYNG1L4JOUfnk+MRserqhmLsnWtrtBrOPJ/9dkh12VI0ZGwplZseFJTAAT3dBd0807HaD2dWQ/3uBCLew5AS2NUGke+zAzn1XSOkE4pQx+KzAQlpDWIFNhQTrHyg8VosHjI4k0WXk4gXW6EmouwzBanL1qH9lCBZJqPO4NDL7jqlp2BgwzBi8BNgcL8CuPtpRy4k+glffrmhb1Z7ugu6eaNR9yiOVdbz27wKMJqQd72NkVqjUQnOSnGK1fzuGfpojp28u5nqbWmjuqk6x2l9STd/SIKdvLuZ6m1po7qpOsdpfzsP2AUewZguG+yzBxtAVHME2Z/CGJVjYg+uUMHoITu3qVHoxyCnyLh7hgC8Y26nY3ac0O7ObmwXrbdJUjPIXdYrVU1cuHkPzPnYolkIU3AEt6P4vFyOho9mSrPSniG18BtYyb9D2Pcgspqd7hRum4V4mggyZMbsaDdacwDTOfO17kEZMzxbn6jZMPxgilIlT0aZGg4060L9Bg5y+RkxbKKN7dWAd4yrKdIrVYPIhWCYND6cvdWNZFlh0ZIhQplOsBpOP9uGMBjl9qRvLssBqhgY0nWI1mHwCDgY0yulrBC0LzJDgEavB5PNU7cTja0T9f8AeyO233wzBNn5KKK4bpvCaYcaCnoTajpGM1eLRVPeHcMIPrC0kU7osqoxZ9yARGwtPd4U2THdQr/FX7QKiIpa+L+Xk4Pcmdw6b5E9/1QLmjdXWQKOFlFsdVTk/BPQpqzhbxrYF6q3fVxUnsIfIBfCYGVhAMxGA20tiH9OEAbyQ1m4lX8R8Os5EmoZDbJQo/8VrfdCIOb2I+Vyoz+AP/uVjmuEw9boAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\left ( \\left[\\begin{matrix}1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1\\\\1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1\\end{matrix}\\right], \\quad \\left[\\begin{matrix}1 & 1\\\\1 & 1\\end{matrix}\\right]\\right )$$" ], "text/plain": [ "⎛⎡1 1 1 1 1 1 1 1 1 1⎤ ⎡1 1⎤⎞\n", "⎜⎢ ⎥, ⎢ ⎥⎟\n", "⎝⎣1 1 1 1 1 1 1 1 1 1⎦ ⎣1 1⎦⎠" ] }, "execution_count": 142, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.ones(2,10),sb.ones(2)" ] }, { "cell_type": "code", "execution_count": 143, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFsAAABLCAMAAAAoPgswAAAAOVBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXHtMAAAAEnRSTlMAMquJZkQiEEAwdlSZ3bvN73yX9ZKPAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAC7UlEQVRYCe2Z4ZKrIAyFUbDci2i7vP/DboLV5RBS1p3enbkz8mOnkJxv04h6tGZIeYzmfWPZkMYMyToa0/vQhnluTMy+vRH7hXIn2daG+KqSMn6SfZ+N8YsOh/g5tlv4G9v163vjJ4yfY695L83JI/KYYfwcO0XGTIk60xwYR7YPYfSDtYrW71rXJJsqjmwqK4zBxNxWqb8ly4tDCjLGK1Uc2I42QKDNPip1Hdr8LyS/igN7oPT1LjX7it/qnrS6qziwmaHpMn/r99w5lnu8Zk98/nt1j+Wd7fQ9CPGS7dfJ8PXFKO00xj24/Ki2DeMle06Dj6SelC1I2IXP+Qcfl/aAeMn2MQQzR6ejjbd0BuhojJfsdik/X73YsndXT66eyA7Ild/cJ6V3kZX0V0p9VTd4lz5JZIAe2ehdhLK7gHpko3fpokQC6pG9+48XV3DBKxdQD+zKu5Sq7bMPka2JVx4DKj2wD3+heBu6kc58x2RRa1T6Nlu5Gd/m7T48Kkb2YG96YFfeRZRG1uLBXyn/EVHqFXojZv9Jf5+JPW9DFpb4Q9Luxqj/gGeSFbxLo7JsTUJ2KY2oQT30pOttTN7A2y5usXXvQ9ngXRrqSLtvSorNrfVYN3qXBtuP9Jz24pERvFHFbuDEklXtYJV6js2H0j++e0U4x15od4/KiVUVTdNz7DmE+P3H/nNsWdurlYstu3P1pN+T0rvIbHo87Lz3KTVVv8G7lHnPz704SJCN3gUS86QXRwWy0btgJs96cVQgG70LZvKsF0cFsCvvgpk068UpZViWwdy2GxOwD3+heJ9enNj3YNeQ32pV19hDq1yie3F6q8RvR3Y11F15F0rD0YvnbB/3ty/Afh6r/b0NgnmG3kbGaeW2V131pPIuUoveRsbJYPChehaOdaN3kdpe3Ex5hzwtNLK73qfjjYaVdomlXZhHxQbvIuvueSPq9fy473frit3A/XzpYsve/d89+Xe/Hfn8S8/7fztyznwC8wclyH7L27UAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\left[\\begin{matrix}x & 0 & 0\\\\0 & y & 0\\\\0 & 0 & z\\end{matrix}\\right]$$" ], "text/plain": [ "⎡x 0 0⎤\n", "⎢ ⎥\n", "⎢0 y 0⎥\n", "⎢ ⎥\n", "⎣0 0 z⎦" ] }, "execution_count": 143, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.diag(x,y,z)" ] }, { "cell_type": "code", "execution_count": 144, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAIkAAABkCAMAAACFIOOnAAAAOVBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXHtMAAAAEnRSTlMAMquJZkQiEEAwdlSZ3bvN73yX9ZKPAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEPklEQVRoBe1b22KqMBAMF805CGr5/489SWBzIbNO7Wm1D+GFlJmdjGtEBqzp1rD15l3bshkwpluH0W2ndxkxfvaxX72T89tMpInHJ50MwzQ/8E1gmRfRnnRyuxhjF9UKgcUIpD3nZFy82HAVycOewMLGtOecXMPn67JaES33BBYypj3nZJ292ml17xHaCCwlmFY6sdPU224YlJmsaIwiWuwJLFyFVjpxL3nqJzOH5SCVaX9eB/9Ht07pWDYisDAVWuFkdB+KyZ1cevyaTdQIhkQ57gksPIVWOOkc+XqTinpvt56clJ4QWPQUWuHEc5VZNpltnVwer1gVFitY5ejk5M/8VvmUmms4k4zqp/gxLE6wSu7EXk/Gfw8ZvAwcMN692qy9gQT2tX7DtNzJZe3s7OY6KR9iJ7L4s/3drye4EVhqIC13YudpMpd51I0YO7gzjmqEweIEquROhPiefXNS9731pPWk7kB9pK2T1pO6A/WR4zpBmSirOs/z7ap/7xhSLkqIdnACM5HUG3P2KWNY1QRNykUI0konOBOJgDF9uIS6h6uUdDSOWPlOxLTSCc5EcSZzD1drvZboWfkuhGmlE8kz2hVKH+JHvyorhZXvTjCtcKJkotSTbbT4K0ywfbJcoRVOYhLByWqfXAteKQ49LNdo2Il6Se3NLCEcg57EF/KwPDkpad7Jn/XvpqtkonLSWTNiPlXurshxfvvInRiciQono2rEpbaAfTF5eSfpPhvORLmTi2/pWbmpxMuDFKYV60TJRJmTLry3k5IRcaTKyrchppVOWLI6L7PbtrNKNYE7ACNVTYS0gxOYiZLUbbuFq6XRlrxSq75ldHh3vkXzayLNSd231hPcEzsq58ya/oNHzu7Wa/re+cGJqHRbJ3WLjj1BmSivIjiBRQnRDk5gJpJ6tyc4gUUI0konOBOJgLun+7JnXjgTJScEJ7DoYFrZE5yJREEuVF/wzEvJRNEJwQksMgqt6EkMLEp0IjiBxYlCw07KTCQSWmYSPE6hlO88hVY4UTKRzKRlJsFZ+c5TaIUTGp1ItCKwOMa00gnORKLgHhI+fqhFYNHBtNIJzkSioD2tijgr34mYVjqh0QlmpuiElu9MqHJwQpIXi1asfHcCaQcn6eW9fNSc1C1vPWk9qTtQH2nrpPWk7kB95LhOUCbKqwhO4FwpjLsl3hw4OIGZKKsnOIEzIT+0/XxLP+8pnZBk9U3JKzM0aU5wJkqVBCdw0okj1clrklf04X89h9eJkoliJcEJHGWygeYkJpEfTV6ZEbUn0YkSnQhO4NyBjLWeKJlIyv43ednbkrbt8arm5EXJK74yfcWyZMVwHKmyiauh2hOciVI9wQmcdOJIdUKjE8xMUZeWJ+Y+0p3ATJTVE5zAmVAY9tf7urjfKIet/N45Ul/5d3NSd7v15Pf35Lf8T5MN/1P07v9pGkfzDwPEP83QYTycAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\left[\\begin{matrix}x & 0 & 0 & 0\\\\0 & 2 & 0 & 0\\\\0 & 0 & 0 & 0\\\\0 & 0 & 0 & -1\\end{matrix}\\right]$$" ], "text/plain": [ "⎡x 0 0 0 ⎤\n", "⎢ ⎥\n", "⎢0 2 0 0 ⎥\n", "⎢ ⎥\n", "⎢0 0 0 0 ⎥\n", "⎢ ⎥\n", "⎣0 0 0 -1⎦" ] }, "execution_count": 144, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.diag(*V) # Attention ! sb.diag(V) ne donne pas le résultat attendu" ] }, { "cell_type": "code", "execution_count": 145, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left[\\begin{matrix}x & 0 & 0 & 0 & 0 & 0 & 0\\\\0 & y & 0 & 0 & 0 & 0 & 0\\\\0 & 0 & z & z & 0 & 0 & 0\\\\0 & 0 & z & z & 0 & 0 & 0\\\\0 & 0 & 0 & 0 & 2 t & 2 t & 2 t\\\\0 & 0 & 0 & 0 & 2 t & 2 t & 2 t\\\\0 & 0 & 0 & 0 & 2 t & 2 t & 2 t\\end{matrix}\\right]$$" ], "text/plain": [ "⎡x 0 0 0 0 0 0 ⎤\n", "⎢ ⎥\n", "⎢0 y 0 0 0 0 0 ⎥\n", "⎢ ⎥\n", "⎢0 0 z z 0 0 0 ⎥\n", "⎢ ⎥\n", "⎢0 0 z z 0 0 0 ⎥\n", "⎢ ⎥\n", "⎢0 0 0 0 2⋅t 2⋅t 2⋅t⎥\n", "⎢ ⎥\n", "⎢0 0 0 0 2⋅t 2⋅t 2⋅t⎥\n", "⎢ ⎥\n", "⎣0 0 0 0 2⋅t 2⋅t 2⋅t⎦" ] }, "execution_count": 145, "metadata": {}, "output_type": "execute_result" } ], "source": [ "big_M = sb.diag(x,y,z*sb.ones(2),2*t*sb.ones(3)) ; big_M" ] }, { "cell_type": "code", "execution_count": 146, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHgAAABLCAMAAACMVLPjAAAANlBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHL6OuAAAAEXRSTlMAMquJZkQiEEAw3ZnNdrvvfFm2jn4AAAAJcEhZcwAADsQAAA7EAZUrDhsAAAFGSURBVGgF7ZrREoIgEEWRKMuy4v9/NrFGdi/R00WbcXkCVve0RxoZB9fFuXm3UhvePOe6eAhTO67EdQkWfEzg01rMzAkA7oY+B8seL6zAvb/eYh1MDSvwVOH4A0wNG9hUwz+KJ8QWF88lPKQ0lMn3rtrfH3Hw4xdL8xQzjKprTPq8gelKawlNdc0Mfd5U05XWEv6Nat6O/UupMrmqmLpjRzAkV+DpWvmuxlupYQObalhgPCGbLq5zvCyF8UpaUuaOTP6ETxEylu9YerzwpqrlVx9eSYul3JHJdcXMHXvmfXo6uQYXF7ebMHA7t5DZVIOQdkNT3c4tZP4b1XLPDb8xDXlhVTHsuRFMDSvwRJJvLgRTwwY21bDAeEJscfFcwkNKQ5l876r1nruQxQyj6gLWasLArcwWefeqeqMDKP18ImTlAyghuBcehijNTJiMzgAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\left[\\begin{matrix}1 & 1 & 1 & 1\\\\1 & 1 & 1 & 1\\\\1 & 1 & 1 & 1\\end{matrix}\\right]$$" ], "text/plain": [ "⎡1 1 1 1⎤\n", "⎢ ⎥\n", "⎢1 1 1 1⎥\n", "⎢ ⎥\n", "⎣1 1 1 1⎦" ] }, "execution_count": 146, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sb.Matrix(np.ones_like(M))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 6.4 Opérations de base" ] }, { "cell_type": "code", "execution_count": 147, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left[\\begin{matrix}a + x & x + 2 & x & x + 1\\\\x + 1 & b + x & x & x - 1\\\\x & x & c + x & x + 2\\end{matrix}\\right]$$" ], "text/plain": [ "⎡a + x x + 2 x x + 1⎤\n", "⎢ ⎥\n", "⎢x + 1 b + x x x - 1⎥\n", "⎢ ⎥\n", "⎣ x x c + x x + 2⎦" ] }, "execution_count": 147, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M + x*sb.Matrix(np.ones_like(M)) # M + x n'est pas accepté" ] }, { "cell_type": "code", "execution_count": 148, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAKUAAABLCAMAAAAmu7caAAAAOVBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXHtMAAAAEnRSTlMAMquJZkQiEEAwmXbvu91UzXwVE4xGAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAE9klEQVRoBe1a25alKAxFUJkBb+P/f2wnQREVJbGtrupZh4dSjyFsQkiRbVQ1U9PqJ7YhgFOqmk0NrfmJIBUiq/WMKNsfCXADVT9G2To39dWmqXBnjHePjfEYZYtubGaum0yjUnZgwjwJPkapLRqv6womXF7XA96Ynic9wgLv2mOU3YwwNdOlewogI/XZjZ99cNPh58coNVlHzzzPnB2O28yw7ow2mIPQAWXrjG89yljvta2Mudc7wNpY77CHvYm3dkVZH4bPPDa6n3tNGOLbPcqmA//uaV1g8h5kHZksih9uqhm0GTWid6Kmq9bOZB0Sv5LZfj+5JemO8dJ2OFcCVgNcD06nb2c/wFzaUZEf6ZutEVEel3KDltyd3HKP0pEVySvQ3fqjEyea6Naht8Em6nB96M9RYnm2wZYNmr7cTm65R9mhOWyMgSWdNW0J3BSAtLrdR8EvR9bu2QDECaV+GWYc/avBKGMpLEbx9GbE5WtBhlbI30bOntyhZkWiBh18P+weJW5oWOextX0DsRCerh2polce1FEwDBERemRbTXM4O1xO2ICjjTD5pKUo1QRuU8OOgF07V9aB5uYyELWDg0ZR00EMaubbbaYGUGQ7VnDVGoJbAhFudyit9qZqta+Udd6r0dWXINUUzn24wayGk0Thn5A1EH9ZIFXb18cZ71DuJyB6wmX6uvYCSvQ2211b/QXwL6AcwIn09S57AeTeL58pHL133GPmsxHeQPlwZEm3F1ZcMtxD2Q/Kh4bLdPvYMmOUhz/9z21p++422Tha7XtYA6Wm5RB8xJN9FrEGq4bIHvzGirMO3suAMtZgRRnTtOcoKY9Y9ZWuMtZg1RZPzc9RGolbrvm47OQU07QMSh5foCYNpww8gZdJA8j4yIdLB/rVhnRN2YMMSlBY5gtg4MnCn5ZDGqiYjx8yhR2s00N0y8yZiMcXQGaEad7sOaTBhlJ0DI1umUHJ4guW9BZyY8BaJA3A5gTvnjWw07A1RBHdklD+M/97sHaJLwBxipZEojFIAyVhDVYsCXvwHyTdkSda35f4ApSjzJYoG1qYe9JASViDDQXcBfbgtHsYfAGpQZ4msF8M0kBJWIMVZcIenFCW+YKgBcm4nuILhzSQsAYryoQ9OKEs8wVBC8hhtITGIQ2UgDUI+oGC2tiDE8pVRnb9WtIgE4lk8EJI+mLS4AWUf4A0eAHlHyANXkAp9ZAn8i/tnidDC/p8UAqMVRD92LJgIMHrv9iWggxfIMqx3UUBQ86WggxfIMoCmRQwRMoAOmZQCjJ8gSgHpEoLGLbcLItSkOELRFko0wKGLTfLolxzZ0aGLxBloUwLGLbcLIdSkOGzReHDmcGssBqGSrXHL2PHCUABQ0oZwOuzXwoyfKZoix8hHX7VnbzpfYmqCxUJqVveoSxn+BHlvSitHSbtLWaE97IggAUMS76PN9jOtmRl+KEzTzRUMIQe8Bk25K7LY+ZCBQwpZQAyZ5SSDJ9FBlAFwwKnLVpyKWBIKIM8SkGGzxFdDE4wG2Szbo25FjDsCw4ythRk+CzR5fs+sAwN7e6buiMVCxgSyiBvS0mGzykhCI4GkajqYYcbiEWXbStgSCiDC5SCDJ8lCicSj/Ud4JNjN919/t0KGBLK4ALl5VS/7UXGL78Ny/XAH5TXtpG++dhSarFr+WDLv6Gq3lLl+k+uqodirV/BeDR7OOh1VQAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\left[\\begin{matrix}a x & 2 y & 0 & t\\\\x & b y & 0 & - t\\\\0 & 0 & c z & 2 t\\end{matrix}\\right]$$" ], "text/plain": [ "⎡a⋅x 2⋅y 0 t ⎤\n", "⎢ ⎥\n", "⎢ x b⋅y 0 -t ⎥\n", "⎢ ⎥\n", "⎣ 0 0 c⋅z 2⋅t⎦" ] }, "execution_count": 148, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M*sb.diag(x,y,z,t) # Attention : produit matriciel" ] }, { "cell_type": "code", "execution_count": 149, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAKUAAABLCAMAAAAmu7caAAAAOVBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXHtMAAAAEnRSTlMAMquJZkQiEEAwmXbvu91UzXwVE4xGAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAE9klEQVRoBe1a25alKAxFUJkBb+P/f2wnQREVJbGtrupZh4dSjyFsQkiRbVQ1U9PqJ7YhgFOqmk0NrfmJIBUiq/WMKNsfCXADVT9G2To39dWmqXBnjHePjfEYZYtubGaum0yjUnZgwjwJPkapLRqv6womXF7XA96Ynic9wgLv2mOU3YwwNdOlewogI/XZjZ99cNPh58coNVlHzzzPnB2O28yw7ow2mIPQAWXrjG89yljvta2Mudc7wNpY77CHvYm3dkVZH4bPPDa6n3tNGOLbPcqmA//uaV1g8h5kHZksih9uqhm0GTWid6Kmq9bOZB0Sv5LZfj+5JemO8dJ2OFcCVgNcD06nb2c/wFzaUZEf6ZutEVEel3KDltyd3HKP0pEVySvQ3fqjEyea6Naht8Em6nB96M9RYnm2wZYNmr7cTm65R9mhOWyMgSWdNW0J3BSAtLrdR8EvR9bu2QDECaV+GWYc/avBKGMpLEbx9GbE5WtBhlbI30bOntyhZkWiBh18P+weJW5oWOextX0DsRCerh2polce1FEwDBERemRbTXM4O1xO2ICjjTD5pKUo1QRuU8OOgF07V9aB5uYyELWDg0ZR00EMaubbbaYGUGQ7VnDVGoJbAhFudyit9qZqta+Udd6r0dWXINUUzn24wayGk0Thn5A1EH9ZIFXb18cZ71DuJyB6wmX6uvYCSvQ2211b/QXwL6AcwIn09S57AeTeL58pHL133GPmsxHeQPlwZEm3F1ZcMtxD2Q/Kh4bLdPvYMmOUhz/9z21p++422Tha7XtYA6Wm5RB8xJN9FrEGq4bIHvzGirMO3suAMtZgRRnTtOcoKY9Y9ZWuMtZg1RZPzc9RGolbrvm47OQU07QMSh5foCYNpww8gZdJA8j4yIdLB/rVhnRN2YMMSlBY5gtg4MnCn5ZDGqiYjx8yhR2s00N0y8yZiMcXQGaEad7sOaTBhlJ0DI1umUHJ4guW9BZyY8BaJA3A5gTvnjWw07A1RBHdklD+M/97sHaJLwBxipZEojFIAyVhDVYsCXvwHyTdkSda35f4ApSjzJYoG1qYe9JASViDDQXcBfbgtHsYfAGpQZ4msF8M0kBJWIMVZcIenFCW+YKgBcm4nuILhzSQsAYryoQ9OKEs8wVBC8hhtITGIQ2UgDUI+oGC2tiDE8pVRnb9WtIgE4lk8EJI+mLS4AWUf4A0eAHlHyANXkAp9ZAn8i/tnidDC/p8UAqMVRD92LJgIMHrv9iWggxfIMqx3UUBQ86WggxfIMoCmRQwRMoAOmZQCjJ8gSgHpEoLGLbcLItSkOELRFko0wKGLTfLolxzZ0aGLxBloUwLGLbcLIdSkOGzReHDmcGssBqGSrXHL2PHCUABQ0oZwOuzXwoyfKZoix8hHX7VnbzpfYmqCxUJqVveoSxn+BHlvSitHSbtLWaE97IggAUMS76PN9jOtmRl+KEzTzRUMIQe8Bk25K7LY+ZCBQwpZQAyZ5SSDJ9FBlAFwwKnLVpyKWBIKIM8SkGGzxFdDE4wG2Szbo25FjDsCw4ythRk+CzR5fs+sAwN7e6buiMVCxgSyiBvS0mGzykhCI4GkajqYYcbiEWXbStgSCiDC5SCDJ8lCicSj/Ud4JNjN919/t0KGBLK4ALl5VS/7UXGL78Ny/XAH5TXtpG++dhSarFr+WDLv6Gq3lLl+k+uqodirV/BeDR7OOh1VQAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\left[\\begin{matrix}a x & 2 y & 0 & t\\\\x & b y & 0 & - t\\\\0 & 0 & c z & 2 t\\end{matrix}\\right]$$" ], "text/plain": [ "⎡a⋅x 2⋅y 0 t ⎤\n", "⎢ ⎥\n", "⎢ x b⋅y 0 -t ⎥\n", "⎢ ⎥\n", "⎣ 0 0 c⋅z 2⋅t⎦" ] }, "execution_count": 149, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M@sb.diag(x,y,z,t) # Fonctionne aussi" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Ne fonctionne pas** : **M.dot(sb.diag(x,y,z,t))**. Utiliser **multiply** à la place :" ] }, { "cell_type": "code", "execution_count": 150, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAKUAAABLCAMAAAAmu7caAAAAOVBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXHtMAAAAEnRSTlMAMquJZkQiEEAwmXbvu91UzXwVE4xGAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAE9klEQVRoBe1a25alKAxFUJkBb+P/f2wnQREVJbGtrupZh4dSjyFsQkiRbVQ1U9PqJ7YhgFOqmk0NrfmJIBUiq/WMKNsfCXADVT9G2To39dWmqXBnjHePjfEYZYtubGaum0yjUnZgwjwJPkapLRqv6womXF7XA96Ynic9wgLv2mOU3YwwNdOlewogI/XZjZ99cNPh58coNVlHzzzPnB2O28yw7ow2mIPQAWXrjG89yljvta2Mudc7wNpY77CHvYm3dkVZH4bPPDa6n3tNGOLbPcqmA//uaV1g8h5kHZksih9uqhm0GTWid6Kmq9bOZB0Sv5LZfj+5JemO8dJ2OFcCVgNcD06nb2c/wFzaUZEf6ZutEVEel3KDltyd3HKP0pEVySvQ3fqjEyea6Naht8Em6nB96M9RYnm2wZYNmr7cTm65R9mhOWyMgSWdNW0J3BSAtLrdR8EvR9bu2QDECaV+GWYc/avBKGMpLEbx9GbE5WtBhlbI30bOntyhZkWiBh18P+weJW5oWOextX0DsRCerh2polce1FEwDBERemRbTXM4O1xO2ICjjTD5pKUo1QRuU8OOgF07V9aB5uYyELWDg0ZR00EMaubbbaYGUGQ7VnDVGoJbAhFudyit9qZqta+Udd6r0dWXINUUzn24wayGk0Thn5A1EH9ZIFXb18cZ71DuJyB6wmX6uvYCSvQ2211b/QXwL6AcwIn09S57AeTeL58pHL133GPmsxHeQPlwZEm3F1ZcMtxD2Q/Kh4bLdPvYMmOUhz/9z21p++422Tha7XtYA6Wm5RB8xJN9FrEGq4bIHvzGirMO3suAMtZgRRnTtOcoKY9Y9ZWuMtZg1RZPzc9RGolbrvm47OQU07QMSh5foCYNpww8gZdJA8j4yIdLB/rVhnRN2YMMSlBY5gtg4MnCn5ZDGqiYjx8yhR2s00N0y8yZiMcXQGaEad7sOaTBhlJ0DI1umUHJ4guW9BZyY8BaJA3A5gTvnjWw07A1RBHdklD+M/97sHaJLwBxipZEojFIAyVhDVYsCXvwHyTdkSda35f4ApSjzJYoG1qYe9JASViDDQXcBfbgtHsYfAGpQZ4msF8M0kBJWIMVZcIenFCW+YKgBcm4nuILhzSQsAYryoQ9OKEs8wVBC8hhtITGIQ2UgDUI+oGC2tiDE8pVRnb9WtIgE4lk8EJI+mLS4AWUf4A0eAHlHyANXkAp9ZAn8i/tnidDC/p8UAqMVRD92LJgIMHrv9iWggxfIMqx3UUBQ86WggxfIMoCmRQwRMoAOmZQCjJ8gSgHpEoLGLbcLItSkOELRFko0wKGLTfLolxzZ0aGLxBloUwLGLbcLIdSkOGzReHDmcGssBqGSrXHL2PHCUABQ0oZwOuzXwoyfKZoix8hHX7VnbzpfYmqCxUJqVveoSxn+BHlvSitHSbtLWaE97IggAUMS76PN9jOtmRl+KEzTzRUMIQe8Bk25K7LY+ZCBQwpZQAyZ5SSDJ9FBlAFwwKnLVpyKWBIKIM8SkGGzxFdDE4wG2Szbo25FjDsCw4ythRk+CzR5fs+sAwN7e6buiMVCxgSyiBvS0mGzykhCI4GkajqYYcbiEWXbStgSCiDC5SCDJ8lCicSj/Ud4JNjN919/t0KGBLK4ALl5VS/7UXGL78Ny/XAH5TXtpG++dhSarFr+WDLv6Gq3lLl+k+uqodirV/BeDR7OOh1VQAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\left[\\begin{matrix}a x & 2 y & 0 & t\\\\x & b y & 0 & - t\\\\0 & 0 & c z & 2 t\\end{matrix}\\right]$$" ], "text/plain": [ "⎡a⋅x 2⋅y 0 t ⎤\n", "⎢ ⎥\n", "⎢ x b⋅y 0 -t ⎥\n", "⎢ ⎥\n", "⎣ 0 0 c⋅z 2⋅t⎦" ] }, "execution_count": 150, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M.multiply(sb.diag(x,y,z,t))" ] }, { "cell_type": "code", "execution_count": 151, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAJEAAABLCAMAAABHo5VYAAAAOVBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXHtMAAAAEnRSTlMAMquJZkQiEEAwmXbvu91UzXwVE4xGAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAD00lEQVRoBe2a67abIBCF8Uorajy8/8N2AEUJlz2JMV3tkj8q4vAxXGQ7ikrbVItDkk1T1/KQ8Y3T2YEIUemmpdQdKx3oYpiPOV84NxRtrQ1RH1Wnia/XVZR/fUabIWqpxxhElfElSE2jhrjJ4UPV7EdIjsg80OBem4PBF9ayXi0PIeRcQpL1sGgO0YE7WRVlKkzU2mY1U86Ey1ccon7y2DlrVbtAH022xGOvMWmMQ9STparka7LcCEyk7UjrNPVdIeWJ+qFRvaJH+6mqqqHsJdVjIrkRtQUe6v7dh+HI7kbyymTujnaxKlrpqRLoo143xkilTTPzKUckR9MS7sJoquITWbAsUo5osL6byw9vVlszyCCRdD7q3vTRaOaoNMs1Tna0YSLhxtHjvZHt2mNGFiN1tUl6rIFHJ7sStfvITdrO9Jq0DZkW8QCzfjc6wvWoHU3pYdmfSZ1liMRCE6KdB1pnuEmDtZjszOYtMoJ3do5I1qqp+lqBxz0uvY70VJ7WRNMoVZct1tOo53o1FK5Hvq6/eHITYeffPrp9hD2AS/x34+gCoXnSRxcIzZNEFwjNJBHURXIanZbjCM3TCjLUc7m5sexiFgjNjyjIw94gR7TvCYFDP6MgMVHn94RIaH5GQWIi31NQaG567V0F6ToJEy21UgNVAoXmWQW5jhpIJPUiSbT0WGieVJDbMIZE7sMC0GDWmicq790PNSbXo8P9DTI8WmmxisPwzvPVewryl/4dGoJEdjVC3zuczZcV5E/qqx8k0vb7gF8BwvaEV6cUpDeFiUiIu88W/pncyTkFuVmFRDX5aNrfI9tzyeMpBeksBnouWYmQg12N0jefcm8F+eSQD1wm16MP2H3fxE2EfXf76PZRzgOvCM3vjKNXhOZ3iF4RmikijuQz/cMtRx+AKdICIpo+mpkgwpLPDRduuXVwefmyXj8dfOwwJuJJPvPh29hEwUVfLxCaezQzJuJJPtofsYKLGxEQmodoZkzEk3xiDcHwNtsCCc1DNDMiYko+Umt2D9nZLffmifhIH/ybCgrNYzQzIvICC0QXWOV6s6UdJiQ0g2hmnqgs+Wgy2wL0h0fsGJ9jg4cjaJuJQB9ihxERU/JRr1mUYnDRxTQ9X+4kjGZGRMyg4Tayi8FFG9PMcfj8p2hmTMSTfDT7YXCRJcOFeIpmxkQ8yUcrJA4urvOQFff10cyYiBc0JJ9jaTjYBYJmPyP5aGaCiCH5bA2McvQuVqr8Y4WDPUQzE0SMBl1Z5CbC3r199O/6KP5DE7flghL+D01p/4wM/9C8oD5s0nG04g9U+i7NVXBE7gAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\left[\\begin{matrix}a^{2} & 4 & 0 & 1\\\\1 & b^{2} & 0 & 1\\\\0 & 0 & c^{2} & 4\\end{matrix}\\right]$$" ], "text/plain": [ "⎡ 2 ⎤\n", "⎢a 4 0 1⎥\n", "⎢ ⎥\n", "⎢ 2 ⎥\n", "⎢1 b 0 1⎥\n", "⎢ ⎥\n", "⎢ 2 ⎥\n", "⎣0 0 c 4⎦" ] }, "execution_count": 151, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M.multiply_elementwise(M) # Multiplication terme-à-terme. M**2 ne fonctionne pas !" ] }, { "cell_type": "code", "execution_count": 152, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAIgAAABkCAMAAABq4oiZAAAAOVBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXHtMAAAAEnRSTlMAMquJZkQiEEAwmXbvu91UzXwVE4xGAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEH0lEQVRoBe2b24KjIAyGEa3s4qEu7/+wy0EFYmJk2JnuBd4UiJKPiJTftKIz/pDiQ8ca/AvRmX6wx+tDHMI5H6RxIOOnGKLfoQRk1HpbungxLPX9pB+NqVsVvLYEZHSzqDfkLdzeQqiVJVFSb6YKRPqr5xkOZq8Pqyv0C2FOm6c6kNlfLqkZtfjH7n31kSKEciWI9EOWhpglRjsvL2NvEHewIKPup3G672a10xs71AEyYNa8jQN5zXamLfex7QwBOpreeSPtKQoDomY3GO1vQHpZVl79DciaQuUE8TzICUkTA6J9LNbbjjTFIVSIyIuKWMIhGJDZPXmKXiesdSA5hAhz5F0/WcOQ3ApHHm8XrZFYsha/ggz3Uyx0fR8R5ceybOJNeBKdv2vTZVUMvQ9+pdMbOYxouAcRm30eBjsZqUkyrtoeYTWJncbS6pb4mVhl4mm2xIAoOfXdKCeqqy3sG8ghq36aJHVxAiKX2awSrAIlX3pJX/++2EBgTFtEWkRgBGC9zZEWERgBWIdzBJE+8RK1zLfbt8cCa+8ydZaB4NInggix3WyMxEOBtfcHnGUg9hTkCzoFudt+FQisvcvUWRnI6277VSCwqkH6uyly6JoHAqsaZJPTpAlHJQKrFkSZTdltPr6lPXUN2HrtTrGPL8+RILAJ4XKCUFveKwoE+WV+nyeltrPxKPgd+i6kjrbzkxNYalvjEXa2qbM/VsY8BvGrCCn3CwTWTg9B0ndoqe0c7FEwXhtTj3CBwEJAitYRp0aDUj/Q0s8CgVULIm1EFnqRfy6wWBBU+sRRK02uIu6kpwJr7zB3Bm9N9PrDpQYCA94i0iICIwDrbo6ogXgZBU/+zvpoF8v0u+Y7fd323Z4aGB4QEUYiMWbYOVFHE2E5CCORGDPhFzbjibAMhJFIjBk6pOp4IiwDYSQSY6Ycw3Y8EZaBMBKJMUOHVB1PhKUgjERizN6vfffcP3j3bM+FibAU5FQmuERizLbz0W0W9ZM05zXRhYLgEukEwc1ulM4y48OwlvS4JMJSEEYiMWYbC0popAShfE2EpSBcDopTUD4DdnWKtCCJsAyEkUiMmdKiVxAsEZaBMBKJMQsvBG0K+uo5b0ETYRmIYCQSYw43nn188URYDsJIJMYs7HfiRGX8YlDwRFgOEs/+8VIDgSFvEWkRgRGA9TZHWkRgBGAdzBFGQdWZo+80dbW35iCMgqozHxwgdYWBMAqqznxwuE/k/XYWEUZB1ZlLQBgFVWcuAGEUVJ055eBuzSlccGVSZ/4SCK6gTpAvmUtAGAVVZy4BqRRYnP5KUNjH9/5HfozAYswJBzdZBaOg6swlIJUCi9FfCQl3a7gcFCOwGPMJkqeu9uZsiT9P/UChgcCgt4j85xH5T/5xpPxffj78j6NhEH8Ba4I8CIJQVR4AAAAASUVORK5CYII=\n", "text/latex": [ "$$\\left[\\begin{matrix}a & 2 & 0 & 1\\\\1 & b & 0 & -1\\\\0 & 0 & c & 2\\\\0 & 0 & 0 & 1\\end{matrix}\\right]$$" ], "text/plain": [ "⎡a 2 0 1 ⎤\n", "⎢ ⎥\n", "⎢1 b 0 -1⎥\n", "⎢ ⎥\n", "⎢0 0 c 2 ⎥\n", "⎢ ⎥\n", "⎣0 0 0 1 ⎦" ] }, "execution_count": 152, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Q = M.row_insert(4,sb.Matrix([[0,0,0,1]])) ; Q" ] }, { "cell_type": "code", "execution_count": 153, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left[\\begin{matrix}\\frac{b}{a b - 2} & - \\frac{2}{a b - 2} & 0 & \\frac{- a b - 2 a}{a \\left(a b - 2\\right)}\\\\- \\frac{1}{a b - 2} & \\frac{a}{a b - 2} & 0 & \\frac{a + 1}{a b - 2}\\\\0 & 0 & \\frac{1}{c} & - \\frac{2}{c}\\\\0 & 0 & 0 & 1\\end{matrix}\\right]$$" ], "text/plain": [ "⎡ b -2 -a⋅b - 2⋅a⎤\n", "⎢─────── ─────── 0 ───────────⎥\n", "⎢a⋅b - 2 a⋅b - 2 a⋅(a⋅b - 2)⎥\n", "⎢ ⎥\n", "⎢ -1 a a + 1 ⎥\n", "⎢─────── ─────── 0 ─────── ⎥\n", "⎢a⋅b - 2 a⋅b - 2 a⋅b - 2 ⎥\n", "⎢ ⎥\n", "⎢ 1 -2 ⎥\n", "⎢ 0 0 ─ ─── ⎥\n", "⎢ c c ⎥\n", "⎢ ⎥\n", "⎣ 0 0 0 1 ⎦" ] }, "execution_count": 153, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Q**-1 # La méthode inverse n'existe pas !" ] }, { "cell_type": "code", "execution_count": 154, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left[\\begin{matrix}a \\left(a^{2} + 2\\right) + 2 a + 2 b & a \\left(2 a + 2 b\\right) + 2 b^{2} + 4 & 0 & a \\left(a - 1\\right) - 2 b + 1\\\\a^{2} + b \\left(a + b\\right) + 2 & 2 a + b \\left(b^{2} + 2\\right) + 2 b & 0 & a - b^{2} - 2\\\\0 & 0 & c^{3} & c \\left(2 c + 2\\right) + 2\\\\0 & 0 & 0 & 1\\end{matrix}\\right]$$" ], "text/plain": [ "⎡ ⎛ 2 ⎞ 2 ⎤\n", "⎢a⋅⎝a + 2⎠ + 2⋅a + 2⋅b a⋅(2⋅a + 2⋅b) + 2⋅b + 4 0 a⋅(a - 1) - 2⋅b + 1⎥\n", "⎢ ⎥\n", "⎢ 2 ⎛ 2 ⎞ 2 ⎥\n", "⎢ a + b⋅(a + b) + 2 2⋅a + b⋅⎝b + 2⎠ + 2⋅b 0 a - b - 2 ⎥\n", "⎢ ⎥\n", "⎢ 3 ⎥\n", "⎢ 0 0 c c⋅(2⋅c + 2) + 2 ⎥\n", "⎢ ⎥\n", "⎣ 0 0 0 1 ⎦" ] }, "execution_count": 154, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Q**3" ] }, { "cell_type": "code", "execution_count": 155, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left ( \\left[\\begin{matrix}a & 1 & 0\\\\2 & b & 0\\\\0 & 0 & c\\\\1 & -1 & 2\\end{matrix}\\right], \\quad \\left[\\begin{matrix}a & 1 & 0\\\\2 & b & 0\\\\0 & 0 & c\\\\1 & -1 & 2\\end{matrix}\\right]\\right )$$" ], "text/plain": [ "⎛⎡a 1 0⎤ ⎡a 1 0⎤⎞\n", "⎜⎢ ⎥ ⎢ ⎥⎟\n", "⎜⎢2 b 0⎥ ⎢2 b 0⎥⎟\n", "⎜⎢ ⎥, ⎢ ⎥⎟\n", "⎜⎢0 0 c⎥ ⎢0 0 c⎥⎟\n", "⎜⎢ ⎥ ⎢ ⎥⎟\n", "⎝⎣1 -1 2⎦ ⎣1 -1 2⎦⎠" ] }, "execution_count": 155, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M.transpose(),M.T # comme avec les numpy.ndarray" ] }, { "cell_type": "code", "execution_count": 156, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEkAAAAOBAMAAACRACw7AAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIpmJdkTvuxBm3VTNqzIaxHoRAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABB0lEQVQoFV2QPUvDQACGnyQ0xjbB6lgQRNcKAZ01fgydJJOzq07FWaQ46CKk+AcMcXOQ/AOlk6NDF7eCP0CLFiIF4yWX4S7vcPe8D+9BCJS5OZO3fq50L3Ux0mvZjDd2Q83PtSaLN8A+UX0jU1vFdoY3Vb0Vq61iL8b7q9jY2Atwx/spbB9MauPmV2WP2wsZ0aszpZOa/drqM5DWOcWMeR7wwwN2UFslSGtmNH26ON+Citw+Fnkq2VxDWrtPFDKiMRdUzx1IG/ncw694I6iWls+ytFHKRas943q4NIRQ231AT1o3WEws3jlHfIQ1UVdGsr4ZS+uMd1aPuCp+19ZhTx3h5nn+Utp/9p1F/x6y5H4AAAAASUVORK5CYII=\n", "text/latex": [ "$$a b c - 2 c$$" ], "text/plain": [ "a⋅b⋅c - 2⋅c" ] }, "execution_count": 156, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Q.det() # Déterminant" ] }, { "cell_type": "code", "execution_count": 157, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOBAMAAADkjZCYAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIomZu0QQZlR2ze/dMqswxovtAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAATElEQVQIHWNgEFJ2ZWBgM2Cob2Dg/MGQv4CBdSsD/wIGIOgvABKsx4EE77y3IAGG/gYQyf2NgfcCAwtQ8TcQyf0AJMJeAFYfbOzKAADgJRMDsKssqgAAAABJRU5ErkJggg==\n", "text/latex": [ "$$3$$" ], "text/plain": [ "3" ] }, "execution_count": 157, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M.rank() " ] }, { "cell_type": "code", "execution_count": 158, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOBAMAAADkjZCYAAAAKlBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADmU0mKAAAADXRSTlMAMpndq3ZmzYkiRO+7EDr+BQAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAD9JREFUCB1jYGBgEAJiBgYTEMEKJsVKQOwGEMk6AUROYwCRDSCSbQKInMoAIpe4uNz2AEowbAERDHdAhPrdowCHcQzAI1BqtQAAAABJRU5ErkJggg==\n", "text/latex": [ "$$4$$" ], "text/plain": [ "4" ] }, "execution_count": 158, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Q.rank() " ] }, { "cell_type": "code", "execution_count": 159, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left ( \\left[\\begin{matrix}x & 0 & 0 & 0 & 0 & 0 & 0\\\\0 & y & 0 & 0 & 0 & 0 & 0\\\\0 & 0 & z & z & 0 & 0 & 0\\\\0 & 0 & z & z & 0 & 0 & 0\\\\0 & 0 & 0 & 0 & 2 t & 2 t & 2 t\\\\0 & 0 & 0 & 0 & 2 t & 2 t & 2 t\\\\0 & 0 & 0 & 0 & 2 t & 2 t & 2 t\\end{matrix}\\right], \\quad 4\\right )$$" ], "text/plain": [ "⎛⎡x 0 0 0 0 0 0 ⎤ ⎞\n", "⎜⎢ ⎥ ⎟\n", "⎜⎢0 y 0 0 0 0 0 ⎥ ⎟\n", "⎜⎢ ⎥ ⎟\n", "⎜⎢0 0 z z 0 0 0 ⎥ ⎟\n", "⎜⎢ ⎥ ⎟\n", "⎜⎢0 0 z z 0 0 0 ⎥, 4⎟\n", "⎜⎢ ⎥ ⎟\n", "⎜⎢0 0 0 0 2⋅t 2⋅t 2⋅t⎥ ⎟\n", "⎜⎢ ⎥ ⎟\n", "⎜⎢0 0 0 0 2⋅t 2⋅t 2⋅t⎥ ⎟\n", "⎜⎢ ⎥ ⎟\n", "⎝⎣0 0 0 0 2⋅t 2⋅t 2⋅t⎦ ⎠" ] }, "execution_count": 159, "metadata": {}, "output_type": "execute_result" } ], "source": [ "big_M,big_M.rank()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 6.5 Forme échelonnée" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**r**educed **r**ow **e**chelon **f**orm" ] }, { "cell_type": "code", "execution_count": 160, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left ( \\left[\\begin{matrix}1 & 0 & 0 & \\frac{a b + 2 a}{a \\left(a b - 2\\right)}\\\\0 & 1 & 0 & \\frac{- a - 1}{a b - 2}\\\\0 & 0 & 1 & \\frac{2}{c}\\end{matrix}\\right], \\quad \\left ( 0, \\quad 1, \\quad 2\\right )\\right )$$" ], "text/plain": [ "⎛⎡ a⋅b + 2⋅a ⎤ ⎞\n", "⎜⎢1 0 0 ───────────⎥ ⎟\n", "⎜⎢ a⋅(a⋅b - 2)⎥ ⎟\n", "⎜⎢ ⎥ ⎟\n", "⎜⎢ -a - 1 ⎥ ⎟\n", "⎜⎢0 1 0 ─────── ⎥, (0, 1, 2)⎟\n", "⎜⎢ a⋅b - 2 ⎥ ⎟\n", "⎜⎢ ⎥ ⎟\n", "⎜⎢ 2 ⎥ ⎟\n", "⎜⎢0 0 1 ─ ⎥ ⎟\n", "⎝⎣ c ⎦ ⎠" ] }, "execution_count": 160, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M.rref()" ] }, { "cell_type": "code", "execution_count": 161, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left ( \\left[\\begin{matrix}1 & 1 & 0\\\\0 & 0 & 1\\\\0 & 0 & 0\\end{matrix}\\right], \\quad \\left ( 0, \\quad 2\\right )\\right )$$" ], "text/plain": [ "⎛⎡1 1 0⎤ ⎞\n", "⎜⎢ ⎥ ⎟\n", "⎜⎢0 0 1⎥, (0, 2)⎟\n", "⎜⎢ ⎥ ⎟\n", "⎝⎣0 0 0⎦ ⎠" ] }, "execution_count": 161, "metadata": {}, "output_type": "execute_result" } ], "source": [ "T = sb.Matrix([[x,x,0],[y,y,y],[z,z,0]]) \n", "T.rref()" ] }, { "cell_type": "code", "execution_count": 162, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left ( \\left[\\begin{matrix}1 & 0 & 0\\\\\\frac{y}{x} & 1 & 0\\\\\\frac{z}{x} & 0 & 1\\end{matrix}\\right], \\quad \\left[\\begin{matrix}x & x & 0\\\\0 & 0 & y\\\\0 & 0 & 0\\end{matrix}\\right], \\quad \\left[\\begin{matrix}x & x & 0\\\\y & y & y\\\\z & z & 0\\end{matrix}\\right]\\right )$$" ], "text/plain": [ "⎛⎡1 0 0⎤ ⎞\n", "⎜⎢ ⎥ ⎟\n", "⎜⎢y ⎥ ⎡x x 0⎤ ⎡x x 0⎤⎟\n", "⎜⎢─ 1 0⎥ ⎢ ⎥ ⎢ ⎥⎟\n", "⎜⎢x ⎥, ⎢0 0 y⎥, ⎢y y y⎥⎟\n", "⎜⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎟\n", "⎜⎢z ⎥ ⎣0 0 0⎦ ⎣z z 0⎦⎟\n", "⎜⎢─ 0 1⎥ ⎟\n", "⎝⎣x ⎦ ⎠" ] }, "execution_count": 162, "metadata": {}, "output_type": "execute_result" } ], "source": [ "TL,TU,_ = T.LUdecomposition()\n", "TL,TU,TL@TU" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 6.6 Noyau de l'application linéaire associée à la matrice" ] }, { "cell_type": "code", "execution_count": 163, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEYAAABLCAMAAAD6bgFoAAAAOVBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXHtMAAAAEnRSTlMAMquJZkQiEEAwzd2ZdrvvVHw66LwlAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABeElEQVRYCe2Y23KFIAxFuXloRdTm/z+23Jtw7EO0M44deFA2mDXJ9opCQmpKpEZVHqNbl48vg01J0Ca0KY9TRQFZxYONgjLVlIQXOpoqNEG7pmLScFQ0kCoSK51t+izGqmWG65iQhx8YfPrbmYmdG72xs/tpMmV1YzbElSz+YTZq3cApX4o9e2t2Xg1MZwiSwxtkRtd9vjf4PVeKYxfVvefOYkIcfl4NTHGg7B7ozQd8ohqoyhMHRX2Rj7ao6GcaVb9i2FdxIB1kcxuGvueKjWeyKaF4NzDYDdof3lA/sHq8N1r7pV9I8IuadyGs6zhsjHHRWr1ig4VgY9a0QN/RAjEC2RhYYtgEoTTUuBhbMQZB+Nm8QMd4CfUzP9O42TRMorWMuBibs5kuZiOyN/tFi8Warhhz9YSbLRqyzM2W1OF6I4SLN8OWF7+NxcdY7b3qKPyruCVAOvxsSHgVA1OdeN8fefMnvw9t+gNYfx9S9Z5GeNTkVqaq+gYhsibm5jixlgAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\left [ \\left[\\begin{matrix}-1\\\\1\\\\0\\end{matrix}\\right]\\right ]$$" ], "text/plain": [ "⎡⎡-1⎤⎤\n", "⎢⎢ ⎥⎥\n", "⎢⎢1 ⎥⎥\n", "⎢⎢ ⎥⎥\n", "⎣⎣0 ⎦⎦" ] }, "execution_count": 163, "metadata": {}, "output_type": "execute_result" } ], "source": [ "KerT = T.nullspace() ; KerT" ] }, { "cell_type": "code", "execution_count": 164, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOBAMAAADkjZCYAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIomZu0QQZlR2ze/dMqswxovtAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAATElEQVQIHWNgEFJ2ZWBgM2Cob2Dg/MGQv4CBdSsD/wIGIOgvABKsx4EE77y3IAGG/gYQyf2NgfcCAwtQ8TcQyf0AJMJeAFYfbOzKAADgJRMDsKssqgAAAABJRU5ErkJggg==\n", "text/latex": [ "$$3$$" ], "text/plain": [ "3" ] }, "execution_count": 164, "metadata": {}, "output_type": "execute_result" } ], "source": [ "T.rows" ] }, { "cell_type": "code", "execution_count": 165, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[True]" ] }, "execution_count": 165, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[ (T@u).equals(sb.zeros(T.rows,1)) for u in KerT]" ] }, { "cell_type": "code", "execution_count": 166, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAOwAAAAzBAMAAABmlfndAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEN2ZRGZ2qzKJVCK7ze/WWNJcAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADvUlEQVRYCe1YTUhUURT+njPOODNWI4K2iIihP2ihOGUbp4agFi1SgjYVOTCgBJEaVAiBU4soCJyVYBg8CIQ2ObQJWrUI3BRKi1ZBriyC1OgH02K6786duefde0fe0FMJvKtzzved75t7n3fecdDU1IQNXo5lW/HbBrtipvgbezfa1PG7+F/axpLvc8bTio13pY1AqfiPu32OyHejejPqV4yAL7ZDwIJRfcC2/hgBX2wX4xgpmOTPpLGOtteAkZzJFoj+MNd5tfRsW/p3jtuE1dIJa5DkuHMw1kNzEreRmIYnemD1Dd1/SGuAUC7ZtoduBPYQPP8U9Uskx7uJLE1J3PCTJCS8ezOHAPozHaTGQqHMbesLodUw2U3MTiH8kvBjceRJSsO6dpqROLqCCxgoXCcloKzMbRvQOEtRC/PYnqEVNMddqUySMlSixXgOb3jNeptwVg4oK5cOGTsyrp7gV4wyklyxaputr7LZe8CMDWhPQCgL2+6CRbcTmMVV6cmiU+xzGtcTxAoGwCrGHdvgKpTXm1DmtrvSI4jQ5sZBTNM82IMwzStxQx4h+nkrwEdgselVeEn9mxDK3Hbq9jGcrnSwIDAYdN26BxOXD1K8Ej9LJtnVNaxz7N5Gl5vngrYbFMrctrkvesQFW8PZVUrPR7+kaV6JPxSL5i+jYLIrbXVmHp+vUEuBUBbPVgGByKxW8qnAlc22Key2fXJRZISy2XY/hhW6X6lQNttOZtN++Sg6Qtlsq3D9T7ds/T9TTXHrkLUj8b/g8ZDHs6bXm9ePo3d7s91mW4e8eug8Q7c327PAhC7HKyer1EnZ0O3Nlr3zp4xvc2CS6FcJDd3ebNl/wN22WdSDraGb21rZDFqpqjKuW05jDyEQXNhqA71ka90M4raR6Bx6JQ9QxvXYL2A0QwgEF7baQC/ZWjeDuO0LNs/dkjxo47pjm5cEipdsy2O35MiI25JuB+G2cTaLz0setHGd2XZnJKGCdyQSC4nEATl2S46MLKXbQbgtuuMNy5LHImVcZ892yqYEiYtD1gZ6wta6y7YphOYIj+3NPa6/BnpdF0jiwlYb6Imc1l22nQYbm+XSxvVLQErCoLiwZf3sepqX0u2QSod81H0/tHG9zrY+EUmKl3erDPSEDaVb2raOHS8Qoj6uj/XnquDCVh3oCRuWu9uBSrsFHlFeLbGwrXGg57aBWetzLVaUK14FNQ703LYuE1auMxX2FNc40HPbaN9hT9prkGoc6MvPdg3F9YA2zXbfZvyMfWWTfsb+CyEo+cQYIAtiAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\left[\\begin{matrix}x & y & z & 2 & 3 x - y\\\\y & x & 0 & x + y & 0\\end{matrix}\\right]$$" ], "text/plain": [ "⎡x y z 2 3⋅x - y⎤\n", "⎢ ⎥\n", "⎣y x 0 x + y 0 ⎦" ] }, "execution_count": 166, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P = sb.Matrix([[x,y,z,2,3*x-y],[y,x,0,x+y,0]]) ; P" ] }, { "cell_type": "code", "execution_count": 167, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left [ \\left[\\begin{matrix}- \\frac{y^{2} z + z \\left(x^{2} - y^{2}\\right)}{x \\left(x^{2} - y^{2}\\right)}\\\\\\frac{y z}{x^{2} - y^{2}}\\\\1\\\\0\\\\0\\end{matrix}\\right], \\quad \\left[\\begin{matrix}- \\frac{1}{x \\left(x^{2} - y^{2}\\right)} \\left(2 x^{2} - 2 y^{2} - y \\left(x \\left(x + y\\right) - 2 y\\right)\\right)\\\\- \\frac{1}{x^{2} - y^{2}} \\left(x \\left(x + y\\right) - 2 y\\right)\\\\0\\\\1\\\\0\\end{matrix}\\right], \\quad \\left[\\begin{matrix}- \\frac{1}{x \\left(x^{2} - y^{2}\\right)} \\left(y^{2} \\left(3 x - y\\right) + \\left(3 x - y\\right) \\left(x^{2} - y^{2}\\right)\\right)\\\\\\frac{y \\left(3 x - y\\right)}{x^{2} - y^{2}}\\\\0\\\\0\\\\1\\end{matrix}\\right]\\right ]$$" ], "text/plain": [ "⎡⎡ ⎛ 2 ⎛ 2 2⎞⎞ ⎤ ⎡ ⎛ 2 2 ⎞ ⎤ ⎡ ⎛ 2 \n", "⎢⎢-⎝y ⋅z + z⋅⎝x - y ⎠⎠ ⎥ ⎢-⎝2⋅x - 2⋅y - y⋅(x⋅(x + y) - 2⋅y)⎠ ⎥ ⎢-⎝y ⋅(3⋅x\n", "⎢⎢──────────────────────⎥ ⎢─────────────────────────────────────⎥ ⎢─────────\n", "⎢⎢ ⎛ 2 2⎞ ⎥ ⎢ ⎛ 2 2⎞ ⎥ ⎢ \n", "⎢⎢ x⋅⎝x - y ⎠ ⎥ ⎢ x⋅⎝x - y ⎠ ⎥ ⎢ \n", "⎢⎢ ⎥ ⎢ ⎥ ⎢ \n", "⎢⎢ y⋅z ⎥ ⎢ -(x⋅(x + y) - 2⋅y) ⎥ ⎢ \n", "⎢⎢ ─────── ⎥ ⎢ ─────────────────── ⎥ ⎢ \n", "⎢⎢ 2 2 ⎥, ⎢ 2 2 ⎥, ⎢ \n", "⎢⎢ x - y ⎥ ⎢ x - y ⎥ ⎢ \n", "⎢⎢ ⎥ ⎢ ⎥ ⎢ \n", "⎢⎢ 1 ⎥ ⎢ 0 ⎥ ⎢ \n", "⎢⎢ ⎥ ⎢ ⎥ ⎢ \n", "⎢⎢ 0 ⎥ ⎢ 1 ⎥ ⎢ \n", "⎢⎢ ⎥ ⎢ ⎥ ⎢ \n", "⎣⎣ 0 ⎦ ⎣ 0 ⎦ ⎣ \n", "\n", " ⎛ 2 2⎞⎞ ⎤⎤\n", " - y) + (3⋅x - y)⋅⎝x - y ⎠⎠ ⎥⎥\n", "─────────────────────────────⎥⎥\n", " ⎛ 2 2⎞ ⎥⎥\n", " x⋅⎝x - y ⎠ ⎥⎥\n", " ⎥⎥\n", " y⋅(3⋅x - y) ⎥⎥\n", " ─────────── ⎥⎥\n", " 2 2 ⎥⎥\n", " x - y ⎥⎥\n", " ⎥⎥\n", " 0 ⎥⎥\n", " ⎥⎥\n", " 0 ⎥⎥\n", " ⎥⎥\n", " 1 ⎦⎦" ] }, "execution_count": 167, "metadata": {}, "output_type": "execute_result" } ], "source": [ "KerP = P.nullspace() ; KerP" ] }, { "cell_type": "code", "execution_count": 168, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[True, True, True]" ] }, "execution_count": 168, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[ (P@u).equals(sb.zeros(P.rows,1)) for u in KerP]" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "VPython", "language": "python", "name": "vpython" }, "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.6.5" } }, "nbformat": 4, "nbformat_minor": 2 }