Académique Documents
Professionnel Documents
Culture Documents
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)
∗. E-mail : abdoulaye.samake@usttb.edu.ml
BP : E 3206, Bamako, Mali
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
Introduction
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.
Analyse numérique
Analyse numérique
Étapes (niveaux)
Conception
Analyse
Implémentation
Outils classiques
Les matrices et les systèmes linéaires
Les équations différentielles (ordinaires et partielles)
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
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)
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
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
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.
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.
Définition
Un algorithme est une suite finie d’instructions indiquant la démarche à suivre pour
résoudre un problème donné.
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)).
Algorithmes numériques
Définition générale
Une suite de problèmes approchés :
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) )
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 :
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 → ∞
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.
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
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)
≤ ε
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.
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 ?
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 numériques
Erreurs numériques
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
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.
δ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.
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 %.
Estimation d’erreurs
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 − x∗1 ) + (x2 − x∗2 )| ≤ |(x1 − x∗1 )| + |(x2 − x∗2 )| = ∆(x1 ) + ∆(x2 ).
De même on a :
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.
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.
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
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
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.
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.
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.
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
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.
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
Ainsi
∂f ∆(S)
∂ai ∆(ai ) = n , i = 1, . . . , n
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
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
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
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.
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
L’arithmétique flottante
Exemples
{[0021, 47300], 10, 0} : b = 10, n = 3, m = 5, s = 0 =⇒
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
L’arithmétique flottante
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
L’arithmétique flottante
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.
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 :
Il s’ensuit que : est la distance entre xi = 1 et le prochain nombre réel xi+1 = 1 + qui
appartient à F.
L’arithmétique flottante
L’arithmétique flottante
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
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.
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
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 ) ?
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 = β
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)
où
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
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
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 :
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
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
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.
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.
D’autre part :
1 kAk
kbk = kAxk ≤ kAk kxk =⇒ ≤ (14)
kxk kbk
Perturbation de la matrice A
≤
A−1 δA
kx + δxk
(18)
≤
A−1
kδAk kx + δxk
Perturbation de la matrice A
De (18) on obtient :
kδxk
kδAk
≤ kAk
A−1
(19)
kx + δxk kAk
Il est aussi noté κ(A). Si k·k = k·kp , avec p ∈ {1, 2, ∞}, on notera Cond = Condp = κp .
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
(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
Systèmes triangulaires
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
Systèmes triangulaires
Systèmes triangulaires
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
Systèmes triangulaires
Systèmes triangulaires
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é
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).
/* permutation */
si ( ip ! = k ) alors
permutation des lignes ip et k de la matrice ;
Factorisation LU
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
Factorisation LU
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.
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.
Factorisation LU
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
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
Factorisation LU
Factorisation LU
Factorisation LU
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
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.
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.
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
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
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
Factorisation de Cholesky
Factorisation de Cholesky
References