Methodes Numeriques-CIFAD
Methodes Numeriques-CIFAD
DE CÔTE-D’IVOIRE
LICENCE
DE
MATHÉMATIQUES
TROISIÈME ANNÉE
Méthodes numériques
• Formation À Distance
• Formation Présentielle
• Formation Continue
Table des matières
Avant-Propos 3
1
3.3.2 Méthodes itératives standard : Jacobi, Gauss Seidel, méthodes
de relaxation . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.3.3 Convergence des méthodes . . . . . . . . . . . . . . . . . 60
3.3.4 Effet de l’arithmétique finie . . . . . . . . . . . . . . . . . 60
3.4 Accélération de convergence . . . . . . . . . . . . . . . . . . . . 63
6 Conditionnement 119
6.1 Conditionnement d’une matrice . . . . . . . . . . . . . . . . . . 119
6.2 Conditionnement d’un système linéaire . . . . . . . . . . . . . . 121
2
Avant-Propos
3
Chapitre 1
Un outil de base : la
formule de Taylor
Remarque :
En posant h = y − x, on a
m−1 x+h
hk (k) (x + h − t)m−1 (m)
X Z
f (x + h) = f (x) + f (t)dt
k! x (m − 1)!
k=0
m−1 1
hk (k) hm
X Z
f (x + h) = f (x) + (1 − λ)m−1 f (m) (x + λh)dλ
k! (m − 1)! 0
k=0
Remarque :
In
f ∈ C m (I) s’entend une fonction m fois continûment dérivable à valeur dans R
4
Preuve
On procède par réccurence sur m.
Pour m = 1, on a Z y
f (y) = f (x) + f 0 (t)dt
x
puisque f est une primitive de f 0 .
Pour m > 1, considérons
Z y Z y
(y − t)m−1 (m) (y − t)m−1 (m−1)
Rm = f (t)dt = df (t)
x (m − 1)! x (m − 1)!
En posant ( m−1
u(t) = (y−t)
(m−1)!
dv(t) = f (m) (t)dt
on a ( m−2
du(t) = − (y−t)
(m−2)! dt
(m−1)
v(t) =f (t)
et
h iy
Ry (y−t)m−1 (m) (y−t)m−1 (m−1) Ry m−2
On a donc la relation
(
R1 = f (y) − f (x)
m−1
Rm = − (y−x)
(m−1)! f
(m−1)
(x) + Rm−1 ∀m > 1
d’où
m−1 y
(y − x)k (k) (y − t)m−1 (m)
X Z
f (y) = f (x) + f (t)dt
(k)! x (m − 1)!
k=0
5
Preuve
En effet
m−1
X (y − x)k (k)
f (y) = f (x) + Rm
k!
k=0
où y
(y − t)m−1 (m)
Z
Rm = f (t)dt
x (m − 1)!
Comme f (m) est bornée parce que continue, alors il existe c > 0 tel que f (m) (t) ≤
cm! pour tout t ∈ (x, y). Ainsi
Z y
(y − t)m−1 m
|Rm | ≤ cm! dt = c |y − x|
x (m − 1)!
On déduit alors que
Rm
≤c
(y − x)m
d’où le resultat
Corollaire 1.2.0.2 Soit f ∈ C m (I), alors pour tout x 6= y ∈ I, on a
m
X (y − x)k
f (y) = f (k) (x) + o((y − x)m )
k!
k=0
Preuve
En effet d’après le théorème de Taylor, on a
m−1
X (y − x)k (k)
f (y) = f (x) + Rm
k!
k=0
avec y
(y − t)m−1 (m)
Z
Rm = f (t)dt
x (m − 1)!
(m)
Puisque f est continue en x on a
m−1
Ry Ry (y−t)m−1
Rm = x (y−t)
(m−1)! f
(m)
(x)dt + x (m−1)! {f
(m)
(t) − f (m) (x)}dt
Or f (m) continue en x alors pour tout > 0 il existe δ > 0 tel que pour tout
t on a
|t − x| < δ ⇒ f (m) (t) − f (m) (x) < m!
Ainsi
y
(y − x)m (m) (y − t)m−1
Z
m
Rm − f (x) < m! dt = |y − x|
m! x (m − 1)!
6
Donc
m
X (y − x)k m
f (y) − f (k) (x) < |y − x|
k!
k=0
D’où la conclusion
La formulation la plus pratique de la formule de Taylor est celle avec reste
de Lagrange qui s’énonce :
Corollaire 1.2.0.3 Soit f ∈ C m (I) à valeur réelle, alors pour tout x 6= y ∈ I,
il existe c ∈ (x, y) tel que
m−1
X (y − x)k (k) (y − x)m (m)
f (y) = f (x) + f (c)
k! m!
k=0
Preuve
Ry (y−t)m−1
= f (m) (c) x (m−1)! dt
m
= f (m) (c) (y−x)
m!
Remarque :
La formule de Taylor avec reste de Lagrange n’est pas applicable aux fonctions
vectorielles. Prenons pour exemple f (t) = eıt et m = 1. Si la formule est vraie
alors pour tout x ∈ R
I on aurait l’existence d’un c ∈ (0, x) donnant
f (x) − f (0) = xf 0 (c)
c’est à dire
eıx − 1 = ıxeıc
Ainsi pour x = 2π on a
0 = 2πıeıc
En d’autres termes on a
2π = |2πıeıc | = 0
ce qui est absurde.
Proposition 1.2.1 ∀φ, ψ ∈ C[a, b] avec φ ≥ 0, il existe c ∈ [a, b] tel que
Z b Z b
ψ(t)φ(t)dt = ψ(c) φ(t)dt
a a
7
Preuve
Comme ψ est continue sur [a, b] alors ψ([a, b]) = [m, M ] Donc
Ainsi Z b Z b Z b
m φ(t)dt ≤ φ(t)ψ(t)dt ≤ M φ(t)dt
a a a
Rb
En supposant φ non identiquement nulle, on a a
φ(t)dt > 0 et
Rb
a
φ(t)ψ(t)dt
m≤ Rb ≤M
a
φ(t)dt
8
√
d’où 1.2 ≈ 1.0955 dont la valeur exacte à 20 décimales est 1.09544511501033215
Exemple Z 0.1
Donner une approximation de cos xdx à l’aide d’un développement de Tay-
0
lor à l’ordre 3 au voisinage de 0.
Pour x ∈]0 , 0.1[, d’après le corollaire 1.2.0.3 il existe c(x) ∈]0 , x[ tel que
1 1
cos x = 1 − x2 + x4 cos(c(x))
2 24
R 0.1 R 0.1 1 2
1
R 0.1 4
0
cos xdx = 0 1 − 2 x dx + 24 0
x cos(c(x))dx
3 0.1
h i
0.1
= x − x6 1
x4 cos(c(x))dx
R
+ 24 0
0
−3 0.1
= 599 1
x4 cos(c(x))dx
R
6 10 + 24 0
Z 0.1
d’où cos xdx ≈ 0.09983̄ dont la valeur exacte est sin(0.1) qui, à 20 décimales,
0
est 0.09983341664682815
La précision des résultats soulèvent deux questions que nous allons survoler
ici à travers des exemples illustratifs.
La question directe consiste à établir une majoration d’erreur commise sachant
l’ordre de développement
Exemple √
Reprenant l’approximation de 1.2 par le développement de Taylor à l’ordre 3
√ −7
de f (x) = 1 + x, le terme d’erreur est R = −0.0000625(1 + c) 2 . Donc
− 72
|R| ≤ max 0.0000625(1 + c) = 0.0000625
0≤c≤0.2
On peut comparer à
√
1.2 − 1.0955 = |1.09544511501033215 − 1.0955| = 0.00005488498966777
Z 0.1
Exercice 1 Donner une majoration de l’erreur lors de l’approximation de cos xdx
0
à l’aide d’un développement de Taylor à l’ordre 3 au voisinage de 0.
La deuxième question est plutôt indirecte. Il s’agit de déterminer l’ordre de
développement de Taylor pour un seuil d’erreur admissible.
Exemple
A quel ordre n faut-t-il faire le développement de Taylor de cos x au voisinage
de 0 pour évaluer cos 0.1 avec une erreur inférieure à 10−8 ?
D’après le corollaire 1.2.0.3 on a
n k n
X (0.1) π (0.1) π
cos 0.1 = cos (k ) + Rn avec Rn = cos (c + n )
k! 2 n! 2
k=0
Comme n n
(0.1) π (0.1)
|Rn | ≤ max cos (c + n ) ≤
n! 0≤c≤0.1 2 n!
9
pour avoir |Rn | ≤ 10−8 il suffit que
n
(0.1)
≤ 10−8 ⇔ 108 ≤ n!10n ⇔ n ≥ 6
n!
car 5!105 = 12 106 < 108 < 72 107 = 6!106
Remarque :
En pratique, pour réduire la propagation des erreurs d’arrondis que nous verrons
dans le chapitre 2 relatif à la représentation des nombres, on utilise l’algorithme
de Horner pour évaluer les polynômes.
Xn
Pour un polynôme P de degré n ∈ N I ∗ donné par P (x) = ai xi , l’algo-
i=0
rithme de Horner se ramène l’évaluation de P (x) au calcul des termes de la
n
suite finie (pk )k=0 donnée par la formule de récurrence :
p0 = an
pk = pk−1 x + an−k avec k = 1, . . . , n
10
Chapitre 2
Exemple
Exemple
6 2 7 5
0.6275 = 10 + 100 + 1000 + 10000
= 6 × 10 + 2 × 10 + 7 × 10−3 + 5 × 10−4
−1 −2
11
De façon générale, en numération décimale, un nombre réel est de la forme
n
X ∞
X
(an an−1 . . . a2 a1 a0 .b1 b2 b3 . . .)10 = ak 10k + bk 10−k
k=0 k=1
Pn k
P∞ −k
où k=0 ak 10 est dite partie entière et k=1 bk 10 est dite partie fraction-
naire
Exemple
(21467)8 = 2 × 84 + 1 × 83 + 4 × 82 + 6 × 8 + 7
= 7 + 8(6 + 8(4 + 8(1 + 8(2)))) = 9015
Exemple
= 0.47226987 . . .
Remarque :
Dans ces deux exemples on voit le rôle que peut jouer l’algorithme de Horner
pour l’évaluation d’un polynôme. Cet algorithme consiste à transformer un
polynôme en une suite emboı̂tée de produit de la forme :
p(x) = a0 + a1 x + a2 x2 + . . . + an−1 xn−1 + an xn
= a0 + x(a1 + x(a2 + . . . + x(an−1 + x(an ))))
Cet algorithme se traduit par le pseudocode :
real array (ai )0:n
integer i, n
real p, x
p ← an
for i = n − 1 to 0 step -1 do
p ← ai + x . p
end for
12
Exercice 5 Donner la valeur décimale du réel x dans chacun des cas :
1. x = (4506)7
2. x = (2.1211)3
3. x = (361.002)8
4. x = (1253.75)9
5. x = (0.3042)5
Exemple
13
Convertir l’entier N = 397 en base 5
Dividende Quotient Reste
397 79 2
79 15 4
15 3 0
3 0 3
F0 = F F1 = F(βF0 ) d1 = I(βF0 )
F1 F2 = F(βF1 ) d2 = I(βF1 )
F2 F3 = F(βF2 ) d2 = I(βF2 )
.. .. ..
. . .
Fl−2 Fl−1 = F(βFl−2 ) dl−1 = I(βFl−2 )
Fl−1 Fl = F(βFl−1 ) dl = I(βFl−1 )
.. .. ..
. . .
Exemple
Convertir F = 0.5318 en base 5.
Exercice 6 Pour le réel x faire les conversions dans chacun des cas :
1. x = (647)10 = (. . .)7 = (. . .)2
2. x = (. . .)10 = (34.012)5 = (. . .)3
3. x = (. . .)10 = (. . .)7 = (3A.B)12
14
Conversion base 10 ↔ 8 ↔ 2
Le passage du système décimal au sytème octal utilise les processus décrits
plus haut. Les conversions du système octal au binaire et vice-versa et du
système hexadécimal au binaire et vice-versa se font de façon beaucoup plus
simple et par substitution suivant des tableau de correspondance.
En effet
P3m+2
(c3m+2 c3m+1 c3m . . . c2 c1 c0 )2 = k=0 ck 2k
Pm
= i=0 c3i+2 23i+2 + c3i+1 23i+1 + c3i 23i
Pm
= i=0 c3i+2 22 + c3i+1 21 + c3i 20 23i
Pm
= i=0 c3i+2 22 + c3i+1 21 + c3i 20 8i
Pm
= i=0 di 8 i
P4m+3
(c4m+3 c4m+2 c4m+1 c4m . . . c3 c2 c1 c0 )2 = k=0 ck 2 k
Pm
= i=0 c4i+3 24i+3 + c4i+2 24i+2 + c4i+1 24i+1 + c4i 24i
Pm
= i=0 c4i+3 23 + c4i+2 22 + c4i+1 21 + c4i 20 24i
Pm
= i=0 di 16i
15
Exemple
Convertir x = (2A.EF 1)16 en base 2 et en base 8.
On a :
x = (2A.EF 1)16
= (101010.111011110001)2
= (52.7341)8
Remarque :
L’approche intuitive développée dans la présente section est soutendue par le
théorème 2.1.1 qui s’énonce comme suit :
Théorème 2.1.1 Soit α ∈ N I ∗ − {1}. Soit x ∈ R I ∗+ . Il existe un unique n ∈ Z
et une unique suite (bk )k≥1 d’éléments de {0, 1, 2, . . . , α − 1} tel quel b1 6= 0 et
∞
X bk
x = αn
αk
k=1
I ∗ , on a l’encadrement :
Plus précisement si t ∈ N
t t
!
X
n bk X bk 1
xt = α ≤ x < x̄t = αn + t
αk α k α
k=1 k=1
n
On note x = (0.b1 b2 . . . bt . . .)α × α et on parle de notation scientifique nor-
malisée.
Preuve
I ∗+ , comme RI ∗+ , × , ≤ est un groupe archimédien alors il existe
α >1 e t x∈R
unique n ∈ Z tel que
αn−1 ≤ x < αn
x x
On en déduit que 1 ≤ n−1 < α c’est à dire que n−1 ∈ [1 , α[= ∪α−1 j=1 [j , j + 1[.
α α
x
Ainsi il existe un unique b1 ∈ {1, 2, . . . , α − 1} tel que n−1 ∈ [b1 , b1 + 1[
α
et on a
x − b1 αn−1
b1 αn−1 ≤ x < (b1 + 1)αn−1 ⇔ 0≤ n−2
<α
αn−1
x − b1 α α−1
⇔ ∈ [0 , α[= ∪j=0 [j , j + 1[
αn−2
x − b1 αn−1
Il existe donc un unique b2 ∈ {0, 1, . . . , α − 1} tel que ∈ [b2 , b2 + 1[
αn−2
et on a
b1 αn−1 + b2 αn−2 ≤ x < b1 αn−1 + (b2 + 1)αn−2
m
n b 1 b2 n b1 b2 1
α + 2 ≤x<α + 2+ 2
α1 α α1 α α
! m !
2 2
X b i
X bi 1
αn i
≤ x < αn + 2
i=1
α i=1
αi α
16
I ∗ on a l’encadrement
On déduit alors par récurrence que pour tout t ∈ N
t
! t
!
n
X bi n
X bi 1 bi ∈ {0, 1, . . . , α − 1}
xt = α ≤x<α + t = x̄t pour
α i α i α et b1 6= 0
i=1 i=1
On vérifie facilement que la suite (xt )t≥1 est croissante et majorée par x et que
la suite (x̄t )t≥1 est décroissante et minorée par x. Elles convergent donc dans R
I
avec lim xt ≤ x ≤ lim x̄t .
t→∞ t→∞
1
Par ailleurs on a |xt − x̄t | = t → 0. Ainsi lim xt = lim x̄t = x.
α t→∞ t→∞
I , |f | = 0.d1 d2 . . . dt × β e ,
F = {f ∈ R di ∈ {0, 1, . . . β − 1}, d1 6= 0, L ≤ e ≤ U }
Remarque :
Les éléments non nul de G (ensemble des nombres-machine) sont de la forme :
Remarque :
si 0 6= f ∈ G alors m ≤ |f | ≤ M avec m = β L−1 et M = β U (1 − β −t )
Pour tout x ∈ F il existe r > 0 et e ∈ Z tel que |x| = rβ e avec ≤ r < 1−β −t
Soit Ĝ le sous ensemble de RI défini par
Ĝ = {x ∈ R
I , m ≤ |x| ≤ M }
Le processeur I →G
arithmétique est la donnée de Ĝ et de l’opérateur f l : R
defini par
c∈G tel que |c − x| minimal : arithmétique arrondie
f l(x) = ou
c∈G tel que |c − x| minimal et |c| ≤ |x| : arithmétique tronquée
Ainsi
f l(x) = x(1 + ) , || ≤ u
avec u la précision machine c’est à dire la plus grande erreur relative que l’on
puisse commettre en représentant un nombre réel sur un ordinateur.
Exemple
Lister les éléments de l’ensemble A des réels strictement positifs de la forme
0.b1 b2 × 2k avec bi ∈ {0, 1} et k ∈ {−1, 0, 1}
17
b1 b2
x ∈ A si x = + 2k avec (b1 , b2 ) ∈ {(0 , 1), (1 , 0), (1 , 1)} et k ∈
2 4
{−1, 0, 1}.
1 1 3
Pour k = 0 on a x ∈ , ,
4 2 4
1 1 3
Pour k = −1 on a x ∈ , ,
8 4 8
1 3
Pour k = 1 on a x ∈ , 1,
2 2
1 1 3 1 3 3
En résumé L = , , , , , 1,
8 4 8 2 4 2
Exemple
Que sont les éléments positifs de l’arithmétique binaire flottante dont la forme
normalisée est 0.b1 b2 × 2k avec k ∈ {−1, 0, 1} ?
1 3 1 3 3
En exploitant les calculs précédents on trouve F+ = , , , , 1,
4 8 2 4 2
0,(β−1)(β−1)(β−1)...×β e−t
≤ 0,1000...×β e
≤ 1 × β 1−t
18
représentation binaire. Par exemple selon la norme IEEE 754, les coprocesseurs
arithmétiques implémentent un réel sur un mot de 32 bits en simple précision
et un mot de 64 bits en double précision.
– Le premier bits indique le signe et est noté s
– les 8 bits suivants en simple précision (les 11 bits suivants en double
précision), indiquent l’exposant et est noté c et dénommé caractéristique
– les 23 bits restants en simple précision (les 52 bits restants en double
précision), indiquent la partie fractionnaire ou mantisse et est noté f .
La base utilisé par le format IEEE est la base 2. Ainsi en double précision
ce système à virgule flottante a une partie fractionnaire f d’une précision d’au
moins 16 chiffres décimaux pendant que l’exposant c va de 0 à 2047. Afin de
représenter les nombres de petite valeur absolue on procède à une normalisation
des exposants pour aller de −1023 à 1024. Dans ce système un nombre à virgule
flottante est sous la forme normalisée :
s
(−1) ∗ 2c−1023 ∗ (1 + f )
En simple précision on a la forme normalisée est donnée par :
s
(−1) ∗ 2c−127 ∗ (1 + f )
avec 0 ≤ c ≤ 255 et 1 ≤ (1.f )2 = (1 + f )2 ≤ 2 − 2−23
Exemple
Considérons le nombre machine :
0 10000000011 10111001000100000000000000000000000000000000000
On a
s=0
c = 1. 210 + 1. 21 + 1. 20 = 1024 + 2 + 1 = 1027
1 3 4 5 8 1 12
f = 1. 12 + 1. 12 + 1. 21 + 1. 12 + 1. 12 + 1.
2
19
2.1.5 Opérations élémentaires
Les opérations élémentaires sont l’addition, la soustraction, la multiplication
et la division. En Arithmétique flottante elles s’effectuent de la façon suivante :
x+y → f l(f l(x) + f l(y))
x−y → f l(f l(x) − f l(y))
x×y → f l(f l(x) × f l(y))
x÷y → f l(f l(x) ÷ f l(y))
Exemple
Si l’on prend la précision t = 4 et la base β = 10, alors on a
1
3 ×3 → f l(f l( 13 ) × f l(3))
= f l((0.3333 × 100 ) × (0.3000 × 101 ))
= f l(0.09999000 × 101 )
= f l(0.9999 × 100 )
On a une légère perte de précision. Mais la multiplication et la division sont
simples
Exercice 7 Effectuer les opérations suivantes en arithmétique décimale tronquée
à 4 chiffres.
a) (0.4035 × 106 ) × (0.1978 × 10−1 )
b) (0.56789 × 104 ) ÷ (0.1234321 × 10−3 )
Pour l’addition et la soustraction il faut être particulièrement attentif. Ici il
y a lieu de transformer la mantisse du nombre ayant le plus petit exposant de
manière à opérer avec le plus grand exposant.
Exemple
6
En arithmétique décimale arrondie à 4 chiffres, pour x = 43 et y = 11 , calculons
x + y et x − y
x+y → f l(f l( 34 ) + f l( 11
6
))
= ¯ . . .))
f l(f l(1.3̄ . . .) + f l(0.545
= f l(1.333 + 0.5455)
= f l(1.333 + 0.546)
= f l(1.879) = 1.879
62
Comme x + y = alors l’erreur absolue commise est
33
62
e = |x + y − f l(x + y)| = − 1.879 = 0.0002121
33
d’où l’erreur relative
|x + y − f l(x + y)|
er = = 0.1129 10−3
x+y
Exercice 8 Effectuer les opérations x−y, x×y et x÷y en arithmétique décimale
arrondie à 4 chiffres pour x = 43 et y = 11
6
. Calculer l’erreur relative commise
dans chaque cas.
20
2.1.6 La perte de chiffres significatifs
Nous allons observer le phénomène à partir d’un exemple.
Considérons les deux réels suivants :
x = 0.3721448693
y = 0.3720214371
Calculons l’erreur relative commise lors de l’évaluation de x−y avec une arithmétique
décimale tronquée précise à 5 chiffres.
En effet, on a
x̃ = f l(x) = 0.37214
ỹ = f l(y) = 0.37202
x̃ − ỹ = 0.00012
Comme x − y = 0.0001234322 on a
|(x − y) − (x̃ − ỹ)| 0.0000034322 34322
= = = 3 10−2
|x − y| 0.0001234322 1234322
Sachant que
x̃ ỹ
≤ 0.5 10−4 et ≤ 0.5 10−4
x y
alors on observe une perte de précision.
Dans le calcul de f l(x − y) = (x − y)(1 + δ) nous n’avons que 2 chiffres
significatifs or on en espérait jusqu’à 5 dans notre machine.
Par ailleurs on peut corriger cette perte de précision en changeant la précision
de calcul, mais cela coûtera inutilement cher.
Preuve
t
X bi
Soit x = 2e i
avec b1 6= 0 Si 0 < y < x alors
i=1
2
t t
y X bi X bi
2−p ≤ 1 − ≤ 2−q ⇔ 2−p x ≤ x − y ≤ 2−q x ⇔ 2e i+p
≤ x − y ≤ 2e
i+q
x i=1
2 i=1
2
21
lesquels une perte de chiffres significatifs est inévitable lors de l’évaluation de
f (x) à l’aide d’une calculatrice électronique.
√
Soit x ∈ R I ∗ ; on observe que X = x2 + 1 > 1 = Y et la calculatrice est
binaire. Donc il y a perte de chiffres significatifs si on en perd au moins un, c’est
Y
à dire qu’on a : 1 − X ≤ 12
1 1 p √
1− √ ≤ ⇔ x2 + 1 ≤ 2 ⇔ |x| ≤ 3
x2 +1 2
L’évaluation de√f (x) génère une perte de chiffres significatifs pour tout x
vérifiant 0 < |x| ≤ 3.
x2
f (x) = √
x2 + 1 + 1
Ce qui éclipse la soustraction.
Exemple : Déleveloppement de Taylor
22
Exercice 9 Pour quelles valeurs de x ∈ R I , une perte de chiffres significatifs
est inévitable en utilisant une calculatrice électronique pour l’évaluation de f (x)
et comment peut-t-on contourner cette difficulté dans chacun des cas suivants :
1. f (x) = ex − e−3x
p
2. f (x) = x2 + 1 − x
√ √
3. f (x) = x + 3 − x
23
Exemple Le pendule pesant idéal
On considère un pendule pesant fait d’une boule de masse m suspendu en A
à un fil OA de masse négligeable et de longueur l et fixé en O. On se propose
de décrire
le mouvement de A. On travail dans un repère orthonormé direct
0 , i , j où le poids du point A est p~ = −mg~j. Soit θ la mesure de l’angle
~ ~
−→
orienté −~j , OA .
En négligeant le frottement de l’air sur la boule, le point A est soumis à trois
forces vérifiant d’après la loi de Newton, T~ + p~ + F~N = ~0 où :
– T~ est la tension du fil
– p~ est le poids du point A
−→
2
– F~N = m d dt OA est la force de Newton
2
d2 θ g
+ θ=0 (2.2)
dt2 l
La description donnée par l’équation 2.2 est entachée d’une erreur de tron-
cature par rapport à celle issue de l’équation différentielle non linéaire 2.1 de la
sous section précédente.
24
Exercice 11 On considère la fonction f définie par
Question 1
Donner l’évaluation optimale de f (0.84) que peut offrir votre calculatrice.
Question 2
On évaluera f (0.8) à l’aide d’une arithmétique décimale tronquée à 4 chiffres
sachant que pour x = 0.8, ex = 2.225 :
a) En calculant d’abord les expressions suivantes e2x , e3x , e4x et e5x .
Indiquer l’erreur absolue et l’erreur relative.
b) En utilisant la méthode de Horner.
Indiquer l’erreur absolue et l’erreur relative.
25
Chapitre 3
3.1 Introduction
La résolution d’un système linéaire de la forme Au = b est au centre de la
plupart des traitements de problèmes numériques, provenant de divers domaines
parmi lesquels on peut citer le calcul de reseau électrique.
On va considèrer le système modèle :
15x1 − 2x2 − 6x3 = 300
−2x1 + 12x2 − 4x3 − x4 = 0
−6x 1 − 4x 2 + 19x 3 − 9x 4 = 0
− x2 − 9x3 + 21x4 = 0
26
3.2 Méthodes directes de résolution de systèmes
linéaires Au = b
3.2.1 Systèmes triangulaires
Ils sont de deux types selon que le matrice A est une matrice triangulaure
supérieure ou une matrice triangulaure inférieure. Dans ces cas on utilise de
simples techniques de substitution.
D’où l’algorithme :
real array (aij )n×n , (bi )n , (xi )n
integer i, j, n
real sum
xn ← bn /ann
for i = n − 1 to 1 step -1 do
begin
sum ← bi
for j = i + 1 to n do
begin
sum ← sum − aij xj
end
xi ← sum/aii
end
27
Le nombre de couples (multiplication - addition) que necessite cet algorithme
2
est de l’ordre de n2
D’où l’algorithme :
28
Exemple
Résoudre le système
6x1 = 12
3x1 +6x2 = −12
4x1 −2x2 +7x3 = 14
5x1 −3x2 +9x3 +21x4 = −2
On a
x1 = 12/6 = 2 x1 = 2
6x2 = −12 − 3x1 = −18 x2 = −18/6 = −3
⇔
7x3 = 14 − (4x1 − 2x2 ) 7x3 = 14 − 14 = 0
21x4 = −2 − (5x1 − 3x2 + 9x3 ) 21x4 = −2 − (5x1 − 3x2 + 9x3 )
x1 = 2 x1 = 2
x2 = −3 x2 = −3
⇔ ⇔
x3 = 0 x3 = 0
21x4 = −2 − 19 = −21 x4 = −21/21 = −1
3.2.3 Triangularisation
Elle est obtenue en appliquant des transformations élémentaires successives
de Gauss à la matrice initiale. Commençons d’abord par nous faire une idée
précise d’une transformation de Gauss.
Transformations de Gauss
Elles ont pour fonction d’annuler les composantes d’un vecteur à partir d’un
certain rang. Soit n, k ∈ NI ∗ avec k < n. On considère un vecteur x ∈ K I n tel
que
xT = [x1 , x2 , . . . , xk , xk+1 . . . , xn ] , xk 6= 0
29
En posant
xi
αi = pour i = k + 1, . . . , n
xk
αT = [0, 0, . . . , 0, αk+1 . . . , αn ]
et
1 ... 0 0 0 ... 0
.. .. .. .. .. .. ..
.
. . . . . .
0 ... 1 0 0 ... 0
T
Mk = I − αek =
0 ... 0 1 0 ... 0
0
... 0 −αk+1 1 ... 0
. .. .. .. . . ..
.. . . . . .
0 ... 0 −αn 0 ... 1
on a
T
Mk x = x − xk α ⇒ (Mk x) = [x1 , x2 , . . . , xk , 0 . . . , 0]
T
Exercice 13 Soit α = [0, . . . , 0, αk+1 , . . . , αn ] . Montrer que
si Mk = I − αeTk alors Mk−1 = I + αeTk
Exercice 14 Soit M = Mk . . . M1 où Mi = I − α(i) eTi avec
T
α(i) = [0, . . . , 0, −li+1,i , . . . , −lni ]
Montrer que eTj α(i) = 0 pour j < i.
Montrer que M est une matrice triangulaire inférieure de diagonale unité.
Plus explicitement on a
1
l21 1
l31 l32 1
..
..
. .
M =
l
k1 l k2 lk3 . . . lkk−1 1
lk+1,1 lk+1,2 lk+13 . . . lk+1,k 1
. .
.. ..
ln1 ln2 . . . lnk 0 ... 1
Montrer que
k
X
M −1 = (I + α(1) eT1 ) . . . (I + α(k) eTk ) = I + α(i) eTi
i=1
30
Théorème 3.2.1 On suppose que A ∈ K I m×n et que pour k < min(m, n) on a
déterminé les transformations de Gauss M1 , . . . , Mk−1 ∈ KI m×m telles que
" #
(k−1) (k−1)
(k−1) A11 A12 k−1
A = Mk−1 . . . M1 A = (k−1)
0 A22 m −k+1
k−1 n−k+1
(k−1)
où A11 est une matrice triangulaire supérieure. Si
(k−1) (k−1)
akk . . . akn
(k−1) . ..
A22 = .. .
(k−1) (k−1)
amk ... amn
(k−1)
et akk 6= 0 alors les multiplicateurs
(k−1)
aik
lik = (k−1)
i = k + 1, . . . , m
akk
T
sont définis et en posant Mk = I −α(k) eTk avec α(k) = (0, . . . , 0, lk+1,k , . . . , lmk )
on a
" #
(k) (k)
A A k
A(k) = Mk A(k−1) = 11 12
(k)
0 A22 m −k
k n−k
(k)
avec A11 matrice triangulaire supérieure.
Preuve
Elle est une utilisation immédiate des propriétés de la transformation de Gauss.
(Vérification laissée en exercice)
Théorème 3.2.2 Soit A ∈ K I n×n une matrice non singulière. On suppose que
l’on a déterminé les transformations de Gauss succeccives M1 , . . . , Mn−1 telles
que
U = A(n−1) = Mn−1 A(n−2) = Mn−1 . . . M1 A
soit une matrice triangulaire supérieure. Alors on a
Ax = b ⇔ U x = (Mn−1 . . . M1 ) b
31
real array (aij )n×n , (bi )n
integer i, j, k, n
for k = to n − 1 do
begin
for i = k + 1 to n do
begin
for j = k to n do
begin
aij ← aij − (aik /akk )akj
end
bi ← bi − (aik /akk )bk
end
end
Remarque :
2) les termes aij pour i > j qui devaient être mis à 0 n’ont pas été mis à jour,
opération complètement superflue. L’espace occupé par ces élements pourra être
utilisé dans l’algorithme de factorisation LU
3.2.4 Factorisation LU
Théorème 3.2.3 Une matrice régulière A ∈ K I n×n possède une factorisation
A = LU où L est triangulaire inférieure à diagonale unité et U est triangulaire
32
supérieure, si et seulement si toutes les sous matrices principales A(k) de A sont
régulière.
Preuve
Si A = LU , nous pouvons avoir une décomposition par bloc des trois matrices
k A11 A12 L11 0 U11 U12 k
= .
(n − k) A21 A22 L21 L22 0 U22 (n − k)
k (n − k) k (n − k) k (n − k)
où A11 est la sous matrice principale d’ordre k de A c’est à dire A(k) . Le produit
par bloc donne
Etant donnée la structure de B = A(k) alors B11 est est une matrice trian-
(k)
gulaire supérieure avec tous les termes diagonaux non nuls. En particulier Akk
eme
est non nuls et peut être choisi comme le k pivot.
33
Preuve
On part du tableau :
E1 : 6 −2 2 4 16
E2 :
12 −8 6 10 26
E3 : 3 −13 9 3 −19
E4 : −6 4 1 −18 −34
A l’étape 1 on a
E1 : 6 −2 2 4 16
E2 ← E2 − 12
6 E1 :
0 −4 2 2 −6
E3 ← E3 − 36 E1 : 0 −12 8 1 −27
E4 ← E4 − −6
6 E1 : 0 2 3 −14 −18
A l’étape 2 on a
E1 : 6 −2 2 4 16
E2 :
0 −4 2 2 −6
E3 ← E3 − −12
−4 E2 : 0 0 2 −5 −9
2
E4 ← E4 − −4 E2 : 0 0 4 −13 −21
A l’étape 3 on a
E1 : 6 −2 2 4 16
E2 :
0 −4 2 2 −6
E3 : 0 0 2 −5 −9
E4 ← E4 − 42 E3 : 0 0 0 −3 −3
x4 = −3/(−3) = 1 x4 = −3/(−3) = 1
2x3 = −9 − (−5x4 ) = −4 x3 = −4/(2) = −2
⇔
−4x2 = −6 − (2x3 + 2x4 ) −4x2 = −6 − (−4 + 2) = −4
6x1 = 16 − (−2x2 + 2x3 + 4x4 ) 6x1 = 16 − (−2x2 + 2x3 + 4x4 )
34
x4 = −3/(−3) = 1 x4 = −3/(−3) = 1
x3 = −4/(2) = −2 x3 = −4/(2) = −2
⇔ ⇔
x2 = −4/(−4) = 1 x2 = −4/(−4) = 1
6x1 = 16 − (−2 − 4 + 4) = 18 x1 = 18/6 = 3
On a également la factorisation A = LU avec
6 −2 2 4 1 0 0 0
0 −4 2
et L = 12
2 1 0 0
U =
0 0 2 −5
2 3 1 0
0 0 0 −3 −1 − 21 2 1
Exercice 17 On considère
2 2 1
A= 1 1 1
3 2 1
N (y, k)x = ek
35
Exercice 20 Montrer que si AT ∈ R I n×n est à diagonale dominante alors A
admet une décomposition LU avec |lij | ≤ 1.
3x1 +2x2 −5x3 = 0
(b) 2x1 −3x2 x3 = 0
x1 +4x2 −x3 = 4
1 −1 2 1 x1 1
3 2 1 4 x2 1
(c)
5
=
8 6 3 x3 1
4 2 5 3 x4 −1
si = max |aij |
1≤j≤n
36
(1) (0)
avec A11 = A11 ∈ K I le pivot 1.
g
Pour l’étape 2 on applique l’étape 1 à la sous matrice
(1) (1)
a22 . . . a2n
(1) . .. (n−1)×(n−1)
..
A22 = ∈K
. I
(1) (1)
an2 . . . ann
. En posant P2 = diag(1, P
f2 ) on a
" #
(2) (2)
(2) (1) A11 A12
A = M 2 P2 A = (2)
0 A22
(2) (2)
où A11 ∈ K I 2×2 est triangulaire supérieure et A22 ∈ K I (n−2)×(n−2) ; M2 étant
une transformation de Gauss.
En supposant ce processus réalisé jusqu’à l’étape k − 1, c’est à dire exis-
tence de transformation de Gauss M1 , . . . , Mk−1 ∈ K I n×n et de permutations
n×n
P1 , . . . , Pk−1 ∈ K
I telles que
" #
(k−1) (k−1)
A A
A(k−1) = Mk−1 Pk−1 . . . M1 P1 A = 11 12
(k−1)
0 A22
(k−1) (k−1)
avec A11 I (k−1)×(k−1) triangulaire supérieure et A22
∈K ∈K I (n−k+1)×(n−k+1)
étape k
On construit le vecteur de normalisation s(k) = [sk , . . . , sn ] avec
(k−1)
si = max aij
k≤j≤n
37
On regarde ensuite les rapports
(k−1)
aik
i = k, . . . , n
si
. En posant Pk = diag(Ik−1 , P
fk ) on a
" #
(k) (k)
(k) (k−1) A11 A12
A = M k Pk A = (k)
0 A22
où
(k−1)
a
g
li,k = ik
e i = k + 1, . . . , n
(k−1)
akk
g
I n×n
Mn−1 Pn−1 . . . M1 P1 A = U ∈ K
P A = LU
Remarque :
38
T T
I n que l’on initialisera à ` = [1, 2, . . . , n] . Les permutations
` = [`1 , . . . , `n ] ∈ N
de lignes se résumeront à des permutations des éléments de `.
Par ailleurs en pratique les vecteurs de normalisation s ne change pas sensi-
blement.
On a alors l’algorithme :
39
Théorème 3.2.5 Dans l’algorithme de Gauss appliqué à une matrice A ∈
3
I n×n , la phase de triangularisation a un coût de l’ordre de n3
K
Remarque :
(k−1)
Il faut observer que dans le processus de triangularisation, plus un pivot akk
(k−1)
aik
est petit en valeur absolue, plus les coefficients multiplicateurs (k−1) sont
akk
grands ce qui amplifira l’effet des erreurs d’arrondi inhérentes à l’utilisation
d’une arithmétique à précision finie.
Ainsi l’objectif d’une stratégie de pivot est de réduire le plus possible les
(k−1)
aik
facteurs d’amplification que sont les coefficients (k−1) . Il faudra tout au moins
akk
assurer la condition
(k−1)
aik
(k−1)
≤ 1pour i > k
akk
Cette condition est réalisée avec la stratégie de pivot partiel normalisé.
On peut aussi envisager une stratégie dite de pivot total normalisé qui est
plus stable du point de vue numérique.
Remarque :
L’inversion de matrice peut se faire directement en utilisant la méthode de
Gauss.
Exemple
Déterminons l’inverse de la matrice
4 −1 7
A = −1 4 0
−7 0 4
On part du tableau :
E1 : 4 −1 7 1 0 0
E2 : −1 4 0 0 1 0
E3 : −7 0 4 0 0 1
A l’étape
1 les coefficients normalisés sont dans l’ordre
4 1 7
, , On procède à une permutation de ligne :
7 4 4
E1 ← E3 : −7 0 4 0 0 1
E2 : −1 4 0 0 1 0
E3 ← E1 : 4 −1 7 1 0 0
40
On a alors les facteurs
multiplicateurs
−1 1 4 4
= , =− et on a
−7 7 −7 7
E1 : −7 0 4 0 0 1
E2 ← E2 − 17 E1 : 0 4 − 47 0 1 − 17
E3 ← E3 + 47 E1 : 0 −1 657 1 0 4
7
= 0 + 47 x3 = 74 64
7 1 1
4x2 = 16 x2 = 64
4 4 7 65 65
4y2 = 1 + 7 y3 = 1 + 7 256 = 64 ⇔ y2 = 256
1 4 1 4 15 7 7
4z2 = − 7 + 7 z3 = − 7 + 7 256 = − 64 z2 = − 256
7 7 1
−7x1 = 0 − 4x3 = −4 64 = − 16 x1 = 16
7 7 1
−7y1 = 0 − 4y3 = −4 256 = − 64 ⇔ y1 = 64
15 49 7
−7z1 = 1 − 4z3 = 1 − 4 256 = 64 z1 = − 64
D’où
1 1 7
16 64 − 64
A−1 = 1
64
65
256
7
− 256
7 7 15
64 256 256
41
3.2.6 Système linéaires spéciaux : factorisations de Cholesky,
LDM t ...
T
Factorisation L-D-M
Théorème 3.2.6 Si toutes les sous matrices principale de la matrice régulière
A∈K I n×n sont régulières alors il existe deux matrices triangulaires inférieures
à diagonale unité L , M et une matrice diagonale D = diag(d1 , . . . , dn ) telles
que A = LDM T
Preuve
A = LU = LD(D−1 U ) = LDM T
Ainsi
Pour tout k = 1, . . . , n
k−1
X
dk = akk − lkp dp mkp
p=1
et pour i = k + 1, . . . , n
Pk−1
lik = aik − p=1 lip dp mkp /dk
Pk−1
mik = aki − p=1 lkp dp mip /dk
n3
L’algorithme associé a un coût de l’ordre de 3 opérations.
42
Exercice 23 Ecrire l’algorithme de la décomposition A = LDM T en sur-
chargeant aij par lij si i > j et par mij si i < j.
Exemple
On considère la matrice
2 −1 2
A= 2 −3 3
6 −1 8
1. Trouver la factorisation A = LDV où L est triangulaire inférieure, V
triangulaire supérieure à diagonales unité et D diagonale.
T
2. Utiliser cette décomposition pour résoudre Ax = b avec b = [−2, −5, 0]
1 ) On commence par une factorisation LU classique en utilisant le processus
naı̈f de triangularisation de Gauss.
On part du tableau
E1 : 2 −1 2 1 0 0
E2 : 2 −3 3 et on construit 22 1 0
6
E3 : 6 −1 8 2 0 1
Etape 1 :
E1 : 2 −1 2 1 0 0
E2 ← E2 − 22 E1 : 0 −2 1 et on construit 1 1 0
2
E3 ← E3 − 62 E1 : 0 2 2 3 −2 1
Etape 2 :
E1 : 2 −1 2 1 0 0
E2 : 0 −2 1 et on construit 1 1 0
2
E3 ← E3 − −2 E2 : 0 0 3 3 −1 1
D’où
1 0 0 2 −1 2
L= 1 1 0 et U = 0 −2 1
3 −1 1 0 0 3
Soit D = diag(2 , −2 , 3). Calculons la matrice V telle que U = DV . Puisque
D est inversible, on a V = D−1 U . Ainsi
1 − 21
1
V = 0 1 − 21
0 0 1
2 ) Résolution de Ax = b se ramène celle de LDV x = b. On procède donc
par la séquence :
Ly = b → Dz = y → V x = z
43
T
L’équation Ly = b, avec b = [−2, −5, 0] , donne
y1 = −2
y2 = −5 − y1 = −5 + 2 = −3
y3 = 0 − 3y1 + y2 = 6 − 3 = 3
T
et y = [−2, −3, 3]
L’équation Dz = y donne z = D−1 y. Comme D = diag(2 , −2 , 3) alors on
a T T
−2 −3 3 3
z= , , = −1, , 1
2 −2 3 2
Enfin l’équation V x = z donne :
x3 = 1
x2 = 32 + 12 x3 = 23 + 12 = 2
x1 = −1 + 12 x2 − x3 = −1 + 21 (2) − 1 = −1
T
D’où x = [−1, 2, 1]
Remarque :
L’utilisation de la factorisation de A dans la résolution du système linéaire
Ax = b peut être rentable lorsque l’on opère pour toute une série de b.
Exercice 24 On considère
−2 1 −2 1
A = −4 3 −3 et b = 4
2 2 4 4
T
Factorisation L-D-L
Théorème 3.2.7 Si A = LDM T est la décomposition LDM T d’une matrice
régulière symétrique A alors L = M et on a A = LDLT .
Preuve
−1
La matrice M −1 A(M T ) = M −1 LD est symétrique et triangulaire inférieieure.
Elle est donc diagonale. Puisque D est régulière alors M −1 L est aussi diagonale.
Mais M −1 L est triangulaire à diagonale unité. On a donc M −1 L = I.
Remarque :
L’agorithme de factorisation A = LDLT d’une matrice symétrique A ∈ K I n×n a
3
un coût de l’ordre de n6
44
Factorisation de Cholesky
Théorème 3.2.8 Si une matrice A ∈ R I n×n est symétrique définie positive
I n×n à termes diagonaux
alors il existe une matrice triangulaire inférieure G ∈ R
T
positifs telle que A = GG .
Preuve
après arrangement on a
r
Pk−1 2
gkk = akk − p=1 gkp
Pk−1
gik = aik − p=1 gip gkp /gkk
45
for j = 1 to k − 1 do
begin
aik ← aik − aij ∗ akj
end
aik ← aik /akk
end
end
Exemple
Calculer la factorisation A = LDLT puis la factorisation de Cholesky A = GGT
de la matrice
6 2 1 −1
2 4 1 0
A=
1 1 4 −1
1 0 −1 3
Factorisation LDLT
Commençons par une factorisation A = LU classique avec L à diagonale
unité, en utilisant le processus naı̈f de triangularisation de Gauss.
On part du tableau
E1 : 6 2 1 −1 1 0 0 0
2
E2 : 2 4 1 0 et via 61 1 0 0
E3 : 1 1 4 −1
6 0 1 0
−1
E4 : −1 0 −1 3 6 0 0 1
Etape 1 :
E1 : 6 2 1 −1 1 0 0 0
E2 ← E2 − 26 E1 :
0
10
3
2
3
1
3
et via
1
3 1 0 0
E3 ← E3 − 16 E1 : 0 2
3
23
6 − 56 1
6
2
10 1 0
E4 ← E4 − −1
6 E1 : 0 1
3 − 56 17
6 − 61 1
10 0 1
Etape 2 :
E1 : 6 2 1 −1 1 0 0 0
10 2 1 1
E2 :
0 3 3 3
et via 3 1 0 0
2 37 9 1 1
E3 ← E3 − 10 E2 : 0 0 10 − 10
6 5 1 0
1 27 84 −9
E4 ← E4 − 10 E2 : 0 0 − 30 30 − 61 1
10 37 1
Etape 3 :
E1 : 6 2 1 −1 1 0 0 0
10 2 1 1
E2 :
0 3 3 3
et via 3 1 0 0
37 9 1 1
E3 : 0 0 10 − 10
6 5 1 0
E4 ← E4 − −9 E
37 3 : 0 0 0 191
74 − 16 1
10
9
− 37 1
46
Ainsi
1 0 0 0 6 2 1 −1
1 10 2 1
3 1 0 0 0
3 3 3
L= 1 1
et U = 37 9
6 5 1 0 0 0 10 − 10
1 1 9 191
−6 10 − 37 1 0 0 0 74
10 37 191
Pour D = diag 6 , , , on obtient A = LDLT .
3 10 74
Factorisation LDLT √
T
On peut déduire r de!Cholesky A = GG avec G = L D où
r la factorisation
√ √
r
10 37 191
D = diag 6, , ,
3 10 74
On a donc
√
6 0 0 0
√6
q
10
0 0
√3 3
G= q q
6 1 10 37
0
√6 5q 3 q 10 q
6 1 10 9 37 191
− 6 10 3 − 37 10 74
α wT
A=
ν β
est définie positive alors il en est de même pour β − νwT /α
47
3.2.7 Analyse d’erreur d’arrondi
Dans cette introduction nous n’allons pas nous focaliser sur l’analyse théorique
de l’effet de l’arithmétique finie qui fait largement état du conditionnement de la
matrice en jeu. Nous observerons ce phénomène à travers un exemple illustratif
laissant le reste en exercice.
Exemple
En utilisant une arithmétique décimale arrondie à 4 chiffres, résoudre par la
méthode de Gauss avec une stratégie de pivot partiel pondéré, le système
15x1 − 2x2 − 6x3 = 300
−2x1 + 12x2 − 4x3 − x4 = 0
−6x 1 − 4x 2 + 19x 3 − 9x 4 = 0
− x2 − 9x3 + 21x4 = 0
A
l’étape 1 les coefficients normalisés sont dans
l’ordre
15 2 6
= 1, = 0.1666667 , = 0.6666667 , 0
15 12 9
On
a alors les facteurs multiplicateurs
−2 −6 0
= −0.1333333 , = −04 , =0
15 15 15
Puis on obtient :
E1 : 15 −2 −6 0 300
E2 ← E2 + 0.1333E1 : 0 11.73 −4.533 −1 39.49
E3 ← E3 + 0.4E1 : 0 −4.8 16.6 −9 120
E4 ← E4 + 0E1 : 0 −1 −9 21 0
A
l’étape 2 les coefficients normalisés sont dans l’ordre
11.73 4.8 1
= 1, = 0.2891566 , = 0.0476190
11.73 16.6 21
On
a alors les facteurs multiplicateurs
−4.8 −1
= −0.4092072 , = −0.0852515
11.73 11.73
Puis on obtient :
E1 : 15 −2 −6 0 300
E2 : 0 11.73 −4.533 −1 39.49
E3 ← E3 + 0.4092E2 : 0 0 14.74 −9.409 136.2
E4 ← E4 + 0.08525E2 : 0 0 −9.386 20.91 3.367
48
A
l’étape 3 les coefficients normalisés
sont dans l’ordre
14.74 9.386
= 1, = 0.4488761
14.74 20.91
On a alors le facteur multiplicateur
−9.386
= −0.6367707
14.74
Puis on obtient :
E1 : 15 −2 −6 0 300
0 11.73 −4.533
E2 : −1 39.49
E3 : 0 0 14.74 −9.409 136.2
E4 ← E4 + 0.6368E3 : 0 0 0 14.92 90.10
Par la remontée on a :
x4 = 90.10/14.92 = 6.039 x4 = 90.10/14.92 = 6.039
14.74x3 = 136.2 − (−9.409x4 ) = 193 x3 = 193/14.74 = 13.09
⇔
11.73x2 = 39.49 − (−4.533x3 − 1x4 ) 11.73x2 = 39.49 − (−4.533 ∗ 13.09 − 6.039) = 104.9
15x1 = 300 − (−2x2 − 62x3 ) 15x1 = 300 − (−2x2 − 6x3 )
49
ce qui est attendu car A symétrique.
– Comme les termes de D = diag(15 , 11.73 , 14.74 , 14.92)√sont positifs,
on a une factorisation de cholesky A = GGT avec G = L D où
√ √ √ √ √
D = diag 15 , 11.73 , 14.74 , 14.92 = diag(3.873 , 3.425 , 3.839 , 3.863)
Ainsi on a
3.873 0 0 0
−0.5163 3.425 0 0
G=
−1.549
−1.402 3.839 0
0 −0.2920 −2.445 3.863
I m×n , B ∈ R
Exercice 30 1) Montrer que si A ∈ R I n×p on a
kf l(AB) − ABkF
≤ nuκF (B) + O(u2 )
kABkF
où
m X
X n
kAkF = a2ij pour tout I m×n
A(aij ) ∈ R
i=1 j=1
50
3.3 Méthodes itératives de résolution de systèmes
linéaires Au = b
3.3.1 Contexte général
Nous aborderons la résolution du système linéaire Ax = b avec un esprit
complètement différent de celui qui a prévalu lors de la mise en œuvre des
méthodes dites directes.
Il s’agit ici de construire une suite de vecteurs x(0) , x(1) , . . . , x(k) , . . . ap-
prochant la solution x du système. Le processus numérique est conçu de manière
à assurer la convergence de la suite vers la solution. Ce processus peut s’arrête
dès qu’une précision suffisante préalablement fixée est atteinte.
De façon générale un algorithme itératif pour le système linéaire Ax = b est
conçu en se donnant une matrice régulière Q ∈ K I n×n , puis, partant d’un vecteur
arbitraire x , d’engendrer la suite de vecteurs x(1) , . . . , x(k) , . . . par l’équation
(0)
reccurente :
Qx(k) = (Q − A)x(k−1) + b k = 1, 2, . . .
En supposant que la suite x(k) k converge vers x∗ , du fait de la continuité
Qx(k) = (Q − A)x(k−1) + b k = 1, 2, . . .
51
Remarque :
Qx(k) = (Q − A)x(k−1) + b k = 1, 2, . . .
doit être facile à résoudre en x(k) lorsque x(k−1) est connu. Ce choix doit être
fait pour assurer une convergence éventuellement rapide du processus.
Preuve
52
2. Déterminer la matrice itérative G de cette méthode puis calculer ses
valeurs propres.
3. Que peut-t-on dire de la converge de la méthode ?
On observe que :
1 1 1
A= 2 3 et b = 63
1 1 1
3 4 168
1 1
On a donc I = diag(1 , 1), Q = D = diag , et Q−1 = D−1 = diag(2 , 4)
2 4
1. Calcul de X (1) et X (2)
T
– X (0) = (0 , 0) alors
T
AX (0) = (0 , 0)
1 1 T
b − AX (0) = 63 , 168
1 T
D−1 2
b − AX (0) = 63 , 42
1 −1 1 1 T
10 D b − AX (0) = 315 , 420
1 T
X + 10 D−1
1 1
(0)
b − AX (0) = 315 , 420
1 1 T
X (1) = 315 , 420
T
1 1
– X (1) = , alors
315 420
1 5
T
AX (1) = 420 , 3024
17 13 T
b − AX (1) = 1260 , 3024.
13 T
D−1 17
b − AX (1) = 630 , 756
1 −1 17 13 T
10 D b − AX (1) = 6300 , 7560
1 −1 37 31 T
X (1) + 10 D b − AX (1) = 6300 , 7560
37 31 T
X (2) = 6300 , 7560
2. Détermination de la matrice itérative G de la méthode et ses valeurs pro-
pres.
9 1
1 −1 1 −1 − 15
G=I− Q A=I− D A= 10
2 9
10 10 − 15 10
Ainsi les valeurs propres de G sont données par
2 ( √ √ )
9 2 9 2 9 2
det(G − λI) = 0 ⇔ −λ − 2 =0 ⇔ λ∈ − , +
10 15 10 15 10 15
53
Exercice 31 Reprendre l’exercice de l’exemple ci-dessus sur le système linéaire
7x1 − 6x2 = 3
−8x1 + 9x2 = −4
Méthode de Jacobi
Lorsque pour tout i on a aii 6= 0, en résolvant l’équation numero i pour
l’inconnue xi , on établit la relation de reccurence :
n
(k) (k−1)
X
aii xi =− aij xj + bi 1≤i≤n
j=1
j6=i
ou
n
(k) 1 X (k−1)
xi = − aij xj + bi 1≤i≤n
aii j=1
j6=i
D = diag(A) = (aii )
CL = (−aij )i>j
CU = (−aij )i<j
54
real array (A)n×n ,(b)n ,(c)n , (y)n , (x)n
real sum, diag
integer i, j, k, kmax , n
begin
n ← taille(A)
x ← x(0)
for k = 1 to kmax do
begin
y←x
for i = 1 to n do
begin
sum ← bi
diag ← Aii
if |diag| < δ then
begin
Ecrire ”Element Diagonal trop petit”
return
end
for j = 1 to n do
begin
if j 6= i then
begin
sum ← sum − Aij yj
end
end
xi ← sum/diag
end
Ecrire k, x
if kx − yk < then
begin
Ecrire ”Convergence”
stop
end
end
Ecrire ”Nombre maximal d’iterations atteint”
end
Exemple
On considère le système linéaire
1 1 1
2 x1 + 3 x2 = 63
1 1 1
3 x1 + 4 x2 = 168
T
1. En posant X (k) = xk1 , xk2 la solution à la k ieme itération de la méthode
T
de Jacobi et partant de X (0) = (0 , 0) , calculer X (1) et X (2) .
55
2. Déterminer la matrice itérative G de cette méthode puis calculer ses
valeurs propres.
3. Que peut-t-on dire de la converge de la méthode ?
Pour le système on a :
1 1 1
A= 2 3 et b = 63
1 1 1
3 4 168
c’est à dire :
1 k+1 1 1 k
xk+1 1 1 k
2 x1 = 63 − 3 x2 ⇔ 1 = 2 63 − 3 x2
1 k+1
4 x2 = 1 1 k
168 − 3 x1 xk+1
2 = 4 1 1 k
168 − 3 x1
T
Pour X (0) = (0 , 0) on a :
1 2 2
1
x1 = 2 63 − 0 = 63 (1)
1 1 4 ⇔ X = 63
1
x2 = 4 168 − 0 = 168 42
et
1 1 1 1 1
x21
= 2 63 − 3 42 = 126 ⇔ X (2) = 126
1 1 2 −7. 1
x22 = 4 168 − 3 63 = 1512 − 216
2. Calcul de la matrice itérative G de la méthode de Jacobi et ses valeurs
propres.
0 − 23
−1
G=I −D A=
− 43 0
Ainsi
( √ √ )
8 2 2 2 2 2
det(G − λI) = 0 ⇔ (0 − λ) − 2 = 0 ⇔ λ ∈ − ,
3 3 3
56
Exercice 32 Reprendre les questions de l’exemple ci-dessus pour chacun des
systèmes linéaires suivants :
1.
7x1 − 6x2 = 3
−8x1 + 9x2 = −4
2.
7x1 − 12x2 = −5
−8x1 + 9x2 = 1
3.
5x1 − x2 = 7
−x1 + 3x2 − x3 = −8
− x2 + 2x3 = 4
Méthode de Gauss-Seidel
Intuitement on espère améliorer l’approximation en utilisant les inconnues
x1 , . . . , xj−1 déjà mis à jour lors de l’évaluation de la j ieme inconnue dans le
processus de Jacobi. On établit alors la relation de reccurence :
i−1 n
(k) (k) (k−1)
X X
aii xi =− aij xj − aij xj + bi 1≤i≤n
j=1 j=i−1
ou
i−1 n
(k) 1 X (k)
X (k−1)
xi = − aij xj − aij xj + bi 1≤i≤n
aii j=1 j=i+1
c’est à dire
(D − CL )x(k) = CU x(k−1) + b
et la matrice Q = D − CL est la matrice triangulaire inférieure de A.
L’algorithme de la méthode de Gauss-Seidel s’écrire alors :
57
for i = 1 to n do
begin
sum ← bi
diag ← Aii
if |diag| < δ then
begin
Ecrire ”Element Diagonal trop petit”
return
end
for j = 1 to i − 1 do
begin
sum ← sum − Aij xj
end
for j = i + 1 to n do
begin
sum ← sum − Aij xj
end
xi ← sum/diag
end
Ecrire k, x
if kx − yk < then
begin
Ecrire ”Convergence”
stop
end
end
Ecrire ”Nombre maximal d’iterations atteint”
end
Exemple
On considère le système linéaire
1 1 1
2 x1 + 3 x2 = 63
1 1 1
3 x1 + 4 x2 = 168
T
1. En posant X (k) = xk1 , xk2 la solution à la k ieme itération de la méthode
T
de Gauss-Seidel et partant de X (0) = (0 , 0) , calculer X (1) et X (2) .
2. Déterminer la matrice itérative G de cette méthode puis calculer ses
valeurs propres.
3. Que peut-t-on dire de la converge de la méthode ?
Pour la méthode de Gauss-Seidel on a :
1 1 1 1
2 3 2 0 63
A= 1 1 Q= 1 1 et b = 1
3 4 3 4 168
58
T
Explicitement, pour X (k) = xk1 , xk2 connu, on a
1 k+1 1 k 1
2 x1 + 3 x2 = 63
1 k+1 1 k+1 1
3 x1 + 4 x2 = 168
qui donne le système triangulaire inférieur
1 k+1 1
k+1
− 13 xk2 1 1 k
2 x1 = 63
⇔
x1 = 2 63 − 3 x2
1 k+1 1 k+1 1
xk+1 1 1 k+1
x
3 1 + x
4 2 = 168 2 = 4 168 − 3 x1
T
En partant de X (0) = (0 , 0) on a
1 2
− 13 x02 2
1 1
x1 = 2 63 x1 =
1 ⇔ 63
1 1 2 ⇔ X (1) = 63
1
− 13 x11
x12 = 4 168 x12 = 4 168 − 3 63 − 54
1 1 1 1 1 1 25
x21 x21
= 2 63 − 3 x2 ⇔
= 2 63 + 3 54 ⇔ X (2) = 567
1 1 2 1 1 25 119
x22 = 4 168 − 3 x1 x22 = 4 168 − 3 567
− 3402
59
3.3.3 Convergence des méthodes
Théorème 3.3.2 Si la matrice A ∈ R I n×n est à diagonale strictement dom-
inante alors les méthodes de Jacobi et de Gauss-Seidel appliquées au système
Ax = b sont convergentes pour toute solution initiale x(0)
Preuve
La démontration sera faite en exercice.
Remarque :
Le théorème 3.3.2 donne une condition suffisante de convergence qui n’est absol-
ument pas nécessaire. On a d’autres critères de convergence ; par exemple dans
le cas des matrices hermitiennes.
60
1. Pour la méthode de Jacobi, connaissant X (k) , on a explicitement :
k+1
= 31 1 + xk2 − xk3
x1
xk+1 = 16 −3xk1 − 2xk3
2k+1
x3 = 17 4 − 3xk1 − 3xk2
On obtient en arithmétique finie
k+1
x1 = 0.3333 1 + xk2 − xk3
xk+1 = 0.1666 −3xk1 − 2xk3
2k+1
x3 = 0.1428 4 − 3xk1 − 3xk2
T
Pour X (0) = (0 , 0 , 0) , on a :
1
x1 = 0.3333(1 + 0 − 0) = 0.3333
x1 = 0.1666(−3 ∗ 0 − 2 ∗ 0) = 0
21
x3 = 0.1428(4 − 3 ∗ 0 − 3 ∗ 0) = 0.5712
m
0.3333
X (1) = 0
0.5712
et 2
x1 = 0.3333(1 + 0 − 0.5712) = 0.1429
x2 = 0.1666(−3 ∗ 0.3333 − 2 ∗ 0.5712) = −0.3566
22
x3 = 0.1428(4 − 3 ∗ 0.3333 − 3 ∗ 0) = 0.4285
m
0.1429
X (2) = −0.3566
0.4285
2. La méthode de Gauss-Seidel, connaissant X (k) , s’explicite sous la forme
k+1
= 13 1 + xk2 − xk3
x1
xk+1 = 16 −3xk+1 − 2xk3
2k+1 1
= 7 4 − 3x1 − 3xk+1
1 k+1
x3 2
61
et
2
x1 = 0.3333(1 − 0.1665 − 0.4998) = 0.1113
x2 = 0.1666(−3 ∗ 0.1113 − 2 ∗ 0.4998) = −0.2220
22
x3 = 0.1428(4 − 3 ∗ 0.1113 − 3 ∗ (−0.2220)) = 0.6186
m
0.1113
X (2) = −0.2220
0.6186
T
Pour X (0) = (0 , 0 , 0) , on a :
1
x1 = 0.4166(1 + 0 − 0) − 0.25 ∗ 0 = 0.4166
x1 = 0.2083(−3 ∗ 0.4166 − 2 ∗ 0) − 0.25 ∗ 0 = −0.2601
21
x3 = 0.1785(4 − 3 ∗ 0.4166 − 3 ∗ (−0.2601)) − 0.25 ∗ 0 = 0.6302
m
0.4166
X (1) = −0.2601
0.6302
et
2
x1 = 0.4166(1 + (−0.2601) − 0.6302) − 0.25 ∗ 0.4166 = −0.0583
x2 = 0.2083(−3 ∗ (−0.0583) − 2 ∗ 0.6302) − 0.25 ∗ (−0.2601) = −0.1612
22
x3 = 0.1785(4 − 3 ∗ (−0.0583) − 3 ∗ (−0.1612)) − 0.25 ∗ 0.6302 = 0.6739
m
−0.0583
X (2) = −0.1612
0.6739
62
3.4 Accélération de convergence
La relaxation est une technique beaucoup plus générale notamment utilisée
pour accélérer la convergence d’une méthode itérative. Dans sa version simple,
elle se formule par :
Qy (k) = (Q − A)x(k−1) + b
k = 1, 2, . . .
x(k) = ωy (k) + (1 − ω)x(k−1)
63
Chapitre 4
Remarque :
Dans cette définition, on exclut les identités comme
d2 x d dv du
(e ) = ex ou (uv) = u +v
dx2 dx dx dx
64
Exemple
2
d2 y dy
dx2 + xy dx =0
d4 x 2
∂v ∂v
∂t + ∂x =0
dy d2 y dn−1 y dn y
F t, y, , 2 , . . . , n−1 , n = 0 (4.1)
dt dt dt dt
où
I × E n+1 → E
F :R
I p , p ≥ 1).
avec E est un espace vectoriel normé ( par exemple E = R
Remarque :
I p avec p > 1 on parlera de système d’équations différentielles.
Lorsque E = R
65
Exemple
d2 y
f (x) = 2 cos x − 3 sin x est solution de dx 2 + y = 0 sur RI car f est deux fois
00
I avec f 0 (x) = −2 sin x − 3 cos x et f (x) = −2 cos x + 3 sin x d’où
dérivable sur R
00
f (x) + f (x) = (−2 cos x + 3 sin x) + (2 cos x − 3 sin x) = 0 ∀x ∈ R
I
Exemple
dy
La relation x2 +y 2 −25 = 0 est une solution implicite x+y dx = 0 sur I =]−5, 5[
2 2
En effet
√ sur I la relation x + y − 25 = 0 définit la fonction f donnée par
f (x) = 25 − x2 qui est dérivable sur I avec
x
f 0 (x) = − √ et x + f (x)f 0 (x) = x − x = 0 ∀x ∈ I
25 − x2
dy
Ainsi f est solution de x + y dx = 0 sur I d’où x2 + y 2 − 25 = 0 est une solution
dy
implicite de x + y dx = 0.
Remarque :
dy
De la relation x2 + y 2 + 25 = 0 on a par dérivation 2x + 2y dx = 0 c’est à dire
dy
x + y dx = 0 mais pour tout x ∈ R I
x2 + y 2 + 25 = 0 ⇒ 0 ≤ x2 + y 2 = −25 < 0
dy
ce qui est absurde. Ainsi x2 + y 2 + 25 = 0 n’est pas une solution de x + y dx =0
Nous laissons quelques exemples à l’appréciation du lecteur.
66
tel que f (1) = 4.
Nous pouvons vérifier que y(x) = −x2 + c est une famille à un paramètre de
solution de cette EDO. Déterminons cette constante c pour que y(1) = 4. Nous
obtenons l’equation −1 + c = 4 d’où c = 5. La solution f sera alors donnée par
f (x) = −x2 + 5
Le problème que nous venons de résoudre se note simplement
dy
dx = −2x
y(1) = 4
Exemple
De façon similaire on peut trouver la solution du problème du second ordre
suivant 2
d y
dx 2 + y = 0
y(1) = 3
0
y (1) = −4
qui est aussi problème de valeur initiale possedant une solution unique.
En effet la solution générale de cette EDO est connue et y(t) = a sin(t) + b cos(t).
Donc les contraintes donnent le système :
y(1) = 3 a sin(1) + b cos(1) = 3
⇔
y 0 (1) = −4 a cos(1) − b sin(1) = −4
qui est de Cramer car son déterminant D = − sin2 (1) − cos2 (1) = −1. On a donc
I 2.
une solution unique (a , b) ∈ R
Remarque :
Nous pouvons associer un autre type de contraintes à l’équation
d2 y
+y =0
dx2
que nous notons
d2 y
dx2+y =0
y(0) = 1
y( π2 ) = 5
Il s’agit ici d’un problème de valeur aux limites qui a aussi une solution unique
f (x) = cos(x) + 5 sin(x).
En effet les contraintes donnent
y(0) = 1 a sin(0) + b cos(0) = 1 b=1
⇔ ⇔
y( π2 ) = 5 a sin( π2 ) + b cos( π2 ) = 5 a=5
Nous devons cependant noter qu’un problème de valeurs aux limites n’est
pas à prendre à la légere car par exemple, le problème
2
d y
dx 2 + y = 0
y(0) = 1
y(π) = 5
67
n’a pas de solution car les contraintes conduisent au système :
y(0) = 1 a sin(0) + b cos(0) = 1 b=1
⇔ ⇔
y(π) = 5 a sin(π) + b cos(π) = 5 −b = 5
I p, p ≥
Définition 4.1.5 E est un espace vectoriel normé (par exemple E = R
1). Considérons l’équation différentielle ordinaire d’ordre 1
dy
= f (x, y) (4.5)
dx
où f est une fonction continue en (x, y) ∈ D, D un domaine de R I × E. Soit
(x0 , y0 ) ∈ D un point donné.
Le problème au valeur intiale ou problème de Cauchy associé à l’équation
(4.5) est dit problème de Cauchy d’ordre 1 et consiste en la recherche d’une
solution φ de l’équation différentielle (4.5) définie sur un intervalle I de R
I
contenant x0 à valeurs dans E et vérifiant
φ(x0 ) = y0
Exemple
On peut lister quelques problèmes de Cauchy que nous manipulerons par la
suite.
1. Un problème linéaire
du
= u + 1 pour 0 ≤ t ≤ 1
dt
u(0) = 0
68
3. Un système linéaire
d u v π
= pour 0 ≤ t ≤
dt v −u 2
u 0
(0) =
v 1
du
moyennant la variable intermédiaire v = .
dt
Exercice 39 Pour chacun des problèmes de Cauchy suivants, déterminer le
problème de Cauchy d’ordre 1 associé
1. 2
d u du
+ + u2 + 2t = 0 pour 0 ≤ t ≤ 1
dt2
dt
u(0) = 0
du
(0) = 0.21
dt
2.
3 2
3d u 2d u du
t − t + 3t − 4u = 5t3 ln t + 9t3 pour 1 ≤ t ≤ 2
dt 3 dt 2 dt
u(1) = 0
du d2 u
(1) = 1 (1) = 3
dt dt2
69
3.
d2 u
du dv
= −2 +u+3 + v + ln t pour 0 ≤ t ≤ 1
dt2 dt dt
d2 v du dv
= 5 + 2u + t − 3v − sin t
dt2
dt dt
du
u(0) = 1 (0) = 2
dt
v(0) = 3 dv
(0) = 4
dt
alors le problème de Cauchy (4.6), admet une et une seule solution φ définie un
intervalle fermé I ⊂ [a , b] contenant x0
Preuve
Cette démonstration, que l’on peut trouver dans un cours de calcul différentiel
en Licence, sort du cadre de la présente note de cours. (Pour une approche
élémentaire on peut se reférer au livre de Shepley L. Ross [7]).
Remarque :
La proposition a des déclinaisons plus faciles d’emploi comme la suivante, énoncée
dans le cas E = R I et dont nous ne donnerons pas non plus la démonstration.
70
Proposition 4.2.2 Si f est continue sur D = [a , b]×IR et si sa dérivée partielle
fy par rapport à sa seconde variable est continue sur D alors pour tout y0 ∈ R I
le problème de Cauchy
dy
dt = f (t , y) pour a ≤ t ≤ b
y(a) = y0
admet une solution unique φ définie sur [a , b].
Preuve
dy
Si φ est solution de l’équation différentielle dx = f (x, y) sur [α, β] alors pour
tout x ∈ [α, β] on a
dφ(x)
= f (x, φ(x))
dx
par intégration on a
Z x
φ(x) − φ(x0 ) = f (t, φ(t))dt
x0
71
L’approximation de l’intégrale détermine la méthode.
Exemple
1. La méthode de rectangle
Z t+h
f (s, x(s))ds = hf (t, x(t)) + E
t
2. La méthode de rectangle
Z t+h
f (s, x(s))ds = hf (t + h, x(t + h)) + E
t
72
4.3.1 Méthode d’Euler
Le but de la méthode d’Euler est de trouver une approximation du problème
de Cauchy dy
dt = f (t, y) t ∈ [a, b]
y(a) = α
h2 (2)
Si la solution est deux fois dérivable sur [a, b] alors l’erreur locale est 2 y (ξ)
avec ξ ∈]ti , ti+1 [
Preuve
Il découle immédiatement de la formule de Taylor - Lagrange de la page 7 pour
l’ordre n=1.
L’algorithme de la méthode d’Euler est le suivant :
real function f (t , y)
real t, y
integer k
begin
73
A definir
end
Exemple
Considérons le problème de Cauchy
0
y = y − t2 + 1 0≤t≤2
y(0) = 0.5
10
Déterminer une approximation (yi )i=0 de la solution sur un réseau régulier par
la méthode d’Euler.
On observe que N = 10 donc h = N2 = 0.2 et ti = 0.2i pour i = 1, . . . , 10.
On a alors l’expression
C’est une équation aux différences que nous savons pas toujours résoudre ex-
plicitement même dans un cas linéaire comme ici.
Remarque :
En pratique il n’est nullement nécessaire d’établir une relation de réccurence
avant de faire le calcul numérique de la solution en arithmétique finie qui est un
objectif de ce cours.
Exemple
En utilisant une arithmétique décimale arrondie à 4 chiffres, calculer sur une
grille uniforme de pas h = 0.2 par la méthode d’Euler la solution du problème
de Cauchy :
dy y y 2
= 1+ + pour 1 ≤ t ≤ 2
dt t t
y(1) = 0
y y 2
Soit f (t , y) = 1 + + .
t t
En notant ŷ(t) l’approximation de y(t), une itération de la méthode d’Euler
se traduit par : pour h = 0.2, t et ŷ(t) connus,
Ainsi on a la séquence :
74
1. Pour t = 1, ŷ(t) = 0 on a
ŷ(t)
t =0
f (t , ŷ(t)) = 1
hf (t , ŷ(t)) = 0.2
ŷ(t) + f (t , ŷ(t)) = 0 + 0.2 = 0.2
t + h = 1.2
ŷ(t + h) = 0.2
2. Pour t = 1.2, ŷ(t) = 0.2 on a
ŷ(t)
t = 0.1667
f (t , ŷ(t)) = 1 + (0.1667) + (0.1667)2 = 1.195
hf (t , ŷ(t)) = 0.2 ∗ 1.195 = 0.239
ŷ(t) + f (t , ŷ(t)) = 0.2 + 0.239 = 0.439
t + h = 1.4
ŷ(t + h) = 0.439
3. Pour t = 1.4, ŷ(t) = 0.439 on a
ŷ(t)
t = 0.3136
f (t , ŷ(t)) = 1 + (0.3136) + (0.3136)2 = 1.412
hf (t , ŷ(t)) = 0.2 ∗ 1.412 = 0.2824
ŷ(t) + f (t , ŷ(t)) = 0.439 + 0.2824 = 0.7214
t + h = 1.6
ŷ(t + h) = 0.7214
4. Pour t = 1.6, ŷ(t) = 0.7214 on a
ŷ(t)
t = 0.4509
f (t , ŷ(t)) = 1 + (0.4509) + (0.4509)2 = 1.654
hf (t , ŷ(t)) = 0.2 ∗ 1.654 = 0.3308
ŷ(t) + f (t , ŷ(t)) = 0.7214 + 0.3308 = 1.052
t + h = 1.8
ŷ(t + h) = 1.052
5. Pour t = 1.8, ŷ(t) = 1.052 on a
ŷ(t)
t = 0.5844
f (t , ŷ(t)) = 1 + (0.5844) + (0.5844)2 = 1.926
hf (t , ŷ(t)) = 0.2 ∗ 1.926 = 0.3852
ŷ(t) + f (t , ŷ(t)) = 1.052 + 0.385 = 1.437
t+h=2
ŷ(t + h) = 1.437
En résumé on a
t 1 1.2 1.4 1.6 1.8 2
ŷ(t) 0 0.2 0.439 0.7214 1.052 1.437
75
4.3.2 Majoration d’erreur de la méthode d’Euler
Cette majoration importante au plan théorique sera donnée à titre indicatif
et ne fera pas l’objet d’une démonstration dans ce cours.
Preuve
Application immédiate de Taylor-Lagrange (voir page 7)
76
Exemple
Considérons le problème de Cauchy
0
y = y − t2 + 1 0≤t≤2
y(0) = 0.5
10
Déterminer une approximation (yi )i=0 de la solution sur un réseau régulier :
1) par la méthode de Taylor d’ordre 2.
2) par la méthode de Taylor d’ordre 4.
et
0 2 00 3 000
T (4) = f (ti , yi ) + h2 f (ti , yi ) + h6 f (ti , yi ) + h24 f (ti , yi )
= yi − t2i + 1 + h2 (yi − t2i − 2t + 1)
2 3
+ h6 (yi − t2i − 2t − 1) + h24 (yi − t2i − 2t − 1)
2 3 2
h2 h3
= 1 + h2 + h6 + h24 (yi − t2i ) − 1 + h3 + h12 hti + 1 + h
2 − 6 − 24
= 1.107yi − 0.04428i2 − 0.0428i + 1.093
Comme on l’a déjà signalé plus haut, cette démarche est fastidueuse et ne
donne pas les résultats numériques.
L’algorithme de la méthode de Taylor d’ordre 3 par exemple, peut s’écrire :
77
real array (yi )n , (xi )n
function externe f , f1 , f2
real h, t0 , tf in , y0
integer k
begin
h ← (tf in − t0 )/(n − 1)
t ← t0
u ← y0
x1 ← t
y1 ← u
Ecrire t, u
for k = 2 to n do
begin
u1 ← f (t , u)
u2 ← f1 (t , u , u1 )
u3 ← f2 (t , u , u1 , u2 )
u ← u + h u1 + h u22 + u3
6 h
t←t+h
xk ← t
yk ← u
Ecrire t, u
end
end
real function f (t , y)
real t, y
integer k
begin
A definir
end
real function f1 (t , y , y1 )
real t, y, y1
integer k
begin
A definir
end
real function f2 (t , y , y1 , y2 )
real t, y, y1 , y2
integer k
begin
A definir
end
78
Donnons une illustration numérique des méthodes de Taylor en reprenant
l’exemple traité par la méthode d’Euler.
Exemple
On considère le problème de Cauchy
dy y y 2
= 1+ + pour 1 ≤ t ≤ 2
dt t t
y(1) = 0
79
ŷ(t)
y = t =0
y1 = 1 + y + y2 = 1
1
y2 = t (y1 − y)(1 + 2y)
= (1/1) ∗ (1 − 0) ∗ (1 + 2 ∗ 0) = 1
ŷ(t + h) = ŷ(t) + h(y1 + 0.5hy2 )
= 0 + 0.2 ∗ (1 + 0.1 ∗ 1.) = 0.22
t+h = 1.2
ŷ(t + h) = 0.22
(b) Pour t = 1.2, ŷ(t) = 0.22 on a
ŷ(t)
y = t = 0.22
1.2 = 0.1833
y1 = 1 + y(1 + y) = 1 + 0.1833 ∗ (1 + 0.1833) = 1.217
1
y2 = t (y1 − y)(1 + 2y)
= (1/1.2) ∗ (1.217 − 0.1833) ∗ (1 + 2 ∗ 0.1833) = 1.178
ŷ(t + h) = ŷ(t) + h(y1 + 0.5hy2 )
= 0.22 + 0.2 ∗ (1.178 + 0.1 ∗ 1.178) = 0.4792
t+h = 1.4
ŷ(t + h) = 0.4792
(c) Pour t = 1.4, ŷ(t) = 0.4792 on a
ŷ(t)
y = t = 0.4792
1.4 = 0.3423
y1 = 1 + y(1 + y) = 1 + 0.3423 ∗ (1 + 0.3423) = 1.459
1
y2 = t (y1 − y)(1 + 2y)
= (1/1.4) ∗ (1.459 − 0.3423) ∗ (1 + 2 ∗ 0.3423) = 1.344
ŷ(t + h) = ŷ(t) + h(y1 + 0.5hy2 ) = 0.4792 + 0.2 ∗ (1.459 + 0.1 ∗ 1.344) = 0.7978
t+h = 1.6
ŷ(t + h) = 0.7978
(d) Pour t = 1.6, ŷ(t) = 0.7978 on a
y = ŷ(t) 0.7978
t = 1.6 = 0.4986
y1 = 1 + y(1 + y) = 1 + 0.4986 ∗ (1 + 0.4986) = 1.747
y2 = 1t (y1 − y)(1 + 2y)
= (1/1.6) ∗ (1.747 − 0.4986) ∗ (1 + 2 ∗ 0.4986) = 1.558
ŷ(t) + h(y1 + 0.5hy2 )
= 0.7978 + 0.2 ∗ (1.747 + 0.1 ∗ 1.558) = 1.178
t + h = 1.8
ŷ(t + h) = 1.178
(e) Pour t = 1.8, ŷ(t) = 1.178 on a
80
ŷ(t)
y = t = 1.178/1.8 = 0.6544
y1 = 1 + y(1 + y) = 1 + 0.6544 ∗ (1 + 0.6544) = 2.082
1
y2 = t (y1 − y)(1 + 2y)
= (1/1.8) ∗ (2.082 − 0.6544) ∗ (1 + 2 ∗ 0.6544) = 1.832
ŷ(t) + h(y1 + 0.5hy2 )
= 1.178 + 0.2 ∗ (2.082 + 0.1 ∗ 1.832) = 1.631
t+h = 2
ŷ(t + h) = 1.631
On résume dans la table
t 1 1.2 1.4 1.6 1.8 2
ŷ(t) 0 0.22 0.4792 0.7978 1.178 1.631
2. une itération de la méthode de Taylor d’ordre 3 se traduit par :
pour h = 0.2, t et ŷ(t) connus,
81
ŷ(t)
y = t = 0.2212/1.2 = 0.1843
y1 = 1 + y(1 + y) = 1 + 0.1843 ∗ (1 + 0.1843) = 1.218
1
t1 = t = 1/1.2 = 0.8333
u = 1 + 2y = 1 + 2 ∗ 0.1843 = 1.368
u1 = y1 − y = 1.218 − 0.1843 = 1.034
y2 = t1 u1 u = 0.8333 ∗ 1.034 ∗ 1.368 = 1.178
y3 = t1 (y2 − 2t1 u1 )u + 2(t21 )(u21 )
= 0.8333 ∗ (1 − 2 ∗ 0.8333 ∗ 1.034) ∗ 1.368 + 2 ∗ (0.83332 ) ∗ (1.0342 )
= 0.66
ŷ(t + h) = ŷ(t) + h(y1 + h(0.5y2 + 0.1666hy3 ))
= 0.2212 + 0.2 ∗ (1.218 + 0.2 ∗ (0.5 ∗ 1.178 + 0.03332 ∗ 0.66))
= 0.4892
t+h = 1.4
ŷ(t + h) = 0.4892
(c) Pour t = 1.4, ŷ(t) = 0.4892 on a
ŷ(t)
y = t = 0.4892/1.4 = 0.3494
y1 = 1 + y(1 + y) = 1 + 0.3494 ∗ (1 + 0.3494) = 1.471
1
t1 = t = 1/1.4 = 0.7142
u = 1 + 2y = 1 + 2 ∗ 0.3494 = 1.698
u1 = y1 − y = 1.471 − 0.3494 = 1.122
y2 = t1 u1 u = 0.7142 ∗ 1.122 ∗ 1.698 = 1.360
y3 = t1 (y2 − 2t1 u1 )u + 2(t21 )(u21 )
= 0.7142 ∗ (1.360 − 2 ∗ 0.7142 ∗ 1.122) ∗ 1.698 + 2 ∗ (0.71422 ) ∗ (1.1222 )
= 0.99
ŷ(t + h) = ŷ(t) + h(y1 + h(0.5y2 + 0.1666hy3 ))
= 0.4892 + 0.2 ∗ (1.471 + 0.2 ∗ (0.5 ∗ 1.360 + 0.03332 ∗ 0.99))
= 0.8118
t+h = 1.6
ŷ(t + h) = 0.8118
(d) Pour t = 1.6, ŷ(t) = 0.8118 on a
82
ŷ(t)
y = t = 0.8118/1.6 = 0.5073
y1 = 1 + y(1 + y) = 1 + 0.5073 ∗ (1 + 0.5073) = 1.764
1
t1 = t = 1/1.6 = 0.625
u = 1 + 2y = 1 + 2 ∗ 0.5073 = 2.014
u1 = y1 − y = 1.764 − 0.5073 = 1.257
y2 = t1 u1 u = 0.625 ∗ 1.257 ∗ 2.014 = 1.582
y3 = t1 (y2 − 2t1 u1 )u + 2(t21 )(u21 )
= 0.625 ∗ (1.582 − 2 ∗ 0.625 ∗ 1.257) ∗ 2.014 + 2 ∗ (0.6252 ) ∗ (1.2572 )
= 1.247
ŷ(t + h) = ŷ(t) + h(y1 + h(0.5y2 + 0.1666hy3 ))
= 0.8118 + 0.2 ∗ (1.764 + 0.2 ∗ (0.5 ∗ 1.582 + 0.03332 ∗ 1.247))
= 1.197
t+h = 1.8
ŷ(t + h) = 1.197
(e) Pour t = 1.8, ŷ(t) = 1.197 on a
ŷ(t)
y = t = 1.197/1.8 = 0.665
y1 = 1 + y(1 + y) = 1 + 0.665 ∗ (1 + 0.665) = 2.107
1
t1 = t = 1/1.8 = 0.5555
u = 1 + 2y = 1 + 2 ∗ 0.665 = 2.33
u1 = y1 − y = 2.107 − 0.665 = 1.442
y2 = t1 u1 u = 0.5555 ∗ 1.442 ∗ 2.33 = 1.866
y3 = t1 (y2 − 2t1 u1 )u + 2(t21 )(u21 )
= 0.5555 ∗ (1.866 − 2 ∗ 0.5555 ∗ 1.442) ∗ 2.33 + 2 ∗ (0.55552 ) ∗ (1.4422 )
= 1.623
ŷ(t + h) = ŷ(t) + h(y1 + h(0.5y2 + 0.1666hy3 ))
= 1.197 + 0.2 ∗ (2.107 + 0.2 ∗ (0.5 ∗ 1.866 + 0.03332 ∗ 1.623))
= 1.657
t+h = 2
ŷ(t + h) = 1.657
On la résume dans la table
t 1 1.2 1.4 1.6 1.8 2
ŷ(t) 0 0.2212 0.4892 0.8118 1.197 1.657
83
4.4.1 Rappel de la formule de Taylor à deux variables
Théorème 4.4.1 Soit f une fonction réelle telle que f ainsi que ses dérivées
partielles jusqu’à l’ordre n + 1 sont continues sur
+ ...
hP n
i
1 n ∂ f
+ n! j=0 Cnj hn−j k j ∂tn−j ∂y j (t, y)
hP n+1
i
1 n+1 j ∂ f
+ (n+1)! j=0 Cn+1 hn−j+1 k j ∂tn−j+1 ∂y j (t + θh, y + θk)
Preuve
Soient (t , y) ∈ D et (h , k) ∈ R I 2 fixés tel que (t + h , y + k) ∈ D.
Il suffit d’appliquer le théorème de Taylor Lagrange de la page 7 à la fonction
réelle g définie sur [0 , 1] par
s ∈ [0 , 1] 7→ g(s) = f (t + sh , y + sk)
dl g
(s) = Dl f (t + sh , y + sk)
dtl
84
Ainsi
dl g
(0) = Dl f (t , y)
dtl
dn+1 g
(θ) = Dn+1 f (t + θh , y + θk)
dtn+1
Grâce au théorème de Schwarz on peut appliquer la formule du binôme de
Newton au développement des puissance Dl de D
Remarque :
En condensé la formule de Taylor peut s’écrire :
n
X 1
f (t + h , y + k) = f (t , y) + Dl f (t , y) + Dn+1 f (t + θh , y + θk)
(n + 1)!
l=1
85
Par identification on a
a+b = 1
h
bα = 2
h
bβ = 2 f (ti , y(ti ))
86
4, que la plus utilisée dite méthode de Runge Kutta d’ordre 4 classique
et qui mérite un tel effort. Elle peut s’écrire sous la forme :
y0 donné en t0
Pour tout i
K1 = hf (ti , yi )
K2 = hf (ti + 21 h , yi + 12 K1 )
K3 = hf (ti + 21 h , yi + 12 K2 )
K4 = hf (ti + h , yi + K3 )
1
y i+1 = yi + 6 [K1 + 2K2 + 2K3 + K4 ]
ti+1 = ti
87
K4 ← hf (t1 , u1 )
u ← u + 16 (K1 + 2K2 + 2K3 + K4 )
t←t+h
xk ← t
yk ← u
Ecrire t, u
end
end
real function f (t , y)
real t, y
integer k
begin
A definir
end
Remarque :
En théorie la structure d’une méthode de Runge Kutta d’ordre supérieur à 2
peut être très élaborée aussi bien implicite qu’explicite (amateur voir [4] !). Dans
la classe des structures explicites, les plus simples sont diagonales comme pour
le cas de la méthode de Runge Kutta d’ordre 4 classique. En général la structure
explicite est triangulaire inférieure.
Exemple
Pour le problème de Cauchy
dy
= f (t , y) pour a ≤ t ≤ b
dt
y(a) = α
on peut envisager les traitement par l’une des deux méthodes de Runge Kutta
d’ordre 3 suivantes :
1. t et ȳ(t) connus, une itération est donnée par
La structure de la méthode est diagonale : pour tout i > 1 seul Ki−1 est
utilisé pour calculer Ki .
2. t et ȳ(t) connus, une itération est donnée par
1
ȳ(t + h) = ȳ(t) + 30 (5K1 + 9K2 + 16K3 )
K1 = hf (t, ȳ(t))
(M2)
K2 = hf (t + 31 h, ȳ(t) + 13 K1 )
K3 = hf (t + 43 h, ȳ(t) − 163
K1 + 15
16 K2 )
88
La structure de la méthode est triangulaire inférieure : pour tout i > 1 on
utilise K1 à Ki−1 pour calculer Ki .
Remarque :
Outre l’utilisation concrète d’un algorithme de Runge Kutta nous devons être
capable d’analyser sa précision c’est à dire le comparer à la méthode de Taylor
du même ordre.
Exemple
Considérons le problème de Cauchy
dy y y 2
= 1+ + pour 1 ≤ t ≤ 2
dt t t
y(1) = 0
89
t1 = t=1
y1 = ŷ(t) = 0
y1
u = t1 = 0/1 = 0
f (t , y1 ) = 1 + u(1 + u) = 1 + 0 ∗ (1 + 0) = 1
K1 = hf (t , y1 ) = 0.2 ∗ 1 = 0.2
t1 = t + 0.5h = 1 + 0.1 = 1.1
y1 = ŷ(t) + 0.5K1 = 0 + 0.5 ∗ 0.2 = 0.1
y1
u = t1 = 0.1/1.1 = 0.09091
f (t , y1 ) = 1 + u(1 + u) = 1 + 0.09091 ∗ (1 + 0.09091) = 1.099
K2 = hf (t , y1 ) = 0.2 ∗ 1.099 = 0.2198
t1 = t + 0.75h = 1 + 0.15 = 1.15
y1 = ŷ(t) + 0.5K2 = 0 + 0.75 ∗ 0.2198 = 0.1649
y1
u = t1 = 0.1649/1.15 = 0.1434
f (t , y1 ) = 1 + u(1 + u) = 1 + 0.1434 ∗ (1 + 0.1434) = 1.164
K3 = hf (t , y1 ) = 0.2 ∗ 1.164 = 0.2328
K = 2K1 + 3K2 + 4K3 = 2 ∗ 0.2 + 3 ∗ 0.2198 + 4 ∗ 0.2328 = 1.99
ŷ(t + h) = ŷ(t) + 19 K = 0 + (1/9) ∗ 1.99 = 0.2211
t+h = 1.2
ŷ(t + h) = 0.2211
(b) Pour t = 1.2, ŷ(t) = 0.2211 on a
t1 = t = 1.2
y1 = ŷ(t) = 0.2211
y1
u = t1 = 0.2211/1.2 = 0.1843
f (t , y1 ) = 1 + u(1 + u) = 1 + 0.1843 ∗ (1 + 0.1843) = 1.218
K1 = hf (t , y1 ) = 0.2 ∗ 1.218 = 0.2436
t1 = t + 0.5h = 1.2 + 0.1 = 1.3
y1 = ŷ(t) + 0.5K1 = 0.2211 + 0.5 ∗ 0.2436 = 0.3429
y1
u = t1 = 0.3429/1.3 = 0.2638
f (t , y1 ) = 1 + u(1 + u) = 1 + 0.2638 ∗ (1 + 0.2638) = 1.333
K2 = hf (t , y1 ) = 0.2 ∗ 1.333 = 0.2666
t1 = t + 0.75h = 1.2 + 0.15 = 1.35
y1 = ŷ(t) + 0.5K2 = 0.2211 + 0.75 ∗ 0.2666 = 0.4211
y1
u = t1 = 0.4211/1.35 = 0.3119
f (t , y1 ) = 1 + u(1 + u) = 1 + 0.3119 ∗ (1 + 0.3119) = 1.409
K3 = hf (t , y1 ) = 0.2 ∗ 1.409 = 0.2818
K = 2K1 + 3K2 + 4K3 = 2 ∗ 0.2436 + 3 ∗ 0.2666 + 4 ∗ 0.2818 = 2.414
ŷ(t + h) = ŷ(t) + 19 K = 0.2211 + (1/9) ∗ 2.414 = 0.4893
t+h = 1.4
ŷ(t + h) = 0.4893
(c) Pour t = 1.4, ŷ(t) = 0.4893 on a
90
t1 = t = 1.4
y1 = ŷ(t) = 0.4893
y1
u = t1 = 0.4893/1.4 = 0.3495
f (t , y1 ) = 1 + u(1 + u) = 1 + 0.3495 ∗ (1 + 0.3495) = 1.472
K1 = hf (t , y1 ) = 0.2 ∗ 1.472 = 0.2944
t1 = t + 0.5h = 1.4 + 0.1 = 1.5
y1 = ŷ(t) + 0.5K1 = 0.4893 + 0.5 ∗ 0.2944 = 0.6365
y1
u = t1 = 0.6365/1.5 = 0.4243
f (t , y1 ) = 1 + u(1 + u) = 1 + 0.4243 ∗ (1 + 0.4243) = 1.604
K2 = hf (t , y1 ) = 0.2 ∗ 1.604 = 0.3208
t1 = t + 0.75h = 1.4 + 0.15 = 1.55
y1 = ŷ(t) + 0.5K2 = 0.4893 + 0.75 ∗ 0.3208 = 0.7299
y1
u = t1 = 0.7299/1.55 = 0.4709
f (t , y1 ) = 1 + u(1 + u) = 1 + 0.4709 ∗ (1 + 0.4709) = 1.693
K3 = hf (t , y1 ) = 0.2 ∗ 1.693 = 0.3386
K = 2K1 + 3K2 + 4K3 = 2 ∗ 0.2944 + 3 ∗ 0.3208 + 4 ∗ 0.3386 = 2.905
ŷ(t + h) = ŷ(t) + 19 K = 0.4893 + (1/9) ∗ 2.905 = 0.8121
t+h = 1.6
ŷ(t + h) = 0.8121
(d) Pour t = 1.6, ŷ(t) = 0.8121 on a
t1 = t = 1.6
y1 = ŷ(t) = 0.8121
y1
u = t1 = 0.8121/1.6 = 0.5076
f (t , y1 ) = 1 + u(1 + u) = 1 + 0.5076 ∗ (1 + 0.5076) = 1.766
K1 = hf (t , y1 ) = 0.2 ∗ 1.766 = 0.3532
t1 = t + 0.5h = 1.6 + 0.1 = 1.7
y1 = ŷ(t) + 0.5K1 = 0.8121 + 0.5 ∗ 0.3532 = 0.9887
y1
u = t1 = 0.9887/1.7 = 0.5816
f (t , y1 ) = 1 + u(1 + u) = 1 + 0.5816 ∗ (1 + 0.5816) = 1.92
K2 = hf (t , y1 ) = 0.2 ∗ 1.92 = 0.384
t1 = t + 0.75h = 1.6 + 0.15 = 1.75
y1 = ŷ(t) + 0.5K2 = 0.8121 + 0.75 ∗ 0.384 = 1.100
y1
u = t1 = 1.100/1.75 = 0.6286
f (t , y1 ) = 1 + u(1 + u) = 1 + 0.6286 ∗ (1 + 0.6286) = 2.024
K3 = hf (t , y1 ) = 0.2 ∗ 2.024 = 0.4048
K = 2K1 + 3K2 + 4K3 = 2 ∗ 0.3532 + 3 ∗ 0.384 + 4 ∗ 0.4048 = 3.477
ŷ(t + h) = ŷ(t) + 19 K = 0.8121 + (1/9) ∗ 3.477 = 1.198
t+h = 1.8
ŷ(t + h) = 1.198
(e) Pour t = 1.8, ŷ(t) = 1.198 on a
91
t1 = t = 1.8
y1 = ŷ(t) = 1.198
y1
u = t1 = 1.198/1.8 = 0.6656
f (t , y1 ) = 1 + u(1 + u) = 1 + 0.6656 ∗ (1 + 0.6656) = 2.109
K1 = hf (t , y1 ) = 0.2 ∗ 2.109 = 0.4218
t1 = t + 0.5h = 1.8 + 0.1 = 1.9
y1 = ŷ(t) + 0.5K1 = 1.198 + 0.5 ∗ 0.4218 = 1.409
y1
u = t1 = 1.409/1.9 = 0.7416
f (t , y1 ) = 1 + u(1 + u) = 1 + 0.7416 ∗ (1 + 0.7416) = 2.292
K2 = hf (t , y1 ) = 0.2 ∗ 2.292 = 0.4584
t1 = t + 0.75h = 1.8 + 0.15 = 1.95
y1 = ŷ(t) + 0.5K2 = 1.198 + 0.75 ∗ 0.4584 = 1.542
y1
u = t1 = 1.542/1.95 = 0.7908
f (t , y1 ) = 1 + u(1 + u) = 1 + 0.7908 ∗ (1 + 0.7908) = 2.416
K3 = hf (t , y1 ) = 0.2 ∗ 2.416 = 0.4832
K = 2K1 + 3K2 + 4K3 = 2 ∗ 0.4218 + 3 ∗ 0.4584 + 4 ∗ 0.4832 = 4.152
ŷ(t + h) = ŷ(t) + 19 K = 1.198 + (1/9) ∗ 4.152 = 1.659
t+h = 2
ŷ(t + h) = 1.659
En résumé on a
t 1 1.2 1.4 1.6 1.8 2
ŷ(t) 0 0.2211 0.4893 0.8121 1.198 1.659
2. Analyse de précision
Pour l’EDO y 0 = f (t , y) et connaissant à la date t la solution y(t) :
La méthode de Taylor d’ordre 3 s’écrit
1 1
ytaylor (t + h) = y(t) + hy 0 (t) + hy 00 (t) + hy 000 (t)
2 6
avec 0
y (t) = f (t , y(t)) ≡ f
y 00 (t) = ft + f fy (4.9)
000
y (t) = ftt + 2f fty + f 2 fyy + (ft + f fy )fy
La méthode RK3 s’écrit
1
ŷ(t + h) = y(t) + (2K1 + 3K2 + 4K3 )
9
avec
K1 = hf (t , y(t)) ≡ hf
= hf t + 21 h , y(t) + 12 K1
K2
K3 = hf t + 34 h , y(t) + 34 K2
f (t + α , y + β) = f (t , y) + (αft + βfy )
+ 21 α2 ftt + 2αβfty + β 2 fyy + . . .
92
f t + 12 h , y(t) + 12 K1 = f (t , y) + 12 hft + 12 K1 fy
K1 = hf ⇒ hK1 = h2 f et K12 = h2 f 2
f t + 12 h , y(t) + 21 K1 = f (t , y) + 12 hft + 21 hf fy
= f (t , y) + 12 h(ft + f fy )
+ 18 h2 ftt + 2f fty + f 2 fyy + O(h3 )
K2 = hf (t , y) + 12 h2 (ft + f fy )
+ 18 h3 ftt + 2f fty + f 2 fyy + O(h4 )
f t + 34 h , y(t) + 34 K2 = f (t , y) + 43 hft + 34 K2 fy
+ 12 16
9 2 18 9
h ftt + 16 hK2 fty + 16 K22 fyy + . . .
Avec f (t , y) ≡ f on a
K2 = hf + 12 h2 (ft + f fy )
1 3 2
4
+ 8 h ftt + 2f fty + f fyy + O(h )
⇓
hK2 = h2 f + 12 h3 (ft + f fy ) + O(h4 )
h2 K2 = h3 f + O(h4 )
K22 = h2 f 2 + h3 ft + f 2 fy + O(h4 )
hK22 = h3 f 2 + O(h4 )
f t + 43 h , y(t) + 34 K2 3
+ 34 K2 fy
= f+ 4 hft
1 9 2
+ 18 9 2
+ 2 16 h ftt 16 hK2 fty + 16 K2 fyy + ...
hf + 34 h2 ft + 34 hK2 fy
K3 =
1 9 3 18 2 9 2
+ 2 16 h ftt + 16 h K2 fty + 16 hK2 fyy + . ..
= hf + 34 h2 ft + 34 h2f + 12 h3 (ft + f fy ) fy
1 9 3 18 3 9 3 2
+ 2 16 h ftt + 16 h f fty + 16 h f fyy + . . .
3 2 3 3
= hf + 4 h (ft + f fy ) + 8 h(ft + f fy )fy
9 3 2 4
+ 32 h ftt + 2f fty + f fyy + O(h )
= (2 + 3 + 4)hf + 23 + 12
2
2K1 + 3K2 + 4K3 4 h (ft + f fy )
12 3
+ 8 h (f t 3+ f fy )fy
3 36 2
4
+ 8 + 32 h ftt + 2f fty + f fyy + O(h )
9 2
= 9hf + 2 h (ft + f fy )
+ 32 h3 (ft + f fy )fy + 32 h3 ftt + 2f fty + f 2 fyy + O(h4 )
= 9hf + 92 h2 (ft + f fy )
+ 32 h3 ftt + 2f fty + f 2 fyy + (ft + f fy )fy + O(h4 )
93
En utilisant l’équation 4.9 on obtient
Supposons que pour calculer yi+1 on ait besoin de connaı̂tre yi−k+1 , yi−k+2 , . . . , yi−1 , yi
les k valeurs précédentes, on dit qu’on a une méthode multipas ou plus précisement
94
une méthode à k pas. Pour les méthodes de Runge Kutta et de Taylor on n’a
eu besoin que de yi ; ce sont des méthodes à un pas.
On a deux classes de méthodes multipas selon que l’interpolation de f (t , y(t))
utilise ou non le point (ti+1 , yi+1 ) qui est, pour l’heure, inconnu.
– Les méthodes explicites n’utilisent pas le point (ti+1 , yi+1 )
– Les méthodes implicites par contre qui utilisent le point (ti+1 , yi+1 )
Pour les méthodes à k pas, l’interploant P est un polynôme de degré inférieur
k et
P
k
j=1 cj fi−j+1 explicite
Z ti+1
P (t)dt = avec fl = f (tl , yl )∀l
ti Pk c f
implicite
j=1 j i−j+2
où c1 , c2 , . . . , ck sont déterminés pour que la formule soit exacte pour tout
polynôme de degré inférieur k
En observant que sur un réseau régulier de pas h et que
Z ti+1 Z 1
P (t)dt = h P (ti + hs)ds
ti 0
1
R1 Pk i−j
si−1 ds =
i ≡ 0 j=1 cj (1 − j) ∀i = 2, . . . , k
1
R1 Pk i−j
si−1 ds =
i ≡ 0 j=1 cj (2 − j) ∀i = 2, . . . , k
95
pas de y(ti ), solution du problème de Cauchy. La méthode d’Adams-Bashford
à 2 pas est donnée par :
y0 = α0
y1 = α1
∀i = 1, . . . , N − 1
yi+1 = yi + 12 h [3f (ti , yi ) − f (ti−1 , yi−1 )]
5 3 (3)
Si la solution est 3 fois dérivable sur [a, b] alors l’erreur locale est 12 h y (ξ)
avec ξ ∈]ti−1 , ti+1 [.
3 4 (4)
Si la solution est 4 fois dérivable sur [a, b] alors l’erreur locale est 8h y (ξ)
avec ξ ∈]ti−2 , ti+1 [.
96
x3 ← t
y3 ← u
Ecrire t, u
for k = 4 to n do
begin
Km0 ← hf (t , u)
1
u ← u + 12 (23Km0 − 16Km1 + 5Km2 )
Km2 ← Km1
Km1 ← Km0
t←t+h
xk ← t
yk ← u
Ecrire t, u
end
end
real function f (t , y)
real t, y
integer k
begin
A definir
end
Exemple
Considérons le problème de Cauchy
dy y y 2
= 1+ + pour 1 ≤ t ≤ 2
dt t t
y(1) = 0
En utilisant une arithmétique décimale arrondie à 4 chiffres calculer une ap-
proximation de y(1.6) sur une grille uniforme de pas h = 0.2 par la méthode
d’Adams-Bashford à 3 pas en amorçant par deux itérations de la méthode RK3
définie pour une EDO y 0 = f (t , y) par :
t et ȳ(t) connus, une itération est donnée par
1
ȳ(t + h) = ȳ(t) + 9 (2K1 + 3K2 + 4K3 )
K1 = hf (t, ȳ(t))
(RK3)
K2 = hf (t + 21 h, ȳ(t) + 12 K1 )
K3 = hf (t + 43 h, ȳ(t) + 34 K2 )
y y 2
Soit f (t , h) = 1 + +
t t
Une itération de la méthode d’Adams-Bashford à 3 pas se traduit par :
pour h = 0.2, t, ŷ(t − 2h), ŷ(t − h) et ŷ(t) donnés
1
ŷ(t+h) = ŷ(t)+ h [23f (t , ŷ(t)) − 16f (t − h , ŷ(t − h)) + 5f (t − 2h , ŷ(t − 2h))]
12
97
Ainsi pour calculer ŷ(1.6) l’approximation de y(1.6) par la la méthode d’Adams-
Bashford à 3 pas, on a besoin de :
ŷ(1.6 − 3h) = ŷ(1) = y(1) donné
ŷ(1.6 − 2h) = ŷ(1.2) à calculer
ŷ(1.6 − h) = ŷ(1.4) à calculer
L’armorceur RK3 va donc nous fournir ŷ(1.2) et ŷ(1.4) avant la mise en œuvre
de la d’Adams-Bashford à 3 pas.
Nous raccourcissons ici le développement en empruntant ces résultats à un
exemple précédent où nous avons travaillé avec la même machine arithmétique
et le même algorithme numérique. On a donc ŷ(1.2) = 0.2211 et ŷ(1.4) = 0.4893
1. Calcul de solution approchée ŷ(1.6)
Pour t = 1.4
t1 = = t − 2h = 1.4 − 0.4 = 1
y1 = ŷ(t − 2h) = ŷ(1) = 0
u = yt11 = 0/1 = 0
Km2 = f (t1 , y1 ) = 1 + u ∗ (1 + u) = 1 + 0 ∗ (1 + 0) = 1
t1 = = t − h = 1.4 − 0.2 = 1.2
y1 = ŷ(t − h) = ŷ(1.2) = 0.2211
u = yt11 = 0.2211/1.2 = 0.1843
Km1 = f (t1 , y1 ) = 1 + u ∗ (1 + u) = 1 + 0.1843 ∗ (1 + 0.1843) = 1.218
t1 = = t = 1.4
y1 = ŷ(t) = ŷ(1.4) = 0.4893
u = yt11 = 0.4893/1.4 = 0.3495
Km0 = f (t1 , y1 ) = 1 + u ∗ (1 + u) = 1 + 0.3495 ∗ (1 + 0.3495) = 1.472
K = h(23Km0 − 16Km1 + 5Km2 ) = 0.2 ∗ (23 ∗ 1.472 − 16 ∗ 1.218 + 5 ∗ 1) = 3.874
1
ŷ(t + h) = ŷ(t) + 12 K = 0.4893 + (1/12) ∗ 3.874 = 0.8121
t + h = 1.6
ŷ(t + h) = 0.8121
On a ŷ(1.6) = 0.8121
98
pas de y(ti ), solution du problème de Cauchy. La méthode d’Adams-Moulton
à 2 pas est donnée par :
y0 = α0
y1 = α1
∀i = 1, . . . , N − 1
1
yi+1 = yi + 12 h [5f (ti+1 , yi+1 ) + 8f (ti , yi ) − f (ti−1 , yi−1 )]
1 4 (4)
Si la solution est 4 fois dérivable sur [a, b] alors l’erreur locale est − 24 h y (ξ)
avec ξ ∈]ti−1 , ti+1 [.
19 5 (5)
Si la solution est 5 fois dérivable sur [a, b] alors l’erreur locale est − 720 h y (ξ)
avec ξ ∈]ti−2 , ti+1 [.
Exemple
Considérons le problème de Cauchy
dy y y 2
= 1+ + pour 1 ≤ t ≤ 2
dt t t
y(1) = 0
99
Ceci équivaut à l’équation
5
0 = −ŷ(t + h) + 12 hf (t + h , ŷ(t + h))
1
+ ŷ(t) + 12 h [+8Km0 − Km1 ]
m
5h 1 2 5h 1
0 = 12 (t+h)2 ŷ (t + h) + 12 (t+h) − 1 ŷ(t + h)
5h h
+ 12 + ŷ(t) + 12 [+8Km0 − Km1 ]
100
4.6 Méthodes prédicteur-correcteur
Dans une méthode prédicteur-correcteur on utilise une combinaison d’une
méthode explicite, le prédicteur et d’une méthode implicite de même ordre , le
correcteur.
La méthode explicite prédit une approximation que vient corriger la méthode
implicite. On peut citer les exemples suivantes.
Exemple
Dans ce exemple on utilise la méthode d’Euler comme prédicteur et la méthode
d’Euler implicite est la correctrice. Cela donne :
y0 = α0
∀i = 0, . . . , N − 1
ȳi+1 = yi + hf (ti , yi )
yi+1 = yi + hf (ti+1 , ȳi+1 )
101
La solution exacte y(t) dépend de la valeur initiale s donc nous pouvons l’ecrire
sous la forme y(t , s). Ainsi l’équation différentielle donne une famille de solu-
tions dépendant du paramètre s. Comme tout calcul sur ordinateur est toujours
entaché d’une certaine erreur d’arrondis, on est endroit de se demander ce que
adviendrait de la solution exacte si la valeur initiale est affectée d’une erreur
d’arrondis ?
Par un développement en serie de Taylor si s devient s + δs, on a
∂ 1 ∂2
y(t , s + δs) = y(t , s) + δs y(t , s) + δs2 2 y(t , s) + . . .
∂s 2 ∂s
ainsi
∂ 1 ∂2 ∂
|y(t , s + δs) − y(t , s)| = δs y(t , s) + δs2 2 y(t , s) + . . . ≈ δs y(t , s)
∂s 2 ∂s ∂s
∂ ∂ ∂ ∂
y(t , s) = f (t , y(t, s)) ⇒ y(t , s) = f (t , y(t, s))
∂t ∂s ∂t ∂s
Or
∂ ∂ ∂t ∂
f (t , y(t, s)) = fy (t , y(t, s)) y(t, s)+ft (t , y(t, s)) = fy (t , y(t, s)) y(t, s)
∂s ∂s ∂s ∂s
Donc en posant
Z t
∂
u(t) = y(t, s) , q(t) = fy (t , y(t, s)) et Q(t) = q(r)dr
∂s a
Supposons qu’il existe γ > 0 tel que 0 < γ < q(t) pour tout t > a. Alors on
a Z t Z t
Q(t) = q(r)dr > γdr = γ(t − a)
a a
puis
|y(t , s + δs) − y(t , s)| ≈ |δs u(t)| > |δs c| eγ(t−a) → ∞
lorsque t → ∞. On observe une divergence des solutions
Supposons qu’il existe γ > 0 tel que q(t) < −γ < 0 pour tout t > a. Alors
on a Z t Z t
Q(t) = q(r)dr < − γdr = −γ(t − a)
a a
puis
|y(t , s + δs) − y(t , s)| ≈ |δs u(t)| < |δs c| e−γ(t−a) → 0
102
lorsque t → ∞. On a convergence des deux solutions
Exemple
Considérons le problème de Cauchy x0 = x avec x(a) = s. On a sur ]a, ∞[, une
famille de solutions x(t) = se(t−a) . Ces solutions divergent.
Exemple
Considérons le problème de Cauchy x0 = −x avec x(a) = s. On a sur ]a, ∞[,
une famille de solutions x(t) = se(a−t) . Ces solutions convergent.
103
4.9 Travaux Pratiques
Cette section réunit des exercices de programmation dans un environnement
de travail comme le SciLab.
x1 (0) = 1000
x2 (0) = 500
x1 (0) = 10000
x2 (0) = 10000
104
Chapitre 5
Rappel et complément
d’algèbre linéaire
5.1.1 Vecteurs
Définition
I N l’ensemble des vecteurs x de composantes x1 , x2 , . . . , xN ∈
On désignera par K
K
I .
I N on définit deux opérations
Sur K
addition z =x+y définie par zi = xi + yi 1 ≤ i ≤ N
multiplication par un scalaire z = λx définie par zi = λxi 1 ≤ i ≤ N
105
On remarque qu’en posant
1 0 0
0 1 0
e1 = . , e2 = . , . . . , eN =
..
.. ..
.
0 0 1
N
X
x= xi ei
i=1
et l’ensemble des N vecteurs (e1 , e2 , . . . , eN ) est appelé base canonique S de
I N.
K
On dit qu’un sous ensemble ∅ =6 F ⊂E =K I N est sous espace vectoriel de
E si
∀x, y ∈ F x+y ∈F
∀x ∈ F, ∀λ ∈ K I λx ∈ F
On a l’inégalité de Schwarz
|(x|y)| ≤ kxk2 kyk2
106
Orthogonalité
Soit E un espace vectoriel sur K
I muni d’un produit scalaire
Deux vecteurs x et y sont dits orthogonaux si (x|y) = 0. Dans ce cas on a
Théorème de Pythagore
2 2 2
kx + yk2 = kxk2 + kyk2
Remarque :
F étant sous espace vectoriel de E, on a E = F ⊕F ⊥ . Un ensemble {v1 , v2 , . . . , vk }
de vecteurs de l’espace vectoriel E est dit orthonormal si
Comb(f1 , f2 , . . . , fk ) = Comb(p1 , p2 , . . . , pk )
5.1.2 Matrices
Définition
Soient E et F deux espaces vectoriels sur le même corps KI .
Une application f de E dans F est dite linéaire si on a les deux propriétés
suivantes :
∀x, y ∈ E f (x + y) = f (x) + f (y)
∀x ∈ E, ∀λ ∈ K
I f (λx) = λf (x)
On notera L(E, F ) l’ensemble des applications linéaires de E dans F .
L(E) = L(E, E) est l’ensemble des endomorphismes de E
107
Dans L(E, F ) on définit deux opérations :
f + g par (f + g)(x) = f (x) + g(x) ∀x ∈ E
λf par (λf )(x) = λf (x) ∀x ∈ E, ∀λ ∈ K
I
Symboliquement on ecrit y = Ax
La matrice A représentant l’application linéaire f ∈ L(E, F ) relativement
N
aux bases (E, F) est la donnée d’un élément de K I M I M ×N
≡K
Soit
a11 a12 a1N
a21 a22 a2N
a1 = . a2 = . , . . . , aN = . ∈K I M
.. .. ..
aM 1 aM 2 aM N
108
Remarque :
L’équation Ax = b admet au moins une solution si et seulement si rg(A) = M
On appelle noyau de A, le sous espace vectoriel
n o
KerA = x ∈ K I N , tel que Ax = 0
Remarque :
L’équation Ax = b admet au plus une solution si KerA = {0}
I M ×N on a
Pour toute matrice A ∈ K
rg(A) + dim(KerA) = N
I M ×N et B = (bij ) ∈ R
Exercice 48 Montrer que si A = (aij ) ∈ R I N ×M ,
B = At ⇔ ∀(i, j) bij = aji 1 ≤ i ≤ N, 1 ≤ j ≤ M
Soit la matrice A ∈ C I M ×N , on appelle matrice adjointe de A l’unique
∗ N ×M
matrice A ∈ C
I définie par :
(Ax|y)M = (x|A∗ y)N I N , ∀y ∈ C
∀x ∈ C IM
I M ×N et B = (bij ) ∈ C
Exercice 49 Montrer que si A = (aij ) ∈ C I N ×M ,
B = A∗ ⇔ ∀(i, j) bij = āji 1 ≤ i ≤ N, 1 ≤ j ≤ M
I M ×N alors on a
Exercice 50 Montrer que si A ∈ K
⊥ ⊥
KerA∗ = (ImA) et ImA∗ = (KerA)
Produit de matrices
Le produit matriciel correspond à la composition des applications linéaires.
I M ×P et B ∈ K
Pour A ∈ K I P ×N on définit la matrice produit
M ×N
C = A.B ∈ K
I par
P
X
cij = aik bkj , 1 ≤ i ≤ M, 1 ≤ j ≤ N
k=1
Remarque :
Le produit matriciel est associatif mais non commutatif.
t
I M ×P et B ∈ K
Exercice 51 Pour A ∈ K I P ×N , montrer que (A.B) = B t .At et
∗ ∗ ∗
(A.B) = B .A
109
Sous matrices
On appelle sous matrice d’une matrice A = (aij ) ∈ K I M ×N toute matrice de
la forme :
ai1 j1 ai1 j2 . . . ai1 jq
ai2 j1 ai2 j2 . . . ai2 jq
.. .. ..
. . .
aip j1 aip j2 . . . aip jq
où les entiers ik et jl vérifient
Remarque :
Une sous matrice de A s’obtient par suppression de lignes ou de colonne de A.
Soient E et F deux espaces vectoriels de dimensions finies avec les décompositions
en sommes directes suivantes :
E = E1 ⊕ E2 ⊕ . . . ⊕ EN , F = F1 ⊕ F2 ⊕ . . . ⊕ FM
Chaque AIJ est une sous matrice de type (mI , nJ ) représentant une application
linéaire de EJ dans FI
Soit A = (AIK ) et B = (BKJ ) deux matrices décomposées par blocs avec la
même décomposition en K. Alors on a le produit par bloc
X
A.B = (CIJ ) avec CIJ = AIK BKJ
K
Le produit par bloc s’étend au produit matrice vecteur qui est un cas parti-
culier du produit matriciel.
110
Matrice inversible
Une matrice A est dite inversible s’il existe une (et une seule) matrice notée
A−1 appelée inverse de A, telle que A.A−1 = A−1 .A = I. Dans le cas contraire
on dit que A est singulière.
Changement de base
I N Soit E 0 = (e01 , e02 , . . . , e0N ) une
Soit E = (e1 , e2 , . . . , eN ) une base de K
N
nouvelle base de K
I
Soit S la matrice carrée définie par
ei = S −1 e0i 1≤i≤N
A0 = T −1 AS
Matrices spéciales
I N ×N est dite :
Une matrice A ∈ K
111
unitaire si AA∗ = A∗ A = I
normale si AA∗ = A∗ A
définie positive si (Ax|x) > 0 I N
0 6= x ∈ K
P
à diagonale dominante si |aii | > j6=i |aij | ∀i
permutation si A = (eσ(1) , . . . , eσ(N ) ) où σ une permutation
de (1, 2, . . . , N )
diagonale si aij = 0 lorsque i 6= j
tridiagonale si aij = 0 lorsque |i − j| > 1
bidiagonale supérieure si aij = 0 lorsque i > jou j > i + 1
triangulaire supérieure si aij = 0 lorsque i > j
hessenberg supérieure si aij = 0 lorsque i > j + 1
det(A) = a si I 1×1
A = (a) ∈ K
N
X j+1
det(A) = (−1) a1j det(A1j )
j=1
det(I) =1
det(At ) = det(A)
det(A∗ ) = det(A)
det(αA) = αN det(A) où α ∈ KI
det(AB) = det(A)det(B)
det(A−1 ) = det(A)
1
si A−1 existe
Remarque :
On montre que σ désignant une permutation de (1, 2, . . . , N ) et εσ sa signature,
on a
X Y N
detA) = εσ aσ(i)i
σ i=1
Valeurs propres
I N ×N .
Soit A ∈ K
112
On appelle valeur propre de A, le nombre λ ∈ C IN
I tel qu’il existe 0 6= x ∈ C
vérifiant Ax = λx. le vecteur x est alors appelé vecteur propre associé à λ.
On appelle élément propre de A un couple (λ, x) ∈ C I ×C I N où λ est valeur
propre et x vecteur propre associé.
On appelle spectre de A l’ensemble sp(A) de ses valeurs propres. Le rayon
spectral de A est le réel
ρ(A) = max |λ|
λ∈sp(A)
Remarque :
Si (λ, x) est un élément propre de A alors 0 6= x ∈ Ker(A − λI). Ainsi la
matrice A − λI est singulière. En particulier si 0 est valeur propre de A alors A
est singulière.
On appelle polynôme caractéristique d’une matrice carrée A l’application
pA : λ ∈ C
I 7→ pA (λ) = det(A − λI)
Remarque :
On montre que pour sp(A) = {λi , 1 ≤ i ≤ N } on a :
N
X N
Y
tr(A) = λi et det(A) = λi
i=1 i=1
Remarque :
I M ×N . On appelle valeur singulière de A la racine carrée d’une valeur
Soit A ∈ K
propre de la matrice hermitienne A∗ A
Montrer que
N
[
λ ∈ sp(A) ⇒ λ ∈ Dk
k=1
113
5.1.5 Réduction de matrices
Théorème 5.1.1 (1) Etant donné une matrice carrée A, il existe une matrice
unitaire U telle que la matrice U −1 AU soit triangulaire.
(2) Etant donné une matrice normale A, il existe une matrice unitaire U
telle que la matrice U −1 AU soit diagonale.
(3) Etant donné une matrice symétrique A, il existe une matrice orthogonale
O telle que la matrice O−1 AO soit diagonale.
Preuve
La démontration est laissée en exercice.
Théorème 5.1.2 Si A une matrice carrée réelle, il existe deux matrices or-
thogonales U et V telles que
U t AV = diag(µi )
Preuve
La démontration est laissée en exercice.
1) kxk = 0 ⇔ x = 0 et kxk ≥ 0 ∀x ∈ E
2) kαxk = |α| kxk ∀α ∈ KI , ∀x ∈ E
3) kx + yk ≤ kxk + kyk ∀x, y ∈ E
Exemple
I N nous utiliserons couramment les normes suivantes :
Sur E = K
PN
1) x 7→ kxk1 = q i=1 |xi |
PN 2
2) x 7→ kxk2 = i=1 |xi |
3) x 7→ kxk∞ = max1≤i≤N |xi |
114
I N . Montrer que pour tout réel p ≥ 1 l’application k.kp
Exercice 56 Soit E = K
définie par :
N
! p1
X p
kxkp = |xi |
i=1
I N.
Considerons une suite (x(n) ) d’éléments de E = K
On dit que la suite tend vers x ∈ E si
lim kx(n) − xk = 0
n→∞
Propriétés
On dit que deux normes k.k et k.k∗ sont équivalentes s’ il existe deux con-
stantes C et C 0 telles que
Théorème 5.2.1 Dans un espace vectoriel de dimension finie toutes les normes
sont équivalentes
Exemple
Si A = (aij )1≤i,j≤n alors on montre que :
115
1. La norme `∞
n
X
kAk∞ = max kAxk∞ = max |aij |
kxk∞ =1 1≤i≤n
j=1
2. La norme `1
n
X
kAk1 = max kAxk1 = max |aij |
kxk1 =1 1≤j≤n
i=1
3. La norme `2 p
kAk2 = max kAxk2 = ρ(AA∗ )
kxk2 =1
Remarque :
I N ×N on a :
Pour toute norme matricielle induite, pour la matrice unité I ∈ K
kIk = 1
Remarque :
Toute norme matricielle induite est une norme
Remarque :
Il existe des normes matricielles qui ne sont induites par aucune norme vecto-
rielle.
Remarque :
Soit A ∈ KI N ×N , on a ρ(A) ≤ kAk pour toute norme matricielle.
Exercice 57 Norme de Schur
I M ×N on appelle norme de Schur de A, le réel
Soit A ∈ K
21
XM X N
2
kAk = S |aij |
i=1 j=1
Propriétés
Lemme 5.2.2 Pour toute norme matricielle induite, on a
kAxk ≤ kAkkxk I N
∀x ∈ K
On dit qu’elle est compatible.
Preuve
La démontration est laissée en exercice.
Proposition 5.2.1 Pour toute norme matricielle induite, pour deux matrices
A∈KI M ×N et B ∈ K
I N ×P on a
kABk ≤ kAkkBk et ρ(A) ≤ kAk
Preuve
La démontration est laissée en exercice.
116
5.2.3 Suites vectorielles, suites matricielles
On rappelle qu’une suite de matrices A(k) ∈ K I M ×N est assimilable à une
MN
suite de vecteurs de K
I . Donc sa convergence équivaut à la convergence de
M N suites scalaires et elle est indépendante de la norme choisie.
Exemple
Etude de la convergence de la suite (xn )n définie par
p
−n 1 2
xn = e cos n , n sin , n +n−n
n
Et enfin on a
p n 1
lim n2 + n − n = lim √ =
n→∞ n→∞ n2 +n+n 2
1
Ainsi lim xn = 0, 1,
n→∞ 2
I 3 par
Exercice 58 Etudier de la convergence de la suite (xn )n définie dans R
n2 + 1 1 + 3 + 5 + . . . + (2n − 1)
1
xn = e ,n ,
1 − n2 n2
Critère de convergence
Soit A une matrice carrée d’ordre N
On dit que la matrice A est convergente si on a limk→∞ Ak = 0 c’est à dire
(k)
si limk→∞ aij = 0 pour tout i, j
Pour la convergence de la suite de puissance de matrice, on a le critère :
117
Preuve
La démontration est laissée en exercice.
Théorème 5.2.3 Soit A une matrice carrée. Soit k.k une norme matricielle
(induite) quelconque. Alors on a
1
lim kAk k k = ρ(A)
k→∞
Preuve
La démontration est laissée en exercice.
Preuve
La démontration est laissée en exercice.
Exemple
Etude de la convergence de la matrice A et déduire éventuellement celle de la
Xn
suite (Bn )n où Bn = Ai , pour
i=0
− 12
0
A= 5 1
4 3
3 2
0 0
I −A= 2
5 2 ⇒ B= 3
5 3
−4 3 4 2
118
Chapitre 6
Conditionnement
et
3
X
kAk∞ = max |aij | = 4
1≤i≤3
j=1
119
Si A−1 = (aij ) alors
3
X 3 1 1 3
|a1j | = + + =
j=1
4 2 4 2
3
X 1 1
|a2j | = + |1| + =2
j=1
2 2
3
X 1 1 3 3
|a3j | = + + =
j=1
4 2 4 2
et
3
X
kA−1 k∞ = max |aij | = 2
1≤i≤3
j=1
Ainsi
Cond∞ (A) = kAk∞ kA−1 k∞ = 4 × 2 = 8
Sachant que
0.0625 0.015625 −0.109375
A−1 = 0.015625 0.25390625 −0.02734375
0.109375 0.02734375 0.05859375
Preuve
120
1.
−1
cond(αA) = kαAkk(αA) k
= |α| kAk α−1 kA−1 k
= kAkkA−1 k = cond(A)
2. I = AA−1 Donc 1 = kIk = kAA−1 k ≤ kAkkA−1 k = cond(A)
3. On sait que
12
t
kAk2 = max λi (A A) = max µi = µmax
1≤i≤N
et
−1
2
−1 t
kA k2 = max λi (A A)
1≤i≤N
1 1
= max =
µi µmin
µmax
donc cond2 (A) = kAk2 kA−1 k2 =
µmin
Dans le cas où A est symétrique on a µi = |λi (A)|. Ainsi
max λi (A)
cond2 (A) =
min λi (A)
Ax = b et A(x + ∆x) = b + ∆b
on a
k∆xk k∆bk
≤ cond(A)
kxk kbk
121
Preuve
Par différence des deux équations Ax = b et A(x + ∆x) = b + ∆b on obtient
A(∆x) = ∆b soit ∆x = A−1 ∆b. Ainsi
1 kAk
≤
kxk kbk
Ax = b et (A + ∆A)(x + ∆x) = b
on a
k∆xk k∆Ak
≤ cond(A)
kx + ∆xk kAk
Preuve
En effet on a Ax = b = (A + ∆A)(x + ∆x) donc
donc
k∆xk = kA−1 ∆A(x + ∆x)k ≤ kA−1 kk∆Akkx + ∆xk
d’où
k∆xk k∆Ak
≤ kA−1 kk∆Ak = cond(A)
kx + ∆xk kAk
122
Bibliographie
123