{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# TP 1 : Calcul symbolique en Python avec SymPy\n",
    "\n",
    "Le but de ce notebook est de découvrir la bibliothèque `sympy` pour faire du calcul formel (symbolique) en Python.\n",
    "Les outils mathématiques que nous traiterons dans ce premier TP sont les suivants :\n",
    "- Représenter des expressions mathématiques symboliques (fonctions d'une ou plusieurs variables) à l'aide de variables symboliques.\n",
    "- Calculer des limites, dériver (dérivées simples et partielles), intégrer et simplifier des expressions mathématiques.\n",
    "- Résoudre des équations et systèmes d'équations.\n",
    "- Représenter graphiquement des fonctions explicites, implicites et des courbes paramétriques.\n",
    "- Obtenir des valeurs numériques approchées avec une précision contrôlée.\n",
    "- S'initier au calcul matriciel symbolique (opérations de base, déterminants, inverses, noyaux, images, valeurs et vecteurs propres).\n",
    "\n",
    "Pour plus d'informations, vous pouvez consulter la documentation officielle : https://docs.sympy.org/latest/index.html"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Cellule d'initialisation : à exécuter en premier\n",
    "%matplotlib inline\n",
    "import sympy as sy\n",
    "from IPython.display import display\n",
    "sy.init_printing()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. Symboles, limites, dérivées et intégrales\n",
    "\n",
    "Pour commencer, nous devons déclarer les symboles que nous allons utiliser avec `symbols`. Nous pouvons préciser les propriétés mathématiques de ces symboles (`real=True`, `positive=True`, `integer=True`, etc.).\n",
    "\n",
    "> **Attention :** pour SymPy, `sy.Symbol('x', real=True)` et `sy.Symbol('x')` sont deux objets **différents**. Une expression construite avec l'un ne sera pas modifiée par une substitution utilisant l'autre (et aucune erreur n'est signalée). Dans ce TP, on déclare donc toujours les symboles avec `real=True`.\n",
    "\n",
    "- La fonction `integrate` permet de calculer des primitives (`sy.integrate(f, x)`) ou des intégrales définies (`sy.integrate(f, (x, a, b))`).\n",
    "- La fonction `limit` permet de calculer la limite d'une expression (`sy.limit(f, x, x0)`). On note l'infini `sy.oo`. Pour une limite à droite ou à gauche, on ajoute l'argument `dir='+'` ou `dir='-'`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Affichage texte brut : 2*a**3/3 + 2*a/3 + 4/3\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAALUAAAAVCAYAAAAAT69HAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAABbRJREFUeJztm2uIVkUYx3+rdoHyUlZrpZRSRpCiogghZYWhaZc1hZCyjZKoTLYSRMke/5a1fpA0LIwsbyUhpPbB0hItE8XKu0lFoF0wzTQExbxuH2bWzh7Ped8z767v+q77/zJ7Zp6Zef7/OWdmnpl3y2pqamhGM5oSWhWzM0nPAU8DN/qsH4DXzGxZMf1oRtNGiyL39wcwDugF9AZWAUsldS+yH81owihr7O2HpIPAeDN7t1EdaUaTwZnth6T2QAUwGOgGXA8cB7YDc4A5Zna6oTqW1BIYDlwOrMthVw7sAd4xs+d93lTcTN8VuAo4CvwKLAVmmtmBhvIzCxpBu/NekyRIehRY4B9HmdnsHLZ1OIbwi24/hgPvAX2BDcB04BPgNmA2sEhSWQMQ6ybpMHAMmAVUmNn2HFUe9H4ujuS9AFwGfAnMAD4CTgKTgG2SOtXXz0AURbsISkGTOvD9zwQOZ6wS55iZXzRQ/Bl4AFgWnVUkTQC+BR4GhuIGqz74CegBtAWGAfMk9TezHSn2FcABYE0kr42Z/Rs3lDQFmACMB54NcUpSJW5WvcvMvgqpS/G0q0UpaBJtp8y3cwD3ko7NUC3OMTO/My+1ma1KatnM9kqaBUwB+hMbGEkjcMtuH+Ba3NfzC27ZmJPQ3nFfDrBRUh/cV/hkgsNtgLuBhWZ2KtLGWeQ8FnmCN6eUnxMUqh2E61cqmsQwBudzf5/mRBLHEH5ZTz9O+PRkrPPWwHygC/ANbnlZDHQGPpA0LkPbLYBLUsqGABcDSzL6eb9Pt2W0LwYStYOC9SspTSTdClQDM8xsTT57jxCOZ/HLe04tqRUw0j8ujxXXAB3NbG+szsu4JfkJYGokvxpYBvwOtAZG4L7ewSndVwBHgC9SfBuLCzTb4oKIfp5cdT5exUAe7SBQP4+S0cTzXwD8hptNsyKVYxZ+WS5fqnEBz2dmtiJaYGaHSdj4m9mfkvYAV8aKOgAf+vSQd2ZQvF3v/KXAQODzHEvPWKA88rwcqDSz/Rl4FQOp2kG4fiWoyStAT6CfmR3NUiEDx7z8cr7UksYALwE/Ao8llF8BjMbNtLcAbai7pdkctTezylz9xTAA90WmLkFm1sH7UQ7cjnuJNksaYmab0upJ2g3ckFK8WlI8b16g73m18zZB+lFCmkjqi5udp5nZ+jS7BOTkmIVf6kstaTTu6GQncI+ZHYyVd8ctD+W4CP9jXLR6ErcnHAlsDSATx1DcWW/eK3Qz2wcskbQJt2zPx82QaZgOtIvl9cAdI80DdsfKtuR393/k087bFKJfSWjitx3zfb8T8/kaQyaOufgl3ihKqgLeBHbgBuWvBJutuNllYPy4R9JkT2a0mb0dSKr2YmYf8J2ZDQqsuxk3GFeb2d8B9SppmOOrKvJo5+2C9CslTSS1A/7JaD7DzKp8vYI4xvmdNVP7iLsa9yUOSBLBH3R3B1YkDEg7XIADsDGrYzHcAbQne4QfxXU+PZXT6hwgi3berhD9SkmTY8D7KWW9cPvstbg7i+jWpFCOdfjVeaklTQQm48S8N2nZ9KjdwHeRdJGZnfD12wMLgY64ZXRLoHO1qABOA5/GCyR1BfaZ2aFYfgvgVeAaYJ2ZZZ0pGgQB2kFh+pWMJj4ofCqpTNIk3Es9L+GaPJFjKL/obz8exw3KKdyZ6ZiE4GC3mc01s/2SVuEOyDdIWom7OBgErPaO7cwRoafC3z49BKz3+6Y47gPekLQW2IXbh5YDd+LOe/cCo0L7rQ9CtAMI1a8UNQlFHo5B/KIzdWeftgSqUvr+Gpjr/34EmIYbiGdwP9550afDgO9DiXn0BjrhApckrARuwp1P9sQFN0dwwcIC4K08s+S5QKh2EKZfKWoSilwcg/g1+k9P45D0Ou4ev4uZ7Wpsf84HXAiaNCTHYv+TQBZUAFub6uAViAtBkwbjeN7N1M1oRn3xH36GW7mM8vh3AAAAAElFTkSuQmCC",
      "text/latex": [
       "$\\displaystyle \\frac{2 a^{3}}{3} + \\frac{2 a}{3} + \\frac{4}{3}$"
      ],
      "text/plain": [
       "   3          \n",
       "2⋅a    2⋅a   4\n",
       "──── + ─── + ─\n",
       " 3      3    3"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Code LaTeX : \\frac{2 a^{3}}{3} + \\frac{2 a}{3} + \\frac{4}{3}\n"
     ]
    }
   ],
   "source": [
    "a, x, y = sy.symbols('a x y', real=True)\n",
    "r = sy.sqrt(x**2 + y**2)  # r est une expression symbolique en fonction de x et y\n",
    "f = r**2\n",
    "\n",
    "# Intégrale double sur [-1, a] x [-1, 1]\n",
    "g = sy.integrate(f, (x, -1, a), (y, -1, 1))\n",
    "print('Affichage texte brut :', g)\n",
    "display(g)  # Affichage mathématique esthétique\n",
    "\n",
    "latex_g = sy.latex(g)  # Conversion de g en code LaTeX pouvant être copié-collé\n",
    "print('Code LaTeX :', latex_g)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAYAAAA/I0V3AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAItJREFUeJzt0iEKAmEUBOBPsWo2G8Tm3sBo3WAUzEZho/D4D+M5DN5DEIxG+1r+sKwurMXkwAszvGEmzKCua99i1CQppQ1WKLDEGKeI2HaacMzPT9yx+JQ0bPED5phg36teRJwbVbs8b0m98Df93DRoDjalVKLMdIo1rrhk7RERVXt7BXYtbZYPbqhecckbv7oYu6MAAAAASUVORK5CYII=",
      "text/latex": [
       "$\\displaystyle 1$"
      ],
      "text/plain": [
       "1"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAQCAYAAADNo/U5AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAARBJREFUeJyV0rFKnFEQhuHHxSqLGAikUhAkegcxYCXC4k3Yi0LAOsUwgq2FYm4gF5DY2qRSvAPdFcHOSlTElK6FZ+X46wad5oOZeWeGc76Rfr/vvTHaTGTmBDawhE+4wB9kRFzBSL0pM6dxiM/Ywwm+YgFdzEfEZXPTzwJ8j4idatgW1rGJlVZjSwfn2G0MC9xhOTPbraqwUHQ/Iu6fERG3OMAHfKuh2aK95uOUOC06U0PjRW+GQIP8x9aQhv9GDQ0mjb/WWOWva6hbdGYI9KVor4b+Fu1k5rOzM3MM8/iHo6diRJxhH1NYa2xJtPErIu6ajlj1aKPtzFzEMeY8/mEPP2h4r5wy6aVhfxtm2LfGAyqWUdwO0gBiAAAAAElFTkSuQmCC",
      "text/latex": [
       "$\\displaystyle 0$"
      ],
      "text/plain": [
       "0"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAKCAYAAAC9vt6cAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAPlJREFUeJyl0b8rxQEUBfDPe+wW/ANGlMkgqVc2MpgMZl4sGKz3XWVhZ7JYSBlZJL0sfpSUZJHBZKBM1q/BU883i9y6w7mdzjmdWymKwn+ms3zIzFmsoxeHmIuIj8ysYRN9uMB8RDxX2hNk5iDOsIB3bOMRK7jGLvYwjREMlxMsYy0iDlqCU7jBKY4iot7iNTPzErVqSWAAzW8QEffYQTdWS9xz9JcFoNzqEzrQ8wuvUhZ4wOg3yMwuLOEVG5lZaeOO4b5c4hBOsIgXX9+ooo5L7GPLV4kTGPqRICJuW46bOMYbpiPiDpMt1yuMYyYiCkXxt200GtV2/Amev3sqXLUVWAAAAABJRU5ErkJggg==",
      "text/latex": [
       "$\\displaystyle \\infty$"
      ],
      "text/plain": [
       "∞"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAACMAAAAKCAYAAAA+euenAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAUFJREFUeJzN0z9ok2EQx/FPWge3Tro6OGrXDqUUgo7i0Mkhcwyd1KFDl8sJLmYQF52yCFIoONZFWild+gdEWopLbdVBHCI4idvrkFheQzIEXsSDZ7jnubvny+/uakVR+F/sQtUFM7OBR7iMV2hGxM/MrKODq9jF3Yj4Us6tValMZs7iLZbxA89xggc4wAusYQnzmIuIc4CqlbmPhxGxPoC7jXfYxEZEtAZx25m5hzq2RsJk5idcmeDzlxHRKPnX8fSPExHHmdlFEytDuTu4NhYGH/FrApivI+6G+36KaVzC2VBcrRz4F0xE3JgAZJR9wAIOITNncA89PM7MemlGFrE6FqYCe4I3mdnDN/2t+owW9tDNzGf6A3xRqUUwVSVJRLzXV6KD1/iOpYg4wi19NfZxE3fKmwSKovinp91uT417+w1OfMep1jFLxwAAAABJRU5ErkJggg==",
      "text/latex": [
       "$\\displaystyle -\\infty$"
      ],
      "text/plain": [
       "-∞"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Calcul de limites\n",
    "h = sy.sin(x) / x\n",
    "display(sy.limit(h, x, 0))\n",
    "display(sy.limit(1 / x**2, x, sy.oo))\n",
    "\n",
    "# Limites à droite et à gauche\n",
    "display(sy.limit(1 / x, x, 0, dir='+'))\n",
    "display(sy.limit(1 / x, x, 0, dir='-'))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "La fonction `diff` de `sympy` permet de calculer des dérivées symboliques. On peut préciser la variable de dérivation ainsi que l'ordre de dérivation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Dérivée première : 2*a**2 + 2/3\n",
      "Dérivée seconde : 4*a\n"
     ]
    }
   ],
   "source": [
    "gprime = sy.diff(g, a)\n",
    "print('Dérivée première :', gprime)\n",
    "\n",
    "gsec = sy.diff(g, a, 2)\n",
    "print('Dérivée seconde :', gsec)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Plutôt que d'utiliser la fonction `sy.diff(g, a)`, on peut aussi utiliser la méthode `.diff()` directement sur l'objet symbolique et obtenir le même résultat."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAYAAAA/I0V3AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAMhJREFUeJyd0iFOA2EQhuFnmx6AC/QASDAYFOeoQWB7ABIYxmEQTRAVJST0Jg1JzwASTzA0DepHdKko3d3C5yYz78x8k6lKKf6qflsyM4eY1eFFREyh1wIMcI/P7dxOKDMrPOIdk70gjHCGcyw7ocw8xC3GETHf1bG3BfStjb/hsmGLX9e7xhFOI2LVBG0mZeZJ3f0uIhZNwAaq13rCK67aAKhKKTLzAB9dxbXGP56+8NBQdGzt8xkvWFRdv5eZNwj7vFGb/gV9AzYVN809QD4CAAAAAElFTkSuQmCC",
      "text/latex": [
       "$\\displaystyle 4$"
      ],
      "text/plain": [
       "4"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "gprime = g.diff(a)\n",
    "gtierc = gprime.diff(a, 2)  # dérivée troisième de g\n",
    "display(gtierc)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Pour une fonction de plusieurs variables, on obtient les **dérivées partielles** en indiquant successivement les variables de dérivation (et éventuellement l'ordre pour chacune) :"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFUAAAAVCAYAAAA3raI2AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAABRVJREFUeJzt2GuMXmURB/BfaT9QIVEpGAigSzQgBpWAQE2soUIhQFRA+UKy4I0SIpaCQqkKw3ARCEIVUSjWtEAkQNhgtTauGIlSbpZLuRaiBAposSAXg0KgdPnwnLecHt7z7rLspsT6//LszjMz75z/mWdmnjNhaGjI/zG22GxjB/C/iEkbO4AmMrMPj+GKiPjKOP3GFTgIO0XEf0bpY0/ciWMiYkF9b1JNaQoOwyH4OLbHq7gfC7EwItaNJoB3EzJzL/TjO6MlFCLirsz8Fc7KzGsi4qXOXv34H4GfYx/cgR9hALthAa7LzAmjDeJt4O/YFXPHyf85+DcuHQNf52JbzKoLJ3QaVWZ+Dlvgt/WMzMxt8RfsiC9HxMAYBLNRkJk742EsiIiZY+RzJd6jlJJ11I5/RPyxm1FEPJ2ZlylveF8lezsOf48ZGmRXGb0QR+P8iDi1kn8BJ+Bj2Ar/wl9xbUT8rNLp06Wm1uU4A+dhf2yJB3BGRCwZhoOvYQKu7ULOSbhQKQsXdtnfBffhjoj4bG3rmiqeGRhk5N3/tWpd25CfjHVKXZlYk/9QIfTyGqEzsVgh9DfVAyzFZHx1hHHAh5ST04erFIJ2w+LMnD6M7f54Hbd32bulWqe22P4EE3F8i92MjmDY7p+Zk3BU9e/v6nsRcW9mXqUQ2I9FmfldnITrcFxN/Vil8X0yItY0fmPr4eKoYV8lK7Nmf3UV28m4qeU5tsDuWNnSoO7Gy0pPadoeoZB2cUTc19heXq3rs3ckmXqekglLI2Kwy/5peAWRmccrZWIQ/V2mhbXezPr1iIhnRxBHB6twdsN+EE9g7x522yuZtrrbZkS8phC0Y2Zu15FXL+MirMHpXexeVJ7/gx1ZT1Izcxa+rRT3/pZgnlQmhT7liNyKwyPi1YbqL5WC/lBmzsvMQzNzm16/34IVEfF6F/mTeH8PuynV+nwPnc5R/nRNdjp2wJyKwG54DutPWyupVdb9GA9hekQ81yOYZ2p/fz0i/ttUiIiLlDKxShlBbsA/M/OmzPxUD99NvNAiX6t3krxcrZv30OmQug9k5kdxIm5TGmQbJtf8dw8iM2crWfeAQujTbd4y80ilMXV0TmjTjYgrI2KqkjWH4BdKLRocZda+HXTq+JQeOrdiyJvN6hKlZHwzIrp+JMnMzfC+mv+3kpqZczAPKxRC1zR1aroHY5FC/ifwCL5RjR+tiIgXImJpRBxT2W+lVujHCauVE9UaW0Q8j5XYs0qW/TA/Iu7p4XcXZUxb0RFsQGpmnqY0pruwX68GkpmfwfV4CgdGxDP4vjJRnN9Ff3rLjewD1fqWkjGWqDLtz9g6Mz/SQ3WZcgmaj2fxvWFcd7J6/dRRv/sfjTOVOe5mzMpMDTweEYsyc3cswYuYERGrq8Cvz8w78cXMnBYRN9dsb8BLmXk7Hlfe7jTspbzEPwwT/FhgAF/Cgfhbi84tmKlcKk6ssrcXDlA4W9wR1OfUnap1Ima3OPhTZi5TZsIhJUMfbejMxY24wIaD9KnVw+yBg5UxZBXm4NJqpBlvDCi17yj8tEXnsWpdrtT8VmTme3EollRTEGp3/00FmTkXP8Ae3WplZv5aaaJTI2J5c7+h+y1cjGkRsawj3xQ/Us9TLgpnNjeq5vR55eQMR+hk5VQO1AnlXfiRerwREa9kZj+mV7elKTgSH1bKwoM4ZQSu+nC5Mr1sgE3u+DdRfeiZr1wqbsTsiPjHO/H5Bl7p20dfES/FAAAAAElFTkSuQmCC",
      "text/latex": [
       "$\\displaystyle 2 x \\sin{\\left(y \\right)}$"
      ],
      "text/plain": [
       "2⋅x⋅sin(y)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEkAAAAVCAYAAAAKP8NQAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAABFpJREFUeJzt2FmsXWMUB/DfpQ+KhKgxpgpRhBBT64GoMQgheJHUlKgHVI3VCMsyv5jHUjGFlOSihkZDNIaaamhMlZAYGlotWmIKpR6+fdrtOGffm9tbUvF/+c5Z017f2mutb+2vZ+nSpf5HM1b7tx1YFTDkn3hIZg7HJ7g3Ik5cCfbvxSHYKiJ+HKCN3fAGTomIyXXekJrQMByFw7ATNsWveBd34+6I+GMgDqxMZOYeGINzBxogiIg3M/MxXJaZUyLihxavXm7H4k6MxGu4Hr3YEZPxcGb2DNCHL7A9Jg5QvwlX4HvcNgi2rsLGGFcn9rQad2buh7XwVD1jMnNjvI7NcUxE9A6CM4OCzNwWH2JyRIwdJJtzsKZSun9QK7eIeK6TUkTMz8zblTe2r5JdLYNH4EzsgPXwDT7CQxFxa01uuLaeVKfhElyNA7A23sMlEfFkH3s6GT14qMNmz8Y1Shle04E/Au/gtYjYp8aaUvlzIKbT/9Ptt2pdUnvIWExVAvRE5dA0DMVJ/bQLWyqZOhz3KxveEVMzc3Qfugfgd7zagTezWkd10b0Jq+P0LnoHtgh9nm6ZOQTHV3+frrFOVRr7zhGxoE1n/b7s1rCvkjVZ03+wetZ5mNHFr7WwC+Z0adhv4Welx7brHqsE4caIeKeNPatal2VXfzLpauXNTouI6W28JZZn2TJExNf9sNvCZ7i8TX86PseeDXqbKpkwrxMzIn5TNrx5Zm7SolfBvRYLcHEHve/wC7Zo0RozKTPH4RylOY5pYz+glNgHmTkFz2NmRCxsstkBsyPi9w70udirQW9YtS5qkJmpZMReeKSiXYzNcFIVkE74Fhu1/nTNpMw8HTfgA4yOiG/r/Ii4FicomTAOj+KrzJyRmbs3ON6OxV3oS5r8U0oJ1miQafWXkZCZ2+EsvKIcGN0wtGa/sxOZOV5pbO8pAZrfSS4i7ouIUcpbPQx3KW9uemZu0ODEYKDVB4c1yLyMpZY375uVEj0tIjp+tGbmali3Zv/vQcrMCbgOs5UALWiXaUdELI6IaRFxCu5RxoF9mrVWGPOwECMa/FqEOdgtM4/D/pgUEW832B2hjBWzW4S/BCkzL1Ia9ZvYv6kBZ+boLhP4htX6U4MjK4wqE17A+pm5TYPoS8qQPAlf48I+TLeybtmpWv92OwGXKnPHixiXmdrwaUTcU/1+FD9k5qv4VIn+3thDCfKzfTgzGOjF0TgYH3eRmYmxypB6VpVdTThIicHUFqF+um1VratjfBcDzyvlBBdUzu2KQ5Vj8zNMwG3VEbyy0av0juNxSxeZT6p1ltIzuyIz18GReDIi5rboPav6pVtmTsSV2LVTr8nMx5VDZVREzGrnt8megRuxd0S81KL/Fy7drlMGz0vbGVWzPlzJ7L4CNFS5peitB4h/6NJtZSIifsnMMRhdTdPDcBy2VsrwfZzfD1PDcYfl7WQZVvlya0f14T1JGVKfwfiI+HJFbP4JvcqIWozuWjIAAAAASUVORK5CYII=",
      "text/latex": [
       "$\\displaystyle 2 \\sin{\\left(y \\right)}$"
      ],
      "text/plain": [
       "2⋅sin(y)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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",
      "text/latex": [
       "$\\displaystyle 2 x \\cos{\\left(y \\right)}$"
      ],
      "text/plain": [
       "2⋅x⋅cos(y)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAE4AAAAVCAYAAADo49gpAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAABSZJREFUeJzt2H/sV2UVB/DXV8hFtsX6ktNBLdYPzdlsmIqbOplic5ajmm3ZxGShy4ywLGSpp9MPahlQZiKKqW21ZDFGGcVquZWaRkYzRWdtWloSGlLTNCXpj+e5cLl8PhcSfyzW2b473895znOec9/3/HruyNatW/2f/nva56V24H+Vxr7UDrxQlJnX42RMjognnqONw/FrzI6IZe21kSZVM3MU78YpeCsm4mn8Dtfi2oh49jk+x4tKmXkEbscFEbFoD22txFS8KSIeb+TtVD0NV+OoeuhXsQKHYhmWZ+bInjjxItIX8A8seR5sfREHYE5b2AbuPpyKSRHxgYiYHxGzcDAexHvxnufBkReUMvPNOBHLI+LJPbUXEb/CvTgnM7fhNbal8LMhGzdk5pXKWzxeicK2o0fiEzgGE7BJSe9lEbG8o/s+nIfDsC/+gO9gUUT8q6N7Kj6GQ/Bq/A2/xw0RcUXPs87CCG7oLmTmx7FQSeGFA9YPwp24PSKOay19F5/BdKxh97vqM5Vv6Rw0G7diRuUL8UPsj3M7ugvqw7xFAevy+oALsCYz923pno1VCmg/qHZXYxzO2oWvJ+LfuG3A2i2VTx2y9+sYo7zcQfumN4JddtXMHIuZ9eePW/JDcIVSS46NiLs7+ya1/j8a85WUPzIiNlT5fKzEO3GBAiKcozSmwyJiY8fuhB5f98PbcM+QTvobPKnU8e7e0xRgLouIOzvLayvfFoW7E3FfUhrE6ohY05J/WAH+c13QICIeav2cVfnnG9CqzhYlzZ/Fhzomttge6W27j/b4OlGJmIcHLUbEMwoIr83MAxt5BXwRNuKSAfv+jqfwukbWC1xmzlEe7F6c0Vluwv1HfTYqTal8pzoaEffhIUzOzFdV8bfxCqzPzMWZOSMzX7Mb54xW/liPTpN2R7dkl2AS5lWQBtEmpYajB7jMPA9fw3pMi4hNHZXxlf+5x8mGGkAGRkJLPh7q7HUm/qiMASvx18y8KTPf3nNO00Vf3qPTAHcUZObBOB+/xPU9+8a17A8GLjPnKoXyLgW0DQPUNlc+seewhpq3eMCQ9QM7eiLiWxExVYmiU3CNUmPW9ERfUw9Hh6xTmthW2zPmciW9PxIRAy/udQwZ37K/M3CZOQ+L8VsFtI1dnUpN1zq5x8mG1lV+/IDz3qikyf0Rsbm7HhGbI2J1RMzGdcpoclxXr9LDeAQHDXMkIh7DPTg8M0/HCVgaEeuG7an2RhRM0AEuMy9WmsEdOGEXhXiJUsAvrh12B2p3VXyz8ova0ZKZY/CV6sc1Lfm0IbeU/Sv/5yCHasT8HBPqCxlGN2M/LMWj+HSPLtuj86ZGsG0cycwz8VllBvoF5mRm18ADEXFddXJ9Zp6LK7EuM1cpA+oojlDGlGlV99bM/DI+hbsy83t4QonWQ+uDXNo6ZyUez8zb8IDyto+tdu/AT3secoVyy3mHMmAPoltwNl6J82sU9tFJCi6rGkE74iZXPgZzEQP+Pti2FhFXKzeGG5U0/KRybXsE3+jozsP7FXBnKkV/H1yE6RHxdEv9QmVsmKIM0mfhZZinlI+dxpQWrVBq0cwenfsrX6sV6YOodvoZuDEiHmzkI3vjh8w6WC/AlEG1KzO/rzScqRGxtrve0f0oLlOG/Jsb+d76IXMx/qSUnh2oNoR3YclugDZOufGsaIPGXvohMyKeyswzMK3eCkZxOt6gpPDdSr3dFb0eVyndfAfaK1O1S/WjwVJl9vwJ5kbEX/bE5n8AL+DOs6Lz6Z4AAAAASUVORK5CYII=",
      "text/latex": [
       "$\\displaystyle 2 \\cos{\\left(y \\right)}$"
      ],
      "text/plain": [
       "2⋅cos(y)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "w = x**2 * sy.sin(y)\n",
    "display(sy.diff(w, x))        # dérivée partielle par rapport à x\n",
    "display(sy.diff(w, x, 2))     # dérivée partielle seconde par rapport à x\n",
    "display(sy.diff(w, x, y))     # dérivée croisée : d'abord x, puis y\n",
    "display(sy.diff(w, x, 2, y))  # deux fois par rapport à x, puis une fois par rapport à y"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### À vous de jouer :\n",
    "- **Exercice 1 :** Soit $f(x) = x^3 + 2x^2 + 3x + 4$.\n",
    "  1. Calculer la dérivée de $f(x)$ par rapport à $x$.\n",
    "  2. Calculer la limite de $\\frac{f(x)}{x^3}$ lorsque $x \\to +\\infty$.\n",
    "- **Exercice 2 :** Calculer une primitive de la fonction $f(x) = x^3 + 2x^2 + 3x + 4$ par rapport à $x$, puis calculer son intégrale sur $[0, 1]$.\n",
    "- **Exercice 3 :**\n",
    "  1. Calculer la dérivée seconde de la fonction $f(x) = \\sqrt{5\\cos(x)}$ par rapport à $x$.\n",
    "  2. Soit $u(x,y) = x^2 \\sin(y/x)$. Calculer la dérivée partielle $\\frac{\\partial^2 u}{\\partial x \\partial y}$.\n",
    "- **Exercice 4 (Simplification) :** Simplifier l'expression $2x + x - 3x + 4 - 5$ à l'aide de la fonction `simplify` de `sympy`. Quand une expression issue d'un calcul symbolique semble compliquée, il est souvent utile de la simplifier pour mieux comprendre sa structure. Il existe d'autres fonctions dans `sympy`, comme `trigsimp` (expressions trigonométriques), `powsimp` (puissances), `expand` (développer) et `factor` (factoriser). Tester `expand` et `factor` sur le polynôme $(x+1)^3(x-2)$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exercice 1\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exercice 2\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exercice 3\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exercice 4\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2. Résolution d'équations\n",
    "\n",
    "La fonction `solve` de `sympy` permet de résoudre des équations symboliques (polynomiales, trigonométriques, exponentielles, systèmes d'équations, etc.). On définit une équation $A = B$ à l'aide de `sy.Eq(A, B)`.\n",
    "\n",
    "Dans l'exemple ci-dessous, nous déterminons les points d'intersection d'une parabole et d'une droite."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/latex": [
       "$\\displaystyle \\left[ \\left( 1 - \\sqrt{3}, \\  1 - \\frac{\\sqrt{3}}{2}\\right), \\  \\left( 1 + \\sqrt{3}, \\  \\frac{\\sqrt{3}}{2} + 1\\right)\\right]$"
      ],
      "text/plain": [
       "⎡⎛            √3⎞  ⎛        √3    ⎞⎤\n",
       "⎢⎜1 - √3, 1 - ──⎟, ⎜1 + √3, ── + 1⎟⎥\n",
       "⎣⎝            2 ⎠  ⎝        2     ⎠⎦"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x, y = sy.symbols('x y', real=True)\n",
    "parabole = sy.Eq(x**2, 4*y)\n",
    "droite = sy.Eq(x, 2*y - 1)\n",
    "sol = sy.solve([parabole, droite], (x, y))\n",
    "display(sol)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. Représentation graphique de fonctions symboliques\n",
    "\n",
    "La fonction `plot` de `sympy` permet de représenter graphiquement des fonctions symboliques sur un intervalle donné. Attention à ne pas confondre `sy.plot` (qui prend une expression symbolique) avec `matplotlib.pyplot.plot` (qui prend des tableaux de valeurs numériques). On peut représenter plusieurs fonctions sur le même graphique."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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bZiZuyLWdIUTAKWuEbvEnrqG0RE2q4VMzzq74B38kMTOBIYPH86f//xn+vTpww8//EBlZSXff/89t956KwkJCXz66adccMEFeocphOiEfqnRpMTYqWt0sjb3iN7hGEtIGKQOUscB0M/O3cPOdIUTYKqpWGjRy+5I8PaINERi9/DDDzN+/HgiIyOJj4/v0H00TeO+++4jIyODiIgIpk2bxs6dO30bqJ+VlpZyySWXEBsbS3x8PJMmTSI8PJyIiAhycnL47W9/y7PPPsuKFSs8mx5PmTIFi8XS6uOGG27Q+Tvpurlz59KzZ0/Cw8PJyclh1apVxz3/gw8+YODAgYSHhzNs2DC++OILP0XqX515Xl599dWjfiY6WnlsFkuXLuXss88mMzMTi8XCJ5980u59Fi9ezOjRo7Hb7fTt27fNbex8yWKxMME1HeuLfnadfU4WL1581M+JxWKhoKDA67F1iGc61nvr7B555BFOPvlkYmJiSE1NZfbs2Wzfvr3d+53o64qnIjYlqktx+1K7z4l7KjaxObEz8muKe53difSye/bZZxk+fLhnV4lx48a1OytmpL89hkjsGhoa+PWvf82NN97Y4fs8/vjjPP300zz33HOsXLmSqKgoZsyYQV1d4MyrX3LJJWzevJkFCxYwb948li5dyvXXX9/muS33jrvuuuvIz8/3fDz++OP+Ctmr3nvvPW677Tbuv/9+1q5dy4gRI5gxYwZFRUVtnr98+XIuvvhirrnmGtatW8fs2bOZPXs2mzZt8nPkvtXZ5wXUtjctfyb27zf/9FZL1dXVjBgxgrlz53bo/L179zJr1ixOO+001q9fz6233sq1117LV1995eNIW2teZ1fi9Wt39jlx2759e6ufFd2KtTJarLPzkiVLlnDTTTfxww8/sGDBAhobG5k+fTrV1dXHvI83Xlf2HFbX72vAEbvjPieNtVCZr0782YidUV9T3L3sTmQqtnv37jz66KOsWbOGH3/8kdNPP51zzz2XzZs3t3m+4f72aAbyyiuvaHFxce2e53Q6tfT0dO2JJ57wfK6srEyz2+3aO++848MI/WfLli0aoK1evdrzuS+//FKzWCzawYMHj3m/yZMna7fccosfIvS9sWPHajfddJPn3w6HQ8vMzNQeeeQRTdM0rby8XAO08vJyTdM07YILLtBmzZrV6ho5OTnab3/7W/8F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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "f = sy.cos(x**2)\n",
    "sy.plot(f, (x, -1, 3));\n",
    "sy.plot(f, sy.sin(x**2), (x, -1, 3));"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Pour représenter l'ensemble des points vérifiant une équation implicite $F(x,y) = G(x,y)$, on utilise la fonction `plot_implicit` de `sympy`. Par défaut, la fenêtre de tracé est $[-5, 5]^2$ ; on peut la préciser avec `(x, xmin, xmax), (y, ymin, ymax)`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cercle = sy.Eq(x**2 + y**2, 4)\n",
    "sy.plot_implicit(cercle, (x, -3, 3), (y, -3, 3));"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "On peut superposer deux courbes en différant l'affichage (`show=False`) puis en utilisant la méthode `.extend()` :"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "p1 = sy.plot_implicit(sy.Eq(x**2 + y**4, 4), show=False)\n",
    "p2 = sy.plot_implicit(sy.Eq(y**2, x + 1), show=False)\n",
    "\n",
    "# Fusionner et afficher les graphiques\n",
    "p1.extend(p2)\n",
    "p1.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Pour représenter des courbes paramétriques $(x(t), y(t))$, on utilise la fonction `plot_parametric` de `sympy`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "t = sy.symbols('t', real=True)\n",
    "xt = sy.cos(t)\n",
    "yt = sy.sin(t) + sy.sin(2*t)/2\n",
    "sy.plot_parametric((xt, yt, (t, 0, 2 * sy.pi)));"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### À vous de jouer :\n",
    "- **Exercice 5 :** Représenter graphiquement la fonction $f(x) = x^3 + 2x^2 + 3x + 4$ sur l'intervalle $[-10, 10]$.\n",
    "- **Exercice 6 :** Représenter graphiquement la courbe implicite d'équation $x^4 + 4y^4 = 1$ en choisissant une fenêtre de tracé adaptée.\n",
    "- **Exercice 7 :** Représenter graphiquement la courbe paramétrique $x(t) = \\cos(t+t^2)$ et $y(t) = \\sin(t)$ sur l'intervalle $[0, 2\\pi]$.\n",
    "- **Exercice 8 :** Déterminer les points d'intersection du cercle d'équation $x^2 + y^2 = 4$ avec la droite d'équation $y = x+1$. Afficher les coordonnées exactes des points d'intersection, puis représenter sur un même graphique les deux courbes pour vérifier visuellement votre résultat.\n",
    "- **Exercice 9 :** Calculer l'intégrale double de la fonction $f(x,y) = x^2 + y^2$ sur le domaine triangulaire $T = \\{(x,y) \\in \\mathbb{R}_+^2 \\mid x + y \\leq c\\}$ avec $c>0$, puis tracer le résultat obtenu en fonction de $c$ sur $[0, 5]$.\n",
    "\n",
    "  *Indication :* déclarer `c` avec `positive=True`. Dans `sy.integrate(f, (y, 0, c - x), (x, 0, c))`, c'est la variable du **premier** couple (ici `y`, dont les bornes dépendent de `x`) qui est intégrée en premier."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exercice 5\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exercice 6\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exercice 7\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exercice 8\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exercice 9\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4. Évaluation numérique et substitution\n",
    "\n",
    "- La méthode `.evalf(n)` permet d'obtenir une valeur numérique approchée d'une expression symbolique avec `n` chiffres significatifs (par défaut 15).\n",
    "- La méthode `.subs(ancienne_var, nouvelle_valeur)` permet de remplacer un symbole par une valeur numérique ou par une autre expression symbolique.\n",
    "\n",
    "> **Attention :** `evalf(n)` donne `n` chiffres **significatifs**, et non `n` chiffres après la virgule. Pour obtenir une précision de $10^{-18}$ sur un nombre de l'ordre de $1$, il faut donc demander au moins 19 chiffres significatifs (on prendra un peu de marge)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAADIAAAAaCAYAAAD1wA/qAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAA25JREFUeJzF2F2IVVUUB/DfjFqBYUmiUhg0lEHWQ2X0IqZR9qF9jNJj9dRLhBgJoRSrVVj2VFmEUKAVFQhlgU5aYVSDfVBYFhFFmBQxU0zRQxTlOD2cI87cOffLuRf/cNnnnr332v//Xmuvte/tGRsb0w4ys70JDRARPZ2y1dOOkMy8HFdExNZOEegUetscvxK7u0FkqmhXyLkR8VNXmEwRLQvJzHkY6iKXKaEdj9yAgW4RmSraEXIlPu4WkamiJSGZOQOjEXG0y3xOGNNbHLcEg1Udmfk4FmMh5uBvHMYbeCYiRpoZL8/fL3gWD6FfkSEvwTn4F19hG7ZVbWiroXUd9tbpuxcz8Q6ewss4UhI6mJkLWrB/S8nlddyG5xSh/AmexGu4GM9jR2ZOKqQTPJKZveiNiCM142ZHxB91SMyKiH9qX2bmJmzEBtzdREg/RvABenAzdo/f+czciE+xBqtLcZOFZOZsvFp+Xhj3vg8/1GNQJaLEjlLIBY0UZOYsXI1XImIU++qsM5SZW7EJy2qFjA+tRRjGqhobq5xYNb+pbA82GbcKp2BnCzb/K9vaiDnukYgYzMxhfJaZMyLi2KSLImJLsxUycz1OxxmKw79EIWJzk6n9+AtvN7E/HXeUX/fU9k847BHxvaJ6Ly0nzywXaQXrEVinELEHKyLitwbkTsP1eKtBiB7DZsWBH4iISYmnKmvtcjy8rsG7TRYAETG/vJbPVxzGPhzIzMsaTLtW4cWGYZWZa3EfvsXtVWPqCVlZPi/De40WqUVEDEfETqzAWXixwfDVihpR9wxm5j2KtP4NlkfE71XjqoR8iLmZeSFObcHllYiIw+XiizJzTgXBaYqEsC8i/qwjYh2exteliLqX1klCyhqyFw/gi/YlTMDZZTta0bdU4bHKsMrM+/FEyWF5RPzaaKF6V5RdilqyodHkzFyI4dodLQvrI5iL/XWKaT+O4s0Kuw/iYXyuSBiV4TQe9YQM4EBE/Nxk/o14LDMHcUhRnefhKsVhH8JdFUR7cCs+iojhmr47SxGjijBfm5m1Jn6MiO1NhUTESGauaSKCIqOdr0i3l+JMRbr+Di9hS53dXIwFintULc4r22mKVF6F97F9/Iu2/nzoFDLzUUXY9kXEoU7YbPc3e6fQjy87JYKT5JFu4GR5pOP4H7eQHVxrSmC2AAAAAElFTkSuQmCC",
      "text/latex": [
       "$\\displaystyle \\frac{\\sqrt{3}}{2}$"
      ],
      "text/plain": [
       "√3\n",
       "──\n",
       "2 "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEIAAAAUCAYAAAA5g+sCAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAA+dJREFUeJzt12mIllUUB/DfaEkWlaRFYURFKUlgmIVBVkIWUcRAEgRlJC0oLUS2CMXptEIrRFm0UYFR0jBIZgiREBa2YVCZtNBi0b4YVmbW9OE+z/TO6/vOTDNCI/T/ch7Oufd/zz333HvO09HT0+N/MOq/dmCkYKf/2oHBIDMfxyk4KCJ+GQbPkXgDF0TEw422jpF+NTLzKLyKhRFxV5NtDo7HEZiK3bEkIs7uh68bM3BoRGyq9TvC1bgZP+P+FrZrcbESiC8GyXcr9sWljcoRHYjMnIQTsTQifmsx5HJMwh6YPxjOiHgN63FRZvbuf5s3IjOPxhU4FhPwA97GwxGxtGHcmcppTMUYfIgncVdE/N6C93RchinYC9/jAzwdEYvb+D0PHXi6zaZWNfC3oWiJp3A9ZmMlTRmRmRfgFXRW8k48h32woGHcLZVzhymbv7dy+BaszMwxTbwXYpkShGcr3hUYi/P6cfhE/Ik1/2aXg8DLlZxdK3ozIjOnYLFyH2dGxLuNMzNz/0oeg0XYgKMj4qtKvwjdOA0LlaDUuAhbMDUivmnindDK08zcTbn77w2nUrTB65U8rlY0ZsR8JTA3NgcBIuLz6nNeJW+qg1DZtypX6i+c32LxrfijBe93bZydiNH4so19yIiIjdiMA2pdYyBmVPL5AXimVfLFFgu8j89xUGbu2WBagl2xLjPvzszOzNx7gHXGV/LHAcYNFT8obyD6BmJcJQcqQ/UG251Ura/5VPX/XHyqlK1ufJ2ZqzJzehueukrsMoA/Q8XYhjX6BOKnSk4cgGBjJfdtY9+vaRyIiCciYoZy0qfiEeWOrmyTHfVbMr6FbVioyua4hjX6lM81mK60suv74VmrXI8T8FHTAodgf3wcET+1mlzpV2BF5dA8JSBdTUO/xLeY3N+mhojJSpV7q1Y0ZsT9yoN2XVVB+qCuGni0ktc2nmRmjsYdFecjTXNnZWZHC4f2qeSvzYaI6MFLmFAFeHuifg97+5DejIiIdZm5AA9gbWYuUxqe8ThKKauzIuKVzLwNV+GdzHwGvyiZdDhW4/amhbuxKTPX4BPlNGZWvG/ihTYOd+EMnKw0bH2QmZ1Kz8M/V/WYzHys+v4uIha24D1J6U+W1Yo+DVVEPKR0lMuV1L8Spyspel/DuKtxlhKoucoDOErp/WdHxJamha9Ravc0pTE7DzvjaiW425TVCl3KPZ7bxn6E8gifqwQLDm7QzWmeUFWzTiyPiA21fkf4+1ykNGfTImLtduC7BPcoTePqWj+if7oq3I3PcMNwiTJzrNIVdzUGgR0gEBGxGefgjartHg4OxIPKL0Af/A3JokNxXtldxwAAAABJRU5ErkJggg==",
      "text/latex": [
       "$\\displaystyle \\cos{\\left(1 \\right)}$"
      ],
      "text/plain": [
       "cos(1)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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",
      "text/latex": [
       "$\\displaystyle 0.54030230586814$"
      ],
      "text/plain": [
       "0.540302305868140"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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",
      "text/latex": [
       "$\\displaystyle 0.540302305868139717400936607443$"
      ],
      "text/plain": [
       "0.540302305868139717400936607443"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGAAAAAXCAYAAAD0v0pBAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAtdJREFUeJzt2U2IVWUYwPHf5OxUkFYFfUAtdNdAizTESgmCCIcoCunDNi2qRcYgSOLDs3LlV5+4iHTRVqi2hS2aLAZKpKhFHwahEMIoDJVUjItzZrpzPOL9OLe5R/3D4Vze87zP+d/3ve/HOXdsfn7eDZaP8UEqZ+YuPI61uIgvsSsivm3A7brgpgHrP4h3cD824x98kpk3D5j3umGsySkoM1fhAiYj4uPGEl/DDDQF1bBaMapmG87bOjLzCTyACdyjaJsPIuKZzrimO+AQTuJEw3nbyG5Fw8/hN6yrC2qsAzJzPzZiY0T821Te5SIzt+N9PBQRn/WRYoei4X9UjITjdUGLHZCZr2EfpiJiX43QWpzCVxGxqXLtAJ4uZX/uQ3YgBnEfFhGx2OCZecW4zhEwXZ7XXyH2TazAK52FmXkITyka/4d+ZBugL/dRoLMDvsafuK8alJlP4mG8ERGnOsrfxrOYxGxm3lJemouIuWFJ19Cz+6iw+BwQEX9jBrdn5q0L5Zm5EvvxO/ZU6r+kWN0/xdmOY2q42kvp030kqC7C09iEDThWlu3BbXghIi50BkfEWD83zczTuLOHKpdt32royb0Hn+M1c/jRiNh+FZ+uqOsAiqF8LDPXKVbzEzjaxA1LfsJfPcSf6SJmEPeDWFMpm8DWsu7pyrWTXfh0RbUDvsC8/xaztxSL18sR0dgjc0RsaSpXB327R8TBalm5Dd2KI31uQ7tiybugiJjF97g3M7dhCw5HxDfDEmiKtrrXvYz7HCtxGOfw+v9qNBitc697Ep7Gi1iFHeUvqy2MjHtmTiq257CwPd+QmUfKz+ciYqquA34pzzN4b1iCQ2KU3CfwfKXsrvKAXzF12evozPwIj2J9RMwMWbJR2ui+ZA0oF6/H8G5bvsACbXUfz8w7sA134zl8h53LatUlbXZfYByPYC/O40O8GhF/LKdUD7TZHQ3/JXmD3rkEkeMWoD3kXlUAAAAASUVORK5CYII=",
      "text/latex": [
       "$\\displaystyle y^{2} - y + 1$"
      ],
      "text/plain": [
       " 2        \n",
       "y  - y + 1"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAQCAYAAADNo/U5AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAARJJREFUeJyV0T9LmwEUhfGfwc2/QzUgiCDVycGCkwjdpX4HFxc3wUWX24uIOlb6DcTFybFQx+KokLEO4laRKA5iB0s65FViTDSe5XKHc8/huV21Ws171d24ZOYOZjCJD7jHBQ7xPSKqUGo6soIe/MQ37OMBX1HJzNEXSeiPiL/NdTJzE+tYw/KzpFaGQgfFnGhVr50WillpVe+xzip6MaAOZq4wbLc1YRXlhv0HFiPiCrpe+1NmljFbJPThS0ScvGpqMI/hN84iYqojU2E8xTSGOqUHI8X89wQiMydxGRG3TQklbGAYxxFx00hvHluZ+QvnqKoT/Ixx/MESz5Ef4aP6Tz5hEHfqAPawGxHXvIG8nf4D4URVGwd034wAAAAASUVORK5CYII=",
      "text/latex": [
       "$\\displaystyle 3$"
      ],
      "text/plain": [
       "3"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAbNJREFUeJy11btrFWEQxuEnmi6xsVLwUljE/yAqIagg2AhBECWgYGMRLVSiEIQMU1klEi8RCwsLW0FstfPKAZFgwEpLQYQYCIp4ORZ7ouuaI+bscWD5YGa/37477ze7Pc1m0/+K3jqbM3MCBzGAz3iKiYh4CWtqituNWezCXnzF/cxcDz3dbEtm9mMRIxFxr67yaqxTdGOB+m2pxgxe4Ak1DS1HZk5jCEMR8e03eGaexRTGI2Jqhc0DmMOziBiu1C7hCPZExOvlfFn5o9a6o424K1iLUxXwDA63wK/KtTL8OT5hcAXVh7APlyNirpS/hqMYwUJmbmiVliJi6aehEfEFDWzOzI0lQB+m8Q6TleeOKU7IA7wtXeNV5RStGcZO3GnlJrEJxyNisXxzRPRU37Ic1aO43PfBlurtOKM4Wrf+BvoX+GM0/TL1qsLEkxGx6lH+Y/wzcx5bcQK3cT0ixlYLZuUJfYg+3MB7XOgE3A6+3Pd+xedzoZvwN621gZudgtvBz+G7Dk1sC8/MURxQmNioA4bezNyCUWzDMczjfF0wxYTux0V8wF2cjoiP3YB39TdXjR9nDomdmqDkCQAAAABJRU5ErkJggg==",
      "text/latex": [
       "$\\displaystyle y^{2}$"
      ],
      "text/plain": [
       " 2\n",
       "y "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "display(sy.cos(sy.pi/6))       # Valeur exacte\n",
    "display(sy.cos(1))              # Reste sous forme symbolique\n",
    "display(sy.cos(1).evalf())      # Valeur approchée (précision standard)\n",
    "display(sy.cos(1).evalf(30))    # Valeur approchée avec 30 chiffres significatifs\n",
    "\n",
    "x, y = sy.symbols('x y', real=True)\n",
    "f = x**2 + y**2 - x*y\n",
    "display(f.subs(x, 1))\n",
    "display(f.subs(x, 1).subs(y, 2))\n",
    "display(f.subs(x, y))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Fonctions sans primitive élémentaire\n",
    "\n",
    "Certaines fonctions n'ont pas de primitive s'exprimant à l'aide des fonctions usuelles. SymPy peut alors :\n",
    "- exprimer le résultat à l'aide d'une **fonction spéciale** (fonctions de Fresnel, fonction d'erreur `erf`, etc.) ;\n",
    "- ou renvoyer l'intégrale non évaluée.\n",
    "\n",
    "Dans les deux cas, `.evalf(n)` permet d'en obtenir une valeur approchée. On peut aussi construire directement une intégrale non évaluée avec `sy.Integral` (même syntaxe que `integrate`)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/latex": [
       "$\\displaystyle \\frac{\\sqrt{2} \\sqrt{\\pi} C\\left(\\frac{\\sqrt{2}}{\\sqrt{\\pi}}\\right) \\Gamma\\left(\\frac{1}{4}\\right)}{8 \\Gamma\\left(\\frac{5}{4}\\right)}$"
      ],
      "text/plain": [
       "       ⎛√2⎞       \n",
       "√2⋅√π⋅C⎜──⎟⋅Γ(1/4)\n",
       "       ⎝√π⎠       \n",
       "──────────────────\n",
       "     8⋅Γ(5/4)     "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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",
      "text/latex": [
       "$\\displaystyle 0.9045242379002720814747884$"
      ],
      "text/plain": [
       "0.9045242379002720814747884"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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",
      "text/latex": [
       "$\\displaystyle \\int\\limits_{0}^{1} e^{- x^{4}} \\cos{\\left(x \\right)}\\, dx$"
      ],
      "text/plain": [
       "1               \n",
       "⌠               \n",
       "⎮    4          \n",
       "⎮  -x           \n",
       "⎮ ℯ   ⋅cos(x) dx\n",
       "⌡               \n",
       "0               "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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",
      "text/latex": [
       "$\\displaystyle 0.7363519308909749989931876$"
      ],
      "text/plain": [
       "0.7363519308909749989931876"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "I = sy.integrate(sy.cos(x**2), (x, 0, 1))\n",
    "display(I)            # fait apparaître une fonction spéciale (Fresnel)\n",
    "display(I.evalf(25))  # 25 chiffres significatifs\n",
    "\n",
    "# Intégrale non évaluée, puis évaluation numérique\n",
    "J = sy.Integral(sy.exp(-x**4) * sy.cos(x), (x, 0, 1))\n",
    "display(J)\n",
    "display(J.evalf(25))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### À vous de jouer :\n",
    "- **Exercice 10 :**\n",
    "  1. Évaluer numériquement la dérivée seconde de la fonction $f(x) = \\sqrt{5\\cos(x)}$ en $x = 1$, avec 20 chiffres significatifs.\n",
    "  2. Calculer $\\displaystyle\\int_0^1 e^{-x^2}\\,dx$. Quelle fonction spéciale apparaît ? Donner une valeur approchée de cette intégrale à $10^{-18}$ près."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exercice 10\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 5. Outils d'algèbre linéaire\n",
    "\n",
    "Pour une description détaillée des outils d'algèbre linéaire dans `sympy`, vous pouvez consulter :\n",
    "https://docs.sympy.org/latest/tutorials/intro-tutorial/matrices.html\n",
    "\n",
    "La classe `Matrix` permet de définir des matrices (à coefficients numériques ou symboliques) à partir d'une liste de listes (chaque sous-liste représente une ligne)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}1 & 2\\\\3 & 4\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡1  2⎤\n",
       "⎢    ⎥\n",
       "⎣3  4⎦"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\\left[\\begin{matrix}1 & 2\\\\3 & 4\\end{matrix}\\right]\n"
     ]
    }
   ],
   "source": [
    "A = sy.Matrix([[1, 2], [3, 4]])\n",
    "display(A)\n",
    "Alatex = sy.latex(A)\n",
    "print(Alatex)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "On peut construire rapidement des matrices particulières :\n",
    "- `sy.diag(d1, d2, ...)` pour une matrice diagonale,\n",
    "- `sy.eye(n)` pour la matrice identité $I_n$,\n",
    "- `sy.zeros(n, p)` et `sy.ones(n, p)` pour des matrices remplies de $0$ ou de $1$.\n",
    "\n",
    "On peut extraire ou modifier des lignes/colonnes par découpage (*slicing*, attention : les indices commencent à `0`), et effectuer les opérations matricielles usuelles : addition (`+`), produit matriciel (`*`), puissance (`**`), transposée (`.T`)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}1 & 0 & 0\\\\0 & 2 & 0\\\\0 & 0 & 3\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡1  0  0⎤\n",
       "⎢       ⎥\n",
       "⎢0  2  0⎥\n",
       "⎢       ⎥\n",
       "⎣0  0  3⎦"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}4\\\\5\\\\6\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡4⎤\n",
       "⎢ ⎥\n",
       "⎢5⎥\n",
       "⎢ ⎥\n",
       "⎣6⎦"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}1 & 2 & a\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "[1  2  a]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}1 & 0 & 4\\\\0 & 2 & 5\\\\0 & 0 & 6\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡1  0  4⎤\n",
       "⎢       ⎥\n",
       "⎢0  2  5⎥\n",
       "⎢       ⎥\n",
       "⎣0  0  6⎦"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "M et B :\n"
     ]
    },
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}1 & 0 & 4\\\\1 & 2 & a\\\\0 & 0 & 6\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡1  0  4⎤\n",
       "⎢       ⎥\n",
       "⎢1  2  a⎥\n",
       "⎢       ⎥\n",
       "⎣0  0  6⎦"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}1 & 0 & 4\\\\0 & 2 & 5\\\\0 & 0 & 6\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡1  0  4⎤\n",
       "⎢       ⎥\n",
       "⎢0  2  5⎥\n",
       "⎢       ⎥\n",
       "⎣0  0  6⎦"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "M + B =\n"
     ]
    },
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}2 & 0 & 8\\\\1 & 4 & a + 5\\\\0 & 0 & 12\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡2  0    8  ⎤\n",
       "⎢           ⎥\n",
       "⎢1  4  a + 5⎥\n",
       "⎢           ⎥\n",
       "⎣0  0   12  ⎦"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "M * B =\n"
     ]
    },
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}1 & 0 & 28\\\\1 & 4 & 6 a + 14\\\\0 & 0 & 36\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡1  0     28   ⎤\n",
       "⎢              ⎥\n",
       "⎢1  4  6⋅a + 14⎥\n",
       "⎢              ⎥\n",
       "⎣0  0     36   ⎦"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "M * C =\n"
     ]
    },
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}28\\\\6 a + 14\\\\36\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡   28   ⎤\n",
       "⎢        ⎥\n",
       "⎢6⋅a + 14⎥\n",
       "⎢        ⎥\n",
       "⎣   36   ⎦"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "M^2 =\n"
     ]
    },
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}1 & 0 & 28\\\\3 & 4 & 8 a + 4\\\\0 & 0 & 36\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡1  0    28   ⎤\n",
       "⎢             ⎥\n",
       "⎢3  4  8⋅a + 4⎥\n",
       "⎢             ⎥\n",
       "⎣0  0    36   ⎦"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "M^T =\n"
     ]
    },
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}1 & 1 & 0\\\\0 & 2 & 0\\\\4 & a & 6\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡1  1  0⎤\n",
       "⎢       ⎥\n",
       "⎢0  2  0⎥\n",
       "⎢       ⎥\n",
       "⎣4  a  6⎦"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "B = sy.diag(1, 2, 3)\n",
    "display(B)\n",
    "\n",
    "C = sy.Matrix([4, 5, 6])  # Vecteur colonne (3 lignes, 1 colonne)\n",
    "display(C)\n",
    "\n",
    "a = sy.symbols('a', real=True)\n",
    "D = sy.Matrix([[1, 2, a]])  # Vecteur ligne (1 ligne, 3 colonnes)\n",
    "display(D)\n",
    "\n",
    "B[:, 2] = C  # Remplacement de la 3ème colonne (indice 2) de B par C\n",
    "display(B)\n",
    "\n",
    "M = B.copy()  # copie indépendante : modifier M ne modifie pas B\n",
    "M[1, :] = D   # Remplacement de la 2ème ligne (indice 1) de M par D\n",
    "print('M et B :')\n",
    "display(M, B)\n",
    "print('M + B =')\n",
    "display(M + B)\n",
    "print('M * B =')\n",
    "display(M * B)\n",
    "print('M * C =')\n",
    "display(M * C)\n",
    "print('M^2 =')\n",
    "display(M**2)\n",
    "print('M^T =')\n",
    "display(M.T)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### À vous de jouer :\n",
    "- **Exercice 11 :** Calculer le produit $P = AB$ des matrices $A = \\begin{pmatrix} 1 & 2 \\\\ 3 & 4 \\end{pmatrix}$ et $B = \\begin{pmatrix} 5 & 6 \\\\ 7 & 8 \\end{pmatrix}$, puis le produit $BA$. Que remarque-t-on ?\n",
    "- **Exercice 12 :** Créer une copie de la matrice $P$ obtenue et remplacer sa dernière ligne par des $1$ en utilisant la fonction `sy.ones`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exercice 11\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exercice 12\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Déterminant, inverse, sous-espaces et éléments propres\n",
    "\n",
    "Les objets `Matrix` disposent de méthodes directes pour l'algèbre linéaire :\n",
    "- `.det()` : déterminant de la matrice,\n",
    "- `.inv()` : matrice inverse $A^{-1}$,\n",
    "- `.rank()` : rang de la matrice,\n",
    "- `.nullspace()` : base du noyau $\\ker(A)$,\n",
    "- `.columnspace()` : base de l'image $\\mathrm{Im}(A)$,\n",
    "- `.eigenvals()` : dictionnaire `{valeur_propre: multiplicité}`,\n",
    "- `.eigenvects()` : liste de triplets `(valeur_propre, multiplicité, [base_du_sous_espace_propre])`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "A =\n"
     ]
    },
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}3 & 1 & 1 & 1\\\\1 & 3 & 1 & 1\\\\1 & 1 & 3 & 1\\\\1 & 1 & 1 & 3\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡3  1  1  1⎤\n",
       "⎢          ⎥\n",
       "⎢1  3  1  1⎥\n",
       "⎢          ⎥\n",
       "⎢1  1  3  1⎥\n",
       "⎢          ⎥\n",
       "⎣1  1  1  3⎦"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "det(A) =\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAABoAAAAQCAYAAAAI0W+oAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAeVJREFUeJy91EuoTWEUB/Df0SkDjFAGZKAUA8UtjISUPKKrGBkwkJl3SLEsIxS5ZaCQm8dACQOkyC2RKIaEMiB51DXxNnAN9j46HefsYyBrsve31n+t/3p836oNDQ35H1KvMmbmapwpj+si4kQbzBJsxFSMxhs8xOGIuNfADasgmYCj+FSBOYArmIHr6MMjLMfdMtHOFWVmDacwiIvY1gYzrtS/w7SIeN9km4db2IezVRVtwHysxecOmIml//1mEoiIAXzE2IbuD6LMnIL96IuI2x1I4Dl+YGZmjmmJMQejcLOhq7cA6orhv8SuChIR8SEzd+AwHmfmZUWrJ2EZbmB9p4r2YDrWRMTXKqKS7AhWlAmvw06sxCv0N7f0N1FmziqrONR8LaskM7fjAvrLSkagBy9wLjMPNrD10qGO03iG3X9JMhcHcCkitjSZHmVmbxlra2Yei4gXjRmNxOTy/1tmtot9PDOPKy7JJiwt9QOtwIj4kpkP0KsYxW+i7zjZIfkZJfgOnqLR1uHld2w7pyb9D6h123WZuRehZQVl5iqcVzzYnoh43WRbhKtlAeMjYrBy13WRC4p3sgBPMvMS3mKKoq017IyIQSp2XTeJiJ9YjM14rJjHVszGNSyMiL4Gvmvr/pX8AqYcribizU4LAAAAAElFTkSuQmCC",
      "text/latex": [
       "$\\displaystyle 48$"
      ],
      "text/plain": [
       "48"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "A^(-1) =\n"
     ]
    },
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}\\frac{5}{12} & - \\frac{1}{12} & - \\frac{1}{12} & - \\frac{1}{12}\\\\- \\frac{1}{12} & \\frac{5}{12} & - \\frac{1}{12} & - \\frac{1}{12}\\\\- \\frac{1}{12} & - \\frac{1}{12} & \\frac{5}{12} & - \\frac{1}{12}\\\\- \\frac{1}{12} & - \\frac{1}{12} & - \\frac{1}{12} & \\frac{5}{12}\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡5/12   -1/12  -1/12  -1/12⎤\n",
       "⎢                          ⎥\n",
       "⎢-1/12  5/12   -1/12  -1/12⎥\n",
       "⎢                          ⎥\n",
       "⎢-1/12  -1/12  5/12   -1/12⎥\n",
       "⎢                          ⎥\n",
       "⎣-1/12  -1/12  -1/12  5/12 ⎦"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Vérification A * A^(-1) =\n"
     ]
    },
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}1 & 0 & 0 & 0\\\\0 & 1 & 0 & 0\\\\0 & 0 & 1 & 0\\\\0 & 0 & 0 & 1\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡1  0  0  0⎤\n",
       "⎢          ⎥\n",
       "⎢0  1  0  0⎥\n",
       "⎢          ⎥\n",
       "⎢0  0  1  0⎥\n",
       "⎢          ⎥\n",
       "⎣0  0  0  1⎦"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "B =\n"
     ]
    },
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\left[\\begin{matrix}2 & 1 & 1 & 1\\\\1 & 3 & 1 & 1\\\\1 & 1 & 1 & 1\\\\1 & 1 & 1 & 1\\end{matrix}\\right]$"
      ],
      "text/plain": [
       "⎡2  1  1  1⎤\n",
       "⎢          ⎥\n",
       "⎢1  3  1  1⎥\n",
       "⎢          ⎥\n",
       "⎢1  1  1  1⎥\n",
       "⎢          ⎥\n",
       "⎣1  1  1  1⎦"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "det(B) =\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAA0AAAAQCAYAAADNo/U5AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAARBJREFUeJyV0rFKnFEQhuHHxSqLGAikUhAkegcxYCXC4k3Yi0LAOsUwgq2FYm4gF5DY2qRSvAPdFcHOSlTElK6FZ+X46wad5oOZeWeGc76Rfr/vvTHaTGTmBDawhE+4wB9kRFzBSL0pM6dxiM/Ywwm+YgFdzEfEZXPTzwJ8j4idatgW1rGJlVZjSwfn2G0MC9xhOTPbraqwUHQ/Iu6fERG3OMAHfKuh2aK95uOUOC06U0PjRW+GQIP8x9aQhv9GDQ0mjb/WWOWva6hbdGYI9KVor4b+Fu1k5rOzM3MM8/iHo6diRJxhH1NYa2xJtPErIu6ajlj1aKPtzFzEMeY8/mEPP2h4r5wy6aVhfxtm2LfGAyqWUdwO0gBiAAAAAElFTkSuQmCC",
      "text/latex": [
       "$\\displaystyle 0$"
      ],
      "text/plain": [
       "0"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "A = sy.ones(4, 4) + 2 * sy.eye(4)\n",
    "print('A =')\n",
    "display(A)\n",
    "print('det(A) =')\n",
    "display(A.det())\n",
    "print('A^(-1) =')\n",
    "display(A.inv())\n",
    "print('Vérification A * A^(-1) =')\n",
    "display(A * A.inv())\n",
    "\n",
    "B = sy.ones(4, 4)\n",
    "B[0, 0] = 2\n",
    "B[1, 1] = 3\n",
    "print('B =')\n",
    "display(B)\n",
    "print('det(B) =')\n",
    "display(B.det())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Valeurs propres de A :\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHsAAAAUCAYAAACtZULwAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAABUVJREFUeJzt2musXVURB/DfpSiiIOWhPOoHIUIQQR5FA0hL0VhQRBHpF2MkRmmMklpIQQFxOhpSIBEFTYRAQhX8AiEVCQQEBR+gaYQSeSjFxBZoaJECVpSKlvph7UOOJ/vs8+i+txj6T24m98xaa2at/1qzZ9beE5s3b7YNrw9st7Ud2Iapw/ZNysz8NBbg3dgJMyPiwSnwaxuGRGYuxgVYj9/h3IhYWde2L9mZeRCuxz9wI9ZgbZd+d3wSJ+EQzMDLeAjX4tqIeGXLp/OqvUtwJA7AHngJq/ETfD8i1rdlq4/9D+FMHI1dlcV9CJdHxG0t2TgNx+EwHIqd8eOI+ExDt3vwpqrPJ7AP3l/XsOlkH48JXBARV9To5+EHeBp34wnsiVNxDT6SmfMioq2k4Cw8gDvxDN6Co7AY8zPzqIh4siVb/4PMvBTn4Cn8FM/ibZiJOWiFbHxdIfnFytaBgzpExD0K4TLzfhyZmTtFxIu9bZvI3q2Sf+yjX4mP49buE5yZ52M5PqUQf9Mgh4fEWyNiY++PmXkRzsd5+FJLtrrHP0Mh+oeYHxEv9+jf0KK5sxSS/6yc8LtH7P8nHKFEnpHInlbJf9cpI+IXfX5fm5lX4iJl17dCdh3RFW5QyN6/DTvdyMwdlHk8oYboyq/a9RkHEfEquZk5zhAdX6bVKRsTtC1Ax+h/BjXMzKU4HZ+LiKVj2Dq5kn8Yo+8gfFgJ19/FK5l5Eg7GRiyPiN8OM0gLc2wFTWRPr+RLowyYmdvjs9W/t4/h06DxFymVwS5KwnasQvTFbdvC+yq5ESsUort9+RVOi4i/ToLtcdCJfrvUKWvr7MycwCxsVjLeUXCxsii3RcQdQ7Q/Tyntlg05/iIEFipE3465k7Tgb6/kOcpazFIy5PfiZ5itVCqDMOocx8WqSs6pU05036Bl5olK6JqtnJqrIuKLw1rKzAW4XEkUPhARz43l8nC29sQxyubaGR+LiAdatnEV5uNfODAiVnXp3ozH8A4cM2xIH8H2HCVBG1R6dfeZgXuVMngZHsfVHb97T/aJOFsh+mF8bwTnzlSIfhTHTybREBHrImIZ5mJ3/GgSzLxQyRXdRFf2/4lO5Kqta6caEbEGS5ScaZ6SuL6zo9+up/FCJd6fgnfhjsyszey6kZkLlY3xsEL02uYe7SEiVisb7D2ZuUfLwz9WyRf66J+v5I4t2x0LVQJ5pXIfcTDeWNXhqHlmR8SGiLhZKZlmKM+aJgNfxXfwoEL0M205PwL2qeSmlsf9ufKsPigz6/KbTsL2l5btjosPVnJxRDzSWxY2ZeOdxGy3fg0y80J8E/crSdLIoTsz91aiydMR8bc+bQ7Aul59RcC3lETqvoh4vke/1BaUPBGxOjNvUS6PvqJs6s7Yc3GCcuobq45h5tgSdq3kqjplE9mdXdEvYz9dIXoTfo0FNRcBq4ZY5CUqQtCv7UexJDN/o5yi9crV7HHYT7mzP6OmX8f3gfV+A76Mw3FZFSZXYF/lUbcJXxiCwGHmKDNPqcaFvSp5dLVp4dmIWNRgp3G+TWQPutPet5LTlDKoDr/UMLkRcJeSQxyrLPx05QXNSlyHK/pElUPwd9w6ruGIeCozZ+IbygmfjQ24BUsiYvm4Y9fgMGVTdGO/6o8SbZvI7qCWu4l+Hy9k5teUHXlqlfX+XyEzpysR4NsRce5WdmdKkJk3Kxtyr4hY16tvOtmPV/Lzmfl7rGnzleUUYJbyKLpsazsy2aju8A9VLlM2oPaCqelk76i8veq+Ijx828cLry1UHy9E10+LI6L2Lcp/Aehmzr1R4Jq6AAAAAElFTkSuQmCC",
      "text/latex": [
       "$\\displaystyle \\left\\{ 2 : 3, \\  6 : 1\\right\\}$"
      ],
      "text/plain": [
       "{2: 3, 6: 1}"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Valeurs propres de B (expressions exactes, parfois compliquées) :\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAB/0AAAAzCAYAAAB17Bu7AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAKhZJREFUeJzt3XnYJFV99vHvDCggIKCERRQFBcEEGRADKOAgssggDG74+qJgDERRBBRQQPPjNkEgIg4qvCgaB5EoxKiRYZGAiGwKIii7KIsiiGFfZZ33j1M99PTTS1V3VXdXP/fnuubqebqrT52qOnXO+VWdPjVj4cKF9EPS5sA2wBci4vG+EjEzAyQtATw96nyYjYOImDHqPJiZmZmZmRWVxfa7AaeOOi9mo+bY3szGia+/myWjaJ8l7QbMBM6KiAerXNeSRb8gaQvgOGBV4Fu4ojCzwW0GnBkRO406I2ZmZmZmZmbWl82A9/pmp5mZ2djx9Xez0bkX2B84UdJxwL9ExFNVrGhmkYUl/RPwU+AyYN2IOLSqjJnZtLITsGDUmTAzMzMzMzOzvjm2NzMzG09uo81GJCLOywbc7AzsDVwoafkq1pX7pr+kHYETgGMj4qMR8VgVGTKzaWlH4MxRZ8LMzMzMzMzM+ubY3szMbDy5jTYbsYi4EHgLsCFwehXrmLFw4cKeC0laCrgJeBTYMCI8pb+ZTSFpReA80qNDlgSOi4iTenxnTeCMiNiw+hyamZmZmZmZWS9F43vH9mZmZtXz9Xez+pP0OeAQ4D0RcVqZaef9pf/7gZcD/+Yb/mbWxcPAVhExC9gUOFTSi3t8Zw4eZWhmZmZmZmY2TorG947tzczMqufr72b1dzTwGPDPZSe8ZM7ldgOeAn5QdgbMbHJExDOkygpgKWBG9q+bnYAjqsyXmZmZmZmZmeXXR3zv2N7MzKxivv5uVn8R8aCknwE7SPrbiLiurLR73vSXtDTwJuD6iHiorBWb2WTKphi6EFgHOCgi7umy7DLABsDPh5M7MzMzMzMzM8sjb3zv2N7MzGx4fP3dbCJcAOyQ/Svtpn+e6f3XJw0OuLOslVo9SVpq1Hmw0ZL0/F7LRMQD2fOB1gLeK2nVLotvA1wYEc+WlUczMzMzMzPrzvG9lRzfO7Y3MzMbEl9/N5sId2SvG5SZaJ7p/dfPXp8oc8VWL5LeRpo25vxR52XSSFpYZnoR0Ws6n0HMkvSiiDgnRz7ulvRrYEvgex0W8/OEaqzssjsMFZ8fZmZmZmZjz/F9daZxfO/YvsbqGNuD43szM19/n3x1bKPdPufWmKFj/a5LFZTnpv9KZa7Q6kfS+sCuEfEPo87LpJH0OuDDEXHiqPOSR0RcLukLku6KiF+3fp6NKnwsIh6WtAKwFfD/uiS5PXBIRdm1CtWt7JqZmZmZmeP7KtUtRio5vndsX1N1K7dmZtOdr79PH26jJ96T2Wup9+DzTO+/fJkrtHqRNBM4CTh01HmZUHUcafdZ4ARJS7T57OXARdkIw4uAL0fENe0SkfRa4I8R8UBlObUq1bHsmpmZmZlNW47vK1fHGGng+N6xfe3VsdyamU1nvv4+fbiNnh5KvQef55f+fs7b9LYHcEdE/HnUGZlQa0bEH0ediSIi4kFJ1wJ7At9o+exyYFbOpHYCFpSaORum2pVds0klaSvgQOB1wEuAD0TE/DbLrQ4cBexI6lDeQhoxfOHwcmtmNvlcL9sYc3xfrdrFSCXF947t66125dbMBuf+an35+vu04jZ6eli6zMTy/NLfz1+YpiTNIE398u+jzsskyqbiqevFlm8AkjRIheSRajVV87JrNomWA64F9gMeb7eApBWBS0j9ujmk50XtC/xlOFk0M5tWXC/b2HF8X62ax0iDxveO7Wuq5uXWzAbj/ur04Da6ptxGTyul3oPP80t/m75mA2sCPxlxPibVW4GzRp2JfmTP/lsG2Bk4vej3Jb0YWCUiri89czYMtS27ZpMoIs4iOyclze+w2MHAXRHx/qb3bq04a2Zm05LrZRtTs3F8X6XaxkiDxPeO7WuvtuXWzAbj/urkcxtde26jrS++6W/dvBO4JiKeHnVGJtSmwLdGnYkBXEUqI4Vv+pMarXPKzY4NUd3Lrtl0NBc4R9JpwNbAncDXgeMjYuEoM2ZmNk3NxfWyDZfj+2rVPUbqN753bF9vdS+3Zlatubi/Wmduo+vNbbT1xTf9rZs3AZeOOhOTSNLzgGci4tmK0v848AXg/0bEf1SxDuBXpGdCtq57XeA0YE5E3NnhuzsB36woX1ahqsvuMAzp/DAbN2sD+wBfJD2Pbxbw5eyzr4woT2Zm05nrZRs2x/cVmdT43rH9ZJuE2B4c35tVzP3VMeU2erJNQhvt9nl0itz0LzQaXNJLgc8COwAvBu4CfggoIu4vklaP9byTFLzOAjYElgdOjYjdy1pHm3XuSe8K89mIWKLNd1cljYo7ISL2zd47GtgEWBdYmfQcndtJ++srEXFvaZnPSdLzSc/pqfSEHOT4Ne9L4HBgV9JzajYA1gCeBK4hHatvjlkluQVwcacPSygTm2Svv2yTdln77XZgFUmrRsTdWdq7kEagvTBL86Q2618SeCNtBgy0Wbav8lGk/imrDDadz7cBL+/wlbsjYrUc6e4OnJL9uVdEfL3Xd4aoa9ltkLQN8FFgc2Al4F5SuToum0Ksedk5pGeIvYbnjteVwLERcVnLsnvSZ/3bJNf50XRMC5eRIttkNiQzgV9GxCHZ31dJWgf4CA7WLadh97sHrfPr0u+2acv1sg3NuMf3NY/toUuMVFK70zZ+KXm/LRbf1zG2H3A9ju07KBLbZ8vnioVLiu0hx/kxSGxfZJvKUrdr3dn3F9vf7nNPDPdXx1Ad22hffy/M19/H9Pp7yW30MyVmbZGZBZZ9PO+Ckl5J2rkfAC4njQa7hXQALsueJ1KWT5MK9izgTyWm283VgDr8azwf7+wO392FtN+/3/TeAcCywP8AxwGnkgZZHA78RtLLSs19Pi8n5fPBitczyPFr3pfvIjVwmwK/AOYB/wX8HWnaodMlzSglx+XYHvhxl88HLROfIl3UubnNZ2Xtt0bZWAtA0lJZHueSKqy3dfjeG4ArI+KJHtsAfZSPPuqfsspgswdpXz8ckyP/LyN1nB8pmJdh6VV2kfRvwHmkxv1HpFF9ZwJ/Q3qWaPOyRwMLgI1JU04dR/qVyS7AJVkHrNnV9F//NuQ9PxoKlZE+tslsGO4CWp/jdgPp2b5meQ273301g9X5del32/TketmGadzj+zrH9tA9Riqj3ekUv5S53xbF9zWO7ftaT8axfRtFYvts+SKx8NUMHttDvvOjoZ9yOIr4vm7XumHq/nafezK4vzpmatxG+/p7Mb7+3sMIr7+X2UY/NnBu2sjzS//nZ693FUj3BGAV4GMR0ZjyBUnHkhr9I4APFUivmwOAO4DfkUZYXFBSuh1FxNWkgj+FpMYIkq91+PqupBE3P2t674UR8dc2aR0BHAocQppKp5CmETlbR8RPC359pez1oaLrLWiQ49e8L2cAOwNnNo9el3QoqeF5B/B2UtA7NJJmAjPbPDdxpR4zXgxUJiLiD13SLmu/NcrGitk6nyA1LEi6ENhG0tJttmOnxnI59FM+itY/ZZXBZg9ExOEF0mnkcQbpnL2X1OgdWDSNprT2pP/zv++yK2kv4CDgZGDviHiy5fPnNf1/NdI23g28NiL+0vTZ1qROxGeBbzfeH7D+baSR9/xoyF1G+tmmogY9tjZtXQK8uuW9dUm/tjDLa6j97hLq/KH0u10vW59cL1tuJdQz4x7fDyW2H1GMNHC70yV+KXO/LYrvaxzb97seGOPYPktvT/osu8OI7bO/C8XCZcT2WTp5zo+GQuVjGPF9B3W71g1T9/c4Xuu24txfrVjRMl3jNtrX39t/39ffnzNW19+7KLONvjt7fX7XpQrKc9N/9ez1hjwJZqN8tgNuA45v+TiAvYH3SfpERDyaM58dRcSinSpp0OQGImkDYDPSCI8plaqkFwJvBv4jIhZN3dCuE5Q5ndQRWqf83Pa0VPZayWiThn6PX5t9+ZN2y0XEnyWdSGpoZjPEm/6SVgK+k/07uen9tYHfd/vuIGWiqWI7JiIOavmszP3WKBtLt/lsQbaebZh6LuxIqiN6Klo++ql/SiyDZfhYlubs7HUk+i272WjTI4A/0KbDARARTzX92fjF0S+aG+dsuQskPUwanZgnz13r36blipwfi/LStEyvrJS2TWZ5SVoOeFX250xgTUmzgPuaOtlfBC6VdBjpuW8bkeqcQ4ecXauxcel356nza9bvtgnjetnG0NjG93WI7aH/GGnQdqdT/FLBfusU39cmtu9nPdlyju2nfq9obA8lxcJ5Y/ts2bznx6J8NC3TKyulbVNR49LnztbfV7/bfe7x5/7qRKhNG+3r71P5+ns9r7+X3EbfSZqxYgVJK0TEg4MmCPmm939D9pp3xMLW2eu50fK8sIh4mDRC7AWkwtGRpPmSFmajZepi7+z1Gx0qoZ1IozZ+kDO9xvQsvxk0Y31oPM5huRGsO48i+7JRybWOmKra35JG6+zU8n6RkXat8pSJjbPXX7X5rMz91igb7R79cUb2utgUQ5LWAp6IiDtzrL8fpdQ/OXXbl0tJ2l3SoZL2k7S1pK7PoZO0PnAU6Zk7rSMXh63fsrstqUH9PvCspDmSPpntg83bLH8z6TmTfy9p5eYPJG1FeibOeTnz3Kv+bSjr/OikzG0yy2sT4Krs3zKk6bauIo1qBSAiriBN//Zu4FpSgPAZ0uhsm8YmtM8N9ep32+RxvWzjZpzj+zrE9lB+fJ+33ekUv5S93zrF947tHdvnie2hvFg4b2wP5Zwf3ZQa37vfDbjPPU7cX60/t9Fuo339vcbtc3b+/DT7s1P/qrCuv/SXtAlpypYLI+K2nGk2pnz5bYfPbyaNBFoXOD9nmmNP0jLA7qRnqXy9w2K7Ao8C53ZI40BSoLUCqeHdgtQJOqrs/OZwX/b6whGsO4+u+7JB0pLA+7M/z6k6U80i4mJJdwO/lPS8phFWr4mIL+VJo88y0a1SLXO/NcrGva0fRMTvJN0EzGn5aA79D3jIY5j1T7d9uRpwSst7t0r6QERc2Lpwtr9PIY3QG/lo2QHK7uuz17+SAoW/a/5Q0s+Ad0bE/2bruU/SJ4Fjgesl/ZBUnl5Jmpryf4B/6pXfnPVvw8DnRzdlbZNZEdkUYjNyLHcm1dbBZpUrUOfXqd9tE8b1so2hcY7vxz62h8Hj+wHanU7xS9n7rW1879jesT05YvtsXQPHwgVjexjw/Ohlusf3ZfS73eceX+6v1p/baLfR+Pr7JLTP3wZ2Ad5HSTFOx1/6Kz3b4l+BhcBhBdJcIXvtNBVB4/0Ve6RzCLA+g4/KHJZ3k7bpnIj4Y+uHkpYGdgDO7jLF0YGkKVD2J3WCzgG2a+5ED9EfSKPAV+i14LDl3JcNR5EqvrMi4seVZ65FRNwM/BnYCkDSsqRKLa9+ysTGwCO0NLwV7LdG2eg03cwZwEslbdT03k6kqYeqUlb901WPfflN0rRKqwHLAhsAXwVeAZwtacM2Sf4zaYqsPSOi3cwJQ9dn2V0lez2I1HZsSRpZ91pSQ74V8J8t65lHerbkksBewKeAdwF/BOa3TtHTQdf6t0UZ50dXJW2TmdmwTFSfG2rZ7zYzq9pYxvd1iu1h4Pi+33ZnSvxS0X7rFt87tnds3zO2z9Y1j8Fi4SKxPQx+fvRUcnw/Hfvd7nObVctttNtoX3+vd/v8feBKYLeW87hv3X7pfxiwPXBoRFxSxsqKiIi7gLuGvd4BNKa2+GqHz7cljWzsWHAiYjUASauSHqtwFHCVpJ0iot2omEUk3UZ6lkU7F2jq8yVOjog9u+TlaUnX8tyzfYqus51TI2L3Ast30nNfAkj6GPAJ4EbSSJmeKtqmBaTG9nzgLRSYWqRomcgahnWBSyNiYcvHZe+3VwG3RcT9HT5fQOrcvy3L87KkyvOKbuuviY77MiJaT7ZrgQ9JeoS0Xw8njWgDQNKmpNGFX4iIy/rJTNnnf5OiZbcxkOxpYOemGWKukbQrcBPwJkmbN7ZV0sHA54AvAV8hdXTWA44ETpU0KyIO7rHeXvUv2boGPj/yKGmbGmndRjXH1swMmMg+N1TY73a9bGZVq6KeGeP4flSx/TBjJKC/dqdL/FLFfusW3zu2TyqP7bN0bqP8slt5bJ/lfdBYOFdsn61roPMjrzLj++nY7x6na91mo1Zh/e422tffwdffa9k+R8Szkt4NXAacLmnLiPjzIGlOuekv6TXAJ4F3AntHxEkF02yM5Ok0grzx/gMF0x1bkv6W1HG5Azirw2JvJz1noufUKhFxN/ADSb8ijYb5Fi3TdLQxj6mjp2aRpoY4Gbit5bOre+UDuIBU0XTye9I0InmV9RyZnvtS0keB44DrgW0i4r5Oy7aoYpsWkCrDA4DZpJFDhRQoExuSKv52Heey99vGpDLSySXA/aRG67OksvSTNpV9mYZV/+Q+n5ucSOp0bNV4I5tW6FukY/qZAfIzj/LPfyhedh/IXq+KlkfCRMRjkn4MfBD4e+AySbOBo4EfRMTHmxb/VdZJ+S3wCUknRsQt7VaYs/5tGOj8yKOMbWoxj2qOrZlZ7RSo86vsd8/D9bKZVWse1dQz4xjfVxnbz2M8YqTFFGx3OsUvVey3bvG9Y/vFVRnbQzVlt9LYHgaPhQvG9jDA+ZFXBfF9bZTd7x6ja91mozSP8su02+jF+fq7r7/Xrn2OiFuygSmnkR73cABwRr+zISx201/SCsB1pCkkto6Iy/tI86bsdd0On6+TvXZ65kcdNUa5fCMinmn9UNISpNFWP4mITtOeTBERt0u6HpglaeWIuKfLsvParHdPUqUzP9Jzeoo6HdhX0jLtpjyJiG36SHMgefalpP2BL5JGeG1TZCqPirbpImAVSa8Glhpk6pIcZaLxvJSrmt8se79JmkmqwP+1S16flnQO8B5Jq1H984RgCPVPv+cz0Ji6bNmm95bjubz+tc2IQICTJJ0EHBcR+7dboKLzH4qX3cb+f6DD541fjSyTve6UvU65uJR1Ui4njcrcCOjUQHetf1v0fX4UUMY2NX9nXut7/R5bSVV2+M1szEVEz+c11kDPOr/qfrfrZTMrS6d6ucK+/VjF90OI7ee1SW9Phh8jdcpfnnZnSvxSxX7rFd87tp+istgeKiu7Vcf2MHgsXCS2hz7Pj4JKje9rppJ+96iudbvfbcPSLe6uon53Gz2Fr7/7+nst2+eIuE3SG4D/IsVtXwQ+3v1b7S120z8iHpT0StJokp9KOiAiek6p1KKxo7eTNDMinm18IGl54I3AY8DP+8nwuFF6DsX7gGeAb3RYbCvgxfQ3bcVLstc8Hd5SRcTPJV0J7EgqbOOg676U9EnSVFFXA9t26zwOS9b4/hj4NKkSH1S3MtGoVFtHUpW9394M/IXe080sAP4PqSLeljTdUJWGUf/0ez5vlr02NzRP0Lne2JjUMF1Masz7nh6wX32U3fNJzxJ6Tev+zzRGcd+avS6Vvf5Nh/Qa7z/Z7sOc9W+zvs6PggbapipNyA0/M5umCtT5tel3u142s2Eaw/i+drE9lB7f92p32sUvVey3PPG9Y/vnOLafGtvDALFwH7E99HF+9GFs4/sqDaHfPfRr3e5324RzG/0ct9G+/t78fm3aZ0kvJd3sfwXwXuC/+01ryvT+2XQHe0m6AThR0osi4si8CUbE7yWdC2wHfAT4cnPeSaNsvhoRj3ZLR9LqpKlA7ippdGZz2vOBPYAPRMT8AZN7F7ASsCAi/thhmV2BZ2lzoCStC9zduo3ZSOt/AVYhPf+i03PTq3Zw9m8cLgpA9335GdI0NlcC20X+af+GYQFpmpeeU/8NWCY2Jk3JeH3L+2Xvt38Ajsgxsuts0vNlPgncEhEP5Ui7b2XVPz1025frA39oTV/SK0jPlgH4dlN+Hwf+sd1KJB1O6nScHBFfHyC/g8pddrMR22cAOwP7kUakASBpO2B70ijEc7K3LwI+Cuwt6asR8aem5d9K6iT+Fbi0wyrz1L/NCp8ffRh0m8zMhqrKPneW/nzK6XfnrfPr3O82M6vaOMX3dY3tIWeMVEK70y5+qWK/5YnvHdvj2B46xvYwWCxcNLaHgudHn0qN7yfsWjd02N/uc5sNndto3EaDr7/D+LXPOde/JmnAyV+BTSJioMeoTbnp3xARx0raFjhC0kURcXGBdPch7dAvSdoGuAHYFNiaNK3HYTnSOJKsswLM77SQpLnA3OzP1bLXzbPODsA9EdE6umlm9vp0jnz00pja4msd8jcjy99lkZ5f1GpH4EhJF5NG39wLrAq8CVgb+DOwVwn57EtE/EzS/pLWiYiby06/yPHrti8l7UEKbp8hnfQfazNVy20ldHz7dRbpOSt35Fi2rzIhaSngNcDVEfF00/ul7jdJa5BG5Z7ca0Mi4n5Jl5JGcp3Qa/k22zSX4ud3ofqnrDKY2Y30vJifAbcDDwOvJE2ttDSpHBzTa7vHTJGyC6mztxFwrKQ5pKl81iLtt2eAf2xqPL9H+jXJW4AbJP2AVL7XJ41OnQF8KiLu7bCurvVvs37Oj6Zl5pK/HA66TWaFKT2eaU5E/Meo82K1lKvPDSPvd/es8+ve77bJ4XrZxtW4xPc1j+0hf4zUd7vTLn6pYr/lje/rENsXWY9j+1yKxPYwWCycO7aH4udH0/fmUqwclh3fT8S1bui5vye2z+0+no2jOrTRvv7ek6+/j/b6e9XXxbqlNwM4jdRObjroDX/octM/cziwA+m5XrPzJpqN9tmEFHDsQGrs7wKOA1TySL5ZpAPSbO3sH6QTv3Unb0CqDAZ6vkk2qmgL4A7SidnOJsDLgHkdPj8PeFWWzkbAisCjpMrxFOBLYzCq/Z+AoyV9MCLKfgbSLPIfv277cq3sdQlg/w7rupAeJ21VIuJeSe/IuXi/ZeLvgOcxdeqUsvfbkcAHY+rUMZ2cQep09HO+zaLg+d1H/VNkHb3O5wuAV5OO2xtJIxsfIE0RdApwSgXnUKUKll0i4g5JrwP+mTTicCvgIVI5ODIiLm9a9llJO5I6Ku8hjfh7AXAfqU79UkSc2249OevfZv2cHw2zyFlGBtkmswFsB5wq6dRRZ8TGV5QzpeUsRtDvLlDnT0K/2yaD62XrqaR6uR/jEN/XNraHQjHSIO1Ou/iliv1WJL4f99i+yHoc2/dePndsny3fVyzcR2wPxc+PhlkUKIcjjO8L5TMzzGvd0H1/T3Kf230862qE/btxb6OLrMNtdO/lff19dNffc+czp51Jj6X4bkRcOXDugBkLF3Yv/5J+Rxops1ZE3FbGSkdJ0oqkEYZfiIiDh7C+z5Gm5Vg7Im7ttfy4krQe8LKI+J8R5mEi9uWwlbnfJG0JLBkRF/Rc+LnvrAf8KCLWHWTd48BlcPL4mNokkPQ14BMR8fCo82LWzP1um65cL9u4G3V87/q6P2Xvt6LxvWN7G2fT+ZgOu8+drXNa7m/38WxcuY22ceZj2pmk7wHvAHaMiLPLSHNm70W4JHudXcYKx8CWwFPAsUNa367Ar+temCPiRtJIzVGaiH05AmXut4uL3PCHRWVnvRLWPQ5cBiePj6nVWjYN1LK+6GBjyv1um3ZcL1sdjEF87/q6P2Xvt0LxvWN7G3PT+ZgOu88N03B/u49n48xttI05H9M2snblzdmfl5aVbp5f+h8BHAp8flijBc3MzMwMJG1GmjZqZdIUZT9q+XxTYPOImDeC7JmZTTuul83MzMwmj/t4ZmY2TJLWID064fGIeEFZ6eb5pf9T2evqZa3UzMzMzHqLiJ9HxIeBvYFt2iwyhwGf22hmZvm5XjYzMzObPO7jmZnZkK2WvT5ZZqJLFlh2mTJXbGZmZuNN0izgzoj4y6jzMukkbdvpubqSdgf2Aw5s8/E6EXFzpZmbQJK6T3U1BBExY9R5sPpxvTw8rpeHy/WymZmZjZr7eOUbdR/P/TszG2Ol/bq/WZGb/kWWNTMzsxqTtArwlog4ZtR5GaZBAtIBg8kHJL0rIv6zTbrflvRd4LvAhY33Jb0E+NMA65y2HPhbHbleLqaE89z18hC5XjYzM7NRcx+vfO7jmZl1tEQVifpGvpmZmbVzCHDEqDMxTJLeCSwXEY8Oe90RcYWkD0o6MyIea8rTHGB7YDngOy1f2xE4a4jZnBjZsT57FMfabACul4fI9fLwuE42MzOzUXMfr3zu45mZDZ9v+puZmdliJL0MWCMi7hl1XobspSMORs8D9gEW/Yo3Is6k83MDtwROHkK+JtGoj7VZIa6XR8b18nCM+jibmZnZNOc+XiXcxzMzG7KZo86AmZmZjZ13AReNOhPDJGkF4IERZ+N84L15FpT0fODZiHiq2ixNnjE51mZFuV4eDdfLFRuT42xmZmbWlvt4/XEfz8xsNPLc9O/72bZmZmZWS28Frh51JoZs4On6JB0v6Qf9fj8i7gdeJGn1pjQ3kvSRNovPpukZg1bIWEzNOGh5sWnH9XJBZZxjrpeHYizqZHC9bGZmNp25j1e6sejjuX9nZjVQ6j34PNP7P1HmCs3MzGw0JC0P/AuwK7AKcBWwX0Rc0bLoJsDvB1zXVsCBwOuAlwAfiIj5HZY9EfgrcDfwduDVpP7Hz4FDIuLaQfKS0yoR8ZcB0/g0sGj0f2O7ImJ/SYeQb9tuATYGzpT0ZmAe8ALg+Jbl3goc2S4Tefe9pH2Ag4DVgeuA/SPioqLptNnWw4FoWeTuiFitzfcOAT4HHB8RH22XdgWmHOvsht5RpAsTy5OOw4cj4sLs8yWAw4HdSfvrLuBU4PCIeDpb5jbg5W3Wd1ZEzGnzfrfy0nPf58mTjT/Xy10NWi8vdo7B9KyXSb+wylUnZ98bdr3c9ji7XjYzM7Mydet316WP12/cnX13uvbxesUE7uOZ2aiVeg8+zy/9Hy5zhWZmZjYyXwe2B/YANgDOBc6TtEZjgWzquhWBhwZc13LAtcB+wOOdFpI0A9gZ+CFpBP0JwBuANwNPZ/l70YB56UrScrTp70j6iKTfSHoo+3eZpHY3CYD0i9CIeCT7bvN2Qf5te5h0AYKI+AmwDfAKSeu3LNftZljPfS9pN+A4UtC/EXApcLakNYuk02FbAW4iBcONfxu0+d5mwN7Abzql3WF987MLHIW1O9aSVgQuAWYAc4D1gX2B5v37SeAjwMeA9Uj75CPAIU3LvJ7Ft3lj0mjd09vlpUd5ybPv8+TJxt9E18v9nq9l1MvN51j23elcL/esk7PvDbVe7nKcV8T1spmZmZWrY7+7Dn28fuPu7LvTto+XIyZwH8/MRq3Ue/B5ful/f/b6vDJXbGZmZsMjaRngHcA7IuKn2duHS3ob8GHS6GeAFwMLm4OifkTEWWRTuUma32XR1wNLARdHxPYteX4f8CDwRuCMQfLTku4rgaUj4rrsrR2Ac9osegcpuLuZNFByD+CHkl4XEYsFy5JeCvwRWD8ibmzeLoAC2/YwsHLjj4j4X0mXAjsBN2TfXY8U3LeVc99/HJgfESdlf+8raQdSWTikQDq0bmvm6Yj4c6cvKD3f71TgH5j664TS5DzWBwN3RcT7m967tWWZNwBnRETjWN0m6UfApo0FIuJ/W9b9QdJN2ikXHnKUlzz7vmeebLy5Xl4s3VLr5Tbn2GLbBdOqXp5Njzo5S6/yernAcXa9bGZmZqXJ0++uQR+vcNydpTdt+3g5YwL38cxs1Ab9gcdi8tz0bzRsK3ddyszMzMbZksASpKl+mz0ObNH092PADElLRcQwHvEzFzizw5Roy5Nu6tzf5rO+SHoesAuwLvCh7O2XRMSdrctGxH+3vHWYpA8DmzN1hPyGpH332+zvuXTeLui8bUsDj7a8t4B04eHz2d9zgDM7pNtT9qvh1wHHtHx0LimYLWouU7d1bUl3kqao+gVwaETc0vT514DvRcQFkqq68JD3WM8FzpF0GrA1cCfpVyDHR0TjuVoXA/tIWi8ibpT0GtIvgztN8zgD+CDw7Yho92uBouWlnUJ5srHkepnK6uXWcwymab0sCXrXyVBxvVzkOON62czMzMqVt989zn28uRSPu2F69/H6iQnacR/PzKqwVPb6265LFZRnev/rgWeANXotaGZmZuMpIh4GLgM+LWkNSUtI2p10o2T1puUeJAWMyw8pa7uw+PR0zY4DribluxQR8VREHAtsmO2DZegyRXJDtux7SFO/XdpmkVnANRHxbPZ3t+2Cztu2POkZ2s0WAG+UtFL290bAr3rluYuVSRc8WtdzN9D2+X89tG7rL4A9SaP798rSvFTSiwEk7QW8iud+xVyJAsd6bWAf0rMEtycdm6NI0/U1HA2cAlwv6SnScxhPjogTOqx+W2At4KQOn8+iWHlpp2iebMy4Xk4qqpdnsfg5BtO3Xu5aJ8Nw6uWCx9n1spmZmZUmb7+b8e7jFYq7wX08+osJ2nEfz8yq0Gh/ruu6VEE9f+kfEY9LugiYLelVEfG7MjNgZmZmQ/M+4N9J0yM/Qwpev0Maed7sFlLAeE/jDUn/ChzWI/2tm6bK60nSq0hB34/bfHYsacT9FhHxTIfvD5KnnwFbAS9st/6mdWxAujiwNPAIsGtEXNNm0Q1JN4u6blf2ebdtWxVYrK8VEddLuh14q6QFwENNo+BHqt22RsTZLcv8nFSm9pB0JulZhltExFM513EocGjTW0sBCyUd2PTeWyPiog5J9DrWM4FfRkTjeXxXSVqHdOHhK9l7uwHvB95L6ozPAo6TdGtEfKNNmnsBV0TErzvkKXd56aJonmw8TVq9PMj5Wma9vOgc67VdObat1vVytzoZOFbSqxluvZznOLteNjMzs7L17HePax+vaNyN+3gNhWKCLtzHM7MqvD57vaDMRPNM7w/peSizSdPbzCszA2ZmZjYcEfF74E2SlgVeGBF3ZdOqtU7/9mNScHRt03vzgG/3WMUfCmZpLnB+RCw2bbKkLwLvId2sas1bs0Hy9D3SqPgb20wX3ewmUkC3AvBO4GRJsyPi2pblZgHHZv+fS5vtgu7blk2LtxJTHx0Az00z+BRpKsBB3EO6yLFqy/urAl2fB9jGXDpsa0NEPCLpOmAd0i8pVgauy6achvTLh60kfQhYts305Sey+LP5jgb+BHyp6b0/dcljr2N9F2lmq2Y3APs1/f154JiI+G729zWSXk56BuNiQb6kVUi/Hmj+tUKrWeQoLz3kzpONrwmslwc5X8usl2fx3DkGrpcXaamTYfj1cp7j7HrZzMzMSlWg3z2Ofby5FIu7wX08KBAT9OA+npmVStKSpDrpT7SfUbZveW/6zyeN8jpI0lc7PAPPzMzMaiALcB7NpqzbHji4ZZEfAbsCpzZ95x6afmFakl2Ak5vfkHQcaRT11hFxY7cvD5KniLhC0peBTr/4ayz3JM/9wvNKSa8HDiA9M66R52WBV/LcCPIp25Ut12vbZgHndvglwQLgNNI0efu1+Ty3iHhS0pWkafD+s+mjbYH/Kphc221tJmlpYD3SyNUfAr9sWeSbwM2kXyE82Sa/9wH3NaX3MHBf3tmnchzrS4BXt7y3LnB7098vIF2safYM7R+VtSdpKvbvtFtZ3vKSQ5E82ZiboHq57/O1rHq5zTnWdruyZaddvdxSJ8OQ6+Wcx9n1spmZmVUiR797HPt4ReNumOZ9vCIxQQ7u45lZ2fYAXgIcUPaMMrlu+mdT/O8LfB8I4FNlZsLMzMyqJ2l7UlByI+m5bp/P/v/N5uUi4gJJ+0paotMUzjnWtVy2DrJ1rilpFilg/IOkvwE2I/1Ks/Gd40lT7s0F7pfUeMbdIxHxSD/56OEi4LyC35lJmuKu2Wuz19+02y7IvW3vAv6tw3ovJPXbVu+1L3rt++z9Y4FTJF1OCrw/ROpsnpg3nS7begxwBukXxqsAnwGWJT3z7gHggZblH83SbJ09oUzdjvUXSc8+PIx0cWcj4GMsPq3hGcCnJN1Kms5vI+DjwLeaE5I0A/hH4LtdjlOe8pLnGObKk40318tTlFEvLzrHAKZ7vdytTgYYUb3c6zi7XjYzM7NS5e13M2Z9PNLgg0JxN7iPR/6YwH08MxsqSWsDx5AGJR1fdvq5RyNFxA9Jv6A4SNKR2VSHZmZmVh8rkJ6TdiMpOLkY2L7D893mAW8fYF2bAFdl/5YBlP3/s9nnbyM9d+3upu/sAywPnE+a9q3xr/n5cWU6tNs01ZKOkrSlpFdI2kDSkaTHHZ3asuiGwM0R8Rjttwt6bJukFYAnIuLmdnnJftl6LnBOju3qte+JiNOA/YFPkzqZWwA7RsTtBdLptK0vJY20v4k0YPQJYLOWtIet47GOiCtIN/3eTZo6/QjSBZMTmhbblzRd4Qmk6Qe/AJzE1OepzyZNp3hSl7zkKS89j2GBPNl4c728uDLq5eZzDFwv16pOBtfLZmZmVolc/e4x7ONNRNwNQ+/j5Y0J3Mczs6GR9AbSAKl7SG1Bu2s/A/n/oqUcIR/OMEcAAAAASUVORK5CYII=",
      "text/latex": [
       "$\\displaystyle \\left\\{ 0 : 1, \\  \\frac{7}{3} + \\left(- \\frac{1}{2} - \\frac{\\sqrt{3} i}{2}\\right) \\sqrt[3]{\\frac{101}{54} + \\frac{\\sqrt{687} i}{18}} + \\frac{16}{9 \\left(- \\frac{1}{2} - \\frac{\\sqrt{3} i}{2}\\right) \\sqrt[3]{\\frac{101}{54} + \\frac{\\sqrt{687} i}{18}}} : 1, \\  \\frac{7}{3} + \\frac{16}{9 \\left(- \\frac{1}{2} + \\frac{\\sqrt{3} i}{2}\\right) \\sqrt[3]{\\frac{101}{54} + \\frac{\\sqrt{687} i}{18}}} + \\left(- \\frac{1}{2} + \\frac{\\sqrt{3} i}{2}\\right) \\sqrt[3]{\\frac{101}{54} + \\frac{\\sqrt{687} i}{18}} : 1, \\  \\frac{7}{3} + \\frac{16}{9 \\sqrt[3]{\\frac{101}{54} + \\frac{\\sqrt{687} i}{18}}} + \\sqrt[3]{\\frac{101}{54} + \\frac{\\sqrt{687} i}{18}} : 1\\right\\}$"
      ],
      "text/plain": [
       "⎧                           ______________                                     ↪\n",
       "⎪      7   ⎛  1   √3⋅ⅈ⎞    ╱ 101   √687⋅ⅈ                   16                 ↪\n",
       "⎪0: 1, ─ + ⎜- ─ - ────⎟⋅3 ╱  ─── + ──────  + ───────────────────────────────── ↪\n",
       "⎨      3   ⎝  2    2  ⎠ ╲╱   54      18                         ______________ ↪\n",
       "⎪                                              ⎛  1   √3⋅ⅈ⎞    ╱ 101   √687⋅ⅈ  ↪\n",
       "⎪                                            9⋅⎜- ─ - ────⎟⋅3 ╱  ─── + ──────  ↪\n",
       "⎩                                              ⎝  2    2  ⎠ ╲╱   54      18    ↪\n",
       "\n",
       "↪                                                               ______________ ↪\n",
       "↪      7                  16                   ⎛  1   √3⋅ⅈ⎞    ╱ 101   √687⋅ⅈ  ↪\n",
       "↪ : 1, ─ + ───────────────────────────────── + ⎜- ─ + ────⎟⋅3 ╱  ─── + ──────  ↪\n",
       "↪      3                      ______________   ⎝  2    2  ⎠ ╲╱   54      18    ↪\n",
       "↪            ⎛  1   √3⋅ⅈ⎞    ╱ 101   √687⋅ⅈ                                    ↪\n",
       "↪          9⋅⎜- ─ + ────⎟⋅3 ╱  ─── + ──────                                    ↪\n",
       "↪            ⎝  2    2  ⎠ ╲╱   54      18                                      ↪\n",
       "\n",
       "↪                                     ______________   ⎫\n",
       "↪      7            16               ╱ 101   √687⋅ⅈ    ⎪\n",
       "↪ : 1, ─ + ──────────────────── + 3 ╱  ─── + ────── : 1⎪\n",
       "↪      3         ______________   ╲╱   54      18      ⎬\n",
       "↪               ╱ 101   √687⋅ⅈ                         ⎪\n",
       "↪          9⋅3 ╱  ─── + ──────                         ⎪\n",
       "↪            ╲╱   54      18                           ⎭"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "-------------------\n",
      "eigenvects renvoie les valeurs propres, leur multiplicité\n",
      "et une base des sous-espaces propres associés :\n"
     ]
    },
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\left[ \\left( 2, \\  3, \\  \\left[ \\left[\\begin{matrix}-1\\\\1\\\\0\\\\0\\end{matrix}\\right], \\  \\left[\\begin{matrix}-1\\\\0\\\\1\\\\0\\end{matrix}\\right], \\  \\left[\\begin{matrix}-1\\\\0\\\\0\\\\1\\end{matrix}\\right]\\right]\\right), \\  \\left( 6, \\  1, \\  \\left[ \\left[\\begin{matrix}1\\\\1\\\\1\\\\1\\end{matrix}\\right]\\right]\\right)\\right]$"
      ],
      "text/plain": [
       "⎡⎛      ⎡⎡-1⎤  ⎡-1⎤  ⎡-1⎤⎤⎞  ⎛      ⎡⎡1⎤⎤⎞⎤\n",
       "⎢⎜      ⎢⎢  ⎥  ⎢  ⎥  ⎢  ⎥⎥⎟  ⎜      ⎢⎢ ⎥⎥⎟⎥\n",
       "⎢⎜      ⎢⎢1 ⎥  ⎢0 ⎥  ⎢0 ⎥⎥⎟  ⎜      ⎢⎢1⎥⎥⎟⎥\n",
       "⎢⎜2, 3, ⎢⎢  ⎥, ⎢  ⎥, ⎢  ⎥⎥⎟, ⎜6, 1, ⎢⎢ ⎥⎥⎟⎥\n",
       "⎢⎜      ⎢⎢0 ⎥  ⎢1 ⎥  ⎢0 ⎥⎥⎟  ⎜      ⎢⎢1⎥⎥⎟⎥\n",
       "⎢⎜      ⎢⎢  ⎥  ⎢  ⎥  ⎢  ⎥⎥⎟  ⎜      ⎢⎢ ⎥⎥⎟⎥\n",
       "⎣⎝      ⎣⎣0 ⎦  ⎣0 ⎦  ⎣1 ⎦⎦⎠  ⎝      ⎣⎣1⎦⎦⎠⎦"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "print('Valeurs propres de A :')\n",
    "display(A.eigenvals())\n",
    "print('Valeurs propres de B (expressions exactes, parfois compliquées) :')\n",
    "display(B.eigenvals())\n",
    "print('-------------------')\n",
    "print('eigenvects renvoie les valeurs propres, leur multiplicité')\n",
    "print('et une base des sous-espaces propres associés :')\n",
    "display(A.eigenvects())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Noyau de A :\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAABAAAAAUCAYAAACEYr13AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAASdAAAEnQB3mYfeAAAAIFJREFUeJztlDEOwjAMRV8rjsDetcfgKL3Jr09Gegw2djp3DQMBHJqKIWveZMXyi2XJ7mKM1NBXVQOnd2BmF+DqcjdJY8qdgYcvlNRlAscCBGB1bxtgKZ6AYdeBI0iaf37bgNl1+hFUz6AJmqAJXpS2UWYm/tyDkuDOd+fh+B5kPAE2mCNpKJPm2AAAAABJRU5ErkJggg==",
      "text/latex": [
       "$\\displaystyle \\left[ \\right]$"
      ],
      "text/plain": [
       "[]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Noyau de B (de dimension 1, engendré par 1 vecteur) :\n"
     ]
    },
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\left[ \\left[\\begin{matrix}0\\\\0\\\\-1\\\\1\\end{matrix}\\right]\\right]$"
      ],
      "text/plain": [
       "⎡⎡0 ⎤⎤\n",
       "⎢⎢  ⎥⎥\n",
       "⎢⎢0 ⎥⎥\n",
       "⎢⎢  ⎥⎥\n",
       "⎢⎢-1⎥⎥\n",
       "⎢⎢  ⎥⎥\n",
       "⎣⎣1 ⎦⎦"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Rang de A : 4\n",
      "Rang de B : 3\n",
      "Image de A :\n"
     ]
    },
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\left[ \\left[\\begin{matrix}3\\\\1\\\\1\\\\1\\end{matrix}\\right], \\  \\left[\\begin{matrix}1\\\\3\\\\1\\\\1\\end{matrix}\\right], \\  \\left[\\begin{matrix}1\\\\1\\\\3\\\\1\\end{matrix}\\right], \\  \\left[\\begin{matrix}1\\\\1\\\\1\\\\3\\end{matrix}\\right]\\right]$"
      ],
      "text/plain": [
       "⎡⎡3⎤  ⎡1⎤  ⎡1⎤  ⎡1⎤⎤\n",
       "⎢⎢ ⎥  ⎢ ⎥  ⎢ ⎥  ⎢ ⎥⎥\n",
       "⎢⎢1⎥  ⎢3⎥  ⎢1⎥  ⎢1⎥⎥\n",
       "⎢⎢ ⎥, ⎢ ⎥, ⎢ ⎥, ⎢ ⎥⎥\n",
       "⎢⎢1⎥  ⎢1⎥  ⎢3⎥  ⎢1⎥⎥\n",
       "⎢⎢ ⎥  ⎢ ⎥  ⎢ ⎥  ⎢ ⎥⎥\n",
       "⎣⎣1⎦  ⎣1⎦  ⎣1⎦  ⎣3⎦⎦"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Image de B (engendrée par 3 vecteurs, rang = 3) :\n"
     ]
    },
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\left[ \\left[\\begin{matrix}2\\\\1\\\\1\\\\1\\end{matrix}\\right], \\  \\left[\\begin{matrix}1\\\\3\\\\1\\\\1\\end{matrix}\\right], \\  \\left[\\begin{matrix}1\\\\1\\\\1\\\\1\\end{matrix}\\right]\\right]$"
      ],
      "text/plain": [
       "⎡⎡2⎤  ⎡1⎤  ⎡1⎤⎤\n",
       "⎢⎢ ⎥  ⎢ ⎥  ⎢ ⎥⎥\n",
       "⎢⎢1⎥  ⎢3⎥  ⎢1⎥⎥\n",
       "⎢⎢ ⎥, ⎢ ⎥, ⎢ ⎥⎥\n",
       "⎢⎢1⎥  ⎢1⎥  ⎢1⎥⎥\n",
       "⎢⎢ ⎥  ⎢ ⎥  ⎢ ⎥⎥\n",
       "⎣⎣1⎦  ⎣1⎦  ⎣1⎦⎦"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "print('Noyau de A :')\n",
    "display(A.nullspace())\n",
    "print('Noyau de B (de dimension 1, engendré par 1 vecteur) :')\n",
    "display(B.nullspace())\n",
    "print('Rang de A :', A.rank())\n",
    "print('Rang de B :', B.rank())\n",
    "print('Image de A :')\n",
    "display(A.columnspace())\n",
    "print('Image de B (engendrée par 3 vecteurs, rang = 3) :')\n",
    "display(B.columnspace())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### À vous de jouer :\n",
    "- **Exercice 13 :** Soit $A = \\begin{pmatrix} 1 & 2 \\\\ 3 & 4 \\end{pmatrix}$. Calculer son déterminant, son noyau et son image.\n",
    "- **Exercice 14 :** Donner les valeurs propres et les vecteurs propres de la matrice $A = \\begin{pmatrix} 1 & 2 \\\\ 3 & 4 \\end{pmatrix}$.\n",
    "- **Exercice 15 :** Soit $A = \\begin{pmatrix} 1 & 2 \\\\ a & 4 \\end{pmatrix}$ où $a$ est un paramètre réel.\n",
    "  1. Calculer le déterminant de $A$ en fonction de $a$ et préciser pour quelles valeurs de $a$ la matrice $A$ est inversible.\n",
    "  2. Calculer l'inverse de $A$ en fonction de $a$ (lorsque c'est possible).\n",
    "  3. Donner une base du noyau de $A$ pour la valeur de $a$ où $A$ n'est pas inversible. \n",
    "  \n",
    "  *Indication : substituer d'abord la valeur de $a$ dans la matrice avec A.subs(a, ...)*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exercice 13\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exercice 14\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exercice 15\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
