Module MÉNUM : MÉthodes NUMériques

Transcription

Module MÉNUM : MÉthodes NUMériques
ESM–MENUM
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
UED ESM
Étude et modélisation des Systèmes Mécaniques
Intégration
numérique
Module MÉNUM : MÉthodes NUMériques
Jean-luc CHARLES
[email protected]
Arts & Métiers ParisTech Bordeaux
2010-2011
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
1 / 121
ESM–MENUM
Présentation
Arithm. Flottante
Objectifs
“Acquérir certaines méthodes numériques et notions mathématiques utiles aux
sciences de l’ingénieur.”
Équations
Différentielles
Systèmes Linéaires
“Connaı̂tre les champs d’application et les limites de ces méthodes.”
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Programme/Plan
1
Arithmétique flottante, erreurs numériques.
2
Résolution Numérique des Équations différentielles :
Méthode des différences finies.
Schémas numériques : Euler, Runge-Kutta...
3
Résolution des système linéaires.
4
Résolution des équations non linéaires.
5
Interpolation, approximation.
6
Intégration numérique.
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
2 / 121
ESM–MENUM
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Organisation
Enseignants (2010-2011) :
Jean-luc CHARLES, Éric DUCASSE, Étienne PRULIÈRE
10 amphis de 1h
“10h ED - 6h TP” = “16h”
à partir de rentrée 2010 :
2 ED MENUM de 4h
4 fois (2h MENUM intégrés dans TDP 4h ESM) = 16h
Évaluation :
bilan des connaissances Amphi 1
2 épreuves de contrôle continu :
1
2
contrôle-cours (15 minutes en début d’ED1)
contrôle final (30 minutes en fin d’amphi 10)
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
Présentation
Arithm. Flottante
Nombres Flottants
Arrondi
Norme IEEE 754
Erreurs numériques
Équations
Différentielles
3 / 121
Arithmétique flottante - Nombres flottants
Rappel : représentation binaire des entiers naturels
8 bits b7 b6 b5 b4 b3 b2 b1 b0 : 28 = 256 valeurs dans [0,255]
16 bits b15 b14 b13 ...b2 b1 b0 : 216 = 65536 valeurs dans [0,65535]
32 bits b31 b30 b29 ...b2 b1 b0 : 232 = 4 294 967 296 valeurs dans [0,4294967295]
...
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Rappel : représentation binaire signée des entiers relatifs
bit de signe
complément à 2 = (complément à 1) + 1 :
soit à représenter l’entier relatif −49 sur un octet en complément à 2
✓ représentation binaire
: 49d = (32 + 16 + 1)d = 001100012
✓ complément à un
: 110011102
✓ (complément à un) + 1
: 110011112
✓ binaire en complément à 2
: −49d = 110011112
✓ Vérification
: −49d + 50d = 110011112 + 001100102
= 12 = 1d
complément à 2 sur 8 bits : 256 valeurs dans [-128, 127]
complément à 2 sur 16 bits : 65536 valeurs dans [-32768, 32767]
complément à 2 sur 32 bits : 4 294 967 296 valeurs dans [-2147483648,
2147483647]
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
4 / 121
ESM–MENUM
Présentation
Arithm. Flottante
Nombres Flottants
Arrondi
Norme IEEE 754
Erreurs numériques
Arithmétique flottante
Équations
Différentielles
Systèmes Linéaires
■ Nombres flottants
Équations
non-linéaires
❏ Arrondi
Interp./Approx.
Intégration
numérique
❏ Norme IEEE 754
❏ Erreurs numériques
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
Présentation
Arithm. Flottante
Nombres Flottants
5 / 121
Arithmétique flottante - Nombres flottants
Représentation d’un nombre réel x en virgule flottante sur p
chiffres en base β
Arrondi
Norme IEEE 754
Erreurs numériques
Équations
Différentielles
x = ± d0 , d1 d2 . . . dp−1 β e 0 6 di 6 β − 1
Systèmes Linéaires
Équations
non-linéaires
✓ m = d0 , d1 d2 . . . dp−1 : mantisse (significant) constituée de p chiffres
significatifs
Interp./Approx.
Intégration
numérique
✓ e : exposant (entier borné : e ∈ [emin , emax ])
✓ β : base (entier : 2, 10, 16 ...)
✓ En faisant varier e, on peut faire «flotter» la virgule (le point)
✓ Remarque : en représentation virgule fixe, la valeur de l’exposant e est fixée
✓ Représentation normalisée :
→ d0 est non nul : 1 6 d0 6 β − 1
→ représentation flottante unique.
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
6 / 121
ESM–MENUM
Présentation
Arithm. Flottante
Nombres Flottants
Arrondi
Norme IEEE 754
Erreurs numériques
Arithmétique flottante
Équations
Différentielles
Systèmes Linéaires
❏ Nombres flottants
Équations
non-linéaires
■ Arrondi
Interp./Approx.
❏ Norme IEEE 754
Intégration
numérique
❏ Erreurs numériques
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
7 / 121
Arithmétique flottante - Arrondi
Présentation
Arithm. Flottante
Nombres Flottants
Arrondi
Norme IEEE 754
Erreurs numériques
Représentation d’un nombre réel x par un nombre en virgule
flottante
Juste x vaut exactement d0 , d1 d2 . . . dp−1 β e
Équations
Différentielles
Systèmes Linéaires
Arrondie si x est compris entre 2 flottants qui ne différent que par le
dernier chiffre
√
si le nombre de chiffres de x > p (exemple : π,1/3, 2)
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
✓ Lorsqu’on approxime x par le flottant le plus proche, on fait une erreur
d’arrondi ∆x sur le dernier chiffre :
∆x
1
6 β −p+1
x
2
✓ Le nombre ε = β −p+1 est appelé précision-machine (epsilon-machine)
✓
1 −p+1
β
2
est le plus petit nombre positif qui, ajouté à 1, donne un résultat
différent de 1 en arithmétique flottante
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
8 / 121
ESM–MENUM
Présentation
Arithm. Flottante
Nombres Flottants
Arrondi
Norme IEEE 754
Erreurs numériques
Arithmétique flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
❏ Nombres flottants
❏ Arrondi
■ Norme IEEE 754
❏ Erreurs numériques
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
9 / 121
Arithmétique flottante - Norme IEEE 754
Présentation
Arithm. Flottante
Nombres Flottants
Arrondi
Norme IEEE 754
Erreurs numériques
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Norme IEEE 754
✓ La norme IEEE 754 (1985) spécifie 4 classes de représentation des nombres
réels au format binaire flottant ainsi que les opérations associées
✓ Les flottants IEEE les plus utilisés : simple et double précision :
Tableau récapitulatif
β
Nombre de chiffres significatifs p
emin
emax
Nombre total de bits stockés
Bit de signe
Nombre de bits partie fractionnaire
Nombre de bits de l’exposant
E (biais de l’exposant)
Précision machine ε
Plus petit flottant positif xmin+
Plus grand flottant xmax
simple
2
24
−126
127
32
1
23
8
127
∼ 1.2 10−7
∼ 1.17 10−38
∼ 3.40 1038
double
2
53
−1022
1023
64
1
52
11
1023
∼ 2.22 10−16
∼ 2.22 10−308
∼ 1.79 10308
✓ Implémentation matérielle des représentation et calculs flottants IEEE 754
dans les architecture microprocesseurs (Intel, AMD...) → performances
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
10 / 121
ESM–MENUM
Arithmétique flottante - Norme IEEE 754
Présentation
Arithm. Flottante
Nombres Flottants
Arrondi
Codage binaire IEEE 754
Norme IEEE 754
b31
signe
flottant simple précision (32 bits)
b30 . . . b23
b22 . . . b0
e + 127
partie fract. de la mantisse
b63
signe
flottant double précision (64 bits)
b62 . . . b52
b51 . . . b0
e + 1023
partie fract. de la mantisse
Erreurs numériques
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
L’exposant e est décalé d’un biais (+127 ou +1023) permettant de représenter un
exposant négatif sur 8 (ou 11) bits non signés.
Exemple de codage IEEE
Représentation binaire IEEE du nombre x = −118.625d .
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
Présentation
11 / 121
Arithmétique flottante - Norme IEEE 754
Valeur décimale d’un flottant binaire IEEE
Arithm. Flottante
Nombres Flottants
Arrondi
Norme IEEE 754
Erreurs numériques
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
x = (−1)s ∗ (1.m)d ∗ 2(e−E )d
✓ s : bit de signe
✓ 1.m : mantisse, dont la partie entière vaut 1 (imposée), et dont la partie
fractionnaire est donnée par les bits IEEE correspondants
✓ E : décalage fixe (127 en simple précision, 1023 en double précision)
✓ Flottant simple précision :
7
1
x = (−1)b31 (1 + b22 2−1 + b21 2−2 + · · · + b0 2−23 ) 2(b30 2 +···+b24 2 +b23 −127)
✓ Flottant double précision :
10
1
x = (−1)b63 (1 + b51 2−1 + b50 2−2 + · · · + b0 .2−52 ) 2(b62 2 +···+b53 2 +b52 −1023)
cas particuliers IEEE : représentations dénormalisées
✓ Le nombre 0 a une représentation IEEE où tous les bits (exposant et
mantisse) sont nuls (le bit de signe peut être 0 ou 1)
✓ Des représentations IEEE binaires dénormalisées permettent de représenter :
les valeurs entre 0 et le plus petit flottant positif (plus grand négatif)
les “Non-Nombre” comme :
±∞ (division d’un nombre flottant par zéro par exemple)
NaN : Not a Number (racine carrée d’un nombre négatif par exemple)
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
12 / 121
ESM–MENUM
Arithmétique flottante - Norme IEEE 754
Présentation
Arithm. Flottante
Nombres Flottants
Arrondi
Norme IEEE 754
Erreurs numériques
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Exemple Python (console)
>>> import numpy as np
>>> print np.finfo(float)
Machine parameters for float64
--------------------------------------------------------------------precision= 15
resolution= 1.0000000000000001e-15
machep=
-52
eps=
2.2204460492503131e-16
negep =
-53
epsneg=
1.1102230246251565e-16
minexp= -1022
tiny=
2.2250738585072014e-308
maxexp= 1024
max=
1.7976931348623157e+308
nexp =
11
min=
-max
---------------------------------------------------------------------
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
13 / 121
Arithmétique flottante - Norme IEEE 754
Présentation
Arithm. Flottante
Exemple : taille des types de base en C++
Nombres Flottants
Arrondi
Norme IEEE 754
Erreurs numériques
1
2
3
Équations
Différentielles
4
Systèmes Linéaires
6
Équations
non-linéaires
7
5
Interp./Approx.
Intégration
numérique
8
9
10
11
#include <iostream>
using namespace std;
main()
{
cout << "short int : " << sizeof(short int) << " bytes\n";
cout << "int
: " << sizeof(int)
<< " bytes\n";
cout << "long int : " << sizeof(long int) << " bytes\n";
cout << "float
: " << sizeof(float)
<< " bytes\n";
cout << "double
: " << sizeof(double) << " bytes\n";
cout << "long double: " << sizeof(long double)<< " bytes\n";
}
Compilation/exécution
PC 32 bits
short int :
int
:
long int
:
float
:
double
:
long double:
2 bytes
4 bytes
4 bytes
4 bytes
8 bytes
12 bytes
Compilation/exécution
PC 64 bits
<--IEEE-->
<--IEEE-->
short int :
int
:
long int
:
float
:
double
:
long double:
2 bytes
4 bytes
8 bytes
4 bytes
8 bytes
16 bytes
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
14 / 121
ESM–MENUM
Présentation
Arithmétique flottante - Norme IEEE 754
Exemple C++
Arithm. Flottante
Nombres Flottants
Arrondi
Norme IEEE 754
Erreurs numériques
1
2
3
4
Équations
Différentielles
5
Systèmes Linéaires
7
Équations
non-linéaires
8
6
9
Interp./Approx.
10
Intégration
numérique
12
11
13
14
15
16
17
18
#include <iostream>
#include <limits>
using namespace std;
main()
{
cout << "Float (min, max, epsi): "
<< numeric_limits<float>::min() <<", "
<< numeric_limits<float>::max() <<", "
<< numeric_limits<float>::epsilon() <<endl;
cout << "# decimal digit for a Float : "
<<numeric_limits<float>::digits10 <<endl<<endl;
cout << "Double (min, max, epsi): "
<< numeric_limits<double>::min() <<", "
<< numeric_limits<double>::max() <<", "
<< numeric_limits<double>::epsilon() <<endl;
cout << "# decimal digit for a Double : "
<< numeric_limits<double>::digits10 <<endl;
}
À l’exécution :
Float (min, max, epsi): 1.17549e-38, 3.40282e+38, 1.19209e-07
# decimal digit for a Float : 6
Double (min, max, epsi): 2.22507e-308, 1.79769e+308, 2.22045e-16
# decimal digit for a Double : 15
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
Présentation
15 / 121
Arithmétique flottante - Norme IEEE 754
Exemple Mathematica
Arithm. Flottante
Nombres Flottants
Arrondi
Norme IEEE 754
Erreurs numériques
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
du 31/01/10
; compilé
LaTeX
le 31 janvier 2011
Précision machine Mathematica =v2.8flottant
IEEE
double
précision
16 / 121
ESM–MENUM
Présentation
Arithm. Flottante
Nombres Flottants
Arrondi
Norme IEEE 754
Erreurs numériques
Arithmétique flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
❏ Nombres flottants
❏ Troncature et arrondi
❏ Norme IEEE 754
■ Erreurs numériques
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
17 / 121
Arithmétique flottante - Erreurs numériques
Présentation
Arithm. Flottante
Nombres Flottants
Arrondi
Erreurs numériques
Norme IEEE 754
Erreurs numériques
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
✓ L’ensemble des nombres binaires flottants IEEE est un ensemble fini de
valeurs discrètes (codage sur un nombre fini de bits) : il ne correspond qu’à
une petite partie de R
→ Erreur de discrétisation
◮ Il n’y a que ∼ 4.3 milliards (232 ≃ 4.3 109 ) nombre réels simple précision
représentables ! !
il en manque une infinité ! ! ! !
◮ Il n’y a que ∼ 18 milliards de milliards (264 ≃ 18 1018 ) de nombre réels
double précision représentables ! !
il en manque une infinité ! ! ! !
✓ En arithmétique flottante, un nombre x ∈ R qui n’a pas de représentation
IEEE exacte est représenté par le nombre flottant le plus proche (tronqué
et/ou arrondi au plus près) :
→ Erreur d’arrondi numérique
✓ Les opérations en virgule flottante (⊕, ⊖, ⊗, ⊘) n’ont pas exactement les
mêmes propriétés que les opérations correspondantes dans R (+, -, *, /).
Par exemple ⊕ n’est pas toujours associative !
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
18 / 121
ESM–MENUM
Présentation
Arithmétique flottante - Erreurs numériques
Exemple Mathematica
Arithm. Flottante
Nombres Flottants
Arrondi
Norme IEEE 754
Erreurs numériques
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Mathematica : Précision Machine 6= Précision Arbitraire
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
19 / 121
Arithmétique flottante - Erreurs numériques
Présentation
Arithm. Flottante
Nombres Flottants
Exemple C++
Arrondi
Norme IEEE 754
Erreurs numériques
1
2
Équations
Différentielles
4
Systèmes Linéaires
5
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
3
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <iomanip>
unsing namespace std;
int main()
{
cout.precision(7);
cout.setf(ios::scientific, ios::floatfield);
float x1=10000003.0, x2=10000000.0, x3=7.501;
float x12 = x1-x2, x123 = x12+x3;
float y23 = -x2+x3, y123 = x1+y23;
cout << "x1 : " << x1 << ", x2 : "<< x2 << ", x3 : "<< x3 << endl;
cout << "(10000003.0 - 10000000.0)+ 7.501 = "<< x123 << endl;
cout << " 10000003.0 + (-10000000.0 + 7.501) = "<< y123 << endl;
}
À l’exécution :
x1 : 1.0000003e+07, x2 : 1.0000000e+07, x3 : 7.5009999e+00
(10000003.0 10000000.0)+ 7.501 = 1.0500999e+01
10000003.0 + (-10000000.0 + 7.501) = 1.1000000e+01
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
20 / 121
ESM–MENUM
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
Exemple
PB à valeur initiale
Schémas numériques
Schémas à un pas
Schémas à pas liés
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Équations Différentielles
■ Introduction
❏ Différences Finie
❏ Problème à valeur initiale
❏ Schémas numériques
❏ Schémas à un pas
Schéma d’Euler
Schémas d’Euler modifié
Schémas d’Euler-Cauchy
Schéma de Kranck-Nicholson
Schéma de Runge-Kutta
❏ Schémas à pas liés
Schémas de Gear
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
21 / 121
Équations différentielles - Introduction
Classification des équations différentielles
✓ EDO Équations Différentielles Ordinaires
(ODE, Ordinary Differential Equation)
Équation de la forme : F (x, y , y ′ , ..., y (n) ) = 0
Exemple
PB à valeur initiale
Schémas numériques
Schémas à un pas
Schémas à pas liés
✓ EDP Équations aux Dérivées Partielles
(PDE, Partial Differential Equation)
font intervenir les dérivées partielles d’une fonction
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
✓ PVI Problèmes à valeur initiale
(Initial Value Problem : IVP)
Problèmes différentiels pour lesquels on connait une valeur initiale (condition
initiale).
′
y (x) = f (x, y (x)) ∀x ∈ [a, b]
Exemple : le problème de Cauchy
y (a)
= y0
Sous certaines hypothèses de régularité de la fonction f (continuité +
Lipschitz), on peut garantir l’unicité de la solution.
✓ PVL Problèmes à valeur aux limites
(Boundary Value Problem : BVP)
Problèmes différentiels pour lesquels des valeurs sont affectées sur une
frontière du domaine (conditions limites).
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
22 / 121
ESM–MENUM
Équations différentielles - Introduction
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Résolution numérique : principe
La résolution numérique d’une équation différentielle conduit à définir
un Schéma numérique discrétisé :
Différences Finies
Exemple
PB à valeur initiale
Schémas numériques
Schémas à un pas
Schémas à pas liés
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
✓ Discrétisation des variables
variables continues -> variables discrètes
Exple : x est remplacée par xi = i h (h : pas de discrétisation)
✓ Discrétisation des fonctions
les fonctions recherchées sont approchées sur un ensemble fini de points
discrets
Exple : y fonction de x est approchée sur l’ensemble discret {xi }i =0,...,n
✓ Discrétisation des opérateurs de dérivation
remplacés par des estimateurs discrets (différences finies ...).
➩ l’équation différentielle à résoudre est remplacée une formulation algébrique
discrète, plus ou moins simple à résoudre (système d’équations (linéaires /
non-linéaires), suite réccurente, ...)
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
23 / 121
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
24 / 121
ESM–MENUM
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
Exemple
PB à valeur initiale
Schémas numériques
Schémas à un pas
Schémas à pas liés
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Équations Différentielles
❏ Introduction
■ Différences Finies
❏ Problème à valeur initiale
❏ Schémas numériques
❏ Schémas à un pas
Schéma d’Euler
Schémas d’Euler modifié
Schémas d’Euler-Cauchy
Schéma de Kranck-Nicholson
Schéma de Runge-Kutta
❏ Schémas à pas liés
Schémas de Gear
ESM–MENUM
Équations différentielles - Différences Finies
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
Principe des différences finies
Exemple
Principe Évaluation numérique (discrète) approchée de la dérivée d’une
fonction y définie sur un intervalle [a, b] ;
PB à valeur initiale
Schémas numériques
Schémas à un pas
Méthode Développement de y autour de x à l’ordre n (Taylor, nécessite y
dérivable n fois)
Schémas à pas liés
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
y (x + h) = y (x) + hy ′ (x) +
Intégration
numérique
h3 ′′′
hn (n)
h2 ′′
y (x) +
y (x) + . . . +
y (x) + O(hn+1 )
2!
3!
n!
✓ [a, b] est discrétisé en n parties d’égale amplitude (pas) : h = (b − a)/n
✓ x est discrétisée en n + 1 valeurs discrètes (xi ) : xi = a + i h, i = 0, . . . , n
✓ O(hn+1 ) est le reste, qui se comporte comme hn+1 quand h → 0.
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
25 / 121
Équations différentielles - Différences Finies
Notations utilisées :
yi est l’approximation numérique de y (xi )
yi′ est l’approximation numérique de y ′ (xi )
(n)
yi
est l’approximation numérique de y (n) (xi ) ...
Différences Finies
Exemple
PB à valeur initiale
Schémas numériques
Schémas à un pas
Schémas à pas liés
Approximations numériques de la dérivée première (ordre 1)
✓ Approximation à l’ordre 1 de la dérivée première progressive
(forward, à droite) au point xi :
Systèmes Linéaires
Équations
non-linéaires
y ′ (xi ) =
y (xi +1 ) − y (xi )
+ O(h) →
h
yi′ =
yi +1 − yi
h
(1)
Interp./Approx.
Intégration
numérique
✓ Approximation à l’ordre 1 de la dérivée première rétrograde
(backward, amont, à gauche) au point xi :
y ′ (xi ) =
y (xi ) − y (xi −1 )
+ O(h) →
h
yi′ =
yi − yi −1
h
(2)
Rq : on peut aussi construire des approximations d’ordre 2 de la dérivée gauche ou
droite.
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
26 / 121
ESM–MENUM
Équations différentielles - Différences Finies
Présentation
Arithm. Flottante
Équations
Différentielles
Approximations numériques de la dérivée première (ordre 2)
Introduction
Différences Finies
✓ Approximation à l’ordre 2 de la dérivée première centrée au point xi :
Exemple
PB à valeur initiale
y ′ (xi ) =
Schémas numériques
Schémas à un pas
y (xi +1 ) − y (xi −1 )
+ O(h2 ) →
2h
yi′ =
yi +1 − yi −1
2h
(3)
Schémas à pas liés
Systèmes Linéaires
Équations
non-linéaires
Approximation numérique de la dérivée seconde (ordre 2)
Interp./Approx.
Intégration
numérique
✓ Estimation à l’ordre 2 de la dérivée seconde centrée au point xi :
y ′′ (xi ) =
y (xi +1 ) − 2y (xi ) + y (xi −1 )
+ O(h2 ) →
h2
yi′′ =
yi +1 + yi −1 − 2yi
h2
(4)
✓ ...
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
27 / 121
Équations différentielles - Différences Finies
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
Exemple
PB à valeur initiale
Exemple :
 ′′
 u (x) + c(x)u(x)
u ′ (0)
soit l’EDO suivante

ku(1) + u ′ (1)
=
=
=
f (x) ∀x ∈]0, 1[
α
β
f et c sont 2 fonctions supposées connues ; α, β et k sont des constantes réelles.
Schémas numériques
Schémas à un pas
Schémas à pas liés
Résolution par la méthodes des différences finies à l’ordre 2 :
Systèmes Linéaires
✓ l’intervalle [0, 1] est discrétisé en n parties d’égale amplitude h =
Équations
non-linéaires
✓ x est discrétisée par la suite (xi ) : xi = i h, i ∈ [0, n]
Interp./Approx.
Intégration
numérique
1
n
✓ approximation numérique à l’ordre 2 de la dérivée u ′′ :
ui −1 − 2ui + ui +1
ui′′ =
h2
′
✓ calcul de u (0) = α ⇒ approx. numérique de u ′ à droite (ordre 2) :
1
ui′ =
[−3ui + 4ui +1 − ui +2 +]
2h
✓ calcul de ku(1) + u ′ (1) = β ⇒ approx. numérique de u ′ à gauche (ordre 2) :
1
[ui −2 − 4ui −1 + 3ui ]
ui′ =
2h
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
28 / 121
ESM–MENUM
Équations différentielles - Différences Finies
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
Exemple
PB à valeur initiale
Schémas numériques
Schémas à un pas
Schémas à pas liés
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
L’équation différentielle à résoudre est remplacée par le système algébrique
discret obtenu en substituant tous les opérations de dérivation par leurs
formulations discrètisées :

1


[u
+ (h2 ci − 2)ui + ui +1 ] = f (xi ), ∀i ∈ [1, n − 1]

2 i −1

h





2
1
3
u2 = α
− u0 + u1 −

2h
h
2h







 1 un−2 − 2 un−1 + (k + 3 )un = β
2h
h
2h
qui constitue un système de n + 1 équations algébriques à n + 1 inconnues.
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
Présentation
29 / 121
Équations différentielles - Différences Finies
Sous forme matricielle : A.U = F , avec
Arithm. Flottante
U = (u0 , u1 , u2 , . . . , ui , . . . , un−2 , un−1 , un )t
Équations
Différentielles
F = (α, f1 , f2 , . . . , fi , . . . , fn−2 , fn−1 , β)t
Introduction
Différences Finies
Exemple
et pour la matrice A :
PB à valeur initiale
Schémas numériques
Schémas à un pas
Schémas à pas liés
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique






























3
− 2h
2
h
2
h2
1
− 2h
0
0
0
0
0
0
1
h2
0
0
0
0
0
0
1
h2
0
0
0
0
0
...
0
0
0
0
1
h2
0
0
0
...
0
0
1
h2
0
1
h2
c1 −
0
1
h2
0
0
...
...
0
0
0
1
h2
0
0
0
0
...
...
0
0
0
0
0
1
h2
0
0
0
0
0
0
1
h2
0
0
0
0
0
0
1
2h
c2 −
2
h2
ci −
2
h2
cn−2 −
2
h2
cn−1 −
− h2
2
h2

1
h2
k+
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
3
2h





























30 / 121
ESM–MENUM
Équations Différentielles
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
Exemple
PB à valeur initiale
Schémas numériques
Schémas à un pas
Schémas à pas liés
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
❏ Introduction
❏ Différences Finie
■ Problème à valeur initiale
❏ Schémas numériques
❏ Schémas à un pas
Schéma d’Euler
Schéma d’Euler modifié
Schéma d’Euler-Cauchy
Schéma de Kranck-Nicholson
Schéma de Runge-Kutta
❏ Schémas à pas liés
Schémas de Gear
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
31 / 121
Équations différentielles - Problème à valeur initiale
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
Exemple
Le problème de Cauchy (scalaire, ordre 1)
On cherche y : x ∈ [a, b] −→ y (x) ∈ R qui satisfait :
PB à valeur initiale
Schémas numériques
Schémas à un pas
Schémas à pas liés
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
avec y ′ (x) =
y ′ (x)
y (a)
=
=
f (x, y (x))
α
∀x ∈]a, b[
(5)
dy (x)
, α ∈ R donné et f : [a, b] × R −→ R connue.
dx
Exemples
Problème de Cauchy linéaire :
y ′ (x)
y (0)
Problème de Cauchy non-linéaire :
=
=
y ′ (x)
y (0)
3y (x) − 3x
1
∀x > 0
p
3
∀x > 0
=
=
0
y (x)
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
32 / 121
ESM–MENUM
Équations différentielles - Problème à valeur initiale
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Le problème de Cauchy (vectoriel, ordre 1)
on cherche une fonction Y : x ∈ [a, b] −→ Y (x) ∈ Rp qui satisfait :
Différences Finies
Exemple
PB à valeur initiale
Schémas numériques
Schémas à un pas
Schémas à pas liés
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
avec Y ′ (x) =
Y ′ (x)
Y (a)
=
=
F (x, Y (x))
A
∀x ∈]a, b[
(6)
dY (x)
, A ∈ Rp donné et F : [a, b] × Rp −→ Rp connue.
dx
Exemples

 Y ′ (x)
F (x, Y(x))
1
=
 Y (0)
0
xy1 + y2
y1 (x)
et F (x, Y (x)) =
Avec Y (x) =
y2 (x)
y12 + y2
équivaut
au syst. d’EDO
′
y1 (x) = x y1 (x) + y2 (x))
y1 (0) = 1
avec
′
2
y2 (x) = y1 (x) + y2 (x)
y2 (0) = 0
Le problème de Cauchy
=
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
33 / 121
Équations différentielles - Problème à valeur initiale
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
Exemple
PB à valeur initiale
Schémas numériques
Schémas à un pas
Schémas à pas liés
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Le problème de Cauchy d’ordre n
On cherche y : x ∈ [a, b] −→ y (x) ∈ R qui satisfait :

y (n) (x)




 y (a)
y ′ (a)




 (n−1)
y
(a)
=
=
=
...
=
f (x, y (x), y ′ (x), ..., y (n−1) (x))
α0
α1
∀x ∈]a, b[
(7)
αn−1
d n y (x)
dy (x)
... y (n) (x) =
, (α0 , α1 , ..., αn−1 ) ∈ Rn donné et
dx
dx n
f : [a, b] × Rn −→ R connue.
avec y ′ (t) =
Propriété
Tout problème de Cauchy d’ordre n > 1 peut se ramener par un changement de
variable simple à un problème de Cauchy d’ordre 1 (traité en ED).
➪ Par la suite on se restreindra au problème de Cauchy scalaire d’ordre 1.
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
34 / 121
ESM–MENUM
Équations différentielles - Problème à valeur initiale
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
Theorem (Existence et Unicité (Cauchy-Lipschitz))
Exemple
PB à valeur initiale
Schémas numériques
Schémas à un pas
Schémas à pas liés
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
- Si f est continue sur [a, b] × R et si il existe une constante L > 0 telle que
|f (x, v ) − f (x, w )| 6 L|v − w |
∀v , w ∈ R, ∀x ∈ [a, b]
alors le problème de Cauchy admet une solution unique.
- Si F est continue sur [a, b] × Rp et si il existe une constante L > 0 telle que
||F (x, V ) − F (x, W )|| 6 L||V − W ||
∀V , W ∈ Rp , ∀x ∈ [a, b]
alors le problème de Cauchy admet une solution unique.
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
35 / 121
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
36 / 121
ESM–MENUM
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
Exemple
PB à valeur initiale
Schémas numériques
Schémas à un pas
Schémas à pas liés
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Équations Différentielles
❏ Introduction
❏ Différences Finie
❏ Problème à valeur initiale
■ Schémas numériques
❏ Schémas à un pas
Schéma d’Euler
Schéma d’Euler modifié
Schéma d’Euler-Cauchy
Schéma de Cranck-Nicholson
Schéma de Runge-Kutta
❏ Schémas à pas liés
Schémas de Gear
ESM–MENUM
Équations différentielles - Schémas numériques
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
Exemple
PB à valeur initiale
Différentes familles de schémas numériques
✓ Schémas explicites : yi +1 se calcule directement à partir des valeurs
précédentes yi , yi −1 , ...
Schémas numériques
Schémas à un pas
Schémas à pas liés
✓ Schémas implicites : le calcul de yi +1 nécessite de résoudre une équation
supplémentaire (souvent non-linéaire).
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
✓ Schémas à un pas (à pas séparé, à pas libre) :
explicites : yi +1 ne dépend que de yi
implicites : yi +1 dépend de yi et de yi +1
✓ Schémas à pas liés :
explicites : yi +1 dépend de tout ou partie des valeurs précédentes jusqu’à i
implicites : idem avec en plus yi +1
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
37 / 121
Équations différentielles - Schémas numériques
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
Exemple
PB à valeur initiale
Schémas numériques
Différents types d’erreurs
✓ erreur de discrétisation locale ei = y (xi ) − yi (au pas i )
✓ erreur de discrétisation globale e = max |ei |
i
Schémas à un pas
Schémas à pas liés
✓ erreur de consistance (troncature) locale
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
τi = y (xi ) − yi si yi −1 = y (xi −1 )
(différence au pas i entre solution numérique yi et solution exacte y (xi )
si le pas précédent était exact)
✓ erreur de consistance globale : les erreurs locales se cumulent au fur et à
mesure des itérations
1
max |τi |
h i
(n est de l’ordre de grandeur de 1/h (n = (b − a)/h) )
τ =
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
38 / 121
ESM–MENUM
Équations différentielles - Schémas numériques
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
Propriétés des schémas numériques
✓ Convergence : traduit le fait que la solution numérique tend vers la solution
du problème continu
Exemple
PB à valeur initiale
∀i ≥ 0, lim ei = |y (xi ) − yi | = 0
Schémas numériques
h→0
Schémas à un pas
Schémas à pas liés
✓ Consistance : si l’erreur de consistance globale τ tend vers zéro avec h
Systèmes Linéaires
lim τ = 0
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
h→0
✓ Stabilité : amplification/atténuation des erreurs au cours du calcul (arrondis,
troncature, méthode), inconditionnelle ou sous conditions (sur le pas de
discrétisation par exemple)
Theorem (Lax)
Pour un problème bien posé, consistance et stabilité impliquent la convergence.
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
39 / 121
Équations différentielles - Schémas numériques
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
Exemple
PB à valeur initiale
Schémas numériques
Schémas à un pas
Schémas à pas liés
Propriétés des schémas numériques
✓ Ordre : traduit la précision de la solution numérique
Un schéma numérique de pas h est d’ordre p si l’erreur de consistance globale
est d’ordre p
τ = O(hp )
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
✓ A-Stabilité (Le terme A-stable vient du mathématicien Suéduois Dahlquist)
Idée : tester la stabilité sur des problèmes “raides” simples (stiff problem) :
′
y (x) = −a y (x) ∀x > 0
, a > 0 donné
y (0) = y0
la solution est connue : y (x) = y0 e −a x (décroissante) et lim y (x) = 0
x→∞
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
40 / 121
ESM–MENUM
Équations différentielles - Schémas numériques
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
Exemple
PB à valeur initiale
Schémas numériques
Principaux schémas numériques
✓ à un pas
Euler (explicite et implicite)
Euler modifié (explicite)
Schémas à un pas
Schémas à pas liés
Systèmes Linéaires
Équations
non-linéaires
Euler-Cauchy (explicite)
Crank-Nicholson (implicite)
Runge-Kutta (RK2, RK4, ...) (explicite)
Interp./Approx.
Intégration
numérique
✓ à pas liés
Nystrom
Adams-Bashforth-Moulton
Gear ...
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
41 / 121
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
42 / 121
ESM–MENUM
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
Exemple
PB à valeur initiale
Schémas numériques
Schémas à un pas
Schémas à pas liés
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Équations Différentielles
❏ Introduction
❏ Différences Finie
❏ Problème à valeur initiale
❏ Schémas numériques
■ Schémas à un pas
Schéma Euler
Schéma d’Euler modifié
Schéma d’Euler-Cauchy
Schéma de Cranck-Nicholson
Schéma de Runge-Kutta
❏ Schémas à pas liés
Schémas de Gear
ESM–MENUM
Équations différentielles - Schémas à un pas
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
Schéma d’Euler
Le principe consiste à approcher localement la fonction y en utilisant
l’approximation d’ordre 1 de la dérivée
1
l’intervalle [a, b] est discrétisé en n + 1 points : xi = a + ih ;
2
au point x = x0 on connaı̂t la valeur exacte de y (x0 ) : α
on pose donc y0 = y (x0 ) = α ;
3
en utilisant le développement de Taylor à l’ordre 1 :
y (x1 ) = y (x0 + h) = y (x0 ) + hy ′ (x0 ) + O(h2 ) = y0 + hy ′ (x0 ) + O(h2 )
Exemple
PB à valeur initiale
Schémas numériques
Schémas à un pas
Schémas à pas liés
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
4
5
6
on calcule la dérivée en x0 par : y ′ (x0 ) = f (x0 , y (x0 )) = f (x0 , y0 )
on obtient au final une approximation de y (x1 ) en tronquant le reste :
y1 = y0 + hf (x0 , y0 )
on réitère en résolvant le même problème : y ′ (x) = f (x, y (x)), mais vérifiant
maintenant : y (x1 ) = y1 ;
7
le même raisonnement conduit à : y2 = y1 + hf (x1 , y1 )
8
et ainsi de suite . . . ⇒ résolution locale
➩ Schéma d’Euler (explicite) : yi +1 = yi + h f (xi , yi )
➩ Schéma d’Euler (implicite) : yi +1 = yi + h f (xi +1 , yi +1 )
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
43 / 121
ESM–MENUM
y ′ (x0 )
Présentation
y ′ (x2 )
y ′ (x1 )
y ′ (x3 )
Arithm. Flottante
Équations
Différentielles
y4
y3
Introduction
Différences Finies
Exemple
y2
PB à valeur initiale
y (x)
Schémas numériques
Schémas à un pas
Schémas à pas liés
Systèmes Linéaires
y1
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
y0
x0
x1
x2
x3
x4
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
44 / 121
ESM–MENUM
Équations différentielles - Schémas à un pas
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
Exemple
PB à valeur initiale
Schémas numériques
Schémas à un pas
Schémas à pas liés
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Schéma d’Euler : Stabilité
✓ Traduit la façon dont le schéma numérique amplifie/amortit les perturbations
introduites à chaque pas (erreurs d’arrondi, de discrétisation ...)
yi +1 = yi + hf (xi , yi )
✓ Avec le schéma d’Euler explicite
y0 = α
Soit ρi : perturbation à l’étape i , et y¯i = yi + ρi
le
schéma perturbé s’écrit alors
ỹi +1 = y¯i + hf (xi , y¯i )
y0 = α + ρ0
➪ Facteur d’amplification :
✓ schéma stable si
ỹi +1 − yi +1
, dépend du problème à résoudre
y¯i − yi
ỹi +1 − yi +1
< 1, instable sinon
y¯i − y
✓ schéma inconditionnellement stable s’il est stable ∀h > 0
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
45 / 121
Équations différentielles - Schémas à un pas
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
Exemple
PB à valeur initiale
Schémas numériques
Schémas à un pas
Schémas à pas liés
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Schéma d’Euler : A-Stabilité
✓ On teste la stabilité du schéma d’Euler sur le problème “raide” :
′
y (x) = −a y (x) ∀x > 0
pour a > 0 donné
y (0) = y0
✓ avec le schéma Euler explicite : yn+1 = (1 − ah)yn ⇒ yn = y0 (1 − ah)n
2
➪ stabilité conditionnelle si |1 − ah| < 1 ⇔ h <
a
1
✓ avec le schéma Euler implicite : yn+1 =
yn ⇒ yn = y0
1 + ah
➪ stabilité inconditionnelle car lim yn = 0
1
1 + ah
n
n→∞
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
46 / 121
ESM–MENUM
Présentation
Équations différentielles - Schéma à un pas
Exemple : problème de de Cauchy
Arithm. Flottante
Équations
Différentielles
Introduction
y ′ (x) = −2y (x) ∀x > 0
y (0) = 1
Coeff. d’amplification du schéma explicite : |1 − 2h| < 1 ⇔ h < 1
Le schéma implicite est inconditionnellement stable
Différences Finies
1
Exemple
PB à valeur initiale
Euler exp
Schémas numériques
Euler imp
Schémas à un pas
Schémas à pas liés
ref
0.5
Systèmes Linéaires
Équations
non-linéaires
0
Interp./Approx.
Intégration
numérique
-0.5
-1
0
4
2
6
8
10
Résolution par les schémas numériques d’Euler explicite et implicite,
h = 0.9 ⇒ n = 12 points.
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
Présentation
Équations différentielles - Schéma à un pas
Exemple : problème de de Cauchy
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
47 / 121
y ′ (x) = −2y (x) ∀x > 0
y (0) = 1
Coeff. d’amplification du schéma explicite : |1 − 2h| < 1 ⇔ h < 1
Le schéma implicite est inconditionnellement stable
4
Exemple
Euler exp
Euler imp
ref
PB à valeur initiale
Schémas numériques
Schémas à un pas
Schémas à pas liés
2
Systèmes Linéaires
Équations
non-linéaires
0
Interp./Approx.
Intégration
numérique
-2
-4
0
2
4
6
8
10
Résolution par les schémas numériques d’Euler explicite et implicite,
h = 1.1 ⇒ n = 10 points.
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
48 / 121
ESM–MENUM
Équations différentielles - Schémas à un pas
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
Schéma d’Euler modifié
✓ Idée : on a déjà vu (différences finies) que l’estimateur centré de la dérivée
première est meilleur (ordre 2)
Exemple
PB à valeur initiale
Schémas numériques
Schémas à un pas
✓ Au lieu d’utiliser la pente au point xi pour approximer yi +1 par la tangente,
on peut utiliser la pente “au point milieu” xi + 1 = xi + h/2
2
Schémas à pas liés
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
✓ On approxime yi + 1 par Euler explicite : yi + 1 = yi +
2
2
h
f (xi , yi )
2
✓ On approxime la dérivée par
yi′+ 1 = f (xi + 1 , yi + 1 ) = f (xi +
2
2
2
h
h
, yi + f (xi , yi ))
2
2
➩ Schéma d’Euler modifié yi +1 = yi + h f (xi +
h
h
, yi + f (xi , yi ))
2
2
✓ Schéma explicite d’ordre 2, A-stable pour h < 2/a
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
49 / 121
Équations différentielles - Schémas à un pas
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
Exemple
PB à valeur initiale
Schémas numériques
Schéma d’Euler-Cauchy
✓ Idée : au lieu d’utiliser la pente au point xi pour approximer yi +1 par la
tangente, on prend la moyenne des pentes estimées aux points xi et xi +1
Schémas à un pas
Schémas à pas liés
Systèmes Linéaires
Équations
non-linéaires
✓ On approxime les dérivées par Euler explicite :
yi′ = f (xi , yi )
yi′+1 = f (xi +1 , yi +1 ) = f (xi + h, yi + h f (xi , yi ))
Interp./Approx.
Intégration
numérique
➩ Schéma d’Euler-Cauchy yi +1 = yi +
h
[f (xi , yi ) + f (xi + h, yi + h f (xi , yi ))]
2
✓ Schéma explicite d’ordre 2, A-stable pour h < 2/a.
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
50 / 121
ESM–MENUM
Équations différentielles - Schémas à un pas
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
Exemple
PB à valeur initiale
Schéma de Crank-Nicholson
✓ Idée : formulation implicite du schéma d’Euler-Cauchy
Schémas numériques
Schémas à un pas
Schémas à pas liés
➩ Schéma de Crank-Nicholson yi +1 = yi +
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
h
[f (xi , yi ) + f (xi +1 , yi +1 )]
2
✓ Ne fournit pas explicitement yi +1 , mais une équation plus ou moins
compliquée en yi +1
Nécessite en général d’utiliser une méthode numérique de résolution
d’équation non-linéaire.
✓ Schéma implicite d’ordre 2, inconditionnellement A-stable.
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
51 / 121
Équations différentielles - Schémas à un pas
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
Exemple
PB à valeur initiale
Schémas numériques
Schémas à un pas
Schémas à pas liés
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Schéma de Runge-Kutta 4
✓ Formulation générale des schémas RKn (Runge-Kutta à n approximations)
p−1
n−1
X
X
yi +1 = ui +
βpl Kl )
αp Kp , K0 = h f (xi , yi ), Kp = h f (xi + λp h, yi +
p=0
l =0
Les coefficients αp , λp et βpl sont choisis pour fournir un schéma d’ordre le
plus élevé possible
✓ Le schéma Runge-Kutta le plus utilisé est le schéma RK4
➩ Schéma de Runge-Kutta 4
1
yi +1 = yi + [K0 + 2K1 + 2K2 + K3 ]
6
K0 = h f (xi , yi )
K0
h
)
K1 = h f (xi + , yi +
2
2
K1
h
)
K2 = h f (xi + , yi +
2
2
K3 = h f (xi + h, yi + K2 )
✓ RK4 est un schéma explicite d’ordre 4, conditionnellement A-stable.
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
52 / 121
ESM–MENUM
Équations différentielles - Schémas à un pas
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
Exemple
PB à valeur initiale
Schémas à un pas : Récapitulatif
Schémas numériques
Schémas à un pas
Schémas à pas liés
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Schéma
Euler (explicite)
Euler (implicite)
Euler modifié
Euler Cauchy
Cranck-Nicholson
Runge-Kutta 4
Expl./Impl.
E
I
E
E
I
E
Ordre
O(h)
O(h)
O(h2 )
O(h2 )
O(h2 )
O(h4 )
A-Stabilité
conditionnelle (2/a)
inconditionnelle
conditionnelle (2/a)
conditionnelle (2/a)
inconditionnelle
conditionnelle
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
53 / 121
ESM–MENUM
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
Exemple
PB à valeur initiale
Schémas numériques
Schémas à un pas
Schémas à pas liés
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Équations Différentielles
❏ Introduction
❏ Différences Finie
❏ Problème à valeur initiale
❏ Schémas numériques
❏ Schémas à un pas
Schéma Euler
Schéma d’Euler modifié
Schéma d’Euler-Cauchy
Schéma de Cranck-Nicholson
Schéma de Runge-Kutta
■ Schémas à pas liés
Schémas de Gear
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
54 / 121
ESM–MENUM
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
Exemple
PB à valeur initiale
Schémas numériques
Schémas à un pas
Schémas à pas liés
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Équations différentielles - Schémas à pas liés
Schémas de Gear
✓ Idée : les schémas de Gear sont construits sur la base d’une intégration
numérique par interpolation polynomiale
✓ schémas à pas liés ⇒ nécessitent de calculer les premiers pas avec des
schémas à un pas
➩ Schéma de Gear à 2 pas, implicite , d’ordre 2
y0 donné
y1 calculé par un schéma à un pas
1
2h
4
f (xi +1 , yi +1 )
yi +1 = yi − yi −1 +
3
3
3
➩ Schéma de Gear à 3 pas, implicite , d’ordre 3
y0 donné
y1 , y2 calculés par un schéma à un pas
18
9
2
2h
yi +1 =
yi −
yi −1 −
yi −2 +
f (xi +1 , yi +1 )
11
11
11
11
➩ Schéma de Gear à 4 pas, implicite , d’ordre 4
y0 donné
y1 , y2 , y3 calculés par un schéma à un pas
48
36
16
3
12h
yi +1 =
yi −
yi −1 +
yi −2 −
yi −3 +
f (xi +1 , yi +1 )
25
25
25
25
11
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
55 / 121
Équations différentielles - Schémas à pas liés
Présentation
Arithm. Flottante
Équations
Différentielles
Introduction
Différences Finies
Exemple
PB à valeur initiale
Schémas numériques
Schémas à un pas
Schémas à pas liés
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
56 / 121
ESM–MENUM
Systèmes Linéaires
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Méthodes Directes
Méthodes Itératives
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Énnoncé du problème
On se propose de résoudre un système linéaire Ax = b
A = (aij ) ∈ Mn (R) est la matrice (carrée) du système
b = (b1 , b2 , . . . , bn )t ∈ Rn est le vecteur second membre
x = (x1 , x2 , . . . , xn )t ∈ Rn est le vecteur des n inconnues
Hypothèse : système de Cramer
A matrice carrée de dimension n x n
det(A) 6= 0
⇒ La solution est unique !
Les systèmes linéaires issus des problèmes de l’ingénieur (différences finies,
éléments finis ...) sont souvent très gros, typiquement :
- 1D : quelques 102 à quelques 103 d’inconnues
- 2D : quelques 102 à quelques 104 d’inconnues
- 3D : quelques 102 à quelques 106 d’inconnues
(une inconnue = un nombre double précision IEEE754 = 8 octets)
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
57 / 121
Systèmes Linéaires
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Méthodes Directes
Résolution analytique (Cramer)
✓ Résolution analytique : xi est exprimé en fonction d’un déterminant obtenu en
remplaçant la i e colonne de la matrice par le vecteur b :
Méthodes Itératives
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
xi =
a11
a21
...
an1
...
...
...
...
a1,i −1
a2,i −1
...
an,i −1
b1
b2
...
bn
a1,i +1
a2,i +1
...
an,i +1
...
...
...
...
a1n
a2n
...
ann
det(A)
✓ Le calcul d’un déterminant n x n, n grand, nécessite ∼ e.n! opérations
élémentaires en virgule flottante (flop)
✓ La résolution analytique ⇒ calcul de n + 1 déterminants n x n
soit ∼ e.(n + 1)! opérations
✓ Exple : n = 50 ⇒ e 51! ∼ 4.1066 opérations en virgule flottante
avec un PC traitant ∼ 1 Gflop : il faut ∼ 1058 s, soit ∼ 1050 ans !
⇒ La résolution analytique n’est possible qu’avec des systèmes de très petite
taille ! !
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
58 / 121
ESM–MENUM
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Méthodes Directes
Méthodes Itératives
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Systèmes Linéaires
Algorithme de résolution numérique
Fournit la solution du sytème linéaire en un nombre fini d’opérations élémentaires
(*,/,+,-)
Stabilité : caractérise la sensibilité de l’algorithme aux perturbations
numériques possibles (cf erreurs IEEE754)
Pour les systèmes linéaires, la stabilité dépend fortement du conditionnement
du system (cf TD MENUM)
Complexité : nombre (ordre de grandeur) d’opérations élémentaires (*,/,+,-)
Algorithmes directs
Fournissent la solution du sytème linéaire en un nombre fini, prévisible
d’opérations élémentaires (*,/,+,-)
GAUSS, triangularisation du système à résoudre
LU, factorisation de la matrice A en produit LU de 2 matrices triangulaires
(U est la triangularisation de Gauss, L n’a que des 1 sur sa diagonale)
LDU, factorisation de la matrice A en produit LDU de 2 matrices
triangulaires, inférieure (Lower), supérieure (Upper) et une matrice diagonale
CHOLESKY, cas particlier de factorisation dans le cas où A est réelle
symétrique définie positive : A = Lt L
...
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
Présentation
Arithm. Flottante
Équations
Différentielles
59 / 121
Systèmes Linéaires
Algorithmes itératifs
L’algorithme se présente sous forme itérative :
x (k+1) = Φ(x (k) )
Systèmes Linéaires
Méthodes Directes
Méthodes Itératives
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
où x (k) ∈ Rn est le vecteur solution (approchée) à l’étape k
➱ La solution x du système linéaire A.x = b est la limite de la suite récurrente
(x (k) )k∈N
➱ Il faut se préoccuper de la convergence de la suite récurrente
➱ Il faut définir un test d’arrêt, par exemple :
kx (k+1) − x (k) k 6 ǫ ou mieux (pourquoi ...) kA.x (k+1) − bk 6 ǫ
Algorithmes itératifs par splitting
La matrice A est décomposée additivement en A = E + F
JACOBI,
GAUSS-SEIDEL ...
Relaxation : accélération/ralentissement de la convergence des méthodes
itératives
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
60 / 121
ESM–MENUM
Présentation
Arithm. Flottante
Systèmes Linéaires - Méthode Directes
Résolution directe d’un système triangulaire supérieur
Équations
Différentielles
Systèmes Linéaires
Méthodes Directes
Méthodes Itératives
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
(0)

a x


 11 1
+
a12 x2
a22 x2
+
+
...
...
+
+



a1,n−1 xn−1
a2,n−1 xn−1
...
+
+
a1,n xn
a2,n xn
=
=
b1
b2
an,n xn
=
bn
➪ La résolution directe par élimination est triviale :
- on calcule xn grâce à la ligne n (det(A) 6= 0 ⇒ aii 6= 0, ∀i ) : xn = bn /an,n ,
- on élimine xn dans la ligne n − 1 pour obtenir xn−1 ,
- ... et ainsi de suite en remontant jusqu’à x1 .
Algorithme de résolution d’un système triangulaire supérieur
xn ← bn /an,n
for i = n − 1 to 1 do
n
X
1
aij xj )
(bi −
xi ←
aii
j=i +1
end for
Le nombre d’opérations est ≈ 21 n2 + n2
La complexité de l’algorithme est en O(n2 /2)
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
Présentation
Arithm. Flottante
Systèmes Linéaires - Méthode Directes
Résolution directe d’un système triangulaire inférieur

a11 x1



 a21 x1
(0)
..


.


an,1 xn
Équations
Différentielles
Systèmes Linéaires
Méthodes Directes
Méthodes Itératives
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
61 / 121
+
a22 x2
+
an,2 x2
+
...
+
an,n xn
=
=
b1
b2
=
bn
➪ La résolution directe par élimination est triviale :
- on calcule x1 grâce à la ligne 1 (det(A) 6= 0 ⇒ aii 6= 0, ∀i ) : x1 = b1 /a11 ,
- on élimine x1 dans la ligne 2 pour obtenir x2 ,
- et ainsi de suite en descendant jusqu’à xn .
Algorithme de résolution d’un système triangulaire inférieur
x1 ← b1 /a1,1
for i = 2 to n do
i −1
X
1
(bi −
aij xj )
xi ←
aii
j=1
end for
Le nombre d’opérations est ≈ 12 n2 + n2
La complexité de l’algorithme est en O(n2 /2)
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
62 / 121
ESM–MENUM
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Méthodes Directes
Méthodes Itératives
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Systèmes Linéaires - Méthode Directes
Cas général : Méthode directe du pivot de Gauss
Idée : remplacer


 a11 x1

a21 x1
(0)
...



an,1 x1
Ax = b par MAx = Mb, où U = MA est une matrice triangulaire
+
+
a12 x2
a22 x2
+
+
...
...
+
+
a1,n−1 xn−1
a2,n−1 xn−1
+
+
a1,n xn
a2,n xn
=
=
b1
b2
+
an,2 x2
+
...
+
an,n−1 xn−1
+
an,n xn
=
bn
On élimine x1 dans lesP
lignes 2...n en tirant sa valeur de la ligne 1 (si pivot
a11 6= 0) : x1 = (b1 − nj=2 a1j xj )/a11
À l’étape (1), on obtient un
 (0)
(0)
a11 x1 + a12 x2




(1)
a22 x2
(1)

...



(1)
an,2 x2
système équivalent :
...
+
a1,n−1 xn−1
(0)
+
(0)
=
...
+
a2,n−1 xn−1
+
(1)
b1
+
(1)
a1,n xn
a2,n xn
=
b2
+
...
+
an,n−1 xn−1
(1)
+
an,n xn
(1)
=
bn
(1)
(0)
(1)
- la ligne (1) est inchangée : a1j = aij ∀ j = 1, . . . , n et b1
(1)
- les coefficients aij
(1)
et bi
(1)
(0)
aij = aij −
(0)
= b1
ai 1 a1j
(0)
a11
(0) (0)
(1)
, bi
(0)
= bi
−
ai 1 b1
(0)
a11
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
(1)
pour i , j = 2, . . . , n sont donnés par :
(0) (0)
(1)
(0)
+
63 / 121
Systèmes Linéaires - Méthode Directes
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Méthodes Directes
Méthodes Itératives
En itérant, à l’étape (k) :
(k)
(k−1)
(k)
(k−1)
- la ligne k est inchangée : akj = akj
∀ j = k, . . . , n et bk = bk
(k)
- les coefficients aij
(k)
et bi
Équations
non-linéaires
Interp./Approx.
(k)
aij
=
(k−1)
aij
−
pour i , j = k, . . . , n sont donnés par :
(k−1) (k−1)
akj
,
(k−1)
akk
aik
Intégration
numérique
(k)
bi
=
(k−1)
bi
−
(k−1) (k−1)
bk
(k−1)
akk
aik
En itérant jusqu’à l’étape (n − 1), on fini par obtenir un système triangulaire
supérieur :
(n − 1)
 (0)
a11 x1








+
a12 x2
(0)
+
...
+
(0)
=
(1)
a1,n xn
a22 x2
+
...
+
(1)
b1
a2,n xn
...
(n−1)
an,n xn
=
b2
=
(0)
(1)
(n−1)
bn
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
64 / 121
ESM–MENUM
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Méthodes Directes
Méthodes Itératives
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Systèmes Linéaires - Méthode Directes
Algorithme de la méthode de Gauss
for k = 1 to n − 1 do
// boucle sur les étapes
for i = k + 1 to n do
// boucle sur les lignes
aik
bi ← bi −
bk
akk
for j = k + 1 to n do // boucle sur les colonnes
aik
aij ← aij −
akj
akk
end for
end for
end for
L’algorithme de Gauss modifie à la fois la matrice A et le second membre b
(calcul “en place”)
Si l’un des pivots akk est nul pendant une des étapes, on effectue une
permutation de lignes pour trouver un pivot non nul
Afin de limiter la propagation des erreurs d’arrondi il faut choisir le pivot le
plus grand possible à chaque étape
Une fois le système triangularisé, la résolution suit la méthode directe de
résolution d’un système triangulaire supérieur
Seul le triangle supérieur calculé dans A doit être pris en compte
Le nombre d’opérations est ≈ 32 n3
La complexité de l’algorithme est en O(n3 )
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
65 / 121
Systèmes Linéaires - Méthode Directes
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Méthodes Directes
Méthodes Itératives
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Méthode directe LDU
La matrice A est factorisée selon :


1
0
d11

 .
.
..
A =  ..

ln,n · · · 1
0
0
..
.
dnn



1
0
···
..
.

u1,n
.. 
.  = LDU
1
La résolution de Ax = b équivaut alors à résoudre :

 Lz = b
Dy = z
(LDU)x = b ⇔

Ux = y
avec b donné, résolution du système triangulaire inférieur : Lz = b
avec z connu, résolution du système diagonal : Dy = z (yi = zi /dii )
avec y connu, résolution du système triangulaire supérieur : Ux = z
Au total, 2 triangularisations et une diagonalisation (indépendantes de b)
La complexité de l’algorithme (coût des triangularisations) est en O(n3 )
L’algorithme ne modifie pas le second membre b
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
66 / 121
ESM–MENUM
Systèmes Linéaires - Méthodes itératives
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Méthodes Directes
Méthodes Itératives
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Algorithmes itératifs par splitting
✓ La matrice A est décomposée additivement en A = E + F
✓ Ainsi : Ax = b ⇔ Ex = b − Fx
✓ D’où l’idée de construire une suite récurrente de vecteurs :
- choix de x (0) (initialisation)
- x (k+1) est donné par la relation de récurrence Ex (k+1) = b − Fx (k)
✓ Si cette suite converge :
lim x (k) = s
k→∞
alors s est solution de Es = b − Fs ⇔ As = b : s est solution !
✓ On choisit les matrices E et F de sorte que le système Ex (k+1) = b − Fx (k)
soit facile à résoudre (matrices triangulaires, diagonales ...)
✓ On utilise les matrices de la décomposition additive : A = L + D + U
(attention ce n’est pas la même chose que la factorisation A = LDU !)
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
67 / 121
Systèmes Linéaires - Méthodes itératives
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Convergence
Méthodes Directes
Méthodes Itératives
Équations
non-linéaires
Ex (k+1) = b − Fx (k) ⇔ x (k+1) = E −1 b − E −1 Fx (k) = γ + Cx (k)
C = E −1 F est la matrice du splitting
Interp./Approx.
Intégration
numérique
Theorem
La suite définie par x (k+1) = γ + Cx (k) converge quel que soit le vecteur
initial x (0) si et seulement si le rayon spectral de C est inférieur à 1.
Rayon spectral d’une matrice C :
ρ(C ) = max|λi |, avec λi : i-ième valeur propre de C .
i
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
68 / 121
ESM–MENUM
Systèmes Linéaires - Méthodes itératives
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Méthodes Directes
Méthodes Itératives
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Test d’arrêt
Nécessaire à l’arrêt de la récurrence x (k+1) = E −1 b − E −1 Fx (k)
2 sorties possibles :
- k est supérieur à un nombre maximun d’itérations arbitrairement fixé
(temps de calcul, mémoire, ...)
- kx (k) − sk est devenu suffisamment petit.
s n’est pas connu ⇒ on utilise le résidu à l’étape k : r (k) = kAx (k) − bk
kAx (k) − bk 6 ǫ , avec ǫ petit (≈ 10−3 à 10−6 )
Ax (k) − b
k
k 6 ǫ (résidu relatif)
x (0)
Attention à kx (k+1) − x (k) k 6 ǫ ! ! !
Rappel sur les normes vectorielle
sX :
X
|xi |2 , kxk∞ = max |xi |
kxk1 =
|xi |, kxk2 =
i
i
i
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Méthodes Directes
Méthodes Itératives
Équations
non-linéaires
69 / 121
Systèmes Linéaires : Méthodes itératives
Méthode itérative de Jacobi
A = E + F = |{z}
D + (L + U)
| {z }
E =D
F =L+U
La matrice du splitting est : C = E −1 F = D −1 (L + U)
Condition nécessaire et suffisante de convergence : ρ(C ) < 1
Interp./Approx.
Intégration
numérique
Algorithme de Jacobi
D(x (k+1) − x (k) ) = b − Ax (k) = r (k)
(k)
(k+1)
xi
=
(k)
xi
n
X
r
1
(k)
(k)
+
aij xj ] = xi + i
[bi −
aii
aii
j=1
∀i ∈ [1, n]
Utilisable uniquement si tous les termes diagonaux sont non-nuls
à chaque étape k, on a 2 boucles successives :
(k)
- une pour le calcul de ri , ∀i ∈ [1, n]
(k+1)
- une pour le calcul de xi
(k)
= xi
+
rik
aii
∀i ∈ [1, n].
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
70 / 121
ESM–MENUM
Systèmes Linéaires : Méthodes itératives
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Méthodes Directes
Choix de kmax et ǫ
Choix du test d’arrêt : kAx (k) − bk1 6 ǫ
Stockage : vecteurs x = (x1 , x2 , ..., xn )t et r = (r1 , r2 , ..., rn )t
Algorithme de Jacobi
Méthodes Itératives
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
k ←0
for i = 1 to n
xi ← 0
// initialisation de x (0)
end for
do
t←0
// cumul pour la norme 1 du résidu
for i = 1 to nP
ri ← bi − nj=1 aij xj
t ← t + |ri |
end for
for i = 1 to n
xi ← xi + ri /aii
end for
k ←k+1
while t > ǫ and k < kmax
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
Présentation
71 / 121
Systèmes Linéaires : Méthodes itératives
Méthode itérative de Gauss-Seidel
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Méthodes Directes
Méthodes Itératives
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
A = E + F = (L + D) + U
| {z } |{z}
E =L+D
F =U
La matrice du splitting est : C = E −1 F = (L + D)−1 U
Condition nécessaire et suffisante de convergence : ρ(C ) < 1
Algorithme de Gauss-Seidel
D(x (k+1) − x (k) ) = b − (D + U)x (k) − Lx (k+1)
(k+1)
xi


i −1
n
X
X
1
(k)
(k+1)
(k)
bi −
aij xj 
aij xj
−
= xi +
aii
j=i
j=1
|
{z
}
∀i ∈ [1, n]
(k)
ri
Utilisable uniquement si tous les termes diagonaux sont non-nuls
différence avec Jacobi : on utilise les (i − 1) ème nouvelles valeurs
(k+1)
xj
, j = 1, . . . , i − 1 ! ! !
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
72 / 121
ESM–MENUM
Systèmes Linéaires : Méthodes itératives
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Choix de kmax et ǫ
Choix du test d’arrêt : kAx (k) − bk1 6 ǫ
Stockage : vecteur x = (x1 , x2 , ..., xn )t
Méthodes Directes
Méthodes Itératives
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Algorithme de Gauss-Seidel
k ←0
for i = 1 to n
xi ← 0
// initialisation de x (0)
end for
do
t←0
// cumul pour la norme 1 du résidu
for i = 1 to P
n
r ← bi − nj=1 aij xj
t ← t + |r |
xi ← xi + r /aii
end for
k ←k+1
while t > ǫ and k < kmax
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Méthodes Directes
Méthodes Itératives
Équations
non-linéaires
Interp./Approx.
73 / 121
Systèmes Linéaires : Méthodes itératives
Condition suffisante de convergence des méthodes Jacobi et
Gauss-Seidel
Si A est une matrice à diagonale fortement dominante (ligne) :
X
∀i , |aii | >
|aij |
j6=i
alors les algorithmes de Jacobi et Gauss-Seidel convergent quelle que soit la valeur
initiale x (0) .
Intégration
numérique
Relaxation
La relaxation permet d’amplifier ou d’amortir (sur-relaxer ou sous-relaxer)
l’écart entre x (k+1) et x (k) entre 2 itérations
sur-relaxer ⇒ accélérer la convergence
sous-relaxer ⇒ ralentir la convergence
E
E = L+D
Gass-Seidel
relaxé :
F = U
F
=
=
L + ω1 D
(1 − ω1 )D + U
Condition nécessaire de convergence :
on montre que Gauss-Seidel relaxé ne peut converger que si ω ∈]0, 2[
Remarque : pour ω = 1 ⇒, on reetrouve Gauss-Seidel normal.
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
74 / 121
ESM–MENUM
Systèmes Linéaires : Méthodes itératives
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Méthodes Directes
Méthodes Itératives
Gauss-Seidel relaxé
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
(k+1)
xi
=
(k)
xi


i −1
n
X
X
ω 
(k) 
(k+1)
aij xj
bi −
aij xj
−
+
aii
j=i
j=1
|
{z
}
∀i ∈ [1, n]
(k)
ri
même algorithme que Gauss-Seidel en remplaçant xi ← xi + ri /aii par
xi ← xi + ωri /aii
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
75 / 121
Systèmes Linéaires : Méthodes itératives
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Choix de kmax , ǫ et ω
Choix du test d’arrêt : kAx (k) − bk1 6 ǫ
Stockage : vecteur x = (x1 , x2 , ..., xn )t
Méthodes Directes
Méthodes Itératives
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Algorithme de Gaus-Seidel relaxé
k ←0
for i = 1 to n
xi ← 0
// initialisation de x (0)
end for
do
t←0
// cumul pour la norme 1 du résidu
for i = 1 to P
n
r ← bi − nj=1 aij xj
t ← t + |r |
xi ← xi + ωr /aii
end for
k ←k+1
while t > ǫ and k < kmax
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
76 / 121
ESM–MENUM
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Équations non-linéaires
Équations non-linéaires
Résoudre f (x) = 0 où f est une fonction non linéaire.
On peut avoir 0, 1, ... n ou une infinité de solutions ...
Les algorithmes généraux sont itératifs : on construit une suite de réels (x (n) )
qui converge vers une solution x̄ de f (x) = 0
Méthode par
dichotomie
lim |x̄ − x (n) | = 0
Méthode de Newton
n→∞
Méthode de la sécante
Méthode du Point Fixe
on appelle ordre de la convergence le nombre p > 0 tel que :
Interp./Approx.
∃c 6= 0, |x (n+1) − x̄|
Intégration
numérique
n→∞
=
c|x (n) − x̄|p
La constante c dépend de f .
Les algorithmes généraux sont d’ordre 1, les plus rapides sont d’ordre 2.
Exemple d’algorithmes généraux :
- méthode par dichotomie,
- méthode Newton (méthode des tangentes)
- méthode de la sécante
- méthode du point fixe ...
Pour utiliser les algorithmes généraux itératifs, il faut au préalable localiser un
intervalle [a, b] contenant une solutionx̄ .
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
Présentation
77 / 121
Équations non-linéaires
Méthode par dichotomie
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Méthode par
dichotomie
Méthode de Newton
Méthode de la sécante
Méthode du Point Fixe
Interp./Approx.
Intégration
numérique
Soit f continue et monotone sur [a, b] possèdant un zéro x̄ ∈]a, b[ :
f (x̄) = 0 et f (a)f (b) < 0
(n)
(n)
On encadre la solution par 2 suites (xg ) et (xd ) telles que
(n)
lim xg
n→∞
(n)
= lim xd
n→∞
= x̄
Construction itérative :
(0) (0)
- initialisation : (xg , xd ) = (a, b)
(0)
- on pose c = (xg
(0)
+ xd )/2 :
(0)
(1)
si f (c)f (xg ) < 0 : xg
(1)
xg
sinon :
= c et
- et ainsi de suite , c = ...
(1)
xd
(0)
= xg
=
(0)
xd
(1)
et xd
=c
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
78 / 121
ESM–MENUM
Équations non-linéaires
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Méthode par
dichotomie
Méthode de Newton
Méthode de la sécante
Méthode du Point Fixe
Interp./Approx.
Intégration
numérique
Méthode par dichotomie
(n)
Valeur approchée de x̄ : xg
(n)
par défaut ou xd
(n)
par excès
(n)
(n)
Test d’arrêt : |f (xg )| < ǫ ou |f (xd )| < ǫ ou |xg
(n)
− xd | < ǫ
Erreur de méthode :
1
1
1
1
(n−1)
(n−2)
(0)
(n)
| 6 2 |x̄ − xg
|... 6 n |x̄ − xg | 6 n |b − a|)
|x̄ − xg | 6 |x̄ − xg
2
2
2
2
La convergence est linéaire ; ce n’est pas très rapide, mais on sait à priori
quelle est la précision obtenue après n itérations.
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
79 / 121
Équations non-linéaires
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Méthode par
dichotomie
Méthode de Newton
Méthode de la sécante
Méthode du Point Fixe
Interp./Approx.
Intégration
numérique
Choix de ǫ
(n)
Choix du test d’arrêt : |f (xg )| 6 ǫ
Algorithme de la méthode par dichotomie
xg ← a, xd ← b
// initialisation
while |f (xg )| > ǫ
centre ← (xg + xd )/2
if f (centre)f (xg ) < 0
xd = centre
else
xg = centre
endif
end while
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
80 / 121
ESM–MENUM
Équations non-linéaires
Présentation
Arithm. Flottante
Méthode de Newton
Équations
Différentielles
f (x)
Systèmes Linéaires
Équations
non-linéaires
Méthode par
dichotomie
Méthode de Newton
f (x (0) )
f (x (1) )
x̄
Méthode de la sécante
Méthode du Point Fixe
x (0) x (1)
Interp./Approx.
Intégration
numérique
x (2)
x
Soit f de classe C 2 sur [a, b], possèdant un zéro x̄ ∈ [a, b]
On construit une suite où x (n+1) est le point d’intersection entre la tangente
au point (x (n) , f (x (n) ) et l’axe x :
x (n+1) = x (n) −
f (x (n) )
f ′ (x (n) )
L’inconvénient de la méthode est qu’il faut pouvoir calculer la dérivée f ′ (x (n) )
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
81 / 121
Équations non-linéaires
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Méthode par
dichotomie
Méthode de Newton
Méthode de la sécante
Méthode du Point Fixe
Interp./Approx.
Intégration
numérique
Méthode de Newton
L’algorithme ne converge pas toujours !
⇒ Il faut utiliser une valeur initiale x (0) suffisamment proche de x̄
Lorsque l’algorithme converge, la convergence est rapide :
Pour n assez grand : |x̄ − x (n) | 6 |x̄ − x (n−1) |2 : la convergence est
quadratique !
Test d’arrêt : |f (x (n) )| < ǫ ou n > nmax en cas de non-convergence
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
82 / 121
ESM–MENUM
Équations non-linéaires
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Méthode par
dichotomie
Choix
Choix
Choix
Choix
de ǫ
de nmax
de x0 pour l’initialisation
du test d’arrêt : |f (x (n) )| 6 ǫ
Méthode de Newton
Méthode de la sécante
Méthode du Point Fixe
Interp./Approx.
Intégration
numérique
Algorithme de Newton
x (0) ← x0
// initialisation
n←0
do
(n)
x (n+1) ← x (n) − f′(x (n))
f (x )
n←n+1
while |f (x (n) )| > ǫ and n < nmax
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
83 / 121
Équations non-linéaires
Présentation
Arithm. Flottante
Équations
Différentielles
Méthode de la sécante
f (x)
Systèmes Linéaires
Équations
non-linéaires
Méthode par
dichotomie
Méthode de Newton
Méthode de la sécante
f (x n−1 )
f (x n )
x̄
Méthode du Point Fixe
Interp./Approx.
x n−1 x n
x n+1
x
Intégration
numérique
Soit f de classe C 2 sur [a, b], possèdant un zéro x̄
On construit une suite où x (n+1) est le point d’intersection de la droite reliant
(x (n−1) , f (x (n−1) )) et (x (n) , f (x (n) )) avec l’axe x :
x (n+1) = x (n) − f (x (n) )
x (n) − x (n−1)
f (x (n) ) − f (x (n−1) )
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
84 / 121
ESM–MENUM
Équations non-linéaires
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Méthode par
dichotomie
Méthode de Newton
Méthode de la sécante
Méthode du Point Fixe
Interp./Approx.
Intégration
numérique
Méthode de la sécante
L’algorithme ne converge pas toujours !
⇒ Il faut utiliser des valeurs initiales x (0) et x (1) proches de x̄
Lorsque l’algorithme converge, la convergence est rapide : √
Pour n assez grand : |x̄ − x (n) | 6 |x̄ − x (n−1) |ρ avec ρ = 1+2 5 ≈ 1.618
Test d’arrêt : |f (x (n) )| 6 ǫ ou n > nmax en cas de non-convergence !
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
85 / 121
Équations non-linéaires
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Méthode par
dichotomie
Méthode de Newton
Méthode de la sécante
Méthode du Point Fixe
Interp./Approx.
Intégration
numérique
Choix
Choix
Choix
Choix
de ǫ
de nmax
de x0 et x1 pour l’initialisation
du test d’arrêt : |f (x (n) )| 6 ǫ
Algorithme de la sécante
x (0) ← x0 , x (1) ← x1
// initialisation
n←1
do
(n)
(n−1)
x (n+1) ← x (n) − f (x (n) ) x(n) −x (n−1)
f (x )−f (x
)
n←n+1
while |f (x (n) )| > ǫ and n < nmax
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
86 / 121
ESM–MENUM
Équations non-linéaires
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Méthode par
dichotomie
Méthode de Newton
Méthode de la sécante
Méthode du Point Fixe
Interp./Approx.
Intégration
numérique
Méthode du Point Fixe
Soit f continue et monotone sur [a, b] possèdant un zéro x̄ ∈ [a, b] :
f (x̄) = 0 et f (a)f (b) < 0
L’équation f (x) = 0 est mise sous une forme équivalente : F (x) = x
On définit une suite récurrente par :
- choix de x (0)
- x (n+1) = F (x (n) )
Il existe souvent de nombreuses possibilités pour la fonction F
Le choix de la fonction F détermine la convergence ou la divergence de
l’algorithme !
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
87 / 121
Équations non-linéaires
Présentation
Arithm. Flottante
Équations
Différentielles
Fonction contractante
Une fonction g est contractante sur [a, b] si et seulement si :
Systèmes Linéaires
Équations
non-linéaires
∃K < 1
∀(x, x ′ ) ∈ [a, b]x[a, b] |g (x ′ ) − g (x)| 6 |x ′ − x|
Méthode par
dichotomie
Méthode de Newton
Méthode de la sécante
Méthode du Point Fixe
Méthode du Point Fixe
Interp./Approx.
Intégration
numérique
Theorem (point fixe local)
Si la fonction F est contractante sur [a, b], et si F ([a, b]) ⊂ [a, b] alors
- l’équation F (x) = x admet une soulution unique x̄ ∈ [a, b]
- la suite définie par x (n+1) = F (x (n) ) converge vers x̄, ∀x (0) ∈ [a, b]
Convergence : si F est de classe C 1 l’algorithme du point fixe est d’ordre 1
(lorsqu’il converge)
Test d’arrêt : |f (x (n) )| 6 ǫ ou n > nmax en cas de non-convergence !
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
88 / 121
ESM–MENUM
Équations non-linéaires
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Méthode par
dichotomie
Méthode de Newton
Méthode de la sécante
Méthode du Point Fixe
Interp./Approx.
Intégration
numérique
Choix
Choix
Choix
Choix
de ǫ
de nmax
de x0 pour l’initialisation
du test d’arrêt : |f (x (n) )| 6 ǫ
Algorithme du Point Fixe
x (0) ← x0
// initialisation
n←1
do
x (n+1) ← F (x (n) )
n←n+1
while |f (x (n) )| > ǫ and n < nmax
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
89 / 121
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
90 / 121
ESM–MENUM
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Méthode par
dichotomie
Méthode de Newton
Méthode de la sécante
Méthode du Point Fixe
Interp./Approx.
Intégration
numérique
ESM–MENUM
Interpolation/Approximation
Présentation
Arithm. Flottante
Interpolation/Approximation
Équations
Différentielles
Interp.
y3
Systèmes Linéaires
Approx.
y2
Équations
non-linéaires
y1
Interp./Approx.
y0
Interp. polynomiale
Approximation
Intégration
numérique
x0
x1
x2
x3
x4
But : faire passer une fonction “simple” par un ensemble de points.
Interpolation la fonction DOIT passer PAR TOUS les points
Approximation la fonction doit passer “LE PLUS PRÈS POSSIBLE” de tous les
points.
Exemples :
fonction connue mais complexe : il est plus simple d’utiliser la fonction
interpolée/approchée (valeur en tout point, dérivation, intégration, ...) ;
points expérimentaux : interpoler/approximer permet de travailler sur une
fonction continue (valeur en tout point, dérivation, intégration, ...).
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
91 / 121
Interpolation polynomiale
Présentation
Arithm. Flottante
Équations
Différentielles
Interpolation polynomiale
Systèmes Linéaires
Soient les n + 1 points d’interpolation (x0 , y0 ), (x1 , y1 ), ..., (xn , yn ).
Équations
non-linéaires
Interp./Approx.
Interp. polynomiale
La fonction d’interpolation est recherchée sous forme d’un polynôme de degré
inférieur ou égal à n, Pn (x) = a0 + a1 x + · · · + an x n , qui doit passer par tous
les points d’interpolation :
Approximation
Intégration
numérique
∀i ∈ {0, 1, ..., n}, Pn (xi ) = yi ⇔
n
X
ak xik = yi
k=0
On obtient un système de n + 1 équations à n + 1 inconnues (a0 , a1 , ..., an ),
de déterminant non-nul ssi les abscisses xi sont distinctes.
On ne résoud que très rarement ce système directement, il existe des
méthodes plus efficaces :
interpolation de Lagrange,
interpolation par fonction spline
...
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
92 / 121
ESM–MENUM
Interpolation de Lagrange
Présentation
Arithm. Flottante
Équations
Différentielles
Polynôme de Lagrange
Systèmes Linéaires
Polynôme de Lagrange :
Équations
non-linéaires
Li (x) =
Interp./Approx.
n
Y
x − xj
x − xj
j6=i i
j =0
Interp. polynomiale
Approximation
Intégration
numérique
Polynôme d’interpolation :
Pn (x) =
Lni (x)
=
n
X
yi Li (x)
i =0
Remarques :
L’interpolation de Lagrange n’impose pas des abscisses équiréparties ;
L’interpolation polynomiale n’est pas stable et la convergence n’est pas
assurée.
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
93 / 121
Interpolation de Lagrange
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
➪ Le polynôme d’interpolation peut présenter des oscillations importantes quand n
augmente (phénomène de Runge) :
Équations
non-linéaires
Interp./Approx.
Interp. polynomiale
1
1
0.5
0.5
0
0
Approximation
Intégration
numérique
1H1+x^2L
-0.5
1H1+x^2L
-0.5
Lagrange
H5 pts équi-répartisL
Lagrange
H9 pts équi-répartisL
-1
-1
-4
-2
0
2
4
-4
-2
0
2
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
4
94 / 121
ESM–MENUM
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Interpolation de Lagrange
➪ La qualité de l’interpolation (le polynôme d’interpolation) dépend des positions
des abscisses
➪ On montre que les points de Tchebytchev sont le meilleur choix
(Ils minisent l’erreur d’interpolation et réduisent l’instabilité de l’interpolation) :
Équations
non-linéaires
∀i ∈ {0, 1, ..., n}, xi =
Interp./Approx.
a+b
a−b
(2(n − i ) + 1)π
+
cos
2
2
2(n + 1)
Interp. polynomiale
Approximation
Intégration
numérique
1
1
0.5
0.5
0
0
1H1+x^2L
-0.5
1H1+x^2L
-0.5
Lagrange H5 pts TchebytchevL
-1
Lagrange H9 pts TchebytchevL
-1
-4
-2
0
2
4
-4
-2
0
2
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
4
95 / 121
Interpolation par fonction spline
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
L’interpolation polynomiale n’est pas convergente :
➪ éviter de l’utiliser avec un grand nombre de points d’interpolation
(polynôme de degré élevé avec risques d’oscillations d’amplitude importante).
Quand le nombre de points d’interpolation est élevé, on utilise plutôt des
fonctions splines, qui sont des polynômes définis par morceaux
(le degré du polynôme est indépendant du nombre de points d’interpolation).
Interp. polynomiale
Approximation
Intégration
numérique
Fonction spline
Soit a 6 x0 < x1 < · · · < xn 6 b, et yi = f (xi ).
Soit k un entier compris entre 1 et n + 1 (n est grand et k <<).
Theorem
Il existe une unique fonction σ de classe C 2k−2 sur [a, b] qui interpole les points
(xi , yi )i =0,...,n et qui soit formée de morceaux de polynômes :
- de degré (k − 1) sur [a, x0 ] et [xn , b] ;
- de degré (2k − 1) ailleurs.
C’est la fonction spline d’interpolation d’ordre k des points (xi , yi )i =0,...,n .
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
96 / 121
ESM–MENUM
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Interp. polynomiale
Approximation
Intégration
numérique
Interpolation par fonction spline
Exemple : Fonction spline d’ordre 2. On note :
σ0 la restriction de σ à l’intervalle [a, x0 ] : σ0 = σ|[a,x0 ] ;
σn+1 la restriction de σ à l’intervalle [xn , b] : σn = σ|[xn ,b] ;
σi la restriction de σ à l’intervalle [xi −1 , xi ], i = 1, 2, ..., n : σi = σ|[xi −1 ,xi ] ;
Nombre total d’inconnues :
σ0 et σn+1 sont des polynômes de degré 1 (a0 x + b0 et an+1 x + bn+1 )
→ 2x2 inconnues : a0 , b0 et an , bn ;
pour i = 1, 2, ..., n, σi est un polynôme de degré 3 (ai + bi x + ci x 2 + di x 3 )
→ nx4 inconnues : ai , bi , ci et di .
soit : 4(n + 1) inconnues à calculer pour caractériser le fonction spline σ.
Nombre total d’équations :
Continuité de σ sur [a, b] :
∀i ∈ [0, n], σi (xi ) = σi +1 (xi ) = yi → 2(n + 1) équations
′
Continuité de σ sur [a, b] :
′
′
∀i ∈ [0, n], σi (xi ) = σi +1 (xi ) → n + 1 équations
′′
Continuité de σ sur [a, b] :
′′
′′
∀i ∈ [0, n], σi (xi ) = σi +1 (xi ) → n + 1 équations
→ système linéaire (tridiagonal, symétrique) résolu par une méthode numérique
similaire à Gauss.
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
Présentation
97 / 121
Approximation
Approximation (discrète/continue)
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
y2
y1
y0
Interp./Approx.
Interp. polynomiale
Approximation
x0
x1
x2
x3
x4
Intégration
numérique
On connaı̂t une fonction de manière discrète (résultats expérimentaux,
numériques) avec une certaine incertitude : on désire représenter “au mieux”
cet ensemble de points par une fonction continue ;
On cherche à remplacer des résultats “bruités” par un lissage continu ...
Les données du problèmes sont :
problème discret les n + 1 points d’interpolation (x0 , y0 ), (x1 , y1 ), ..., (xn , yn )
problème continu la fonction f à approximer sur l’intervalle [a, b]
On cherche une fonction g telle que :
problème discret l’ensemble des points {g (xi )} approxime “au mieux” {yi }
problème continu g approxime “au mieux” la fonction f sur [a, b]
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
98 / 121
ESM–MENUM
Approximation : Méthode des moindres carrés discrets
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Méthode des moindres carrés discrets
Soient n + 1 points discrets donnés : (x0 , y0 ), (x1 , y1 ), ..., (xn , yn )
Soient n + 1 poids ωi (ωi > 0 ; le plus souvent, ωi = 1)
Soit g fonction de x, dépendant de r + 1 paramètres ai : g (a0 , a1 , ..., ar ; x)
(n est “grand”, r est “petit”)
Interp. polynomiale
Approximation
Intégration
numérique
On définit la distance (quadratique, pondérée par la suite (ωi )) entre le vecteur
~y = (yi )i =1,...,n et le vecteur ~
g = (g (xi ))i =1,...,n :
v
u n
uX
ωi [g (xi ) − yi ]2
d2 (~y , ~
g) = t
i =0
∂ 2
On recherche les ai qui minimisent d2 (~f , ~
g) :
d (~y , ~
g ) = 0, pour i = 0, ..., r
∂ai 2
n
X
∂
ωj [g (a0 , a1 , ..., ar ; xj ) − yj ]
soit :
g (a0 , a1 , ..., ar ; xj ) = 0 , pour i = 0, ..., r
∂ai
j=0
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
99 / 121
Approximation polynomiale par les moindres carrés discrets
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Interp. polynomiale
Approximation
Intégration
numérique
Approximation polynomiale par les moindres carrés discrets
La fonction g est recherchée sous la forme d’un polynôme de degré r :
g (a0 , a1 , ..., ap ; x) = Pr (x) = a0 + a1 x + · · · + ar x r
La minimisation de d2 (~y , ~
g ) donne alors :
n
X
ωj (a0 + a1 xj + · · · + ar xjr − yj )xji = 0
∀i ∈ [0, r ],
j=0
P P
D’où le système à résoudre ( ≡ nj=0 ) :
 P
ωj

 P

ωj xj


 P

ωj xj2



 ...


P
ωj xjr
P
ωj xj
P
ωj xj2
...
P
ωj xjr
P
ωj xj2
P
ωj xj3
...
P
ωj xjr +1
P
ωj xj3
P
ωj xj4
...
P
ωj xjr +2
P
ωj xj2r
...
P
...
ωj xjr +1
P
...
ωj xjr +2
...

 a
0


  a1



  a2



  ...


ar

 P
ωj yj
 
P
 
ωj yj xj
 
 

  P
=
ωj yj xj2
 
 
 
  ...
 
P
ωj yj xjr













La système à résoudre (r + 1 équations à r + 1 inconnues) est souvent mal conditionné !
On travail généralement avec r “petit”, en double précision.
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
100 / 121
ESM–MENUM
Approximation polynomiale par les moindres carrés continus
Présentation
Arithm. Flottante
Approximation polynomiale par les moindres carrés continus
Équations
Différentielles
Soit la fonction f définie sur l’intervalle [a, b] ;
Systèmes Linéaires
Soit la fonction poids ω définie sur [a, b] vérifiant ω(x) > 0 (le plus souvent,
ω(x) = 1) ;
Équations
non-linéaires
Interp./Approx.
Interp. polynomiale
Approximation
Intégration
numérique
On définit la distance (quadratique pondérée par ω) entre 2 fonctions f et g
par :
s
Z b
d2 (f , g ) =
ω(x)[f (x) − g (x)]2 dx
a
Comme pour le cas discret, la fonction g est recherchée sous la forme d’un
polynôme de degré r :
g (a0 , a1 , ..., ar ; x) = Pr (x) =
r
X
j=0
aj x j = a0 + a1 x + · · · + ar x r
La minimisation de la distance d22 (f , g ) donne alors :
∂
∀i ∈ [0, r ],
∂ai
Z
a
b
ω(x)[a0 + a1 x + · · · + ar x r − f (x)]x i = 0
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
101 / 121
Approximation polynomiale par les moindres carrés continus
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Interp. polynomiale
Approximation
Intégration
numérique
Approximation polynomiale par les moindres carrés continus
R
R
On retrouve un système linéaire à résoudre ( ≡ ab ) :
 R ω(x)dx
 R

ω(x)xdx


 R

ω(x)x 2 dx




 ...

R
ω(x)x r dx
ω(x)x r dx
R
ω(x)xdx
...
R
R
ω(x)x 2 dx
...
R
ω(x)x 3 dx
...


ω(x)x r +1 dx   a1


R

r +2
ω(x)x
dx   a2


  ...


R
2r
ar
ω(x)x dx
...
R
ω(x)x r +1 dx
...
...
R

a0

 R
ω(x)f (x)dx
 R



ω(x)f (x)xdx




 R



ω(x)f (x)x 2 dx
=






 ...



R
ω(x)f (x)x r dx













On a encore un système linéaire à résoudre (r + 1 équations à r + 1 inconnues)
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
102 / 121
ESM–MENUM
Intégration Numérique : Introduction
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
But (1D)
Calculer la valeur numérique d’intégrales définies du type I [f ] =
Z
b
f (x)dx
a
f fonction continue sur l’intervalle [a, b]
Interp./Approx.
Intégration
numérique
Introduction
Formules de
Newton-Cotes
Principe : Formule de quadrature
Idée : remplacer le calcul de I [f ] par le calcul d’une somme discrète
Formules de
Newton-Cotes
Méthode des
Rectangles
I [f ] ≈ In [f ] =
Méthode du Point
Milieu
n
X
wi f (xi )
(8)
i =0
Méthode des Trapèzes
Récapitulatif
Quadrature de Gauss
Les x0 < x1 < · · · < xn sont les points d’intégration
Les coefficients wi sont les poids
Les poids et/ou les points d’intégration sont choisis de façon que (8) soit
exacte pour des polynômes de plus haut degré possible
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
103 / 121
Intégration Numérique : Introduction
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Introduction
Formules de
Newton-Cotes
Propriétés des quadratures
La quadrature est fermée si x0 = a et xn = b, ouverte sinon
Quadrature de degré de précision d :
- exacte pour tout polynôme de degré 6 d
- inexacte pour au moins un polynôme de degré d + 1
L’ordre de la quadrature est celui de l’erreur de méthode : I [f ] − In [f ]
La quadrature converge pour f ⇔ lim In (f ) = I (f )
n→∞
Formules de
Newton-Cotes
Méthode des
Rectangles
2 Familles de quadrature
Méthode du Point
Milieu
En fonction de la répartition des points d’intégration :
Méthode des Trapèzes
Récapitulatif
Quadrature de Gauss
xi régulièremet espacés dans l’intervalle [a, b] (xi +1 = xi + h)
➪ Formules de Newton-Cotes ouvertes ou fermées, simples ou composites
positionnement optimisé des xi dans l’intervalle [a, b]
➪ Formules de Gauss (Gauss-Legendre, ...)
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
104 / 121
ESM–MENUM
Intégration Numérique : Formules de Newton-Cotes
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Introduction
Formules de
Newton-Cotes
Formules de
Newton-Cotes
Méthode des
Rectangles
Méthode du Point
Milieu
Méthode des Trapèzes
Récapitulatif
Quadrature de Gauss
Type d’intégration
Z
b
f (x)dx , a et b finis, f continue sur [a, b]
a
Principe
Interpolation polynomiale de degré faible (0,1,2,3 ...) de l’intégrande f
de degré 0 ➪ méthode du rectangle, du point milieu
de degré 1 ➪ méthode du trapèze
de degré 2 ➪ méthode de Simpson
rarement au-delà, car risques d’oscillation des polynômes d’interpolation de degré
élevé ...
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
105 / 121
Intégration Numérique : Formules de Newton-Cotes
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Formules simples
Interpolation de f sur l’intervalle entier [a, b]
Pour une interpolation polynomiale de degré d, on utilise d + 1 points
Intégration
numérique
Introduction
Formules de
Newton-Cotes
Formules de
Newton-Cotes
Méthode des
Rectangles
Méthode du Point
Milieu
Méthode des Trapèzes
Récapitulatif
Formules composites
L’intervalle d’intégration [a, b] est divisé en n sous-intervalles
Z b
X Z xi +1
f (t) dt =
f (t) dt
Somme de Riemann : I [f ] =
a
n
xi
La formulation simple est utilisée pour calculer l’intégrale dans chaque
sous-intervalle
Quadrature de Gauss
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
106 / 121
ESM–MENUM
Présentation
Intégration Numérique : Formules de Newton-Cotes
interpolation de degré 0 : Méthode du Rectangle
Arithm. Flottante
Interpoler f par un polynôme de degré 0 (constante) passant par (a, f (a)) ou
(b, f (b))
p0 (x) = f (ξ), ξ = a ou ξ = b
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Quadrature simple fermée :
Interp./Approx.
Z
b
f (x)dx ≈
a
ou ξ = b
Intégration
numérique
Introduction
Z
b
a
p0 (x)dx = (b − a)f (ξ)
Le degré d’exactitude est 0, l’erreur est E (f ) =
Formules de
Newton-Cotes
ξ=a
(b − a)2 ′
f (η), η ∈ [a, b]
2
Formules de
Newton-Cotes
Méthode des
Rectangles
Méthode des Trapèzes
f
f
Méthode du Point
Milieu
f (a)
f (a)
Récapitulatif
Quadrature de Gauss
f (b)
f (b)
I = (b − a)f (a)
a
I = (b − a)f (b)
x
b
a
b
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
x
107 / 121
Intégration Numérique : Formules de Newton-Cotes
Méthode composite des Rectangles
En utilisant les n + 1 points d’intégration équidistants xi = a + ih, h = (b − a)/n
Z
b
a
f (x)dx ≈ In [f ] =
n
(b − a) X
f (ξi )
n
i =1
ξi = xi −1 ou ξi = xi
Le degré d’exactitude est 0, l’erreur globale est d’ordre 1 : en (f ) = O(h)
La formule composite des Rectangles converge : lim en (f ) = 0
n→∞
Introduction
Formules de
Newton-Cotes
Formules de
Newton-Cotes
Méthode des
Rectangles
f
f (xi )
Méthode du Point
Milieu
Méthode des Trapèzes
Récapitulatif
f (x1 )
In [f ]
Quadrature de Gauss
f (x0 )
x0
x1
xi
xn
x
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
108 / 121
ESM–MENUM
Intégration Numérique : Formules de Newton-Cotes
Présentation
Arithm. Flottante
Équations
Différentielles
interpolation de degré 0 : Méthodes du Point Milieu
Interpoler f par un polynome de degré 0 (constante) p0 (x) = f ((a + b)/2)
Interp./Approx.
Quadrature simple ouverte :
Z b
Z b
a+b
f (x)dx ≈
p0 (x)dx = (b − a)f
2
a
a
Intégration
numérique
Le degré d’exactitude est 1, l’erreur est E (f ) =
Systèmes Linéaires
Équations
non-linéaires
Introduction
(b − a)3 ′′
f (η), η ∈ [a, b]
24
Formules de
Newton-Cotes
Formules de
Newton-Cotes
Méthode des
Rectangles
Méthode du Point
Milieu
f
)
f ( a+b
2
Méthode des Trapèzes
Récapitulatif
In [f ]
Quadrature de Gauss
a
(a + b)/2
b
x
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
109 / 121
Intégration Numérique : Formules de Newton-Cotes
Méthode composite du point milieu
En utilisant les n + 1 points d’intégration équidistants xi = a + ih, h = (b − a)/n
Z b
n
xi −1 + xi
(b − a) X
f
f (x)dx ≈ In [f ] =
n
2
a
i =1
Le degré d’exactitude est 1, l’erreur globale est d’ordre 2 : en (f ) = O(h2 )
La formule composite des Points Milieux converge : lim en (f ) = 0
n→∞
Introduction
Formules de
Newton-Cotes
Formules de
Newton-Cotes
Méthode des
Rectangles
f
f (xi )
Méthode du Point
Milieu
Méthode des Trapèzes
Récapitulatif
f (x1 )
In [f ]
Quadrature de Gauss
f (x0 )
x0
x1
xi
xn
x
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
110 / 121
ESM–MENUM
Intégration Numérique : Formules de Newton-Cotes
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Introduction
interpolation de degré 1 : Méthodes du Trapèze
Interpoler f par un polynome de degré 1 passant par (a, f (a)) et (b, f (b))
(interpolation de Lagrange) et on intègre
Z b
Z b
f (a) + f (b)
p1 (x)dx = (b − a)
f (x)dx ≈
Quadrature simple :
2
a
a
Le degré d’exactitude est 1, l’erreur est E (f ) = −
(b − a)3 ′′
f (η), η ∈ [a, b]
12
Formules de
Newton-Cotes
Formules de
Newton-Cotes
Méthode des
Rectangles
f
Méthode du Point
Milieu
Méthode des Trapèzes
Récapitulatif
In [f ]
Quadrature de Gauss
a
b
x
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
111 / 121
Intégration Numérique : Formules de Newton-Cotes
Méthode composite des Trapèzes
En utilisant les n + 1 points d’intégration équidistants xi = a + ih, h = (b − a)/n
"
#
Z b
n−1
X
h
f (a) + f (b) + 2
f (xi )
f (x)dx ≈ In [f ] =
2
a
i =1
Le degré d’exactitude est 1, l’erreur globale est d’ordre 2 : en (f ) = O(h2 )
La formule composite des trapèzes converge : lim en (f ) = 0
n→∞
Introduction
Formules de
Newton-Cotes
Formules de
Newton-Cotes
Méthode des
Rectangles
f
f (xi )
Méthode du Point
Milieu
Méthode des Trapèzes
Récapitulatif
f (x1 )
In [f ]
Quadrature de Gauss
f (x0 )
x0
x1
xi
xn
x
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
112 / 121
ESM–MENUM
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Introduction
Formules de
Newton-Cotes
Intégration Numérique : Formules de Newton-Cotes
interpolation de degré 2 : Méthodes de Simpson
On interpole f par un polynome de degré 2 passant par f (a), f (b) et f ((a + b)/2)
(interpolation de Lagrange) et on intègre
Quadrature simple :
Z b
Z b
a+b
b−a
f (a) + 4f
+ f (b)
p2 (x)dx =
f (x)dx ≈
6
2
a
a
Le degré d’exactitude est 3, l’erreur est E (f ) = −
(b − a)5 (4)
f (η), η ∈ [a, b]
90
Formules de
Newton-Cotes
Méthode des
Rectangles
f
Méthode du Point
Milieu
Méthode des Trapèzes
Récapitulatif
Quadrature de Gauss
In [f ]
a
(a + b)/2
b
x
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
113 / 121
Intégration Numérique : Formules de Newton-Cotes
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Introduction
Formules de
Newton-Cotes
Formules de
Newton-Cotes
Méthode des
Rectangles
Méthode du Point
Milieu
Méthode des Trapèzes
Méthode composite de Simpson
Nombre pair n = 2m d’intervalles délimités par n + 1 points d’intégration
équidistants xi = a + ih, i = 0, ..., n et h = (b − a)/n


Z b
n/2
n/2−1
X
X
h
f (x2j−1 ) + f (b)
f (x2j ) + 4
f (a) + 2
f (x)dx ≈ In [f ] =
3
a
j=1
j=1
Le degré d’exactitude est 3, l’erreur est d’ordre 4 en h : en (f ) = O(h4 )
La formule composite de Simpson converge : lim en (f ) = 0
n→∞
Récapitulatif
Quadrature de Gauss
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
114 / 121
ESM–MENUM
Intégration Numérique : Formules de Newton-Cotes
Présentation
Arithm. Flottante
Équations
Différentielles
Méthodes de Newton-Cotes simples
degré polynôme
interpolant f
0
0
1
2
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Introduction
Méthode
type
Rectangle
Point milieu
Trapèze
Simpson
fermé
ouvert
fermé
fermé
degré
exactitude
0
1
1
3
Formules de
Newton-Cotes
Formules de
Newton-Cotes
Méthode des
Rectangles
Méthode du Point
Milieu
Méthode des Trapèzes
Récapitulatif
Quadrature de Gauss
Méthodes de Newton-Cotes Composites
degré du polynôme
interpolant f
0
0
1
2
Méthode
type
Rectangles
Points milieux
Trapèzes
Simpson composite
fermé
ouvert
fermé
fermé
degré
exactitude
0
1
1
3
ordre
erreur
1
2
2
4
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
115 / 121
Intégration Numérique : Quadrature de Gauss
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
But
Généralisation des formules de quadrature Newton-Cotes nécessaire :
la fonction f possède des singularités dans [a, b] : valeur ∞ en un point de
[a, b]
la fonction f est discontinue (mais intégrable) sur [a, b]
les limites d’intégration a ou b sont infinies
Introduction
Formules de
Newton-Cotes
Formules de
Newton-Cotes
Méthode des
Rectangles
Méthode du Point
Milieu
Méthode : Formule de quadrature pondérée
Z
a
b
f (x)w (x)dx ≈=
Méthode des Trapèzes
Récapitulatif
n
X
ai f (xi )
(9)
i =1
w est une fonction de pondération
Quadrature de Gauss
le signe de w doit être constant sur [a, b] (on supposera w (x) > 0)
w inclut les singularités de l’intégration, de façon que f soit régulière et
puisse être approximée par un polynôme.
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
116 / 121
ESM–MENUM
Intégration Numérique : Quadrature de Gauss
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Introduction
Formules de
Newton-Cotes
Formules de
Newton-Cotes
Quadrature de Gauss
Quadrature de Gauss à n points :
Z
a
b
f (x)w (x)dx ≈
n−1
X
ai f (xi )
i =0
Les points n points d’intégrations xi et poids ai sont calculés pour une
intégration exacte des polynomes jusqu’au degré 2n − 1
Méthode des
Rectangles
À nombre de point égal, une quadrature de Gauss est toujours meilleure
qu’une quadrature de Newton-Coste
Méthode du Point
Milieu
Les quadratures de Gauss sont convergentes
Méthode des Trapèzes
Très utilisée dans les codes de calcul par éléments finis ! !
Récapitulatif
Quadrature de Gauss
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
117 / 121
Intégration Numérique : Quadrature de Gauss
Présentation
Arithm. Flottante
Équations
Différentielles
Théoreme fondamental
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Introduction
Formules de
Newton-Cotes
Formules de
Newton-Cotes
Méthode des
Rectangles
Méthode du Point
Milieu
Soit le produit scalaire pondéré < g |h >=
b
w (x)g (x)h(x)dx
a
Soit X0 , X1 , ..., Xn un ensemble de polynômes orthogonaux au sens du produit
scalaire pondéré, tel que Xj soit de degré j
Soient (xi )i =0,...,n−1 les n racines du polynôme Xn
Soient (Li )i =0,...,n−1 les polynômes de Lagrange associés aux points
d’intégrations (xi )i =0,...,n−1
Z b
w (x)Li (x)dx
Soient les coefficients ai définis par ai =
a
Méthode des Trapèzes
Récapitulatif
Z
➪la quadrature à n points
Z
a
Quadrature de Gauss
d’exactitude 2n − 1
b
f (x)w (x)dx ≈
n−1
X
ai f (xi ) est de degré
i =0
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
118 / 121
ESM–MENUM
Intégration Numérique : Quadrature de Gauss
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Familles de Polynômes orthogonaux usuels
w (x)
Interp./Approx.
Intégration
numérique
1
Introduction
Formules de
Newton-Cotes
e −x
Formules de
Newton-Cotes
Méthode des
Rectangles
Méthode du Point
Milieu
Méthode des Trapèzes
Récapitulatif
e −x
√
2
1
1 − x2
produit scalaire
< h|g >
Z 1
h(x)g (x)dx
Z−1
+∞
e −x h(x)g (x)dx
0
Z +∞
2
e −x h(x)g (x)dx
Z−∞
1 h(x)g (x)
√
dx
1 − x2
−1
Polynômes
orthogonaux
Intervalle
Legendre
] − 1, 1[
Laguerre
]0, +∞[
Hermite
] − ∞, +∞[
Tchebychev
] − 1, 1[
Quadrature de Gauss
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
ESM–MENUM
119 / 121
Intégration Numérique : Quadrature de Gauss
Présentation
Arithm. Flottante
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
Interp./Approx.
Intégration
numérique
Introduction
Formules de
Newton-Cotes
Formules de
Newton-Cotes
Méthode des
Rectangles
Méthode du Point
Milieu
Méthode des Trapèzes
Récapitulatif
Quadrature de Gauss
Utilisation des quadratures de Gauss
Dans les cas les plus courants
la fonction f est régulière sur [a, b] ➪ on utilise une fonction poids w (z) = 1
l’intégrale sur [a, b] peut se ramener à une integrale sur [−1, 1] par le
b−a
a+b
+
x
changement de variable z =
2
2
Z b
Z
b−a 1
a+b
b−a
f (z)dz =
I =
f
+
x dx
2
2
2
a
−1
la quadrature de Gauss-Legendre à n points permet alors d’écrire
n−1
b−a X
a+b
b−a
I ≈
ai f
+
xi
2 i =0
2
2
le calcul se fait en prennant les valeurs des ai et des xi dans les tables.
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
120 / 121
ESM–MENUM
Présentation
Intégration Numérique : Quadrature de Gauss
Abscisses et poids / Gauss-Legendre
Arithm. Flottante
nb point
1
2
Équations
Différentielles
Systèmes Linéaires
Équations
non-linéaires
3
Interp./Approx.
Intégration
numérique
ai
2.0
1.0
1.0
5/9
8/9
5/9
xi
0√
1/ √3
-1/
p 3
- 3/5
p0
3/5
Introduction
Formules de
Newton-Cotes
Formules de
Newton-Cotes
Méthode des
Rectangles
Méthode du Point
Milieu
Abscisses et poids / Gauss-Laguerre
nb point
2
Méthode des Trapèzes
ai
√
(2 + √2)/4
(2 − 2)/4
xi√
2 − √2
2+ 2
Récapitulatif
Quadrature de Gauss
Abscisses et poids / Gauss-Tchebytchev
nb point
n
ai
π/(n + 1)
xi
cos(2i π/(2n + 2))
(cf “Abramowitz, M. and Stegun, I. A. (Eds.). Handbook of Mathematical Functions with
Formulas”)
v2.8 du 31/01/10 ; compilé LaTeX le 31 janvier 2011
121 / 121