Collège du Sud, Bulle
(2^e) et (3^e) OS PAM
(3^e)  OC AM

Applications des mathématiques

Systèmes d'équations linéaires

1. Systèmes réguliers

2. Systèmes singuliers

Version pour Mathematica
Édition 2018/2019
http://applmaths.collegedusud.ch/

§ 1 Systèmes linéaires réguliers

§ 1.1 Problèmes conduisant à des systèmes d'équations linéaires réguliers

Exercices

Pour l'instant, il est seulement demandé de poser les systèmes d'équations [sans ordinateur].
La résolution des systèmes sera effectuée plus tard (§ 1-2 et § 1-3).

Exercice 1-1- P 1

Trois frères ont acheté une propriété pour 3 000 000 francs. Il manque au premier, pour payer à lui seul cette acquisition, la moitié de ce qu'a le deuxième. Celui-ci payerait tout à lui seul s'il avait en plus le tiers de ce qu'a le premier. Enfin le troisième pour faire le paiement entier aurait besoin, en plus de ce qu'il a, du quart de ce que possède le premier. Combien chacun possède-t-il ?

Exercice 1-1- P 2

On a trois lingots.
Le premier contient 20 g d'or, 30 g d'argent et 40 g de cuivre.
Le deuxième contient 30 g d'or, 40 g d'argent et 50 g de cuivre.
Le troisième contient 40 g d'or, 50 g d'argent et 90 g de cuivre.
On demande quel masse il faudra prendre de chacun pour en former
un lingot qui renferme 34 g d'or, 46 g d'argent et 67 g de cuivre.

Exercice 1-1- P 3

On suppose qu'un cycliste a une vitesse de 25 (km/h) en terrain plat, de 15 (km/h) en montée et de 30 (km/h) en descente. Ce cycliste met 4 h 24 min pour parcourir une route AB dans le sens de A vers B et 4 h 36 min pour la parcourir dans le sens de B vers A. La route ayant une longueur de 100 km, on demande de déterminer les longueurs de terrain plat, de montée et de descente de A vers B.

Exercice 1-1- P 4

Déterminez les coefficients du polynôme

p(x)=(Subscript[a, 0])+(Subscript[a, 1])x+(Subscript[a, 2])(x^2)+(Subscript[a, 3])(x^3)

de telle sorte que

p(0)=2, p(1)=5, p(-1)=-1, p(2)=-3.

Exercice 1-1- P 5

Déterminez le polynôme du quatrième degré qui passe par les cinq points

(0; -1), (2; 3), (3; 1), (4; 6), (5,-2).

Exercice 1-1- P 6

Déterminez les coordonnées du point d'intersection des deux courbes y=(x^2)-x et y=(4/x).

Circuits électriques simples

Circuits électriques: Analogie hydraulique

Pour acquérir une première intuition de ce qu'est un circuit électrique, faisons une comparaison.  Imaginons une pompe qui actionne un circuit hydraulique dont le liquide tourne en circuit fermé, par exemple, le chauffage central d'un immeuble.
Ses caractéristiques sont
  *	la pression entre l'entrée et la sortie de la pompe;
  *	la résistance que le radiateur oppose au passage du liquide (rétrécissement du tuyau);
  *	le débit du liquide dans la tuyauterie.

Considérons d'abord le cas où deux radiateurs différents sont montés en parallèle (voir la figure suivante). Sachant que le débit qui sort de la pompe est  I=5 (l/min), quel est le débit qui entre dans la pompe ?
Sachant que le débit qui sort de la pompe est  I=5 (l/min)  et celui qui entre dans le premier radiateur est de  (Subscript[I, 1])= 3 (l/min), quel est le débit qui entre dans le deuxième radiateur  (Subscript[I, 2])= ?

Le débit qui entre dans la pompe est égal à celui qui en sort, sinon la pompe perdrait de l'eau (fuite) ou recevrait un apport d'eau. On a la règle générale:
sur une portion de circuit non ramifiée, le débit est partout le même.

Le débit qui entre dans le deuxième radiateur est de  (Subscript[I, 2])=I-(Subscript[I, 1])=2 (l/min), sinon le circuit hydraulique perdrait de l'eau (fuite) ou recevrait un apport d'eau. Pour un embranchement (ou une ramification), on a la règle générale
la somme des débits entrants est égale à la somme des débits sortants

I=(Subscript[I, 1])+(Subscript[I, 2])

Considérons ensuite un circuit dans lequel deux radiateurs différents sont montés en série (voir figure suivante). Nous donnons les différences de pression entre certaines paires de points du circuit, en hectoPascals:

(Subscript[Δp, AB])=500 hPa;Δ (Subscript[p, BC])=0 hPa; (Subscript[Δp, CD])=-300 hPa; (Subscript[Δp, EA])=?; (Subscript[Δp, DE])=?

Entre les points B et C, nous supposons que le tuyau est d'un diamètre suffisant pour que le frottement soit négigeable et que la pression soit intégralement transmise: (Subscript[p, C])=(Subscript[p, B]); par suite  (Subscript[Δp, BC])=(Subscript[p, C])-(Subscript[p, B])=0.

Entre les point E et A, il n'y a qu'une conduite d'eau pour laquelle nous admettons que  (Subscript[Δp, EA])=(Subscript[p, A])-(Subscript[p, E])=0.

Pour déterminer (Subscript[Δp, DE]), il faut tenir compte du fait que le circuit est fermé. La règle est que, sur une boucle orientée,
la somme des augmentations de pression est égale à somme des chutes de pressions

(Subscript[Δp, AB])=(Subscript[Δp, DC])+(Subscript[Δp, ED])

500 hPa = 300 hPa+(Subscript[Δp, ED])

(Subscript[Δp, ED])=200 hPa          et        (Subscript[Δp, DE])=-200 hPa

Pour justifier la règle, démontrons que, sur toute boucle orientée fermée, la somme des variations de pression est nulle:

(Subscript[Δp, AB])+(Subscript[Δp, BC])+(Subscript[Δp, CD])+(Subscript[Δp, DE])+(Subscript[Δp, EA])=((Subscript[p, B])-(Subscript[p, A]))+((Subscript[p, C])-(Subscript[p, B]))+((Subscript[p, D])-(Subscript[p, C]))+((Subscript[p, E])-(Subscript[p, D]))+((Subscript[p, A])-(Subscript[p, E]))=0

En passant les chutes de pression dans le membre de droite

((Subscript[p, B])-(Subscript[p, A]))=((Subscript[p, B])-(Subscript[p, C]))+((Subscript[p, C])-(Subscript[p, D]))+((Subscript[p, D])-(Subscript[p, E]))+((Subscript[p, E])-(Subscript[p, A]))

(Subscript[Δp, AB])=(Subscript[Δp, CB])+(Subscript[Δp, DC])+(Subscript[Δp, ED])+(Subscript[Δp, AE])

Circuits électriques à courants continus

La résistance électrique R est exprimée en ohms [Ω].

Une source de courant continu (par exemple, une batterie, une pile, ...) est caractérisée par sa tension électrique U exprimée en volts [V]. La source comprend une borne positive et une borne négative. S'il n'y a qu'une seule source dans le circuit, à l'extérieur de la source, le courant circule de la borne positive vers la borne négative. Dans l'analogie hydraulique, la source de courant peut être comparée à la pompe. La tension électrique entre deux points correspond à la différence de pression. On peut supposer que la résistance interne de la source est nulle. Si la résistance interne n'est pas négligeable, il suffit d'ajouter un élément "résistance" en série avec la source.

Les conducteurs électriques sont des fils (souvent des fils de cuivre) qui conduisent le courant électrique. Dans l'analogie hydraulique, l'intensité du courant électrique correspond au débit du liquide dans le tuyau. Nous supposerons que la résistance des conducteurs est nulle. Lorsque leur résistance n'est pas négligeable, il suffit de rajouter un élément "résistance" sur le conducteur correspondant. L'unité d'intensité de courant I est l'ampère [A].

La loi d'Ohm affirme que, aux bornes d'une résistance R parcourue par un courant I, la chute de tension est donnée par la relation

U = R ·I

En mots: pour une résistance donnée, la tension aux bornes est proportionnelle à l'intensité du courant qui la traverse.
Pour les unités, on a

1 V = 1 Ω ·1 A

Première loi de Kirchhoff ou loi des noeuds

Dans chaque portion de circuit non ramifiée - appelée aussi "segment" ou "arc" -, le courant électrique est le même.  On introduit autant de variables (Subscript[I, 1]), (Subscript[I, 2]), ... qu'il y a de segments. A chaque segment, on attribue un sens de parcours choisi à priori. La valeur du courant sera un nombre positif ou négatif selon que le courant circule dans le sens choisi à priori ou dans le sens contraire.

Chaque courant étant affecté d'un sens choisi à priori, à chaque noeud du circuit,
	la somme des courants qui arrivent
		est égale à
	la somme des courants qui en partent.

Du point de vue physique, cette loi traduit le fait que, dans un noeud, l'électricité ne peut ni s'accumuler, ni être créée.

Deuxième loi de Kirchhoff ou loi des boucles

Dans l'analogie hydraulique, en parcourant une boucle (point d'arrivée = point de départ), on retrouve à l'arrivée la même pression qu'au départ. Par conséquent, la somme des augmentations de pression est égale à la somme des diminutions de pression. En électricité, il existe une règle analogue qui concerne les tensions dans une boucle.

Dans chaque boucle, un sens de parcours ayant été choisi,
	la somme algébrique des tensions aux bornes des générateurs
		est égale à
	la somme algébrique des chutes de tension sur les résistances.

On attribue à chaque maille du circuit un sens de parcours choisi à priori. (Au lieu de "maille", on dit aussi "boucle" ou "circuit"). 
On compare ensuite le sens de chaque composant (source, résistance) avec le sens de la boucle.
Pour former la somme des tensions des générateurs, on attribue à chaque source une tension aux bornes ± U.
Pour former la somme des chutes de tension, on attribue à chaque résistance une chute de tension ± R ·I.
Les signes sont donnés par les règles suivantes :

+ U	lorsque le sens de la source et le sens de parcours de la boucle coïncident :
		à l'intérieur de la source, le sens de la source va de la borne négative à la borne positive;
		à l'extérieur de la source, le sens de la source va de la borne positive à la borne négative;
		le sens de la boucle est choisi arbitrairement pour chaque boucle.

- U	lorsque le sens de la source et le sens de la boucle sont opposés :

+ R·I	lorsque le sens du courant et le sens de la boucle coïncident :
		le sens du courant a déjà été choisi pour exprimer la loi des noeuds;
		le sens de la boucle est choisi arbitrairement pour chaque boucle.

- R·I	lorsque le sens du courant et celui de la boucle s'opposent

Du point de vue physique, cette loi traduit le fait que, dans une boucle fermée, la somme des augmentations de tension est égale à la somme des diminutions de tension.

Problème résolu

D'un circuit électrique (voir figure), on donne les tensions aux bornes des sources (Subscript[U, 1]), (Subscript[U, 2]) et les valeurs des résistances (Subscript[R, 1]),  (Subscript[R, 2]),  (Subscript[R, 3]).

On demande de calculer tous les courants.
Pour ce faire, appliquons d'abord la première loi de Kirchhoff:

Dans ce circuit, il y a trois segments : EFAB, BCDE et BE. Dans chacun d'entre eux circule un courant inconnu, dénommé (Subscript[I, 1]),  (Subscript[I, 2]),  (Subscript[I, 3]) respectivement. A chaque courant, on attribue arbitrairement un sens (voir les flèches dans la figure ci-dessous).

Ce circuit comporte deux noeuds : E et B.
La première loi de Kirchhoff, pour le noeud E, donne l'équation

(Subscript[I, 2])+(Subscript[I, 3])=(Subscript[I, 1])

La première loi de Kirchhoff, pour le noeud B, donne l'équation

(Subscript[I, 1])=(Subscript[I, 2])+(Subscript[I, 3])

Appliquons maintenant la deuxième loi de Kirchhoff.
Le circuit admet trois boucles fermées; ce sont  ABEFA,  BCDEB  et  ACDFA.
Orientons chacune de ces trois boucles dans le sens (mathématique) direct 
(c'est-à-dire dans le sens inverse des aiguilles de la montre).
Pour la boucle ABEFA, la deuxième loi de Kirchhoff donne

(Subscript[U, 1])=(Subscript[R, 3]) (Subscript[I, 3])+(Subscript[R, 1]) (Subscript[I, 1])

Pour la boucle BCDEB, la deuxième loi de Kirchhoff donne

(Subscript[U, 2])=(Subscript[R, 2]) (Subscript[I, 2])-(Subscript[R, 3]) (Subscript[I, 3])

Pour la boucle ACDFA, la deuxième loi de Kirchhoff donne

(Subscript[U, 1])+(Subscript[U, 2])=(Subscript[R, 2]) (Subscript[I, 2])+(Subscript[R, 1]) (Subscript[I, 1])

Les lois de Kirchhoff nous ont donné cinq équations desquelles il nous faut éliminer deux équations redondantes : remarquons que
	la deuxième équation équivaut à la première;
	la cinquième équation est la somme des deux équations qui la précèdent.

Finalement, nous obtenons le système de trois équations à trois inconnues:

(Piecewise[{{(Subscript[I, 2])+(Subscript[I, 3])=(Subscript[I, 1])           }, {(Subscript[U, 1])=(Subscript[R, 3]) (Subscript[I, 3])+(Subscript[R, 1]) (Subscript[I, 1])}, {(Subscript[U, 2])=(Subscript[R, 2]) (Subscript[I, 2])-(Subscript[R, 3]) (Subscript[I, 3])}}])

La résolution du système d'équations donnera les valeurs des courants (voir § 1-2 et § 1-3).

Exercices

Exercice 1-1 analyse qualitative d’un circuit

Dans le circuit électrique ci-dessous, le symbole ⊗ correspond à une ampoule (elles sont toutes identiques). En supposant que  la résistance de ces ampoules ne dépend pas du courant qui les traverse et que la résistance des fils du circuit est négligeable, classer ces ampoules par ordre croissant de luminosité.

Exercice 1-1 résistance d’un fil

Sachant que la résistance électrique d’un fil vaut R=ρ(l/S), où ρ est la résistivité du matériau, l la longueur  du fil et S sa section, déterminez la résistance ...

(a) 	... d’un mètre de fil de cuivre de 1 (mm^2) de section.
(b)	 ... du filament de tungstène d’une ampoule à incandescence à température ambiante
	(environ 1 m de longueur pour un diamètre de 40 μm). Comparez ces résultats.

Exercice 1-1-P 7

Calculez tous les courants du circuit suivant (Monard, ex. 12 - 5 d)

Exercice 1-1- P 8

Calculez tous les courants du circuit suivant (Monard, ex. 12 - 5 b)

Exercice 1-1- P 9

Calculez la résistance R afin qu'elle soit traversée par un courant de 3 A dans le sens indiqué dans la figure.

Exercice 1-1- P 10

Calculez tous les courants du circuit suivant (Monard, ex. 12 - 5 c)

Exercice 1-1- P 11

Calculez tous les courants du circuit suivant (Monard, ex. 12 - 6 a)

Exercice 1-1- P12

Calculez tous les courants du circuit suivant (Monard, ex. 12 - 5 a)

Exercice 1-1- P 13

Calculez tous les courants du circuit suivant (Monard, ex. 12 - 6 f)

§ 1.2 Réduction à la forme triangulaire

Définitions

Équations linaires

Dans une équation linéaire, les inconnues x, y, z, ... apparaissent uniquement sous la forme

a x+b y+c z+...=k

où a, b, c, ... et k sont des constantes réelles. Par exemple,

(Sqrt[2])x -(3/2)y=56

est une équation linéaire alors que chacune des équations suivantes

x-(y^2)=3
x-(1/y)=1
3 x-(Sqrt[y])=8

n'est pas linéaire.
Les méthodes exposées dans ce chapitre ne concernent que les équations linéaires.

Forme générale

Pour résoudre un système d'équations linéaires, on commence par arranger les termes de la manière suivante:
	tous les termes contenant les inconnues sont mis dans le membre de gauche;
	les autres termes sont mis dans le membre de droite;
	les termes semblables sont réduits (par exemple, 5 y - 2 y = 3 y);
	les termes inconnus sont mis dans le même ordre pour toutes les équations;
	le système d'équations est présenté en colonnes : 
		la première colonne pour la première inconnue,
		la deuxième colonne pour la deuxième inconnue,
		etc.
Par exemple,

({{-2 x, -5 y, +z, =, -1}, {x, +5y, -4 z, =, 2}, {2 x, -3 y, +4 z, =, 7}})

Plus généralement, pour un système de n équations à n inconnues (Subscript[x, 1]), (Subscript[x, 2]), (Subscript[x, 3]), ..., (Subscript[x, n]), le système d'équations prend la forme suivante:

(Subscript[a, 11])(Subscript[x, 1])+(Subscript[a, 12])(Subscript[x, 2])+(Subscript[a, 13])(Subscript[x, 3])+...+(Subscript[a, 1 n])(Subscript[x, n])=(Subscript[b, 1])
(Subscript[a, 21])(Subscript[x, 1])+(Subscript[a, 22])(Subscript[x, 2])+(Subscript[a, 23])(Subscript[x, 3])+...+(Subscript[a, 2 n])(Subscript[x, n])=(Subscript[b, 2])
(Subscript[a, 31])(Subscript[x, 1])+(Subscript[a, 32])(Subscript[x, 2])+(Subscript[a, 33])(Subscript[x, 3])+...+(Subscript[a, 3 n])(Subscript[x, n])=(Subscript[b, 3])
...
...
(Subscript[a, n 1])(Subscript[x, 1])+(Subscript[a, n 2])(Subscript[x, 2])+(Subscript[a, n 3])(Subscript[x, 3])+...+(Subscript[a, n n])(Subscript[x, n])=(Subscript[b, n])

Forme triangulaire

Les systèmes triangulaires sont des systèmes d'équations particulièrement faciles à résoudre.
Voici un exemple  :

({{-2 x, -5 y, +z, =, -1}, { , 5 y, -7 z, =, 3}, { ,  , -31 z, =, 54}})

Les termes encadrés sont appelés "termes diagonaux" .
Ce système est dit "triangulaire supérieur" parce que tous les termes situés au-dessous de la diagonale sont nuls.

La résolution des systèmes triangulaires est aisée car le système d'équations est explicite:

z=-(54/31)
y=(1/5)(3+7 z)=-(57/31)
x=-(1/2)(-1+5y-z)=(131/31)

Plus généralement, un système de n équations à n inconnues est triangulaire supérieur si tous les termes situés au-dessous de la diagonale sont nuls :

({{(Subscript[a, 11])(Subscript[x, 1]), +(Subscript[a, 12])(Subscript[x, 2]), +(Subscript[a, 13])(Subscript[x, 3]), +..., +(Subscript[a, 1 n])(Subscript[x, n]), =, (Subscript[b, 1])}, { , (Subscript[a, 22])(Subscript[x, 2]), +(Subscript[a, 23])(Subscript[x, 3]), +..., +(Subscript[a, 2 n])(Subscript[x, n]), =, (Subscript[b, 2])}, { ,  , (Subscript[a, 33])(Subscript[x, 3]), +..., +(Subscript[a, 3 n])(Subscript[x, n]), =, (Subscript[b, 3])}, { ,  ,  , ..., ..., ..., ...}, { ,  ,  ,  , (Subscript[a, n n])(Subscript[x, n]), =, (Subscript[b, n])}})

Réduction à la forme triangulaire ou méthode de Gauss

Par exemple, soit à résoudre le système

({{-2 x, -5 y, +z, =, -1}, {x, +5y, -4 z, =, 2}, {2 x, -3 y, +4 z, =, 7}})

Le but est de transformer ce système en un système triangulaire équivalent. (Un système équivalent est un système possédant le même ensemble des solutions.)

On va procéder par étapes, selon le plan suivant:
    *	la première étape va consister à placer les zéros dans la première colonne, c'est-à-dire
   	à "faire disparaître" les deux termes situé au-dessous de la diagonale;
    *	la deuxième étape va consister à placer les zéros dans la deuxième colonne, c'est-à-dire
   	à "faire disparaître" le(s) terme(s) situé(s) au-dessous de la diagonale;
    *	le nombre d'étapes est égal au nombre d'inconnues moins un.

La méthode est aussi appelée méthode de Gauss. Comme la réduction à la forme triangulaire jouera un rôle important dans le prochain paragraphe (§ 2 Systèmes singuliers), il vous est expressément demandé d'utiliser systématiquement cette méthode dès maintenant.

Étape 1 A : choix du pivot dans la première colonne

({{-2 x, -5 y, +z, =, -1}, {x, +5y, -4 z, =, 2}, {2 x, -3 y, +4 z, =, 7}})

Dans la première colonne, le terme diagonal est situé sur la première ligne.
Il faut faire en sorte que le terme diagonal ne soit pas nul. Si nécessaire, on permute la première ligne avec une des lignes suivantes. Après quoi le terme diagonal non nul est appelé "premier pivot".

Étape 1 B : élimination dans la première colonne

elimine3[{{"-2 x","-5 y", "+ z",-1},{"x","+ 5 y","- 4 z",2},{"2 x","- 3 y","+ 4 z",7}},{1,2},{1,1}]

Pour éliminer le terme subdiagonal x, on multiplie la première ligne par 1, la deuxième ligne par 2,  puis la combinaison des deux lignes remplace la deuxième ligne;
pour éliminer le terme subdiagonal 2x, on multiplie la première ligne par 1, la troisième ligne par 1, puis la combinaison des deux lignes remplace la troisième ligne.

({{-2 x, -5 y, +z, =, -1}, { , +5y, -7 z, =, 3}, { , -8 y, +5 z, =, 6}})

Lorsque nous travaillons à la main, nous nous arrangeons pour combiner les équations de façon à ne pas avoir avoir de codes fractionnaires. Mais, généralement, les coefficients des inconnues ne sont pas entiers et cette réflexion n’a pas sa place. Par conséquent, lors de la programmation de l’algorithme de Gauss il ne sera pas prêté d’attention à cela : pour éliminer le terme subdiagonal d’une ligne donnée, c’est l’addition d’un multiple de la (1^(ère)) ligne qui sera programmée. Dans l’exemple que nous traitons, pour éliminer le terme subdiagonal x, à la seconde ligne est additionné 0.5 fois la première.

Étape 2 A : choix du pivot dans la deuxième colonne

({{-2 x, -5 y, +z, =, -1}, { , +5y, -7 z, =, 3}, { , -8 y, +5 z, =, 6}})

Dans la deuxième colonne, le terme diagonal est situé sur la deuxième ligne.
Il faut faire en sorte que le terme diagonal ne soit pas nul. Si nécessaire, on permute la deuxième ligne avec une des lignes suivantes. Après quoi le terme diagonal non nul est appelé "deuxième pivot".

Étape 2 B : élimination dans la deuxième colonne

Pour éliminer le terme subdiagonal -8y, on multiplie la deuxième ligne par 8, la troisième ligne par 5, puis la combinaison des deux lignes remplace la troisième ligne.

({{-2 x, -5 y, +z, =, -1}, { ,  5y, -7 z, =, 3}, { ,  , -31 z, =, 54}})

Le système obtenu est triangulaire.

Remarquez que, durant la deuxième étape, on n'utilise jamais la première ligne dans les combinaisons linéaires. Pourquoi ?

Systèmes réguliers

Définition
Un système d'équations linéaires est régulier si et seulement si
 1°)	le nombre d'équations est égal au nombre d'inconnues et
 2°)	le système possède une et une seule solution.

Proposition
Un système d'équations linéaires est régulier si et seulement si
 1°)	le nombre d'équations est égal au nombre d'inconnues et
 2°)	il est possible de réduire le système à la forme triangulaire avec
 	des coefficients diagonaux tous non nuls (pivots).

Exemple
Le système linéaire de l'exemple donné ci-dessus est régulier.
Le § 1 est consacré aux systèmes réguliers.

Contre-exemple
Le système linéaire suivant est triangulaire supérieur mais le troisième terme diagonal est nul.

({{x, + y, +z, = 1}, { , y, - z, = -2}, { ,  , 0 z, = 0}})

Un système qui n'est pas régulier est appelé singulier.
Un système singulier possède
	soit une infinité de solutions
	soit aucune solution.
Le § 2 sera consacré aux systèmes singuliers.

Exercices

Exercice 1-2- P 1

Résolvez "à la main" le système d'équations obtenu dans l'exercice 1-1- P 1. Si le système est linéaire, utilisez la méthode de la réduction à la forme triangulaire.

Exercice 1-2- P 2

Résolvez "à la main" le système d'équations obtenu dans l'exercice 1-1- P 2. Si le système est linéaire, utilisez la méthode de la réduction à la forme triangulaire.

Indication
Après avoir résolu le système, n'oubliez pas de vérifier les inéquations.
Si la solution du système d'équations ne satisfait pas le système d'inéquations, alors le problème ne possède pas de solution.

Exercice 1-2- P 3 (facultatif)

Résolvez "à la main" le système d'équations obtenu dans l'exercice 1-1- P 3. Si le système est linéaire, utilisez la méthode de la réduction à la forme triangulaire.

Exercice 1-2- P 4 (facultatif)

Résolvez "à la main" le système d'équations obtenu dans l'exercice 1-1- P 4. Si le système est linéaire, utilisez la méthode de la réduction à la forme triangulaire.

Exercice 1-2- P 5

Résolvez "à la main" le système d'équations obtenu dans l'exercice 1-1- P 5. Si le système est linéaire, utilisez la méthode de la réduction à la forme triangulaire.

Indications
Puisque (Subscript[a, 0]) est connu, décidons d'écrire un système de quatre équations à quatre inconnues.
Pour éliminer dans la 1-ère colonne, on combine les lignes 1 et 2, puis les lignes 1 et 3, puis les lignes 1 et 4.
Pour éliminer dans la deuxième colonne, on combine les lignes 2 et 3, puis les lignes 2 et 4.
Pour éliminer dans la troisième colonne, on combine les lignes 3 et 4.

Exercice 1-2- P 6

Résolvez "à la main" le système d'équations obtenu dans l'exercice 1-1- P 6. Si le système est linéaire, utilisez la méthode de la réduction à la forme triangulaire.

Exercice 1-2- P 7 (facultatif)

Résolvez "à la main" le système d'équations obtenu dans l'exercice 1-1- P 7. Si le système est linéaire, utilisez la méthode de la réduction à la forme triangulaire.

Exercice 1-2- P 8 (facultatif)

Résolvez "à la main" le système d'équations obtenu dans l'exercice 1-1- P 8. Si le système est linéaire, utilisez la méthode de la réduction à la forme triangulaire.

Exercice 1-2- P 9 (facultatif)

Résolvez "à la main" le système d'équations obtenu dans l'exercice 1-1- P 9. Si le système est linéaire, utilisez la méthode de la réduction à la forme triangulaire.

Exercice 1-2- P 10

Résolvez "à la main" le système d'équations obtenu dans l'exercice 1-1- P 10. Si le système est linéaire, utilisez la méthode de la réduction à la forme triangulaire.

Indications
Lorsque de nombreux coefficients sont nuls, on dit que le système d'équations est creux (en anglais : "sparse"). Dans un tels cas, non seulement on est amené à permuter les lignes mais il est avantageux de permuter aussi les colonnes pour se rapprocher de la forme triangulaire.

Exercice 1-2- P 11

Résolvez "à la main" le système d'équations obtenu dans l'exercice 1-1- P 11. Si le système est linéaire, utilisez la méthode de la réduction à la forme triangulaire.

Exercice 1-2- P 12

Résolvez "à la main" le système d'équations obtenu dans l'exercice 1-1- P 12. Si le système est linéaire, utilisez la méthode de la réduction à la forme triangulaire.

Exercice 1-2- P 13 (facultatif)

Résolvez "à la main" le système d'équations obtenu dans l'exercice 1-1- P 13. Si le système est linéaire, utilisez la méthode de la réduction à la forme triangulaire.

Exercice 1-2 systèmes supplémentaires

Résoudre les systèmes suivants à la main avec la méthode de Gauss.
	1.({{{, ({{19 x-5 z, =-58}, {5 x-8 y+3 z, =-26}, {2 x+12 y-7 z, =0}})}})		2.({{{, ({{19 x-5 z, =-58}, {5 x-8 y+3 z, =-26}, {2 x+12 y-7 z, =10}})}})

§ 1.3 Résolution avec Mathematica

Méthodes Solve[...], NSolve[...] et Reduce[...]

Exemple 1 : un système régulier 2 × 2

Pour un système régulier tel que
	(Piecewise[{{2 x + y = 3}, {- x + 3 y = -5}}])

la méthode Solve donne la solution du système sous la forme d'une liste de substitutions :

Clear[x,y];
eqns={2 x + 7y == 3, -x+ 3 y==-5};
solSolve=Solve[eqns,{x,y}]

Quelques rappels sur la syntaxe de Solve  :
	- c'est le symbole == qui désigne une équation (= désigne une affectation directe);
	- un système d'équations est une liste d'équations;
	- le deuxième argument de Solve est la liste des inconnues.

Vérifions que la solution est correcte en insérant les valeurs de x et y dans chaque équation :

eqns/.solSolve[[1]]

La fonction N permet d’avoir une approximation numérique des solutions calculées :

N[solSolve]

Si nous voulons directement avoir une approximation numérique des solutions nous utilisons la fonction NSolve dont la syntaxe est la même que Solve :

NSolve[eqns,{x,y}]

La méthode Reduce donne la solution sous la forme d'un système d'équations cartésiennes :

Clear[x,y];
solReduce=Reduce[eqns,{x,y}]

Il est possible de transformer ce système d’équations en une liste de substitutions à l’aide de la fonction ToRules :

ToRules[solReduce]

Exemple 2 : un système singulier 2 × 2

Considérons maintenant un système possédant une infinité de solutions :

Clear[x,y];
eqns={9 x +6 y == 3, -6x- 4 y==-2};
Solve[eqns,{x,y}]

Une interprétation consiste à dire que le système se réduit en fait à une seule équation cartésienne :
	y=(1/2)-((3x)/2)

Dans un tel cas, on peut souhaiter écrire l'ensemble des solutions sous forme paramétrique :
pour chaque valeur du paramètre  t, on a une solution  (x,y)  donnée par
	(Piecewise[{{x=t}, {y=(1/2)-((3t)/2)}}])

La méthode Reduce[...] donne la solution sous la forme d'un système d'équations cartésiennes

Clear[x,y];
Reduce[eqns,{x,y}]

Méthodes spécifiques aux systèmes linéaires

Mathematica propose des méthodes spécifiques à la résolution de systèmes d’équations linéaires.  Pour comprendre, les notations utilisées ainsi que la signification des résultats fournis, nous allons commencer par présenter quelques éléments d'algèbre linéaire (ce thème sera traité en détails en (4^e) année dans le cadre du cours de mathématiques renforcées).

Brève introduction d’algèbre linéaire

Définition
Une matrice m×n est un tableau de nombres à m lignes et n colonnes. Une matrice m×n a donc la forme
	A=(({{(Subscript[a, 11]), (Subscript[a, 12]), …, (Subscript[a, 1n])}, {(Subscript[a, 21]), (Subscript[a, 22]), …, (Subscript[a, 2n])}, {⋮, ⋮,  , ⋮}, {(Subscript[a, m1]), (Subscript[a, m2]), ⋯, (Subscript[a, mn])}}))
où (Subscript[a, ij]) est l’élément de la (i^(ème)) ligne et (j^(ème)) colonne. Si m=n nous disons que la matrice est carrée.

Exemples
(1)	Si A=(({{3, 4, 5}, {6, 7, 8}})) alors (Subscript[a, 21])=6.
(2)	Un vecteur du plan écrit en composantes est une matrice 2×1.

Nous pouvons, sous certaines conditions, multiplier des matrices entre elles. Nous nous restreindrons cependant au cas qui nous intéresse : la multiplication d’une matrice carré par un vecteur.

Définition
Soit A est une matrice n×n et (OverVector[x])∈(ℝ^n). Le résulat de la multiplication A(OverVector[x]) est un vecteur de (OverVector[b]) avec
	(Subscript[b, i])=(∑_(j=1)^n)(Subscript[a, ij])(Subscript[x, j]) pour i=1,2,...,n
où les (Subscript[a, ij]) sont les élèments de la matrice  A et les (Subscript[x, j]) les composantes du vecteur (OverVector[x]).

Exemples
(1)	(({{1, 2}, {3, 4}}))(({{5}, {6}}))=(({{1·5+2·6}, {3·5+4·6}}))=(({{17}, {39}}))
(2)	(({{a, b}, {c, d}}))(({{x}, {y}}))=(({{a x+b y}, {c x+d y}}))

Il suit donc de la définition de la multiplication matricielle que le système d’équations 
	({{{, ({{(Subscript[a, 11])(Subscript[x, 1])+(Subscript[a, 12])(Subscript[x, 2])+...+(Subscript[a, 1 n])(Subscript[x, n])=(Subscript[b, 1]),  }, {(Subscript[a, 21])(Subscript[x, 1])+(Subscript[a, 22])(Subscript[x, 2])+...+(Subscript[a, 2 n])(Subscript[x, n])=(Subscript[b, 2]),  }, {⋮,  }, {(Subscript[a, n 1])(Subscript[x, 1])+(Subscript[a, n 2])(Subscript[x, 2])+...+(Subscript[a, n n])(Subscript[x, n])=(Subscript[b, n]),  }})}})
peut s’écrire
	(({{(Subscript[a, 11]), (Subscript[a, 12]), …, (Subscript[a, 1n])}, {(Subscript[a, 21]), (Subscript[a, 22]), …, (Subscript[a, 2n])}, {⋮, ⋮,  , ⋮}, {(Subscript[a, n1]), (Subscript[a, n2]), ⋯, (Subscript[a, nn])}}))(({{(Subscript[x, 1])}, {(Subscript[x, 2])}, {⋮}, {(Subscript[x, n])}}))=(({{(Subscript[b, 1])}, {(Subscript[b, 2])}, {⋮}, {(Subscript[b, n])}})).
Un système d’équations peut donc s’écrire A(OverVector[x])=(OverVector[b]) où A est la matrice des coefficients des inconnues, (OverVector[x])  le vecteur contenant les inconnues et (OverVector[b]) le vecteur formé par les termes constants des équations.

Propriété (linéarité de la multiplication matricielle)
Soit A une matrice n×n, (OverVector[x]), (OverVector[y])∈(ℝ^n) et α∈ℝ. Nous avons A((OverVector[x])+(OverVector[y]))=A(OverVector[x])+A (OverVector[y]) et A(α(OverVector[x]))=α(A(OverVector[x])).

Pour une preuve du cas n=2, voir les exercices.

Définition
Soit A une matrice carré. Le noyau de A, noté Ker(A), est l’ensemble des vecteurs (OverVector[x]) tels que A(OverVector[x])=(OverVector[0]).

Remarque
La notation “Ker” vient de l’anglais “Kernel” qui signifie “noyau”.

Exemple
Si A=(({{6, 8}, {3, 4}})) alors (({{4}, {-3}}))∈Ker(A) car A=(({{6, 8}, {3, 4}}))(({{4}, {-3}}))=(({{6·4+8·(-3)}, {3·4+4·(-3)}}))=(({{0}, {0}})).

Propriétés
Soit A une matrice carrée. 
(1)	(OverVector[0])∈Ker(A)
(2)	Pour tout nombre α, β ∈ ℝ et pour tout vecteur (OverVector[x]), (OverVector[y])∈Ker(A), nous avons 
	α(OverVector[x])+β(OverVector[y])∈Ker(A).

Pour une preuve, voir les exercices.

Il découle de la propriété précédente que si le noyau contient un vecteur non-nul alors il contient une infinité de vecteurs. Le travail consiste alors à trouver une base du noyau, c’est-à-dire un nombre minimal de vecteurs générateur de celui-ci.

Le calcul du noyau d’une matrice permet de garantir la régularité d’un système d’équations et, si telle n’est pas le cas, de construire toutes les solutions :

Théorème (propriétés du noyau)
Soit A une matrice n×n et (OverVector[b])∈(ℝ^n) un vecteur définissant le système d’équations A(OverVector[x])=(OverVector[b]).
(1)	Ker(A)={(OverVector[0])} si et seulement si  le système d’équations est régulier.
(2)	Si  (OverVector[(Subscript[x, 0])]) est une solution de ce système d’équations alors l’ensemble des solutions est 
	{ (OverVector[(Subscript[x, 0])])+(OverVector[k]):(OverVector[k])∈Ker(A)}.

Certains éléments de ce théorème seront démontrés en exercice.

Méthodes LinearSolve[...] et NullSpace[...]

La matrice (({{1, 2}, {3, 4}})) se note dans Mathematica soit en travaillant avec la palette, soit en introduisant une liste de listes :

m={{1,2},{3,4}}

La fonction MatrixForm permet d’afficher cette matrice sous-forme usuelle :

MatrixForm[m]

La multiplication matricielle se note avec un point :

x={4,5};
m.x

La fonction LinearSolve permet d’obtenir une solution d’un système d’équations linéaires. Nous avons avons vu dans le théorème des propriétés du noyau, qu’à partir de celui-ci, il était possible de construire toutes les solutions d’un système d’équations linéaires. La fonction calculant une base du noyau est  NullSpace. Les exemples suivants vont permettre de clarifier l’utilisation de ces deux fonctions.

Exemple 1 : un système régulier 2 × 2

Le système d’équations
	(Piecewise[{{2x+y=3}, {-x+3y=-1}}])
s’écrit sous forme matricielle de la façon suivante : 
	(({{2, 1}, {-1, 3}}))(({{x}, {y}}))=(({{3}, {-1}})).

Introduisons ces différents paramètre dans Mathematica :

m={{2,1},{-1,3}};
MatrixForm[m]
b={3,-1};

Les paramètres de  LinearSolve sont la matrice m des coefficients des inconnues et le vecteur b  formé par les termes constants des équations. LinearSolve retourne alors un vecteur qui est solution du système mis sous forme matricielle :

sol=LinearSolve[m,b]

Vérifions cette solution :

m.sol

Nous obtenons le vecteur b ce qui est correct. Cependant, cette solution correspond à une solution du système. Pour garantir l’unicité de celle-ci,  il faut calculer le noyau de la matrice m. Mathematica ne nous livre qu’une base du noyau car celui-ci peut contenir une infinité de vecteur. Le calcul de cette base se fait avec NullSpace :

NullSpace[m]

Il n’existe donc pas de base du noyau ce qui signifie que le noyau ne contient que le vecteur nul : la solution trouvée est unique.

Exemple 2 : un système singulier 2 × 2

L'intérêt porté à la méthodes LinearSolve se justifie par la simplification d’entrée du système (l’entrée des équations complètes peut être très rébarbative s’il y en a beaucoup) mais aussi par son aptitude à traiter des systèmes singuliers. Considérons le système suivant :
	(Piecewise[{{9 x +6 y = 3}, {-6x- 4 y=-2}}])

On peut écrire ce système d'équations sous la forme matricielle suivante :
	(({{9, 6}, {-6, -4}}))(({{x}, {y}}))=(({{3}, {-2}}))

Pour le calcul avec Mathematica, mettons le système sous la forme matricielle

m={{9,6},{-6,-4}}; b={3,-2};
solParticuliere=LinearSolve[m,b]

La méthode LinearSolve nous a donné une solution. Pour savoir s'il en existe d'autres, calculons le noyaux de m :

baseNoyau=NullSpace[m]

D’après le théorème des propriétés du noyau, l’ensemble des solutions du système est constitué d’une solution à laquelle est additionnée un vecteur quelconque du noyau de m. Comme (({{-2}, {3}})) est une base du noyau, tous les éléments du noyau sont des multiples de ce vecteur et l’ensemble des solutions est le suivant :

Clear[t]
sol=solParticuliere+t*baseNoyau[[1]]

Vérifions notre résultat :

m.sol

Simplify[%]

Nous obtenons effectivement le vecteur b.

Exemple 3 : un système singulier 2 × 2

Considérons le système suivant :
	(Piecewise[{{9 x +6 y = 1}, {-6x- 4 y=-1}}])

On peut écrire le système d'équations sous la forme matricielle :
	(({{9, 6}, {-6, -4}}))(({{x}, {y}}))=(({{1}, {-1}}))

Pour le calcul avec Mathematica, mettons le système sous la forme matricielle :

m={{9,6},{-6,-4}}; b={1,-1};
LinearSolve[m,b]

La méthode LinearSolve nous informe lorsque le système linéaire n'a pas de solution. Par le théorème des propriétés du noyau, le noyau de m doit contenir d’autres vecteurs que le vecteur nul. Vérifions-le:

NullSpace[m]

Exemple 4 : un système régulier 3 × 3

Soit le système suivant :
	({{{, ({{-(Subscript[a, 2])+3 (Subscript[a, 3]), =7}, {5(Subscript[a, 1])-6 (Subscript[a, 2]), =-2}, {3(Subscript[a, 1])+(Subscript[a, 2])- (Subscript[a, 3]), =10}})}})

On peut écrire le système d'équations sous la forme matricielle suivante ;
	(({{0, -1, 3}, {5, -6, 0}, {3, 1, -1}}))(({{(Subscript[a, 1])}, {(Subscript[a, 2])}, {(Subscript[a, 3])}}))=(({{7}, {-2}, {10}}))

Pour le calcul avec Mathematica, écrivons la matrice du système en travaillant avec la palette :

m=(({{0, -1, 3}, {5, -6, 0}, {3, 1, -1}}))

b={7,-2,10};
sol=LinearSolve[m,b]

Le résultat précédent nous indique que le système possède au moins une solution.

NullSpace[m]

Le résultat précédent nous indique que la base du noyau est vide est que par conséquent la solution est unique
Finalement, le système possède une et une seule solution qui est

sol

Exercices

Exercice 1-3- Algèbre linéaire 1

Calculer les produits à la main.
(1)(({{1, -2}, {3, 0}}))(({{2}, {-1}}))     (2)(({{1, 5}, {-1, 3}}))(({{-1}, {-1}}))    (3)(({{1, 2, 0}, {0, 3, -1}, {-2, 0, 1}}))(({{-1}, {0}, {-2}}))    (4)(({{3, -1}, {0, 1}}))(({{2}, {4}, {0}}))

Exercice 1-3- Algèbre linéaire 2

Soit la matrice A=(({{a, b}, {c, d}})), les vecteurs (OverVector[x])=(({{(Subscript[x, 1])}, {(Subscript[x, 2])}})), (OverVector[y])=(({{(Subscript[y, 1])}, {(Subscript[y, 2])}})), et α∈ℝ.
(1)	Montrer que A((OverVector[x])+(OverVector[y]))=A(OverVector[x])+A(OverVector[y]).
(2)	Montrer que A(α(OverVector[x]))=α(A(OverVector[x])).

Exercice 1-3- Algèbre linéaire 3

Soit A une matrice n×n et (OverVector[(Subscript[x, 1])]), (OverVector[(Subscript[x, 2])])∈(ℝ^n). L’équivalence ci-dessous est-elle correcte ?
	A(OverVector[(Subscript[x, 1])])=A(OverVector[(Subscript[x, 2])]) ⇔ (OverVector[(Subscript[x, 1])])=(OverVector[(Subscript[x, 2])])
Si l’affirmation est vraie, donnez une preuve, sinon donnez un contre-exemple.

Exercice 1-3- Algèbre linéaire 4

Soit la matrice A=(({{4, 10}, {6, 15}})). Parmi les vecteurs suivants, déterminer, à la main, ceux qui appartiennent à Ker(A).
(OverVector[t])=(({{-10}, {4}})), (OverVector[u])=(({{3}, {-1}})), (OverVector[v])=(({{0}, {0}})), (OverVector[w])=(({{5}, {-2}})).

Exercice 1-3- Algèbre linéaire 5

Soit A une matrice carrée. 
(1)	Montrer que (OverVector[0])∈Ker(A).
(2)	Soit α, β ∈ ℝ et (OverVector[x]), (OverVector[y])∈Ker(A). Montrer que α(OverVector[x])+β(OverVector[y])∈Ker(A)
	Indication :  utiliser les propriétés démontrées à l’exercice 1-3-Algèbre linéaire 2.

Exercice 1-3- Algèbre linéaire 6

(1)	Soit A=(({{-4, 6}, {10, -15}})), (OverVector[b])=(({{10}, {-25}})). 
	(i)	Vérifier à la main que (OverVector[(Subscript[x, 0])])=(({{-1}, {1}})) est une solution du système d’équations A(OverVector[x])=(OverVector[b]).
	(ii)	Soit le vecteur (OverVector[k])=(({{3}, {2}})). Vérifier à la main que (OverVector[k])∈Ker(A).
	(iii)	Vérifier à la main que (OverVector[(Subscript[x, 0])])+(OverVector[k]) est aussi une solution du système.
(2)	Soit A une matrice n×n et (OverVector[b])∈(ℝ^n). Monter que si (OverVector[(Subscript[x, 0])]) une solution du système d’équations
	A(OverVector[x])=(OverVector[b]) alors (OverVector[(Subscript[x, 0])])+(OverVector[k]) est une solution de ce système pour tout (OverVector[k])∈Ker(A).
	Indication : utiliser les propriétés démontrées à l’exercice 1-3-Algèbre linéaire 2.

Exercice 1-3- Algèbre linéaire 7

(1)	Soit A=(({{1, -2}, {3, -6}})), (OverVector[b])=(({{5}, {15}})). 
	(i)	Vérifier à la main que (OverVector[(Subscript[x, 0])])=(({{1}, {-2}})) et  (OverVector[(Subscript[x, 1])])=(({{3}, {-1}})) sont des solutions du système 
		d’équations A(OverVector[x])=(OverVector[b]).
	(ii)	Vérifier à la main que (OverVector[(Subscript[x, 0])])-(OverVector[(Subscript[x, 1])])∈Ker(A).
(2)	Soit A une matrice n×n et (OverVector[b])∈(ℝ^n). Montrer que si le système d’équations A(OverVector[x])=(OverVector[b]) possède
	plusieurs solutions alors Ker(A)≠{(OverVector[0])}.
	Indication : s’inspirer de la première partie de l’exercice.

Exercice 1-3- P 1

Avec Mathematica, résolvez le système d'équations de l'exercice 1-1- P 1.
Vérifiez que le système est régulier.
Vérifiez que la réponse coïncide avec celle de l'exercice 1-2- P 1.

Exercice 1-3- P 2

Avec Mathematica, résolvez le système d'équations de l'exercice 1-1- P 2.
Vérifiez que le système est régulier.
Vérifiez que la réponse coïncide avec celle de l'exercice 1-2- P 2.

Exercice 1-3- P 3 (facultatif)

Avec Mathematica, résolvez le système d'équations de l'exercice 1-1- P 3.
Vérifiez que le système est régulier.
Vérifiez que la réponse coïncide avec celle de l'exercice facultatif 1-2- P 3.

Exercice 1-3- P 4 (facultatif)

Avec Mathematica, résolvez le système d'équations de l'exercice 1-1- P 4.
Vérifiez que le système est régulier.
Vérifiez que la réponse coïncide avec celle de l'exercice facultatif 1-2- P 4.
Contrainte de résolution : présentez un résolution qui retourne automatiquement une solution correcte lors de la réévaluation du cahier si une des valeurs du polynôme p est changée.

Exercice 1-3- P 5

Avec Mathematica, résolvez le système d'équations de l'exercice 1-1- P 5.
Vérifiez que le système est régulier.
Vérifiez que la réponse coïncide avec celle de l'exercice 1-2- P 5.
Même contrainte de résolution qu’à l’exercice précédent.

Exercice 1-3- P 6

Avec Mathematica, résolvez le système d'équations de l'exercice 1-1- P 6.
Vérifiez que la réponse coïncide avec celle de l'exercice 1-2- P 6.

Exercice 1-3- P 7 (facultatif)

Avec Mathematica, résolvez le système d'équations de l'exercice 1-1- P 7.
Vérifiez que le système est régulier.
Vérifiez que la réponse coïncide avec celle de l'exercice facultatif 1-2- P 7.

Exercice 1-3- P 8 (facultatif)

Avec Mathematica, résolvez le système d'équations de l'exercice 1-1- P 8.
Vérifiez que le système est régulier.
Vérifiez que la réponse coïncide avec celle de l'exercice facultatif 1-2- P 8.

Exercice 1-3- P 9 (facultatif)

Avec Mathematica, résolvez le système d'équations de l'exercice 1-1- P 9.
Vérifiez que le système est régulier.
Vérifiez que la réponse coïncide avec celle de l'exercice facultatif 1-2- P 9.

Exercice 1-3- P 10

Avec Mathematica, résolvez le système d'équations de l'exercice 1-1- P 10.
Vérifiez que le système est régulier.
Vérifiez que la réponse coïncide avec celle de l'exercice 1-2- P 10.

Exercice 1-3- P 11

Avec Mathematica, résolvez le système d'équations de l'exercice 1-1- P 11.
Vérifiez que le système est régulier.
Vérifiez que la réponse coïncide avec celle de l'exercice 1-2- P 11.

Exercice 1-3- P 12

Avec Mathematica, résolvez le système d'équations de l'exercice 1-1- P 12.
Vérifiez que le système est régulier.
Vérifiez que la réponse coïncide avec celle de l'exercice 1-2- P 12.

Exercice 1-3- P 13

Avec Mathematica, résolvez le système d'équations de l'exercice 1-1- P 13.
Vérifiez que le système est régulier.

Exercice 1-3- Systèmes supplémentaires

Résoudre les systèmes suivants à la main avec la méthode de Gauss puis vérifier vos solutions à l’aide de Mathematica (méthodes Solve et LinearSolve).

	(1) ({{{, ({{19 x-5 z, =-58}, {5 x-8 y+3 z, =-26}, {2 x+12 y-7 z, =0}})}})			(2) ({{{, ({{19 x-5 z, =-58}, {5 x-8 y+3 z, =-26}, {2 x+12 y-7 z, =10}})}})

§ 1.4 Difficultés de résolution numérique

Calcul avec des nombres à virgule flottante

Si un logiciel calcule avec des nombres à virgule flottante, chaque opération est effectuée avec une précision limitée (16 chiffres significatifs dans le cas de Mathematica). Ceci occasionne des erreurs, par exemple lors de l’addition de nombres d’ordres de grandeur très différents :

9.+(10^16)

Le résultat est non seulement incorrect mais en plus il ne correspond pas au résultat exact arrondi à 16 chiffres significatifs :

N[9+(10^16),16]

Ce problème peut intervenir dans la résolution d’un système linéaire lorsque le pivot est très proche de zéro. Afin d’expliquer cela, considérons le système suivant à n inconnues (Subscript[x, 1]), (Subscript[x, 2]), (Subscript[x, 3]),... , (Subscript[x, n]) :

({{{, ({{(Subscript[a, 11])(Subscript[x, 1])+(Subscript[a, 12])(Subscript[x, 2])+(Subscript[a, 13])(Subscript[x, 3])+...+(Subscript[a, 1 n])(Subscript[x, n])=(Subscript[b, 1])
(Subscript[a, 21])(Subscript[x, 1])+(Subscript[a, 22])(Subscript[x, 2])+(Subscript[a, 23])(Subscript[x, 3])+...+(Subscript[a, 2 n])(Subscript[x, n])=(Subscript[b, 2])
(Subscript[a, 31])(Subscript[x, 1])+(Subscript[a, 32])(Subscript[x, 2])+(Subscript[a, 33])(Subscript[x, 3])+...+(Subscript[a, 3 n])(Subscript[x, n])=(Subscript[b, 3])
...
(Subscript[a, n 1])(Subscript[x, 1])+(Subscript[a, n 2])(Subscript[x, 2])+(Subscript[a, n 3])(Subscript[x, 3])+...+(Subscript[a, n n])(Subscript[x, n])=(Subscript[b, n]),  }})}})

Si la méthode de Gauss est programmée pour résoudre ce système et si le pivot (Subscript[a, 11])est non-nul, alors il faut soustraire à la deuxième équation la première équation multipliée par ((Subscript[a, 21])/(Subscript[a, 11])). Si le pivot est très proche de zéro, les coefficients des termes du multiple de la première équation peuvent devenir très grands et les termes de la deuxième équation risquent de n’avoir aucune influence sur la soustraction (pour un exemple concret voir l’exercice 1-4-1).

Systèmes mal conditionnés

En analyse numérique, nous disons qu’un problème est stable  si une petite variation des conditions entraîne une petite variation de la solution. Si tel n’est pas le cas, nous disons que le problème est mal conditionné. En voici un exemple :

({{{, ({{7x+10y=1,  }, {5x+7y=0.7,  }})}})

donne (x;y)=(0;0.1) comme solution. Varions légèrement les valeurs des membres de droite :

({{{, ({{7x+10y=1.01,  }, {5x+7y=0.69,  }})}})

Nous trouvons (x;y)=(-0.17;0.22) : la variation relative de la solution est considérable en comparaison de celle de la donnée du problème!

La résolution numérique d’un système linéaire mal conditionné est problématique car à chaque étape de la résolution l’ordinateur va faire des erreurs dues à la précision limitée de ses calculs. Bien que ces erreurs soient relativement faibles, celle-ci peuvent avoir un grand impact sur la solution puisque le système est mal conditionnée. Mathematica possède cependant des méthodes permettant de détecter de tels systèmes et nous  les signale par un message (pour un exemple concret voir l’exercice 1-4-3).

Exercices

Exercice 1-4-1

Résolvez le système suivant avec la méthode de Gauss comme le ferait un ordinateur travaillant avec 5 chiffres significatifs puis testez la solution trouvée (toujours en travaillant avec 5 chiffres significatifs).

({{{, ({{(10^(-5))x +2y=1,  }, {-x+3y=2,  }})}})

Exercice 1-4-2

Même consigne qu’à l’exercice précédent mais en inversant l’ordre des équations. Que constatez-vous?

Exercice 1-4-3

Considérons le système linéaire suivant:

({{{, ({{({{(Subscript[x, 1])+((Subscript[x, 2])/2)+((Subscript[x, 3])/3)+((Subscript[x, 4])/4)+((Subscript[x, 5])/5)+((Subscript[x, 6])/6)+((Subscript[x, 7])/7)+((Subscript[x, 8])/8)+((Subscript[x, 9])/9)+((Subscript[x, 10])/10)=0}, {((Subscript[x, 1])/2)+((Subscript[x, 2])/3)+((Subscript[x, 3])/4)+((Subscript[x, 4])/5)+((Subscript[x, 5])/6)+((Subscript[x, 6])/7)+((Subscript[x, 7])/8)+((Subscript[x, 8])/9)+((Subscript[x, 9])/10)+((Subscript[x, 10])/11)=0}, {((Subscript[x, 1])/3)+((Subscript[x, 2])/4)+((Subscript[x, 3])/5)+((Subscript[x, 4])/6)+((Subscript[x, 5])/7)+((Subscript[x, 6])/8)+((Subscript[x, 7])/9)+((Subscript[x, 8])/10)+((Subscript[x, 9])/11)+((Subscript[x, 10])/12)=0}, {((Subscript[x, 1])/4)+((Subscript[x, 2])/5)+((Subscript[x, 3])/6)+((Subscript[x, 4])/7)+((Subscript[x, 5])/8)+((Subscript[x, 6])/9)+((Subscript[x, 7])/10)+((Subscript[x, 8])/11)+((Subscript[x, 9])/12)+((Subscript[x, 10])/13)=0}, {((Subscript[x, 1])/5)+((Subscript[x, 2])/6)+((Subscript[x, 3])/7)+((Subscript[x, 4])/8)+((Subscript[x, 5])/9)+((Subscript[x, 6])/10)+((Subscript[x, 7])/11)+((Subscript[x, 8])/12)+((Subscript[x, 9])/13)+((Subscript[x, 10])/14)=0}, {((Subscript[x, 1])/6)+((Subscript[x, 2])/7)+((Subscript[x, 3])/8)+((Subscript[x, 4])/9)+((Subscript[x, 5])/10)+((Subscript[x, 6])/11)+((Subscript[x, 7])/12)+((Subscript[x, 8])/13)+((Subscript[x, 9])/14)+((Subscript[x, 10])/15)=0}, {((Subscript[x, 1])/7)+((Subscript[x, 2])/8)+((Subscript[x, 3])/9)+((Subscript[x, 4])/10)+((Subscript[x, 5])/11)+((Subscript[x, 6])/12)+((Subscript[x, 7])/13)+((Subscript[x, 8])/14)+((Subscript[x, 9])/15)+((Subscript[x, 10])/16)=0}, {((Subscript[x, 1])/8)+((Subscript[x, 2])/9)+((Subscript[x, 3])/10)+((Subscript[x, 4])/11)+((Subscript[x, 5])/12)+((Subscript[x, 6])/13)+((Subscript[x, 7])/14)+((Subscript[x, 8])/15)+((Subscript[x, 9])/16)+((Subscript[x, 10])/17)=0}, {((Subscript[x, 1])/9)+((Subscript[x, 2])/10)+((Subscript[x, 3])/11)+((Subscript[x, 4])/12)+((Subscript[x, 5])/13)+((Subscript[x, 6])/14)+((Subscript[x, 7])/15)+((Subscript[x, 8])/16)+((Subscript[x, 9])/17)+((Subscript[x, 10])/18)=0}, {((Subscript[x, 1])/10)+((Subscript[x, 2])/11)+((Subscript[x, 3])/12)+((Subscript[x, 4])/13)+((Subscript[x, 5])/14)+((Subscript[x, 6])/15)+((Subscript[x, 7])/16)+((Subscript[x, 8])/17)+((Subscript[x, 9])/18)+((Subscript[x, 10])/19)=1}}),  }})}})

1.	 Résolvez ce système à l’aide de LinearSolve en travaillant d’une part avec la matrice
	contenant les valeurs exactes des coefficients des équations et d’autre part avec la
	matrice contenant les valeurs des coefficients sous forme de nombres à virgule flottante.
	Indication : Générez automatiquement les différentes matrices.

2. 	Évaluez les membres de gauche de chaque équation avec la solution obtenue en utilisant la 
	matrice contenant les nombres à virgule flottante. Que constatez-vous?

3. 	Calculez l’erreur relative sur la valeur de chaque inconnue puis déterminez l’erreur relative 
	maximale.
4.	Considérons un système d’équations semblable à celui présenté ci-dessus mais constitué
	de 200 équations avec 200 inconnues. A l’aide de la fonction Timing, comparez le temps de 
	résolution avec LinearSolve lorsque Mathematica  suivant que le travail soit fait avec des
	coefficients rationnels ou à virgule flottante.

5. [Facultatif] Comparez le temps de calcul des fonctions Solve et LinearSolve pour le système
	obtenu avec 200 équations et 200 inconnues lorsque Mathematica travaille avec des 
	coefficients rationnels puis lorsque Mathematica travaille avec des coefficients à virgule 
	flottantes.
	Indication : Commencez par définir une fonction syseqns[n] qui génère le système de 
	n équations en utilisant la fonction If pour la définition du terme constant.

Solutions

Exercice 1-4-1

S≃{(0;0.5)}

Exercice 1-4-2

S≃{(-0.5;0.5)}

Exercice 1-4-3

1.	(Subscript[S, exacte])={-923780,83140200,-1829084400,17071454400,-83223340200,233025352560,-388375587600,380449555200,-202113826200,44914183600}
	(Subscript[S, approx])={923642.3933613151`,8.312832465768915`*^7,-1.8288317120448184`*^9,1.7069159161415438`*^10,-8.321240047172713`*^10,2.3299529913836996`*^11,-3.8832630835261273`*^11,3.8040195809724347`*^11,-2.0208885034718567`*^11,4.490869348946215`*^10}

2.	{-9.5367431640625`*^-7,-5.245208740234375`*^-6,-3.337860107421875`*^-6,0.`,4.76837158203125`*^-7,-4.76837158203125`*^-6,-6.198883056640625`*^-6,-1.430511474609375`*^-6,4.76837158203125`*^-7,1.0000004768371582`}

3.	Erreur relative sur chaque inconnue :
	{0.00014896040040363376`,0.00014283514245630696`,0.00013814997010613543`,0.00013444891869097584`,0.0001314502427634228`,0.00012897060899112755`,0.00012688554317173584`,0.0001251075263618307`,0.0001235732027041852`,0.0001222355634189781`}
	Erreur relative maximale : 0.00014896