diff --git "a/Chapitre 1 - Systemes equations lineaires/1.7. R\303\251solutions de syst\303\250mes lin\303\251aires.ipynb" "b/Chapitre 1 - Systemes equations lineaires/1.7. R\303\251solutions de syst\303\250mes lin\303\251aires.ipynb" index 6e042de..c814de4 100644 --- "a/Chapitre 1 - Systemes equations lineaires/1.7. R\303\251solutions de syst\303\250mes lin\303\251aires.ipynb" +++ "b/Chapitre 1 - Systemes equations lineaires/1.7. R\303\251solutions de syst\303\250mes lin\303\251aires.ipynb" @@ -1,250 +1,244 @@ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Concept(s)-clé(s) et théorie\n", "\n", "#### DÉFINITION :\n", "Soit $B$ une matrice échelonnée. Alors les inconnues (du système linéaire associé) dont la colonne correspondante ne possède pas de pivot sont appelées les **inconnues libres**. Les inconnues dont la colonne correspondante possède un pivot sont appelées les **inconnues principales**.\n", "\n", "#### MÉTHODE DE RÉSOLUTION DE SYSTÈMES LINÉAIRES :\n", "Soit $S$ un système linéaire à $n$ inconnues. Afin de trouver l'ensemble des solutions de $S$, on procède comme suit :\n", "\n", "1. Poser A la matrice augmentée du système.\n", "2. Utiliser la méthode d'élimination de Gauss afin de transformer A en une matrice échelonnée B.\n", "3. Si la matrice B possède une ligne de la forme $(0\\, 0 \\,⋯ \\,0 \\,|\\, c )$ avec $c\\neq 0$, alors le système ne possède aucune solution.\n", "4. S'il existe $n$ pivots, aucun dans la dernière colonne, alors il existe une unique solution.\n", "5. S'il existe moins de $n$ pivots, aucun dans la dernière colonne, alors il existe un nombre infini de solutions.\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import Librairie.AL_Fct as al\n", "import numpy as np\n", "import ipywidgets as widgets\n", "\n", "from ipywidgets import interact, interactive, fixed, interact_manual, Layout" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### **EXERCICE 1**\n", "\n", "Trouver la solution du système en échelonnant la matrice augmentée correspondante\n", "\n", "$$\n", "\\begin{cases}\n", "-2x_1 + \\dfrac{2}{3}x_2 -x_3&=0\\\\\n", "x_1 -2x_2 + x_3&=2\\\\\n", "x_2 -5 x_3&=-3\n", "\\end{cases}\n", "$$\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "A=[[1,1,1], [1,1,1], [1,1,1]]\n", "b=[[1], [1], [1]]\n", "print('Vous allez échelonner la matrice')\n", "al.printA(A,b)\n", "[i,j,r,alpha]= al.manualEch(A,b)\n", "m=np.concatenate((A,b), axis=1)\n", "MatriceList=[A]\n", "RhSList=[b]" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "m=al.echelonnage(i,j,r,alpha,A,m,MatriceList,RhSList)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### **Exercice 2**\n", "\n", "Soient les 4 systèmes ci-dessous. À l'aide du méthode d'élimination de Gauss, déterminez celles qui admettent au moins une solution (nommée compatible) et celles qui n'admettent aucune solution (nommée imcompatible).\n", "\n", "\n", "\n", "$$\n", "a) \\begin{cases}\n", "-2x_1 + 8x_2&=0\\\\\n", "\\dfrac{1}{2}x_1 -2 &=0\n", "\\end{cases}\\hskip1.2em\n", "b)\\begin{cases}\n", "x_1 + 3 x_2 &=-1\\\\\n", "-2x_1 -6 x_2&=-2\n", "\\end{cases}\\hskip1.2em\n", "c) \\begin{cases}\n", "x_1 -2x_3&=3\\\\\n", "2x_2 +x_3&=0\\\\\n", "-x_1 + x_2 + 2x_3&=2\n", "\\end{cases}\\hskip1.2em\n", "d) \\begin{cases}\n", "x_1 + x_2 + x_3&=1\\\\\n", "-x_1 + x_2 + x_3 &=-1\\\\\n", "-x_2 -x_3&=0\n", "\\end{cases}\n", "$$" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "A=[[1,1], [1,1], [1,1]]\n", - "b=[[1],[1]]" + "b=[[1],[1],[1]]" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print('Vous allez échelonner la matrice')\n", "al.printA(A,b)\n", "[i,j,r,alpha]= al.manualEch(A,b)\n", "m=np.concatenate((A,b), axis=1)\n", "MatriceList=[A]\n", "RhSList=[b]" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "m=al.echelonnage(i,j,r,alpha,A,m,MatriceList,RhSList)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print(\"Cliquer sur CTRL pour sélectionner plusieurs réponses\")\n", "\n", "style = {'description_width': 'initial'}\n", "inc=widgets.SelectMultiple(\n", " options=['a)', 'b)', 'c)', 'd)'],\n", " description='Incompatibles:',\n", " style=style,\n", + " layout=Layout(width='15%', height='90px'),\n", " disabled=False,\n", " )\n", "comp=widgets.SelectMultiple(\n", " options=['a)', 'b)', 'c)', 'd)'],\n", " description='Compatibles:',\n", + " layout=Layout(width='15%', height='90px'),\n", " disabled=False\n", " )\n", "\n", - "def correction(inc,c): \n", - " if 'a)' in c and 'c)' in c and 'd)' in c and 'b)' in inc:\n", - " print(\"C'est correct!\")\n", - " print(\"En particulier, les systèmes a) et d) admettent une infinité de solutions, tandis que le système c) admet une solution unique.\")\n", - " else:\n", - " print(\"C'est faux. Veuillez rentrer d'autres valeurs\")\n", - "\n", - "out=interact_manual(correction,inc=inc,c=comp)\n", - " \n" + "out=interact_manual(al.Ex2Chapitre1_7, inc=inc, c=comp)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Concept(s)-clé(s) et théorie\n", "\n", "#### Solution homogène et solution particulière\n", "Pour les systèmes linéaires compatibles, la solution $s$ peut être donnée sous forme paramétrique vectorielle comme suit:\n", "$$\n", "s=p + t v\n", "$$où $ p $ est une **solution particulière** au système linéaire, tandis que $ tv $ (avec $t \\in \\mathcal{R}$) est une solution au système homogène $ Ax = 0 $ (en effet appelé **solution homogène**).\n", "\n", "En 2 dimensions, l'ensemble des solutions peut être un point (si la seule solution homogène est $ v = 0 $), une ligne droite (si l'ensemble des solutions homogènes se situe sur une droite du plan 2D) ou le plan entier (si chaque vecteur 2D est une solution au système homogène).\n", " \n", "En 3 dimensions, l'ensemble des solutions peut être un point (si la seule solution homogène est $ v = 0 $), une ligne droite (si l'ensemble des solutions homogènes se trouve sur une droite dans l'espace 3D) , le plan entier (si l'ensemble des solutions hoogènes se trouve dans un plan de l'espace 3D) ou tout l'espace 3D (si chaque vecteur 3D est une solution au système homogène)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pour les systèmes de l'exercice 2, donner la nature des solutions. Un graphe s'affichera avec les solutions.\n", "$$\n", "a) \\begin{cases}\n", "-2x_1 + 8x_2&=0\\\\\n", "\\dfrac{1}{2}x_1 -2 &=0\n", "\\end{cases}\\hskip1.2em\n", "b)\\begin{cases}\n", "x_1 + 3 x_2 &=-1\\\\\n", "-2x_1 -6 x_2&=-2\n", "\\end{cases}\\hskip1.2em\n", "c) \\begin{cases}\n", "x_1 -2x_3&=3\\\\\n", "2x_2 +x_3&=0\\\\\n", "-x_1 + x_2 + 2x_3&=2\n", "\\end{cases}\\hskip1.2em\n", "d) \\begin{cases}\n", "x_1 + x_2 + x_3&=1\\\\\n", "-x_1 + x_2 + x_3 &=-1\\\\\n", "-x_2 -x_3&=0\n", "\\end{cases}\n", "$$" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "al.Ex3Chapitre1_7()" ] } ], "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.7.4" } }, "nbformat": 4, "nbformat_minor": 4 }