diff --git a/Chapitre 1 - Systemes equations lineaires/1.3-4. Notation Matricielle.ipynb b/Chapitre 1 - Systemes equations lineaires/1.3-4. Notation Matricielle.ipynb index db4e077..c8c546e 100644 --- a/Chapitre 1 - Systemes equations lineaires/1.3-4. Notation Matricielle.ipynb +++ b/Chapitre 1 - Systemes equations lineaires/1.3-4. Notation Matricielle.ipynb @@ -1,367 +1,361 @@ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Concept(s)-clé(s) et théorie\n", "\n", "On considère un système d'équations linéaires aux inconnues $x_1,\\ldots,x_n$\n", "\n", "$$S=\\left\\{\\begin{array}{ccccccc}\n", "a_{11}x_1 &+a_{12}x_2 & + &\\cdots &+a_{1n}x_n &= &b_1 \\\\\n", "a_{21}x_1 &+a_{22}x_2 & + &\\cdots &+a_{2n}x_n &= &b_2 \\\\\n", "\\vdots & & & &\\vdots & \\vdots &\\vdots \\\\\n", "a_{m1}x_1 &+a_{m2}x_2 & + &\\cdots &+a_{mn}x_n &= &b_m\n", "\\end{array},\\right. $$\n", "\n", "où $a_{ij},b_i\\in \\mathbb{R}$ pour tout $1\\leq i\\leq m$ et tout $1\\leq j\\leq n.$ \n", "\n", "Le système $S$ peut s'écrire sous forme matricielle $A\\overrightarrow{x}=\\overrightarrow{b}$ où la matrice $A$ est appelée *la matrice des coefficients* et $\\overrightarrow{x}$ et $\\overrightarrow{b}$ sont des vecteurs contant les composantes $x_i$ et $b_i$ respectivement. \n", "\n", "Plus précisemment\n", "$$A=\\begin{pmatrix}\n", "a_{11} & a_{12} & \\cdots & a_{1n}\\\\\n", "a_{21} & a_{22} &\\cdots & a_{2n}\\\\\n", "\\vdots & \\vdots & \\ddots & \\vdots\\\\\n", "a_{m1} & a_{m2} & \\cdots & a_{mn}\n", - "\\end{pmatrix},\\hskip1em\n", + "\\end{pmatrix};\\hskip1em\n", "\\overrightarrow{x}=\\begin{pmatrix}\n", "x_1\\\\\n", "x_2\\\\\n", "\\vdots\\\\\n", "x_n\n", - "\\end{pmatrix},\\hskip1em\n", + "\\end{pmatrix};\\hskip1em\n", "\\overrightarrow{b}=\n", "\\begin{pmatrix}\n", "b_1\\\\\n", "b_2\\\\\n", "\\vdots\\\\\n", "b_m\n", - "\\end{pmatrix},\n", + "\\end{pmatrix};\n", "$$\n", "\n", "---\n", "\n", "La matrice $A$ est de taille $m\\times n$ où **m correspond au nombre de lignes** et **n au nombre de colonnes**.\n", "Le vecteur $\\overrightarrow{x}$ est de taille $n\\times 1$ et le vecteur $\\overrightarrow{b}$ de taille $m\\times 1$.\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", "import random\n", "\n", "from ipywidgets import interact, interactive, fixed, interact_manual" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### **EXERCICE 1**\n", "\n", "Ci-dessous est générée une matrice $A$ de taille $m\\times n$. Trouver la dimension de la matrice en remplissant les deux champs dans lesquels vous pouvez rentrer une valeur pour $m$ et $n$. \n", "\n", "Vérifier en cliquant sur **Run Interact**" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "A=al.randomA()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ + "A=al.randomA()\n", "al.dimensionA(A)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### **Nouvelles notations**\n", "\n", "Pour rentrer une matrice on utilise *la syntaxe suivante*\n", "$$A=\\quad [\\quad [ a_{11} , a_{12}, \\ldots, a_{1n} ], \\quad [ a_{21}, a_{22}, \\ldots, a_{2n}]\\quad, \\ldots , \\quad[a_{m1}, a_{m2}, \\ldots, a_{mn}]\\quad].$$\n", "\n", "Comme nous souhaitons différencier les vecteurs colonnes - ceux usuel - des vecteurs lignes, nous les différencions **à partir de maintenant** en utilisant *la syntaxe suivante*\n", "\n", "$$\n", "\\begin{align*}\n", "\\overrightarrow{b}&=\\begin{pmatrix}b_1 \\\\ b_2 \\\\ \\vdots \\\\ b_m\\end{pmatrix}\n", "&&\\Rightarrow b=\\quad [\\quad [ b_{1} ], \\quad [b_{2}], \\quad \\ldots, \\quad [b_m] \\quad]\\\\\n", "\\overrightarrow{v}&=\\begin{pmatrix} v_1 & v_2 & \\cdots v_n\\end{pmatrix}\n", "&&\\Rightarrow v=\\quad[ \\quad v_1, \\quad v_2, \\quad \\ldots, \\quad v_n \\quad ]\n", "\\end{align*}\n", "$$\n", "\n", "---\n", "\n", "Entrez les vecteurs et matrices ci-dessous.\n", "$$\n", "\\begin{pmatrix}\n", "1 & -3 \\\\\n", "3 & 5\n", "\\end{pmatrix} \\hskip1em \\begin{pmatrix}\n", "1 \\\\\n", "2 \n", "\\end{pmatrix}\\hskip1em\\begin{pmatrix}\n", "1 \\\\\n", "0.3\\\\\n", "1/4\n", "\\end{pmatrix}\\hskip1em\\begin{pmatrix}\n", "1 &2 &-1\n", "\\end{pmatrix}\\hskip1em\\begin{pmatrix}\n", "1 & 0 & -1\\\\\n", "0 & -1 & 1\\\\\n", "1 & 1 & 0\n", "\\end{pmatrix}\n", "$$" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "al.bgc('seashell')\n", - "A=[[1],[2]]" + "A=[[1]]" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "al.printA(A)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lorsqu'on travaille avec des systèmes, on s'intéresse à la matrice augmentée - dans laquelle on retrouve la matrice des coefficients $A$ et une colonne additionnelle correspondant aux termes de droite.\n", "\n", "$$\\begin{align*}\n", "\\text{Notation système} \\quad &\\Leftrightarrow \\quad\\text{Notation matricielle}\\\\\n", "\\begin{cases}\n", "a_{11}x_1 + a_{12}x_2&=b_1\\\\\n", "a_{21}x_1 + a_{22}x_2&=b_2\n", "\\end{cases} \\quad &\\Leftrightarrow \\quad \\left(\\begin{array}{cc|c}\n", "a_{11} & a_{12} & b_1\\\\\n", "a_{21} & a_{22} & b_2\n", "\\end{array}\\right)\n", "\\end{align*}\n", "$$\n", "\n", "---\n", "Pour entrer les matrices augmentées des systèmes, en utilisez la syntaxe suivante\n", "\n", "$$\n", "\\begin{align*}\n", "A&=\\quad[\\quad [ a_{11} , a_{12}, \\ldots, a_{1n} ], \\quad [ a_{21}, a_{22}, \\ldots, a_{2n}]\\quad, \\ldots , \\quad[a_{m1}, a_{m2}, \\ldots, a_{mn}]\\quad]\\\\\n", "b&=\\quad[\\quad [b_1], \\quad [b_2], \\ldots, [b_m]\\quad ] \\leftarrow\\text{ceci nous permet de différencier un vecteur colonne d'un vecteur ligne!}\n", "\\end{align*}\n", "$$\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### **EXERCICE 1**\n", "Entrez les matrices augmentées des systèmes ci-dessous.\n", "\n", "$$\n", "1) \\quad \\begin{cases}\n", "2x_1 -x_2&=3\\\\\n", "x_1 + x_2&=0,\n", "\\end{cases}\\hskip2em\n", "2)\\quad \\begin{cases}\n", "\\dfrac{1}{3}x_1 + x_2 - x_3&=-6\\\\\n", "x_1 + x_3&=2\\\\\n", "-x_1 + \\dfrac{27}{9}x_2- x_3&=-1,\n", "\\end{cases}\\hskip2em\n", "3)\\quad \\begin{cases}\n", "x_1 - 4x_2=7\n", "\\end{cases}\\hskip2em\n", "4) \\begin{cases}\n", "x_1 &=3\\\\\n", "x_2 &= 4\\\\\n", "x_3 &= -1\\\\\n", "x_4&=0\n", "\\end{cases}\\hskip1em\n", "$$" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "al.bgc('seashell')\n", "#Entrer la matrice des coeff et le vecteur des termes de droite. Attention aux dimensions!\n", "A=[[1,1], [1,1]]\n", "b=[[1],[1]]" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print('Le système est\\n')\n", "\n", "al.printSyst(A,b)\n", "print('\\n')\n", "print(' Son écriture matricielle est\\n')\n", "al.printA(A,b)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Concept(s)-clé(s) et théorie\n", "\n", "Il existe trois type d'opérations que l'on peut effectuer sur un système d'équations linéaires, ou sur la matrice augmentée correspondante, sans changer son ensemble de solution. \n", "\n", "Ces opérations sont appelées *opérations élémentaires* \n", "\n", "\n", "1. $E_{ij}$ (Échange) Échanger la ligne $i$ avec la ligne $j$. \n", "2. $E_{i}(\\alpha)$ (Multiplication par un scalaire) Multiplier tous les coefficients de la ligne $i$ par une constante non-nulle $(\\alpha)$.\n", "3. $E_{ij}(\\alpha)$ (Remplacement) Remplacer la ligne $i$ par la ligne obtenue en lui ajoutant un multiple ($\\alpha$) de la ligne $j$. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### EXEMPLE 1 :\n", "\n", "Entrer la matrice (augmentée) correspondante au système ci-dessous et effectuer les trois opérations suivantes sur la matrice de départ. \n", "\n", "1. Échanger la ligne $1$ et la ligne $2$.\n", "2. Multiplier tous les coefficients de la ligne $2$ par $-\\dfrac{1}{2}$.\n", "3. Remplacer la ligne 2 par la ligne obtenue en lui ajoutant 3 fois la ligne $3$. \n", "\n", "Le systèmes est \n", "$$\n", "\\begin{cases}\n", "x_1 -3x_2 + \\dfrac{1}{3}x_3&=0\\\\\n", "x_1 -7 x_3&=2\\\\\n", "-2x_1 + 3x_2 -4x_3&=5\n", "\\end{cases}\n", "$$\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "al.bgc('seashell')\n", "#Entrer la matrice des coeff et le vecteur des termes de droite. Attention aux dimensions!\n", - "A=[[1, 3, 1/3], [1, 0, -7],[-2,3,-4]]\n", + "A=[[1, -3, 1/3], [1, 0, -7],[-2,3,-4]]\n", "b=[[0],[2],[5]]" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "al.printA(A,b)\n", - "al.manualOp(A,b)" + "al.manualOp(A,b)\n", + "\n", + "# Matrix A does not change when a new operation is done... is this wanted or not??" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### **EXERCICE 1**\n", "\n", "Parmis les systèmes ci-dessous, lesquels ont le même ensemble de solutions?\n", "\n", "$$\n", "a) \\begin{cases}\n", "3\\times 3\n", "\\end{cases}b) \\begin{cases}\n", "4\\times 4\n", "\\end{cases}c) \\begin{cases}\n", "3\\times 3\n", "\\end{cases}d) \\begin{cases}\n", "4\\times 4\n", "\\end{cases}e) \\begin{cases}\n", "3\\times 3\n", "\\end{cases}\n", "$$" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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.6.8" + "version": "3.7.4" } }, "nbformat": 4, "nbformat_minor": 4 }