This file is larger than 256 KB, so syntax highlighting was skipped.
diff --git "a/Chapitre 1 - Syst\303\250mes d'\303\251quations lin\303\251aires/1.1. Introduction et d\303\251finition.ipynb" "b/Chapitre 1 - Syst\303\250mes d'\303\251quations lin\303\251aires/1.1. Introduction et d\303\251finition.ipynb"
index 4abd395..40f9b96 100644
--- "a/Chapitre 1 - Syst\303\250mes d'\303\251quations lin\303\251aires/1.1. Introduction et d\303\251finition.ipynb"
+++ "b/Chapitre 1 - Syst\303\250mes d'\303\251quations lin\303\251aires/1.1. Introduction et d\303\251finition.ipynb"
@@ -1,299 +1,340 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Concept(s)-clé(s) et théorie\n",
"\n",
"### DÉFINITION 1 :\n",
"\n",
"Une **équation linéaire** aux inconnues $x_1,\\ldots,x_n$ à coefficients réels est une équation de la forme\n",
"\n",
"$$a_1x_1+a_2x_2+\\cdots+a_nx_n=b,$$ \n",
"où $a_1,a_2,\\ldots,a_n,b\\in \\mathbb{R}.$\n",
" \n",
"---\n",
"### DÉFINITION 2 :\n",
"\n",
"On appelle **système d'équations linéaires** (ou simplement système linéaire) une famille d'équations linéaires aux inconnues $x_1,\\ldots,x_n$ à coefficients réels de la forme \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",
"On dit qu'une suite ordonnée $\\alpha$ de $n$ nombres réels $\\alpha_i$, notée $\\alpha=(\\alpha_1,\\ldots,\\alpha_n)$, est une *solution du système linéaire* $S$ si toutes les égalités du système sont vérifiées lorsque l'on remplace $x_j$ par $\\alpha_j,$ ceci pour tout $1\\leq j\\leq n.$"
"On utilise *la syntaxe suivante pour définir les coefficients* de l'équation \n",
"\n",
"\n",
"\\begin{align*}\n",
"A&=[a_1, a_2, \\ldots, a_n]\\\\\n",
"b&=[b_1].\n",
"\\end{align*}\n",
"\n",
"**Remarque**: il ne d'agit pas de la seule manière d'entrer une matrice en Python, mais dans ces Notebooks nous utiliserons cette syntaxe relativement simple.\n",
"\n",
"---\n",
"Dans la case ci-dessous, entrer les coefficients de l'équation \n",
"$$3x_1 + 2x_2=7.$$\n",
"\n"
]
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
- "al.bgc('seashell')\n",
+ "## MODIFIEZ CI-DESSOUS ## \n",
+ "\n",
"#Toutes les valeurs sont initialisées à 1\n",
"\n",
"A = [1,1] \n",
"b = [1]\n"
]
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 3,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/latex": [
+ "$x_1+x_2=1$"
+ ],
+ "text/plain": [
+ "<IPython.core.display.Latex object>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
"source": [
"al.printEq(A,b)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"On utilise *la syntaxe suivante pour entrer une solution* d'une équation\n",
"**Remarque**: il existe aussi d'autres syntaxes pour entrer une matrice en Python.\n",
"\n",
"---\n",
"Entrer le système d'équations ci-dessous\n",
"\n",
"$$\n",
"\\left\\{\n",
"\\begin{array}{lccc}\n",
"x_1 &- & 3 x_2 & = 4\\\\\n",
"-x_1 & + & 4 x_2 & = 5\n",
"\\end{array}\n",
"\\right.\n",
"$$\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
- "al.bgc('seashell')\n",
+ "## MODIFIEZ CI-DESSOUS ## \n",
"\n",
"#Par défaut, les valeurs sont fixées à 1\n",
"\n",
"A = [ [1, 1], [1, 1]] \n",
"b=[1, 1] \n",
"alpha = [1, 1] #solution"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"al.printSyst(A,b)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"al.SolOfSyst(alpha, A,b)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### **EXERCICE 2**\n",
" \n",
"Entrer le système suivant et trouver une solution du système. \n",
"\n",
"$$\n",
"\\left\\{\\begin{array}{ll}\n",
"2x_1 +3 x_2 - x_3&=-6\\\\\n",
"-\\dfrac{1}{2}x_1 + x_3&= 3\\\\\n",
"x_1 + 3x_2 -x_3 &=0\n",
"\\end{array}\\right.\n",
"$$\n",
"\n",
"Vous pouvez aussi adapter le code à l'équation de votre choix."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
- "al.bgc('seashell')\n",
+ "## MODIFIEZ CI-DESSOUS ## \n",
+ "\n",
"#Par défaut, les valeurs sont fixées à 1\n",
"\n",
"A = [[1,1,1], [1,1,1], [1,1,1]]\n",
"b =[1,1,1]\n",
"alpha =[1,1,1] #solution\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"al.printSyst(A,b)\n",
"al.SolOfSyst(alpha, A,b)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[Passez au notebook du chapitre 1.2: Nombre de solutions d'un système](./1.2.%20Nombre%20de%20solution%20d'un%20système.ipynb)"
]
}
],
"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.9"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
diff --git "a/Chapitre 1 - Syst\303\250mes d'\303\251quations lin\303\251aires/1.2. Nombre de solutions d'un syst\303\250me.ipynb" "b/Chapitre 1 - Syst\303\250mes d'\303\251quations lin\303\251aires/1.2. Nombre de solutions d'un syst\303\250me.ipynb"
index 0ca1193..a7d6d74 100644
--- "a/Chapitre 1 - Syst\303\250mes d'\303\251quations lin\303\251aires/1.2. Nombre de solutions d'un syst\303\250me.ipynb"
+++ "b/Chapitre 1 - Syst\303\250mes d'\303\251quations lin\303\251aires/1.2. Nombre de solutions d'un syst\303\250me.ipynb"
@@ -1,95396 +1,382 @@
{
"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",
- "// Listen for the clearing of the current output cell\n",
- "var outputEl = gd.closest('.output');\n",
- "if (outputEl) {{\n",
- " x.observe(outputEl, {childList: true});\n",
- "}}\n",
- "\n",
- " })\n",
- " };\n",
- " });\n",
- " </script>\n",
- " </div>"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "outputs": [],
"source": [
"al.printSyst(A,b)\n",
"al.Plot3DSys(-10,10,100,A,b)"
]
},
{
"cell_type": "code",
- "execution_count": 12,
+ "execution_count": null,
"metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "La suite entrée n'est pas une solution de l'équation 1\n",
- "La suite entrée n'est pas une solution de l'équation 2\n",
- "La suite entrée n'est pas une solution de l'équation 3\n",
- "Ce n'est pas une solution du système\n"
- ]
- },
- {
- "data": {
- "text/plain": [
- "False"
- ]
- },
- "execution_count": 12,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "outputs": [],
"source": [
- "alpha = [1, 1, 1]\n",
- "al.SolOfSyst(alpha, A,b)"
+ "## MODIFIEZ CI-DESSOUS ## \n",
+ "\n",
+ "#Entrer une solution du système. Par défaut, les coefficients sont fixés à 1 \n",
+ "\n",
+ "alpha = [1, 1, 1]\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "sol=al.SolOfSyst(alpha, A,b)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### **EXERCICE 3**\n",
"\n",
"À l'aide des graphes interactifs ci-dessous, trouver les valeurs des paramètres $l$ et $k$ pour que les systèmes a), b), c) et d) admettent, si possible,\n",
"1. aucune solution\n",
"2. une unique solution\n",
"3. une infinité de solution \n",
"\n",
"\n",
"$$ \n",
"a)\\begin{cases}\n",
"x_1 +5 x_2&=l\\\\\n",
"-2x_1 -10 x_2&=18\n",
"\\end{cases} \\hspace{1cm} b) \\begin{cases}\n",
"lx_1 + x_2&=3\\\\\n",
"-2x_1 - x_2&=-1\n",
"\\end{cases}\\hspace{1cm} c) \\begin{cases}\n",
"3x_1 + lx_2&=1\\\\\n",
"x_1 + 3x_2&=l\n",
"\\end{cases}\\hspace{1cm} d) \\begin{cases}\n",
"kx_1 + x_2&=l\\\\\n",
"3x_1 -5x_2&=2\n",
"\\end{cases}\n",
"$$\n",
"\n",
"**Remarque** pour faire varier les valeurs de $l$ et $k$ vous pouvez utiliser la souris ou cliquer sur le rond (il devient bleu) et utiliser les flèches gauche et droite du clavier."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
- "al.bgc('seashell')\n",
+ "## MODIFIEZ CI-DESSOUS ## \n",
+ "\n",
"#Entrez a,b,c ou d pour choisir le système voulu\n",
"cas='d'\n",
"\n",
"corrections.Ex3Chapitre1_2(cas)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
- "#correction\n",
"corrections.corr3Chapitre1_2(cas)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### **EXERCICE 4**\n",
"\n",
"À l'aide des graphes interactifs ci-dessous, trouver les valeurs des paramètre $h$ pour que le système admette, si possible,\n",
"1. aucune solution\n",
"2. une unique solution\n",
"3. une infinité de solution \n",
"\n",
"$$ \n",
"\\begin{cases}\n",
"hx_1 -2 x_2 &=4\\\\\n",
"-2x_1 +h x_2&=-4\\\\\n",
"x_1 - x_2 &=h\n",
"\\end{cases} \\hspace{1cm}\n",
"$$"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"corrections.Ex4Chapitre1_2()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"corrections.corr4Chapitre1_2()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[Passez au notebook du chapitre 1.3-4: Notation Matricielle](./1.3-4.%20Notation%20Matricielle.ipynb)"
"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",
"\\overrightarrow{x}=\\begin{pmatrix}\n",
"x_1\\\\\n",
"x_2\\\\\n",
"\\vdots\\\\\n",
"x_n\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",
"$$\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",
"**Notations**: on utilise $\\mathcal{M}_{m\\times n}(\\mathbb{R})$ pour parler de l'ensemble des matrices de taille $m\\times n$ à coefficients réels. Ainsi $A\\in \\mathcal{M}_{m\\times n}(\\mathbb{R})$, $\\overrightarrow{x}\\in \\mathcal{M}_{n\\times 1}(\\mathbb{R})$ et $\\overrightarrow{b}\\in\\mathcal{M}_{m\\times 1}(\\mathbb{R})$."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import Librairie.AL_Fct as al\n",
"import Corrections.corrections as corrections"
]
},
{
"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 pour $m$ et $n$. \n",
"\n",
"Vérifier en cliquant sur **Run Interact**"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"al.dimensionA(al.randomA())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### **Nouvelles notations**\n",
"\n",
"Pour rentrer une matrice nous utilisons *la syntaxe suivante*\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",
+ "#Par défaut, les coefficients sont fixés à 1 \n",
+ "\n",
"#Entrer la matrice\n",
"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 au vecteur $\\overrightarrow{b}$ regroupant les termes de droite (ou termes constants).\n",
"b&=\\quad[\\quad [b_1] , \\quad [b_2] \\quad, \\ldots ,\\quad [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 2**\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",
"$$\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
- "al.bgc('seashell')\n",
+ "## MODIFIEZ CI-DESSOUS ## \n",
+ "\n",
+ "#Par défaut, les coefficients sont fixés à 1 \n",
+ "\n",
"#Entrer la matrice des coefficients 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 ou sa matrice augmentée 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 les lignes d'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. $T_{ij}$ (Échange) Échanger la ligne $i$ avec la ligne $j$. \n",
"2. $D_{i}(\\alpha)$ (Multiplication par un scalaire) Multiplier tous les coefficients de la ligne $i$ par une constante non-nulle $(\\alpha)$.\n",
"3. $L_{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",
+ "## MODIFIEZ CI-DESSOUS ## \n",
+ "\n",
+ "#Par défaut, les coefficients sont fixés à 1 \n",
+ "\n",
"#Entrer la matrice des coefficients et le vecteur des termes de droite. Attention aux dimensions!\n",
"A=[[1, 1, 1], [1, 1, 1],[1, 1, 1]]\n",
"b=[[1],[1],[1]]"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"al.printA(A,b)\n",
"al.manualOp(A,b)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### **EXERCICE 3**\n",
"\n",
"Parmi les couples de systèmes d'équations linéaires ci-dessous, lesquels ont le même ensemble de solutions? Si c'est le cas, c'est qu'on peut passer d'un système à l'autre en utilisant des opérations élémentaires. Cliquez sur Run Interact pour voir de quelles opérations élémentaires il s'agit.\n",
"Soit $A$ une matrice de taille $m\\times n$ à coefficients réels. On dit que $A$ est *échelonnée* si l'indice de colonne du premier élément non-nul de chaque ligne est supérieur à l'indice de colonne du premier élément non-nul de la ligne précédente. C'est à dire que le nombre de zéros pécédant le premier élément non-nul une ligne augmente ligne par ligne, jusqu'à obtenir peut-être des lignes ne contenant que des zéros.\n",
"\n",
"Le premier élément non-nul de chaque ligne s'appelle un *pivot*, on les dénote par $\\color{red}\\oplus$. Les éléments quelconques sont dénotés par $*$. Attention $\\color{red}\\oplus$ est un élément non-nul, alors que $*$ peut être un élément nul. Les colonnes possédant un pivots s'appellent des *colonnes pivots*.\n",
"\n",
"Voici un exemple d'une telle matrice $A$ (ici de taille $7\\times 9$). Les colonnes $1,3,4,6$ et $9$ sont des colonnes pivots.\n",
"Soit $A$ une matrice de taille $m\\times n$ à coefficients réels. On dit que $A$ est *échelonnée réduite* si $A$ est échelonnée avec les propriétés suivantes\n",
"1. tous ses pivots valent $1$ ($\\color{red}\\oplus=1$ dans ce cas)\n",
"2. les pivots sont les seules valeurs non-nulles de leur colonne pivot (en dessous et en dessous d'un pivot il n'y a que des zéros).\n",
"\n",
"Voici un exemple d'une telle matrice $A$ (ici de taille $7\\times 9$). Les colonnes $1,3,4,6$ et $9$ sont des colonnes pivots et ne contiennent qu'un seul élément non-nul (les pivots valant 1).\n",
"Textarea(value='', description='Aucun des deux:', layout=Layout(height='50px', width='60%'), placeholder='Util…"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"data=al.Ex1Chapitre1_5_6() "
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Les matrices n'étant ni échelonnées, ni échelonnées-réduites sont fausses. \n",
"Les matrices étant échelonnées sont fausses. \n",
"Les matrices étant échelonnées-réduite sont fausses. \n"
]
}
],
"source": [
"corrections.Ex1Chapitre1_5_6(data)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Théorie\n",
"\n",
"\n",
"La **méthode d'élimination de Gauss** est un algorithme central en algèbre linéaire qui consiste à appliquer une séquence appropriée d'opérations élémentaires à une matrice (voir [Notebook du chapitre 1.3-4: Notation Matricielle](./1.3-4.%20Notation%20Matricielle.ipynb)) jusqu'à ce qu'elle soit échelonnée. On peut continuer à appliquer des opérations élémentaires pour obtenir une matrice échelonnée réduite. \n",
"\n",
"\n",
"Soit le système linéaire $A\\overrightarrow{x} = \\overrightarrow{b}$ où $A$ est la matrice des coefficients de taille $m\\times n$ et $\\overrightarrow{b}$ est le vecteur regrouppant les termes de droite.\n",
"En appliquant la méthode d'élimination de Gauss à la matrice augmentée $(A|b)$ on obtient:\n",
"**Remarque** Il s'agit d'un exemple, les pivots pouvant êtres à d'autres emplacements. Des lignes de zéros peuvent aussi êtres présentes.\n",
"\n",
"\n",
"Comme seules des opérations élémentaires sur les lignes ont été utilisées, le système linéaire résultant est équivalent au système d'origine. Leur ensemble de solutions sont donc les mêmes. Mais le système resultant est beaucoup plus facile et plus rapide à résoudre. En utilisant d'abord la dernière équation, puis en substituant progressivement les variables dans les équations précédantes.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### **EXERCICE 2**\n",
"\n",
"À l'aide des opérations élémentaires, échelonner et réduire les matrices ci-dessous.\n",
"\n",
"$$A_1 = \n",
"\\begin{pmatrix}\n",
"2 & -1\\\\\n",
"1 &2\n",
"\\end{pmatrix}\\hskip2em\n",
"A_2 = \n",
"\\begin{pmatrix}\n",
"\\dfrac{1}{2} & 3 & 0\\\\\n",
"2 & -4 & 6\\\\\n",
"1 & 3 &-1\n",
"\\end{pmatrix}\\hskip2em\n",
"A_3 =\n",
"\\begin{pmatrix}\n",
"1 & 0 &1\\\\\n",
"0 & 1 & -1\\\\\n",
"1 & 1 &-1\n",
"\\end{pmatrix}\n",
"\\hskip2em\n",
"\\begin{pmatrix}\n",
"1 & 0 &1 & 3\\\\\n",
"0 & 2 & -2&1\\\\\n",
"1 & 1 &-1 & 0\n",
"\\end{pmatrix}\\hskip2em\n",
"\\begin{pmatrix}\n",
"1 & 1 &-1 & 1\\\\\n",
"1 & -1 & -2&2\\\\\n",
"1 & 1 &1 & 1\\\\\n",
"1 & 3 & 2 & 0\n",
"\\end{pmatrix}\n",
"$$\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
+ "## MODIFIEZ CI-DESSOUS ## \n",
+ "\n",
+ "#Par défaut, les coefficients sont fixés à 1 \n",
+ "\n",
"A=[[1,1], [1,1], [1,1]]"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"print('Vous allez échelonner la matrice')\n",
"al.printA(A)\n",
"[i,j,r,alpha]= al.manualEch(A)\n",
"MatriceList=[np.array(A)]\n",
"m=np.array(A)\n",
"print('\\033[1mExecutez la ligne suivante pour effectuer l\\'opération choisie \\033[0m')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"m=al.echelonnage(i, j, r, alpha, A, m, MatriceList)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### **EXERCICE 3**\n",
"À l'aide des opérations élémentaires, échelonner et réduire les matrices augmentées ci-dessous.\n",
"\n",
"$$A=\n",
"\\begin{pmatrix}\n",
"2 & -1\\\\\n",
"1 &2\n",
"\\end{pmatrix}\\hskip1em\n",
"b=\n",
"\\begin{pmatrix}\n",
"1\\\\\n",
"2\n",
"\\end{pmatrix}\\hskip4em\n",
"A=\n",
"\\begin{pmatrix}\n",
"\\dfrac{1}{2} & 3 & 0\\\\\n",
"2 & -4 & 6\\\\\n",
"1 & 3 &-1\n",
"\\end{pmatrix}\\hskip1em\n",
"b=\n",
"\\begin{pmatrix}\n",
"1\\\\\n",
"2\\\\\n",
"-1\n",
"\\end{pmatrix}\\hskip4em\n",
"A=\n",
"\\begin{pmatrix}\n",
"1 & 0 &1\\\\\n",
"0 & 1 & -1\\\\\n",
"1 & 1 &-1\n",
"\\end{pmatrix}\\hskip1em\n",
"b=\n",
"\\begin{pmatrix}\n",
"1\\\\\n",
"0\\\\\n",
"-1\n",
"\\end{pmatrix}\n",
"$$"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
+ "## MODIFIEZ CI-DESSOUS ## \n",
+ "\n",
+ "#Par défaut, les coefficients sont fixés à 1 \n",
+ "\n",
"A=[[1,1,1], [1,1,1],[1,1,1]]\n",
"b =[[1], [1], [1]]"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"print('Vous allez échelonner la matrice augmenteé')\n",
"al.printAAug(A,b)\n",
"[i,j,r,alpha]= al.manualEch(A)\n",
"MatriceList=[np.array(A)]\n",
"RHSList = [np.array(b)]\n",
"m=np.concatenate((A,b), axis=1)\n",
"print('\\033[1mExecutez la ligne suivante pour effectuer l\\'opération choisie \\033[0m')"
]
},
{
"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": [
"### **VÉRIFICATION**\n",
"À l'aide des cellules ci-dessous, vous pouvez entrer la matrice (des coefficients ou augmentée) de votre choix et obtenir une forme échelonnée et sa forme échelonnée réduite.\n",
"\n",
"Pour **les formes échelonnées** on utilise la syntaxe suivante\n",
"\n",
"1. Pour la matrice $A$ : al.echelonMat('E', A)\n",
"2. Pour la matrice augmentée $(A | b)$ : al.echelonMat('E', A, b)\n",
"\n",
"Pour obenir **les formes échelonnées réduites** mettez 'ER' au lieu de 'E'"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
+ "## MODIFIEZ CI-DESSOUS ## \n",
+ "\n",
+ "#Par défaut, les coefficients sont fixés à 1 \n",
+ "\n",
"A = [[2,-1], [1,2]]\n",
"b = [[1], [2]]"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"M=al.echelonMat('ER',A,b)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[Passez au notebook du chapitre 1.7: Résolutions de système linéarires](./1.7.%20Résolutions%20de%20systèmes%20linéaires.ipynb)"
"On a que les composantes de la colonne $j$ sont les coefficients associés à la variable $x_j$ et que les coefficients de la dernière colonne sont les termes constants ou les termes de droite. On peut écrire la matrice $A$ de la forme suivante\n",
"$$ où $\\overrightarrow{a_j}$ est un vecteur de $m$ composantes (celles de la colonnes $j$) donné par\n",
"$$\n",
"\\overrightarrow{a_j}=\\begin{pmatrix}\n",
"a_{1j}\\\\\n",
"a_{2j}\\\\\n",
"\\vdots\\\\\n",
"a_{mj}\n",
"\\end{pmatrix}\n",
"$$\n",
"\n",
"**Remarque** On considère ici la matrice $A$ comme étant une matrice augmentée et non pas celle des coefficients. La théorie ci-dessous doit être adaptée si vous considérez la matrice $A$ comme étant celle des coefficients!\n",
"\n",
"En appliquant l'algorithme de Gauss, on peut échelonner la matrice $A$ et obtenir une matrice échelonnée $B$ (il en existe plusieurs). On pourrait encore continuer l'algorithme et obtenir la forme échelonnée réduite de $A$ (elle est unique!). \n",
"\n",
"De même, on peut écrire la matrice $B$ en faisant référence à ses colonnes\n",
"$$ où $\\tilde{b}$ est un vecteur de $m$ composantes, obtenu en appliquant à $\\overrightarrow{b}$ la même suite d'opérations élémentaires utilisées pour passer de $A$ à $B$. \n",
"\n",
"#### DÉFINITION :\n",
"Les inconnues du système linéaire $S$ dont la colonne de la matrice $B$ correspondante ne possède pas de pivot sont appelées les **inconnues libres**. Elles peuvent prendre n'importe quelle valeur réelle. Les inconnues dont la colonne de la matrice $B$ correspondante possède un pivot sont appelées les **inconnues principales**.\n",
"Le système initial est un système de cinq équations linéaires à six inconnues $x_1,x_2, \\ldots, x_6$. Il y a quatre colonnes pivots (1,2,4 et 6) et quatre pivots. Les inconnues principales sont $x_1, x_2, x_4$ et $x_6$ et les inconnues libres sont $x_3$ et $x_5$.\n",
"\n",
"2. Prenons l'exemple donné dans [Notebook du chapitre 1.5-6: Matrices Echelonnées](./1.5-6.%20Matrices%20Echelonnees.ipynb) \n",
"Le système initial est un système de sept équations linéaires à huit inconnues $x_1, \\ldots, x_8$. On constate que la matice $B$ possède cinq colonnes pivots (1,3,4,6 et 9). On aurait envie de dire que les inconnues principales sont $x_1, x_3, x_4$ et $x_6$ et les inconnues libres sont $x_2, x_5,x_7$ et $x_8$. \n",
"Mais attention la colonne 9 ne correspond pas à une inconnue! La présence du pivot dans cette colonne cause le problème suivant. La cinquième ligne de la matrice $B$ correspond à l'équation\n",
"Ce qui n'est possible que si $\\color{red}\\oplus=0$ or cela n'est pas vrai car $\\color{red}\\oplus$ est un pivot dnc non-nul! On obtient un système inconsistant, qui n'admet pas de solutions. On ne parle pas de variables libres ou principales si le système n'admet pas de solutions. \n",
"\n",
"\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 (réduite) $B$.\n",
"3. Si la matrice $B$ possède une ligne de la forme $(0\\, 0 \\,\\cdots \\,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",
"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": [
+ "## MODIFIEZ CI-DESSOUS ## \n",
+ "\n",
+ "#Par défaut, les coefficients sont fixés à 1 \n",
- "On appelle *système linéaire homogène*, tous système d'équations linéaires n'ayant que des zéros comme termes constants (tous les termes de droites $b_j=0$). \n",
- "Les systèmes homogène $A\\overrightarrow{x}=\\overrightarrow{0}$, avec $\\overrightarrow{0}$ le vecteur nul à m composantes, admettent toujours au moins une solution: la solution triviale (celle qu'avec des zéros). \n",
+ "On appelle *système linéaire homogène*, tout système d'équations linéaires n'ayant que des zéros comme termes constants (tous les termes de droites $b_i=0$). \n",
+ "Les systèmes homogène $A\\overrightarrow{x}=\\overrightarrow{0}$, avec $\\overrightarrow{0}$ le vecteur nul à $m$ composantes, admettent toujours au moins une solution: la solution triviale à $n$ composantes (celle qu'avec $n$ zéros). \n",
"\n",
"#### Solution homogène et solution particulière\n",
- "Pour les systèmes linéaires compatibles (qui admettent une solution), la solution $s$ peut être donnée sous forme paramétrique vectorielle comme suit:\n",
+ "Pour les systèmes linéaires compatibles/consistants (qui admettent une solution), chaque solution $\\overrightarrow{w}$ peut être donnée sous forme paramétrique vectorielle comme suit:\n",
"$$\n",
- "s=\\overrightarrow{p} + t \\overrightarrow{v}\n",
- "$$où $ \\overrightarrow{p} $ est une **solution particulière** au système linéaire, tandis que $ t\\overrightarrow{v} $ (avec $t \\in \\mathbb{R}$) est une solution du système linéaire homogène $ A\\overrightarrow{x}=\\overrightarrow{0} $ (appelé **solution homogène**).\n",
+ "$$où $ \\overrightarrow{p} $ est une **solution particulière** du système linéaire, tandis que $\\overrightarrow{v}_h $ est une solution du système linéaire homogène $ A\\overrightarrow{x}=\\overrightarrow{0} $ (appelé **solution homogène**). La solution homogène $\\overrightarrow{v}_h $ dépendra de paramètres (le nombre de paramètres dépendra de la matrice $A$). L'ensemble de solutions de $A\\overrightarrow{x}=\\overrightarrow{b}$ sera l'ensemble des vecteurs $\\overrightarrow{w}$ définis ci-dessous.\n",
"\n",
- "En deux dimensions, l'ensemble des solutions peut être un point (si la seule solution homogène est $ \\overrightarrow{v}=\\overrightarrow{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",
+ "**Voici les différents ensembles de solutions que l'on peut avoir** Attention: ces cas dépendent aussi du vecteur $\\overrightarrow{b}$! \n",
+ "En deux dimensions, l'ensemble des solutions peut être *un vecteur* (aussi des fois appelé *un point*) (si la seule solution homogène est $\\overrightarrow{0}$), *une droite* (si l'ensemble des solutions homogènes $\\overrightarrow{v}_h$ est une droite du plan 2D) ou *le plan entier* (si chaque vecteur 2D est une solution du système homogèn (dans ce cas il y aura deux paramètres)).\n",
" \n",
- "En trois dimensions, l'ensemble des solutions peut être un point (si la seule solution homogène est $ \\overrightarrow{v}=\\overrightarrow{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)."
+ "En trois dimensions, l'ensemble des solutions peut être *un vecteur* (un point) (si la seule solution homogène est $\\overrightarrow{0}$), *une droite* (si l'ensemble des solutions homogènes forme une droite dans l'espace 3D), *un plan* (si l'ensemble des solutions homogènes forme un plan de l'espace 3D) ou *tout l'espace 3D* (si chaque vecteur 3D est une solution au système homogène (dans ce cas il y aura trois paramètres))."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### **EXERCICE 3**\n",
"\n",
"\n",
- "Pour les systèmes de l'exercice 2, donner la nature des solutions (droite, plan, point...). Un graphe s'affichera avec les solutions.\n",
+ "Pour les systèmes de l'exercice 2, trouver la nature des solutions (droite, plan, point...). Un graphe s'affichera avec les solutions.\n",
"Soient $V$ un $\\mathbb{R}$-espace vectoriel et $S\\subset V$ une collection de vecteurs dans $V.$ On dit que $S$ est linéairement dépendante (ou liée) s'il existe des vecteurs distincts $v_1,\\ldots,v_r\\in S$ et des scalaires $\\lambda_1,\\ldots,\\lambda_r\\in \\mathbb{R}$ non tous nuls tels que $\\lambda_1v_1+\\cdots+\\lambda_rv_r=0.$ (Autrement dit, s'il existe une combinaison linéaire (non triviale) de vecteurs de $S$ qui se réduit au vecteur nul.) S'il n'existe pas de tels vecteurs dans $S,$ alors on dit que $S$ est linéairement indépendante (ou libre).\n",
"\n",
"### PROPOSITION 1\n",
"\n",
"Soient $V$ un $\\mathbb{R}$-espace vectoriel et $v_1,\\ldots,v_r\\in V$ des vecteurs de $V.$ Alors ces derniers sont linéairement dépendants si et seulement s'il existe $1\\leq i\\leq r$ tels que $v_i\\in \\mbox{Vect}(\\{v_1,\\ldots,v_{i-1},v_{i+1},\\ldots,v_r\\}),$ c'est-à-dire si et seulement si l'on peut exprimer un des vecteurs de la liste comme une combinaison linéaire des autres.\n",
"\n",
"### PROPOSITION 2\n",
"\n",
"Soient $V$ un $\\mathbb{R}$-espace vectoriel et $S\\subset V$ une famille libre de vecteurs dans $V.$ Alors tout sous-ensemble $T\\subset S$ est aussi libre.\n",
"\n",
"### PROPOSITION 3\n",
"\n",
"Soient $V$ un $\\mathbb{R}$-espace vectoriel et $S\\subset V$ une famille liée de vecteurs dans $V.$ Alors toute collection de vecteurs $T$ contenant $S$ est également liée."
"Entrez les coefficients $\\lambda_i$ dans le vecteur ci-dessous puis exécutez les deux cellules pour vérifier votre réponse."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"solution = [1, 0, 2] # Réponse à compléter\n",
"\n",
"ch4_1_2ex1(solution)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### EXERCICE 2\n",
"\n",
"D'après les mêmes données que l'exercice 1, la collection des vecteurs $v_1$, $v_2$, $v_3$ et $\\begin{pmatrix} 3 \\\\ 0 \\\\ 4 \\end{pmatrix}$ est-elle liée ?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"ch4_1_2ex2()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### EXERCICE 3\n",
"\n",
"Les collections de vecteurs suivantes sont-elles liées ?"
+ "[Passez au notebook du chapitre 4.3. Bases et dimension](./4.3.%20Bases%20et%20dimension.ipynb)"
+ ]
}
],
"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.2"
},
"pycharm": {
"stem_cell": {
"cell_type": "raw",
"metadata": {
"collapsed": false
},
"source": []
}
}
},
"nbformat": 4,
"nbformat_minor": 4
}
diff --git "a/Chapitre 4 - Bases et dimension/4.11. Coordonn\303\251es par rapport \303\240 une base.ipynb" "b/Chapitre 4 - Bases et dimension/4.11. Coordonn\303\251es par rapport \303\240 une base.ipynb"
index df012d9..5e59aaf 100644
--- "a/Chapitre 4 - Bases et dimension/4.11. Coordonn\303\251es par rapport \303\240 une base.ipynb"
+++ "b/Chapitre 4 - Bases et dimension/4.11. Coordonn\303\251es par rapport \303\240 une base.ipynb"
@@ -1,292 +1,302 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from Ch4Functions import *"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Concept(s)-clé(s)\n",
"\n",
- "### Définition 1 :\n",
- "Soient $V$ un $\\mathbb{R}$-espace vectoriel de dimension finie $n$, $\\mathscr{B} =\\{v_1,\\ldots,v_n\\}$ une base ordoné de $V$ et $v \\in V$. Comme $\\mathscr{B}$ est une base de $V$, il existe des uniques scalaires $\\alpha_1,\\ldots,\\alpha_n \\in \\mathbb{R}$ tels que $v = \\alpha_1v_1 + \\ldots + \\alpha_nv_n$. On appelle $\\alpha_1,\\ldots,\\alpha_n$ les coordonnées de $v$ par rapport à la base $\\mathscr{B}$ et on écrit\n",
+ "### DÉFINITION 1 :\n",
+ "Soient $V$ un $\\mathbb{R}$ -espace vectoriel de dimension finie $n, \\mathscr{B}=\\left(v_{1}, \\ldots, v_{n}\\right)$ une base ordonnée de $V$ et $v \\in V$. Comme $\\mathscr{B}$ est une base de $V,$ il existe des uniques scalaires $\\alpha_{1}, \\ldots, \\alpha_{n} \\in \\mathbb{R}$ tels que $v=\\alpha_{1} v_{1}+\\cdots+\\alpha_{n} v_{n} .$ On appelle $\\alpha_{1}, \\ldots, \\alpha_{n}$ les coordonnées de $v$ par rapport $\\dot{a}$ la base $\\mathscr{B}$ et on écrit\n",
- "Soient $V$ un $\\mathbb{R}$-espace vectoriel de dimension finie $n$ et $\\mathscr{B} = (v_1,\\ldots,v_n)$ une base ordonnée de $V$. Alors les deux affirmations suivantes sont vérifiées.\n",
- "\n",
- "1. Pour tous $v_1,v_2 \\in V$, on a $[v_1 + v_2 ]_{\\mathscr{B}} = [v_1]_{\\mathscr{B}}+[v_2]_{\\mathscr{B}}.$\n",
- "\n",
- "2. Pour tout $v \\in V$ et tout $\\lambda \\in \\mathbb{R}$, on a $[\\lambda v]_{\\mathscr{B}} = \\lambda[v]_{\\mathscr{B}}$"
+ "### PROPOSITION 2 :\n",
+ "Soient $V$ un $\\mathbb{R}$-espace vectoriel de dimension finie $n$ et $\\mathscr{B}=\\left(v_{1}, \\ldots, v_{n}\\right)$ une base ordonnée de $V$. Alors les deux affirmations suivantes sont vérifiées.\n",
+ "1. Pour tous $v_{1}, v_{2} \\in V,$ on a $\\left[v_{1}+v_{2}\\right]_{\\mathscr{B}}=\\left[v_{1}\\right]_{\\mathscr{B}}+\\left[v_{2}\\right]_{\\mathscr{B}}$\n",
+ "2. Pour tout $v \\in V$ et tout $\\lambda \\in \\mathbb{R},$ on a $[\\lambda v]_{\\mathscr{B}}=\\lambda[v]_{\\mathscr{B}}$."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Exercice 1:\n",
"\n",
- "Soit $\\mathbb{R}^2$ l'espace du plan. La base la plus évidnte de cet espace vectoriel est la base orthonormée $\\mathscr{B} = ((1,0),(0,1))$. Cette base est représentée dans le graphique suivant."
+ "Soit $\\mathbb{R}^2$ l'espace du plan. La base la plus évidente de cet espace vectoriel est la base orthonormée $\\mathscr{B} = \\left\\{\\left(\\begin{array}{l}1 \\\\ 0 \\end{array}\\right),\\left(\\begin{array}{l}0 \\\\ 1 \\end{array}\\right)\\right\\}$. Cette base est représentée dans le graphique suivant."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#ici un graph pas distordu (graph 1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Quelle base de $\\mathbb{R}^2$ est représentée ci-dessous?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#ici un graph avec grille distordue (graph 2)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Entrez les vecteurs qui forment la base réprésentée ci-dessus\n",
"# Par exemple : [[1, 2], [3, 4]]\n",
"base = [[-2,1],[4,1]]\n",
"\n",
"ch4_11ex1(base)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Exercice 2\n",
"\n",
"a) Soit le vecteur $\\textbf{v}$ représenté dans le graph suivant, $\\mathscr{B}_1$ la base orthonormée de $\\mathbb{R}^2$ et $\\mathscr{B}_2 = ((1,2),(3,2))$. Quelles sont les coordonnées de de $\\textbf{v}$ dans $\\mathscr{B}_1$? "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#ici graph avec v desssus (graph 3)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Entrez les coordonnées du vecteur v dans la base B1\n",
"# Par exemple : [1,2]\n",
"vB1 = [5,6]\n",
"\n",
"ch4_11ex2aB1(vB1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Et dans $\\mathscr{B}_2$?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Entrez les coordonnées du vecteur v dans la base B2\n",
"# Par exemple : [1,2]\n",
"vB2 = [2,1]\n",
"\n",
"ch4_11ex2aB2(vB2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"b) Avec les mêmes bases, quelles sont les coordonnées du vecteur $\\textbf{u}$ dans $\\mathscr{B}_1$?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#ici graph avec u desssus (graph 4)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Entrez les coordonnées du vecteur u dans la base B1\n",
"# Par exemple : [1,2]\n",
"uB1 = [8,4]\n",
"\n",
"ch4_11ex2bB1(uB1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Et dans $\\mathscr{B}_2$?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Entrez les coordonnées du vecteur u dans la base B2\n",
"# Par exemple : [1,2]\n",
"uB2 = [-1,3]\n",
"\n",
"ch4_11ex2bB2(uB2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"c) Toujours avec les mêmes bases, quelles sont les coordonnées du vecteur $\\textbf{w}$ dans $\\mathscr{B}_1$?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#ici graph avec w desssus (graph 5)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Entrez les coordonnées du vecteur w dans la base B1\n",
"# Par exemple : [1,2]\n",
"wB1 = [5,4]\n",
"\n",
"ch4_11ex2cB1(wB1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Et dans $\\mathscr{B}_2$?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Entrez les coordonnées du vecteur w dans la base B2\n",
"# Par exemple : [1,2]\n",
"wB2 = [.5,1.5]\n",
"\n",
"ch4_11ex2cB2(wB2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Exercice 3\n",
"\n",
"Considérons maintenant le vecteur $\\textbf{s}$ tel que $\\textbf{s} = \\textbf{v}+\\textbf{u}$. A l'aide de la proposition 2 et de l'exerciceprécédent, déduire les coordonnées de $\\textbf{s}$ dans $\\mathscr{B}_1$."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Entrez les coordonnées du vecteur s dans la base B1\n",
"# Par exemple : [1,2]\n",
"sB1 = [13,10]\n",
"\n",
"ch4_11ex3B1(sB1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Et dans $\\mathscr{B}_2$?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Entrez les coordonnées du vecteur s dans la base B2\n",
"# Par exemple : [1,2]\n",
"sB2 = [1,4]\n",
"\n",
"ch4_11ex3B2(sB2)"
]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "[Passez au notebook du chapitre 4.12. Trouver une base à partir d'un système générateur](./4.12.%20Trouver%20une%20base%20%C3%A0%20partir%20d'un%20syst%C3%A8me%20g%C3%A9n%C3%A9rateur.ipynb)"
+ ]
}
],
"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.2"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
diff --git "a/Chapitre 4 - Bases et dimension/4.12. Trouver une base \303\240 partir d'un syst\303\250me g\303\251n\303\251rateur.ipynb" "b/Chapitre 4 - Bases et dimension/4.12. Trouver une base \303\240 partir d'un syst\303\250me g\303\251n\303\251rateur.ipynb"
index a078e1f..8e406ee 100644
--- "a/Chapitre 4 - Bases et dimension/4.12. Trouver une base \303\240 partir d'un syst\303\250me g\303\251n\303\251rateur.ipynb"
+++ "b/Chapitre 4 - Bases et dimension/4.12. Trouver une base \303\240 partir d'un syst\303\250me g\303\251n\303\251rateur.ipynb"
@@ -1,135 +1,135 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from Ch4Functions import *"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Concept(s)-clé(s)\n",
"\n",
"\n",
"\n",
"### MÉTHODE POUR TROUVER UNE BASE À PARTIR D'UN SYSTÈME DE GÉNÉRATEURS :\n",
"\n",
"Soient $V$ un $\\mathbb{R}$-espace vectoriel de dimension finie $n,$ $\\mathscr{B}=(v_1,\\ldots,v_n)$ une base de $V,$ $S\\subset V$ une partie finie et $W=\\mbox{Vect}(S).$ Pour trouver une base de $W$ et la compléter en une base de $V,$ on procède comme suit.\n",
"\n",
"\n",
"\n",
"1. Pour chaque $v\\in S,$ on écrit $[v]_{\\mathscr{B}} = \\begin{pmatrix} \\alpha_1 \\ \\alpha_2 \\ \\cdots \\ \\alpha_n \\end{pmatrix}^T.$\n",
"\n",
"2. On définit la matrice $A$ dont les lignes sont les vecteurs $[v]_{\\mathscr{B}}^T$ ($v\\in S$).\n",
"\n",
"3. On échelonne la matrice $A$ : les lignes non-nulles ainsi obtenues forment une base de l'espace ligne de cette matrice. De plus, les vecteurs de $W$ correspondants forment une base de $W.$\n",
"\n",
"4. On remplace les lignes nulles de la matrice échelonnée par des lignes non-nulles de manière à ce que celle-ci contienne $n$ pivots. Les vecteurs de $V$ associés aux lignes de cette nouvelle matrice forment une base de $V.$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Exercice 1\n",
"\n",
"Soit $S = (v_1,v_2,v_3,v_4,v_5) \\in \\mathbb{R}^6$ et $W=Vect(S)$. Selon la méthode vue en cours, quelles sont les dimensions de la matrice $A$?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"ch4_12ex1()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Exercice 2\n",
"\n",
"Sachant que $v_2 = 2v_3+3v_5$, combien faut-il rajouter, au minimum, de lignes non-nulles à la matrice $A$, dans sa forme échelonnée, pour que les vecteurs associés aux lignes de celle-ci forment une base de $\\mathbb{R}^6$?"
diff --git a/Chapitre 4 - Bases et dimension/4.3. Bases et dimension.ipynb b/Chapitre 4 - Bases et dimension/4.3. Bases et dimension.ipynb
index 1c3d445..ee91912 100644
--- a/Chapitre 4 - Bases et dimension/4.3. Bases et dimension.ipynb
+++ b/Chapitre 4 - Bases et dimension/4.3. Bases et dimension.ipynb
@@ -1,183 +1,190 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from Ch4Functions import *"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"# Concepts-clés et théorie\n",
"\n",
"### DÉFINITION 1 :\n",
"\n",
"Soient $V$ un $\\mathbb{R}$-espace vectoriel et $\\mathscr{B}\\subset V$ un ensemble de vecteurs de $V.$ On dit que $\\mathscr{B}$ est une *base* $V$ si les deux conditions suivantes sont vérifiées.\n",
"\n",
"1. Tout $v\\in V$ est une combinaison linaire de vecteurs de $\\mathscr{B},$ i.e. $\\mbox{Vect}\\mathscr{B}=V$ \n",
"\n",
"2. Le sous-ensemble $\\mathscr{B}$ est linéairement indépendant.\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### EXERCICE 1\n",
"\n",
"Cochez votre réponse puis cliquez sur \"Vérifier\"."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"1. L'ensemble $\\begin{Bmatrix}\\begin{pmatrix} 1 \\\\ 0 \\\\ 1 \\end{pmatrix}, \\begin{pmatrix} 0 \\\\ 2 \\\\ 0 \\end{pmatrix}, \\begin{pmatrix} 0 \\\\ 0 \\\\ 3 \\end{pmatrix}, \\begin{pmatrix} 1 \\\\ 1 \\\\ 1 \\end{pmatrix}\\end{Bmatrix}$ est une base de $\\mathbb{R}^3$ :"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"ch4_3ex1a()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"2. L'ensemble $\\begin{Bmatrix}\\begin{pmatrix} 1 \\\\ 0 \\\\ 1 \\end{pmatrix}, \\begin{pmatrix} 0 \\\\ 1 \\\\ 0 \\end{pmatrix}\\end{Bmatrix}$ est une base de $\\mathbb{R}^3$ :"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"ch4_3ex1b()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"3. L'ensemble $\\begin{Bmatrix}\\begin{pmatrix} 1 \\\\ -2 \\\\ 4 \\end{pmatrix}, \\begin{pmatrix} 7 \\\\ -1 \\\\ 2 \\end{pmatrix}, \\begin{pmatrix} 2 \\\\ 5 \\\\ -3 \\end{pmatrix}\\end{Bmatrix}$ est une base de $\\mathbb{R}^3$ :"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"ch4_3ex1c()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### DÉFINITION 2 :\n",
"\n",
"On dit d'un $\\mathbb{R}$-espace vectoriel $V$ qu'il est *de dimension finie* s'il possède une base finie. Sinon, on dit que $V$ est *de dimension infinie*.\n",
"\n",
"\n",
"### THÉORÈME 3 :\n",
"Soit $V$ un $\\mathbb{R}$-espace vectoriel de dimension finie. Alors toutes les bases de $V$ sont finies et possèdent le mème nombre d'éléments."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### EXERCICE 2\n",
"\n",
"Sélectionnez un ensemble de vecteurs parmi la liste suivante tel que cet ensemble forme une base de $\\mathbb{R}^3$ :\n",
+ "[Passez au notebook du chapitre 4.4-5. Dimension et base dans un espace de dimension connue](./4.4-5.%20Dimension%20et%20base%20dans%20un%20espace%20de%20dimension%20connue.ipynb)"
+ ]
}
],
"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.2"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
diff --git a/Chapitre 4 - Bases et dimension/4.4-5. Dimension et base dans un espace de dimension connue.ipynb b/Chapitre 4 - Bases et dimension/4.4-5. Dimension et base dans un espace de dimension connue.ipynb
index ed0c9e0..2fbf53a 100644
--- a/Chapitre 4 - Bases et dimension/4.4-5. Dimension et base dans un espace de dimension connue.ipynb
+++ b/Chapitre 4 - Bases et dimension/4.4-5. Dimension et base dans un espace de dimension connue.ipynb
@@ -1,100 +1,107 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from Ch4Functions import *"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Concepts-clés et théorie\n",
"\n",
"\n",
"\n",
"### DÉFINITION 1 :\n",
"\n",
"Soit $V$ un $\\mathbb{R}$-espace vectoriel de dimension finie. Le nombre d'éléments dans une base s'appelle la *dimension* de $V$ et on le désigne par $\\mbox{dim} V.$\n",
"\n",
"### PROPOSITION 2 :\n",
"\n",
"Soit $V$ un $\\mathbb{R}$-espace vectoriel de dimension finie. Alors les deux affirmations suivantes sont vérifiées.\n",
"\n",
"\n",
"\n",
"1. Si $\\{v_1,\\ldots,v_r\\}$ est un ensemble générateur de $V,$ alors il existe une base $\\mathscr{B}$ de $V$ telle que $\\mathscr{B}\\subset \\{v_1,\\ldots,v_r\\}.$ On parle d'*extraction de base*.\n",
"\n",
"2. Si $\\{v_1,\\ldots,v_r\\}$ est une partie libre de $V,$ alors il existe une base $\\mathscr{B}$ de $V$ telle que $\\{v_1,\\ldots,v_r\\}\\subset \\mathscr{B}.$ On parle de *complétion en une base*."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### EXERCICE 1\n",
"\n",
"Extraire une base $\\mathscr{B}$ de $\\mathbb{R}^3$ à partir des vecteurs suivants :\n",
"# Complétez les valeurs puis exécutez la cellule\n",
"v = [[0, 0], [0, 0]]\n",
"\n",
"ch4_4_5ex2(v)"
]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "[Passez au notebook du chapitre 4.6. Systèmes homogènes et base de l'espace des solutions](./4.6.%20Syst%C3%A8mes%20homog%C3%A8nes%20et%20base%20de%20l'espace%20des%20solutions.ipynb)"
+ ]
}
],
"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.2"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
diff --git "a/Chapitre 4 - Bases et dimension/4.6. Syst\303\250mes homog\303\250nes et base de l'espace des solutions.ipynb" "b/Chapitre 4 - Bases et dimension/4.6. Syst\303\250mes homog\303\250nes et base de l'espace des solutions.ipynb"
index 0830422..b9834e6 100644
--- "a/Chapitre 4 - Bases et dimension/4.6. Syst\303\250mes homog\303\250nes et base de l'espace des solutions.ipynb"
+++ "b/Chapitre 4 - Bases et dimension/4.6. Syst\303\250mes homog\303\250nes et base de l'espace des solutions.ipynb"
@@ -1,125 +1,133 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from Ch4Functions import *"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Concepts-clés et théorie\n",
"\n",
"\n",
"\n",
"### RAPPEL 1 :\n",
"\n",
"Soient $A\\in M_{m \\times n}(\\mathbb{R})$ et $X = \\begin{pmatrix} x_1 \\; x_2 \\;\\cdots \\; x_n\\end{pmatrix}^T,$ où $x_1,\\ldots,x_n$ sont des inconnues réelles. Alors l'ensemble des solutions du système linéaire $AX=0$ est un sous-espace vectoriel de $\\mathbb{R}^n.$\n",
"\n",
"### PROPOSITION 1 :\n",
"\n",
"Soient $A$ et $X$ comme ci-dessus. Alors la dimension de l'espace des solutions du système $AX=0$ est égale au nombre de variable(s) libre(s) dans une forme échelonnée de $A.$\n",
"\n",
"\n",
"\n",
"### PROPOSITION 2 :\n",
"\n",
"Soient $A$ et $X$ comme ci-dessus. Pour trouver une base de l'espace des solutions du système $AX=b,$ on pose successivement une des variables libre égale à $1$ et toutes les autres égales à $0.$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### EXERCICE 1\n",
"\n",
"_Dimension maximale de l'espace des solutions_\n",
"\n",
"Soit une matrice $A$ à $4$ lignes et $6$ colonnes non nulles. Quelle est la dimension maximale de l'espace des solutions du système $AX = 0$ ?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"ch4_6ex1()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### EXERCICE 2\n",
"\n",
"Soit la matrice $A$ avec les coefficients suivants :\n",
"A l'aide de de l'énoncé et de la réponse de l'exercice 2 et de la proposition 2, donnez une base de l'espace des solutions du système homogène $AX = 0$."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Entrez les vecteurs qui formeront une base de la solution\n",
"# Par exemple : [[1, 2], [3, 4]]\n",
"base = []\n",
"\n",
"ch4_6ex3(base)"
]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "[Passez au notebook du chapitre 4.7-8. Dimension d'un sous-espace et d'une somme de sous-espaces\n",
diff --git a/Chapitre 4 - Bases et dimension/4.7-8. Dimension d'un sous-espace et d'une somme de sous-espaces.ipynb b/Chapitre 4 - Bases et dimension/4.7-8. Dimension d'un sous-espace et d'une somme de sous-espaces.ipynb
index 0203365..6612950 100644
--- a/Chapitre 4 - Bases et dimension/4.7-8. Dimension d'un sous-espace et d'une somme de sous-espaces.ipynb
+++ b/Chapitre 4 - Bases et dimension/4.7-8. Dimension d'un sous-espace et d'une somme de sous-espaces.ipynb
@@ -1,226 +1,234 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from Ch4Functions import *"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Concepts-clés et théorie\n",
"\n",
"\n",
"\n",
"### THÉORÈME 1 :\n",
"\n",
"Soient $V$ un $\\mathbb{R}$-espace vectoriel de dimension finie et $W$ un sous-espace vectoriel de $V.$ Alors les affirmations suivantes sont vérifiées.\n",
"\n",
"\n",
"\n",
"1. Le sous-espace vectoriel $W$ est de dimension finie.\n",
"\n",
"2. La dimension de $W$ satisfait $\\dim W\\leq \\dim V$.\n",
"\n",
"3. Si $\\dim W=\\dim V,$ alors $W=V$."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### EXERCICE 1\n",
"\n",
"Soit un système de $3$ équations à $5$ inconnues.\n",
"\n",
"Quelles sont les dimensions possibles pour l'espace des solutions ? Cochez toutes les réponses valides (maintenez <kbd>CTRL</kbd> pour en sélectionner plusieurs)."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"ch4_7_8ex1()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### EXERCICE 2\n",
"\n",
"Soit $S_1$ un système de $2$ équations à $3$ inconnues et dont l'espace de solution forme un plan.\n",
"\n",
"On définit $S_2$ comme étant le système $S_1$ privé d'une équation.\n",
"\n",
"Quelle est la dimension de l'espace des solutions de $S_2$ ?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"ch4_7_8ex2()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### EXERCICE 3\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Remarquez la propriété suivante :\n",
"\n",
"- $\\dim(A + B) + \\dim(A \\cap B) = \\dim(A) + \\dim(B)$"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"ch4_7_8ex3_venn()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Donner dans chaque cas la dimension de la somme des deux espaces vectoriels ; appuyez sur le bouton \"Visualiser\" pour vous aider :"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"(a) $\\dim (W + V)$ avec $W$ un plan et $V$ une droite coplanaire à ce plan ; les deux passant par l'origine."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"ch4_7_8ex3a()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"(b) $\\dim (W + V)$ avec $W$ un plan et $V$ une droite non coplanaire à ce plan ; les deux passant par l'origine."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"ch4_7_8ex3b()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"(c) $\\dim (V + V)$ avec $V$ une droite passant par l'origine."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"ch4_7_8ex3c()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"(d) $\\dim (V_1 + V_2)$ avec $V_1$ et $V_2$ deux droites distinctes passant par l'origine."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"ch4_7_8ex3d()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"(e) $\\dim (W_1 + W_2)$ avec $W_1$ et $W_2$ deux plans distincts passant par l'origine."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"ch4_7_8ex3e()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"(f) $\\dim (U + X)$ avec $U$ l'origine et $X$ l'espace $\\mathbb{R}^3$."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"ch4_7_8ex3f()"
]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "[Passez au notebook du chapitre 4.9. Rang-ligne et rang-colonne d'une matrice\n",
En effet, les quatres vecteurs ne sont pas linéairement indépendants (Déf. 1-2) car il est possible d'exprimer l'un avec une combinaison linéaire des autres. Par exemple :
On ne peut pas générer $\mathbb{R}^3$ à partir de cet ensemble. En effet, on ne peut par exemple pas obtenir le vecteur $\\begin{pmatrix} 1 \\\\ 0 \\\\ 0 \end{pmatrix} \\in \mathbb{R}^3$ avec une combinaison linéaire de $\\begin{pmatrix} 1 \\\\ 0 \\\\ 1 \end{pmatrix}$ et $\\begin{pmatrix} 0 \\\\ 1 \\\\ 0 \end{pmatrix}$.
Graphiquement les deux vecteurs ne peuvent engendrer qu'un plan:
display(Markdown("C'est incorrect, ce vecteur ne permet pas de former une base."))
def ch4_6ex1():
text = widgets.IntText(
description='Réponse :',
disabled=False
)
button = widgets.Button(description='Vérifier')
out = widgets.Output()
def callback(e):
out.clear_output()
r = text.value
feedback = ""
is_correct = False
if r == 6:
feedback = "Comme la matrice n'est pas nulle, au moins une variable n'est pas libre."
elif r >= 7:
feedback = "La dimension de l'espace des solutions ne peut excéder la dimension de l'espace des variables."
elif r == 5:
is_correct = True
feedback = "Le nombre maximal de variables libres dans ce système est $5$. Par la proposition 1 on en déduit la dimension maximale de l'espace des solutions du système homogène $AX = 0$."
elif r >= 2 and r <= 4:
feedback = "Ce n'est pas le nombre maximal de variables libres dans ce système."
elif r <= 1:
feedback = "Le nombre maximal de variables libres dans ce système ne peut être inférieur à $2$ ($\\text{nb. colonnes} - \\text{nb. lignes}$)."
correct_text = "C'est correct!<br />"
incorrect_text = "C'est incorrect.<br />"
with out:
display(Markdown((correct_text if is_correct else incorrect_text) + feedback))
button.on_click(callback)
display(text)
display(button)
display(out)
def ch4_6ex2():
text = widgets.IntText(
description='Réponse :',
disabled=False
)
button = widgets.Button(description='Vérifier')
out = widgets.Output()
def callback(e):
out.clear_output()
r = text.value
with out:
if r == 2:
display(Markdown("C'est correct!<br />Le nombre de variables libres est $2$, par la proposition 1 on trouve la dimension de l'espace des solutions."))
else:
display(Markdown("C'est incorrect."))
button.on_click(callback)
display(text)
display(button)
display(out)
def ch4_7_8ex3_venn():
ax = plt.gca()
r = 5
rd = r / 2
rc = rd * 2
f = 25
a = plt.Circle((-rd, 0), radius=r, color="#fc032c90")
b = plt.Circle((rd, 0), radius=r, color="#0377fc90")
feedback = "L'ensemble entré n'engendre pas l'espace solution du système."
else:
is_correct = True
correct_text = "C'est correct!<br />"
incorrect_text = "C'est incorrect.<br />"
display(Markdown((correct_text if is_correct else incorrect_text) + feedback))
def ch4_7_8ex1():
select = widgets.SelectMultiple(
options=['0', '1', '2', '3', '4', '5'],
description='Réponse :',
disabled=False
)
button = widgets.Button(description='Vérifier')
out = widgets.Output()
display(select)
display(button)
display(out)
def verification(e):
if len(select.value) > 0:
out.clear_output()
with out:
other = "<br>La dimension de l'espace des solutions dépend du nombre de variables libres : dans ce système celle-ci peut être au plus $5-3=2$."
if select.value != ('0', '1', '2'):
display(Markdown("C'est incorrect!" + other))
else:
display(Markdown("C'est correct." + other))
button.on_click(verification)
def ch4_7_8ex2():
text = widgets.IntText(description='Réponse :')
button = widgets.Button(description='Vérifier')
out = widgets.Output()
def callback(e):
out.clear_output()
r = text.value
with out:
other = "<br />En effet, comme la solution de $S_1$ est un plan les deux équations sont dépendantes. La solution de $S_2$ est donc aussi un plan, donc sa dimension est $2$."
ch4_7_8ex3(2, "$V$ est un sous-ensemble de $W$, donc $\dim (W + V) = \dim W = 2$.", lambda: go.Figure(data=[ch4_7_8ex3_plane('A', 'red', 0), ch4_7_8ex3_line('B', 'blue', 0)]).show())
def ch4_7_8ex3b():
ch4_7_8ex3(3, "$W$ et $V$ sont deux espaces indépendants, donc $\dim (W + V) = \dim W + \dim V = 2 + 1 = 3$.", lambda: go.Figure(data=[ch4_7_8ex3_plane('A', 'red', 0), ch4_7_8ex3_line('B', 'blue', 3)]).show())
def ch4_7_8ex3c():
ch4_7_8ex3(1, "La somme d'un même espace n'a pas d'effet : $\dim (V + V) = \dim V = 1$.", lambda: go.Figure(data=[ch4_7_8ex3_line('A', 'red', 0), ch4_7_8ex3_line('B', 'blue', 0)]).show())
def ch4_7_8ex3d():
ch4_7_8ex3(2, "$V_1$ et $V_2$ sont deux espaces indépendants, donc $\dim (V_1 + V_2) = \dim V_1 + \dim V_2 = 1 + 1 = 2$.", lambda: go.Figure(data=[ch4_7_8ex3_line('A', 'red', 0), ch4_7_8ex3_line('B', 'blue', 2)]).show())