Vous êtes sur la page 1sur 108

Généré le 21 avril 2022 à 12:24:17

Analyse numérique

Abdoulaye Samaké ∗
DER de Mathématiques et Informatique
Faculté des Sciences et Techniques (FST)
Université des Sciences, des Techniques et des Technologies de Bamako (USTTB)

École Normale Supérieure (ENSup)


Licence mathématiques (S5)

∗. E-mail : abdoulaye.samake@usttb.edu.ml
BP : E 3206, Bamako, Mali

Abdoulaye Samaké (USTTB/FST) Analyse numérique 1 / 104


Outline

1 Introduction
Généralités
Typologie des problèmes
Résolution des problèmes
Typologie des algorithmes
2 Analyse d’erreurs
Estimation des erreurs
Réprésentation des nombres en machine
3 Méthodes directes de résolution des systèmes linéaires
Systèmes linéaires
Analyse de stabilité des systèmes linéaires
Résolution des systèmes triangulaires
Méthode d’élimination de Gauss
Factorisation LU
Factorisation de Cholesky

Abdoulaye Samaké (USTTB/FST) Analyse numérique 2 / 104


Introduction

Introduction

Abdoulaye Samaké (USTTB/FST) Analyse numérique 3 / 104


Introduction Généralités

Modélisation Mathématique

Les systèmes et phénomènes physiques les plus remarquables de la vie réelle sont
également les plus complexes à comprendre et à étudier. Les méthodes mathématiques de
plus en plus sophistiquées sont utilisées dans le traitement de ces problèmes issus de la
science de l’ingénieur, de sciences physiques et biologiques, technologiques, économiques
et sociales.
La modélisation mathématique consiste à la description d’un phénomène observé par le
biais d’équations mathématiques, généralement sous la forme d’Équations aux Dérivées
Partielles (EDP) et d’Équations aux Différentielles Ordinaires (EDO). Le problème
mathématique issu de cette modélisation est appelé un modèle mathématique. Il doit
contenir les informations nécessaires, qui peuvent être qualitatives ou quantitatives, sur le
phénomène réel qu’il représente. La modélisation mathématique a lieu en étroite
collaboration avec les scientifiques des disciplines applicatives concernées.
Les modèles issus de la modélisation mathématique n’admettent en général pratiquement
pas de solutions analytiques (exactes), établies explicitement à l’aide des outils
mathématiques classiques. Il devient par conséquent nécessaire de faire recours aux
méthodes numériques pour calculer des solutions approchées.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 4 / 104


Introduction Généralités

Analyse numérique

Définition (Nick Trefethen, Oxford)


L’analyse numérique est une discipline qui traite de la définition, l’analyse et
l’implémentation d’algorithmes pour la résolution numérique des problèmes
mathématiques continus qui proviennent de la modélisation des phénomènes réels.

L’analyse numérique s’intéresse au développement d’outils et de méthodes numériques


pour le calcul d’approximations de la solution des modèles mathématiques continus. Elle
est à l’interface entre l’informatique, les mathématiques et les autres disciplines
scientifiques. Elle permet d’établir des procédures calculatoires détaillées, c’est à dire des
algorithmes, susceptibles d’être mises en œuvre sur les ordinateurs.
Un modèle étant une abstraction d’un phénomène réel, ne peut par conséquent le décrire
exactement tel qu’il est. Il devient ainsi nécessaire d’associer une incertitude à l’étude du
modèle. L’incertitude d’une grandeur modélisée peut être définie comme une valeur
associée au résultat du modèle. Cette valeur caractérise la dispersion des valeurs qui
pourraient raisonnablement être attribuées à la valeur exacte de la grandeur modélisée.
L’incertitude associée à une grandeur peut être évaluée en utilisant l’analyse des
incertitudes. Cette représentation permet de bien préciser la signification du concept
“sources d’erreurs”.
Abdoulaye Samaké (USTTB/FST) Analyse numérique 5 / 104
Introduction Généralités

Analyse numérique

L’analyse numérique se caractérise par une triple adéquation entre :


Le problème et le modèle
La solution du problème
La résolution du problème (méthode et algorithme)

Étapes (niveaux)
Conception
Analyse
Implémentation

Outils classiques
Les matrices et les systèmes linéaires
Les équations différentielles (ordinaires et partielles)

Abdoulaye Samaké (USTTB/FST) Analyse numérique 6 / 104


Introduction Typologie des problèmes

Typologie des problèmes

On distingue :
Problèmes qualitatifs et quantitatifs
Problèmes implicites et explicites
Problèmes bien/mal posés
Problèmes bien/mal conditionnés

Problémes qualitatifs
Comportement des solutions : analyse de stabilité
Comportement asymptotique : conclusions globales, comportement à long terme

Problémes quantitatifs
calcul détaillé d’une solution (numérique) : conclusions spécifiques

Problémes sous forme explicite et implicite


Forme explicite : x = F (d)
Forme implicite : F (x, d) = 0
Abdoulaye Samaké (USTTB/FST) Analyse numérique 7 / 104
Introduction Typologie des problèmes

Typologie des problèmes

Problèmes bien/mal posés


La notion de problème bien/mal posé a été introduite par Hadamard en 1923. Le
problème mathématique x = F (d) est bien posé si :
La solution x existe
La solution x est unique
La solution x dépend continûment des données d.
Autrement, le problème est dit mal posé.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 8 / 104


Introduction Typologie des problèmes

Conditionnement d’un problème

conditionnement
Le conditionnement d’un problème bien posé de la forme x = F (d) mésure la sensibilité
de la solution x du problème au changement des données d.
Soient δd une perturbation admissible des données et δx la modification induite sur la
solution du problème x = F (d), c’est à dire :

δx = F (d + δd) − F (d)

On appelle conditionnement relatif de ce problème, la quantité définie par :

kδxk / kxk kF (d + δd) − F (d)k / kF (d)k


κ(d) = lim sup = lim sup
|D|→0 δd∈D kδdk / kdk |D|→0 δd∈D kδdk / kdk

sup dénote la borne supérieure et D désigne la norme vectorielle (ou matricielle)


Si d = 0, le conditionnement relatif est 0
Si x = 0, le conditionnement relatif est ∞
Dans le cas où d = 0 ou x = 0, on introduit le conditionnement absolu défini par :

kδxk
κabs (d) = lim sup
|D|→0 δd∈D kδdk
Abdoulaye Samaké (USTTB/FST) Analyse numérique 9 / 104
Introduction Typologie des problèmes

Conditionnement d’un problème

conditionnement
On considère le problème sous la forme explicite x = F (d). Si la fonction F est
kδxk
différentiable en d et si on note F 0 (d) = lim sa dérivée, le conditionnement relatif
δd→0 kδdk
peut s’écrire comme suit :
kδxk / kxk kδxk kdk kδdk kdk
= F 0 (d) == F 0 (d)

κ(d) = lim = lim
δd→0 kδdk / kdk δd→0 kδdk kxk kδxk kF (d)k

Si d ∈ Rp et x = F (d) ∈ Rq , la dérivée F 0 (d) correspond à la matrice jacobienne


Si q = 1, la matrice jacobienne est le gradient ∇F (d)

Abdoulaye Samaké (USTTB/FST) Analyse numérique 10 / 104


Introduction Typologie des problèmes

Conditionnement d’un problème

Quelques propriétés
Un problème peut avoir un petit conditionnement pour certaines valeurs de d et un
grand conditionnement pour d’autres valeurs de d
Si κ(d) est grand pour toute donnée admissible d, le problème est dit mal
conditionné
Un problème mal posé est mal conditionné, mais mal conditionné ne veut pas dire
mal posé
Le conditionnement associé à un problème est un indicateur de la difficulté de
résolution numérique du problème
Le fait d’être bien conditionné est une propriété du problème qui est indépendante
de l’algorithme choisi pour le résoudre.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 11 / 104


Introduction Résolution des problèmes

Résolution d’un problème

Pour résoudre un problème mathématique, deux approches peuvent être envisagées :

Résolution analytique (ou symbolique)


Cette approche utilise les propriétés analytiques et mathématiques du problème pour en
dériver la solution x. Malheureusement, une solution analytique n’est pas calculable pour
tous les problèmes.

Résolution numérique
Cette approche fait recours à une méthode numérique pour déterminer la solution x pour
une valeur d donnée.

Quelques avantages d’une approche numérique


Une solution numérique peut être obtenue même si aucune solution analytique n’est
disponible (calculable)
Une méthode numérique est décomposée en une série d’opérations arithmétiques
élémentaires adaptées pour un ordinateur.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 12 / 104


Introduction Typologie des algorithmes

Typologie des algorithmes

Définition
Un algorithme est une suite finie d’instructions indiquant la démarche à suivre pour
résoudre un problème donné.

Complexité d’un algorithme


La complexité d’un algorithme peut être caractérisée par les mésures suivantes :
Le nombre d’étapes
Le temps d’éxécution
L’occupation de l’espace mémoire
Des mesures dépendantes de l’architecture du processeur
Il est souvent intéressant d’avoir une idée qualitative du comportement de l’algorithme
plutôt que de chercher á calculer le nombre exact d’opérations. Par conséquent, la notion
de complexité (asymptotique), qui consiste à définir une mésure de complexité comme
une fonction de la taille n des données du problème.

En général, la complexité d’un problème est définie comme étant la complexité de


l’algorithme ayant la plus petite complexité parmi ceux qui résolvent le problème.
Abdoulaye Samaké (USTTB/FST) Analyse numérique 13 / 104
Introduction Typologie des algorithmes

Ordre de complexité

Soient n la taille des données d’un problème et C(n) la complexité d’un algorithme de
résolution de ce problème. La complexité C(n) est dite d’ordre f (n) s’il exite deux
constantes réelles α et β telles que :

C(n) ≤ βf (n), pour tout n ≥ α. Elle est notée C(n) = O(f (n)).

Ordre Classe de complexité


O(1) constante
O(log(n)) logarithmique
O(n) linéaire
O(n2 ) quadratique
O(n3 ) cubique
O(np ), p ∈ N polynomiale
O(cn ), c constante exponentielle
O(n!) factorielle

Abdoulaye Samaké (USTTB/FST) Analyse numérique 14 / 104


Introduction Typologie des algorithmes

Algorithmes numériques

Définition (Algorithme numérique)


On considère un problème bien posé F (x, d) = 0. L’algorithme numérique pour la
résolution du problème F est défini par la suite suivante de problèmes approchés :

F1 (x(1) , d(1) ), F2 (x(2) , d(2) ), . . . , Fn (x(n) , d(n) ), où n est un paramètre

L’idée sous-jacente à la décomposition en sous-problèmes est la résolution des


problèmes Fn est plus simple que celle de F .
Différents algorithmes peuvent être utilisés pour résoudre le même problème
numérique. Il est par conséquent nécessaire de choisir ce qui présente les meilleurs
propriétés numériques et de complexité.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 15 / 104


Introduction Typologie des algorithmes

Algorithmes itératifs et directes

Définition générale
Une suite de problèmes approchés :

F1 (x(1) , d(1) ), F2 (x(2) , d(2) ), . . . , Fn (x(n) , d(n) ), où n est un paramètre

Algorithmes directes
Le nombre n est fixe ou du moins majoré par une fonction de la taille du problème.

Algorithmes itératifs
Le nombre n est non borné, et donc sujet de la conception
Il existe une routine f (u) admissible, indépendant de n telle que x(n) = f (x(n−1) )

Abdoulaye Samaké (USTTB/FST) Analyse numérique 16 / 104


Introduction Typologie des algorithmes

Quelques propriétés d’un algorithme numérique

Consistance
La consistance est une propriété qui concerne le lien entre le problème original (et sa
solution théorique) et les problèmes intermédiaires de l’algorithme (ainsi que leurs
solutions théoriques). On rappelle que Fn (x(n) , d(n) ) = 0 signifie que x(n) est la solution
du n-iême sous problème.

Définition
Un algorithme Fn (x(n) , d(n) ) est dit consistant si :

lim Fn (x, d(n) ) = F (x, d) = 0


n→∞

Cela signifie que la solution exacte x du problème est parmi les solutions su
sous-problème Fn (x(n) , d(n) ) = 0 pour n → ∞

Un algorithme itératif x(n+1) = f (x(n) ) est donc consistant si :


x(n) = x =⇒ x(n+1) = x. Cette condition est suffisante mais pas nécessaire.
Un algorithme consistant ne signifie pas que x(n) converge vers x, mais seulement
que l’algorithme est conçu de manière à ce que la solution x soit parmi les solutions
de ses sous-problèmes pour n → ∞
Abdoulaye Samaké (USTTB/FST) Analyse numérique 17 / 104
Introduction Typologie des algorithmes

Quelques propriétés d’un algorithme numérique

Consistance forte
Un algorithme Fn (x(n) , d(n) ) est dit fortement consistant si Fn (x(n) , d(n) ) = 0 pour tout
n. Cela signifie que tous les sous-problèmes Fn ont x parmi leurs solutions.

Stabilité d’un algorithme


Soit Fn (x(n) , d(n) ) = 0 un algorithme numérique pour le résolution du problème
F (x, d) = 0 composé d’étapes : x(n) = F (n,m) (d(n,m−1) ) où d(n,i) = F (n,i) (d(n,i−1) ) et
d(n,0) = d(n) .
En pratique, on définit la résolution du même problème comme résultat de l’algorithme
avec les étapes perturbées : x b(n) = F (n,m) (db(n,m−1) ) + δd(n,m) où
(n,i) (n,i) b(n,i−1)
d
b =F (d ) + δd(n,i) et db(n,0) = d(n) .

Définition (stabilité)
Un algorithme numérique est dit stable (ou bien posé) si
Il existe pour tout n une solution unique x(n)
Pour chaque ε > 0, il existe η > 0 et un n0 tel que pour tout n > n0 ,

(n,i) (n)
≤ η pour tout i = 1, . . . , m =⇒ x − x b(n) ≤ ε

δd
Abdoulaye Samaké (USTTB/FST) Analyse numérique 18 / 104
Introduction Typologie des algorithmes

Quelques propriétés d’un algorithme numérique

Stabilité d’un algorithme itératif


Si l’opération F (n,m) (d) est indépendante de n et m, l’algorithme est itératif avec
x(n) = f (x(n−1) ). La notion de stabilité se traduit par la condition suivante : il existe un
réel R, 0 < R < 1, tel que

kf (x1 ) − f (x2 )k ≤ R kx1 − x2 k , dans un voisinage de la solution x.

Si f est différentiable, on a : kf (x1 )k ≤ R.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 19 / 104


Introduction Typologie des algorithmes

Quelques propriétés d’un algorithme numérique

Convergence d’un algorithme


b(n) = x(n) + δx(n) la suite des solutions approchées produite par un algorithme
Soit x
suite aux perturbations {δd(i) }, i = 1, . . . , n. L’algorithme est convergent si :

lim b(n) =
x lim x(n) + δx(n) = x.
n→∞, δd(n) →0 n→∞, δd(n) →0

Autrement dit, pour chaque ε > 0, il existe η > 0 et un n0 tel que pour tout n > n0 ,

(i) (n)
δd ≤ η pour tout i = 1, . . . , n =⇒ x − x b(n) ≤ ε

Les concepts de stabilité et de convergence sont fortement liés.

Théorème de Lax–Richtmyer
En analyse numérique, pour résoudre un problème évolutif avec condition initiale qui est
supposé être bien posé, ceci à l’aide d’un schéma numérique consistant, la stabilité du
schéma est une condition nécessaire et suffisante pour assurer sa convergence.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 20 / 104


Analyse d’erreurs

Analyse d’erreurs

Abdoulaye Samaké (USTTB/FST) Analyse numérique 21 / 104


Analyse d’erreurs

Analyse d’erreurs

Quelques questions
Les questions courantes auxquelles un numéricien est confronté sont les suivantes :
ë Qu’est-ce qu’une erreur ?
ë D’où proviennent les erreurs ?
ë Quelles conséquences ont-elles sur les résultats ?
ë Comment analyser leurs effets sur les résultats ?

Qu’est-ce qu’une erreur ?


L’erreur sur une grandeur constitue la différence entre la valeur exacte et la valeur
approchée calculée. Il est important d’avoir une approche critique des résultats lorsque
l’on utilise une méthode numérique pour résoudre un problème. Pour évaluer la précision
des résultat numériques à travers l’analyse d’erreurs, il est essentiel de reconnaître au
préalable les differentes sources d’erreurs. On peut distinguer les principales catégories
suivantes de sources d’erreurs : les erreurs de modélisation et les erreurs numériques.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 22 / 104


Analyse d’erreurs

Erreurs de modélisation

Les Erreurs de modélisation regroupent les erreurs de modèle et les erreurs de mesure.

Erreurs de modèle
Les erreurs de modèle résultent d’approximations dans la physique du problème. Elles
sont dues au fait que les modèles mathématiques, reposant sur des hypothèses et des
simplifications, sont des approximations plus ou moins proche du problème réel. Elles
croient dans la proportion où des phénomènes physiques importants sont négligés dans la
modélisation et où les hypothèses deviennent incohérentes avec la réalité observée.
Les erreurs de modèle s’apprécient qualitativement au moment de la justification des
hypothèses où le modélisateur doit prendre les limites du modèle à élaborer, et peuvent
être évaluées lors de discussions avec les scientifiques des domaines applicatifs concernées.

Erreurs de mésure
Les erreurs de mésure sont dues à la présence dans le modèle mathématique de
paramètres dont les valeurs ne peuvent être observées ou déterminées
qu’approximativement suite à des mesures expérimentales ou encore estimées par d’autres
modèles mathématiques. Elles sont caractérisées par leur aspect aléatoire et sont décrites
par la théorie de probabilité. Malgré qu’à priori on y peut rien concernant ces erreurs, il
est nécessaire d’étudier les incertitudes sur celles-ci et leurs répercutions sur les résultats.
Abdoulaye Samaké (USTTB/FST) Analyse numérique 23 / 104
Analyse d’erreurs

Erreurs numériques

Les Erreurs numériques regroupent les erreurs d’arrondi, erreurs de troncature et les
erreurs de propagation et de génération.

Erreurs d’arrondi (ou de représentation en machine)


les erreurs d’arrondi sont dues à la représentation machine des nombres et aux opérations
arithmétiques effectuées. Elles sont associées au système de numération et caractérisées
par le fait que la représentation d’un nombre en mémoire de l’ordinateur étant finie, tout
nombre réel n’est connu qu’avec une précision donnée de chiffres significatifs. Ci-dessous
√ 1
des exemples de nombres faisant intervenir la notion d’arrondi : 2, et π.
3
Erreurs de troncature (ou d’approximation)
Les erreurs de troncature sont liées à la précision de l’algorithme utilisé. Elles sont
associées aux processus infinis en analyse mathématique, par exemple les séries
numériques. Les opérations élémentaires +, -, * et / ne nécessitent pas
d’approximation sur un ordinateur, contrairement aux opérations complexes, comme par
exemples cos, sin, log, exp, qui sont approchées à l’aide des développements de Taylor
par une somme finie d’opérations élémentaires. Ces sommes finies engendrent des erreurs,
car pour être exactes, elles devraient être infines. Les développements de Taylor
constituent un outil fondamental de l’analyse numérique.
Abdoulaye Samaké (USTTB/FST) Analyse numérique 24 / 104
Analyse d’erreurs

Erreurs numériques

Exemple d’erreurs de troncature


On cherche à évaluer de manière numérique l’exponentielle z = exp(x). Le problème
consiste à trouver z̃ approchant numériquement z. Une méthode consiste à utiliser le
développement de Taylor de la fonction exp, qui est donné par :

X xk
∀x ∈ R, exp(x) =
k!
k=0

En considérant des ressources de calcul limitées, on en est réduit à déterminer


M
X xk
z̃ = , M ∈N
k!
k=0

L’erreur de troncature sur ce calcul est définie par :



X xk
ET = z − z̃ =
k!
k=M +1

Abdoulaye Samaké (USTTB/FST) Analyse numérique 25 / 104


Analyse d’erreurs

Erreurs numériques

Erreurs de propagation et de génération


Les erreurs de propagation et de génération apparaissent dans le résultat d’une opération
comme conséquence des erreurs des opérandes. Les erreurs de propagation sont liées au
conditionnement du problème tandis que les erreurs de génération dépendent de la
stabilité de l’algorithme.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 26 / 104


Analyse d’erreurs Estimation des erreurs

Estimation d’erreurs

Nombre approché
Un nombre approché x̃ est un nombre légèrement different du nombre exact x et qui
peut, dans le calcul, remplacer ce dernier. Si x̃ < x, on dit que x̃ est une valeur
approchée de x par défaut. Dans le cas où x̃ > x, x̃ est appelé valeur approchée de x par
excès. La notation x̃ ≈ x signifie que x̃ est une valeur approchée de x.

Erreur absolue
Soit x un nombre réel, et x̃ une valeur approchée de x. L’erreur absolue, notée δx , est
définie par :
δx = |x − x̃|
On remarque que l’erreur absolue est une mesure quantitative.

Écart relatif
Soit x un nombre réel, et x̃ une valeur approchée de x. On définit l’écart relatif par :
x − x̃
ρx =
x

Abdoulaye Samaké (USTTB/FST) Analyse numérique 27 / 104


Analyse d’erreurs Estimation des erreurs

Estimation d’erreurs

Erreur relative
Soit x un nombre réel, et x̃ une valeur approchée de x. L’erreur relative, notée εx , est
définie par :
x − x̃
εx = = δx
x |x|
On note que l’erreur relative est une mesure qualitative généralement exprimée en
pourcentage. Elle fournit une information plus pertinente sur la grandeur réelle de
l’erreur. Elle n’est cependant pas définie pour x = 0.

Borne supérieure des erreurs


En pratique, on ne connait pas la veleur exacte x. Cependant, on peut toujours estimé
une borne supérieure de l’erreur absolue, que l’on notera ∆x :

δx = |x − x̃| ≤ ∆x

|x − x̃| ≤ ∆x ⇐⇒ −∆x ≤ x − x̃ ≤ ∆x ⇐⇒ x̃ − ∆x ≤ x ≤ x̃ + ∆x
À partir des inégalités ci-dessus, on a : x̃ = x ± ∆x , où ∆x représente l’incertitude.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 28 / 104


Analyse d’erreurs Estimation des erreurs

Estimation d’erreurs

Dans la suite, par abus de langage, on confondra ∆x avec δx . Par conséquent, Pour
l’erreur relative εx , on a :
|x − x̃| ∆x
εx = ≤
|x| |x|
Dans le cas où ∆x est “suffisamment petit”, on dira que :
∆x
εx ≈
|x|
En conclusion, sauf dans les cas particuliers où x et x̃ sont connues, on utilisera :
∆x comme valeur pour l’erreur absolue
∆x
comme valeur pour l’erreur relative
|x|
Lorsque ∆x et x sont données, on prend
∆x
δx = .
|x|
Le taux d’incertitude est sans unité. On l’exprime en général en pourcentage %.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 29 / 104


Analyse d’erreurs Estimation des erreurs

Estimation d’erreurs

Écriture des données


On appelle chiffres significatifs d’un nombre, tous les chiffres de son écriture à partir du
premier chiffre non nul à gauche.
Un chiffre significatif d’un nombre est dit exact au sens étroit si la marge
d’incertitude sur ce nombre ne dépasse pas la demi-unité correspondante au rang de
ce chiffre.
Exemple : Pour a = 0, 02134 ± 0, 0004, le chiffre 2 est-il exact au sens étroit ?
L’unité correspondante au rang de 2 est 10−2 , donc la demi-unité correspondante au
1
rang de 2 est · 10−2 = 0, 005 ≥ 0, 0004. Par conséquent, 2 est exact au sens étroit.
2
Les chiffres 1, 3 et 4 sont-ils exacts au sens étroit ?
Un chiffre significatif d’un nombre est dit exact au sens large si la marge
d’incertitude sur ce nombre ne dépasse pas l’unité correspondant de ce chiffre.
Remarque : Un chiffre significatif exact au sens étroit est exact au sens large.

a = 0.02034; b = 0.0021700; c = 32300.13.


Les chiffres significatifs sont ceux soulignés.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 30 / 104


Analyse d’erreurs Estimation des erreurs

Opérations sur les valeurs approchées

Somme et différence de valeurs approchées


La marge d’incertitude sur une somme algébrique de valeurs approchées est égale à la
somme des marges d’incertitude de ces valeurs approchées. i.e
∆(x1 + x2 ) = ∆(x1 ) + ∆(x2 )
∆(x1 − x2 ) = ∆(x1 ) + ∆(x2 )

Démonstration.
Soit une somme S = x1 + x2 et S ∗ = x∗1 + x∗2 une valeur approchée de cette somme.
Par définition on a :

∆(x1 + x2 ) = |(x1 + x2 ) − (x∗1 + x∗2 )| = |(x1 − x∗1 ) + (x2 − x∗2 )| .

|(x1 − x∗1 ) + (x2 − x∗2 )| ≤ |(x1 − x∗1 )| + |(x2 − x∗2 )| = ∆(x1 ) + ∆(x2 ).
De même on a :

∆(x1 − x2 ) = |(x1 − x2 ) − (x∗1 − x∗2 )| = |(x1 − x∗1 ) + (x∗2 − x2 )| .

|(x1 − x∗1 ) + (x∗2 − x2 )| ≤ |(x1 − x∗1 )| + |(x2 − x∗2 )| = ∆(x1 ) + ∆(x2 ).

Abdoulaye Samaké (USTTB/FST) Analyse numérique 31 / 104


Analyse d’erreurs Estimation des erreurs

Opérations sur les valeurs approchées

Application
Trouver la marge d’incertitude sur la somme algébrique S = 326.32 + 25.293 − 32.5
sachant que les termes de la somme S ont tous leurs chiffres significatifs exacts au sens
étroit.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 32 / 104


Analyse d’erreurs Estimation des erreurs

Opérations sur les valeurs approchées

Application
Trouver la marge d’incertitude sur la somme algébrique S = 326.32 + 25.293 − 32.5
sachant que les termes de la somme S ont tous leurs chiffres significatifs exacts au sens
étroit.

Solution
Posons α∗ = 326.32; β ∗ = 25.293 et γ ∗ = −32.5. Pour S = α + β + γ, on aura
S ∗ = α∗ + β ∗ + γ ∗ = 326.32 + 25.293 − 32.5 = 319.113.
1 1 1
Par hypothèse on a : ∆(α) ≤ · 10−2 ; ∆(β) ≤ · 10−3 et ∆(γ) ≤ · 10−1
2 2 2
En prenant l’égalité (=) alors on trouve :
1
∆(S) = ∆(α) + ∆(β) + ∆(γ) = · (10−2 + 10−3 + 10−1 ) = 0.0555.
2
On a donc S = 319.113 ± 0.0555.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 32 / 104


Analyse d’erreurs Estimation des erreurs

Opérations sur les valeurs approchées

Produit et quotient de valeurs approchées


Le taux d’incertitude du produit et du rapport de valeurs approchées est égal à la somme
des taux d’incertitude de ces valeurs approchées. i.e :
δ(x1 x2 ) = δ(x1 ) + δ(x2 )
 
x1
δ = δ(x1 ) + δ(x2 )
x2

Démonstration.
Soit un produit P = x1 x2 et P ∗ = x∗1 x∗2 une valeur approchée de ce produit.
Par definition on a :
x1 x2 − x∗1 x∗2 x1 x2 − x1 x∗2 + x1 x∗2 − x∗1 x∗2

∆P
δ(x1 x2 ) = = =
|P | x1 x2 x1 x2

x1 x2 − x1 x∗2 + x1 x∗2 − x∗1 x∗2 (x2 − x∗2 )x1 + (x1 − x∗1 )x∗2

=
x1 x2 x1 x2

Abdoulaye Samaké (USTTB/FST) Analyse numérique 33 / 104


Analyse d’erreurs Estimation des erreurs

Opérations sur les valeurs approchées

Démonstration.
(x2 − x∗2 )x1 + (x1 − x∗1 )x∗2 x1 − x∗1 x∗2 x∗2 − x2

≤ +
x1 x2 x1 x2 x2
∆(x1 ) x∗2 ∆(x2 )

= δ(x1 ) x2 + δ(x2 ).

+
x1 x2 x2 x2

x
comme x2 est une valeur approchée de x2 , on peut admettre que 2 ' 1. Alors on

x2
conclut que δ(x1 · x2 ) = δ(x1 ) + δ(x2 ).

x1
Montrer que δ( ) = δ(x1 ) + δ(x2 ).
x2

Abdoulaye Samaké (USTTB/FST) Analyse numérique 34 / 104


Analyse d’erreurs Estimation des erreurs

Opérations sur les valeurs approchées

Application
Trouver la marge d’incertitude sur le produit P = 36.4 × 5.23 où les facteurs ont tous
leurs chiffres significatifs exacts au sens étroit.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 35 / 104


Analyse d’erreurs Estimation des erreurs

Opérations sur les valeurs approchées

Application
Trouver la marge d’incertitude sur le produit P = 36.4 × 5.23 où les facteurs ont tous
leurs chiffres significatifs exacts au sens étroit.

Solution
Posons λ∗ = 36.4 et µ∗ = 5.23 ; P = λ × µ et une valeur approchée serait
P ∗ = λ∗ × µ∗ = 36.4 × 5.23 = 190.372
1 1
Par hypothèse on a : ∆(λ) = · 10−1 = 0.05 et ∆(µ) = · 10−2 = 0.005
2 2
∆(λ) ∆(µ)
On a donc δ(P ) = δ(λ · µ) = δ(λ) + δ(µ) ; soit δ(P ) = + . Alors on obtient :
λ∗ µ∗
0.05 0.005
δ(P ) = + = 0.0023.
36.4 5.23
Par ailleurs, on sait que
∆(P )
δ(P ) = =⇒ ∆(P ) = P ∗ δ(P ) = 190.372 × 0.0023 = 0.4379.
P∗
On a donc P = 190.372 ± 0.4379.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 35 / 104


Analyse d’erreurs Estimation des erreurs

Opérations sur les valeurs approchées

Puissance n-ième et racine n-ième de valeurs approchées


Le taux d’incertitude de la n-ème Puissance d’une valeur approchée est égal n fois le
taux d’incertitude de cette valeur approchée.
Le taux d’incertitude de la racine nième d’une valeur approchée est égal a la nième
partie du taux d’incertitude de cette valeur approchée i.e :
δ (αn ) = nδ(α).
√ δ(α)
δ ( n α) = .
n

Incertitude sur une fonction


Soient ∆(a1 ), ∆(a2 ), · · · , ∆(an ) les marges d’incertitude sur des valeurs approchées
a∗1 , a∗2 , · · · , a∗n et S = f (a1 , a2 , · · · , an ) ou f est une fonction de classe C1 . Alors la
marge d’incertitude sur S s’exprime par :
∂f (a∗1 , a∗2 , · · · , a∗n ) ∂f (a∗1 , a∗2 , · · · , a∗n )

∆(S) = ∆(a2 ) + · · ·
∆(a1 ) +

∂a1 ∂a2

∂f (a∗1 , a∗2 , · · · , a∗n )



∆(an ).
∂an
Abdoulaye Samaké (USTTB/FST) Analyse numérique 36 / 104
Analyse d’erreurs Estimation des erreurs

Opérations sur les valeurs approchées

Application
√ 
Trouver la marge d’incertitude sur le calcul de R = ln 11.2 + 5.7 où les nombres 11.2
et 5.7 ont tous leurs chiffres exacts au sens étroit.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 37 / 104


Analyse d’erreurs Estimation des erreurs

Opérations sur les valeurs approchées

Application
√ 
Trouver la marge d’incertitude sur le calcul de R = ln 11.2 + 5.7 où les nombres 11.2
et 5.7 ont tous leurs chiffres exacts au sens étroit.

Solution

Posons a∗1 = 11.2, a∗2 = 5.7, on aura R = ln (a1 + a2 ) et
√ 
R∗ = ln a∗1 + a∗2 = ln 11.2 + 5.7 = 2.6091
p 

Maintenant, cherchons l’incertitude ∆(R) comme suit :


∂f (a1 , a2 ) 1 ∂f (a1 , a2 ) 1
= √ et = √ √ .
∂a1 a1 + a2 ∂a2 2 a2 (a1 + a2 )
1 1
∆(R) = √ ∆(a1 ) + √ √ ∆(a2 ).
a1 + a2 2 a2 (a1 + a2 )

Abdoulaye Samaké (USTTB/FST) Analyse numérique 37 / 104


Analyse d’erreurs Estimation des erreurs

Opérations sur les valeurs approchées

Solution (suite)
Par hypothèse
1 1
∆(a1 ) = · 10−1 ; ∆(a2 ) = · 10−1 .
2 2
On a donc
 
1 1
∆(R) = 0.05 √ + √ √ = 0.00445 = 0.005.
11.2 + 5.7 2 5.7(11.2 + 5.7)
R = 2.6091 ± 0.005.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 38 / 104


Analyse d’erreurs Estimation des erreurs

Opérations sur les valeurs approchées

Principe de l’équi-influence
Soit S = f (a1 , a2 , · · · , an ).
Connaissant la marge d’incertitude (ou le taux d’incertitude), on se propose de
déterminer les marges ou taux d’incertitude sur a1 , a2 , · · · , an .
On ne dispose que de l’équation :
n
X ∂f
∆(S) = ∂ai ∆(ai )

i=1

ou
n n
∆(S) X ∂f ∆(ai ) X ∂f
= ∂ai ai ⇐⇒ ∂ai δ(ai ) = δ(S).

S i=1 i=1

Abdoulaye Samaké (USTTB/FST) Analyse numérique 39 / 104


Analyse d’erreurs Estimation des erreurs

Opérations sur les valeurs approchées

Principe de l’équi-influence (suite)


Il y a donc une indétermination. Pour lever cette indétermination on fait appel au
principe de l’équi-influence. On admet une répartition équitable des marges d’incertitude
entre les variables. Autrement dit que :

∂f
∆(a1 ) = ∂f ∆(a2 ) = · · · = ∂f ∆(an ).


∂a1 ∂a2 ∂an

Ainsi
∂f ∆(S)
∂ai ∆(ai ) = n , i = 1, . . . , n

et l’indétermination est levée.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 40 / 104


Analyse d’erreurs Estimation des erreurs

Opérations sur les valeurs approchées

Application
On veut mesurer à 1% près la surface latérale d’un tronc de cône dont les rayons R et r
des bases sont 2 m et 1 m, respectivement, et de génératrice 5 m. Avec quelles
précisions doit-on mesurer les rayons et la génératrice ? On admet que π est connu de
façon exacte. La surface latérale s’exprime par :
(2πR + 2πr)d
S= = π(R + r)d
2

Abdoulaye Samaké (USTTB/FST) Analyse numérique 41 / 104


Analyse d’erreurs Estimation des erreurs

Opérations sur les valeurs approchées

Application
On veut mesurer à 1% près la surface latérale d’un tronc de cône dont les rayons R et r
des bases sont 2 m et 1 m, respectivement, et de génératrice 5 m. Avec quelles
précisions doit-on mesurer les rayons et la génératrice ? On admet que π est connu de
façon exacte. La surface latérale s’exprime par :
(2πR + 2πr)d
S= = π(R + r)d
2

Solution

∂S
∆(R) + ∂S ∆(r) + ∂S ∆(d).

∆(S) =
∂R ∂r ∂d
∂S ∂S ∂S
= πd; = πd; = π(R + r)
∂R ∂r ∂d

∆(S) πd πd ∆(r) + π(R + r) ∆(d).

= ∆(R) +
S π(R + r)d π(R + r)d π(R + r)d
∆(S) ∆(R) ∆(r) ∆(d)
= + + = 1%.
S R+r R+r d
Abdoulaye Samaké (USTTB/FST) Analyse numérique 41 / 104
Analyse d’erreurs Estimation des erreurs

Opérations sur les valeurs approchées

Solution (suite)
En appliquant le principe de l’équi-influence on obtient :
∆(R) ∆(r) ∆(d) 1 ∆(S) 1
= = = · = · 1%.
R+r R+r d 3 S 3
On aura :
3×1 3×1 5×1
∆(R) = = 0.01 m; ∆(r) = = 0.01 m; ∆(d) = = 0.017 m.
300 300 300

Abdoulaye Samaké (USTTB/FST) Analyse numérique 42 / 104


Analyse d’erreurs Réprésentation des nombres en machine

L’arithmétique flottante

La mémoire d’un ordinateur étant constituée d’un support physique, sa capacité est, par
construction, limitée. Par conséquent, le nombre de valeurs (entières ou réelles)
représentables, stockées en mémoire sous la forme d’ensemble de chiffres affectés à des
“cellules mémoire”, est fini. On distingue essentiellement deux systèmes de représentation
des nombres réels : le système des nombres à virgule fixe et le système des nombres à
virgule flottante.

Représentation à virgule fixe


Soit x un nombre réel. La représentation en virgule fixe de x est :
n  o
an an−1 . . . a1 a0 , a−1 a−2 . . . a−m , b, s

b ∈ N, b ≥ 2, représente la base
s ∈ {0, 1} est le signe de x
Les symboles ai ∈ N, 0 ≤ ai < b, i = −m, . . . , n
n + 1 représente le nombre de chiffres avant la virgule
m désigne le nombre de chiffres après la virgule

Abdoulaye Samaké (USTTB/FST) Analyse numérique 43 / 104


Analyse d’erreurs Réprésentation des nombres en machine

L’arithmétique flottante

Représentation à virgule fixe (suite)


La valeur de x dans la représentation ci-dessus à virgule fixe est :
n
!
X
x = (−1)s ak bk
k=−m

On peut remarquer que le nombre x est positif si s = 0 et négatif sinon.

Exemples
{[0021, 47300], 10, 0} : b = 10, n = 3, m = 5, s = 0 =⇒

x = 2 × 101 + 1 × 100 + 4 × 10−1 + 7 × 10−2 + 3 × 10−3 = 21.473

{[0021, 47300], 16, 0} : b = 16, n = 3, m = 5, s = 0 =⇒

x = 2 × 161 + 1 × 160 + 4 × 16−1 + 7 × 16−2 + 3 × 16−3 = 33.278

Abdoulaye Samaké (USTTB/FST) Analyse numérique 44 / 104


Analyse d’erreurs Réprésentation des nombres en machine

L’arithmétique flottante

Remarques
La représentation á virgule fixe est principalement utilisées lorsque le processeur de la
machine ne possède pas d’unité de calcul pour les nombres à virgule flottante ou bien
quand ils permettent de diminuer le temps de traitement et/ou d’améliorer l’exactitude
des calculs. Cependant, l’absence de “dynamique” dans le choix de placement du
séparateur limite considérablement la plage de valeurs représentables par un nombre à
virgule fixe, sauf à disposer d’un grand nombre de cellules mémoire.

Il est important de remarquer la différence qui existe entre les symboles et les nombres
qu’ils représentent :
[101, 011] =⇒ nombre 101.011 si b = 10
[101, 011] =⇒ nombre 5.375 si b = 2
[101, 011] =⇒ nombre 10.148 si b = 3
Les ordinateurs emploient généralement les trois bases suivantes :
b = 10 (système décimal) - les symboles sont : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
b = 2 (système binaire) - les symboles sont : 0, 1
b = 16 (système hexadécimal) - les symboles sont : 0 − 9, A-F
Abdoulaye Samaké (USTTB/FST) Analyse numérique 45 / 104
Analyse d’erreurs Réprésentation des nombres en machine

L’arithmétique flottante

Représentation à virgule flottante


Soit x un nombre réel. La représentation en virgule flottante de x est :
n  o
a1 a2 . . . at , e, b, s (1)

La base : b ∈ N, b ≥ 2 (convention implicite)


L’exposant : e ∈ Z, L ≤ e ≤ U (L et U convention implicite)
Le signe : s ∈ {0, 1}
Les symboles ai ∈ N, 0 ≤ a1 < b
Notation normalisée : ai ∈ N, 0 < a1 < b et 0 ≤ ai < b, i = 2, . . . , t. Sans cette
normalisation, la notation à virgule flottante n’est pas unique.
La mantisse est définie par la quantité suivante :
t
X
m ∈ N, m = m[x] = ai bt−i
i=1

Abdoulaye Samaké (USTTB/FST) Analyse numérique 46 / 104


Analyse d’erreurs Réprésentation des nombres en machine

L’arithmétique flottante

Représentation à virgule flottante (suite)


Dans la suite, nous allons considérer le cas normalisé (a > 0) qui implique la rélation
suivante :
bt−1 ≤ m ≤ bt − 1
.
La notation à virgule flottante 1 est utilisée pour encoder le nombre réel
t
X
x = (−1)s be ai b−i = (−1)s mbe−t
i=1

On note que avant la multiplication avec be , toute la mantisse n’apparaît qu’après la


virgule, y compris le premier chiffre significatif.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 47 / 104


Analyse d’erreurs Réprésentation des nombres en machine

L’arithmétique flottante

Exemples
{[3, 2], 1, 10, 0} : e = 1, b = 10, s = 0 =⇒
2
X  
x = (−1)0 × 101 ai b−i = 101 3 × 10−1 + 2 × 10−2 = 0.32 × 101 = 3.2
i=1

{[3, 2], −1, 10, 1} : e = −1, b = 10, s = 1 =⇒


2
X  
x = (−1)1 × 10−1 ai b−i = (−1)1 × 10−1 3 × 10−1 + 2 × 10−2 =⇒
i=1

x = −0.32 × 10−1 = −0.032

Abdoulaye Samaké (USTTB/FST) Analyse numérique 48 / 104


Analyse d’erreurs Réprésentation des nombres en machine

L’arithmétique flottante

Quelques propriétés des nombres à virgule flottante


La notation F(b, t, L, U ) désigne l’ensemble des nombres réels qui sont représentés
par une notation à virgule flottante en base b, comportant t chiffres significatifs et
dont l’exposant varie dans l’intervalle [L, U ].
L’ensemble F ne contient pas zéro si la réprésentation est normalisée.
F(b, t, L, U ) est un sous ensemble fini de R.
La rélation suivante est vérifiée :

x ∈ F(b, t, L, U ) =⇒ b(L−1) ≤ |x| ≤ bU (1 − b−t )

Les nombres réels qui appartiennent à l’ensemble F ne sont pas équirépartis le long
de la droite réelle. Par conséquent, nous allons évaluer l’écart entre deux nombres
consécutifs de F.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 49 / 104


Analyse d’erreurs Réprésentation des nombres en machine

L’arithmétique flottante

Distance relative
La distance relative entre deux nombres consécutifs xi et xi+1 de F est définie par :

xi+1 − xi
η(xi ) =
xi

1
On peut montrer que pour tout xi , η(xi ) = , où m[xi ] est la mantisse de xi .
m[xi ]
1
Puisque bt−1 < m < bt =⇒ b−t < < b1−t , on obtient :
m

 xi+1 − xi 
< ≤ c’est à dire < η(xi ) ≤ , avec  = b1−t
b xi b
Le nombre  est appelée epsilon machine.

Epsilon machine
L’epsilon machine est la distance relative maximale entre deux nombres consécutifs de F.

La distance relative minimale entre deux nombres à virgule flottante est donnée par /b.
Abdoulaye Samaké (USTTB/FST) Analyse numérique 50 / 104
Analyse d’erreurs Réprésentation des nombres en machine

L’arithmétique flottante

Distance relative
Considérerons le nombre xi = 1. On a m[xi ] = bt−1 , et par conséquent :

xi = mbe−t = bt−1 be−t = be−1 . xi = 1 ⇐⇒ be−1 = 1 =⇒ e = 1.


xi+1 − xi
= xi+1 − xi = b1−t = 
xi

Il s’ensuit que :  est la distance entre xi = 1 et le prochain nombre réel xi+1 = 1 +  qui
appartient à F.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 51 / 104


Analyse d’erreurs Réprésentation des nombres en machine

L’arithmétique flottante

Représentation machine des réels


On considère un ordinateur qui utilise la notation à virgule flottante avec base b, t
chiffres significatifs et L ≤ e ≤ U . Dans un tel ordinateur, seul un sous ensemble
F(b, t, L, U ) ⊂ R de nombres réels peut être représenté et manipilé. Par conséquent, la
question qui se pose est de savoir comment représenté un nombre réel quelconque x
n’appartenant pas à F. L’approche typique consiste à arrondir x de façon à ce que le
nombre arrondi appartienne à F. Les trois situations suivantes peuvent se produire :
|x| > bU (1 − b−t ) : le nombre x ne peut pas être représenté par le système de
notation et on parle dans ce cas une situation d’overflow. L’overflow provoque
normalement une interruption du programme par le système.
|x| < bL−1 : cela correspond à une situation d’underflow, généralement géré en
remplaçant x par 0.
bL−1 ≤ |x| ≤ bU (1 − b−t ) et x ∈ / F : dans ce cas, en prenant un nombre de chiffres
significatifs infini, le nombre x ∈ / F peut être représenté de la manière suivante :
n  o
a1 a2 . . . at at+1 at+2 . . . , e, b, s , où e ∈ [L, U ].

Abdoulaye Samaké (USTTB/FST) Analyse numérique 52 / 104


Analyse d’erreurs Réprésentation des nombres en machine

L’arithmétique flottante

Représentation machine des réels


Dans ce dernier cas, deux transformations de x sont possibles :
Transformation d’arrondi :
x → fl(x)
n où fl(x) ∈ F(b, t, L, U
o) a comme notation en virgule flottante
fl(x) = a1 a2 . . . a∗t , e, b, s avec
(
at si at+1 < b/2
a∗t =
at+1 si at+1 ≥ b/2

Transformation de troncature :
x → tr(x)
n où tr(x) ∈F(b, t, L,oU ) a comme notation en virgule
tr(x) = a1 a2 . . . at , e, b, s

Abdoulaye Samaké (USTTB/FST) Analyse numérique 53 / 104


Analyse d’erreurs Réprésentation des nombres en machine

L’arithmétique flottante

Erreur d’arrondi
On considère un ordinateur utilisant la notation F(b, t, L, U ). Soit x ∈ R un nombre réel
quelconque et fl(x) ∈ F(b, t, L, U ) la représentation machine à virgule flottante de x. On
note εx l’erreur relative sur x définie par :
|fl(x) − x|
εx =
|x|

Soient xi et xi+1 ∈ F(b, t, L, U ) deux nombres consécutifs à virgule flottante tels que
xi ≤ x ≤ xi+1 .
1
Puisque |fl(x) − x| ≤ |xi+1 − xi | et que xi ≤ x, on montre que :
2

|fl(x) − x| 1 xi+1 − xi 1 1−t 1
εx ≡ |ρx | = ≤ ≤ 2b = =u
|x| 2 xi 2
où u est dite la précision machine.
On obtient xb = fl(x) = x(1 + ρx ) où εx = |ρx | ≤ u est dite l’erreur d’arrondi.

La précision machine correspond à l’ordre de grandeur de la meilleure précision


atteignable sur un ordinateur.
Abdoulaye Samaké (USTTB/FST) Analyse numérique 54 / 104
Méthodes directes de résolution des systèmes linéaires

Méthodes directes de résolution des systèmes linéaires

Abdoulaye Samaké (USTTB/FST) Analyse numérique 55 / 104


Méthodes directes de résolution des systèmes linéaires Systèmes linéaires

Modélisation Mathématique

Les systèmes et phénomènes physiques les plus remarquables de la vie réelle sont
également les plus complexes à comprendre et à étudier. Les méthodes mathématiques de
plus en plus sophistiquées sont utilisées dans le traitement de ces problèmes issus de la
science de l’ingénieur, de sciences physiques, biologiques, économiques et sociales.
La modélisation mathématique consiste à la description d’un phénomène observé par le
biais d’équations mathématiques, généralement sous la forme d’Équations aux Dérivées
Partielles (EDP) et d’Équations aux Différentielles Ordinaires (EDO). Le problème
mathématique issu de cette modélisation est appelé un modèle mathématique. Il doit
contenir les informations nécessaires, qui peuvent être qualitatives ou quantitatives, sur le
phénomène réel qu’il représente. La modélisation mathématique a lieu en étroite
collaboration avec les scientifiques des disciplines applicatives concernées.
Les modèles issus de la modélisation mathématique n’admettent en général pratiquement
pas de solutions analytiques (exactes), établies explicitement à l’aide des outils
mathématiques classiques. Il devient par conséquent nécessaire de faire recours aux
méthodes numériques pour calculer des solutions approchées.
La résolution numérique d’un modèle mathématique se ramene très souvent à la
résolution d’un système linéaire. Si des questions théoriques fondamentales sur la solution
d’un système linéaire sont résolues depuis de nombreuses années, le développement de
méthodes robustes et efficaces est toujours l’objet de recherches actives dans la
communauté mathématique.
Abdoulaye Samaké (USTTB/FST) Analyse numérique 56 / 104
Méthodes directes de résolution des systèmes linéaires Systèmes linéaires

Systèmes linéaires

On considère la problème suivant : trouver u ∈ [0, 1] telle que


 00
 − u (x) + c(x)u(x) = f (x) dans ]0, 1[

u(0) = α (2)

u(1) = β

où α et β sont des réels, f est une fonction continue sur [0, 1] et c est une fonction
continue positive sur [0, 1].
On se propose de discrétiser cette équation par ce que l’on appelle la méthode des
différences finies. Pour cela, on se donne un nombre fini de points dans [0, 1] espacés à
1
égale distance h. Alors pour n ∈ N, h = est appélé le “pas de maillage”. On note
n+1
pour tout j = 0, . . . , n, xj = jh. L’idée consiste à calculer une valeur approchée de la
solution u aux points x0 , . . . , xn+1 . Il s’agit donc de passer du problème continu à un
problème discret. Pour tout i = 0, . . . , n + 1, notons ui la valeur approchée des u(xi ),
ci = c(xi ) et fi = f (xi ). La question qu’on se pose maintenant est la suivante :
comment approcher u00 (xi ) ?

Abdoulaye Samaké (USTTB/FST) Analyse numérique 57 / 104


Méthodes directes de résolution des systèmes linéaires Systèmes linéaires

Systèmes linéaires
En supposant que u ∈ C 4 ([0, 1]), on considère les développements de Taylor à l’ordre 3 :

h2 00 h3 (3)
u(xi+1 ) = u(xi + h) = u(xi ) + hu0 (xi ) + u (xi ) + u (xi ) + O(h4 )


2 6 (3)
 0 h2 00 h3 (3) 4
u(xi−1 ) = u(xi − h) = u(xi ) − hu (xi ) + u (xi ) − u (xi ) + O(h )


2 6
En faisant la somme des deux égalités de (3), on obtient :
u(xi+1 ) − 2u(xi ) + u(xi−1 )
u00 (xi ) = + O(h2 ) (4)
h2
De l’équation (4), on peut s’écrire :
u(xi+1 ) − 2u(xi ) + u(xi−1 )
u00 (xi ) ≈ (5)
h2
Si l’on pose u(0) = u0 et u(1) = un+1 , le schéma ainsi obtenu est le suivant :
−u(xi+1 ) + 2u(xi ) − u(xi−1 )

 + ci ui = fi , i = 1, . . . , n
h2


u0 = α (6)



un = β

Abdoulaye Samaké (USTTB/FST) Analyse numérique 58 / 104


Méthodes directes de résolution des systèmes linéaires Systèmes linéaires

Systèmes linéaires
Ls système discret (6) est composé de n + 1 équations à n + 1 inconnues. On peut
l’écrire sous la forme matricielle suivante :

(Ah + Ch ) Uh = Fh (7)


2 −1 0 ··· 0
 
0 ··· 0
 
−1 2 −1 · · · 0 c1

.. .. .. .. 
  0 c2 · · · 0 
1 
Ah = 2  0 . . . .  , C = . .

.. 

h  .
 h
 .. .. ... .
.. .. ..

 ..

. . . −1 0 · · · 0 cn
0 ··· 0 −1 2
 α
f1 + 2
h
 f2 
   
u1
 .  ..
 
Uh =  ..  , Fh =  , Ah , Ch ∈ Mn (R) et Uh , Fh ∈ Rn
 
 . 
un  fn−1 
β
 
fn + 2
h
L’approximation est d’autant meilleurs que h est petit, donc n grand.
Abdoulaye Samaké (USTTB/FST) Analyse numérique 59 / 104
Méthodes directes de résolution des systèmes linéaires Systèmes linéaires

Systèmes linéaires

Definition 3.1 (Système linéaire)


Un système linéaire de n équations à m inconnues est un ensemble de rélations
algébriques de la forme :
Xm
aij xj = bi , i = 1, . . . , n (8)
j=1

Les aij ∈ K sont les coefficients du système linéaire


Les xj ∈ K sont les inconnues et les bi ∈ K sont les composants du second membre
On appelle solution du système linéaire (8) tout m-uplets (x1 , x2 , . . . , xm ) qui satisfait
les n équations de ce système. Dans le cas où n = m, le système (8) est dit carré. Dans
le cas contraire, c’est à dire n 6= m, le système est dit rectangulaire.

Il est commode d’écrire le système linéaire (8) sous la forme matricielle :

Ax = b (9)
A ∈ Mn,m (K) est la matrice des coefficients
x ∈ Mm,1 (K) est le vecteur inconnu
b ∈ Mn,1 (K) est le vecteur du second membre
Abdoulaye Samaké (USTTB/FST) Analyse numérique 60 / 104
Méthodes directes de résolution des systèmes linéaires Systèmes linéaires

Systèmes linéaires

Résolution de systèmes linéaires carrés


Les trois possibilités suivantes se présentent pour la résolution d’un système linéaire carré
de type (9) avec A ∈ Mn (K) et x, b ∈ Mn,1 (K) :
r A est inversible : dans ce cas le système (9) admet une unique solution x ∈ Mn,1 .
r A n’est pas inversible mais b ∈ Im(A) : il existe une infinité de solutions.
r A n’est pas inversible et b ∈
/ Im(A) : il n’existe pas de solution.

Un système linéaire carré de type (9) à coefficients réels, c’est à dire A ∈ Mn (R) et
x, b ∈ Rn , admet une solution unique si l’une des conditions équivalentes suivantes est
satisfaite :
La matrice A est inversible
La matrice A est régulière (non singulière) : det(A) 6= 0
Le rang rg(A) = n
Le système homogène Ax = 0 admet seulement la solution nulle x = 0Rn .

Dans la suite, nous allons nous intéresser aux systèmes linéaires de la fome :

Ax = b, où A ∈ Mn (R), n ≥ 2, est supposée inversible et x, b ∈ Rn (10)


Abdoulaye Samaké (USTTB/FST) Analyse numérique 61 / 104
Méthodes directes de résolution des systèmes linéaires Systèmes linéaires

Systèmes linéaires

Méthode de Cramer
En utilisant la méthode de Cramer, la solution du système (10) est donnée par
x = (x1 , x2 , . . . , xn ) avec
∆j
xj = , j = 1, 2, . . . , n
det(A)
où ∆j est le déterminant de la matrice A obtenue en remplaçant la j-ième colonne de A
par le vecteur b et det(A) désigne le déterminant de A et est calculée comme suit :
n
X
det(A) = (−1)i+j aij det(Aij ), j = 1, 2, . . . , n
i=1

où Aij ∈ Mn−1 (R) est obtenue en éliminant la ligne i et la colonne j de A.


Le coût de la méthode de Cramer est de l’ordre O((n + 1)!). Ce Coût, qui est tout
simplement monstrueux pour n grand, est dû principalement au calcul des déterminants
(de manière récursive) qui est de l’ordre O(n!). Un ordinateur classique avec un
processeur comprenant 4 cœurs cadencés à 2.5 GHz a une performance théorique de 10
GFLOPS. Un tel ordinateur mettrait 405 années pour résoudre un système linéaire de
seulement 20 équations avec la méthode de Cramer.
Abdoulaye Samaké (USTTB/FST) Analyse numérique 62 / 104
Méthodes directes de résolution des systèmes linéaires Systèmes linéaires

Systèmes linéaires
La méthode de Cramer étant complètement infaisable en pratique à cause de son coût
trop élevé, même pour des matrices de petites dimensions, il devient indispensable de
recourir aux méthodes numériques alternatives. Ces méthodes consistent en général à
calculer la solution, à une erreur près, d’un système linéaire en un nombre raisonnable
d’opérations. Le développement de ces méthodes est liée à l’évolution des ordinateurs.
r Méthodes directes : calculent la solution en un nombre fini d’étapes
Méthode d’élimination de Gauss
Factorisation LU
Factorisation de Cholesky
Factorisation QR
r Méthodes itératives : calculent une approximation convergente de la solution
Méthode de Jacobi
Méthode de Gauss-Seidel
Méthode de relaxation

Le choix entre une méthode directe et une méthode itérative pour la résolution d’un
système linéaire dépend non seulement de l’efficacité théorique des algorithmes, mais
aussi de la taille et du type de matrice, des capacités de stockage en mémoire, et enfin,
de l’architecture de l’ordinateur.
Abdoulaye Samaké (USTTB/FST) Analyse numérique 63 / 104
Méthodes directes de résolution des systèmes linéaires Systèmes linéaires

Systèmes linéaires

Méthodes directes Méthodes itératives


4 Robuste en général 4 nécessite moins d’espace mémoire
8 Nécessite beaucoup d’espace RAM 4 Facile à paralléliser
8 Difficile à paralléliser 8 Efficacité depend des propriétés spectrales

Abdoulaye Samaké (USTTB/FST) Analyse numérique 64 / 104


Méthodes directes de résolution des systèmes linéaires Analyse de stabilité des systèmes linéaires

Conditionnement d’une matrice

La résolution d’un système linéaire par une méthode numérique conduit invariablement à
l’introduction d’erreurs d’arrondi. Afin d’éviter une détérioration de la précision de la
solution numérique par la propagation de telles erreurs, il est essentiel d’utiliser des
méthodes numériques stables.

À titre d’exemple, on considère le système linéaire Ax = b avec


   
8 6 4 1 19
1 4 5 1  et b = 11
 
A=  (11)
8 4 1 1 14
1 4 3 6 14

Ce système a pour unique solution x = (1, 1, 1, 1)T . Si l’on change le second membre b
par un autre vecteur b̃ = (19.01, 11.05, 14.07, 14.05)T , alors l’unique solution est
x̃ = (−2.31, 9.745, −4.85, −1.34). Autrement dit, une très faible perturbation de b a
entraînée une très forte perturbation de la solution. Pour “mesurer” la sensibilité d’une
matrice aux perturbations, on introduit la notion de conditionnement.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 65 / 104


Méthodes directes de résolution des systèmes linéaires Analyse de stabilité des systèmes linéaires

Conditionnement d’une matrice


Nous aborderons deux aspects de l’analyse de stabilité :
r Analyse a priori directe : consiste à analyser la sensibilité de la solution de (10) aux
perturbations de A et b.
r Analyse a priori rétrograde : consiste à quantifier les perturbations de A et b afin
qu’une solution approchée donnée x b soit la solution exacte d’un système perturbée.

Perturbation du second membre b

A(x + δx) = b + δb (12)


n
où δb et δx ∈ K sont des “petites” perturbations de b et x respectivement.
Le système (12) s’écrit :

Ax + Aδx = b + δb =⇒ b + Aδx = b + δb =⇒ δx = A−1 δb car x est solution de (10)

Avec une norme subordonnée, nous obtenons :

kδxk = A−1 δb ≤ A−1 kδbk



(13)

D’autre part :
1 kAk
kbk = kAxk ≤ kAk kxk =⇒ ≤ (14)
kxk kbk

Abdoulaye Samaké (USTTB/FST) Analyse numérique 66 / 104


Méthodes directes de résolution des systèmes linéaires Analyse de stabilité des systèmes linéaires

Conditionnement d’une matrice

Perturbation du second membre b


De (13) et (14) on obtient :
kδxk kδbk
≤ kAk A−1

(15)
kxk kbk

Perturbation de la matrice A

(A + δA)(x + δx) = b (16)


en développant le système (16), nous obtenons :

Ax + δA(x + δx) + Aδx = b =⇒ δx = −A−1 (δA (x + δx)) (17)

En considérant une norme matrice subordonnée, on a :

kδxk = A−1 (δA (x + δx))


≤ A−1 δA kx + δxk

(18)
≤ A−1 kδAk kx + δxk

Abdoulaye Samaké (USTTB/FST) Analyse numérique 67 / 104


Méthodes directes de résolution des systèmes linéaires Analyse de stabilité des systèmes linéaires

Conditionnement d’une matrice

Perturbation de la matrice A
De (18) on obtient :
kδxk kδAk
≤ kAk A−1

(19)
kx + δxk kAk

Definition 3.2 (Conditionnement)


Soient A ∈ Mn (C) et k·k une norme matricielle subordonnée. Le conditionnement de A
relative à la norme k·k est défini par

Cond(A) = kAk A−1


Il est aussi noté κ(A). Si k·k = k·kp , avec p ∈ {1, 2, ∞}, on notera Cond = Condp = κp .

Considérons la matrice du système linéaire (11). On montre que

cond∞ (A) ≈ 5367.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 68 / 104


Méthodes directes de résolution des systèmes linéaires Analyse de stabilité des systèmes linéaires

Conditionnement d’une matrice

Proposition 3.3 (Propriétés des conditionnements)

Soit A ∈ Mn (C) une matrice inversible.


r cond(A) ≥ 1
r cond(A) = cond(A−1 )
r cond(αA) = cond(A) pour tout α ∈ C et α 6= 0

Proposition 3.4 (Propriétés du conditionnement cond2 )


µn (A)
r cond2 (A) = où µn et µ1 sont respectivement la plus grande et la plus petite
µ1 (A)
valeur de singulière de A (valeurs propres de A∗ A)
|λmax (A)|
r Si A est normale, alors cond2 (A) = où λmax et λmin sont
λmin (A)
respectivement la plus grande et la plus petite valeur propre en module de A. Pour
cette raison, cond2 est appelé conditionnement spectral.
r Pour toute matrice unitaire U , cond2 (U ) = 1
r Pour toute matrice unitaire U , cond2 (AU ) = cond2 (U A) = cond2 (A)

Abdoulaye Samaké (USTTB/FST) Analyse numérique 69 / 104


Méthodes directes de résolution des systèmes linéaires Analyse de stabilité des systèmes linéaires

Analyse a priori directe

Proposition 3.5
Soit A ∈ Mn (C) telle que ρ(A) < 1. Alors, la matrice In − A est inversible et on a, pour
toute norme matricielle subordonnée telle que kAk < 1,
1 1
≤ (In − A)−1 ≤

(20)
1 + kAk 1 − kAk

Theorem 3.6 (Estimation d’erreur)


Soit A ∈ Mn (C) une matrice inversible et δA ∈ Mn (C) une perturbation telle que pour
une norme matricielle subordonnée k·k, kAk kδAk < 1. Soit x ∈ Rn la solution du
système linéaire Ax = b, avec b ∈ Rn et b 6= 0. Si pour toute perturbation du second
membre δb ∈ Rn , δx ∈ Rn satisfait

(A + δA)(x + δx) = b + δb

Alors,  
kδxk cond(A) kδbk kδAk
≤ + (21)
kxk kδAk kbk kAk
1 − cond(A)
kAk

Abdoulaye Samaké (USTTB/FST) Analyse numérique 70 / 104


Méthodes directes de résolution des systèmes linéaires Résolution des systèmes triangulaires

Systèmes triangulaires

Systèmes triangulaires inférieurs


 
a11 0 0 ··· 0 x1
   
b1
 . . .. .. 
 ..

.. 0 . .   ..   ... 
  .  

 . .
   
  xi  =  bi  (22)
 ai1 . aii 0 0    

 .   . 
 .. .. .. ..   ..   .. 

 . . . . 0 
an1 · · · ani ··· a xn bn
nn

Lorsque la matrice A est triangulaire inférieure, c’est à dire aij = 0 pour tout i < j, la
solution du système linéaire (8) est calculée comme suit :

b1

x1 =
a11



i−1 (23)
1  X 
x = b − a x , i = 2, . . . , n

i i ij j


 aii j=1

Cette méthode de résolution est appélée méthode de descente ou de substitutions


progressives (forward substitutions).

Abdoulaye Samaké (USTTB/FST) Analyse numérique 71 / 104


Méthodes directes de résolution des systèmes linéaires Résolution des systèmes triangulaires

Systèmes triangulaires

Systèmes triangulaire inférieurs

Algorithme 1 : Résolution d’un système linéaire triangulaire inférieur


Entrées : A ∈ Rn×n , b ∈ Rn
Sorties : x ∈ Rn
début
entier i, j ;
b1
x1 ←−
a11
pour (i de 2 à n, i ← i+1) faire
xi ←− bi
pour (j de 1 à i-1, j ← j+1) faire
xi ←− xi − aij ∗ xj
xi
xi ←−
aii

Abdoulaye Samaké (USTTB/FST) Analyse numérique 72 / 104


Méthodes directes de résolution des systèmes linéaires Résolution des systèmes triangulaires

Systèmes triangulaires

Systèmes triangulaires supérieures


 
a11 · · · a1i ··· a1n  x   b 
1 1
 .. .. .. ..  . .
 0
 . . . .   ..   .. 
   

 ..    
  xi  =  bi  (24)
 0 0 aii . ain     

 .. .. .. ..   ...   ... 
    
 . . 0 . . 
0 ··· 0 0 ann xn bn

Lorsque la matrice A est triangulaire supérieure, c’est à dire aij = 0 pour tout i > j, la
solution du système linéaire (8) est calculée comme suit :

bn

 x =
 n

 ann
n (25)
1  X 
x = b − a x , i = n − 1, . . . , 1

 i i ij j
aii


j=i+1

Cette méthode de résolution est appélée méthode de remontée ou de substitutions


rétrogrades (backward substitutions).

Abdoulaye Samaké (USTTB/FST) Analyse numérique 73 / 104


Méthodes directes de résolution des systèmes linéaires Résolution des systèmes triangulaires

Systèmes triangulaires

Systèmes triangulaires supérieures

Algorithme 2 : Résolution d’un système linéaire triangulaire supérieur


Entrées : A ∈ Rn×n , b ∈ Rn
Sorties : x ∈ Rn
début
entier i, j ;
bn
xn ←− ;
ann
pour ( i de n − 1 à 1, i ← i − 1 ) faire
xi ←− bi ;
pour ( j de i + 1 à n, j ← j + 1 ) faire
xi ←− xi − aij ∗ xj ;
xi
xi ←− ;
aii

Abdoulaye Samaké (USTTB/FST) Analyse numérique 74 / 104


Méthodes directes de résolution des systèmes linéaires Résolution des systèmes triangulaires

Systèmes triangulaires

Complexité des systèmes triangulaires


On peut montrer que les nombres d’opérations élémentaires nécessaires pour les
algorithmes 1 et 2 sont :
n divisions
n(n − 1)/2 multiplications
n(n − 1)/2 additions (soustractions)
La résolution d’un système d’équations triangulaire (inférieur ou supérieur) de taille n
nécessite par conséquent n2 opérations en virgule flottante (flops). On dit que la
complexité des algorithmes de résolution des systèmes triangulaires est d’ordre O(n2 ).

Quelques propriétés
Soient A et B deux matrices triangulaires supérieures. On peut montrer que :
AB est une matrice triangulaire supérieure
Si A est inversible, alors A−1 est triangulaire supérieure
Si A et B sont à diagonale unité, alors AB est à diagonale unité
Si A est inversible et à diagonale unité, alors A−1 est à diagonale unité

Abdoulaye Samaké (USTTB/FST) Analyse numérique 75 / 104


Méthodes directes de résolution des systèmes linéaires Méthode d’élimination de Gauss

Méthode d’élimination de Gauss

Systèmes équivalents
Deux systèmes linéaires sont équivalents s’ils admettent la même solution. On ne change
pas la solution d’un système linéaire si :
On permute deux lignes
On permute deux colonnes
On multiplie une ligne par une constante non nulle
On ajoute à une ligne une combinaison linéaire des autres lignes

La résolution des systèmes linéaires triangulaires est numériquement peu coûteuse. L’idée
de la méthode d’élimination de Gauss est donc de proposer des algorithmes qui
transforment le système linéaire général de type (10), à l’aide des combinaisons linéaires
des lignes et des colonnes, en un système linéaire équivalent :

Ax
e =e
b (26)

où A
e est une matrice triangulaire (supérieure ou inférieure).

Abdoulaye Samaké (USTTB/FST) Analyse numérique 76 / 104


Méthodes directes de résolution des systèmes linéaires Méthode d’élimination de Gauss

Méthode d’élimination de Gauss

On considère le système linéaire Ax = b, avec A ∈ Mn (R) inversible et b ∈ Rn . On


suppose que terme diagonal a11 est non nul. On pose A(1) = A et b(1) = b. La première
étape consiste à éliminer l’inconnue x1 des lignes i = 2, · · · , n en définissant :
 (1)
(2) (1) ai1 (1)
aij = aij − (1) a1j



a11


pour tout i, j = 2, . . . , n (27)
(1)

 (2) (1) a (1)
 bi = bi − i1 b


(1) 1
a11
On obtient un nouveau système linéaire de la forme :
 (1) (1) (1)
    (1) 
a11 a12 · · · a1n x1 b1
(2) (2)   (2) 
 0

a22 · · · a2n   x
  b2 
2 
 .
 . .. ..  ..  =  .  (28)
.   .   .. 
 
 . .
(2) (2) xn (2)
0 an2 · · · ann bn

Le système (28) est noté :


A(2) x = b(2)
. Abdoulaye Samaké (USTTB/FST) Analyse numérique 77 / 104
Méthodes directes de résolution des systèmes linéaires Méthode d’élimination de Gauss

Méthode d’élimination de Gauss

L’étape suivante consiste à transformer le système (28) en éliminant l’inconnue x2 des


lignes i = 3, · · · , n. En poursuivant ainsi, on obtient un suite finie de systèmes linéaires

A(k) x = b(k) , 1 ≤ k ≤ n. (29)

Pour k ≥ 2, la matrice A(k) a la forme suivante :


 (1) (1) (1) 
a11 a12 · · · · · · ··· a1n
 0 (2) (2)
 a22 a2n  
 . .. .. .. 
 . . .
 . . 

A(k) =  (k) (k)  (30)
 0 · · · 0 akk ··· akn 
 .. .. .. .. 
 
 . . . . 
(k) (k)
0 ··· 0 ank ··· ann
(i)
avec aii 6= 0 pour i = 1, · · · , k − 1.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 78 / 104


Méthodes directes de résolution des systèmes linéaires Méthode d’élimination de Gauss

Méthode d’élimination de Gauss

Pour k = n, on obtient le système triangulaire supérieur A(n) x = b(n) s’écrivant comme


suit :  (1) (1) (1)   (1) 
a11 a12 · · · · · · a1n  x1  b1
 0 (2) (2)   x2   b(2) 
 a 22 a2n     2 
(n)
 .
 . .. .. .. 
 ..    .. 

A = . . . .  . 
 =
   .  (31)
 ..

.. .. ..  
 ..   .. 

 . . . .   .   . 
(n) x (n)
0 · · · · · · 0 ann n bn
(k)
Les termes akk sont appélés pivots et doivent doivent être évidemment non nuls pour
k = 1, · · · , n − 1. Les formules suivantes permettent de passer, pour k = 1, · · · , n − 1,
du système A(k) x = b(k) au système A(k+1) x = b(k+1) :

(k)
(k+1) (k) a (k)
= aij − ik

aij a i, j = k + 1, . . . , n


 (k) kj
akk


(32)
(k)

 (k+1) (k) aik (k)
 bi = bi − (k) bk i = k + 1, . . . , n



akk

Abdoulaye Samaké (USTTB/FST) Analyse numérique 79 / 104


Méthodes directes de résolution des systèmes linéaires Méthode d’élimination de Gauss

Algorithme 3 : Algorithme d’élimination de Gauss sans pivotage


Entrées : A ∈ Mn (R), b ∈ Rn
Sorties : A ∈ Mn (R), b ∈ Rn
début
entier i, j, k ;
pour ( k de 1 à n − 1, k ← k + 1 ) faire
/* test de pivot */
si ( |akk | <  ) alors
Ecrire("Erreur : pivot nul") ;
sinon
/* calcul de A(k+1) et b(k+1) */
pour ( i de k + 1 à n, i ← i + 1 ) faire
aik
aik ←− ;
akk
pour ( j de k + 1 à n, j ← j + 1 ) faire
aij ←− aij − aik ∗ akj ;
bi ←− bi − aik ∗ bk ;
aik ←− 0 ;

Abdoulaye Samaké (USTTB/FST) Analyse numérique 80 / 104


Méthodes directes de résolution des systèmes linéaires Méthode d’élimination de Gauss

Méthode d’élimination de Gauss

Complexité de l’algorithme d’élimination de Gauss


Pour chaque j : 1 addition et 1 multiplication
j = k + 1 → n =⇒ (n − k) additions et (n − k) multiplications
Pour chaque i : (n − k + 1) additions et (n − k + 1) multiplications et 1 division
i = k + 1 → n =⇒ (n − k)(n − k + 1) additions et (n − k)(n − k + 1)
multiplications et (n − k) divisions
Pour chaque k : (n − k)(n − k + 1) additions et (n − k)(n − k + 1) multiplications
et (n − k) divisions
n−1
X
(n − k)(n − k + 1) additions







 k=1

n−1

X
k = 1 → n − 1 =⇒ (n − k)(n − k + 1) multiplications


 k=1



 n−1
X



 (n − k) divisions
k=1

Abdoulaye Samaké (USTTB/FST) Analyse numérique 81 / 104


Méthodes directes de résolution des systèmes linéaires Méthode d’élimination de Gauss

Méthode d’élimination de Gauss

Complexité de l’algorithme d’élimination de Gauss


n−1
X n(n − 1)(2n − 1) n(n − 1)
(n − k)(n − k + 1) = + additions





 k=1
 6 2


n−1

X n(n − 1)(2n − 1) n(n − 1)
(n − k)(n − k + 1) = + multiplications
 6 2
 k=1



 n−1

 X n(n − 1)

 (n − k) = divisions
2

k=1

Le nombre total d’opérations est :

2n(n − 1)(2n − 1) 3n(n − 1) 2n3


+ ∼ pour n grand.
6 2 3
La complexité de l’algorithme d’élimination de Gauss est d’ordre O(n3 ).

Abdoulaye Samaké (USTTB/FST) Analyse numérique 82 / 104


Méthodes directes de résolution des systèmes linéaires Méthode d’élimination de Gauss

Algorithme 4 : Algorithme d’élimination de Gauss avec pivotage


Entrées : A ∈ Mn (R), b ∈ Rn
Sorties : A ∈ Mn (R), b ∈ Rn
début
entier i, j, k, ip, cp ;
pour ( k de 1 à n − 1, k ← k + 1 ) faire
/* recherche de pivot */
cp ←− |akk | ;
ip ←− k ;
pour ( i de k + 1 à n, i ← i + 1 ) faire
si ( |aik | > cp ) alors
cp ←− |aik | ;
ip ←− i ;

/* permutation */
si ( ip ! = k ) alors
permutation des lignes ip et k de la matrice ;

/* pivotage: calcul de A(k) */


pour ( i de k + 1 à n, i ← i + 1 ) faire
aik
aik ←− ;
akk
pour ( j de k + 1 à n, j ← j + 1 ) faire
aij ←− aij − aik ∗ akj ;
bi ←− bi − aik ∗ bk ;
aik ←− 0 ;

Abdoulaye Samaké (USTTB/FST) Analyse numérique 83 / 104


Méthodes directes de résolution des systèmes linéaires Factorisation LU

Factorisation LU

La méthode d’élimination de Gauss consiste à construire une suite de matrices


A(1) = A, A(2) , . . . , A(n) et de vecteurs b(1) = b, b(2) , . . . , b(n) telle que la résolution du
système linéaire (10) soit équivalente à celle du système

A(k) x = b(k) , pour k = 1, 2, . . . , n (33)

où la matrice A(k) est définie par :


 (1) (1) (1) 
a11 a12 ··· ··· ··· a1n
 0 (2) (2)
 a22 a2n  
 . .. .. .. 
 . . .
 . . 

(k)
A = (k) (k)  (34)
 0 ··· 0 akk ··· akn 
 .. .. .. .. 
 
 . . . . 
(k) (k)
0 ··· 0 ank ··· ann
(i)
avec aii 6= 0 pour i = 1, · · · , k − 1.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 84 / 104


Méthodes directes de résolution des systèmes linéaires Factorisation LU

Factorisation LU

On introduit la matrice M (k) definie comme suit :


 
1 0 ··· ··· ··· ··· ··· 0
 .. .. 
0 1
 . . 
. . .. .. .. 
. ..
. . . .

. .. .. 
 
. (k)
. 0 1 . . aik
M (k) = 
.
 avec mik =
 .. .. .. .. ..  (k)
akk
 . −mk+1k . . . 
. .. .. .. .. .. 
.
. . . 0 . . .

 .. .. .. .. .. ..
 

. . . . . . 0
0 ··· 0 −mnk 0 ··· 0 1

On montre à partir de (32) que :

A(k+1) = M (k) A(k) et b(k+1) = M (k) b(k) (35)

Abdoulaye Samaké (USTTB/FST) Analyse numérique 85 / 104


Méthodes directes de résolution des systèmes linéaires Factorisation LU

Factorisation LU

Les matrices M (k) sont appélées matrices de transformation de Gauss et les mik
constituent les multiplicateurs de Gauss. Les matrices M (k) sont triangulaires inférieures
avec diagonale unité, et par conséquent, elles sont non-singulières. Elles satisfont la
 −1
propriété suivante : M (k) = 2In − M (k) .
À l’étape n de la transformation de Gauss, on obtient le système linéaire triangulaire
supérieure suivant :
A(n) x = b(n) (36)
avec
A(n) = M (n−1) · · · M (1) A et b(n) = M (n−1) · · · M (1) b (37)
(n)
Posons U = A
 −1
U = M (n−1) · · · M (1) A =⇒ A = M (n−1) · · · M (1) U = LU
| {z }
L

U est une matrice triangulaire supérieure


L est une matrice triangulaire inférieure dont les coefficients diagonaux valent 1

Abdoulaye Samaké (USTTB/FST) Analyse numérique 86 / 104


Méthodes directes de résolution des systèmes linéaires Factorisation LU

Factorisation LU

Theorem 3.7 (Existance de la factorisation LU)


Soit A ∈ Mn (R). Si l’élimination de Gauss s’effectue sans permutation, c’est à dire tous
(k)
les pivots akk 6= 0, k = 1, · · · , n, alors il existe une matrice triangulaire inférieure L et
une matrice triangulaire supérieure U inversible telles que A = LU . De plus, si on impose
à L d’être à diagonale unité, alors cette factorisation est unique.

Definition 3.8 (Sous matrices principales)


Soit A = (aij )1≤i,j≤n ∈ Mn (R) une matrice carrée d’ordre n à coefficients réels. On
appelle sous-matrice principale d’ordre k, k = 1, · · · n, de la matrice A, que l’on note
[A]k , la matrice formée par les k premières lignes et k premières colonnes de A :

a11 · · · a1k
 
 . .. 
[A]k =  .. . 
ak1 ··· akk

Les déterminants des sous matrices principales [A]k , k = 1, · · · , n, sont appélés mineurs
principaux de A.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 87 / 104


Méthodes directes de résolution des systèmes linéaires Factorisation LU

Factorisation LU

Theorem 3.9
Soit A ∈ Mn (R). Les propositions suivantes sont équivalentes :
L’élimination de Gauss s’effectue sans permutation, c’est à dire tous les pivots
(k)
akk 6= 0, k = 1, · · · , n
Il existe une matrice triangulaire inférieure L et une matrice triangulaire supérieure
U inversible telles que A = LU .
Toutes les sous matrices principales [A]1 , [A]2 , · · · , [A]n de A sont inversibles

Theorem 3.10
Soit A ∈ Mn (R). Si toutes les sous matrices principales [A]1 , [A]2 , · · · , [A]n de A sont
inversibles, alors il existe une unique factorisation de A de la forme A = LU où L est une
matrice triangulaire inférieure à diagonale unité et U une matrice triangulaire supérieure.

Proposition 3.11 (Application au calcul du déterminant)


Soit A ∈ Mn (R). Si A admet une factorisation LU , alors
n
Y
det(A) = det(U ) = ukk
k=1
Abdoulaye Samaké (USTTB/FST) Analyse numérique 88 / 104
Méthodes directes de résolution des systèmes linéaires Factorisation LU

Factorisation LU

Résolution des systèmes triangulaires


Soit A ∈ Mn (R) une matrice admettant une factorisation LU . La résolution du système
linéaire Ax = b se ramène à la résolution de deux systèmes triangulaires :
(
Ly = b
Ax = b ⇐⇒ LU x = b ⇐⇒ (38)
Ux = y

En pratique, on résout d’abord Ly = b, puis connaissant y, on résout U x = y.

La factorisation LU est particulièrement pratique lorsqu’il s’agit de résoudre plusieurs


systèmes linéaires ayant la même matrice mais des seconds membres différents.

Algorithmes de factorisation LU
Algorithme de Doolittle : les éléments diagonaux de L sont choisis égaux à 1
Algorithme de Crout : les éléments diagonaux de U sont choisis égaux à 1

Abdoulaye Samaké (USTTB/FST) Analyse numérique 89 / 104


Méthodes directes de résolution des systèmes linéaires Factorisation LU

Algorithme 5 : Algorithme de Doolittle


Entrées : A ∈ Rn×n
Sorties : L ∈ Rn×n , U ∈ Rn×n
début
entier i, j, k ;
pour ( i de 1 à n, i ← i + 1 ) faire
/* calcul des coefficients de U */
pour ( j de i à n, j ← j + 1 ) faire
uij ←− aij ;
pour ( k de 1 à i − 1, k ← k + 1 ) faire
uij ←− uij − lik ∗ ukj ;

/* calcul des coefficients de L */


si ( i < n ) alors
pour ( j de i + 1 à n, j ← j + 1 ) faire
lji ←− aji ;
pour ( k de 1 à i − 1, k ← k + 1 ) faire
lji ←− lji − ljk ∗ uki ;
lji ←− lji /uii ;

lii ←− 1 ;
Abdoulaye Samaké (USTTB/FST) Analyse numérique 90 / 104
Méthodes directes de résolution des systèmes linéaires Factorisation LU

Factorisation LU

Complexité de l’algorithme de Doolittle : calcul des coefficients de U


Pour chaque k : 1 addition et 1 multiplication
k = 1 → i − 1 =⇒ (i − 1) additions et (i − 1) multiplications
Pour chaque j : (i − 1) additions et (i − 1) multiplications
j = i → n =⇒ (n − i + 1)(i − 1) additions et (n − i + 1)(i − 1) multiplications
Pour chaque i : (n − i + 1)(i − 1) additions et (n − i + 1)(i − 1) multiplications
 n
X
(n − i + 1)(i − 1) additions





i=1
i = 1 → n =⇒ n
 X
 (n − i + 1)(i − 1) multiplications



i=1

Abdoulaye Samaké (USTTB/FST) Analyse numérique 91 / 104


Méthodes directes de résolution des systèmes linéaires Factorisation LU

Factorisation LU

Complexité de l’algorithme de Doolittle : calcul des coefficients de U



n n−1
X
 X n2 (n − 1) n(n − 1)(2n − 1)

 (n − i + 1)(i − 1) = (n − i)i = + additions


i=1 i=1
2 6
n n−1

 X X n2 (n − 1) n(n − 1)(2n − 1)
(n − i + 1)(i − 1) = (n − i)i = + multiplications


2 6


i=1 i=1

Le nombre d’opérations pour le calcul des coefficients de U est :


n(n − 1)(2n − 1)
n2 (n − 1) +
3

Abdoulaye Samaké (USTTB/FST) Analyse numérique 92 / 104


Méthodes directes de résolution des systèmes linéaires Factorisation LU

Factorisation LU

Complexité de l’algorithme de Doolittle : calcul des coefficients de L


Pour chaque k : 1 addition et 1 multiplication
k = 1 → i − 1 =⇒ (i − 1) additions et (i − 1) multiplications
Pour chaque j : (i − 1) additions et (i − 1) multiplications et 1 addition
j = i + 1 → n =⇒ (n − i)(i − 1) additions et (n − i)(i − 1) multiplications et
(n − i) divisions
Pour chaque i : (n − i)(i − 1) additions et (n − i)(i − 1) multiplications et (n − i)
divisions
n−1
X
(n − i)(i − 1) additions







 i=1

n−1

X
i = 1 → n − 1 =⇒ (n − i)(i − 1) multiplications


 i=1

n−1



 X


 (n − i) divisions
i=1

Abdoulaye Samaké (USTTB/FST) Analyse numérique 93 / 104


Méthodes directes de résolution des systèmes linéaires Factorisation LU

Factorisation LU

Complexité de l’algorithme de Doolittle : calcul des coefficients de L


n−1
X n(n − 1)2 n(n − 1)(2n − 1)
(n − i)(i − 1) = additions


 +



 i=1
2 6


n−1
n(n − 1)2

X n(n − 1)(2n − 1)
(n − i)(i − 1) = + multiplications

 i=1
2 6


n−1



 X n(n − 1)

 (n − i) = divisions
2

i=1

Le nombre d’opérations pour le calcul des coefficients de L est :


n(n − 1)(2n − 1) n(n − 1)
n(n − 1)2 + +
3 2
Le nombre total d’opérations pour l’algorithme de Doolittle est :

2n(n − 1)(2n − 1) n(n − 1) 4n3


n2 (n − 1) + n(n − 1)2 + + ≈
3 2 3
La complexité de l’algorithme de Doolittle est d’ordre O(n3 ).
Abdoulaye Samaké (USTTB/FST) Analyse numérique 94 / 104
Méthodes directes de résolution des systèmes linéaires Factorisation LU

Algorithme 6 : Algorithme de Crout


Entrées : A ∈ Rn×n
Sorties : L ∈ Rn×n , U ∈ Rn×n
début
entier i, j, k ;
pour ( i de 1 à n, i ← i + 1 ) faire
/* calcul des coefficients de L */
pour ( j de i à n, j ← j + 1 ) faire
lji ←− aji ;
pour ( k de 1 à i − 1, k ← k + 1 ) faire
lji ←− lji − ljk ∗ uki ;

/* calcul des coefficients de U */


si ( i < n ) alors
pour ( j de i + 1 à n, j ← j + 1 ) faire
uij ←− aij ;
pour ( k de 1 à i − 1, k ← k + 1 ) faire
uij ←− uij − lik ∗ ukj ;
uij ←− uij /lii ;

uii ←− 1 ;
Abdoulaye Samaké (USTTB/FST) Analyse numérique 95 / 104
Méthodes directes de résolution des systèmes linéaires Factorisation LU

Factorisation LU

Lorsque la matrice A est symétrique, alors la factorisation A = LU , lorsque existe, peut


prendre une forme particulière tenant compte de cette symétrie :

Proposition 3.12
Si A est une matrice symétrique avec toutes ses sous-matrices principales régulières, alors
elle admet une unique factorisation de la forme

A = LDLT

où L est une matrice triangulaire inférieure à diagonale unité et D une matrice diagonale
régulière.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 96 / 104


Méthodes directes de résolution des systèmes linéaires Factorisation de Cholesky

Factorisation de Cholesky

Matrices symétriques
Soit A = (aij )1≤i,j≤n ∈ Mn (R). A est dite symétrique si AT = A, c’est à dire aij = aji
pour tout i, j = 1, . . . , n.

Matrice définie positive


Soit A = (aij )1≤i,j≤n ∈ Mn (R). A est dite définie positive si pour tout x ∈ Rn non nul,
on xT Ax > 0.

Theorem 3.13
Les propositions suivantes sont équivalentes :
A est symétrique définie strictement positive
Les valeurs propres de A sont toutes réelles et positives
Les mineurs principaux de A (déterminants des sous matrices principales) sont tous
strictement positifs

Proposition 3.14
Les termes diagonaux d’une matrice définie positive sont strictement positifs.
Abdoulaye Samaké (USTTB/FST) Analyse numérique 97 / 104
Méthodes directes de résolution des systèmes linéaires Factorisation de Cholesky

Factorisation de Cholesky

Theorem 3.15 (Factorisation de Cholesky)


Soit A ∈ Mn (Rn ) une matrice symétrique définie positive. Alors, il existe une unique
matrice triangulaire inférieure L, dont tous les éléments diagonaux sont strictement
positifs, telle que A = LLT .

Calcul algorithmique de L
L’idée est de construire la matrice L colonne par colonne en partant d’une matrice A
symétrique définie positive. On effectue un calcul direct du produit LLT :
j
X
A = LLT =⇒ aij = lik ljk , 1 ≤ i ≤ n et 1 ≤ j ≤ i
k=1

On en déduit :  j−1
 2
X 2
l = a − ljk

jj

 jj


k=1
j−1
!
1

 X
 lij = ljj aij − lik ljk , j<i≤n



k=1

Abdoulaye Samaké (USTTB/FST) Analyse numérique 98 / 104


Méthodes directes de résolution des systèmes linéaires Factorisation de Cholesky

Factorisation de Cholesky

Calcul algorithmique de L
v 
u
u j−1 

X
2
ljj = tajj −

ljk 



k=1
1≤j≤n
j−1
! 
1 X 

lij = aij − lik ljk , j < i ≤ n

ljj


k=1

La matrice A étant définie positive, les valeurs sous la racine carré sont toutes positives.

Proposition 3.16
Soit A ∈ Mn (Rn ) une matrice vérifiant :
A est symétrique et aii > 0 pour tout 1 ≤ i ≤ n
A est à diagonale strictement dominante c’est-à-dire que
n
X
|aii | > |aij | , 1≤i≤n
j=1
j6=i

Alors, A admet une factorisation de Cholesky.


Abdoulaye Samaké (USTTB/FST) Analyse numérique 99 / 104
Méthodes directes de résolution des systèmes linéaires Factorisation de Cholesky

Algorithme 7 : Algorithme de Cholesky


Entrées : A ∈ Rn×n
Sorties : L ∈ Rn×n
début
entier i, j, k ;
pour ( j de 1 à n, j ← j + 1 ) faire
/* calcul de l’élément diagonal ljj */
ljj ←− ajj ;
pour ( k de 1 à j − 1, k ← k + 1 ) faire
ljj ←− ljj − ljk ∗ ljk ;
ljj ←− sqrt( ljj ) ;
/* calcul des coefficients de L */
si ( j < n ) alors
pour ( i de j + 1 à n, i ← i + 1 ) faire
lij ←− aij ;
pour ( k de 1 à j − 1, k ← k + 1 ) faire
lij ←− lij − lik ∗ ljk ;
lij ←− lij /ljj ;

Abdoulaye Samaké (USTTB/FST) Analyse numérique 100 / 104


Méthodes directes de résolution des systèmes linéaires Factorisation de Cholesky

Algorithme 8 : Algorithme de Cholesky


Entrées : A ∈ Rn×n
Sorties : L ∈ Rn×n
début
entier i, j, k ;
pour ( i de 1 à n, i ← i + 1 ) faire
/* calcul de l’élément diagonal lii */
lii ←− aii ;
pour ( k de 1 à i − 1, k ← k + 1 ) faire
lii ←− lii − lik ∗ lik ;
lii ←− sqrt( lii ) ;
/* calcul des coefficients de L */
si ( i < n ) alors
pour ( j de i + 1 à n, j ← j + 1 ) faire
lji ←− aji ;
pour ( k de 1 à i − 1, k ← k + 1 ) faire
lji ←− lji − ljk ∗ lik ;
lji ←− lji /lii ;

Abdoulaye Samaké (USTTB/FST) Analyse numérique 101 / 104


Méthodes directes de résolution des systèmes linéaires Factorisation de Cholesky

Factorisation de Cholesky

Complexité de l’algorithme de Cholesky


Pour chaque j : 1 addition et 1 multiplication
j = k + 1 → n =⇒ (n − k) additions et (n − k) multiplications
Pour chaque i : (n − k + 1) additions et (n − k + 1) multiplications et 1 division
i = k + 1 → n =⇒ (n − k)(n − k + 1) additions et (n − k)(n − k + 1)
multiplications et (n − k) divisions
Pour chaque k : (n − k)(n − k + 1) additions et (n − k)(n − k + 1) multiplications
et (n − k) divisions
n−1
X
(n − k)(n − k + 1) additions







 k=1

n−1

X
k = 1 → n − 1 =⇒ (n − k)(n − k + 1) multiplications


 k=1



 n−1
X



 (n − k) divisions
k=1

Abdoulaye Samaké (USTTB/FST) Analyse numérique 102 / 104


Méthodes directes de résolution des systèmes linéaires Factorisation de Cholesky

Factorisation de Cholesky

Complexité de l’algorithme de Cholesky


n−1
X n(n − 1)(2n − 1) n(n − 1)
(n − k)(n − k + 1) = + additions





 k=1
 6 2


n−1

X n(n − 1)(2n − 1) n(n − 1)
(n − k)(n − k + 1) = + multiplications
 6 2
 k=1



 n−1

 X n(n − 1)

 (n − k) = divisions
2

k=1

Le nombre total d’opérations est :

2n(n − 1)(2n − 1) 3n(n − 1) 2n3


+ ∼ pour n grand.
6 2 3
La complexité des algorithmes de résolution des systèmes triangulaires est d’ordre O(n3 ).

Abdoulaye Samaké (USTTB/FST) Analyse numérique 103 / 104


Méthodes directes de résolution des systèmes linéaires Factorisation de Cholesky

References

[1] Grégoire Allaire. Analyse numérique et optimisation : Une introduction à la


modélisation mathématique et à la simulation numérique. Editions Ecole
Polytechnique, 2005.
[2] Gouri Dhatt, Gilbert Touzot et Emmanuel Lefrançois. Méthode des éléments finis.
Lavoisier, 2005.
[3] Alexandre Ern et Jean-Luc Guermond. Eléments finis : théorie, applications, mise en
oeuvre. T. 36. Springer Science & Business Media, 2002.
[4] Haïm Brezis. Analyse fonctionnelle : théorie et applications. T. 91. Dunod Paris,
1999.
[5] Pierre-Arnaud Raviart, Jean-Marie Thomas, Philippe G Ciarlet et
Jacques Louis Lions. Introduction à l’analyse numérique des équations aux dérivées
partielles. T. 2. Dunod Paris, 1998.

Abdoulaye Samaké (USTTB/FST) Analyse numérique 104 / 104

Vous aimerez peut-être aussi