Académique Documents
Professionnel Documents
Culture Documents
' $
Méthodes Numériques
Notes de cours à l’usage des Étudiants
de Troisième Graduat Informatique
& %
l
Dr Joseph Désiré Bukweli Kyemba
Professeur Associé
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
2 Systèmes linéaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Système bien ou mal conditionné . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Méthodes directes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.1 Principe général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.2 Résolution des systèmes triangulaires . . . . . . . . . . . . . . . . . . 10
2.3.3 Méthode d’élimination de Gauss-Jordan . . . . . . . . . . . . . . . . 11
2.4 Méthodes itératives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4.1 Principe général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4.2 Méthode de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.3 Méthode de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.4.4 Accélération de la convergence et critère d’arrêt . . . . . . . . . . . . 25
Exercices sur le chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4 Interpolation numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.1 Interpolation polynomiale simple . . . . . . . . . . . . . . . . . . . . . . . 43
4.1.1 Méthode Naı̈ve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.1.2 Méthode de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.1.3 Méthode de Newton ou des différences divisées . . . . . . . . . . . . 45
4.1.4 Erreur d’interpolation polynomiale . . . . . . . . . . . . . . . . . . . 47
4.2 Interpolation de Hermite . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.3 Interpolation composée: Splines . . . . . . . . . . . . . . . . . . . . . . . 51
4.3.1 Splines de degré m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.3.2 Cas particulier des Splines linéaires . . . . . . . . . . . . . . . . . . . 52
4.4 Interpolation par la méthode des moindres carrés . . . . . . . . . . . . . 53
Exercices sur le chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
6 Systèmes différentiels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.2 Résolution numérique du problème de Cauchy . . . . . . . . . . . . . . . 72
6.2.1 Schémas d’Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.2.2 Schémas de Crank-Nicolson et de Heun . . . . . . . . . . . . . . . . 74
6.2.3 Schéma de Taylor d’ordre n . . . . . . . . . . . . . . . . . . . . . . . . 75
6.2.4 Schémas de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.2.5 Résolution des systèmes différentiels . . . . . . . . . . . . . . . . . . 79
6.2.6 Consistance, stabilité et convergence des méthodes . . . . . . . . . . 79
6.3 Solutions numériques des P.V.Ls . . . . . . . . . . . . . . . . . . . . . . . 80
6.3.1 Méthode des différences finies pour P.V.L linéaires . . . . . . . . . . 81
6.3.2 Méthode des différences finies pour P.V.L non-linéaires . . . . . . . 83
6.4 Solutions numériques des EDPs . . . . . . . . . . . . . . . . . . . . . . . 84
6.4.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.4.2 Résolution des EDPs par la méthode des différences finies . . . . . . 85
Exercices sur le chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
où les di ∈ {0, 1, . . . , β − 1}, appelés bits lorsque β = 2 et, d’une manière générale, digits
si β , 2 sont tel que d1 , 0.
L’exposant e est un entier signé qui peut prendre les valeurs entières de l’intervalle
[L, U], avec L < 0 et U > 0.
Pratiquement on partitionne le nombre en trois parties, l’une contenant e et l’autre
contenant m et le premier digit à gauche contient le signe.
1 t
± ··· ···
| {z }| {z }
e m
c’est-à -dire
β−1 ≤ m ≤ 1 − β−t < 1.
L’ensemble des nombres à virgule flottante normalisés F(β, t, L, U) que l’on obtient
ainsi constitue un sous-ensemble de R et on a
f ∈ F(β, t, L, U) =⇒ f = ± d1 d2 · · · dt βe = ± m βe
| {z }
m
=⇒ βL−1 ≤ | f | ≤ βU . (1.1.4)
L’ensemble
n o n o
G(β, t, L, U) = x ∈ R : βL−1 ≤ |x| ≤ βU ∪ 0 (1.1.5)
est l’ensemble des nombres réels qui trouvent une représentation dans F(β, t, L, U), on
définit l’ensemble. x ∈ G(β, t, L, U) peut alors se mettre sous la forme
• les erreurs d’arrondi, qui proviennent du fait que tout calculateur travaille en
précision finie, c’est-à -dire dans un sous-ensemble fini de R, l’arithmétique na-
turelle étant alors approchée par une arithmétique des nombres à virgule flottante;
• les erreurs sur les données, imputables à une connaissance imparfaite des données
du problème que l’on cherche à résoudre, comme lorsqu’elles sont issues de
mesures physiques soumises à des contraintes expérimentales;
x − f l(x)
x − f l(x)
.
|x|
Et d’une manière générale, si (X, | . |) est un espace métrique et, si x̂ et une approxima-
tion d’un élément x de X:
|x − x̂|
Dans la suite nous considérons donc l’arrondi parfait. En effet, considérons les erreurs
relatives associées aux opérations suivantes :
f l(x ∗ y) = (x ∗ y)(1 + δ1 )
f l(x/y) = (x/y)(1 + δ2 )
f l(x ± y) = (x ± y)(1 + δ3 ).
alors que δ3 n’est pas garanti d’être petit. C’est le cas notamment, lorsque l’addition de
deux nombres très proches en valeur absolue (différence) donne un résultat très petit.
Ceci est connu sous le nom de catastrophic cancellation.
N.B.: A cause des erreurs d’arrondi, les opérations élémentaires s’avèrent être non
associactive. En générale, dans une sommations de réels, l’erreur a la tendance à être
minimisée lorsqu’on somme en premier les termes ayant la plus petite valeur absolue.
Soit un problème qui consiste à évaluer f (x) et une perturbation des données x + ε.
Pour évaluer la sensibilité d’un problème à une perturbation des données, on définit la
condition du problème comme étant le rapport :
f (x + ε) − f (x)
f (x) f (x + ε) − f (x) |x|
cond f (x) = = .
|ε| |ε| f (x)
|x|
Et pour ε → 0 on a:
x f 0 (x)
cond f (x) ≈ . (1.2.3)
f (x)
Si cond f (x) est grande alors le problème est dit mal conditionné.
Preuve: Exercice.
en supposant que les calculs se font avec une machine à t = 4 bits significatifs.
Obtient-t-on x = y?
(a) Déterminer les approximations des racines en supposant que les calculs
s’effectuent à l’aide d’une machine limitée à t = 4 chiffres significatifs
décimaux (β = 10) en représentation à virgule flottante normalisée.
(b) Déterminer les erreurs absolues et relatives d’approximation et commenter
les résultats obtenus.
(c) Calculer l’approximation de la deuxième racine en utilisant la formule
2c
x2 = √ .
−b + b2 − 4c
Que devient l’erreur relative d’approximation de cette racine? Que peut-on
conclure?
Il est évident que la troncature à t chiffres significatifs se fait en annulant tous les
chiffres xk pour k > t; c’est-à -dire
(a) Montrer que l’arrondit parfait dans ce cas se fait comme suit: “ ajouter
0.00 . . . 01 à la mentisse si xt+1 ≥ 5, sinon ne rien changer à la troncature”.
| {z }
t+1 chiffres
1
|x − f l(x)| ≤ 10−t × 10e .
2
Systèmes linéaires
2.1 Généralités
Définition 2.1.1 Soit n, p ≥ 1 des entiers. On appelle système linéaire n × p un ensemble de
n équations linéaires à p inconnues de la forme
a1 1 x1 + a1 2 x2 + . . . + a1 p xp = b1
a2 1 x1 + a2 2 x2 + . . . + a2 p xp = b2
(2.1.1)
.. ..
. .
an 1 x1 + an 2 x2 + . . . + an p xp = bn
Si on pose
où A = ai j , désigne une matrice de taille n × n de nombres réels. Dans ce cas,
1≤i, j≤n
il y a existence et unicité de la solution x (pour n’importe quel vecteur b donné) si et
seulement si la matrice A est inversible ou régulière.
Rappelons que la matrice A est dite régulière (ou non singulière ) si det(A) , 0.
La solution du système est alors donnée par la formule de Cramer :
det(Ai )
xi = , i = 1, . . . , n, (2.1.4)
det(A)
(où la somme est étendue à toutes les permutations σ sur n objets) requiert n! opérations
élémentaires. Par example, sur un ordinateur effectuant 109 opérations élémentaires
par seconde il faudrait 9, 6.1047 années pour résoudre un système linéaire de seule-
ment 50 équations. Il faut donc développer des algorithmes alternatives avec un coût
raisonnable.
Dans les sections suivantes deux types méthodes de résolution sont analysées:
les méthodes directes et les méthodes itératives. Elles sont dites directes si elles four-
nissent la solution du système en un nombre fini d’étapes, itératives si elles nécessitent
(théoriquement) un nombre infini d’étapes.
Notons dès à présent que le choix entre une méthode pour la résolution d’un système
dépend
4. de l’architecture de l’ordinateur.
Ce système et non singulier et sa solution est donnée par x1 = −5, x2 = 5. On voit donc
que, bien que ces deux systèmes soient voisins, leurs solutions sont très différentes. On
parle dans ce cas de systèmes mal conditionnés. Résoudre un système mal conditionné
avec un ordinateur peut être une affaire délicate si l’ordinateur calcule avec trop peu de
chiffres significatifs. Dans l’exemple précédent nous observons que, si l’ordinateur ne
retient que 6 chiffres significatifs dans sa partie décimale, il est complètement inespéré
d’obtenir une solution raisonnablement proche de la solution. Ce système alors dit mal
conditionné.
D’une façon générale, étant donnée une matrice inversible A de taille n × n et soit
le problème consistant à calculer le produit Ax étant donné un vecteur colonne x.
On cherche alors à déterminer la sensibilité de ce produit à une petite perturbation ε
de x. Pour cela on pose b = Ax de sorte que x = A−1 b. Puisque ||Aε|| ≤ ||A||.||ε|| et
||A−1 b|| ≤ ||A−1 ||.||b||, il vient que
||A(x + ε) − Ax|| ||x|| ||Aε|| ||A−1 b||
cond Ax = = ≤ ||A||.||A−1 ||
||ε|| ||Ax|| ||ε|| ||b||
Définition 2.2.1 Conditionnement d’une matrice
On appelle alors conditionnement de la matrice A relativement à la norme matricielle ||.||
subornée à la norme vectorielle ||.||, le nombre
cond A = ||A||.||A−1 ||.
En général, cond A dépend du choix de la norme k.k qui est l’une des normes ma-
tricielles suivantes:
n ( )
X kAxkp
||A||1 = max |ai j |; ||A||p = sup n
: x ∈ R et kxkp ≤ 1 ;
1≤j≤n
i=1
kxkp
n
p
X ||Ax||B (BAx, Ax)
||A||∞ = max |ai j |; ||A||B = sup = sup
x,0 ||x||B
p
1≤i≤n x,0 (Bx, x)
j=1
n 1/p
X p
où kxkp = |xi | (1 < p < ∞) et B une matrice symétrique définie positive
i=1
On alors le résultat suivant:
Proposition 2.2.2 Si A est un matrice n × n inversible alors on a
(i) cond A−1 = cond A ;
(ii) cond In = 1, où In est la matrice unité;
(iii) cond α A = cond A pour tout scalaire α;
(iv) cond A ≥ 1;
(v) le système linéaire Ax = b est bien conditionné, si cond A n’est pas trop grand;
(vi) le système linéaire Ax = b est mal conditionné, si cond A est trop grand.
La résolution de (2.1.3) est alors ramenée aux résolutions successives des systèmes
“échelonnés”
Ly = b
Ux = y. (2.3.1)
ai j = 0 ∀i, j : 1 ≤ j < i ≤ n
et triangulaire inférieure si
ai j = 0 ∀i, j : 1 ≤ i < j ≤ n.
Suivant ces cas, le système (2.1.3) est dit système triangulaire supérieur ou inférieur.
Théorème 2.3.1
Si la matrice A est triangulaire avec aii , 0 pour tout i = 1, . . . , n, alors elle régulière.
n
Y
Preuve: En effet, det(A) = aii , 0.
i=1
Algorithme 3.1
x1 = b1 /a11 ,
i−1
1
X
xi = bi − ai j x j , i = 2, 3, . . . , n.
aii j=1
Algorithme 3.2
xn = bn /ann ,
n
1 X
xi = ai j x j , i = n − 1, n − 2 . . . , 2, 1.
bi −
aii
j=i+1
Lemme 2.3.2
Soit B(k) une matrice de taille n × n de la forme
0 ... 0 ...
0 0 0
.. .. .. .. ..
. . . . .
0 ... 0 ...
0 0 0
.
B(k) := (2.3.2)
0 ... 0 α(k)
k+1
0 ... 0
.. .. .. .. ..
. . . . .
0 . . . 0 αn(k) 0 ... 0
(ii) pour tout 1 ≤ k ≤ n L(k) = In − B(k) est inversible d’inverse [L(k) ]−1 = In + B(k) ,
(iii) pour tout 1 ≤ k ≤ l ≤ n L(k) L(l) = In − B(k) + B(l) .
Preuve: Exercice.
Pour résoudre donc (2.1.3), on pose A(1) = A et b(1) = b c’est-à -dire a(1)
ij
= ai j et b(1)
i
= bi
pour i, j = 1, . . . , n. Avec ce changement de notations le système s’écrit: A x = b , soit
(1) (1)
(1)
a1 1 x1 + a(1)
1 2
x2 + . . . + a(1)
1 n
xn = b(1)
1
a(1) x1 + a(1) x2 + . . . + a(1) xn = b(1)
2 1 2 2 2 n 2
(2.3.3)
. .
.. ..
a(1) x1 + a(1) x2 + . . . + a(1) xn = b(1)
n1 n2 nn n
a(1)
α(1)
i
= i1
, i = 2, . . . , n
a(1)
11
et on applique la transformation
où
(2)
ai j = a(2)
ij
− α(1)
i
a(1)
1j
, i = 2, . . . , n; j = 2, . . . , n;
(2.3.5)
b(2) = b(1) − α(1) b(1) , i = 2, . . . , n.
i i i 1
où
0 . . . . . . 0
0
..
α(1) 0 .
L(1) := In − B(1) B(1) .. .
2
et := .. ..
. . .
α(1) 0 ... ... 0
n
(k)
A l’étape k (2 ≤ k ≤ n − 1), on suppose le coefficient, appelé aussi pivot, ak,k , 0. On
transforme la i ligne (k + 1 ≤ i ≤ n) de manière à faire apparaı̂tre des zéros sur la kème
ème
colonne. Ce qui revient donc à obtenir le système A(k+1) x = b(k+1) , c’est-à -dire
(1)
a1 1 x1 + a(1)
12 2
x + ... ... ... + a(1)
1n n
x = b(1)
1
a(2) a(2) b(2)
x + ... ... ... + x =
22 2 2n n 2
... ..
.
a(k) xk + a(k) + ... + ak(k)n xn =
x b(k) (2.3.7)
k k k k+1 k+1
(k+1) (k+1)
+ ... + ak+1 x = b(k+1)
ak+1 x
k+1 k+1 n n
.. ..
. .
an(k+1) + ... + an(k+1) (k+1)
n xn = bn
x
k+1 k+1
avec
(k)
(k) ai k
α = (k) , i = k + 1, . . . , n;
i ak k
(2.3.8)
(k+1)
ai j = a(k+1)ij
− α(k)
i
ak(k)j , i = k + 1, . . . , n; j = K + 1, . . . , n;
b(K+1) = b(k) − α(k) b(k) ,
i = k + 1, . . . , n.
i i i k
Encore une fois ceci correspond aux produits matriciels A(k+1) = L(k) A(k) et b(k+1) = L(k) b(k)
où L(k) = In − B(k) avec B(k) donnée en (2.3.2).
Après la dernière étape, on aura le système A(n) x = b(n) c’est-à -dire
(1)
a1 1 x1 + a(1)
12 2
x + . . . + a(1)
1n n
x = b(1)
1
a(2) x + . . . + a(2) = b(2)
22 2 2n n
x 2
(2.3.9)
... .. ..
. .
an(k+1) (k+1)
n xn = bn
et
... . . . 0
1 0 0 0
..
α(1)
2 1 . 0
. ... ... ... ..
.. .
.. ..
L := α(1) α(2) . 1 . 0 .
k k
...
(1)
αk+1 α(2) . . . α(k) 1 0
. k+1 k+1
. .. .. .. .. . . ..
. . . . . . .
(1)
α(2) (k) (k+1)
αn n . . . α n αn ... 1
De plus , ona le résultat suivant exploité par la commande MATLAB det(A):
n
Y
(k)
det(A) = det(L) × det(U) = det(U) = akk
k=1
Pour k = 1, . . . , n − 1, calculer:
Pour i = k + 1, . . . , n
a(k)
α(k)
i
= ik
a(k)
kk
Pour j = k + 1, . . . , n
ai(k+1)
j
= ai(k)j − αi(k) ak(k)j
Fin de la boucle j
b(k+1)
i
= bi(k) − αi(k) bk(k)
Fin de la boucle i
Fin de la boucle k
n(n − 1) n3 − n
Pour résoudre le système (2.1.3), on a au total: divisions, multipli-
2 3
3 3
n −n n − n n(n − 1)
cations et additions; c’est-à -dire 2 + ∼ O 2n3 /3 opérations
3 3 2
élémentaires.
Exemple 2.3.3
x1 + 2x2 + 2x3 = 2
(l1 )
x1 + 3x2 − 2x3 = −1
(l2 )
3x + 5x + 8x = 8
(l3 )
1 2 3
On a que
1 2 2 x1 2
A(1) := A = 1 3 −2 ;
x = x2 ;
b(1) := b = −1
3 5 8 x3 8
ou encore, on détermine B(1) , puis on calcule L(1) = I3 − B(1) , A(2) = L(1) A(1) et b(2) = L(1) b(1)
et on trouve
0 0 0 1 0 0 1 2 2 2
B = 1 0 0 ; L = −1 1 0 ; A = 0 1 −4 ; b = −3
(1) (1) (2) (2)
3 0 0 −3 0 1 0 −1 2 2
A l’étape k = 2, on remplace la ligne l3 par l03 + 1 × l02
x1 + 2x2 + 2x3 = 2
(l1 )
x2 − 4x3 = −3
(l02 )
− 2x3 = −1 (l03 0 )
ou encore, on détermine B(2) , puis on calcule L(2) = I3 − B(2) , A(3) = L(2) A(2) et b(3) = L(2) b(2)
et on trouve
0 0 0 1 0 0 1 2 2 2
B = 0 0 0 ; L = 0 1 0 ; A = 0 1 −4 ; b = −3 .
(2) (3) (3) (3)
0 −1 0 0 1 1 0 0 −2 −1
On applique, enfin, l’algorithme de remontée pour trouver x3 = 1/2, x2 = −1 et x1 = 3
c’est-à -dire
3
x = −1 .
1/2
On donc la décomposition A = L U de la matrice A avec
1 0 0 1 2 2
L = 1 1 0 et U = 0 1 −4
3 −1 1 0 0 −2
Remarques 2.3.4
• L’algorithme 2.3 est numériquement instable car les erreurs d’arrondis effectuées
pendant le calcul sont accumulées et le résultat trouvé peut être loin de la solution.
• D’autre part, pour que l’algorithme de Gauss puisse sans pivot se terminer, il
faut que tous les termes a(k) kk
, qui correspondent aux éléments diagonaux de la
matrice U, soient non nuls. Ceci n’est évidemment pas très sûr pour une matrice
quelconque. Mais c’est le cas si la matrice A du système satisfait certaines con-
ditions spécifiées dans les théorèmes ci-après. Avant de les énoncer rappelons la
définition suivante:
Définition 2.3.5
Soit A une matrice carré de taille n × n. La sous-matrice
Théorème 2.3.6
Soit A est une matrice de taille n×n. On suppose que toutes les sous-matrices principales d’ordre
1 à n − 1 de A sont inversibles. Alors, il existe une unique matrice L triangulaire inférieure à
diagonale unité et une matrice U triangulaire supérieure inversible telles que A = LU.
Preuve:
1◦ Unicité: Soient (L1 U1 ) et (L2 U2 ) deux décompositions de A c’est-à -dire
L1 U1 = A = L2 U2 ,
où les matrices L1 et L2 sont triangulaires inférieures à diagonale unité, par conséquent
inversibles, et U1 et U2 sont triangulaires supérieures inversibles. Il en découle que
2 L1 = U2 U1 .
L−1 −1
Mais, L−1
2
L1 est triangulaire inférieure à diagonale unité et U2 U1−1 supérieure. Il s’ensuit
que L−1
2
L1 = In = U2 U1−1 . Ce qui implique que
L1 = L2 et U2 = U1 .
0 A(k) × Lk Ak(k)
Ak × Lk ×
k
= = ,
× × × × × × × ×
où Ak et A(k)
k
sont les sous-matrices principales d’odre k respectivement de A et A(k),
tandis que Lk est une matrice triangulaire inférieure de dimension k × k avec diagonale
unité. Mentionnons que l’application de la méthode de Gauss permet d’avoir à ce
niveau Ak triangulaire supérieure. Ainsi,
Comme Ak est inversible il en découle que ak(k)k , 0. Et on peut donc effectuer une
nouvelle étape d’élimination de Gauss. En définitif on obtient la décomposition
(−1)
A = L(n−1) . . . L(1) A(n) = In + B(1) + . . . + B(n−1) A(n) = L U,
Théorème 2.3.7
Une matrice A de taille n × n est symétrique définie positive, c’est-à -dire
alors A une unique décomposition en L U et la méthode de Gauss sans pivot peut être exécutée
avec tous les a(k)
kk
positifs et sans amplification d’erreurs d’arrondi.
Preuve: Admis
Corollaire 2.3.8
Une matrice symétrique A de taille n × n est définie positive ssi ses sous-matrices principales
d’ordre 1 à n − 1 sont inversibles.
Théorème 2.3.9
Si A est une matrice de taille n × n à diagonale strictement dominante, c’est-à -dire
n
X
|aii | > |ai j |, ∀ i = 1, . . . , n,
j=1
j,i
alors elle non singulière, admet une unique décomposition en L U et la méthode de Gauss sans
pivot se termine sans amplification d’erreurs d’arrondi.
Preuve:
1°/ Supposons par l’absurde que A est singulière. Il en découle que le système ho-
mogène Ax = admet une solution non triviale x = (x1 , . . . , xn )T . Soit xk la composante
|x j |
de x tel que 0 < |xk | = max |x j |. il s’en suit que ≤ 1.
1≤j≤n |xk |
X n
D’autre part, puisque ai j x j = 0 pour tout 1 ≤ i ≤ n, on a que, pour i = k,
j=1
n n n n
X X X |x j | X
akk xk = − ak j x j =⇒ |akk ||xk | ≤ |ak j ||x j | =⇒ |akk | ≤ |ak j | ≤ |ak j |.
j=1 j=1 j=1
|xk | j=1
j,k j,k j,k j,k
Ce qui contrédit le fait que A est à diagonale strictement dominante; par conséquent A
est non singulière.
2°/ On va maintenant montrer que si A est à diagonale strictement dominante alors les
matrices A(k) obtenues par l’algorithme de Gauss sans pivot sont à diagonale strictement
dominante,pour k = 1, 2, . . . , n − 1.
Il est évident que A(1) l’est car A(1) = A. Il suffira alors de montrer que A(k) est à
diagonale strictement dominante entraı̂ne A(k+1) est à diagonale strictement dominante
pour 1 ≤ k ≤ n − 2. En effet,les éléments de la matrice A(k+1) par l’algorithme de Gauss
sans pivot s’obtient à partir de ceux de A(k) de la manière suivante:
Pour i = 1, . . . , k
a(k+1)
ij
= ai(k)j pour j = 1, . . . , n.
Pour i = k + 1, . . . , n,
j = 1, . . . , k
0 pour
a(k+1) =
ij (k)
aik
(k)
ak(k)j pour j = k + 1, . . . , n.
ai j −
(k)
akk
Ainsi,
n
X n
X aik(k) X
n
aik(k)
a(k+1)
ij
≤ a(k)
ij
+ (k)
ak(k)j < aii(k) − a(k)
ik
+ (k)
(k)
akk − aki(k)
j=1 j=k+1 akk j=k+1 akk
j,i j,i j,i
aik(k)
= aii(k) − (k)
aki(k)
akk
a(k)
≤ aii(k) − ik (k)
aki = aii(k+1) .
a(k)
kk
Remarque 2.3.10
Pour k = 1, . . . , n − 1
Pour i = k + 1, . . . , n
a(k)
α(k)
i
= ik
a(k)
kk
Pour j = k + 1, . . . , n
a(k+1)
ij
= ai(k)j − αi(k) ak(k)j
Fin de la boucle j
b(k+1)
i
= bi(k) − αi(k) bk(k)
Fin de la boucle i
Fin de la boucle k
L’algorithme est donc le même que celui d’élimination de Gauss sans pivot mais
avec une étape supplémentaire de permutations.
Le résultat suivant garantit la validité de la méthode d’élimination de Gauss avec
pivot pour une matrice inversible quelconque. Avant de l’énoncer précisons que la
matrice
1 0 . . . 0 . . . 0 . . . 0 1
0 1 . . . 0 . . . 0 . . . 0 2
.. .. .. ..
. 0 1 0 . . . . . . . . .
0 0 . . . 0 . . . 1 . . . 0 k
P(k,r) = . . .. .. .. ..
(2.3.10)
. .
. . . . . . 1 . . . . . .
0 0 . . . 1 . . . 0 . . . 0 r
. .
.. .. . . . ... . . . ... 1 ... ...
0 0 ... 0 ... 0 ... 1 n
est la matrice de permutation des lignes k et r d’une matrice quelconque A. Elle possède
donc des éléments égaux à 1 partout sur la diagonale sauf prr = pkk = 0 et des éléments
égaux à 0 partout ailleurs, sauf prk = pkr = 1:
Théorème 2.3.11 Soient A une matrice de taille n × n inversible. Alors la matrice A admet
une décomposition L U à quelques permutations près
P A = L U, ou A = P−1 L U,
où P est le produit de toutes les matrices de permutation (des lignes) qu’on a utilisées, tandis
que L est une matrice triangulaire inférieure et U une matrice triangulaire supérieure.
Preuve: Exercice.
L’intérêt des méthodes itératives, comparées aux méthodes directes, est d’être sim-
ples à programmer et de nécessiter moins de place en mémoire. En revanche le temps
de calcul est souvent plus long.
Une stratégie est de considérer la relation de récurrence x(k+1) = F x(k) avec k =
0, 1, 2 . . . pour x(0) donné.
Une technique générale de construction des méthodes itératives est basée sur une
décomposition (splitting ) de la matrice A sous la forme A = M − N où M et N sont des
Remarque 2.4.1 Certaines méthodes itératives proposées peuvent être également utilisées pour
des problèmes non linéaire, c’est-à -dire où F est une fonction quelconque.
Définition 2.4.2
On dit que la méthode itérative (2.4.2) converge si pour tout couple de vecteurs b, x(0)
donné, la suite (x(k) )k≥0 converge vers la solution x = A−1 b.
En effet,
lim ||x(k) − x|| = lim ||e(k) || ≤ ||e0 ||. lim ||Bk || = 0.
k→∞ k→∞ k→∞
Théorème 2.4.3
Si B est une matrice de taille n × n alors les quatre assertions suivantes sont équivalentes:
(iii) ρ(B) < 1, où ρ(B) est le rayon spectral de B, défini par
(iv) Il existe une norme matricielle subordonnée (dont le choix dépend de B) telle que ||B|| < 1.
Preuve: Exercice.
Pour une donnée initiale x(0) choisie, on calcule x(k+1) par la méthode itérative
i−1 n
1 X X
x(k+1) = (k) (k)
, i = 1, . . . , n.
b − a x − a x (2.4.4)
i i i j j i j j
aii
j=1 j=i+1
A=D−E−F
Théorème 2.4.4
Si A est une matrice de taille n × n à diagonale strictement dominante, i.e.
n
X
|aii | > |ai j |, ∀ i = 1, . . . , n,
j=1
j,i
alors pour tout x(0) la méthode de Jacobi (2.4.4) converge vers la solution du système Ax = b.
si i = j
0a
bi j =
ij
− , si i , j.
aii
Puisque, par hypothèse, A est à diagonale strictement dominante, on en déduit que
n
X
|ai j |
n
X j=1, j,i
|bi j | = < 1,
j=1
|aii |
et donc ||B J ||∞ < 1. D’où, en vertu du Théorème 2.4.3, la méthode de Jacobi converge
NB: L’algorithme de Jacobi nécessite le stockage des deux vecteurs x(k) j
et x(k+1)
j
.
Il s’écrit aussi
x(k+1) = (D − E)−1 b + Fx(k) , (2.4.6)
Théorème 2.4.5
Soit A une matrice de taille n × n symétrique définie positive, alors pour tout x(0) la méthode de
Gauss-Seidel est bien définie et converge vers la solution du système Ax = b.
Puisque A définie positive tous les termes diagonaux sont positifs. En effet, pour un
vecteur ei donné par (ei ) j = δi j , on a
et donc
||M−1 Nx||2A
||M−1 N||2A = sup < 1.
x,0 ||x||2A
C’est-à -dire ||BGS ||A = ||M−1 N||A < 1. D’où, en vertu du Théorème 2.4.3, la méthode de
Jacobi converge
où on a introduit un paramètre αk , 1 (qui peut être différent à chaque itération k ) afin
d’accélérer la convergence. Cette méthode est dite de Richardson.
Dans le cas où M et A sont symétriques définies positives le choix optimal de αk est
r(k) , z(k)
αk = (2.4.12)
(Az(k) , z(k) )
où z(k) = M−1 r(k) . Avec ce choix cette méthode est dite de gradient préconditionné et en
particulier de gradient lorsque M = I. On montre que cette méthode converge plus
rapidement que celles de Jacobi et de Gauss-Seidel.
Pour une précision ε donnée, on définit tout naturellement le critère d’arrêt par
x1 + x2 + x3 + x4 = 1
x1 + 2x2 + 2x3 + 2x4 = 0
x1 + 2x2 + 3x3 + 3x4 = 0
x1 + 2x2 + 3x3 + 4x4 = 0
3. L’algorithme suivant:
Pour k = 0, 1, . . . , n − 1
Pour l = n, n − 1, . . . , k + 1
xl = (xl − xl−1 )/(tl − tl−k−1 )
fin de la boucle l
fin de la boucle k.
Pour k = n − 1, n − 2, . . . , 0
Pour l = k, k + 1, . . . , n − 1
xl = xl − tk xi+1
fin de la boucle l
fin de la boucle k.
(a) Dire si la méthode de Gauss sans pivot peut s’exécuter jusqu’au bout.
(b) Trouver une matrice de permutation P telle que PA soit factorisable en LU
et déterminer cette factorisation.
(c) Résoudre enfin le système après factorisation.
(a) Montrer que la méthode de Jacobi converge pour tout b ∈ R3 vers l’unique
solution du système
(b) Etudier la convergence de la méthode de Gauss-Seidel pour ce système.
9. On considère le système
2 sin α − cos β = −3
− sin α + 2 cos β + tgγ =
4
cos β + 2tgγ =
3
3.1 Généralités
Définition 3.1.1 Soient n, m ≥ 1 des entiers et Ω un fermé de Rn . Un problème non linéaire
un est problème qui consiste à
trouver x̄ ∈ Ω,
(3.1.1)
f (x̄) = 0.
où f : Ω −→ Rm une fonction non linéaire, c’est-à -dire que la fonction f n’est plus du type
f (x) = Ax − b.
Les méthodes de résolution d’un problème non linéaire sont en général itératives.
Elles consistent à :
Définition
3.1.2
Soit x(k) une suite d’approximation de la solution x̄ du problème (3.1.1). On dit que la
k∈N
suite x(k) converge globalement vers x̄ si pour tout x0 ∈ Ω, la suite x(k) converge
k∈N k∈N
vers x̄.
On dit que la suite x(k) converge localement vers x̄ s’il existe un voisinage V de x̄, tel
k∈N
que pour tout x0 ∈ V ⊂ Ω, la suite x(k) converge vers x̄.
k∈N
On dit que la méthode convergente est d’ordre p, s’il existe deux constantes C1 et C2 > 0
telles que
x(k+1) − x̄
C1 ≤ lim p ≤ C2 .
p→∞
x(k) − x̄
• si f (a) ≤ f (b) alors pour tout d ∈ [ f (a), f (b)] il existe c ∈ [a; b] tel que f (c) = d;
• si f (a) ≥ f (b) alors pour tout d ∈ [ f (b), f (a)] il existe c ∈ [a; b] tel que f (c) = d.
Corollaire 3.2.3
Soit une fonction continue f : [a, b] −→ R. Si f (a). f (b) < 0, alors il existe (au moins un)
x ∈]a, b[ tel que f (x) = 0.
Ce résultat garantit juste l’existence d’un zéro. Pour l’unicité on essayera d’appliquer
le théorème de la bijection dont l’énoncé est rappelé ci-dessous.
Les zéros de f étant encadrés, la construction de suites qui convergent vers ces
zéros peut se faire à l’aide de plusieurs méthodes numériques. Ci-dessous on décrit les
méthodes les plus connues et on étudie leurs propriétés.
Pour k = 0, 1, . . .
a(k) + b(k)
calculer x(k) =
2
Si f a(k) f x(k) < 0, alors
sinon
a(k+1) = x(k) et b(k+1) = b(k)
Fin de la boucle k
On voit qu’à chaque itération l’intervalle encadrant la solution x̄ est divisé par deux,
soit par récurrence
b(0) − a(0)
b(k) − a(k) = . (3.2.2)
2k
Il en résulte que la méthode de dichotomie converge puisque la suite b(k) − a(k) tend
vers zéro lorsque k tend vers l’infini. Nous pouvons donc choisir le temps d’arrêt N tel
que
(0) (0)
1 (0)
ln b − a − ln(ε)
b − a(0)
≤ ε =⇒ N ≥ , (3.2.3)
2N ln(2)
où ε est la précision choisie.
Cet algorithme bien qu’intéressant converge plutôt lentement. Elle présente néanmoins
l’avantage d’être très simple et nécessite seulement que la fonction f soit continue.
f (b(k) ) − f (a(k) )
f (a ) +
(k)
(k) (k)
(x − a(k) )
b −a
c’est-à -dire
b(k) − a(k)
x(k)
=a (k)
− (k) (k)
f (a(k) ).
f (b ) − f (a )
D’où l’algorithme suivant:
Pour k = 0, 1, . . .
b(k) − a(k)
calculer x(k) = a(k) − (k) (k)
f (a(k) )
f (b ) − f (a )
Si f a(k) f x(k) < 0, alors
sinon
a(k+1) = x(k) et b(k+1) = b(k)
Fin de la boucle k
par le point x(0) , f (x(0) ) et qui comme pente f 0 (x(0) ):
y(x) = f 0 (x(0) ) x − x(0) + f (x(0) ).
On détermine alors x(1) comme étant l’abscisse du point où cette droite intercepte l’axe
des x, c’est-à -dire y(x(1) ) = 0. On en déduit
f (x(0) )
x(1) = x(0) − . (3.2.4)
f 0 (x(0) )
Ainsi, en réitérant ce procédé nous obtenons l’algorithme ci-après:
Poser x(0) = x0
Pour k = 0, 1, . . .
f (x(k) )
calculer x (k+1)
=x (k)
− 0 (k)
f (x )
Fin de la boucle k
L’Algorithme 3.2 n’est évidemment pas complet tant que l’on ne précise pas un
critère d’arrêt.
Un critère d’arrêt souvent utilisé consiste à s’arrêter dès que x(k+1) − x(k) < ε.
Pour autant, cela n’assure pas la convergence de la suite x(k) vers la solution x̄.
k∈N
Xk
En effet, en prenant x =(k)
1/l, on a bien que
l=1
Théorème 3.2.5
Soit f : [a, b] −→ R une fonction de classe C2 [a, b], R . Supposons qu’il existe x̄ ∈ [a, b]
tel que f (x̄) = 0 et f 0 (x̄) , 0. Alors, il existe δ > 0 tel que pour tout a(0) , b(0) , x0 ∈ [x̄ − δ, x̄ + δ]
la suite x(k) donnée par la méthode de Newton ou la méthode de la sécante converge vers
k∈N
la solution x̄ ∈ [a, b].
De plus il existe une constante C > 0 telle que
2
x(k+1) − x̄ ≤ C x(k) − x̄ . (3.2.5)
Preuve: Exercice.
donné x0 ∈ [a, b], la méthode du point fixe consiste alors à construire la suite
Etant
x(k) en suivant l’algorithme ci-après:
k∈N
Poser x(0) = x0
Pour k = 0, 1, . . .
calculer x(k+1) = Φ x(k)
Fin de la boucle k
Il reste à déterminer des critères sur la fonction Φ pour que la suite x(k)
k∈N
construite à partir de l’Algorithme 4.5 converge vers la solution x̄ de l’equation f (x̄) = 0.
Le théorème suivant donne les critères de convergence.
Théorème 3.2.6
Soit E un espace métrique complet muni de la distance d et Φ une contraction stricte dans
E, c’est-à -dire il existe 0 < L < 1 telle que
x̄ = Φ(x̄).
Pour montrer que Φ admet un seul point fixe, on suppose que x̄ et ȳ soient deux point
fixes différents de Φ. Alors
Théorème 3.2.7
Soit Φ une fonction de classe C ([a, b], R). Supposons que x̄ ∈ (a, b)est un pointfixe de Φ
tel que |Φ0 (x̄)| < 1. Alors, il existe un réel δ > 0 tel que pour tout x(0) ∈ x̄ − δ, x̄ + δ , la suite
x(k) converge vers le point fixe x̄.
k∈N
Preuve: Posons L = (1 + |Φ0 (x̄)|) /2. On a que |Φ (x̄)| < L< 1. Puisque Φ est continue,
0 0
il existe un réel δ > 0 tel que pour tout x ∈ x̄ − δ, x̄ + δ , |Φ0 (x)| < L < 1. Soient donc
x, y ∈ x̄ − δ, x̄ + δ avec x ≤ y. Par le développement de Taylor à l’ordre un avec reste
intégral (Théorème fondamental de Calculus), on a:
Z 1
Φ(y) − Φ(x) = Φ0 (x + t(y − x))(y − x)dt
0
donc
Z 1
|Φ(y) − Φ(x)| ≤ Φ0 (x + t(y − x)) y − x dt ≤ L x − y .
0
Ainsi, Φ est une contraction stricte sur x̄ − δ, x̄ + δ , et par conséquent, en vertu du
Théorème 3.2.6, pour tout x(0) ∈ x̄ − δ, x̄ + δ la suite x(k) converge vers le point
k∈N
fixe x̄.
Remarque 3.2.8
L’avantage de la méthode de point fixe est qu’elle se généralise sans difficulté à des fonctions
f : Ω ⊂ Rn −→ Rn puisque qu’aucune dérivée n’apparaı̂t dans l’Algorithme 4.5 Cependant
cette méthode est généralement moins efficace que la méthode de Newton pour les fonctions
vectorielles.
On dit que la fonction f est dérivable au point x ∈ Ω s’il existe une unique application
linéaire ∇ f (x) ∈ L (Rn , Rn ) tel que
Cette unique application ∇ f (x) est appelée gradient de f au point x et peut être identifiée
à une matrice dont les éléments sont données par les dérivées partielles de f au point
x:
∂ f1 ∂ f1
∂x (x) . . . ∂x (x)
1 n
.. ..
∇ f (x) := . . ∈ Mn,n (Rn ) .
∂ fn ∂ fn
(x) . . . (x)
∂x1 ∂xn
Cette matrice est appelée matrice Jacobienne de f et son déterminant est appelé le Jacobien
de f au point x. Ainsi, en composante, la formule (3.3.2) peut encore s’écrire
n
X ∂ fi
fi (x + h) = fi (x) + (x) h j + ||h||εi (h), avec lim εi (h) = 0, i = 1, . . . , n. (3.3.3)
j=1
∂x j h→0
On aura parfois recours aux dérivées secondes de f . Pour cela on aura besoin du
tenseur:
h i ∂2 fi
∇2 f (x) := , (i, j, k) ∈ {1, . . . , n}3 ,
i,j,k ∂x j ∂xk
appelée le Hessien de f au point x.
Pour une fonction f de classe C1 (Ω, Rn ) et un point a ∈ Ω tel que le segment fermé
[a, a + h] entièrement contenu dans le domaine Ω, on a:
Z 1
f (a + h) = f (a) + ∇ f (a + th)h dt. (3.3.4)
0
Formule de Taylor-Young
Pour une fonction f de classe C2 (Ω, Rn ) et un point a ∈ Ω tel que le segment fermé
[a, a + h] entièrement contenu dans le domaine Ω, on a:
1
f (a + h) = f (a) + ∇ f (a)h + ∇2 f (a)(h, h) + ||h||2 ε(h) avec lim ε(h) = 0, (3.3.5)
2 h→0
Théorème 3.3.1
Si f est de classe C2 (Ω, Rn ) et a ∈ Ω est tel que le segment fermé [a, a + h] entièrement contenu
dans le domaine Ω, alors:
1
f (a + h) − f (a) − ∇ f (a)h ≤ sup ∇2 f (y) h2 . (3.3.7)
2 y∈(a, a+h)
Pour une fonction f de classe C2 (Ω, Rn ) et un point a ∈ Ω tel que le segment fermé
[a, a + h] entièrement contenu dans le domaine Ω, on a:
1 1
Z
f (a + h) = f (a) + ∇ f (a)h + (1 − t)∇2 f (a + th)(h, h) dt. (3.3.8)
2 0
On résout ce système pour obtenir une nouvelle approximation x(1) de x̄. On répète
cette procédure avec la nouvelle approximation. A l’étape k on aura à résoudre le
système
f x(k) + ∇ f x(k) x(k+1) − x(k) = 0. (3.3.9)
Pour k = 0, 1, . . .
calculer A = ∇ f x(k)
Fin de la boucle k
Théorème 3.3.2
Soit f : Ω ⊂ Rn −→ Rn une fonction de classe C2 (Ω, Rn ). Supposons qu’il existe x̄ ∈ Ω tel
que f (x̄) = 0 et ∇ f (x̄) est inversible. Alors,
(i) il existe δ > 0 tel que pour tout x(0) ∈ B(x̄, δ), la boule ouverte de Rn de centre x̄ et de
rayon δ, la suite x(k) obtenue par l’Algirthme 4.6 est bien définie et x(k) ∈ B(x̄, δ);
k∈N
(ii) la suite x(k) obtenue par l’Algorithme 4.6 converge vers la solution x̄ ∈ Ω;
k∈N
x(k+1) − x̄ ≤ C x(k) − x̄ .
3.3.3 Applications
A. Recherche de racines d’un polynôme
x = x0
(0)
p x(k)
(k+1)
= x − 0 (k)
(k)
x
p (x )
est strictement décroissante et converge vers la plus grande racine.
Pour construire la suite x(k) , on passe par le calcul de p x(k) et p0 x(k) en utilisant
k∈N
l’algorithme de Hörner-Ruffini qui est construit de la manière suivante: le polynôme
p(x) de degré n s’écrit:
n
X
p(x) = ai xi = (. . . (((an x + an−1 ) x + an−2 ) x + an−3 ) x + . . . + a1 ) x + a0 .
i=0
Ainsi,
p x(k) = . . . (an x + an−1 ) x(k) + an−2 x(k) + an−3 x(k) + . . . + a1 x(k) + a0 .
que l’on retrouve en calculant les n + 1 nombres de Hörner du polynôme pour la valeur
x(k) : (bn , bn−1 , . . . , b1 , b0 ) par :
bn = an
b = b x(k) + a , pour i = n − 1, n − 2, . . . , 0
i i+1 i
de sorte que p x(k) = b0 . Pour évaluer p0 x(k) , on définit q(x) par:
n−1
X
q(x) = ci xi
i=0
tel que
p(x) = b0 + x − x(k) q(x).
On en déduit donc p0 x(k) = q x(k) . Noter que de
n
X n−1
X
p(x) = ai x = b0 + x − x
i (k)
ci x i
i=0 i=0
de sorte que p0 x(k) = d1 .
Finalement, on obtient l’algorithme ci-après:
Poser x(0) = x0
Pour k = 0, 1, . . .
Poser bn = an et dn = an
Pour i = n − 1, n − 2, . . . , 0
Fin de la boucle i
b0
calculer x(k+1) = x(k) −
d1
Fin de la boucle k
(a) Partant de x(0) = 2, calculer les approximations x(1) , x(2) , x(3) et x(4) de cette
x3 + 3x2 + x + 2
racine par la méthode du point fixe avec Φ(x) = .
2x2 + 5
(b) Utiliser ensuite la méthode de Newton pour calculer les mêmes approxima-
tions et comparer les résultats.
x + y2 − 1 = 0
( 2
4
x + 4y − 1 = 0.
1 2 2
Interpolation numérique
L’interpolation est une technique consistant à construire une courbe simple passant
par un nombre fini de points du plan. D’un point de vue pratique, les ordonnées de
ces points peuvent représenter les valeurs aux abscisses d’une fonction arbitraire, que
l’on cherche dans ce cas à remplacer par une fonction plus simple à manipuler lors
d’un calcul numérique, ou encore de données expérimentales, pour lesquelles on vise à
obtenir empiriquement un loi de distribution lorsque leur nombre est important. Sous
sa forme la plus simple, l’interpolation linéaire, ce procédé est bien connu des utilisateurs
des tables de logarithmes, qui furent massivement employées pour les calculs avant
l’arrivée des calculatrices. C’est aussi un ingrédient essentiel de nombreuses et diverses
méthodes numériques, ainsi que de techniques d’estimation statistique (le krigeage en
géostatistique par exemple).
Aussi, les nombreuses fonctions que nous définissons en analyse (cos, sin, log, exp,
etc.) ne sont pas connues de manière exactes en tout point x ∈ R.
En effet, nous savons qu’à l’aide du développement de Taylor, nous pouvons approcher
n’importe quelle fonction régulière f connaissant les valeurs de cette fonction et de ses
dérivées en un point x0 ∈ R par
n
X (x − x0 )k (k) (x − x0 )n+1 (n+1)
f (x) = f (x0 ) + f (ξ),
k! (n + 1)!
k=0
où ξ ∈ R. Pour se convaincre que cette approche est réellement efficace, nous devons
d’une part établir des résultats de convergence et d’autre part tenter de trouver des
estimations de l’erreur.
Théorème 4.1.1
Soient f ∈ C0 ([a, b], R) et n + 1 points distinctes (n ≥ 0): x0 , x1 , . . . , xn ∈ [a, b]. Alors il
existe un unique polynôme Pn de degré inférieur ou égal à n tel que
Pn (xi ) = f (xi ), i = 0, . . . , n. (4.1.1)
1 x0 . . . xn0 a0 f (x0 )
1 x1 . . . xn1 a1 f (x1 )
.. .. .. .. = ..
. . . . .
1 xn . . . xnn an f (xn )
qui est un système de Cramer car son déterminant, appelé déterminant de Vander-
monde, est non nul.
où
n
Y x − xj
Li (x) := ; i = 0, 1, . . . , n (4.1.5)
j=0
x i − x j
j,i
Preuve:
On remarque que les Li sont tous de polynômes de degré n et que
1 si i = j,
(
Li (x j ) = δi, j =
0 si i , j.
On a alors
n
X
0= λi Li (x j ) = λ j ∀ j = 0, 1, . . . , n.
i=0
de xk .
De plus, puisque Pk−1 (x0 ) = f (x0 ), Pk−1 (xi ) = Qk−1 (xi ) = f (xi ) = f (xi ) pour i = 1, . . . , k − 1
et Qk−1 (xk ) = f (xk ), le polynôme
x − x0 x − xk
Qk (x) = Qk−1 (x) − Pk−1 (x)
xk − x0 xk − x0
est un polynôme de degré ≤ k tel que Qk (xi ) = f (xi ) pour i = 0, 1, . . . , k. D’où, en vertu
du Théorème 4.1.3, Qk = Pk .
Corollaire 4.1.5
Le polynôme d’interpolation de f aux noeuds x0 , x1 , . . . , xn peut encore s’écrire:
n
X
Pn (x) = f (x0 ) + f [x0 x1 , . . . , xk ] ωk (x). (4.1.8)
k=1
avec
f [x1 , . . . , xk ] − f [x0 x1 , . . . , xk−1 ]
f [x0 , x1 , . . . , xk ] = ;, (4.1.9)
xk − x0
où f [x1 , . . . , xk ] est le coefficient dominant du polynôme Qk−1 et f [xi ] = f (xi ), i = 0, 1, . . . , k.
Remarques
Pour l’éviter on utilise l’interpolation polynomiale de degré peu élevé sur des
intervalles de petites tailles (interpolation composée) ou l’interpolation avec points
d’interpolation de Chebyshev.
tn (x) = cos(nθ);
tn+1 (x) + tn−1 (x) = cos((n + 1)θ) + cos((n − 1)θ)
= 2 cos(nθ) cos θ = 2x tn (x).
t0 (x) = 1; t1 (x) = x;
tn+1 (x) = 2xtn (x) − tn−1 (x); n = 1, 2, . . . . (4.1.12)
Il en résulte que tn est un polynôme de degré n, dont le coefficient dominant est 2n−1
pour n ≥ 1. Les racines de tn sont données par
2i + 1
x̂i = cos π , 0 ≤ i ≤ n (4.1.13)
2n
Les points x̂i ∈] − 1, 1[ sont symétriquement répartis autour de 0 (xn−i = −xi ) de façon
plus dense au voisinage de −1 et 1.
Pour trouver les points d’interpolation appartenant à l’intervalle [a, b], appelés
points d’interpolation de Chebyshev, on utilise le changement de variable suivant:
a+b a−b
xi = + x̂i (4.1.14)
2 2
Le polynôme de Newton ωn+1 est donné par
n !(n+1) Yn
Y a−b
ωn+1 = (x − xi ) = (x̂ − x̂i ), (4.1.15)
i=0
2 i=0
n
Y
où (x̂ − x̂i ) = 2−n tn+1 (x̂) est le polynôme de Newton ωn+1 (x̂) correspondant à [−1, 1].
i=0
Dans ce cas on a
!(n+1)
a−b
||ωn+1 || = 2 (4.1.16)
4
où les Li (x) sont les polynômes de Lagrange définis sur les points x0 , . . . , xn .
Si de plus f ∈ C(2(n+1) ([a, b], R) et ωn+1 est le polynôme de Newton de degré n + 1, alors
f (2(n+1))
f (x) − Hn (x) ≤ ω2n+1 (x). (4.2.4)
(2n + 2)!
Preuve: On remarque que les polynômes hi et h̃i définis en (4.2.3) sont tous de degré
2n + 1 satisfont
où Q est un polynôme de degré ≤ n. En dérivant les deux membres et en évaluant sur
les xi , i = 0, . . . , n, on obtient
n
Y
0 = H0 (xi ) − Hn0 (xi ) = ω0n+1 (xi )Q(xi ) − ωn+1 (xi )Q0 (xi ) = ω0n+1 (xi )Q(xi ) = (xi − x j )Q(xi ),
j=0
j,i
f (x) − Hn (x)
F(y) = f (y) − Hn (y) − ω2n+1 (y).
ω2n+1 (x)
F(2n+2) (ηx ) = 0.
f (x) − Hn (x)
(2n + 2)! = f (2n+2) (ηx ).
ω2n+1 (x)
La plus souvent on utilise les splines linéaires (m = 1), les splines quadratiques (m = 2)
et les splines cubiques (m = 3).
Définition 4.3.1
On appelle spline de degré m relativement aux nœuds (xi )0≤i≤n une fonction Sm ∆
: [a, b] −→ R
tel que
S |[x , x ] est un polynôme de degré m, i = 0, . . . , n − 1.
m
∆ i i+1
Sm ∈ C m−1 ([a, b], R) .
∆
Théorème 4.3.2
Soient n et m deux entiers positifs et un ensemble de points (ai )0≤i≤n de l’intervalle [a, b],
nous choisissons sur chaque intervalle [ai−1 , ai ] un ensemble de points (xij )0≤j≤m tels que
De plus, si la fonction f ∈ C m+1 ([a, b], R), nous avons l’estimation d’erreur
hm+1
f − Sm
∆ ≤ f (m+1) , (4.3.2)
(m + 1)!
avec h = max |xi+1 − xi |.
1≤i≤n
h2 00
f − Sm
∆ ≤ f ,
2
avec h = max |ai − ai−1 |.
1≤i≤n
Pour minimiser E on cherche d’abord les points stationnaires, autrement dit les points
(m, q) qui vérifient
n
∂E
X
(yi − mxi − q)xi = 0
−2
(m, q) = 0
∂m
i=0
⇐⇒
∂E
n
(m, q) = 0
X
−2 (yi − mxi − q) = 0,
∂q
i=0
c’est-à -dire
n n n n n n n
X X X X X X X
xi yi − (n + 1) xi yi
xi xi yi − yi x2i
i=0 i=0 i=0 i=0 i=0 i=0 i=0
m= n 2 n et q = n 2 n .
X X X X
xi − (n + 1) x2i
xi − (n + 1) x2i
i=0 i=0 i=0 i=0
2. Mêmes questions pour les points de cordonnées (0, 1), (0.5, 2), (1, 1.5) et (2, −1).
3. On donne la fonction f (t) = sin t pour t ∈ [0, 2π] et on note Pn (t) son polynôme
d’interpolation de Lagrange de degré n,
n
1 Y
en (t) := f (t) − Pn (t) et bn (t) = (t − ti )
(n + 1)! i=0
(a) montrer que |en (t)| ≤ bn (t) pour tout t ∈ [0, 2π] et n ≥ 1;
(b) donner l’expression analytique de Pn (t) pour n = 2 et n = 4;
(c) tracer, à l’aide d’un script MATLAB, les graphes de en (t) et bn (t) pour n = 2
et n = 4. Prendre pour pas de discrétisation h = 0.01.
3
X
4. On veut approcher une fonction f (x) par le polynôme P3 (x) = p j x j , sachant
j=0
que celle-ci passe les points (x1 , f1 ) et (x2 , f2 ) donnés, et que sa dérivée f (1) (x) =
f (x)
passe par les points x0 , f0(1) et x0 , f3(1) donnés. On demande d’établir le
dx
système permettant de calculer les coefficients p j , j = 0, 1, 2, 3. On supposera
x0 < x1 < x2 < x3 .
où p est un entier, les ωi sont des réels appelés poids et les xi des points de [a, b]. Une
telle formule est appelée formule de quadrature.
Le choix de p, des ωi et des xi dépendent de la méthode employée. Il s’agira donc
de se poser les questions suivantes:
f (n+1) (ζ) b
Z
En ( f ) = I( f ) − Qn ( f ) = ωn+1 (x) dx
(n + 1)! a
Z b
1
≤ ωn+1 (x) dx sup f (n+1) (y) . (5.1.6)
(n + 1)! a y∈[a, b]
• Laméthode des
rectangles correspond au choix ξ = a ou ξ = b. Si f est de classe
1
C [a, b], R , alors l’erreur de quadrature est tel que
(b − a)2
E0 ( f ) = |I( f ) − Q0 ( f )| ≤ sup | f 0 (y)|. (5.1.8)
2 y∈[a, b]
• Laméthode du
point milieu correspond au choix ξ = (a + b)/2. Si f est de classe
2
C [a, b], R , alors l’erreur de quadrature est tel que
(b − a)3
E0 ( f ) = I( f ) − Q0 ( f ) ≤ sup f 00 (y) . (5.1.9)
24 y∈[a, b]
Ce qui permet de conclure que la méthode des rectangles est exacte pour les fonctions
constantes et celle du point milieu est exacte pour les polynômes de degré inférieur ou
égal à un.
B. Méthode du trapèze
(b − a)3
E1 ( f ) = I( f ) − Q1 ( f ) ≤ sup f 00 (y) . (5.1.11)
12 y∈[a, b]
C. Méthode de Cavalieri-Simpson
à partir de (5.1.6) cause problème car la fonction (x−a)(x−m)(x−b) change de signe dans
l’intervalle [a, b]. D’autre part on peut montrer la formule de Simpson est exacte pour
tout polynôme de degré ≤ 3. Ce qui signifie qu’un polynôme de degré 3 interpolant f
conduit au même résultat. Soit le polynôme de degré 3 défini par
Il en découle puisque R(a) = f (a), R(b) = f (b) et R(c) = f (c) que R(x) interpole f . Par
suite, on a aussi Q2( f ) = I(R).
De plus on a aussi R (c) = f (c). Soit x ∈ [a, b] et si on
0 0
f (x) − R(x)
g(t) = f (t) − R(t) − 2
(t − a)(t − c)2 (t − c), a≤t≤b
(x − a)(x − c) (x − c)
est tel que g ∈ C4 [a, b], R avec g(a) = g(m) = g(b) = g(x) = g0 (m) = 0. L’application
successive du théorème de Rolle conduit à l’existence d’un réel ζ ∈ [a, b] tel que
g(4) (ζ) = 0. D’où, en tenant compte du fait R(4) (x) = 0, on a
f (x) − R(x)
g(4) (ζ) = f (4) (ζ) − 4! = 0,
(x − a)(x − c)2 (x − c)
c’est-à -dire
f (4) (ζ)
f (x) − R(x) = (x − a)(x − c)2 (x − c).
4!
Par conséquent, l’erreur de quadrature commise est
f (4) (ζ) b
Z
E2 ( f ) = I( f ) − Q2 ( f ) = (x − a)(x − c)2 (x − c) dx
4!
!a5 !5
1 b−a 1 b−a
= (4)
f (ζ) ≤ sup f (4) (y) . (5.1.13)
90 2 90 2 y∈[a, b]
D. Formules de Newton-Cotes
Ces formules sont basées sur l’interpolation de Lagrange avec noeuds équirépartis
dans [a, b]. Pour n ≥ 0 fixé, on pose xk = x0 + kh, k = 0, . . . , n, les noeuds de quadrature.
Les formules du point milieu, du trapèze et de Simpson sont des cas particuliers des
formules de Newton-Cotes correspondant respectivement à n = 0, n = 1 et n = 2. On
définit dans le cas général:
Par conséquent
n
X Z n
Qn ( f ) = h αi f (x◦i ), αi ψi (t) dt, ih ≤ x◦i ≤ (i + 1)h.
i=0 0
Si Eni ( f ) = Ii ( f ) − Qni ( f ) est l’erreur de quadrature sur l’intervalle [xi , xi+1 ], alors
l’erreur totale de la formule composite est donnée par
p−1
X
ET(n) ( f ) = I( f ) − QT(n) ( f ) = Eni ( f ). (5.2.3)
i=0
Pour chacune de p intervalles [xi , xi+1 ] on a: Q0i ( f ) = (xi+1 − xi ) f (ξi ). D’où, la formule
composite
Xp−1
Au cas où les nœuds xi sont équirépartis alors xi = a + ih, où h = b−a
p
, et les formules
ci-dessus deviennent
p−1
X
QT(0) ( f ) = h f (ξi ),
i=0
p−1
h2 X (b − a)2
ET(0) ( f ) = I( f ) − QT(0) ( f ) ≤ sup | f 0 (yi )| ≤ sup | f (y)|
2 i=0 yi ∈[xi , xi+1 ] 2p y∈[a, b]
pour la méthode des rectangles et
p−1
h3 X (b − a)3
ET(0) ( f ) = I( f ) − QT(0) ( f ) ≤ sup | f (yi )| ≤ sup | f (y)|
24 i=0 yi ∈[xi , xi+1 ] 24p2 y∈[a, b]
et
p−1
h3 X (b − a)3
ET(1) ( f ) = I( f ) − QT(1) ( f ) ≤ sup | f (yi )| ≤ 2
sup f 00 (y) .
12 i=0 yi ∈[xi , xi+1 ] 12p y∈[a, b]
On a besoin du point milieu de chaque sous-intervalle [xi , xi+1 ] soit mi = (xi+1 + xi )/2,
pour i = 0, . . . , p − 1; de sorte que pour chacune de ces sous-intervalles on a:
(xi+1 − xi ) h i
Q2i ( f ) = f (xi ) + 4 f (mi ) + f (xi+1 ) .
6
On en déduit ainsi la formule composite de Simpson
p−1
1X h i
QT(2) ( f ) = (xi+1 − xi ) f (xi ) + 4 f (mi ) + f (xi+1 ) ,
6 i=0
avec une erreur totale de quadrature
p−1
1 X
ET(2) ( f ) = I( f ) − QT(2) ( f ) ≤ 5
(xi+1 − xi )5 sup f (4) (yi ) .
90. 2 i=0 yi ∈[xi , xi+1 ]
Si les nœuds a = x0 < . . . < xp = b, sont équidistants alors, du fait que l’on doit
tenir compte du point milieu de chaque sous-intervalle, on a obtient 2p + 1 nœuds
équidistants a = x0 < m0 < x1 . . . < xp−1 < mp−1 < xp = b. Un nouveau paramétrage de
ces nœuds donne a = x0 < x1 < x2 < . . . < x2p−2 < m2p−1 < x2p = b. Ainsi, les formules
ci-dessus deviennent:
h̃ h i (b − a)
Q2i ( f ) = f (x2i ) + 4 f (x2i+1 ) + f (x2i+2 ) , h̃ = (xi+1 − xi ) =
3 2p
pour l’intervalle [x2i , x2i+2 ] et
p−1
h̃ X h i
QT(2) ( f ) = f (x2i ) + 4 f (x2i+1 ) + f (x2i+2 )
3 i=0
p−1 p−1
h̃
X X
= f (x0 ) + f (xp ) + 4 f (x 2i+1 ) + 2 f (x2i )
3
i=0 i=1
f (x)
où ω(x) est une fonction positive intégrable sur [a, b] et g(x) = est une fonction
ω(x)
lisse. Z b
L’approximation de l’intégrale I(g) = g(x) ω(x) dx par une formule de quadrature
a
peut être faite comme dans les sections précédentes autrement dit:
n
X
Qn (g) = g(xi ) ωi (5.3.1)
i=0
où les points d’intégration xi sont choisis d’avance et les poids sont données par
Z b
ωi = Li (x) ω(x)dx avec Li (x) les polynômes de Lagrange de degré n. Ces formules
a
sont dites de type interpolation et sont de l’ordre du nombre de ces points. En revenant,
en examinant l’expression générale des formules de quadrature, une question naturelle
est celle de savoir si on peut déterminer les points xi et les poids ωi de telle manière que
la formule soit d’ordre maximal. Ceci revient à
pour tout polynôme p de degré inférieur ou égal à m, avec m maximal. Ici ω(x) est une
fonction positive, intégrable, appelée fonction poids.
Pour résoudre ce problème, il y a au moins deux approches possible: l’approche
générale basée sur la résolution d’un système et l’approche basée sur la théorie des
polynômes orthogonaux. Avant d’aller plus loin on introduit cette définition.
où les points d’intégration xi et les poids ωi sont choisis de manière à ce que la formule soit
exacte pour les polynômes de degré ≤ 2n + 1.
Il s’agira donc de déterminer les points ti ∈ [−1, 1] et les poids ωi de sorte que la
formule
Xn Z 1
ωi p(ti ) = p(t) dt
i=0 −1
soit exacte pour tout polynôme p de degré le plus élevé possible. Ce qui revient à
résoudre le système
n
X Z 1
j
ωi ti = ti dt j = 0, 1, . . . , 2n + 1. (5.3.5)
i=0 −1
On montre que les points ti sont les racines du polynôme de Legendre de degré n + 1,
Pn+1 (t). Reste à calculer les poids ωi . Nous y reviendrons.
La formule de quadrature de Gauss pour une fonction f définie sur l’intervalle [a, b]
est alors donnée par
n
(b − a)ti + (a + b)
!
b−aX
QGn ( f ) = ωi f . (5.3.6)
2 i=0 2
Z 1
ω0 p(t0 ) = p(t) dt.
−1
On a deux inconnues: ω0 et t0 . On aura donc besoin de deux équations, par conséquent
deux polynômes. Prenons p0 (t) = 1 et p1 (t) = t. Ainsi, on obtient le système
Z 1 Z 1
ω0 = dt = 2 ; ω0 t0 = t dt = 0,
−1 −1
a+b a+b
! !
b−a
Q0 ( f ) =
G
.2. f = (b − a) f
2 2 2
Z 1
ω0 p(t1 ) + ω1 p(t2 ) = p(t) dt.
−1
La formule Z b
f (x) g(x) ω(x) dx
f |g ω :=
a
définit un produit scalaire pour deux fonctions quelconques f, g ∈ L2ω ([a, b]) qui fait
de L2ω ([a, b]) un espace de Hilbert. La norme associée à ce produit est donnée par
|| f ||2L2 := f | f .
ω
ω
Définition 5.3.2 On dit d’une suite (Pn (x))n≥0 finie ou infinie des polynômes que c’est une
suite des polynômes orthogonaux relativement au produit scalaire (. | .)ω si:
(Pn | Pm )ω = Cn δn m
Proposition 5.3.3 Soit P0 (x), P1 (x), . . ., Pn est une suite finie des polynômes orthogonaux.
Alors tout polynôme P(x) de degré ≤ n peut s’écrire de manière unique comme
n
X (P | Pi )ω
P(x) = ai Pi (x) où ai = i = 0, 1, . . . n. (5.3.7)
i=0
||Pi ||2ω
Si P(x) est un polynôme de degré < n alors il est orthogonal à Pn (x) c’est-à -dire (P | Pn )ω = 0
(i) le polynôme Pn (x) possède exactement n racines simples contenues dans l’intervalle ]a, b[,
c’est-à -dire Pn (x) = λn (x − x1 ) . . . (x − xn ),
(ii) les racines de Pn (x) séparent les racines de Pn+1 (x), c’est-à -dire
Proposition 5.3.5 Soit ω(x) une fonction positive sur [a, b]. Alors, il existe une unique suite
de polynômes orthogonaux, relativement au produit scalaire (. | .)ω , qui satisfont la relation de
récurrence à trois termes
λn (x Pn | Pn )ω ∧n ||Pn ||2ω
où ∧n = , αn = , n ≥ 0, β0 ∈ R, βn = , n ≥ 1 et
λn+1 ||Pn ||2ω ∧n−1 ||Pn−1 ||2ω
P−1 (x) = 0.
A. Polynômes de Legendre
Les polynômes de Legendre Pn (x) sont définis pour x ∈ [−1, 1] par la récurrence
suivante:
B. Polynômes de Chebyshev
Rappelons que les polynômes de Chebyshev Tn (x) sont définis pour x ∈ [−1, 1] par
C. Polynômes de Hermite
Les polynômes de Hermite Hn (x) sont définis pour x ∈ R par la récurrence suivante:
Proposition 5.3.6 Soit (Pn (x))n≥0 une famille de polynômes orthogonaux relativement à la
fonction de poids ω(x) > 0 et soient x0 , . . . , xn les n + 1 racines Pn+1 (x). Alors la matrice de
Vadermonde
P0 (x0 ) . . . P0 (xn )
A =
.. ..
. .
Pn (x0 ) . . . Pn (xn )
est inversible.
(c) inversement, si xi et ωi , i = 0, . . . , n sont tels que la formule en (a) soit exacte pour tout
polynôme P(x) de degré ≤ 2n + 1 alors ils vérifient le système (5.3.9);
(d) il n’est pas possible de trouver des xi et ωi , i = 0, . . . , n, tels que la formule en (a) soient
exacte pour un polynôme de degré 2n + 2;
(e) pour une fonction f ∈ C2n+2 ([a, b], R), l’erreur de quadrature de Gauss est donnée par
b
f (2n+2) (η)
Z
EGn ( f ) = (π(x))2 ω(x) dx, (5.3.10)
(2n + 2)! a
n
Y
où π(x) = (x − xi ) et η ∈ [a, b].
i=0
Preuve:
1◦ ) La formule est d’abord exacte pour tout polynôme de degré ≤ n. En effet, soit
P(x) un polynôme de degré ≤ n. Il est donc égal à son polynôme d’interpolation de
Lagrange aux points x0 , . . . , xn racines de Pn+1 (x), c’est-à -dire
n
X Z b n
X
P(x) = P(xi )Li (x) =⇒ P(x) ω(x) dx = P(xi ) ωi .
i=0 a i=0
2◦ ) La formule est encore exacte pour tout polynôme de degré 2n + 1. En effet, si P(x)
est un tel polynôme alors il existe deux polynômes Q(x) et R(x) de degré ≤ n tel que
D’où,
Z b Z b Z b n
X n
X
P(x) ω(x) dx = Q(x) Pn+1 (x) ω(x) dx + R(x) ω(x) dx = R(xi ) ωi = P(xi ) ωi
a a a i=0 i=0
n n n
Y 1 X X
où π(x) = (x − xi ) = Pn+1 (x) et H(x) = f (xi ) hi (x) + f (1) (xi ) h̃i (x),
i=0
αn+1
i=0 i=0
(1)
avec hi (x) = 1 − 2 Li (xi )(x − xi ) Li (x) et h̃i (x) = (x − xi ) Li (x)
2 2
de sorte que
Z b Z b
Pn+1 (x)
h̃i (x) ω(x) dx = Pn+1 (x) ω(x) dx = 0
a a (x − xi ) P(1) (x )
n+1 i
car Pn+1 (x) est orthogonal à tout polynôme de degré < n + 1 selon la Proposition 5.3.3;
Z b Z b
hi (x) ω(x) dx = L2i (x) ω(x) dx.
a a
Par suite,
Z b Z b b (2n+2) Z
f (ξx )
f (x) ω(x) dx = H(x) ω(x) dx + (π(x))2 ω(x) dx
a a a (2n + 2)!
n
X Z b
= f (xi ) L2i (x) ω(x) dx + EGn ( f ) (5.3.11)
i=0 a
f (x0 + h) − f (x0 )
f (1) (x0 ) ≡ f ‘(x0 ) = lim .
h→0 h
De cette formule on tire une approximation évidente de f (1) (x0 ) qui vaut
f (x0 + h) − f (x0 )
f˜(1) (x0 ) =
h
pour une valeur de h très petite. Malheureusement de cette approximation rien n’est
indiqué concernant l’erreur commise.
Pour ce faire on fait recourt encore une fois à l’interpolation afin d’estimer cette erreur
sur l’approximation de f 0 (x0 ). On suppose dans un premier temps que x0 ∈]a, b[, f est
de classe C 2 ([a, b]) et on prend h suffisamment petit de sorte que x1 = x0 + h ∈ [a, b].
On construit alors le polynôme d’interpolation de Lagrange de f aux points x0 et x1 :
f (2) (ξx )
f (x) = P1 (x) + (x − x0 )(x − x1 )
2!
f (x0 )(x − x0 − h) f (x0 + h)(x − x0 ) f (2) (ξx )
= + + (x − x0 )(x − x0 − h)
−h h 2!
où ξx ∈ [x0 , x1 ]. En dérivant les deux membres on obtient
f (x0 + h) − f (x0 ) 2(x − x0 ) − h (2) (x − x0 )(x − x0 − h) d (2)
f (1) (x) = + f (ξx ) + f (ξx ).
h 2 2 dx
Lorsque x = x0 on a d (2)
dx
f (ξx ) = 0, et la dérivée se réduit à
f (x0 + h) − f (x0 ) h (2)
f (1) (x0 ) = − f (ξ0 ). (5.4.1)
h 2
Pour obtenir une formule plus générale de la dérivation numérique d’une fonction f,
on va suppose que x0 , . . . , xn sont n + 1 différents points de l’intervalle [a, b] et que f
est de classe Cn+1 sur [a, b] de telle sorte que
n
X f (n+1) (ξx )
f (x) = f (xi )Li (x) + π(x),
i=
(n + 1)!
Cette formule devient très utile lorsque les points xi sont équidistants. Pour le cas de
trois points d’interpolation x0 , x1 , x2 , on montre que
2x − x1 − x2 2x − x0 − x2 2x − x0 − x1
L(1)
0
(x) = , L(1)
1
(x) = et L(1)
2
(x) = .
(x0 − x1 )(x0 − x1 ) (x1 − x0 )(x1 − x2 ) (x2 − x0 )(x2 − x1 )
Ainsi,
2x j − x1 − x2 2x j − x0 − x2
f0(1) (x j ) = f (x0 ) + f (x1 )
(x0 − x1 )(x0 − x1 ) (x1 − x0 )(x1 − x2 )
2
2x j − x0 − x1 1 (3) Y
+ f (x2 ) + f (ξ j ) (x − xk ), j = 0, 1, 2.
(x2 − x0 )(x2 − x1 ) 6 k=0
k, j
1 h2
f (1) (x0 + h) = − f (x0 ) + f (x0 + 2h) − f (3) (ξ1 ),
2h 3
1 h2
f (1) (x0 + 2h) = − f (x0 ) − 4 f (x0 + h) + 3 f (x0 + 2h) + f (3) (ξ2 ).
2h 3
0
D’où trois suivantes formules d’approximation de f (x0 ):
1 h2 (3)
f (1) (x0 ) = −3 f (x0 ) + 4 f (x0 + h) − f (x0 + 2h) +
f (ξ0 ), (5.4.3)
2h 3
1 h2
f (1) (x0 ) = − f (x0 − h) + f (x0 + h) − f (3) (ξ1 ), (5.4.4)
2h 3
1 h2 (3)
f (1) (x0 ) = − f (x0 − 2h) − 4 f (x0 − h) + 3 f (x0 ) +
f (ξ2 ). (5.4.5)
2h 3
On remarque que la dernière formule s’obtient à partir de la première en remplaçant h
par −h. La formule (5.4.4), appelée formule centrale, est utilisée lorsque x0 est le point
milieu de trois points tandis que les deux autres, appelées formules extrêmes, pour les
points extrêmes.
5. Evaluer les intégrales ci-dessus par la formule de Simpson, ensuite par la formule
du point milieu et enfin par la formule de trapèze. Puis comparer les résultats.
Systèmes différentiels
6.1 Introduction
Soit I = [a, b] un intervalle fermé de R et f : I × R −→ R, (t, x) 7→ f (t, x), une
application donnée. On suppose aussi que l’application y : R −→ R est différentiable.
Définition 6.1.1
On appelle équation différentielle ordinaire (EDO) du premier ordre, la relation
dy(t)
y0 (t) = = f (t, y(t)). (6.1.1)
dt
Une fonction φ(t) est dite solution de cette équation différentielle sur [a, b] si φ(t) satisfait
(6.1.1) pour tout t ∈ [a, b].
Remarques
= z2
0
z1
0
=
z 2 z3
.. ..
. .
=
0
z zn
n−1
z n = f (t, z1 , z2 , . . . , zn )
0
Il s’agit du schéma d’Euler implicite car il ne permet pas d’expliciter directement yi+1 en
fonction de yi lorsque la fonction f n’est pas triviale.
y0 = y(0) = 0.5
y1 = y0 + h y0 − (0.0)2 + 1 = 0.5 + 0.5(1.5) = 1.25
y2 = y1 + h y1 − (0.5)2 + 1 = 1.25 + 0.5(2.0) = 2.25
y3 = y2 + h y2 − (1.0)2 + 1 = 2.25 + 0.5(2.25) = 3.375
y(2) ≈ y4 = y3 + h y3 − (1.5)2 + 1 = 3.375 + 0.5(2.125) = 4.4375
Définition 6.2.3
Une méthode numérique approchant y(ti ) par yi telle que l’erreur ei = y(ti ) − yi vérifie
|ei | ≤ k hp , k ∈ R+∗ ,
Théorème 6.2.4
Si f (t, y) est continue et Lipschitzienne de constant L sur le domaine
y0 = y(a) donné
.
(6.2.6)
y − h f (t , y ) = y + h f (t , y ) i = 0, 1, . . . , N − 1
i+1 2 i+1 i+1 i 2 i i
Il s’agit d’un schéma implicite car il ne permet pas d’expliciter directement yi+1 en
fonction de yi lorsque la fonction f n’est pas triviale. En fait, ce schéma fait la moyenne
des schémas d’Euler progressif et rétrograde.
Pour éviter le calcul implicite de yi+1 dans le schéma du trapèze, nous pouvons
utiliser une prédiction d’Euler progressive et remplacer le yi+1 dans le terme f (ti+1 , yi+1 )
par yi+1 = yi + h f (ti , yi ). Obtient ainsi un nouveau schéma appelé schéma de Heun.
y0 = y(a) donné
ỹi+1 = yi + h f (ti , yi ) .
(6.2.7)
y = y + h f (t , y ) + f (t , ỹ )
i = 0, 1, . . . , N − 1
i+1 i 2 i i i+1 i+1
h2 00 hn hn+1 (n+1)
y(ti+1 ) = y(ti ) + hy0 (ti ) + y (ti ) + . . . + y(n) (ti ) + y (τi ), (6.2.8)
2! n! (n + 1)!
où τi ∈]ti , ti+1 [. Si f (t, y) est n fois continûment dérivable par rapport à t sur [a, b], on a
y0 (t) = f (t, y(t)), y00 (t) = f 0 (t, y(t)), . . . y(n) (t) = f (n−1) (t, y(t)), y(n+1) (t) = f (n) (t, y(t)).
h2 0 hn
y(ti+1 ) = y(ti ) + h f (ti , y(ti )) + f (ti , y(ti )) + . . . + f (n−1) (ti , y(ti ))
2! n!
hn+1 (n)
+ f (τi , y(τi )). (6.2.9)
(n + 1)!
= y(a) donné
y0
(6.2.10)
i+1 = yi + hT (ti , yi ); i = 0, 1, . . . , N − 1
y (n)
où
n−1
X hk
T (t, y) =
(n)
f (k) (t, y).
(k + 1)!
k=0
f 0 (t, y(t)) = y0 − 2t = y − t2 + 1 − 2t
y0 = y(0) = 0.5
" #
h
yi+1 = yi + h yi − ti + 1 +
2
yi − ti + 1 − 2ti
2
2
" ! #
h
= yi + h 1 + yi − ti + 1 + h ti = 1.22yi − 0.0088i2 − 0.008i + 0.22.
2
2
Théorème 6.2.5
Si le schéma de Taylor est utilisé pour approcher la solution y(t) du problème de Cauchy (6.2.1),
alors l’erreur de troncature local est d’ordre n.
Remarques:
1◦ ) La méthode d’Euler correspond à celle de Taylor d’odre 1
2◦ ) La méthode de Taylor présente une difficulté non de moindre qui réside dans le
calcul des dérivées f (k) (t, y(t)), k = 1, 2, . . . , n, c’est pourquoi on préfère utilisé les
méthodes Runge-Kutta.
où
n k
X 1 X k ∂k f
Pn (t, y) = (t − t0 ) (y − y0 ) k−j j (t0 , y0 )
k−j j
k=0
k! j=0 j ∂t ∂y
Remarques
1◦ ) Le même résultat peut être obtenu en utilisant l’intégration numérique.
En effet, la méthode du point milieu appliquée au second membre partant de l’équation
y0 (t) = f (t, y(t)) donne
Z ti +h
y(ti + h) − y(ti ) = f (s, y(s)) ds
ti
où les ci , ai,j et bi sont des paramètres réels. Cette technique à été introduite pour la
toute première fois par Karl Heun en 1900.
Cette méthode est moins connue car moins utilisée par rapport à celle d’ordre 4 qui
donne de bons résultats pour les problèmes de Cauchy.
y0 = y(a) donné
Pour i = 0, 1, . . . , N − 1
k1 = f (ti , yi )
!
h h
k2 = f ti + , yi + k1
2 2 !
(6.2.19)
h h
k3 = f ti + , yi + k2
2 2
k4 = f ti + h, yi + h k3
h
= + + + +
y i+1 y i k1 2 k2 2 k3 k4
6
Fin de la boucle i.
y (t) = f (t, y, z)
( 0
(6.2.20)
z0 (t) = g(t, y, z)
avec les conditions initiales y(a) = y0 , z(a) = z0 données. L’application du schémas
d’Euler à ce système se fait composante par composante:
= y(a) donné
(
y0
(6.2.21)
yi+1 = yi + h Φ ti , yi , h ,
où Φ est une application continue sur [a, b] × R × [0, b − a]. Elles sont encore appelées
méthode à un pas explicite ou encore méthodes à pas séparés.
Les notions théoriques que doit vérifier la fonction Φ afin que yi soit effectivement
une approximation de y(ti ) sont la consistance, la stabilité et la convergence.
Définition 6.2.6
Une méthode à un pas est consistante avec le problème de Cauchy (5.4.1) si pour toute solution
y
1
y(ti+1 ) − y(ti ) − Φ ti , y(ti ), h = 0.
lim max
h→0 i=0,...,N h
La quantité
1
E(t, y(t), h) = y(t + h) − y(t) − Φ t, y(t), h
h
est appelé erreur de consistance au temps t.
Définition 6.2.8
Soient yi et zi (i = 0, . . . , N) les solutions respectives de
= y(a) donné
(
y0
yi+1 = yi + h Φ ti , yi , h
et
= z(a) donné
(
z0
zi+1 = zi + h Φ (ti , zi , h) .
On dit que la méthode à pas séparés est stable s’il existe deux constantes positives K1 et K2
indépendants de h telles que
Théorème 6.2.9
Si Φ est Lipschitzienne par rapport à la seconde variable pour h suffisamment petit, alors la
méthode à un pas converge.
Définition 6.2.10
On dit qu’une méthode à un pas converge si
Théorème 6.2.11
Si une méthode à un pas est stable et consistante alors elle converge.
Définition 6.3.1
Un P.V.L. d’ordre 2 est un problème composé d’une équation différentielle du second ordre définie
sur un intervalle ]a, b[ et d’une condition en a et une autre en b:
u (t) = f (t, u, u0 ),
00
a ≤ t ≤ b
(6.3.1)
u(a) = α,
u(b) = β
Théorème 6.3.2
Si f est continue sur l’ensemble D = {(t, u, u0 ) ; a ≤ t ≤ b, |u| < ∞, et ku0 | < ∞} ;
et si les dérivées partielles fu et fu0 sont encore continues sur D. Si de plus
(ii) il existe une constante C > 0 telle fu0 (t, u, u0 ) ≤ C que pour tout (t, u, u0 ) ∈ D,
Définition 6.3.3
Un P.V.L. est dit linéaire s’il peut se mettre sous la forme
Corollaire 6.3.4
Si les conditions suivantes sont satisfaites:
t0 = a, t1 = t0 + h . . . , ti = t0 + i h . . . , tN+1 = b.
En additionnant membres à membres les deux dernières égalités et en tirant u00 (ti ),
obtient
1 h2
u00 (ti ) = 2 [u(ti−1 ) − 2u(ti ) + u(ti−1 )] − [u(4) (ξ−i ) + u(4) (ξ+i )].
h 24
On applique le théorème des valeurs intermédiaires pour trouver ξi ∈ [ti−1 , ti+1 ] telle
que
1 h2 (4)
[u(ti+1 ) −u00 (ti ) =
2u(ti ) + u(ti−1 )] − u (ξi ) (6.3.3)
h2 12
qui est appelé la formule centrale des différences approximant la dérivée seconde u00 (ti ).
La formule centrale de différence approximant la dérivée première a déjà été calculée
au chapitre précédent:
1 h2
u0 (ti ) = [u(ti+1 ) − u(ti−1 )] − u(3) (ηi ), ηi ∈]ti−1 , ti+1 [. (6.3.4)
2h 6
Puisque u est solution du P.V.I (6.3.2), on néglige les termes d’odre o(h2 ) pour obtenir
1 1
− 2
[u(ti+1 ) − 2u(ti ) + u(ti−1 )] + p(ti )[u(ti+1 ) − u(ti−1 )] + q(ti ) u(ti ) = g(ti )
h 2h
ou encore
! !
h h
− 1 + p(ti ) u(ti−1 ) + 2 + h q(ti ) u(ti ) − 1 − p(ti ) u(ti+1 ) = h2 g(ti ).
2
(6.3.5)
2 2
On cherche donc des approximations ui de u(ti ), ( i = 1, . . . , N ) telle que
! !
h h
− 1 + p(ti ) ui−1 + 2 + h2 q(ti ) ui − 1 − p(ti ) ui+1 = h2 g(ti ), (6.3.6)
2 2
avec u0 = u(t0 ) = α et uN+1 = u(tN+1 ) = β. Ceci revient à résoudre le système linéaire
Au = b (6.3.7)
où
λ1 µ1 ... ...
0 0
u1
b1
.. ..
ν2 λ2 µ2 . .
2
u2 h g(t2 )
. .. .. .. .. .. ..
0 ..
. . . . . .
A = u = . et b =
.. . . ; ..
... ... ...
. . 0
..
.
.. ..
u h2 g(t )
. νN−1 λN−1 µN−1
.
N−1 N−1
uN bN
... ... νN λN
0 0
On montre que ce système admet une solution unique si on choisit le pas h tel que
h < 2/C. On peut alors appliquer une des méthodes vues au quatrième chapitre ,
notamment celle de Newton généralisée, pour déterminer la solution.
Il est évident que cette méthode est d’ordre 2.
Définition 6.4.1
Une EDP du second ordre est généralement de la forme
1
∇2 u(x, y) ≡ uxx + u yy = − ρ(x, y), (6.4.2)
ε
où u(x, y) représente le potentiel électrique au point des cordonnées (x, y) d’une surface
plane D de bord ∂D, ε la permittivité du milieu, qu’on peut supposée constante, et
ρ(x, y) la densité de la charge en ce point; avec la condition de bord
où u(t, x) représente la température au point x et à l’instant t d’un fil de fer de section
constante de longueur b − a et f (x) un certain apport d’énergie externe. Les conditions
typiques de bord sont données par
donnant le déplacement vertical u(x, t) d’un point x à l’instant t d’une corde élastique
fine dont les bouts sont maintenus fixes. Ce système est caractérisé par les conditions
au bord
u(a, t) = 0, u(b, t) = 0, ∀t > 0,
spécifiant le fait que les deux bouts de la corde sont fixés, par les conditions initiales
∂u
u(x, 0) = f (x), (x, 0) = g(x) pour a ≤ x ≤ b,
∂t
qui décrivent respectivement le déplacement initial et la vitesse de la corde.
1
∇2 u(x, y) ≡ uxx + u yy = − ρ(x, y), (x, y) ∈ D,
ε (6.4.5)
u(x, y) = g(x, y) pour (x, y) ∈ ∂D,
tifs.
Nous utilisons la méthode de différences finies pour trouver une approximation
de la solution. Pour cela on se donne deux entiers N et M et on définit les pas de
discrétisations h = (b − a)/N et k = (d − c)/M. Ce qui revient à diviser l’intervalle [a, b]
en N parties de taille h et [c, d] en M parties de taille k; ou encore à placer une grille sur
la surface D en traçant des lignes verticales et horizontales aux points des cordonnées
(xi , yi ), avec
xi = a + i h, i = 0, 1, . . . , N et y j = a + j k, j = 0, 1, . . . , M.
Les lignes x = xi et y = y j sont appelées les lignes de la grille et leurs intersections les
points de grillage.
Pour chaque point de grillage intérieur de la grille c’est-à -dire (xi , y j ), i = 0, 1, . . . , N − 1
et j = 0, 1, . . . , M − 1 on a les formules de différences finies centrées
pour i = 1, . . . , N − 1 et j = 1, . . . , M − 1, et
2 3
(d) y0 + = 3 + 1, 1 ≤ t ≤ 2, y(1) = 1 avec h = 0.1.
t t
2t et
(e) y0 + y = , 0 ≤ t ≤ 2, y(0) = 1 ave le pas h = 0.1.
1 + t2 (1 + t2 )2
2
(f) ty0 + (1 + t)y = et , 1 ≤ t ≤ 1.5, y(1) = 2 avec le pas h = 0.05
(a) Montrer que ce PVL admet une solution unique que l’on déterminera.
(b) Donner une approximation de cette solution en utilisant le pas de discrétisation
h = 0.25.
N.B.: Utiliser si possible un script MATLAB pour trouver l’approximation
u0 = 998u + 1999v
v0 = −999u + 1999v.