Vous êtes sur la page 1sur 9

Analyse numerique : Resume

Stefan Binder,
selon le cours du Prof. Marco Picasso
8 juin 2007
Remarque importante :
Je ne garantis pas lexactitude de ce document. Toute proposition de correction ou damelioration est
bienvenue : s.binder@ep.ch.
1 Probl`emes dinterpolation
1.1 Position du probl`eme
Nous cherchons un polynome p P
n
(R) tel que
p(t
j
) = p
j
0 j n,
o` u les valeurs t
0
, , t
n
et p
0
, , p
n
sont donnees. La methode matricielle est deconseillee...
1.2 Solution : Base de Lagrange, puis interpolation de Lagrange
Si k [0, n], posons

k
(t) =
(t t
0
) (t t
k1
)(t t
k+1
) (t t
n
)
(t
k
t
0
) (t
k
t
k1
)(t
k
t
k+1
) (t
k
t
n
)
=
n

j=0,j=k
t t
j
t
k
t
j
,
avec les proprietes suivantes :

k
P
n
(R),

k
(t
j
) = 0 si j = k,

k
(t
k
) = 1.
Ainsi, le polynome cherche est donne par
p(t) =
n

j=0
p
j

j
(t).
1.3 Interpolation dune fonction continue par un polynome
Soient f : R R une fonction continue donnee et t
0
, . . . , t
n
R, (n + 1) points donnes. On cherche
p P
n
(R) tel que p(t
j
) = f(t
j
), 0 j n. En posant p
j
= f(t
j
), 0 j n, on obtient, comme
precedemment,
p(t) =
n

j=0
f(t
j
)
j
(t), t R.
Bien s ur, ce polynome depend du n choisi.
De plus on montre que si f C
n+1
, alors max
t[a,b]
|f(t)p
n
(t)|
1
2(n+1)
_
ba
n
_
n+1
max
t[a,b]
|f
(n+1)
(t)|.
1
1.4 Interpolation par intervalles
Exemple avec n = 2 : f
h
est linterpolant par intervalles de degre 2 de f si :
f
h
|
[x
i
,x
i+1
]
P
2
(R)
f
h
(x
i
) = f(x
i
) et
f
h
(x
i+
1
2
) = f(x
i+
1
2
).
On demontre le resultat suivant :
Soit f C
n+1
([a, b]) et soit f
h
son interpolant de degre n par intervalles. Alors il existe C (independante
du choix des x
i
) telle que max
x[a,b]
|f(x) f
h
(x)| Ch
n+1
.
2 Derivation numerique
Soit f : R R, f C
1
. Soit x
0
R donne. Alors :
f

(x
0
) = lim
h0
f(x
0
+h)f(x
0
)
h
= lim
h0

h
f(x
0
)
h
= lim
h0
f(x
0
)f(x
0
h)
h
= lim
h0

h
f(x
0
)
h
= lim
h0
f(x
0
+h/2)f(x
0
h/2)
h
= lim
h0

h
f(x
0
)
h
Les operateurs
h
,
h
et
h
sont appeles respectivement operateur de dierence (premi`ere) progressive,
retrograde et centree. On montre que ces operateurs sont lineaires.
2.1 Theor`eme
Soit f : R R, f C
m+1
, soient x
0
R et h
0
> 0 xes. Alors C > 0 telle que

f
(m)
(x
0
)

m
h
f(x
0
)
h
m

Ch, h h
0
.
Le resultat est le meme si
m
h
=
m
h
.
Les erreurs de troncature

f
(m)
(x
0
)

m
h
f(x
0
)
h
m

et

f
(m)
(x
0
)

m
h
f(x
0
)
h
m

sont donc dordre h.


2.2 Theor`eme
Soit f : R R, f C
m+2
, soient x
0
R et h
0
> 0 xes. Alors C > 0 telle que

f
(m)
(x
0
)

m
h
f(x
0
)
h
m

Ch
2
, h h
0
.
Lerreur de troncature

f
(m)
(x
0
)

m
h
f(x
0
)
h
m

est donc dordre h


2
. Cette formule centree est donc plus
precise que les deux autres.
2.3 Remarque
Les operateurs de dierence sont denis recursivement :
m
h
=
h
(
m1
h
f),
m
h
=
h
(
m1
h
f) et

m
h
=
h
(
m1
h
f).
Exemple :
2
h
f(x) = f(x +h) 2f(x) + f(x h).
2.4 Dierents types derreurs
Les erreurs darrondis augmentent lorsque h diminue.
Les erreurs de troncature diminuent lorsque h diminue.
Les erreurs darrondis augmentent lorsque m augmente.
2
3 Integration numerique, formules de quadrature
3.1 But
Si f : [a, b] R est une fonction continue donnee, on veut approcher numeriquement
_
b
a
f(x)dx.
3.2 Methode
Partitionner [a, b] en petits intervalles [x
i
, x
i+1
] , i = 0, . . . , N 1. Ainsi,
_
b
a
f(x)dx =
N1

i=0
_
x
i+1
x
i
f(x)dx.
Ce sont ces integrales quil faut approcher par des formules de quadrature.
3.3 Formule de quadrature
Si g est une fonction sur [1, 1], la formule de quadrature est denie par
J(g) =
M

j=1

j
g(t
j
),
o` u 1 t
j
1 sont les M points dintegration (`a determiner) et
1
, . . . ,
M
sont les poids (`a determiner)
de la formule de quadrature.
Exemple (formule du trap`eze) : t
1
= 1, t
2
= 1,
1
= 1,
2
= 1.
On dira que la formule de quadrature J(g) est exacte pour les polynomes de degre r si
J(p) =
_
1
1
p(t)dt, p P
r
(R).
Si J(g) est exacte pour les polynomes de degre r, alors |
_
b
a
f(x)dx L
h
(f)| Ch
r+1
.
Soient 1 t
1
< < t
M
1, M points donnes, et
1
, . . . ,
M
la base de Lagrange de P
M1
(R)
associee `a ces points. Alors la formule de quadrature J(g) est exacte pour les polynomes de degre M-1
si et seulement si

j
=
_
1
1

j
(t)dt, 1 j M.
3.4 Autres formules et formules derivees
Formule composite :
On peut egalement approcher
_
b
a
f(x)dx par la formule composite :
L
h
(f) =
N1

i=0
h
2
M

j=1

j
f
_
x
i
+h
t
j
+ 1
2
_
.
Exmple (formule du trap`eze) : L
h
(f) =

N1
i=0
h
f(x
i
)+f(x
i+1
)
2
.
Formule du rectanlge (formule `a un seul point, t
1
= 0) :
J(g) = 2g(0).
Formule de Simpson (formule `a trois points, t
1
= 1, t
2
= 0, t
3
= 1) :
J(g) =
1
3
g(1) +
4
3
g(0) +
1
3
g(1).
La formule de Simpson donne une erreur dordre h
4
.
3
Formules de Gauss-Legendre :
Lidee est de placer au mieux les points dinegration de mani`ere `a ce que la formule de quadrature
soit exacte pour les polynomes de degre aussi grand que possible. Le polynome de Legendre est
deni par :
L
M
(t) =
1
2
M
M!
d
M
dt
M
(t
2
1)
M
.
On dit que la formule de quadrature J(g) est la formule de Gauss-Legendre `a M points si les
points dintegration sont les zeros de L
M
et
j
=
_
1
1

j
(t)dt, 1 j M. Cette formule de
Gauss-Legendre est exacte pour les polynomes de degre 2M 1.
Exemple : Formule de Gauss `a deux points (t
1
=
1

3
, t
2
=
1

3
). On a
J(g) = g
_
1/

3
_
+ g
_
1/

3
_
.
4 Elimination de Gauss, syst`emes surdetermines, ...
Voir cours dalg`ebre lineaire.
5 Decomposition LU, decompostion de Cholesky(LL
T
)
Construire les algorithmes par soi-meme.
Les matrices L et U seront le la forme suivante :
L =
_

_
l
11
0 0
l
21
l
22
0
.
.
.
.
.
.
.
.
.
l
N1
l
N2
l
NN
_

_
et U =
_

_
1 u
12
u
1N
0 1
.
.
.
.
.
.
.
.
.
u
N1N
0 0 1
_

_
.
6 Resolution de syst`emes lineaires par des methodes iteratives
7 Methodes numeriques pour le calcul des valeurs propres dune
matrice symetrique
8 Equations et syst`emes dequations non lineaires
8.1 Probl`eme
Soit f : R R une fonction continue donnee. On cherche numeriquement un ou plusieurs zeros x, i.e.
f( x) = 0.
8.2 Methode : generalites
Il faut dabord transformer le probl`eme f(x) = 0 en un probl`eme du type x = g(x). (Exemple :
g(x) = x f(x), ou, plus generalement g(x) = x +f(x)). Alors une methode de point xe consiste `a :
evaluer (avec les doigts) une approximation x
0
du point xe x de g, puis
calculer successivement x
n+1
= g(x
n
), n = 0, 1, 2, . . . .
Si cette methode converge vers x, et si g est continue, alors cette limite x est necessairement un point
xe de g.
4
8.3 Theor`eme
Soit g : R R, g C
1
(R) et soit x un point xe de g. Si |g

( x)| < 1, alors > 0 tel que si x


0
satisfait
| x x
0
| , alors la suite x
n+1
= g(x
n
) converge vers x lorsque n . De plus, la convergence est
lineaire.
8.4 Methode de Newton
Soit f : R R, f C

et soit x tel que f( x) = 0, mais f

( x) = 0. En observant le graphe de ce
schema, on obtient que f

(x
n
) = f(x
n
)/(x
n
x
n+1
), qui donne, lorsque x
0
est proche de x, la methode
de Newton :
x
n+1
= x
n

f(x
n
)
f

(x
n
)
.
Ainsi, si on pose g(x) = x
f(x)
f

(x)
, on voit que la methode de Newton est une methode de point xe.
On montre que si x
0
est susamment proche de x, alors la suite donnee par la methode de Newton
converge de mani`ere quadratique.
8.5 Syst`emes non lineaires
Soit f : R
N
R
N
une application continue dont on cherche un ou des zeros, i.e. f( x) = 0. Cette
equation peut secrire sous la forme dun syst`eme de N equations `a N inconnues x
1
, . . . , x
N
:
f(x) =
_

_
f
1
(x)
f
2
(x)
.
.
.
f
N
(x)
_

_
=
_

_
f
1
(x
1
, . . . , x
N
)
f
2
(x
1
, . . . , x
N
)
.
.
.
f
N
(x
1
, . . . , x
N
)
_

_
=
_

_
0
0
.
.
.
0
_

_
.
La methode de Newton se generalise aux syst`emes non lineaires de la mani`ere suivante :
x
n+1
= x
n
Df(x
n
)
1
f(x
n
),
o` u Df(x) est la matrice jacobienne de f au point x denie par (Df(x))
ij
=
f
i
x
j
(x), 1 < i, j < N. De
plus, le vecteur de depart x
0
doit etre choisi susamment proche du vecteur x pour que la methode
converge. Concr`etement, pour calculer x
n+1
partir de x
n
, on
ecrit le probl`eme sous la forme Df(x
n
)(x
n
x
n+1
) = f(x
n
),
construit le vecteur

b = f(x
n
) (i.e. le seconde membre du syst`eme lineaire),
construit la matrice jacobienne A = Df(x
n
),
resout le syst`eme Ay =

b (LU, LL
T
, . . . ),
pose x
n+1
= x
n
y.
9 Equations dierentielles
Pour une introduction formelle `a la notion dequation dierentielle, voir le cours danalyse.
9.1 Theor`eme
Soit une fonction continue f : R R
+
R qui verie la propriete suivante : il existe l : R
+
R telle
que x, y R, t R
+
, on ait (f(x, t) f(y, t))(x y) l(t)|x y|
2
. Alors le probl`eme de Cauchy
admet une solution globale unique.
Remarque : Sil existe une constante K satisfaisant
f
x
(x, t) K, x R, t 0, alors on peut appliquer
ce theor`eme.
5
9.2 Schemas dEuler
Si le probl`eme est numeriquement bien pose (i.e. une erreur minime sur la condition initiale ne provoque
pas dimmenses erreurs sur le resultat), on peut etablir des schemas dEuler pour approximer le probl`eme
de Cauchy. On partitionne laxe 0t, et, en posant h
n
= t
n+1
t
n
et u
n
une approximation de u(t
n
), on
etablit les schemas suivants :
1. Schema dEuler progressif (explicite) :
u
n+1
u
n
h
n
= f(u
n
, t
n
), n = 0, 1, 2, . . . , avec u
0
= u
0
.
Ce schema est explicite car il permet dexpliciter u
n+1
en fonction de u
n
: u
n+1
= u
n
+h
n
f(u
n
, t
n
).
Cependant, il nest pas toujours stable(condition sur h).
2. Schema dEuler retrograde (implicite) :
u
n+1
u
n
h
n
= f(u
n+1
, t
n+1
), n = 0, 1, 2, . . . , avec u
0
= u
0
.
Ce schema est implicite car il ne permet pas dexpliciter directement u
n+1
en fonction de u
n
.
Pour calculer u
n+1
, il faut denir la fonction g(x) = x h
n
f(x, t
n+1
) u
n
et en chercher un zero
(methode de Newton, par exemple). Lavantage de ce schema est quil est toujours stable (pas de
condtion sur h).
Les schemas dEuler convergent `a lordre h. Il existe dautres methodes (Runge-Kutta, par exemple) qui
convergent `a lordre h
2
.
9.3 Syst`emes dierentiels du premier ordre
Ces schemas se generalisent `a R
M
. Si u
n
=
_
u
n
1
u
n
2
u
n
M

T
est une approximation de u(t
n
), alors
on peut ecrire les schemas de la mani`ere suivante :
u
n+1
u
n
h
n
=

f(u
n
, t
n
) et
u
n+1
u
n
h
n
=

f(u
n+1
, t
n+1
).
10 Dierences nies pour des probl`emes aux limites unidimen-
sionnels
10.1 Probl`eme
Soient c, f deux fonction continues sur [0, 1]. Trouver u C
2
sur [0, 1] telle que
u

(x) + c(x)u(x) = f(x), si 0 < x < 1, avec u(0) = u(1) = 0.


Exemple de situation physique : deplacement vertical dune corde tendue.
Les deux conditions u(0) = u(1) = 0 sont appelees conditions aux limites.
10.2 Methode (dierences nies)
Soit N > 0, on pose h = 1/(N + 1) et on note x
j
= jh, 0 j N + 1, les points de discretisation.
Au chapitre 2, nous avons vu que u

(x) =

2
h
u(x)
h
2
+ O(h
2
) =
u(x+h)2u(x)+u(xh)
h
2
+O(h
2
).
En notant u
j
lapproximation de u(x
j
), nous pouvons ecrire le probl`eme sous la forme suivante :
u
j1
+ 2u
j
u
j+1
h
2
+c(x
j
)u
j
= f(x
j
), 1 j N, avec u
0
= u
N+1
= 0.
6
Resoudre ce probl`eme revient exactement `a chercher u tel que Au =

f,
o` u u =
_
u
1
u
N

T
,

f =
_
f(x
1
) f(x
N
)

T
et A =
1
h
2
_

_
2 + c
1
h
2
1 0
1
.
.
.
.
.
.
.
.
.
.
.
.
1
0 1 2 + c
N
h
2
_

_
.
Cette methode converge `a lordre h
2
.
10.3 Approximation (dierences nies) dun probl`eme aux limites non lineaire
Supposons maintenant que c depende aussi de linconnue u du probl`eme. Si nous posons u
j
une approx-
imation de u(x
j
), le probl`eme secrit
u
j1
+ 2u
j
u
j+1
h
2
+ c(x
j
, u
j
) = f(x
j
), 1 j N, avec u
0
= u
N+1
= 0.
Nous sommes en presence dun syst`eme non lineaire de N equations `a N inconnues, que nous allons
resoudre `a laide de la methode de Newton.
Soit u le N-vecteur de composantes u
1
, . . . , u
N
. Resoudre ce syst`eme non-lineaire revient donc `a chercher
u tel que F(u) =

0, o` u
F(u) =
_

_
2u
1
u
2
h
2
+ c(x
1
, u
1
) f(x
1
)
u
1
+ 2u
2
u
3
h
2
+ c(x
2
, u
2
) f(x
2
)
.
.
.
u
N1
+ 2u
N
h
2
+ c(x
N
, u
N
) f(x
N
)
_

_
.
11 Methode delements nis pour lapproximation de probl`emes
elliptiques
12 Probl`emes paraboliques. Probl`eme de la chaleur
12.1 Probl`eme
Considerons un barreau metallique occupant lintervalle [0, L]. Au temps t
0
, sa temperature est connue
et vaut w(x), x [0, L]. Supposons avoir place sous le barreau une source de chaleur f(x, t), donnee.
Si , c
p
et k sont des constantes positives donnees (densite volumique, chaleur specique et conductivite
thermique), la temperature u(x, t) du barreau au point x et `a linstant t est liee `a f(x, t) par lequation
c
p
u
t
(x, t) k

2
u
x
2
= f(x, t) x ]0, L[ , t > 0
u(0, t) = u(L, t) = 0, t > 0 (conditions aux limites)
u(x, 0) = w(x), x ]0, L[ (condition initiale).
Cette equation est souvent appelee equation de la chaleur.
12.2 Solutions
Pour alleger les notations, nous choisissons , c
p
, L = 1. Il vient alors :
Schema dEuler progressif, explicite (obtenu par FDF progressive en temps et FDF centree en
espace) :
u
n+1
i
u
n
i

k
u
n
i1
2u
n
i
+ u
n
i+1
h
2
= f(x
i
, t
n
), 1 i N,
avec u
n
0
= u
n
N+1
= 0.
Ce schema est stable si
h
2
2k
.
7
Schema dEuler retrograde, implicite (obtenu par FDF progressive en temps et FDF centree en
espace) :
u
n+1
i
u
n
i

k
u
n+1
i1
2u
n+1
i
+u
n+1
i+1
h
2
= f(x
i
, t
n+1
), 1 i N,
avec u
n+1
0
= u
n+1
N+1
= 0. Ce schema est inconditionnellement stable.
13 Probl`emes hyperboliques. Equation de transport et equation
des ondes
13.1 Probl`eme : Equation de transport
Soient deux fonctions c : RR
+
R et f : RR
+
R continues donnees, et soit w : R R une autre
fonction donnee.
Nous posons le probl`eme de trouver u : R R
+
R satisfaisant lequation :
u
t
(x, t) + c(x, t)
u
x
(x, t) = f(x, t), x R, t > 0,
avec la condition initiale u(x, 0) = w(x), x R.
(Exemple physique : u : concentration dun polluant, c : vitesse de transport(vent), f : quantite absorbee
par le milieu et w la condition initiale).
13.1.1 Solutions
Lorsque c = c
0
est une constante, la solution est u(x, t) = w(x c
0
t).
Schema explicite centre : Soient h > 0 un pas spatial et un pas temporel, avec x
j
= jh, j Z et
t
n
= n, n > 0. Soi u
n
j
lapproximation de u(x
j
, t
n
). On peut alors choisir un schema numerique
dordre 2 en espace O(h
2
) et 1 en temps O() :
u
n+1
j
u
n
j

+c(x
j
, t
n
)
u
n
j+1
u
n
j1
2h
= f(x
j
, t
n
), j Z, n > 0,
avec u
0
j
= w(x
j
), j Z (condition initiale).
Cependant, on montre que ce schema explicite centre est toujours instable.
Schema decentre (memes denitions pour h, et u
n
j
) :
Schema decentre en arri`ere :
u
n+1
j
u
n
j

+ c(x
j
, t
n
)
u
n
j
u
n
j1
h
= f(x
j
, t
n
), si c(x
j
, t
n
) > 0.
Schema decentre en avant :
u
n+1
j
u
n
j

+c(x
j
, t
n
)
u
n
j+1
u
n
j
h
= f(x
j
, t
n
), si c(x
j
, t
n
) < 0.
Dans le cas o` u c = c
0
et f 0, la condition de stabilite secrit

h

1
|c
0
|
.
13.2 Probl`eme : Equation des ondes
Soit f : [0, 1] R
+
R une fonction continue donnee et soient w : [0, 1] R et v : [0, 1] R deux
autres fonctions donnees. On cherche une fontion u : [0, 1] R
+
R telle que

2
u
t
2
(x, t) c
2
2
u
x
2
(x, t) = f(x, t), x ]0, 1[ , t > 0
u(0, t) = u(1, t) = 0 t > 0 (conditions aux limites)
u(x, 0) = w(x) et
u
t
(x, 0) = v(x) x ]0, 1[ (conditions initiales).
Ce probl`eme est un probl`eme hyperbolique dordre deux. Le probl`eme de la corde vibrante en est un
exemple. Le deplacement vertical u de la corde vibrante est la somme de deux ondes se propageant de
droite `a gauche et de gauche `a droite `a la vitesse c.
8
13.2.1 Solution
En ecrivant les FDF centrees en temps et en espace, on obtient le schema suivant :
u
n1
i
2u
n
i
+ u
n+1
i

2
c
2
u
n
i1
2u
n
i
+ u
n
i+1
h
2
= f(x
i
, t
n
), pour n xe, 1 i N,
avec u
n
0
= u
n
N+1
= 0 (conditions aux limites).
Il nous manque encore u
0
i
et u
1
i
... Utilisons les conditions initiales :
u
0
i
= w(ih), 0 i N + 1.
Pour obtenir u
1
i
, on ecrit le schema pour n = 0, et on exprime u
1
i
`a laide dune FDF centree.
14 Approximation de probl`emes de convection-diusion
14.1 Probl`eme
Donnees : > 0 (diusion), c
0
> 0 (transport), w : [0, 1] R (concentration initiale).
Inconnue : on cherche u : [0, 1] [0, ] R : (x, t) u(x, t) telle que :
u
t
(x, t)

2
u
x
2
(x, t) + c
0
u
x
(x, t) = 0, 0 < x < 1, t > 0
u(x, 0) = w(x) 0 < x < 1 (condition initiale)
u(0, t) = u(1, t) = 0 t > 0 (conditions aux limites)
Remarques :
Si c
0
= 0, on retrouve le probl`eme de lequation de la chaleur (diusion) du chapitre 12.
Si = 0, on retouve le probl`eme de lequation de transport(convection) du chapitre 13 (il faut alors
supprimer la condition u(1, t) = 0).
14.2 Solutions
Schema explicite centre :
u
n+1
i
u
n
i


u
n
i1
2u
n
i
+u
n
i+1
h
2
+ c
0
u
n
i+1
u
n
i1
2h
= 0, 1 i N,
avec u
n
0
= u
n
N+1
= 0.
Ce schema est stable sous condition ( . . . ), consistant `a lordre O( + h
2
) et satisfait la
propriete de positivite et la principe du maximum.
Schema implicite decentre :
u
n+1
i
u
n
i


u
n+1
i1
2u
n+1
i
+ u
n+1
i+1
h
2
+c
0
u
n+1
i
u
n+1
i1
h
= 0, 1 i N,
avec u
n+1
0
= u
n+1
N+1
= 0.
Il sagit ensuite de resoudre le syst`eme lineaire suivant :
_

.
.
.
.
.
.
.
.
.
_

_
_

_
u
n+1
1
u
n+1
2
.
.
.
u
n+1
N
_

_
=
_

_
u
n
1
u
n
2
.
.
.
u
n
N
_

_
,
o` u = 1 +
2
h
2
+
c
0

h
, =

h
2
et =

h
2

c
0

h
.
Ce schema est inconditionnellement stable, consistant `a lordre O( + h
2
) et satisfait la propriete
de positivite et la principe du maximum.
9