Analyse numérique : Fiche résumé de cours

Transcription

Analyse numérique : Fiche résumé de cours
Université de Versailles Saint-Quentin-en-Yvelines
Préparation à l’Agrégation interne de Mathématiques
Année Universitaire 2014-2015
P. Gabriel
Analyse numérique : Fiche résumé de cours
1
Approximation d’un nombre par une suite
On cherche à approcher un réel l par une suite (un ). Il est naturel de chercher une suite qui
converge le plus rapidement possible vers a. Il s’agit alors de savoir ce que signifie "converger rapidement".
1.1
Quelques définitions
Définition. Soit (un ) une suite convergeant vers a avec un 6= a pour tout n. On suppose que la suite
|un+1 − a|
|un − a|
converge vers λ.
1. Si λ = 1, on dit que la convergence est lente.
2. Si 0 < λ < 1, on dit que la convergence est géométrique de rapport λ.
3. Si λ = 0, on dit que la convergence est rapide.
λ est alors appelé coefficient de convergence de la suite (un ).
Remarque. On peut trouver dans certains livres la définition suivante :
Autre définition, non équivalente ! Soit (un ) une suite convergeant vers a. On dit que la convergence vers a de la suite (un ) est (au moins) géométrique si la suite (|un − a|) est dominée par une suite
géométrique (k n ) avec 0 < k < 1.
Attention, elles ne sont pas équivalentes : si les hypothèses de la définition 1 sont vérifiées, alors celles
de la définition 2 le sont aussi (C’est le théorème de D’Alembert), mais la réciproque est fausse. Prendre
1
1
1
par exemple la suite définie par u2n = 22n
et u2n+1 = 42n+1
. La suite est géométrique (majorée par 2n
),
un+1
mais un n’a pas de limite.
Quelques fois, on se contente de : "on dit que la convergence vers a de la suite (un ) est (au moins)
géométrique si la suite (|un − a|) vérifie ∀n, |un+1 − a| 6 k|un − a|, 0 < k < 1."
Définition. Soit (un ) une suite convergeant vers a avec un 6= a pour tout n. On dit que la convergence
vers a de la suite (un ) est d’ordre r si le rapport
|un+1 − a|
|un − a|r
tend vers k, 0 < k 6 1.
1
1.2
Méthodes d’accéleration de convergence
Définition. Soit (vn )est une autre suite convergeant vers a avec vn 6= a pour tout n ∈ N ; on dit que
la convergence de cette suite vers a est plus rapide que celle de (un ) si lim uvnn−a
−a est 0.
Accélérer la convergence d’une suite consiste à construire à partir de cette dernière une autre
suite qui converge plus vite vers la même limite.
Théorème (Méthode de Richardson-Romberg). Soit (un ) une suite convergeant géométriquement vers
−a
a avec uun+1
tendant vers λ, 0 < |λ| < 1. Alors la suite (vn ) définie par
n −a
vn =
un+1 − λun
1−λ
converge plus vite vers a que (un ).
Il faut alors connaître le réel λ.
Théorème. Soit une suite (un ) admettant un développement asymptotique de la forme
un = a + bλn + o(λn ),
où b est un réel non nul et 0 < |λ| < 1. Alors la suite (un ) converge vers a avec une convergence
géométrique de rapport λ.
Théorème. Soit une suite (un ) admettant un développement asymptotique de la forme
un = a + bλn + cµn + o(µn ),
où b et c sont des réels non nuls et 0 < |µ| < |λ| < 1. Alors la suite (vn ) définie par vn =
un développement asymptotique de la forme
un+1 −λun
admet
1−λ
vn = a + c0 µn + o(µn ),
où c0 est un réel non nul. La convergence de la suite (vn ) vers a est géométrique de rapport µ.
Remarque. On peut itérer la méthode de Richardson si on a un = a + bλn + cµn + dγ n + o(γ n ) (voir
par exemple le Dantzer).
Lorsque λ est inconnu, on peut approcher ce réel par une suite (λn ) :
Théorème (Méthode d’Aitken). Soit (un ) une suite convergeant vers a avec un 6= a et un 6= un+1
pour tout n. On pose
un+1 − un
λn =
.
un − un−1
— La suite (λn ) converge vers λ.
— Il existe un rang n0 tel que pour tout n > n0 , λn 6= 1.
— La suite (vn ) définie à partir du rang n0 par
vn =
un+1 − λn un
1 − λn
converge plus vite vers a que (un ).
2
2
Approximation d’une solution d’une équation f (x) = 0
Introduction
Soit un intervalle [a, b] ⊂ R. Soit f : [a, b] → R une fonction continue admettant un unique zéro
dans (a, b), que l’on note x̄. Nous nous intéressons ici à la mise en œuvre de méthodes itératives de
recherche de zéro, basées sur la construction d’une suite xn qui converge vers l’élément x̄.
Plus l’ordre de convergence est élevé, plus la méthode converge rapidement vers la solution cherchée.
En pratique, on ne peut évidemment pas construire la suite jusquà n = ∞, il faut donc se fixer un ou
plusieurs critères d’arrêt pour la méthode.
2.1
Méthode de la dichotomie
Pour une fonction continue, la propriété f (a)f (b) < 0 caractérise l’existence d’un zéro dans l’intervalle [a, b]. La méthode de dichotomie vise à localiser le zéro de la fonction en gardant cette propriété
sur des intervalles de plus en plus petits, de manière à encadrer le zéro de plus en plus précisémment.
A l’itération n, on rétrécit l’intervalle de recherche [an , bn ] en le divisant par deux et en choisissant le
sous-intervalle qui contient le zéro. En langage algorithmique abstrait, l’algorithme est défini comme
suit :
Initialisation a0 = a ; b0 = b ; x0 = (a0 + b0 )/2
Tant
que
critère
d’arrêt
non
atteint,
c = (an + bn )/2
si f (an )f (c) < 0 alors an+1 = an et bn+1 = c
sinon bn+1 = bn et an+1 = c
xn+1 = (an+1 + bn+1 )/2
répéter
l’itération
La méthode de dichotomie est convergente, d’ordre 1.
F(a(0))=F(a(1))
F(a(2))
a(0)=a(1)
(2)
a
_
x
(1)
(2)
b =b
(0)
b
F(b(1))=F(b(2))
F(b(0))
Illustration graphique de la méthode de dichotomie
2.2
Méthode des approximations successives (ou du point fixe)
Il s’agit tout simplement de résoudre une équation f (x) = 0 en posant g(x) = f (x) + x. On
considère la suite (un ) définie par récurrence u0 = x0 , un+1 = g(un ). Si la suite converge, alors sa
limite a vérifiera g(a) = a c’est-à-dire f (a) = 0. On approche alors a par un terme an avec n assez
grand. Voici un exemple de résultat.
Théorème. Soit f une fonction définie sur un intervalle I. On pose g(x) = f (x) + x. On suppose que
g(I) ⊂ I. On considère alors la suite (un ) définie par récurrence par u0 = x0 ∈ I, un+1 = g(un ). On
3
suppose que (un ) converge vers a ∈ I avec un 6= a à partir d’un certain rang. Enfin, on suppose que g
est dérivable en a avec |g 0 (a)| < 1.
— Si g 0 (a) 6= 0, alors (un ) converge géométriquement de rapport |g 0 (a)|.
— Si g 0 (a) = 0, la vitesse de convergence de (un ) est rapide. De plus, si g est p−fois dérivable en a
(p > 2), avec
∀k ∈ {1, 2, · · · , (p − 1)}; , g (k) (a) = 0 et g (p) (a) 6= 0,
alors la vitesse de convergence de (un ) est d’ordre p.
2.3
Méthode de la sécante
Ici, on approche le zéro de la fonction f en construisant une suite d’intersection de droites avec
l’axe y = 0. Plus précisément, à l’itération n + 2, la solution xn+2 est calculée comme l’intersection de
l’axe y = 0 et de la droite (D) joignant (xn , f (xn )) à (xn+1 , f (xn+1 )). Cette droite a pour équation
(D) :
y=
f (xn+1 ) − f (xn )
(x − xn ) + f (xn ),
xn+1 − xn
L’algorithme est le suivant
Initialisation x0 et x1 sont choisis dans [a, b]
Tant
que
critère
d’arrêt
non
atteint,
xn+1 − xn
xn+2 = xn −
f (xn )
f (xn+1 ) − f (xn )
répéter
l’itération
√
La méthode de la sécante est localement convergente, d’ordre γ = (1 + 5)/2. Le terme localement
indique que la méthode peut converger ou non suivant l’initialisation. Ceci est un désavantage par
rapport à la méthode de dichotomie, mais la méthode de la sécante est plus rapide (lorsqu’elle converge).
F(x0)
F(x )
2
F(x3)
x0
x
2
x
3
_
x
x
1
F(x1)
Illustration graphique de la méthode de la sécante.
2.4
Méthode de Newton
Voici maintenant la célèbre méthode de Newton, qui bien que datant de près de trois siècles
reste encore un outil fondamental pour la recherche de zéros. On fait ici deux hypothèses supplémentaires sur la fonction f : f est de classe C 1 au voisinage de x̄, et f 0 (x̄) 6= 0. L’interprétation
graphique de la méthode repose sur l’équation de la droite (D) tangente au graphe de f en xn , i.e.
(D) : y = f 0 (xn ) (x − xn ) + f (xn ). L’intersection de cette droite avec l’axe y = 0 définit xn+1 . Voici
l’algorithme
4
Initialisation x0 est choisi dans (a, b)
Tant que critère d’arrêt non atteint, répéter l’itération
f (xn )
xn+1 = xn − 0
f (xn )
La méthode de Newton est localement convergente, d’ordre 2 (on parle de convergence quadratique).
Cette méthode peut donc converger en très peu d’itérations si l’initialisation est bien choisie.
F(x0)
F(x1)
F(x2)
x
x
2
1
x0
Illustration graphique de la méthode de Newton.
3
3.1
Intégration numérique
Généralités
Soit f une fonction continue sur [a, b] à valeurs réelles, on cherche à calculer de manière approchée
l’intégrale
Z b
f (x)dx.
a
Applications innombrables dans tous les domaines (de la physique à la finance) dès qu’on ne connaît
pas de primitives pour f (ce qui arrive souvent pour les calculs de probabilités avec des lois à densité) !
1. Méthodes probabilistes : exemple de la méthode de Monte-Carlo (allusion aux jeux de hasard
pratiqués à Monte-Carlo, Nicholas Metropolis, Stanislas Ulam (1947-49)).
2. Méthodes déterministes (Newton, Cotes (1711), Simpson (1743), Euler ( 1770), Gauss ( 1810)
pour des calculs en physique et en astronomie d’intégrales de fonction dont on ne connait pas
d’expression analytique de primitives)
3.2
Méthodes probabilistes : exemple de la méthode de Monte-Carlo
Méthode :
Soit (Xn )n>1 une suite de v.a. i.i.d de loi uniforme sur [a, b] et soit f : [a, b] −→ R une fonction intégrable
sur [a, b]. Alors la loi forte des grands nombres appliquée à la suite de v.a.r. i.i.d (f (Xi ))i>1 entraîne la
convergence presque-sûre suivante :
Z
1
1
(f (X1 ) + ... + f (Xn )) −→n→+∞ E[f (X1 )] =
f (x)dx
n
b − a [a,b]
Convergence :
Si la variance de f (X1 ) existe le TCL assure la convergence en √1n
Remarque : méthode relativement lente en dimension 1 par rapport aux méthodes déterministes (voir
section 2.3), mais relativement efficace en dimension élevée.
De plus, la méthode demande très peu de régularité sur f .
5
3.3
Méthode déterministe
Subdivision de [a, b] : a = x0 < x1 < ... < xN −1 < xN = b,
Z
b
f (x)dx =
N
−1 Z xj+1
X
a
f (x)dx
(relation de Chasles).
xj
j=0
Changement de variable sur chaque [xj , xj+1 ] : x = xj + thj , hj = xj+1 − xj :
Z
xj+1
Z
xj
0
b
Z
1
f (xj + thj )dt
f (x)dx = hj
f (x)dx =
d’où
a
N
−1
X
Z
j=0
1
f (xj + thj )dt.
hj
0
Conséquence : on s’est ramené par changement de variable aux calculs des intégrales sur
R 1 [0, 1] :
f
(x
+
th
)dt
.
Il
suffit
ainsi
de
chercher
des
formules
pour
le
calcul
d’intégrales
du
type
j
j
0
0 g(t)dt
(g jouera le rôle de chaque t 7→ f (xj + thj )).
R1
3.4
Formules de quadrature
Exemples de formules "intuitives" :
1. avec un seul noeud :
Z 1
g(t)dt ∼ (1 − 0)g(ξ) = g(ξ).
0
Choix pour ξ : ξ = 0 (méthode des rectangles à gauche, obtenue en approchant g par le polynôme
de degré 0 (une fonction constante..) dont la courbe passe par (0, g(0)), ξ = 21 (point milieu), ξ = 1
(rectangles à droite)...
rectangles à gauche pour
Rb
a
f,
points milieux pour
Rb
a
f
2. avec deux noeuds (trapèze)
Z
1
g(t)dt ∼
0
1
(g(0) + g(1))
2
obtenue en approchant g par le polynôme de degré 1 (une fonction affine..) dont la courbe passe par
(0, g(0)) et (1, g(1)),
méthode des trapèzes pour
6
Rb
a
f
3. de Simpson à trois noeuds, obtenue en approchant g par le polynôme de degré 2 dont la courbe
passe par les points (0, g(0)), ( 12 , g( 12 )), (1, g(1)) :
Z 1
1
1
g(t)dt ∼ (g(0) + 4g( ) + g(1)).
6
2
0
méthode de Simpson pour
Rb
a
f
4. de Newton-Cotes à s noeuds obtenue en approchant g par le polynôme de degré s − 1 dont
i
i
la courbe passe par les points ( s−1
, g( s−1
)) (il s’agit du polynôme interpolateur de Lagrange de degré
s − 1 passant par ces points).
De manière générale,
Définition. Une formule de quadrature à s étages (ou noeuds) est déterminée par la donnée de s
couples (ξi , bi )i=1,...,s et la quantité
s
X
bi g(ξi ).
(1)
i=1
Les ξi sont les noeuds et les bi sont les poids de la formule.
La formule de quadrature utile uniquement si :
Z 1
s
X
g(x)dx ∼
bi g(ξi ).
0
i=1
But : trouver une formule de quadrature (c’est-à-dire trouver les poids et les noeuds) afin que
l’erreur (en valeur absolue) commise entre la valeur exacte et la valeur approchée de l’intégrale soit la
plus petite possible. Pour cela, on utilise la notion d’ordre.
Définition. On dit que l’ordre de la formule de quadrature (1) est p lorsque la formule est exacte pour
tous les polynômes de degrés 6 p, c’est-à-dire
Z 1
s
X
g(t)dt =
bi g(ξi ) pour deg(g) 6 p
0
i=1
et qu’il existe au moins un polynôme de degré p + 1 pour lequel la formule n’est pas exacte.
Remarque.
1. Par définition des méthodes, méthode des trapèzes : ordre > 1, méthode de Simpson :
ordre > 2, méthode de Newton-Cotes : ordre > s − 1.
2. Il existe une méthode pour avoir l’ordre le plus élevé possible : il s’agit de la formule de quadrature
de Gauss, dont on ne parlera pas ici.
4
4.1
Séries
Valeur approchée de la somme d’une série convergente
Soit Σk>0 uk une série convergente. On cherche à calculer une valeur approchée de sa somme
n
S = Σ+∞
k=0 uk . On approche naturellement et facilement S par Sn = Σk=0 uk . L’erreur est donnée par
l’évaluation du reste Rn = Σ+∞
k=n+1 uk . Ainsi pour avoir une valeur approchée de S par Sn à près, il
suffit de trouver n tel que |Rn | < .
Cas particuliers :
7
1. Séries vérifiant les hypothèses du théorème des suites alternées : on a Rn 6 un+1 . On connaît
même le signe de Rn (qui est celui de un+1 ).
|
2. Série dont la convergence peut se montrer avec la règle de d’Alembert : |u|un+1
→ λ < 1 donc à
n|
partir d’un certain rang N , |un+1 | < (λ + )|un | avec 0 < λ + < 1. Ainsi pour n > N ,
|Rn | 6
(λ + )n−N +1
|uN |.
1 − (λ + )
1
Exemple : donner une approximation à 10−3 près de S = Σ+∞
n=0 2n +1 .
3. Série dont la convergence peut se montrer par une comparaison à une série de Riemann : pour
n > N , |un | 6 nKα , α > 1. Ainsi pour n > N ,
|Rn | 6 K
+∞
X
k=n+1
Z +∞
+∞ Z k
X
dt
1
dt
K
6
K
=
K
=
.
α
α
kα
t
t
(α
−
1)nα−1
n
k−1
k=n+1
Exemple : donner une approximation à 10−3 près de S =
4.2
P+∞
1
n=0 n2 +1 .
Evaluation asymptotique du reste d’une série convergente
Il n’y a pas de résultat particulier. On peut utiliser les théorèmes sur les comparaisons de séries
et intégrales (pour un = f (n), f décroissante positive sur [0, +∞[), ou entre les séries (pour un > 0)...
5
Résolution de systèmes linéraires
Pour résoudre un système linéaire qui s’écrit Ax = b avec A inversible, on ne calcul pas l’inverse
de la matrice A ! Le coût d’une telle opération est trop élevé. En effet cela reviendrait à résoudre
n systèmes linéaires pour obtenir A−1 puis à multiplier cette matrice par b. Nous présentons ici des
méthodes de résolution bien plus efficaces.
5.1
Élimination de Gauss
L’idée est de se ramener à la résolution d’un système triangulaire. La méthode de l’élimination
de Gauss comporte trois étapes :
— élimination : calcul d’une matrice M inversible telle que M A = T soit triangulaire supérieure,
— mise à jour du second membre : calcul simultané de M b,
— substituion : résolution du système triangulaire T x = M b par simple remontée.
Remarque (Quelques aspects pratiques de la méthode de Gauss).
1. On ne calcul jamais M ! On calcule directement M A et M b.
2. Si la matrice A n’est pas inversible, on va trouver un coefficient diagonal de T = M A nul et on
ne va pas pouvoir résoudre T x = M b. En revanche l’élimination, elle, est toujours possible.
3. À l’étape k, on ne modifie que la partie des lignes k + 1 à n comprise entre les colonnes k + 1 à
n.
4. Comme sous-produit de l’élimination de Gauss, on peut calculer le déterminant de la matrice A.
En effet on a det A = ± det T.
8
5.2
Factorisation LU
La méthode LU consiste à factoriser la matrice A en un produit de deux matrices triangulaires
A = LU, où L est triangulaire inférieure et U triangulaire supérieure. Il s’agit en fait du même
algorithme que celui de l’élimination de Gauss dans le cas pariculier où on ne "pivote" jamais. Une fois
établie la factorisation LU de A, la résolution du système linéaire Ax = b est équivalente à la simple
résolution de deux systèmes triangulaires Ly = b puis U x = y.
Théorème. Soit A = (aij )16i,j6n une matrice carrée d’ordre n telle que les n sous-matrices diagonales


a11 · · · a1,k

..  ,
∆k =  ...
16k6n
. 
ak1 · · ·
akk
soient inversibles. Alors il existe un unique couple (L, U ) de matrices, avec L triangulaire inférieure
avec des 1 sur la diagonale, et U triangulaire supérieure, tel que
A = LU.
Remarque. Le nombre d’opérations élémentaires nécessaires pour résoudre un système linéaire par la
méthode de Gauss ou la factorisation LU est d’environ n3 /3.
5.3
Méthode de Cholesky
Les matrices symétriques définies positives vérifient les conditions d’application de la factorisation
LU. En fait il existe même une factorisation analogue mais plus simple car elle ne fait intervenir qu’une
seule matrice.
Théorème. Soit A une matrice symétrique réelle définie positive. Il existe une unique matrice réelle
B triangulaire inférieure dont tous les éléments diagonaux sont positifs et qui vérifie
A = BB T .
Remarque. Le nombre d’opérations élémentaires nécessaires pour résoudre un système linéaire par la
méthode de Cholesky est d’environ n3 /6. La méthode de Cholesky est donc deux fois plus rapide que la
décomposition LU.
9