J.-M. Huré1,2 - Laboratoire d`Astrophysique de Bordeaux

Transcription

J.-M. Huré1,2 - Laboratoire d`Astrophysique de Bordeaux
DEA Astrophysique & Méthodes associées
Ecole doctorale d’Ile-de-France
Universités Paris 7 et 11 — Observatoire de Paris
J.-M. Huré1,2
1 LUTh/FRE
2 Université
([email protected])
2462 CNRS, Observatoire de Paris-Meudon, Place Jules Janssen, F-92195 Meudon Cedex
Paris 7 Denis Diderot, 2 Place Jussieu, F-75251 Paris Cedex 05
1
PLAN
1. Quelques références (ouvrages, périodiques, on-line)
2. Généralités sur le calcul numérique (objectifs, erreurs, etc.)
3. Dérivées et différentiations
4. Polynômes, interpolation et ajustements
5. Quadratures
6. Zéro d’une fonction. Systèmes non-linéaires
7. Equations aux dérivées ordinaires (ODEs)
2
1. QUELQUES REFERENCES
3
BIBLIOGRAPHIE
• Scientific Computing. An Introductory Survey,
M.T. Heath, 2nd Ed McGraw Hill 2002
?
• Numerical methods for Mathematics, Science and Engineering, 1992,
J.H. Mathews, Press-Hall International Inc., 2nd edition
• Numerical methods that work, 1970,
??
F. S. Acton, ed. Harper Int., New-York, Evanston, and London
• Numerical receipes, the art of scientific computing, 1992,
W.H. Press et al., CUP, 2nd edition
• Analyse numérique pour ingénieurs, 1995,
♥??
A. Fortin, Ed. de l’Ecole Polytechnique de Montréal
4
? ? ??
♥ ? ??
BIBLIOGRAPHIE (2)
• Introduction to numerical analysis, 1956,
F.B. Hildebrand, McGraw-Hill
???
• Numerical analysis, 1961,
? ? ??
Z. Kopal, Chapman & Hall LTD
• Computing methods. Vols. I & II, 1965,
? ? ??
I.S. Berezin & N.P. Zhidkov, Pergamon Press LTD
• ...
5
REVUES PERIODIQUES
• Computer Physics Communications
• Computing in Science and Engineering
• Journal of Computational Physics
• Journal of Mathematical Physics
• Mathematics of Computation
6
ON-LINE
Guide to Available Mathematical
Software
ex: le serveur GAMS
A cross-index and virtual repository of mathematical and statistical software components of use
in computational science and engineering.
More Math and Statistics at NIST
Do you find this service useful? Help us justify it.
(http://gams.nist.gov/)
Mathematical Software Cross Index
Search for software according to
. . . donne accès à
• une centaine de packages
(∼ 8800 routines)
• un arbre de décision
what problem it solves.
package name.
module name.
text in module abstracts.
Go straight to the problem decision tree.
Try HotGAMS, a Java interface to GAMS with additional search features.
If you cannot find what you need in the cross index, you might try some of these other sources of
information about mathematical software.
Background Information
NB. A manipuler avec précaution!
Project summary.
Glossary of terms.
Repositories Indexed.
References, credits and disclaimers.
News.
Other NIST projects related to applied mathematics and statistics.
Address comments and questions to [email protected] .
7
ON-LINE (2)
The
Numerical Analysis
Section
Home
People
Research
PG Study
Events
Department
Head of the Numerical Analysis Section : Barrett Prof J W
Section Secretary : Vacant
Welcome to the Imperial College Numerical Analysis Section Home Page
The Numerical Analysis Section, along with Applied Mathematics, Statistics, Mathematical Physics,
Financial Mathematics and Pure Mathematics make up the Department of Mathematics at Imperial
College.
. . . voir aussi les (très nombreux) sites
associés aux laboratoires de recherche
en maths appliquées, analyse numérique,
physique, etc.
Software for Initial Value Problems
Software for Boundary Value Problems
Some useful Web resources
Mirror of the Spline Bibliography by Carl de Boor and Larry Schumaker.
Mathematical Resources on the WWW
HENSA mirror of Netlib Numerical Software Archive.
Numerical Analysis FAQ
To find us: we are situated in Level 6, Huxley Building.[Details]
exemple:
Dep. of Mathematics, Imperial College
of STM (http://www.ma.ic.ac.uk/)
Address and contact information
8
2. GENERALITES SUR LE CALCUL NUMERIQUE
9
CALCULS ET METHODES NUMERIQUES, KESAKO ?
Les calculs et les méthodes numérique,
• c’est très utile (voire indispensable)
— pour faire des calculs difficiles à effectuer à la main,
— pour la recherche fondamentale et appliquée moderne,
— pour comprendre certains aspects en Physique
• ça ne s’improvise pas (ou rarement); il y a un minimum de choses à connaı̂tre; il y a
souvent des règles (parfois il n’y en a pas);
• ça nécessite de la rigueur, et un esprit très critique;
• c’est presqu’une science, un art surement, et ça n’a (presque) rien a voir avec la
programmation;
• la pratique est essentielle;
• c’est passionnant, mais attention à la spirale infernale . . .
10
PHILOSOPHIE
Outre la recherche de solution(s), la mise en oeuvre d’une méthode numérique rend un
problème
• compliqué, plus simple;
• mal posé, bien posé (ou inversement!);
• différentiel, algébrique;
• non-linéaire, linéaire;
• réel, académique (ex: le pendule harmonique);
• ...
Le calcul numérique implique des approximations en amont, et ne peut de fait que
fournir des solutions approchées au problème posé.
NB: il est indispensable de savoir contrôler la précision des résultats, et de reconnaı̂tre
les effets d’origine numérique et ceux d’origine physique.
11
SOURCES D’ERREURS
Trois origines:
• le schéma (troncature, discrétisation, etc.)
exemple: remplacer une fonction par son développement de Taylor;
• les opérations (perte d’information)
P1000 2 P1
2
2
i
=
6
i
,
racines
de
ax
+ bx + c = 0; . . .
exemples:
1
1000
• la machine (erreurs de représentation, d’arrondis)
exemple: peu d’ordinateurs peuvent donner π avec plus de 16 décimales;
Les erreurs se propagent et généralement s’amplifient. Il donc est indispensable de les
contrôler et, si possible, d’essayer de les réduire (minimiser le nombre d’opèrations).
NB. Dans bien des cas, c’est l’erreur de schéma qui domine.
12
OPERATEURS DE CONTROLE D’ERREUR, ∆ et Soient y ∗ une mesure exacte (ou de référence), et y la mesure approchée (par la
méthode numérique); on définit:
• l’erreur absolue
∆(y) = y − y ∗
• l’erreur relative
(y) = 1 −
y
y∗
(y ∗ 6= 0)
NB: y ∗ n’est généralement pas connue, et donc l’erreur ne peut être estimé que sur la
mesure approchée y.
→ attention à la fiabilité de l’estimation de l’erreur . . .
13
NOMBRE DE CONDITIONNEMENT η
x
y
Méthode
numérique
x’
y’
Si x → y et x0 → y 0 , on définit le nombre de conditionnement par
η=
y 0 −y
y
x0 −x
x
(y)
∼
(x)
Il rend compte du pouvoir amplificateur d’une méthode.
14
SENSIBILITE/STABILITE
• une méthode numérique est très sensible (instable) si η 1
• une méthode numérique est peu sensible (stable) si η . 1
• une méthode numérique est insensible si η 1
y
exemple: soit l’approximation sin x ≈ x −
x’
x
x3
3! .
15
Au voisinage de 0, η ∼ x tan−1 x → 1
DU MODELE PHYSIQUE AU MODELE NUMERIQUE
Deux étapes indispensables:
• l’adimensionnement des variables et des équations
exemple:
l
˜
l→l= ,
l0
v
v → ṽ =
v0
• le choix des variables
exemple:

ṽ 2


x ≡ ln p



˜l





y ≡ sin ˜l
. . . qui permettent de faire émerger les échelles pertinentes (physiques), et de réduire la
dynamique des variables (numériques).
16
DU MODELE PHYSIQUE AU MODELE NUMERIQUE (2)
exemple: équilibre hydrostatique
d’une sphère statique isotherme en
gravité constante.
10
−2
∆R=10
10
4
−4
∆R=10
10
−6
10
−8
3
ρ(R)
Soit à résoudre
1
∇R P = g
ρ
. . . que l’on peut astucieusement
convertir en
10
−10
10
−12
10
−14
10
−16
∇x f = 1
ε(ρ)
∆x=0.1
10
4
10
5
10
R−RO
17
6
10
7
PRECISION vs. TEMPS DE CALCUL
L’une des difficultés majeures du calcul numérique en général tient dans la recherche
d’un compromis à trouver entre
• le temps de calcul τ
• la précision ∆, . . . tous deux limités par
• les performances des ordinateurs,
• les contraintes “humaines” (durée de vie d’un chercheur, durée d’une thèse,
coupures d’électricté, etc.)
NB. Lorsque ↓ , τ ↑
18
3. DERIVEES ET DIFFERENTIATIONS
19
RAPPEL: LE TAUX D’ACCROISSEMENT
. . . de f au voisinage de x,
f (x + h) − f (x)
f (x) = limh→0
h
0
C’est une information locale, très difficile à estimer pour une fonction définie par
{(xi , fi )}N , en raison du passage continu/discontinu. La précision dépend donc très
fortement de l’échantillonage.
y
derivee ?
bon echantillonage
mauvais echantillonage
x
20
DIFFERENCE FINIE A 2 POINTS
On écrit littéralement le taux d’accroissement. On obtient une forme discrétisée (sans
passage à la limite), soit
f (xi+j ) − f (xi )
0
f (xi ) ≈
xi+j − xi
C’est une différence finie à 2 points en xi .
Précision: O(h), avec h = xi+j − xi
• si j > 0, différence finie en “avant” (FDF)
• si j < 0, différence finie en “arrière” (BDF)
NB. Ce sont formellement des demi-dérivées
21
EFFET DE BORD
Le schéma précédent ne permet pas calculer la dérivée sur les bords:
• à droite pour j ≥ 1
• à gauche pour j ≤ −1
Solution: on change alors le signe de j !
22
SCHEMA CENTRÉ
En combinant les shémas excentrés, on obtient (avec ici j = 1)
fi0
fi+1 − fi−1
=
xi+1 − xi−1
C’est une différence finie, centrée à 3 points.
Précision: O(h2 )
NB. Ce shéma implique un échantillonage régulier h = xi+1 − xi = xi − xi−1 et
introduit 2 effets de bord.
23
exemple: erreur asbolue sur la dérivée de y(x) = ex en x = 0 pour h = 2−k .
−1
10
−3
∆y’(0)=|y’(0)−1|
10
−5
10
−7
10
−9
difference avant (FDF)
difference centree
extrapolation de Richardson (diff. centree)
10
−11
10
−13
10
−15
10
0
10
20
k
24
30
SCHEMAS D’ORDRES ELEVES
• excentrés à 3 points:
• centré à 5 points:
i±1 −fi±2
fi0 = ± −3fi +4f2h
,
fi0 =
−fi+2 +8fi−1 −8fi−1 +fi−2
,
12h
O(h2 )
O(h4 )
• ...
NB. Avec ces schémas construits sur le développement de Taylor tronqués, on ne peut
pas calculer la dérivée en x 6= xi !
25
SCHEMA CENTRE POUR LA DERIVEE SECONDE
Sur le même principe, on montre que
fi00 =
fi−1 − 2fi + fi+1
h2
Précision: O(h2 )
NB. Très utilisé dans les problèmes aux dérivées partielles
26
METHODE GENERALE
On remplace, au moins localement, la fonction f tabulée par une fonction analytique
(simple), généralement un polynôme PN (x) de degré N , que l’on dérivera ensuite.
→ on se ramène alors à un problème d’interpolation.
y
approximation
de Lagrange: y=P2 (x)
y3
y2
f(x)
y1
x
x1
x2
x3
NB. Si la fonction est très “bruitée” ou oscillante, alors cette technique n’a aucun sens.
On se dirigera plutôt vers une technique d’ajustement/lissage.
27
METHODE GENERALE (2)
Pour construire PN (x), il faudra N + 1 points.
— f (x) ≈ P1 (x), schémas excentrés d’ordre 1
— f (x) ≈ P2 (x), schémas (ex)centrés d’ordre 2
— etc.
28
PHENOMENE DE RUNGE
Attention aux polynômes de degrés élevés !
y
f(x)
approximation
y9
y1
x
x1
x9
x5
29
PAS OPTIMAL
La précision de la dérivée numérique est
limitée par 3 effets cumulatifs
precision
• le schéma utilisé
• les erreurs de représentation
• les erreurs par perte d’information
NB. Quand h → 0, (y 0 ) 9 0.
→ Il existe un pas optimum hopt qui
donne une précision en deça de laquelle
il n’est pas possible de descendre.
h opt
30
pas h=xi+1 -x i
PAS OPTIMAL (2)
∆ 1/3
,
M
2
hopt ≈
Par exemple, pour le schéma centré d’ordre h :
d’arrondi et M est l’erreur de troncature (M & |f (3) |).
où ∆ est l’erreur
exemple: dérivée de y(x) = ex en x = 0 et x = 10
3
10
1
10
−1
x
∆y’(x)=|y’(x)−e |
10
−3
10
−5
10
−7
x=10
x=0
10
−9
10
−11
10
−13
10
−16
10
−14
10
−12
10
−10
−8
10
10
h
31
−6
10
10
−4
−2
10
EXTRAPOLATION DE RICHARDSON
On peut nettement améliorer la précision sur la dérivée en considérant différents pas
h0 ≡ h,
h1 ≡
h0
,
2
h2 ≡
h0
22
...,
hn ≡
h0
2n
Comment ?
Si f 0 [hk ] désigne la dérivée pour le pas hk =
approximation de f 0 (x) est donnée par
h0
,
2k
alors on peut montrer qu’une meilleure
2k f 0 [hk+1 ] − f 0 [hk ]
f ≈
2k − 1
0
32
EXTRAPOLATION DE RICHARDSON (2)
exemple: erreur asbolue sur la dérivée de y(x) = ex en x = 0 pour h = 2−k .
−1
10
−3
∆y’(0)=|y’(0)−1|
10
−5
10
−7
10
−9
difference avant (FDF)
difference centree
extrapolation de Richardson (diff. centree)
10
−11
10
−13
10
−15
10
0
10
20
k
33
30
4. POLYNÔMES, INTERPOLATIONS ET AJUSTEMENTS
34
FORMES REMARQUABLES
On peut écrire un polynôme PN (x) de plusieurs façons, selon l’utilisation. . .
• Forme de Taylor
EN (x) = PN (x − x0 )
= a0 + a1 (x − x0 )
+ a2 (x − x0 )2 + · · · + aN (x − x0 )N
NB. Développement de Taylor:
f (k) (x0 )
,
ak =
k!
35
k = 0, N
• Forme de Lagrange
LN (x) =
N
X
yk LN,k (x)
k=0
où
LN,k (x) =
(x − x0 ) . . . (x − xk−1 )(x − xk+1 ) . . . (x − xN )
(xk − x0 ) . . . (xk − xk−1 )(xk − xk+1 ) . . . (xk − xN )
et yk = PN (xk ).
• Forme de Newton
NN (x) = a0 + a1 (x − c0 )
+ a2 (x − c0 )(x − c1 )
+ ...
+ aN (x − c0 )(x − x1 ) . . . (x − cN −1 )
36
EVALUATION
Calculer la valeur PN (x) n’est pas aussi immédiat qu’on pourrait le penser, surtout
lorsque:
• les coefficients ak sont très différents,
• l’ordre du polynôme est élevé
37
EVALUATION (2)
On préfèrera la forme de Horner (ou imbriquée) où PN (x) est ré-écrit sous la forme
PN (x) = a0 + x(a1 + x(a2 + x(a3 + · · · + x(aN −1 + aN x)))))
Ainsi
• il y moins d’opérations (donc moins d’erreurs)
• l’algorithme associé est récursif (donc simple à écrire)
38
EXEMPLE
Erreur relative sur la valeur du polynôme de Legendre Pk (x) d’ordre k en x = 1 calculée
par l’intermédiaire de la forme développée.
0
log10[1−Pk(1)]
−5
−10
−15
0
10
20
30
ordre k du polynome de Legendre
39
40
50
INTERPOLATIONS
Comment estimer la valeur d’une fonction f définie par N couples de points {(xi , fi )}
en x = c de l’intervalle [x1 , xN ] ?
y
points de mesure
fN
???
f1
x
x1
c
xN
40
NOTA BENE
Par principe, l’interpolation génère de l’information là où il n’y en a pas, donc
• il y a incertitude assez grande sur le résultat,
• les dérivées successives sont généralement douteuses,
• l’échantillonnage joue un rôle clé
y
points de mesure
fN
???
f1
x
x1
c
xN
41
INTERPOLATION LINÉAIRE
On assimile la courbe a une ligne brisée faite de N − 1 segments joignant deux points
consécutifs. On a ainsi
f (c) = pfi + (1 − p)fi+1 ,
1≤i≤N −1
où [xi , xi+1 ] est le sous-intervalle contenant c.
y
interpolation lineaire
x
NB. Ligne brisée et dérivée(s) discontinue(s) . . .
42
FONCTIONS INTERPOLANTES
On remplace la fonction “discrete” par une fonction continue
X
ak bk (x)
f (x) ≈
k
où les bk (x) représentent une certaine base de fonctions.
43
INTERPOLANTS POLYNOMIAUX
Par les N points de mesure, on fait passer un polynôme PN −1 (x) de degré N − 1.
Ces contraintes définissent un système linéaire de N équations où les N inconnues sont
les coefficients ak définissant le polynôme.
y
approximation
de Lagrange: y=P2 (x)
y3
y2
f(x)
y1
x
x1
x2
x3
NB. Le calcul est assez direct par les formes de Lagrange et de Newton.
44
INTERPOLANTS POLYNOMIAUX (2)
Attention aux polynômes de degrés élevés: → phénomène de Runge
y
f(x)
approximation
y9
y1
x
x1
x9
x5
45
AJUSTEMENTS (ou curve fitting, en anglais)
Même type de démarche que pour les interpolants, mais le polynôme Pk est de degré k
tel que k < N − 1.
ex: faire passer une droite (de regression) par un ensemble de points pour traduire une
corrélation.
y
f(x)=ax+b
regression lineaire
x
46
AJUSTEMENTS (2)
Méthode: pour déterminer les coefficients de Pk , on cherche à minimiser la distance
P
i |di |, où di est la distance du points i à la fonction d’ajustement.
exemple: pour une régression linéaire par la fonction y = ax + b passant “au mieux”
par un échantillon de N points {(xi , yi )}, on a

N
N

X
X



x2i + bN hxi −
xi y i = 0
a


i






i
ahxi − b − hyi = 0
47
SPLINES
Comment combiner interpolation, ajustement et lissage lorsqu’il y a beaucoup de points
(i.e. pour N grand) ?
regression
lineaire
y
approximation
polynomiale
y9
y1
y
x
x1
x5
x9
48
SPLINES (cubiques)
On construit une fonction spline cubique S(x), définie par morceaux, telle que
• sur chaque intevalle [xi , xi+1 ], la fonction S(x) est un polynôme du troisième degré.
• la fonction S(x) passe par tous les points de l’échantillon, quelque soit leur nombre.
• S 0 (x) est continue sur chaque noeuds
• S 00 (x) est continue sur chaque noeuds
Ces contraintes définissent un certain nombre de relations entre les N − 1 polynômes qui
permettent en principe de les caractériser, c’est-à-dire de trouver 4(N − 1) coefficients.
49
Spline cubique
y
regression
lineaire
approximation
polynomiale
y9
y1
y
x
x1
x5
x9
NB. A deux dimensions, on parle de splines bi-cubiques.
50
5. QUADRATURES
51
Comment calculer l’intégrale définie I
I=
Z
b
f (x)dx
a
y
f(x)
B
C
D
A
a
x
b
. . . lorsqu’il n’y a pas d’expression analytique pour la primitive de f ?
52
IDÉE
L’approximation de I s’effectue le plus souvent à l’aide de combinaisons linéaires des
valeurs de f , et éventuellement de ses dérivées, calculées dans l’intervalle [a, b], soit
I=
Z
b
g(x)f (x)dx ≈
a
N
X
i=1
NB. Les xi sont les noeuds et les wi sont les poids
53
wi f i
TRAPÈZES ET RECTANGLES
C’est la méthode la plus directe
Z
b
a
b−a
(f (a) + f (b))
f (x)dx ≈
2
ou
Z
b
f (x)dx ≈ (b − a)f (c)
a
Précision: ordre h3 (avec h = b − a)
54
MÉTHODES COMPOSÉES ET ADAPTATIVES
On peut essayer de minimiser cette erreur grâce à:
• la méthode composée: on découpe l’intervalle [a, b] en 2, 3, . . . ou N − 1
sous-intervalles de largeur h = xi+1 − xi , avec i ∈ [1, N ]. On a
Z
b
a
N
−1
X
h
f (x)dx ≈ (f (a) + f (b)) + h
fi
2
i=2
où fi ≡ f (xi ), a ≡ x1 et b ≡ xN .
• un pas adaptatif (e.g., zones de forts gradients).
y
y
f(x)
B
B
C
D
A
a
C
x
D
A
b
a
55
b
f(x)
x
SCHÉMAS (SEMI-)OUVERTS
On peut choisir d’“écarter” un ou plusieurs
point(s) singulier(s). Par exemple, si f diverge en b, on pourra utiliser
Z b
f (x)dx ≈ hf (a)
a
C’est un schéma semi-ouvert.
y
f(x)
B
C
D
A
a
x
b
NB. Précision très mauvaise en général (il existe des techniques de régularisation
d’intégrales à noyaux singuliers).
56
METHODES DE SIMPSON
Plus précis (ordre h5 ), le premier schéma de Simpson
Z b
h
f (x)dx ≈ [f (a) + 4f1 + f (b)]
3
a
où f1 ≡ f (x1 ), h = x3 − x2 = x2 − x1 , a ≡ x1 et b ≡ x3 .
C’est un schéma à 3 points. Il correspond à l’approximation f (x) = P2 (x) avec x1 , x2
et x3 comme points de collocation (pas constant).
Variantes: schéma composé, pas adaptatif, etc.
57
FORMULES DE NEWTON-COTES
Pour N points régulièrement espacés, on construit un schéma telle que l’intégrale doit
être exacte pour tout polynôme Pk−1 de degré N ≤ k.
NB. Attention aux problèmes pour N grand !
58
SCHÉMAS RECURSIFS
Ils permettent de limiter le nombre d’évaluation de f et de contrôler la précision.
Si I[h] est l’approximation de I obtenue en découpant [a, b] en J = N − 1
sous-intervalles de largeur h = b−a
J , on a
J
1
h X new
h
= I[h] +
fj
I
2
2
2 j=1
où les fjnew sont les ordonnées des nouveaux points intermédiaires.
NB. Il y a seulement J nouvelles évaluations de la fonction et on gagne à chaque étape
un facteur 8 en précision.
59
MÉTHODE GÉNÉRALE
Calculer les N poids wi tels que
I=
Z
b
g(x)f (x)dx ≈
a
N
X
wi f i
i=1
soit exacte pour un certain ensemble de fonctions. La plupart du temps, c’est l’espace
Pk des polynômes de degré k.
Méthodes des trapèzes:
Méthode de Simpson:
g(x) = 1, wi = { 12 , 1, 1, . . . , 1, 12 }
g(x) = 1, wi = { 13 , 43 , 23 , 43 , . . . , 12 }
Ces deux méthodes sont exactes pour les polynômes Pk de degré k ≤ N − 1 pourvu que
les xi soient disposés régulièrement.
60
QUADRATURES STANDARDS
Quadrature
conditions
Gauss-Legendre
g(x) = 1,
Gauss-Laguerre
g(x) = e−x ou g(x) = xp e−x
Gauss logarithmique
g(x) = ln x,
a=0=b−1
???
g(x) = ln x,
a = 0 et b = ∞
Newton-Cotes
g(x) = 1,
Tchebysheff
g(x) = 1 et wi = C te ,
Tchebysheff-Radau
g(x) = x ou
Radau
g(x) = 1,
Filon
g(x) = sin kx
“Monte-carlo”
61
a = −b = −1
a = −b = −1
√ x
,
1−x2
a = −b = −1
a = −b = −1
a = −b = −1
MÉTHODE DE GAUSS-LEGENDRE
Cette méthode est exacte pour les polynômes Pk de degré k ≤ 2N − 1 (→ plus précise).
Contraintes: les abscisses ne sont pas libres (racines des polynômes de Legendre) .
ex: pour N = 2, on a
x1 =
√
− 33
= −x2
et
w1 = w2 = 1
y
f(x)
C
B
A
-1
D
x1
0
x2
62
+1
x
NOYAU SINGULIER: UN EXEMPLE
Comment intégrer I(a) =
logarithmique en x = 1 ?
On sait que
R1
a
xK(x)dx, sachant que K présente une singularité
limx→1 K(x) =
− 12
ln
(1−x2 )
16
3
2 1/2
~ ln 4-ln (1-x )
K(x)
2
π/2
K
reg
(x)
ln 4
xK(x)
1
0
0.5
x
63
1
NOYAU SINGULIER: UN EXEMPLE (2)
Astuce: on retranche cette singularité (implicite), que l’on intègre
analytiquement. . . d’où
Z 1
Z 1
xKreg (x)dx +
x ln(1 − x2 )dx
I(a) =
a
a
.
intégration numérique
&
intégration analytique
64
6. ZERO D’UNE FONCTION. SYSTÈMES NON-LINÉAIRES.
65
~ = {ri }N d’une équation vectorielle du type
. . . ou trouver la racine R
~ = ~0
F~ (X)
~ désigne un vecteur à N composantes xi et F~ est un ensemble de N fonctions fi
où X
des N variables x1 , x2 , . . . , xN . Soit à une dimension
f (x) = 0
66
IDÉE GÉNÉRALE
On procède à partir d’un intervalle de recherche donné [a, b], ou bien à partir d’un
point de départ x(0) , par des méthodes itératives.
y
points de depart
f(x)
x
r2
r1
C’est assez simple à une dimension. C’est plus difficile pour N ≥ 2.
NB. Il y a bien souvent une forte sensibilité à x(0) et aux propriétés de la fonction aux
voisinage de f (x(0) ) et de f (r).
67
RACINES MULTIPLES
Une racine est de multiplicité n si
f (r) = 0, f 0 (r) ≡ f (1) (r) = 0, f (2) (r) = 0, . . . , f (n−1) (r) = 0, mais f (n) (r) 6= 0
racine
exemple
r
simple (n = 1)
f (r) = 0 mais f 0 (r) 6= 0
f (x) = x2 − 1
±1
double (n = 2)
f (r) = f 0 (r) = 0
f (x) = x2
0
triple (n = 3)
f (r) = f 0 (r) = f 00 (r) = 0
f (x) = x3
0
f (r) = · · · = f (n) (r) = 0
f (x) = xn
0
...
n-uple
NB. Les racines de multiplicité double (au moins) peuvent être problématiques à traiter
numériquement.
68
CONDITION D’EXISTENCE ?
A une dimension: si f est ontinue sur [a, b] et que f (a) × f (b) ≤ 0, alors il existe au
moins une racine réelle r ∈ [a, b] (en nombre impair).
NB. Ce n’est pas une condition nécessaire.
y
y
f(x)
f(x)
r1
a
r2
r2
x
b
a
69
r1
b
r3
x
TAUX DE CONVERGENCE
Rappel: on procède par itérations (1, 2, . . . , k, . . . , n) pour approcher au mieux la racine.
Comment varie l’erreur (une estimation) d’une étape à l’autre. On forme, à l’étape k
(k)
(k−1)
(k)
et non ∆k (x) = x − r
∆k (x) = x − x
On appelle taux de convergence, le nombre ζ tel que
∆k (x) ∼ C|∆k−1 (x)|ζ−1
avec |C| ≤ 1
∆k−1 (x) • ζ = 1, convergence simple
(la plupart des méthodes)
• ζ = 2, convergence double
(i.e. le nombre de “digits” double à chaque étape)
• ζ = 3, convergence triple
(situations rares . . . )
70
MÉTHODE DE BISSECTION
Rappel: si l’on sait trouver un intervalle [a, b] tel que f (a) × f (b) < 0 alors r ∈ [a, b].
On coupe l’intervalle en 2 (→ x = c), et l’on teste le signe de f (a) × f (c)

r ∈ [a, c]



. . . et ainsi de suite.


 r ∈ [c, b]
si f (a) × f (c) < 0
si f (a) × f (c) > 0
Après k bissections, l’intervalle courant a une largeur
A l’étape n, r ≈ a ≈ b.
71
b−a
2k
et la racine y est contenue.
Exemple de codage:
epsilon=1.00D-04
WHILE (relerror>=epsilon) DO
midvalue=a+b(-a)/2
IF (f(a)*f(midvalue)<=0) THEN
a=midvalue
ELSE
b=midvalue
ENDIF
relerror=ABS(b-a)/MAX(ABS(a),ABS(b))
ENDDO
PRINT*,’ROOT,ABS. & REL. ERROR::’,(a+b)/2,relerror,(b-a)/2
72
NB. Ce type de méthode est
• généralement très efficace (il garantit toujours de trouver une racine)
• très lent à converger (ζ = 1). Par exemple, le nombre d’itérations nécessaire pour
obtenir la precision relative Ex est
b−a
n ≈ 1.4 × ln
Ex
• inefficace dans certains cas (racine double, divergences, etc.)
73
exemple: soit à résoudre
sin x − cos x = 0
(r =+7.8539816339744828D-01)
A la précision de la machine (i.e. Ex ∼ 10−16 ), convergence attendue à n ∼ 50
INIT: a,F(b):: +0.0000000000000000D+00 -1.0000000000000000D+00
b,F(b):: +1.0000000000000000D+00 +3.0116867893975678D-01
n
1
2
3
4
5
6
7
8
9
10
11
12
13
14
a
+5.0000000000000000D-01
+7.5000000000000000D-01
+7.5000000000000000D-01
+7.5000000000000000D-01
+7.8125000000000000D-01
+7.8125000000000000D-01
+7.8125000000000000D-01
+7.8515625000000000D-01
+7.8515625000000000D-01
+7.8515625000000000D-01
+7.8515625000000000D-01
+7.8515625000000000D-01
+7.8527832031250000D-01
+7.8533935546875000D-01
b
+1.0000000000000000D+00
+1.0000000000000000D+00
+8.7500000000000000D-01
+8.1250000000000000D-01
+8.1250000000000000D-01
+7.9687500000000000D-01
+7.8906250000000000D-01
+7.8906250000000000D-01
+7.8710937500000000D-01
+7.8613281250000000D-01
+7.8564453125000000D-01
+7.8540039062500000D-01
+7.8540039062500000D-01
+7.8540039062500000D-01
74
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
+7.8536987304687500D-01
+7.8538513183593750D-01
+7.8539276123046875D-01
+7.8539657592773438D-01
+7.8539657592773438D-01
+7.8539752960205078D-01
+7.8539800643920898D-01
+7.8539800643920898D-01
+7.8539812564849854D-01
+7.8539812564849854D-01
+7.8539815545082092D-01
+7.8539815545082092D-01
+7.8539816290140152D-01
+7.8539816290140152D-01
+7.8539816290140152D-01
+7.8539816290140152D-01
+7.8539816336706281D-01
+7.8539816336706281D-01
+7.8539816336706281D-01
+7.8539816336706281D-01
+7.8539816339616664D-01
+7.8539816339616664D-01
+7.8540039062500000D-01
+7.8540039062500000D-01
+7.8540039062500000D-01
+7.8540039062500000D-01
+7.8539848327636719D-01
+7.8539848327636719D-01
+7.8539848327636719D-01
+7.8539824485778809D-01
+7.8539824485778809D-01
+7.8539818525314331D-01
+7.8539818525314331D-01
+7.8539817035198212D-01
+7.8539817035198212D-01
+7.8539816662669182D-01
+7.8539816476404667D-01
+7.8539816383272409D-01
+7.8539816383272409D-01
+7.8539816359989345D-01
+7.8539816348347813D-01
+7.8539816342527047D-01
+7.8539816342527047D-01
+7.8539816341071855D-01
75
37 +7.8539816339616664D-01
38 +7.8539816339616664D-01
39 +7.8539816339616664D-01
40 +7.8539816339707613D-01
41 +7.8539816339707613D-01
42 +7.8539816339730351D-01
43 +7.8539816339741719D-01
44 +7.8539816339741719D-01
45 +7.8539816339744561D-01
46 +7.8539816339744561D-01
47 +7.8539816339744561D-01
48 +7.8539816339744561D-01
49 +7.8539816339744739D-01
50 +7.8539816339744828D-01
51 +7.8539816339744828D-01
52 +7.8539816339744828D-01
53 +7.8539816339744828D-01
54 +7.8539816339744828D-01
55 +7.8539816339744828D-01
...
On retient:
+7.8539816340344260D-01
+7.8539816339980462D-01
+7.8539816339798563D-01
+7.8539816339798563D-01
+7.8539816339753088D-01
+7.8539816339753088D-01
+7.8539816339753088D-01
+7.8539816339747404D-01
+7.8539816339747404D-01
+7.8539816339745983D-01
+7.8539816339745272D-01
+7.8539816339744917D-01
+7.8539816339744917D-01
+7.8539816339744917D-01
+7.8539816339744872D-01
+7.8539816339744846D-01
+7.8539816339744837D-01 *** a et b ne varient plus
+7.8539816339744837D-01
+7.8539816339744837D-01
r ∼ +7.8539816339744828D-01 (+/-5.5511151231257827D-17)
76
MÉTHODE DES “FAUSSES POSITIONS”
Identique, mais on choisit l’intersection du segment [AB] joingnant les points A(a, f (a))
et B(b, f (b)) et l’axe des abscisses.
y
y
ETAPE n-1
ETAPE n
racine
f(x)
f(c)
B
f(x)
B
f(c)
b x
a
c
x
a
A
A
77
c
b
MÉTHODE DES INTERPOLANTS
On fait passer un polynôme PN −1 (x) par N points, puis on résoud PN −1 (x) = 0 (si
possible analytiquement).
• méthode des sécantes: la fonction interpolante est linéaire en x,
x(n+1)
y
(n)
(n)
(n−1)
f
(x
)(x
−
x
)
(n)
=x −
f (x(n) ) − f (x(n−1) )
y
ETAPE n-1
ETAPE n
f(x)
f(x)
B
B
A
x
c
c
f(c)
f(c)
A
racine
78
x
• Méthode de Müller: la fonction interpolante est quadratique en x (i.e. P2 (x) = 0)
• Méthode de Van Wijngaarden-Bekker: la fonction interpolante est quadratique en
y (i.e. x = P2 (y))
NB. Les points n’encadrent pas nécessairement la racine !
79
MÉTHODE DU POINT FIXE
Elle concerne les équations du type
g(x) − x = 0
Beaucoup d’équations sont de ce type ou peuvent s’y ramener.
Le schéma est
x(k+1) = g x(k)
. . . jusqu’à k = n où r ≈ x(n)
NB. Le schéma ne converge que si
−1 ≤ g 0 (r) ≤ 1
80
y
y
point fixe
g(x)
g(x)
x
x
y
y
g(x)
g(x)
x
x
81
MÉTHODE DES GRADIENTS (OU DE NEWTON)
On “pose”
f (x)
g(x) = x − 0
f (x)
où g est la fonction de Newton-Raphson et l’on se ramène ainsi à l’itération du point
fixe. Le schéma est
f (x(n) )
(n+1)
(n)
= x − 0 (n)
x
f (x )
La condition de convergence du schéma devient
f (x)f 00 (x) <1
f 0 2 (x) x=r
L’ordre de la méthode est généralement quadratique (i.e. ζ = 2, sauf pour une racine
double!).
82
y
y
ETAPE n-1
ETAPE n
racine
A
A
f(x)
f(x)
f(c)
x
x
c
c
tangeante
tangeante
83
exemple: soit à résoudre
sin x − cos x = 0
(r =+7.8539816339744828D-01)
A la précision de la machine (i.e. Ex ∼ 10−16 ), convergence attendue à n ∼???
INIT: x=+0.0000000000000000D+00
n
0
1
2
3
4
5
x
+0.0000000000000000D+00
+1.0000000000000000D+00
+7.8204190153913800D-01
+7.8539817599970183D-01
+7.8539816339744828D-01
+7.8539816339744828D-01
On retient:
f(x)
+0.0000000000000000D+00 (unassigned f-value)
-1.0000000000000000D+00
+3.0116867893975678D-01
-4.7464621278041701D-03
+1.7822277877512036D-08
-4.3313876790795902D-17 *** x ne varie plus
r ∼ +7.8539816339744828D-01 (+/-Ex)
84
BILAN
méthode
η
bissection
1
fausses positions
1 (?)
sécante
∼ 1.62
Müller/Van Wijngaarden-Bekker
∼ 1.84
point fixe
1
Newton (gradients)
85
≥2
si g 0 (r) = 0
2
racine simple
1
racine double
SYSTÈMES NON-LINÉAIRES:
généralisation de la méthode du point fixe
Pour une équation vectorielle du type
~ X)
~ = X,
~
G(
le schéma est
 (n+1)
(n)
(n)
(n)
(n)
=
g
(x
,
x
,
x
,
.
.
.
,
x
x

1
1
1
2
3
N )




(n+1)
(n)
(n)
(n)
(n)


=
g
(x
,
x
,
x
,
.
.
.
,
x
x

2 1
2
2
3
N )


(n+1)
(n)
(n)
(n)
(n)
=
g
(x
,
x
,
x
,
.
.
.
,
x
x
3
3
1
2
3
N )





...




 (n+1)
(n)
(n)
(n)
(n)
= gN (x1 , x2 , x3 , . . . , xN )
xN
la condition de convergence étant
X ∂gi ∂xk < 1,
k=1,N
86
i = 1, N
NB. On peut améliorer le schéma par la méthode de Seidel
(n+1)
On calcule xj
(n+1)
à partir de x<j
, soit
 (n+1)
(n)
(n)
(n)
(n)
=
g
(x
,
x
,
x
,
.
.
.
,
x
x

1 1
1
2
3
N )




(n+1)
(n+1)
(n)
(n)
(n)


=
g
(x
,
x
,
x
,
.
.
.
,
x
x

2 1
2
2
3
N )


(n+1)
(n+1)
(n+1)
(n)
(n)
=
g
(x
,
x
,
x
,
.
.
.
,
x
x
3
3
1
2
3
N )





...




 (n+1)
(n+1)
(n+1)
(n+1)
(n)
= gN (x1
, x2
, . . . , xN −1 , xN )
xN
87
SYSTÈMES NON-LINÉAIRES:
généralisation de la méthode des gradients
~ (n) ) du système
Elle fait intervenir la matrice Jacobienne JF (X


∂f1
∂f1
∂f1
. . . ∂xN
∂x
∂x
1
2








(n)
∂f2
∂f2
∂f2 
~

Jf (X ) =  ∂x
. . . ∂xN 
∂x2
1






∂fN
∂fN
∂fN
.
.
.
∂x1
∂x2
∂xN
~ (n)
X
Le schéma itératif est
~ (n+1) = X
~ (n) − J −1 (X
~ (n) )F~ (n)
X
F
NB. Deux difficultés potentielles: il faut inverser une matrice (cas kJk = 0 ?) et avoir
accès aux dérivées (analytiques).
88
SENSIBILITE
Ici le nombre de conditionnement η =
xf 0 (x)
f (x)
n’est pas défini.
Dans la recherche de zéros, on recherche une forte sensibilité. Le bon “nombre”, c’est
donc plutôt
1
|f 0 (r)|
→ le conditionnement est mauvais lorsque f a une tangente quasi-horizontale en x = r
(i.e. racine double au moins)
89
A plusieurs dimensions,
1
~
||Jf (R)||
~ est la matrice jacobienne associée à f .
où Jf (R)

∂f1
∂f1
...
∂x
∂x
1
2



 ∂f
∂f2
2
~
J(R) = 
 ∂x1 ∂x2 . . .



∂fN
∂fN
...
∂x1
∂x2
90
∂f1
∂xN





∂f2 
∂xN 



∂fN
∂xN
~
R
(1)
critere sur x
y
f(x)
critere sur f(x)
y
∆ (f)
2∆ (x)
2∆ (f)
f(x)
x
x
r
r
CRITERE
DE CONVERGENCE
2∆ (x)
Comment le définir ?
critere sur x et sur f(x)
y
f(x)
2∆ (x)
x
2∆ (f)
r
91
Classiquement, le critère se définit sur la racine r elle-même (i.e. sur ses estimations
successives)
|x(n) − x(n−1) | ≤ Cx
ou
(n)
x − x(n−1) ≤ Ex
(n−1)
x
NB. L’image par f de l’intervalle contenant la racine (i.e. ∼ [r(1 − Ex ), r(1 + Ex )])
dépend du gradient de la fonction en r. C’est pourquoi on applique (parfois) un critère
supplémentaire sur f du type
f (x(n) ) − f (x(n−1) ) ≤ Cf
ou encore
f (x(n) ) − f (x(n−1) ) ≤ Ef
f (x(n−1) )
92
7. EQUATIONS AUX DERIVEES ORDINAIRES (ODEs)
93
DEFINITIONS
Les équations aux dérivées ordinaires (ODEs) sont de la forme
F
n
n−1
dy
y
d y d
0
, y, g(x), x
,
,...,y ≡
dxn dxn−1
dx
=0
et ne mettent en jeu qu’une seule variable x.
• y est l’inconnue; c’est une fonction de x.
• n est l’ordre de l’équation (n ≥ 1).
Le cas le plus simple est l’équation différentielle du premier ordre (i.e. n = 1)
dy
, y, g(x), x = 0
F y0 ≡
dx
94
→
dy
= f (y, x)
dx
CHAMP DES PENTES
Dans l’équation
dy
= f (y, x)
dx
la fonction f représente le champ des pentes de la fonction y dans le plan (x, y).
solutions
y
x
95
“SPLITTING”
En pratique, quand n > 1, on remplace l’équation par un système de n ODEs du
premier ordre. D’où la définition de n − 1 fonctions intermédiaires yj , en posant
dyj−1
≡ yj ,
dx
j = 1, n − 1
avec y0 ≡ y.
exemple: F = mẍ
devient
(
F = mv̇
v = ẋ
96
SOLUTION
La détermination de la solution d’une équation d’ordre n (ou d’un système de n
équations d’ordre 1) nécessite n conditions aux limites
NB. Les solutions mathématiques/numériques ne correspondent pas forcément aux
solutions physiques.
97
SYSTEME
On peut avoir à faire à un système de N équations aux dérivées ordinaires (couplées)
n1

n1 −1
dy1
y1
d y1 d
0


, y1 , g1 (x), x = 0
,
,
.
.
.
,
y
≡
F
1

1
n
n
−1

1
1
dx
dx
dx



n2

n2 −1

dy2
y2

0
 F2 d y 2 , d
, y2 , g2 (x), x = 0
,
.
.
.
,
y
≡
2
n
n
−1
2
2
dx
dx
dx



...



nN

nN −1


dyN
yN
d yN d

0
 FN
, yN , gN (x), x = 0
,
,
.
.
.
,
y
≡
N
n
n
−1
N
N
dx
dx
dx
Ne doit apparaı̂tre qu’une seule variable commune, x. Sinon, c’est un problème aux
dérivées partielles.
L’ordre du système est:
SUP{n1 , n2 , . . . , nN }
NB. Par splitting, on obtient un système de ΣN
1 (ni − 1) équations du premier ordre.
98
CLASSES
• problèmes aux valeurs/conditions initiales (ou IVPs pour “Initial Value Problems”).
Les conditions aux limites sont données au même endroit, en x = a ou en x = b.
Conditions initiales
y
solution calculee
y(b)
solution exacte
y(a)
f(y(a),a)
x
a
b
99
CLASSES (2)
• problèmes aux conditions aux (deux) contours (ou (T)BVPs pour “(Two)
Boundary Value problems”).
Les conditions sont données en x = a et en x = b.
Conditions aux contours
y
y(b)
y(a)
x
a
b
100
CLASSES (3)
• problèmes avec condition au contour intermédiaire où une condition est donnée à
l’intérieur de l’intervalle d’intégration, en un point appelé matching point.
Condition au contour intermediaire
matching point
y
y(b)
y(a)
x
a
c
b
101
TYPES DE CONDITIONS
Les conditions aux contours/limites sont du type
• Dirichlet, quand elles portent sur la fonction
ex: y = 0 en x = 0
• Neumann, quand elles portent sur la dérivée
ex: ẏ = 0 en x = 0
• Miller??? ou mixtes, quand elles portent sur la dérivée et sur la fonction
ex: ẏ = 0 et y = 0 en x = 0
Les conditions aux contours s’écrivent en général
dy
C y, , x
dx
en x = a, b ou c.
102
=0
DIFFICULTE GENERALE
Il s’agit de calculer
y(x) =
Z
x
f (x0 , y)dx0 + y(a)
a
La forme implicite de cette équation ne permet pas de trouver y directement.
Ici, la fonction y n’est pas connue au préalable, mais doit être calculée de proche en
proche, par exemple à partir d’un point de départ (a, y(a)).
NB. Ce n’est donc pas un problème de quadrature !
103
L’INCREMENT
La construction de la fonction inconnue y se fait de proche en proche
yi+1 = yi + δi
Comment calculer le plus précisément possible l’incrément δi ?
104
EULER
C’est la méthode la plus intuitive, la plus simple, la plus imprécise . . .
Le schéma est
yi+1 = yi + hf (yi , xi )
où h = xi+1 − xi .
Echantillonage libre en x (→ pas adaptatif)
NB. La méthode d’Euler propage très bien les erreurs et les amplifie généreusement.
105
HEUN
On évalue l’incrément en deux étapes:
1. on estime la pente f (yi+1 , xi+1 ) en xi+1 par la méthode d’Euler
pi+1 = yi + hf (yi , xi )
≈ yi+1
→ d’où la pente f (yi+1 , xi+1 ) ≈ f (pi+1 , xi+1 )
2. on estime l’incrément par la méthode des trapèzes, d’où
yi+1 = yi +
h
(f (yi , xi ) + f (pi+1 , xi+1 ))
2
C’est un schéma de type prédicteur/correcteur.
106
y
p i+1
Euler
y i+1
f(y i , xi )
solution calculee
solution exacte
y
i
x
xi
x i+1
107
SERIES ENTIERES
On calcule l’incrément par les série de Taylor d’ordre > 1
∞
2
n n X
h df h d y
+
δi = f (yi , xi )h +
2 dx xi ,yi n=3 n! dxn xi ,yi
Comme f est une fonction de y, f 0 est une fonction de y 0 , donc de f que l’on connaı̂t.
De même, f 00 est une fonction de y 0 et de f 0 , donc de f .
De manière générale, on a
n
d f
=
dxn
∂
∂
+f
dx
dy
n
f (y, x)
NB. On maı̂trise l’ordre, mais il faut calculer les dérivées
108
SERIES ENTIERES (2)
exemple: Pour résoudre y 0 = x sin y par cette méthode, on calcule d’abord f 0 = y 00 , soit
y 00 = sin y + xy 0 cos y
= sin y + x(x sin y) cos y
= sin y(1 + x2 cos y) ≡ f 0 (x, y)
(2)
où l’on a remplacé y 0 par son expression, puis f 00 = y (3) . De la même façon, on trouve
3
(3)
3
(3)
y = sin y x sin y + (3x + x ) cos y ≡ f 00 (x, y)
et aisni de suite jusqu’à l’ordre voulu. Reste à écrire le développement de Taylor associé.
En l’occurrence, à l’ordre 3 inclus, on obtient le schéma suivant
yi+1
h2
sin yi (1 + x2i cos yi )
= yi + hxi sin yi +
2
3
h3
3
sin yi xi sin yi + (3xi + xi ) cos yi
+
6
109
(4)
COMPARAISON
∆yi=yi−e
x
0.00
−0.05
Euler (Taylor ordre 1)
Taylor ordre 2
Taylor ordre 3
−0.10
0.0
0.1
0.2
0.3
0.4
0.5
xi
0.6
0.7
0.8
0.9
1.0
Solution de f (y, x) = y, avec y(0) = 1. Est donné ici l’erreur absolue par rapport à la
solution exacte y = ex sur [0,1] pour une pas h = 0.1
110
RUNGE-KUTTA
L’idée générale des méthodes de Runge-Kutta d’ordre N repose sur la possibilité
d’exprimer l’incrément sous la forme
yi+1 − yi = h
N
X
wj f j
j=1
où fj = f (Yj , xi + hαj ), avec 0 ≤ αj ≤ 1 et
Yj = y i +
j−1
X
βjk Yk
k=1
Les coefficients αj , βjk et les poids wi sont déterminés en imposant que la méthode soit
équivalente à la méthode des séries entières.
NB. Il n’y a pas de dérivée à calculer !
111
RUNGE-KUTTA (2)
ordre 2: c’est la méthode de Heun
ordre 4: le schéma est
yi+1
où
h
= yi + [f (yi , xi ) + 2f1 + 2f2 + f3 ]
6

h
h


f1 = f (yi + f (yi , xi ), xi + )


2
2

h
h
f2 = f (yi + f1 , xi + )


2
2



f3 = f (yi + hf2 , xi + h)
112
1 Calcul de la pente en x=a, et estimation
2 Premiere estimation de la pente en x=c,
de y(c)
a partir de l’estimation de y(c)
y
y
pente f(y(c),c)=f1
pente f(y(a),a)
y(a)
c
a
y(a)
x
b
c
a
3 Seconde estimation de y(c) et de la pente
x
b
4 premiere estimation de y(b) et de la pente
en x=c a partir de f(y(c),c)
en x=b a partir de f2
pente f 3
y
y
pente f(y(c),c)=f 2
y(a)
f1
a
y(a)
x
c
f2
b
113
a
x
c
b
COMPARAISON (2)
0
−1
x
log10|∆yi=yi−e |
−2
−3
−4
Euler (Taylor ordre 1)
Taylor ordre 2 (Heun)
Taylor ordre 3
Taylor ordre 4 (Runge−Kutta)
−5
−6
−7
−8
0.1
0.2
0.3
0.4
0.5
xi
0.6
(Même conditions de calcul que précédemment)
114
0.7
0.8
0.9
1.0
BURLISH-STOER
C’est probablement l’une des méthodes les plus fiables (i.e. précise). Pour un intervalle
d’intégration donné [xi , xi+1 ], l’incrément est calculé pour différents pas
h1 = h, h2 = h2 , h3 = h4 , h4 = h6 , . . . , hn ,
. . . puis l’on cherche la limite de la série {δ(hn )} quand le pas tends vers zéro (i.e.
n → ∞).
y
y i+1 -y i
y i+1
n=1
n=2
n=3
n=4
f(y i , xi )
xi
y
increment exact
solution exacte
i
n
x
x i+1
1 2
115
3
4
”MULTI-PAS”
On calcule l’incrément à partir de yi , yi−1 , etc. de manière explicite. L’idée est de
représenter la fonction f par un polynôme PN de degré N .
Ainsi
dy
= f (y, x) ≈ PN (x)
dx
devient intégrable analytiquement:
yi+1 = yi +
Z
xi+1
PN (x0 )dx0
xi
NB. Ces méthodes sont très précises, parfois instables, pas “self-starting”.
116
FORMULES D’ADAMS-BASHFORTH
• pour N = 2
yi+1 = yi +
h
(3fi − fi−1 )
2
O(h2 )
• pour N = 3
yi+1 = yi +
h
(23fi − 16fi−1 + 5fi−2 )
12
O(h3 )
• pour N = 4
yi+1 = yi +
h
(5fi − 59fi−1 + 37fi−2 − 9fi−3 )
24
117
O(h4 )
PREDICTEUR/CORRECTEUR
On utilise ces formules comme prédicteurs. Reste à construire un schéma correcteur
associé.
ex: pour N = 4, le prédicteur est (formule d’Adams-Bashforth)
pi+1 = yi +
h
(55fi − 59fi−1 + 37fi−2 − 9fi−3 )
24
On construit alors un second polynôme qui met en jeu les 4 points (xi−2 , fi−2 ),
(xi−1 , fi−1 ), (xi , fi ) et (xi+1 , fi+1 ) où fi+1 ≡ f (pi+1 , xi+1 ). D’où
yi+1 = yi +
h
(fi−2 − 5fi−1 + 19fi + 55fi+1 )
24
(formules d’Adams-Bashforth-Moulton)
118
TIR
Le problème de condition aux contours est transformé en un problème aux valeurs
initiales (n ≥ 2).
→ algorithme itératif dont l’objectif est de trouver la bonne condition sur l’autre contour.
ex: pour une ODE(n = 2) avec conditions de Dirichlet, on cherche ẏ(a) donnant y BC (b).
solution
y
solution
tir 2
y
y(b)
tir 2
y(b)
tir 3
tir 1
tir 2
tir 1
tir 1
y(a)
y(a)
x
a
b
x
a
119
b
TIR (2)
En pratique, on retombe sur un problème de recherche de racine ou de minimisation
(y + (b) − y BC (b))(y − (b) − y BC (b)) ≤ 0
BC
solution
y’ (a)
0
y’+(a)
y’(a)
120
SCHEMAS AUX DIFFERENCES
On écrit le schéma aux différencex finies en N points de grille xi (régulièrement
distribués).
On aboutit alors à un système d’équations linéaires (matrice tridiagonale pour les
schémas de bas ordre).
NB. C’est beaucoup plus rapide, mais beaucoup moins précis.
121