Académique Documents
Professionnel Documents
Culture Documents
Dept. Info/Math
Annee universitaire 2011-2012
EI 1
ANALYSE NUMERIQUE
Mazen SAAD
Mazen.Saad@ec-nantes.fr
ii
`
TABLE DES MATIERES
Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1. Alg`
ebre lin
eaire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1. Arithmetique flottante. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Un peu de calcul matriciel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
3
6
2. R
esolution des grands syst`
emes lin
eaires creux. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1. Exemple 1. Equation de la chaleur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. Exemple 2. Probl`emes de reseaux.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3. Graphe associe `a une matrice et inversement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4. Les matrices irreductibles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5. Localisation des valeurs propres. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6. Methodes directes pour la resolution de syst`emes lineaires. . . . . . . . . . . . . . . . . . . . .
9
9
12
13
15
16
20
3. M
ethodes it
eratives. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1. Methodes iteratives classiques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. Methodes de gradients. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3. Calcul de valeurs propres et de vecteurs propres. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
27
29
30
4. Interpolation et Approximation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2. Interpolation de Lagrange. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3. Polynome dinterpolation de Newton. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4. Interpolation de Hermite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5. Interpolation locale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6. Meilleure approximation (projection orthogonale). . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.7. Polynomes orthogonaux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.8. Approximation au sens des moindres carres discrets. . . . . . . . . . . . . . . . . . . . . . . . . . .
37
37
38
41
42
44
45
47
48
5. Int
egration num
erique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.1. Methode composite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.2. Formulation de quadrature de type interpolation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
`
TABLE DES MATIERES
iv
61
61
62
63
65
69
7. Travaux Dirig
es. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.1. Syst`emes lineaires creux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2. Methodes iteratives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3. Interpolation et approximation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.4. Integration numerique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.5. Equations differentielles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.6. TA 2007 avec correction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.7. TA-2008. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
71
75
77
79
82
86
93
8. Devoir surveill
e dAnalyse Num
erique (2010) et son corrig
e . . . . . . . . . . . . . . 97
Exercice 1.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Exercice 2.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Exercice 3.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Corrige exercice 1.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Corrige exercice 2.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Corrige exercice 3.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
9. Devoir
Exercice
Exercice
Exercice
surveill
e dAnalyse Num
erique (2011). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
1.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
2.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
3.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
`
TABLE DES MATIERES
10.11.
10.12.
10.13.
10.14.
10.15.
HELP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Boucles et controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Graphismes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
tic toc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Fonctions mathematiques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
INTRODUCTION
INTRODUCTION
Dans ce cours, nous nous interessons `a lanalyse numerique ; cette discipline elle-meme peut
etre consideree comme partagee en deux grands th`emes :
Approximation numerique des EDP (Elements finis, volumes finis, methodes spectrales, ...)
Algorithmes numeriques : resolution de grands syst`emes lineaires creux, integration
numerique, resolution numerique des EDO, optimisation
Lobjet de ce cours est de determiner des methodes pour calculer la valeur numerique
(exacte ou approchee) de la solution dune equation ou dun syst`eme dequations ; en particulier `a laide dun ordinateur.
CHAPITRE 1
`
ALGEBRE
LINEAIRE
1.1. Arithm
etique flottante
Il est important de se preoccuper de la mani`ere dont sont representes et manipules les
nombres dans une machine. Un nombre est represente par un nombre finis de caract`eres,
fixe `a lavance, qui depend de larchitecture de la machine. Ainsi tous les nombres entiers
ou reels ne peuvent pas etre representes. Les consequences en sont tr`es importantes, en
particulier dans la precision des resultats lors de calculs.
Comment sont representes et manipules les nombres sur un ordinateur ?
La memoire centrale est un ensemble de positions binaires nommees bits. Les bits sont
generalement regroupes en octets (8 bits) et chaque octet est repere par son adresse. Chaque
information devra etre codee sous cette forme binaire.
En informatique,
le kilo vaut
1K = 210 = 1024
le m
ega vaut 1M = 220 = 1048576
le giga vaut 1G = 230 = 1073741824
On distingue :
Les nombres entiers dont la representation et la manipulation sont celles de larithmetique
usuel. Il existe un plus grand entier represente en machine.
Les entiers relatifs codes sur n chiffres binaires ont pour valeur dans [2n1 , 2n1 1].
Ainsi les entiers codes sur
16 bits (=2 octets) correspond `a des entiers en simple pr
ecision ont pour valeur dans
15 15
[2 , 2 1] = [32K, 32K 1]
32 bits (=4 octets) correspond `a des entiers en double pr
ecision ont pour valeur dans
31 31
[2 , 2 1] = [2G, 2G 1].
CHAPITRE 1. ALGEBRE
LINEAIRE
Les nombres flottants qui representent les nombres reels ou les nombres decimaux.
Les nombres reels sont representes de facon approximative en memoire (representation en
virgule flottante), avec la convention standardisee de la forme m 2e , o`
u m est la mantisse
1 m 2 et e lexposant.
On utilise p chiffres binaires pour les decimaux binaires de m et q chiffres binaires pour
lexposant.
Repr
esentation en simple pr
ecision. Sur 32 bits (4 octets), on a p = 23, q = 8 (1
bit pour le signe) ce qui permet de representer des nombres compris, en valeur absolue,
entre 2128 1038 et 2128 1038 car 128 = 2q = 28 . La precision machine est de 7 chiffres
decimaux significatifs car 223 = 107 .
Repr
esentation en double pr
ecision. Sur 64 bits (8 octets), on a p = 52, q = 11
et les reels en valeur absolue appartiennent [21024 , 21024 ] [10308 , 10308 ] avec 15 chiffres
decimaux significatifs (car 252 1015 ).
La representation exacte en machine est sous forme binaire (comme on a vu), pour lanalyse que nous voulons faire ici une representation decimale est suffisante et plus intuitive.
On consid`ere un nombre flottant de la forme a10q avec
a est la mantisse de la forme 0.d1 d2 dt ,
d1 6= 0
1.1. ARITHMETIQUE
FLOTTANTE
CHAPITRE 1. ALGEBRE
LINEAIRE
Avec y =
ty
ladjoint de y.
D
efinition 1.1. Soit A Mn,m (K), on dit que A est
hermitienne si A = A
(A =t (A) = t A).
t
symetrique si A = A
unitaire si AA = A A = I
orthogonale si A est reelle et t AA = At A = I soit encore A1 =t A
normale si AA = A A.
Les vecteurs propres de A sont les vecteurs tels que Av = v et ils forment un sous
espace vectoriel E = {v K N ; Av = v}.
P
N
etes).
T r(A) = N
i=1 i , det(A) = i=1 i (propri
A est semblable `a B sil existe une matrice inversible S Mn (K) telle que A =
SBS 1 .
tik tkj =
N
X
k=1
tik tkj
k=1
k=1
soit encore
N
X
tki tkj =
N
X
k=1
tik tjk .
CHAPITRE 1. ALGEBRE
LINEAIRE
Lorsque i = j, on a
N
X
k=1
|tki| =
N
X
|tik |2 ,
N
X
|tik |2 .
N
X
|tmk |2 ,
k=1
(1.1)
|tki| =
PN
k=i
(1.2)
Pour i = 1, on a |t11 | = |t11 | + k=2 |t1k | , soit t1k = 0 pour k 2 ; cest `a dire que la
premi`ere ligne de la matrice T est nulle sauf le terme diagonale. Par recurrence, supposons
que tij = 0, i 6= j jusqu`a la ligne m 1. Alors pour i = m,
m
X
k=1
soit encore
2
|tmm | +
m1
X
k=1
|tkm | =
k=m
|tkm | = |tmm | +
N
X
k=m+1
|tmk |2 ,
CHAPITRE 2
`
RESOLUTION
DES GRANDS SYSTEMES
LINEAIRES
CREUX
De tr`es nombreux phenom`enes physiques sont regis par un loi de diffusion : repartition
de temperature, concentration de produits chimiques, potentiel electrique, ... Dans tous les
cas, on cherche `a discretiser les equations et `a resoudre numeriquement les equations mises
en jeu. pour des soucis de precision, de stabilite, de pertinence des resultats, on est amene
`a resoudre des syst`emes lineaires ou non lineaires de grandes tailles.
Voici deux exemples.
10
CHAPITRE 2. RESOLUTION
DES GRANDS SYSTEMES
LINEAIRES
CREUX
Pij+1
y3
Pi1j
y2
Pij
Pi+1j
X
Pij1
y1
x1
x2
x3
x4
N,
1 j M. Le principe de la methode des differences finies consiste a` approcher les derivees dune fonction par des combinaisons lineaires des valeurs de cette fonction
aux points du maillage. On va decrire tout dabord ce principe en dimension un despace.
Dimension 1. On sinteresse `a lapproximation de lequation
u (x) = f (x), 0 < x < a
(2.4)
u(0) = , u(a) =
x1
Xi1
Xi
Xi+1
XN
a
N +1
*
a
uN +1 = u(a) =
2 1 0...
0
f (x1 ) + h2
1 2 1... 0
f (x2 )
A = h2
...
.
,
0... 1
2
1
f (xN 1 )
0... 0
1
2
f (xN ) + h2
11
En dimension 2. On discretise chaque derivee selon sa propre direction, ainsi en appliquant la formule de Taylor dans les directions x et y, on a
u(Pi1,j ) + 2u(Pi,j ) u(Pi+1,j )
2u
(Pi,j ) =
+ 0(h2 )
2
x
h2
2u
u(Pi,j1) + 2u(Pi,j ) u(Pi,j+1)
2 (Pi,j ) =
+ 0(h2 ).
y
h2
En resume, on notant ui,j une approximation de la solution de (2.3) au point Pi,j , la
discretisation par differences finies se ram`ene `a la resolution du syst`eme lineaire
1
1
(u
+
2u
u
)
+
(ui,j1 + 2ui,j ui,j+1) = fi,j ; 1 i N, 1 j M
i1,j
i,j
i+1,j
h2
h2
(2.6)
Numerotation des points du maillage. Il y plusieurs facons pour numeroter les sommets
du maillage, par exemple on peut numeroter le sommets de gauche `a droite et de bas en
haut (voir figure 3), ou considerer une numerotation selon les diagonales, numerotation
z`ebre, numerotation echiquier ...(voir TD) Dans lexemple de la figure 3, on a N = 4,
b
10
11
y3
12
y2
y1
4
X
x1
x2
x3
x4
12
CHAPITRE 2. RESOLUTION
DES GRANDS SYSTEMES
LINEAIRES
CREUX
Eq. 2 : 4u2 u1 u3 u6 = h2 f2
...
...
A
` UNE MATRICE ET INVERSEMENT
2.3. GRAPHE ASSOCIE
13
P4
P1
P9
P2
P**
P3
P7
P8
P5
P6
P*
reseau est alimente `a partir de noeuds sources. La loi de conservation impose que le debit
total est nul si le noeud est isole (`a linterieur du reseau), ce qui se traduit par lequation
suivante
X
X
qij =
ki,j (ui uj ) = 0
(2.8)
jV (i)
jV (i)
(2.9)
avec
V (i) = ensemble des voisins du noeud Pi .
A titre dexemple, V (4) = {1, 3, 2} et V (7) = {3, 2, P }. Le syst`eme (2.8) est lineaire. Pour
alleger les notations, on prend ici ki,j = 1, les equations du syst`eme lineaire sont :
Eq. 1 : (u1 u9 ) + (u1 u4 ) + (u1 u3 ) = 3u1 u9 u3 u4 = 0
Eq. 2 : 2u2 u4 u7 = 0
...
Eq. 7 : u7 u3 + u7 u = 0 = 2u7 u3 = u
...
ensuite, il est aise decrire ce syst`eme sous la forme AU = F . Noter que ce syst`eme est
creux parce que un noeud depend uniquement de ses voisins.
2.3. Graphe associ
e`
a une matrice et inversement
La numerotation des sommets dun maillage ou dun reseau modifie considerablement la
structure creuse de la matrice associee. Il y a des techniques de renumerotation permettant
de reduire la largeur de la bande ou du profil de la matrice. Ces techniques sont basees sur
la notion de graphe.
Soit A une matrice carree, A = (aij ) dordre N. A chaque colonne de la matrice on fait
correspondre un sommet Si , i = 1, N.
14
CHAPITRE 2. RESOLUTION
DES GRANDS SYSTEMES
LINEAIRES
CREUX
4
0
A=
0
6
3
2
1
5
0
1
0
0
0
2
3
0
S1
S2
S4
S3
3 2 5
A= 4 0 0
0 0 1
S3
S1
S2
3
0
A=
0
1
0
2
1
2
0
1
4
3
S2
1
2
3
0
S4
S3
2.4. LES MATRICES IRREDUCTIBLES
15
avec A11 une matrice carree dordre P et donc A22 une matrice dordre N P . La resolution
du syst`eme lineaire Ax = b est equivalent `a
A22 x2 = b2
A11 x1 = b1 A12 x2
A=
0 0
30
11
B=
13
4
3 4
10 11
11 13
20 30
0 20 0
10 6 5
.
0 11 0
2 3 1
1
4
2
2
3
3
4
1
16
CHAPITRE 2. RESOLUTION
DES GRANDS SYSTEMES
LINEAIRES
CREUX
S1
S3
S2
S4
S4
S2
S3
S1
N
X
j=1,j6=k
|akj |}.
17
Im()
2
1
1
c1
1
c2
2
c3
Re()
Demonstration. Soit u un vecteur propre associee `a tel que max kuik = |uk | = 1. On
i
a
N
X
Au = u
aij uj = uj ,
i.
i=1
En particulier,
( akk )uk =
on deduit,
| akk ||uk | = | akk |
X
j6=k
akj uj ,
j6=k
|akj ||uj |
X
j6=k
Exemple. Soit
1+i
i
2
A = 3 2 + i 1
1
i
6
CHAPITRE 2. RESOLUTION
DES GRANDS SYSTEMES
LINEAIRES
CREUX
18
Th
eor`
eme 2.2. (GerschgorinHadamard 2)
Soit A une matrice carree et de graphe fortement connexe.
Si une valeur propre est situee sur la fronti`ere de la reunion des disques, alors tous les
cercles de Gerschgorin passent par .
N
D
D
=
(2.10)
N
k
k ,
k=1
k=1
avec D k = {z C2 , |z akk |
N
X
j=1,j6=k
|akj |}.
Ce theor`eme sert essentiellement `a montrer que nest pas une valeur propre (voir figure
2.5).
Demonstration. Soit une valeur propre et on suppose quelle nest pas situee `a
linterieur de la reunion des disques, alors il nexiste aucun k tel que
| akk | k ,
o`
u k =
j6=k
(2.11)
dapr`es (2.11), on a
| aii | = i =
X
j6=i
|aij |.
(2.12)
j6=i
j6=i
on en deduit que
X
j6=i
19
Si j
/ I, alors |uj | < 1 et aij = 0 (avec i I et j
/ I). On note J le complementaire par
rapport `a {1, 2, , N} de I. Si J =
6 , alors la partition I, J serait telle que
i I, j J , on a aij = 0,
or la matrice est irreductible, donc cette partition est impossible et donc J = . Autrement
dot, i = 1, N, on a |ui = 1| et I = {1, 2, N}, ce qui se traduit par (2.12) pour tout i,
cest `a dire
X
| aii | = i =
|aij |, pour tout i = 1, N.
j6=i
D
efinition 2.2. on dit que
A est `a diagonale strictement dominante si
X
|aii | >
|aij |, i = 1, N.
j6=i
|akk | >
X
j6=k
|akj |.
20
CHAPITRE 2. RESOLUTION
DES GRANDS SYSTEMES
LINEAIRES
CREUX
2.6. M
ethodes directes pour la r
esolution de syst`
emes lin
eaires
On a vu que la discretisation de syst`emes modelisant des phenom`enes physiques donne
lieu `a un syst`eme lineaire de grande taille et creux (la matrice contient beaucoup de zero).
Par exemple, pour une matrice tridiagonale de taille N, le nombre de coefficients non nuls
est 3N `a comparer avec N 2 le nombre des coefficients dune matrice pleine ; pour N = 3000,
il est facile de voir que 0.1% des coefficients sont utiles pour resoudre le syst`eme lineaire.
Il est alors judicieux que le stockage de la matrice soit bien adapte `a la structure de la
matrice. Le seul crit`ere pour resoudre un syst`eme lineaire de grande taille est la rapidite
et la precision de la methode utilisee. Ceci passe par une methode de resolution adaptee `a
la nature et la structure de la matrice.
2.6.1. M
ethode de Cramer. La methode de Gramer consiste `a resoudre le syst`eme
lineaire Ax = b par la formule xi = detAi /detA, avec xi est la i`eme composante du vecteur
x et Ai est la matrice A o`
u la i`eme colonne est remplacee par b.
La complexit
e de cette methode cest `a dire le nombre doperations necessaire pour
calculer la solution est :
N divisions
(N + 1) determinants `a calculer
N N! operations pour calculer un determinant
ainsi, la complexite vaut (N + 1)N! + N. A titre dexemple, pour N = 25 la complexite
est de lordre de 4 1026 operations. Considerons maintenant un ordinateur avec 1G de
ram cest `a dire quil effectue 109 operations par seconde. Ensuite, calculons le nombre
doperations que cet ordinateur effectue par milliard dannees :
109 (operations/secondes) 3600(secondes/heure) 24(heures/jour)
et enfin le temps quil met cet ordinateur pour resoudre un syst`eme lineaire de taille 2525
par la methode de Cramer est
4 1016
> 10 milliards dannees
3 1025
ce qui est plus grand que lage de la terre !.
Inversion dune matrice. Resoudre Ax = b est equivaut `a x = A1 b, mais le co
ut pour
1
t
calculer linverse dune matrice par la formule A = Co(A)/detA est aussi de lordre de
(N + 1)N!. Ce que nous voulons est la resolution du syst`eme lineaire sans calculer linverse
de cette matrice parce que dans tous les cas le calcul de A1 est tr`es co
uteux.
Une methode simple pour calculer linverse dune matrice est de resoudre N syst`emes
lineaires. On note cj les vecteurs colonnes de la matrice A1 et A1 est solution de AA1 = I
ceci est equivalent `a Acj = ej avec (ej )j est la base canonique de RN .
2.6. METHODES
DIRECTES POUR LA RESOLUTION
DE SYSTEMES
LINEAIRES
21
2.6.2. M
ethode de Gauss. La methode de base la plus utilisee pour la resolution
des syst`emes lineaires et la methode delimination de Gauss. La methode de Gauss consiste
`a determiner une matrice P telle que le syst`eme equivalent P Ax = P b soit triangulaire
superieure et donc simple `a resoudre.
La resolution dun syst`eme triangulaire superieure est aisee par la procedure de remontee.
Soit le syst`eme Uy = b avec
u11 u12
u1n
u22 u23
u2n
U =
uii
ui,i+1
ui,n
un1,n1 un1,n
unn
fn
unn
N
X
uij yj = fi = yi =
j=i+1
fi
fn1 un1,n yn
un1,n1
PN
j=i+1 uij yj
uii
Algorithme.
Pour i=n `
a 1 par pas de -1 faire
s=f(i)
pour j=i+1 `
a n faire
s=s-u(i,j)*y(j)
finj
y(i)=s/u(i,i)
fini
Calculer la complexite de cet algorithme.
Exemple delimination de la methode de Gauss.
x1
9
4 2 3 0
1 1 0 1 x2 2
2
2
2 3 4 1 x3 = 17
2
2
8
0 2 1 5
x4
, pour i = N, 1
22
CHAPITRE 2. RESOLUTION
DES GRANDS SYSTEMES
LINEAIRES
CREUX
1
1
x1 +
x2 +
0+
x4 =
2
2
2
17
3
x2 + 4x3 +
x4 =
2x1 +
2
2
0+ 2x2 + x3 + 5x4 =
8
4x1 + 2x2 +
3x3 +
0=
9
1
1
3
0+
x4 =
0+ x3 +
4
2
4
1
5
0+
x2 +
x3 +
x4 =
4
2
2
0+ 2x2 +
x3 + 5x4 =
8
Etape 2. Elimination de x2 . On decrit ici la methode sans faire de combinaison maligne des
equations. Ici, il y a un probl`eme car le pivot a22 est nul. On echange alors les lignes L4 et
L2 , ainsi :
4x1 + 2x2 +
3x3 +
0=
9
0+ 2x2 +
x3 + 5x4 =
8
1
5
0+
x2 +
x3 +
x4 =
4
2
2
1
1
3
0+
x4 =
0+ x3 +
4
2
4
et maintenant, on effectue loperation : L3 L3 14 L2
4x1 + 2x2 +
0+ 2x2 +
Etape 3. L4 L4 + 13 L3
0+
0+
3x3 +
x3 +
0=
5x4 =
8
9
1
0+
x3
x4 =
2
4
4
3
1
1
0+ x3 +
x4 =
4
2
4
2.6. METHODES
DIRECTES POUR LA RESOLUTION
DE SYSTEMES
LINEAIRES
4x1 + 2x2 +
0+ 2x2 +
3x3 +
x3 +
0=
23
5x4 =
8
9
1
0+
0+
x3
x4 =
2
4
4
5
5
0+
x4 =
0+
0+
12
12
et une resolution directe de ce syst`eme par lalgorithme de remontee donne x1 = x2 = x3 =
x4 = 1.
Algorithme g
en
eral.
2.6.3. M
ethode de Cholesky. voir TD.
CHAPITRE 3
METHODES
ITERATIVES
Le principe de base de de telles methodes est dengendrer une suite de vecteurs xk (les
iteres) convergente vers la solution x du syst`eme lineaire Ax = b.
La plupart des methodes iteratives sont de la forme suivante :
Partant dun vecteur arbitraire x0 , on engendre une suite (xk )k definie par
xk+1 = Bxk + c
(3.1)
Th
eor`
eme 3.1. (Convergence des methodes iteratives)
On a
lim B k = 0 (B) < 1.
k
CHAPITRE 3. METHODES
ITERATIVES
26
Pour quune methode iterative de la forme (3.1) soit convergente il faut et il suffit que
(B) < 1. on rappelle que (B) designe le rayon spectrale de la matrice B ((B) =
maxi |i (B)|).
Demonstration. (=) si (B) 1, il existe , valeur propre de B , telle que || 1.
Soit x 6= 0 vecteur propre associe `a , alors B k x = k x et comme |k | 1 ou alors B k x
ne converge pas vers zero, ainsi limk B k 6= 0.
(=) On suppose (B) < 1, cest `a dire que |l | < 1, l = 1, r avec l valeur propre de B.
Toute matrice est semblable `a une matrice de Jordan et on conclut.
Corollaire 3.1. Si kBk < 1 alors (B) < 1 et la methode (3.1) converge.
La preuve est immediate car
(B) kBk.
En effet, soit Bx = x alors ||kxk = kBxk kBkkxk, soit encore || kBk pour tout
Sp(B).
D
efinition 3.4. On appelle taux asymptotique de convergence dune methode iterative
le nombre R = log (B). Ce nombre est positif car (B) < 1.
Ce taux de convergence permet de mesurer le nombre diteration necessaire pour reduire
lerreur dun certain facteur.
Proposition 3.1. Etant donne 0 < < 1, si le nombre diteration k
log
R (B)
alors
kek k ke0 k.
Demonstration. On a ek = B k e0 et kek k kB k kke0 k, k. Pour avoir
1
k
impose kB k k , soit kB k k
log
log
1 =
1 . Dautre part,
k
k
log kB k k
1
k
alors log kB k k
1
k
1
k
1
1
1 .
R (B)
log kB k k k
log
)
R (B
, on
log kB k k
kek k
ke0 k
3.1. METHODES
ITERATIVES
CLASSIQUES
27
3.1. M
ethodes it
eratives classiques
3.1.1. M
ethode de Jacobi, Gauss-Seidel, relaxation. Soit A une matrice dordre
n telle que aii 6= 0, i = 1, n. On decompose A sous la forme
A= DEF
avec
D la diagonale de A
E la partie inferieure stricte
F la partie superieure stricte.
M
ethode de Jacobi. Resoudre Ax = b est equivalent `a
Dx = (E + F )x + b.
La methode de Jacobi est basee sur la decomposition precedente et elle secrit
x0 arbitraire
Dxk+1 = (E + F )xk + b
(3.2)
Il est facile `a chaque iteration de calculer xk+1 en fonction de xk car la matrice diagonale
D est inversible. Les composantes du vecteur xk+1 verifient
aii (xk+1 )i =
soit encore
(xk+1 )i =
Sous forme matricielle xk+1 secrit
n
X
aij (xk )j + bi ,
j=1,j6=i
n
X
j=1,j6=i
aij (xk )j + bi /aii .
(3.3)
(3.4)
CHAPITRE 3. METHODES
ITERATIVES
28
soit encore
(xk+1 )i =
i1
X
j=1
aij (xk+1 )j
j=i+1
n
X
j=i+1
aij (xk )j + bi /aii .
Noter que dans la boucle de calcul, les composantes du vecteur (xk+1 )j pour j = 1, i 1
sont dej`a calcules et on peut utiliser un seul vecteur pour programmer cette methode. Sous
forme matricielle xk+1 secrit
xk+1 = (D E)1 F xk + (D E)1 b = Gxk + c,
(3.5)
1
( D + F )x + b. La methode de relaxation secrit :
x0 arbitraire
(3.6)
( D E)xk+1 = ( 1 D + F )xk + b
soit encore
Lw = (D E) 1((1)D + F ).
(3.7)
Th
eor`
eme 3.2.
1. Soit A une matrice symetrique definie positive (ou hermitienne definie positive), alors
la methode de relaxation converge si 0 < < 2.
2. Soit A une matrice `a diagonale strictement dominante ou `a diagonale fortement dominante et irreductible) alors la methode de Jacobi converge et la methode de relaxation
converge pour 0 < 1.
3.2. METHODES
DE GRADIENTS
29
=< Ax, x > 2 < b, x > + < Ax, x >= J(x)+ < Ax, x >, (3.8)
comme < Ax, x > est une constante, E et J atteignent leur minimum au point point.
Une methode de descente est une methode iterative sous la forme suivante
xk+1 = xk + k pk ,
pk 6= 0,
pk = rk = b Axk .
Alors la methode de Richardson converge pour 0 < < N2 . Le meilleur choix de , notee
2
opt , celui qui minimise (I A) est donnee par opt = 1 +
.
N
Demonstration. Voir TD.
CHAPITRE 3. METHODES
ITERATIVES
30
M
ethode de gradients `
a pas optimal. On consid`ere la direction de descente pk =
rk = b Axk . La methode secrit
xk+1 = xk + k rk = xk + k (b Axk ).
(3.9)
< rk , r k >
.
< Ark , rk >
< rk , r k >
rk .
< Ark , rk >
01
10
111
000
000
000 111
111
000
111
000 111
111
000
11111111
00000000
0110
1010
1010
1010
1010
1010
1010
10
31
Dformation
On
note
u(x)
le
deplacement
du
point
situe `a labscisse perpendiculaire `a laxe de la
barre.
(3.10)
P est une valeur propre. Les solutions (3.12) sont uk (x) = sin( kx
, et Pk = Hk2 , k IN .
H
Pratiquement ici, on est interesse par la plus petite valeur propre P1 = 2 /H 2 .
Si a = a(x), on na pas de solution analytique, en general, de lequation (11.9). On peut alors
chercher une solution approchee en discretisant le probl`eme par exemple par la methode
des differences finies :
(
1
1
1
a
(u
u
)
a
(u
1)
+ P ui = 0,
i = 1, N.
i+1
i
i
i
i+ 2
i 2
h2
(3.12)
u0 = uN +1 = 0.
Ce syst`eme est equivalent `a AU = U avec = P la plus petite valeur propre et elle
designe la charge critique.
3.3.1. La m
ethode de la puissance it
er
ee. Elle permet le calcul dune approximation de la valeur propre de plus grand module ainsi celle dun vecteur propre associe.
CHAPITRE 3. METHODES
ITERATIVES
32
10 0
9 1
1
1
Exemple. Soit A =
de valeurs propres 10 et 1 et de vecteurs propres
0
1
et
. Si on prend x0 =
6= 0 et que lon calcule successivement x1 = Ax0 ,
1
1
10
100
1000
x2 = Ax1 ,...xk+1 = Axk on obtient x1 =
; x2 =
; x3 =
; ....
8
98
998
1
Ce qui montre tr`es vite que xk+1 10xk et xk+1 est colineaire au vecteur propre
.
1
Ce qui donne rapidement lalgorithme de la puissance iteree suivant
pour k = 1, 2, ...
(3.13)
xk = Aqk1
qk = xk /kxk k.
Moralement, ce qui se passe Aqk1 = kxk kqk on sattend alors que kxk k |1 | la plus
grande valeur propre en module. Et si 1 > 0, alors Aqk1 qk et qk u1 un vecteur
propre associe `a 1 .
Th
eor`
eme 3.4. Soit A une matrice dordre N, diagonalisable dont la valeur propre
du plus grand module 1 est unique et simple
|1 | > |2 | |3 | ... |N |.
Soit q0 CN dont la composante selon le vecteur propre associe `a 1 est non nulle.
Alors la suite definie par (3.13) verifie
k
1
qk = q est un vecteur propre `a droite de norme 1.
i) lim
k |1 |
ii) lim kAqk k = lim kxk k = |1 |.
k
xk+1 (j)
= 1 , pour 1 j N si qk (j) 6= 0.
iii) lim
k qk (j)
|2 |
.
Le facteur de convergence de toutes ces suites est
|1 |
= q0 =
N
X
i ui ,
i=1
N
X
i=2
i ui , et 1 6= 0,
33
ceci signifie que q0 nest pas orthogonal au sous espace propre `a gauche associe `a 1 .
i) On calcule tout dabord qk en fonction de q0 . On a
x1
Aq0
=
,
kx1 k
kAq0 k
Aq .
Aq
Aq1
A2 q0
0
0
q2 =
=A
.
=
A
kAq1 k
kAq0 k
kAq0 k
kA2 q0 k
q1 =
Par recurrence
qk =
Ak q0
.
kAk q0 k
(3.14)
Dautre part
N
N
N
X
X
h
X
i i k i
k
k
k
k
ui = 1 k1 (u1 + ek ), (3.15)
A q0 = A
i ui =
i i ui = 1 1 u1 +
1 1
i=1
i=1
i=2
N
k
X
i i k
|i |
ui ; or
< 1 pour i = 2, N donc 1i 0 quand k
1 1
|1 |
i=2
et pour tout i = 2, N, alors
avec ek =
de plus ek
k
2
1
ek 0 quand k ,
pour k grand. Dapr`es la formule de recurrence (3.14) on a
qk =
ainsi
ii) on a
Ak q0
1 k1 (u1 + ek )
=
,
kAk q0 k
|1 ||1 |k ku1 + ek k
1 u1
1 (u1 + ek )
|1 |k
= q proportionnel `a u1 .
qk =
k
|1 |ku1 + ek k
|1 |ku1 k
1
Aqk =
et
kAqk k =
iii)
(3.16)
1 k1 (Au1 + Aek )
,
|1 ||1 |k ku1 + ek k
kAu1 k
kAu1 + Aek k
= |1 |.
ku1 + ek k
ku1 k
xk+1 (j)
Aqk (j) Ak q0 . Ak q0
(j)
(j).
=
= A k
qk (j)
qk (j)
kA q0 k
kAk q0 k
Dapr`es (3.15), on a
(u1 (j) + ek+1 (j))
xk+1 (j)
1 k+1
1 (u1 (j) + ek+1 (j))
= 1
=
1 .
k
qk (j)
(u1 (j) + ek (j))
1 1 (u1 (j) + ek (j))
(3.17)
(3.18)
(3.19)
(3.20)
CHAPITRE 3. METHODES
ITERATIVES
34
Proposition 3.2.
La methode de la puissance iteree converge si A est diagonalisable et la valeur propre de
plus grand module est unique et de multiplicite p > 1.
Si la matrice nest pas diagonalisable mais la valeur propre dominante est unique alors
la methode converge.
Demonstration. On a 1 = 2 = ... = p et |1 | > p+1. On reprend la meme preuve
que precedemment, il vient
k
A q0 =
On pose u =
Pp
i=1 i ui
k1
p
N
k i
hX
X
i
ui .
i ui ) +
i
(
1
i=1
i=p+1
6= 0, donc
Ak q0 = k1 (u + ek ) k1 u,
ainsi
|1 |k
qk q vecteur propre associe `a 1 .
k1
3.3.2. M
ethode de la puissance inverse. Elle permet la recherche de la plus petite
valeur propre en module. Il suffit dappliquer la methode de la puissance iteree `a la matrice
u i est valeur propre de A. On suppose
A1 . Les valeurs propres de A1 sont i = 1i o`
|1 | |2 | |3 | ... |N 1 | > |N 1 |.
On a
max |i| =
i
1
1
=
= |N |.
mini |i|
|N |
pour k = 1, 2, ...
x = A1 qk1
k
qk = xk /kxk k.
q0 =
PN
i=1
i ui ,
N 6= 0
(3.21)
35
Application : Recherche de la valeur propre la plus proche dun nombre donne. Soit
donne. Soit une valeur propre de A telle que soit la plus proche de , autrement dit
represente la valeur propre de plus petit module de A
:
6= ,
| < |
|,
|
Sp(A){}.
:
On applique alors lalgorithme de la puissance inverse `a A
N
q0 C tel que kq0 k = 1
k = qk1
(A )x
qk = xk /kxk k.
(3.22)
CHAPITRE 4
INTERPOLATION ET APPROXIMATION
4.1. Introduction
On se donne un ensemble de points (xi , fi ) obtenus suite `a une mesure experimentale
(fi represente la temperature, pression, debit, ....) pour connatre la valeur de la fonction
mesuree en dautres points dans le domaine, on peut alors representer la fonction f par un
polynome.
f(xi)
p(xi)
p(x)
fi
xi
38
n
Y
(x xj ) IPn = R,
j=0,j6=i
1
. Les polynomes de Lagrange
j=0,j6=i (xi xj )
sont
Li (x) =
n
Y
j=0,j6=i
x xj
, i = 0, n.
xi xj
(4.1)
Th
eor`
eme 4.2. (Erreur dinterpolation de Lagrange)
Soit f C n+1 ([a, b]) et a x0 < x1 < x2 < ... < xn b. Soit p le polynome de Lagrange
definit par
p(xi ) = f (xi ) pour i = 0, 1, ..., n.
Alors
f (x) p(x) =
avec L(x) =
Qn
j=0 (x
L(x) (n+1)
f
(),
(n + 1)!
(4.2)
39
f (x)p(x)
.
L(x)
On a
w(x) = 0, w(xi) = 0, i = 0, n
w sannule en (n + 2) points distincts et dapr`es le theor`eme de Rolle
w sannule en (n + 1) points distincts, et donc
w sannule en n points distincts, ...
w (n+1) sannule en 1 point ; Il existe ]a, b[ tel que w (n+1) () = 0.
f (x) p(x)
f (n+1) ()
=
k(x) =
(n + 1)!
L(x)
(4.3)
Lerreur dinterpolation resulte de deux termes : le premier terme max |f (n+1) (x)| depend
x[a,b]
de f et on ne peut pas lameliorer car f est donnee, par contre le deuxi`eme terme max |L(x)|
x[a,b]
depend de la distribution des points xi . On peut choisir lensemble des points {xi }i=0,n pour
que lerreur max |L(x)| soit minimal.
x[a,b]
x[a,b]
x[a,b]
(4.4)
Nous allons voir que les polynomes de Tchebychev repondent `a cette question. Les polynomes de Tchebychev sont definis par
Tn (x) = cos(n arccos(x)),
x [1, 1], n 0.
40
arccos(x) = 2n
+ k
pour k = 0 n 1, ce qui donne que les racines de Tn sont :
n
xk = cos(
2k + 1
); k = 0 n 1.
2n
k
n
ce qui
Th
eor`
eme 4.3. Les racines des polynomes de Tchebychev satisfont
max |Tn (x)| max |q(x)|,
x[1,1]
x[1,1]
(4.5)
x[1,1]
(4.6)
x[1,1]
x[1,1]
si et seulement si
Tn+1 (x) = 2n (x x0 )(x x1 ) (x xn ) avec xk = (cos
2k + 1
); k = 0 n.
2(n + 1)
4.3. POLYNOME
DINTERPOLATION DE NEWTON
41
Ou encore,
pour toute distribution de points dinterpolation (z0 , z1 , , zn ), alors
x[1,1]
x[1,1]
o`
u les xk sont les racines de Tn+1 .
Enfin, sur un intervalle quelconque [a, b], les racines du polynome de Tchebychev sont
definies comme suit
Tn
Tn : [a, b] [1, 1]
R
2x
b+a
o`
u (x) = ba
ba
.
Les polynomes de Tchebychev sur un intervalle quelconque [a, b] secrivent :
Tn = (Tn )(x) = Tn ((x)) = cos(n arccos (x))
2xk
ba
b+a
ba
f1 f0
x1 x0
42
p(x)
p(x2) = f2, p(x2) = g2
f (xi) = fi , p (xi) = gi
p(x1) = f1, p(x1) = g1
x
p(xi) = fi , p(xi) = g(i)
p (xi ) = gi ,
i = 0, n
Th
eor`
eme 4.4. Il existe un unique P IP2n+1 = { polynomes de degres 2n+1} satisfaisant (4.7).
Demonstration.
Unicite. Soient p, q IP2n+1 tels que p(xi ) = q(xi ) = fi et p (xi ) = q (xi ) = gi pour
i = 0, ...n, alors r = p q IP2n+1 et r(xi ) = r (xi ) = 0, alors (x xi )2 divise le polynome
r, ainsi r = c(x x0 )2 ...(x xn )2 IP2(n+1) , or r IP2n+1 alors c = 0 et r 0.
Existence. Base de polynomes de Hermite.
On cherche une base de polynomes de IP2n+1 telle que
p(x) =
n
X
i=0
fi Ai (x) +
n
X
i=0
gi Bi (x)
43
Les conditions sur les fonctions de bases sont alors les suivantes :
Ai (xj ) = ij , Bi (xj ) = 0 pour i = 0, n
Ai (xj ) = 0, Bi (xj ) = ij pour i = 0, n
les premi`eres conditions permettent dimposer p(xi ) = fi et les secondes p (xi ) = gi . Ces
conditions permettent de construire les fonctions de bases. En effet,
Construction des polynomes Ai . On a Ai (xj ) = Ai (xj ) = 0 pour j 6= i alors (x xj )2 divise
Q
Ai pour j 6= i, alors Ai (x) = r(x) nj=0, j6=i (x xj )2 o`
u r(x) PN 1 . On peut exprimer ce
Q
xx
polynome en fonction du polynome de Lagrange. En effet, Li (x) = nj=0, j6=i xi xjj , ainsi
Ai (x) = q(x)L2i (x), o`
u q(x) = ax + b P1 . Les coefficients a et b sont tels que
Ai (xi ) = 1 et Ai (xi ) = 0.
On a
Ai (xi ) = (axi + b)L2i (xi ) = 1 = axi + b car Li (xi ) = 1.
Ai (xi ) = aL2i (xi ) + 2Li (xi )Li (xi )(axi + b) = a + 2Li (xi )(axi + b) = a + 2Li (xi ) = 0,
ainsi a = 2Li (xi ) et b = 1 axi , enfin
p (xi ) = f (xi ),
i = 0, n.
Alors
L(x)
f (2n+2) (),
(2n + 2)!
Q
avec L(x) = nj=0 (x xj )2 , a min(x0 , x) < < max(x, xn ) b.
f (x) p(x) =
(4.9)
44
f
Ph
x
Figure 2. Interplation locale par des IP1 par morceaux(gauche),par des IP2 par morceaux(droite)
(4.10)
(4.11)
Demonstration. Soit x [a, b], il existe i {0, 1, ..., M 1} tel que ai x ai+1 .
Dapr`es le theor`eme dinterpolation de Lagrange
i (x)
|f (x) pi (x)| = |f (x) qh (x)|
|f (m+1) ()|, ]ai , ai+1 [
(m + 1)!
avec
i (x) = |
ce qui etablit (4.11).
m
Y
45
k=0
(4.12)
vN VN
On a uN =
PN
j=0 j qj ,
chercher
{j }j=1,N
realisant le min k
RN
N
X
j=0
N
X
j=0
j qj f k2 ,
(4.13)
j qj f k2 .
N
X
i,j=1
i j ((qj , qj )) 2
N
X
i=0
i ((qi , f )) + kf k2 .
J ( ) = 0 2(A b) = 0,
46
N
X
(Ax)i xi =
i=1
N X
N
X
aij xj xi =
i=1 j=1
N X
N
X
((qj , qi ))xj xi
i=1 j=1
N
N
X
X
= ((
qi xi ,
qj xj )) = kXk2 0 (4.14)
i=1
avec X =
positive.
PN
i=1 qi xi .
j=1
ih
|qi (x)|2 dx =
R (i+1)h
ih
dx = h
si i 6= j
Exemple 3. Soit V = C 0 ([1, 1]) ou V = L2 (1, 1) muni du produit scalaire ((f, g)) =
R1
f (x)g(x) dx.
1
On consid`ere VN = IPN ensemble de polynomes de degre N, et la base canonique de
IPN =< 1, x, x2 , ..., xN >. Les coefficients de la matrice de projection orthogonale
Z 1
Z 1
0
si i + j est impair
i+j
ai,j =
qi (x)qj (x) dx =
x dx
2
si
i + j est pair
1
1
i+j+1
4.7. POLYNOMES
ORTHOGONAUX
47
Dapr`es lexemple precedent, il est alors interessant de construire des polynomes orthogonaux associes au produit scalaire desire.
4.7. Polyn
omes orthogonaux
Soit ]a, b[ R borne ou non. Soit un poids :]a, b[ R+ continue. On suppose
Rb
n IN, a |x|2 w(x) dx est convergente. Soit E = C 0 (]a, b[) muni du produit scalaire
Rb
< f, g > = a f (x)g(x)(x) dx et k k la norme associee.
D
efinition 4.1. On appelle polynome unitaire un polynome dont le coefficient du plus
haut degre est 1, i.e. pn (x) = xn + an1 xn1 + ... + a0 .
Th
eor`
eme 4.7. Il existe une suite de polynomes unitaires (pn )n IN, deg(pn ) = n,
orthogonaux 2 `a 2 pour le produit scalaire de E associe au poids . Cette suite est unique.
Demonstration. Par recurrence selon le procede dorthogonalisation de Schmidt.
On a p0 (x) = 1 car p0 est unitaire.
Supposons p0 , p1 , ...pn1 dej`a construits, alors < p0 , p1 , ...pn1 > forme une base de IPn1 .
Soit pn IPn unitaire, alors
n1
X
pn (x) = xn +
j pj (x).
i=0
On a < pn , pk > = 0, pour tout k = 0, ..., n, donc < xn , pk > +k kpk k = 0 et donc
n
k >
. On a alors determine pn de facon unique car le choix des k est unique.
k = <xkp,p
k k
Th
eor`
eme 4.8. Formule de recurrence pour construire les polynomes orthogonaux)
Les polynomes pn du theor`eme 4.7 verifient la relation de recurrence :
avec n =
kpn1 k2
.
kpn2 k2
1
dx =
Tn (x)Tm (x)
1 x2
1
1
,
1x2
0 si n 6= m
Tn (cos )Tm (cos ) d =
/2 si n = m 6= 0
si n = m = 0.
48
Polyn
omes de Legendre. ]a, b[=] 1, 1[, (x) = 1,
pn (x) =
1 dn 2
(x 1)n .
2n n! dxn
n
X
i=1
(4.16)
Lavantage de cette methode est de pouvoir prendre des polynomes de petit degre, n =
2, 3, Soit q(x) = a0 +a1 x1 +a2 x2 +...+am xm , on cherche alors `a minimiser la fonctionnelle
J : Rm+1 7 R+ definit par
J(a) =
n
X
i=1
2
|a0 + a1 x1i + a2 x2i + ... + am xm
i yi |
k =
X
J
k
(a) = 2
(a0 + a1 x1i + a2 x2i + ... + am xm
i yi )xi = 0.
ak
i=1
On note Sp =
n
X
i=1
xpi
et vk =
n
X
i=1
S0
S1
S1
S2
...
...
Sm Sm+1
soit encore
(4.17)
... Sm
a0
... Sm+1 a1
...
... ...
... S2m
am
Sa = v.
k = 1, m.
v0
v1
=
... ,
vm
(4.18)
DISCRETS
4.8. APPROXIMATION AU SENS DES MOINDRES CARRES
49
la norme ici est celle associee au produit scalaire dans Rm+1 , et la matrice A est donnee
comme suit
1 x1 x21 ... xm
1
1 x2 x22 ... xm
2
(4.19)
... ... ... ... ... Mn(m+1) ,
1 xn x2n ... xm
n
m+1
n
aR
et y = (y0 , y1 , ..., yn ) R .
On va etablir une relation entre la matrice S et la matrice A. En effet,
J(a) =< Aa y, Aa y >,
J (a)h =< Ah, Aa y > + < Aa y, Ah >= 2 <t A(Aa y), h >,
AAa =t Ay
(4.20)
t
de plus J (a) = 2 AA une matrice symetrique definie positive et comme J (a) = 0, on
deduit que
J(a + h) > J(a), pour tout h 6= 0,
ce qui prouve que a est un (le) minimum global de J.
CHAPITRE 5
INTEGRATION
NUMERIQUE
Il sagit dapprocher I =
f.
Il y a deux facons de presenter le calcul.
On approche I par une formule
R b de quadrature
R b globale, cest `a dire on remplace f par
un polynome dinterpolation : a f (x) dx a p(x) dx avec p IPn . On a dej`a vu que
le polynome dinterpolation gen`ere des effets indesirables sur le bord : effet de Runge.
Intuitivement, cette methode ne converge pas en general et nest pas une une bonne approximation.
On approche f par des polynomes par morceaux (interpolation locale). On a dej`a vu que
linterpolation converge et necessite peu de regularite sur la fonction f . Cette methode est
appele methode composite.
5.1. M
ethode composite
et on pose xi = a + ih,
On decoupe lintervalle [a, b] en M mailles de longueur h = ba
M
pour i = 0, 1, 2, , M. On a x0 = a et xM = b. On ecrit alors :
Z b
M
1 Z xi+1
X
f (x) dx =
f (x) dx.
(5.1)
a
i=0
xi
Ensuite, il suffit de construire une methode dintegration sur chaque intervalle [xi , xi+1 ].
On peut se ramener `a une integrale sur [0, 1] ou [1, 1] (appele intervalle de reference). Par
exemple, soit
1+t
h [xi , xi+1 ] et t [1, 1],
x = xi +
2
ainsi
Z xi+1
Z
Z
h 1
1+t
h 1
f (x) dx =
f (xi +
g(t) dt
(5.2)
h) dt =
2 1
2
2 1
xi
h).
avec g(t) = f (xi + 1+t
2
CHAPITRE 5. INTEGRATION
NUMERIQUE
52
n
X
cj g(tj ),
(5.3)
j=0
avec le points tj sont donnees ou `a calculer dans [, ] et les coefficients cj sont independants
de la fonction g.
On definit lerreur dintegration de g
Rn (g) = I(g) In (g).
On dit quune formule de quadrature a un degr
e de pr
ecision k si
p IPk ,
Rn (p) = 0 (exacte pour les IPk )
q IPk+1 ,
Rn (q) 6= 0 (inexacte pour les IPk+1
(5.4)
(5.5)
Cest equivalent `a
Rn (xk ) = 0 pour i = 0, 1, ..., k
Rn (xk+1 ) 6= 0
(5.6)
g(1)
5.3. FORMULE DINTEGRATION
CLASSIQUE
53
R1
et de degre de precision au moins 1. Dautre part, pour g(t) = t2 , on a 1 t2 dt = 2/3 et
g(1) + g(1) = 2 et donc la methode nest pas exacte pour IP2 et le degre de precision est
exactement 1.
R1
Erreur dint
egration. Soit R(g) = 1 g(t) dt (g(1) + g(1)). Soit p un polynome
dinterpolation de degre 1 tel que p(1) = g(1) et p(1) = g(1). Dapr`es le theor`eme
dinterpolation, on a
(t + 1)(t 1)
g ((t)),
1 < (t) < 1,
g(t) = p(t) +
2
et par integration
Z 1
Z 1
Z 1
(t + 1)(t 1)
g(t) dt =
p(t) dt +
g ((t)) dt,
2
1
1
1
R1
R1
g ((t)) dt.
or p IP1 , alors 1 p(t) dt = p(1) + p(1) = g(1) + g(1) et R(g) = 1 (t+1)(t1)
2
Ainsi
Z
2
1 1
(1 t2 ) dt sup |g (s)| =
sup |g (s)|.
|R(g)|
2 1
3
s[1,1]
s[1,1]
Formule composite par la m
ethode des trap`
ezes. Revenons `a (5.2) et en utilisant
la formule des trap`ezes, on a
Z
Z
Z xi+1
1+t
h
h 1
h
h 1
f (xi +
g(t) dt (g(1)+g(1)) = (f (xi )+f (xi+1 ).
h) dt =
f (x) dx =
2 1
2
2 1
2
2
xi
(5.9)
Lerreur dintegration sur [xi , xi+1 ] secrit :
Z xi+1
h
Ri (f ) =
f (x) dx (f (xi ) + f (xi+1 ),
2
xi
soit encore
Z
h
h 1
g(t) dt (g(1) + g(1)) = R(g)
Ri (f ) =
2 1
2
h2
f (xi + 1+t
h).
4
2
Par consequent
h
h
h3
|R(g)|
sup |g (s)|
sup |f ()|.
2
3 s[1,1]
12 [xi,xi+1 ]
(5.10)
(5.11)
CHAPITRE 5. INTEGRATION
NUMERIQUE
54
M
1
X
i=0
|Ri (f )|
M depend de h et il secrit M =
comme suit
M 1
h3 X
h3
sup |f ()|
sup |f (x)|M,
12 i=0 [xi,xi+1 ]
12 x[a,b]
ba
,
h
|Rh (f )|
b a
12
sup |f (x)| h2 .
x[a,b]
On a demontre alors que si f C 2 ([a, b]), alors la methode dintegration composite converge
car Rh (f ) 0 quand h 0.
5.3.2. M
ethode du point milieu.
g(1)
g(0)
0
1
1111111111111111111111
0000000000000000000000
0
1
0000000000000000000000
1111111111111111111111
0
1
0000000000000000000000
1111111111111111111111
0
1
0000000000000000000000
1111111111111111111111
0
1
0000000000000000000000
1111111111111111111111
0
1
0000000000000000000000
1111111111111111111111
0
1
0000000000000000000000
1111111111111111111111
0000000000000000000000
1111111111111111111111
0000000000000000000000
1111111111111111111111
0000000000000000000000
1111111111111111111111
0000000000000000000000
1111111111111111111111
0000000000000000000000
1111111111111111111111
0000000000000000000000
1111111111111111111111
0000000000000000000000
1111111111111111111111
0000000000000000000000
1111111111111111111111
0000000000000000000000
1111111111111111111111
0000000000000000000000
1111111111111111111111
0000000000000000000000
1111111111111111111111
0000000000000000000000
1111111111111111111111
0000000000000000000000
1111111111111111111111
g(1)
5.3.3. M
ethode de Simpson.
11111111111
00000000000
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
0000000000000
1111111111111
00000000000
11111111111
0000000000000
1111111111111
00000000000
11111111111
g(0)
000000000
g(1) 111111111
0000000000000
1111111111111
00000000000
11111111111
000000000
111111111
0
1
0000000000000
1111111111111
00
11
00000000000
11111111111
000000000
111111111
0
1
0000000000000
1111111111111
00
11
00000000000
11111111111
000000000
111111111
0
1
0000000000000
1111111111111
00
11
00
11
0
1
00
11
00000000000
11111111111
000000000
111111111
0
1
0000000000000
1111111111111
00
11
00
11
0
1
00
11
00000000000
11111111111
000000000
111111111
0
1
0000000000000
1111111111111
00
11
00
11
0
1
00
11
000000000
111111111
0
1
0000000000000
1111111111111
00
11
00
11
000000000
111111111
00
11
0
1
0000000000000
1111111111111
00
11
00
11
000
111
000000000
111111111
00
11
0
1
0
1
0000000000000
1111111111111
00
11
00
11
P
000
111
000000000
111111111
00
11
0
1
0
1
0000000000000
1111111111111
00
11
00
11
000
111
000000000
111111111
00
11
0
1
0
1
0000000000000
1111111111111
00
11
00
11
000
111
000000000
111111111
0000
1111
000000000
111111111
00
11
00
11
0
1
0
1
0000000000000
1111111111111
00
11
00
11
000
111
000000000
111111111
0000
1111
000000000
111111111
00
11
00
11
0
1
0
1
0000000000000
1111111111111
00
11
00
11
000
111
000000000
111111111
0000
1111
000000000
111111111
00
11
00
11
0
1
0000000000000
1111111111111
00
11
00
11
000
111
000000000
111111111
0000
1111
000000000
111111111
00
11
00
11
0
1
0000000000000
1111111111111
00
11
00
11
000
111
000000000
111111111
0000
1111
000000000
111111111
00
11
00
11
0
1
0000000000000
1111111111111
00
11
00
11
000
111
000000000
111111111
0000
1111
000000000
111111111
00
11
00
11
0
1
0000000000000
1111111111111
00
11
00
11
000
111
000000000
111111111
0000
1111
000000000
111111111
00
11
00
11
0
1
00
11
00
11
000
111
000000000
111111111
000000000000
111111111111
0000
1111
000000000
111111111
00
11
00
11
0
1
0000000000
1111111111
00
11
00
11
000
111
000000000
111111111
000000000000
111111111111
0000
1111
000000000
111111111
00
11
00
11
0
1
0000000000
1111111111
00
11
00
11
000
111
000000000
111111111
000000000000
111111111111
0000
1111
00
11
0
1
0000000000
1111111111
00
11
00
11
000
111
000000000
111111111
000000000000
111111111111
0000
1111
00
11
0
1
00
11
00
11
000
111
000000000
111111111
000000000000
111111111111
0000
1111
00
11
0
1
g(1)
(5.14)
les coefficients , et sont calcules
pour que la methode soit exacte pour
IP2 , ce qui donne
Z 1
1
4
1
g(t) dt g(1) + g(0) + g(1).
3
3
3
1
(5.15)
le degre de precision est 3.
55
i=0
on desire ameliorer les resultats en determinant au mieux les points {xi }i=0,n . On cherche
alors les coefficients ci et les points xi pour que la methode soit exacte pour des polynomes
de plus haut degre.
Th
eor`
eme 5.1. La formule de quadrature `a (n+1) points est exacte sur lespace IP2n+1
(des polynomes de degre 2n + 1)) si et seulement si
(a) elle est de type interpolation `a n + 1 points,
(b) les abscisses dinterpolation sont telles que
Z b
n
v(x) = j=0 (x xj ) verifie
xq v(x)(x) dx = 0,
a
q, 0 q n.
i=0
(=) Soit p IP2n+1 que lon divise par v IPn+1 , alors p = vq + r avec q, r IPn , donc
Z b
Z b
Z b
p(x)(x) dx =
q(x)v(x)(x) dx +
r(x)(x) dx,
a
on a dapr`es (b)
q(x)v(x)(x) dx = 0
et dapr`es (a)
Z
r(x)(x) dx =
a
n
X
ci r(xi ).
i=0
i=0
CHAPITRE 5. INTEGRATION
NUMERIQUE
56
i=0
car 0 i q n.
La m
ethode dint
egration de Gauss-Legendre. Les polynomes de Legendre pour
(x) = 1, a = 1 et b = 1 sont donnes par la formule suivante :
Ln (x) =
1 dn 2
(x 1)n ,
2n n! dxn
et ils verifient :
On a
r
3
5 3 3
.
L3 (x) = x x, ses racines sont x = 0, x =
2
2
5
Dans la methode dintegration suivante
Z 1
1
1
f (x) dx f ( ) + f ( ),
3
3
1
les coefficients et sont calcules pour que la methode soit exacte pour IP1 , par contre le
degre de precision est forcement 3, la methode est exacte pour IP3 . La methode suivante
r
r
Z 1
3
3
) + f (0) + f (
)
f (x) dx f (
5
5
1
avec
xi = cos
2i + 1
, les racines des polynomes de Tchebychev.
2n + 2
5.5. INTEGRATION
NUMERIQUE
DUNE FONCTION EN 2D
57
5.5. Int
egration num
erique dune fonction en 2D
Soit un domaine polygonale. On recouvre exactement par des domaines elementaires
du type triangle (ou du type rectangle).
Le domaine est partitionne en N triangles Ki :
= N
i=1 Ki
i=1
Ki
(5.16)
R
Il suffit alors de determiner une approximation de Ki f pour obtenir celle sur .
Comme en dimension 1, on va construire des methodes dintegrations sur un triangle de
et puis en deduire celle sur un triangle quelconque.
reference fixe K
dans K. Soit K
le triangle de reference de sommets
Transformation affine de K
= (1, 0) et C = (0, 1). On designe par K un triangle quelconque de sommets
A = (0, 0), B
A = (x1 , y1 ), B = (x2 , y2) et C = (x3 , y3 )
C = (0, 1)
C = (x3, y3 )
FK
B = (x2, y2)
A = (0, 0)
= (1, 0)
B
A = (x1, y1)
CHAPITRE 5. INTEGRATION
NUMERIQUE
58
en effet
x1
0
= b1 = x1 , b2 = x2
=
F
y1
0
x2
1
= a11 = x2 x1 , a21 = y2 y1 ,
=
F
y2
0
x3
0
= a12 = x3 x1 , a22 = y3 y1 .
=
F
y3
1
Lapplication FK secrit
= X = JK X
+ b = x2 x1
FK (X)
y2 y1
x3 x1
y3 y1
b1
x
+
b2
y
On a aire(K) = H|AB|
.
2
~ et
On consid`ere les deux vecteurs AB
~ on a |AB
~ AC|
~ = |AB||
~ AC|
~ sin ,
AC,
H
~
~
or sin = |AC|
~ , aussi |AB AC| =
~
|AB|H
= 2 aire(K). Dautre part,
x3 x1
x2 x1
~
~
AB AC =
y3 y1
y2 y1
= (x2 x1 )(y3 y1 ) (y2 y1 )(x3 x1 ).
C = (x3, y3)
H
B = (x2, y2 )
A = (x1, y1)
on a
Changement de variable. On pose X = FK (X),
Z
Z
f (x, y) dxdy =
(f FK )(X)|det
FK | d
xd
y,
soit encore
d
(f FK )(X)
xd
y,
(5.17)
cette formule est tr`es interessante car on connat aire(K) en fonction des coordonnees des
sommets et en posant g = f FK , il suffit alors de construire des formules dintegrations
g(
x, y) d
xd
y g(A)
(5.18)
soit exacte pour les polynomes de degre 1. En dimension 2 despace, lespace de polynomes
de degre 1 est de dimension 3, IP1 =< 1, x
, y >.
5.5. INTEGRATION
NUMERIQUE
DUNE FONCTION EN 2D
Pour g = 1 ;
Pour g = x ;
d
xd
y=
Pour g = y ;
1
2
59
=++
x d
xd
y=
y d
xd
y=
Z
1
x
Z
1
x
Z
x d
y d
x=
x(1 x) d
x=
1
= .
6
Z
1
1 1
(1 x)2 d
x = = .
y d
y d
x=
2 0
6
g(
x, y) d
xd
y (g(A)
(5.19)
6
K
R
R1
1
0n verifie que le degre de precision est 1 car pour g = x2 , K x2 d
xd
y = 0 x2 (1
x)2 d
x = 12
+ g(B)
+ g(C))
= 1.
et 61 (g(A)
6
Sur un triangle quelconque K, et on utilisant la formule (5.17), il vient
Z
d
f (x, y) dxdy = 2 aire(K) (f FK )(X)
xd
y
K
K
1
1
i=1
(5.20)
Exemple 2 :Int
egration par IP1 -centre de gravit
e. La methode suivante
Z
1 1 1
g(
x, y) d
xd
y g( , ),
2 3 3
(5.21)
(5.22)
CHAPITRE 5. INTEGRATION
NUMERIQUE
60
1 = ( 1 , 0), M
2 = (0, 1 ) et M
3 =
Exemple 3 : Int
egration par IP1 -milieu. Soient M
2
2
1 1
La methode dintegration suivante
( 2 , 2 ) les milieux des trois cotes du triangle K.
Z
1 ) + g(M
2) + g(M
3 ),
g(
x, y) d
xd
y g(M
(5.23)
K
Par contre le degre de precision est 2, la methode est alors exacte pour IP2 =<
1, x, y, x
2 , y2 , x
y >. Cette methode est interessante car elle est plus precise que la
methode IP1 -sommets et IP1 -barycentre et utilise uniquement trois points.
CHAPITRE 6
RESOLUTION
NUMERIQUES
DES EDO
6.1. Le probl`
eme de Cauchy
6.1.1. Les
equations du premier ordre. Soit f une fonction definie de [t0 , T ]R 7
R. Le probl`eme de Cauchy consiste `a trouver une fonction y : [t0 , T ] 7 R solution de
y (t) = f (t, y(t)),
t [t0 , T ]
(6.1)
y(t0 ) = y0
La condition y(t0 ) = y0 est une condition initiale ou la condition de Cauchy.
Si on suppose que la fonction f est continue par rapport aux deux variables t, y et que f
est uniformement Lipschitzienne par rapport `a y cest `a dire que
L > 0, t [t0 , T ], y1 , y2 R, |f (t, y1) f (t, y2| L|y1 y2 |,
alors le probl`eme de Cauchy admet une unique solution y C 1 ([0, T ]) ( Cest le Theor`eme
de Cauchy).
Le probl`eme de Cauchy est un probl`
eme d
evolution, cest `a dire `a partir de la condition
initiale, on peut calculer la solution `a linstant t comme
Z t
y(t) = y(t0) +
f (s, y(s)) ds,
(6.2)
t0
(6.3)
CHAPITRE 6. RESOLUTION
NUMERIQUES
DES EDO
62
6.1.3. Les
equations diff
erentielles dordre >1. Exemple. Lequation du pendule
g
(t) = L sin (t)
(0) = 0
(t) = 1
Ce syst`eme se ram`ene `a un syst`eme dordre 1 en posant
(6.4)
g
g
y1 (t) = (t), y2 (t) = (t) = sin (t) = sin y1 (t).
L
L
y2 (t)
y1 (t)
et F (t, Y (t)) =
On note Y (t) =
alors lequation (6.6) est
Lg sin y1 (t)
y2 (t)
equivalente `a
Y (t) = F (t, Y (t))
0
.
avec Y (0) =
1
Dans le cas general dune equation differentielle de la forme :
(p)
u (t) = h(t, u, u(t), , u(p1) (t))
u(j)(0) = u0j , j = 0, p 1
(6.5)
y1 = u = y1 = y2
(6.6)
y = u = y2 = u = y3
2
(p1)
(p)
yp = u
= yp = u = h(t, y1 , y2 , , yp )
Remarque 6.1. Probl`eme de Cauchy 6= probl`eme aux limites
6.3. SCHEMAS
CLASSIQUES
63
La methode dEuler consiste `a approcher y (tn ) par la formule de Taylor comme suit :
y(tn+1 ) = y(tn ) + hy (tn ) + O(h2 )
soit
y (tn ) =
y(tn+1) y(tn )
+ O(h) = f (tn , y(tn ))
h
Soit yn une approximation de y(tn ) (yn y(tn )), le schema dEuler secrit
yn+1 = yn + hf (tn , yn ), n = 0, N 1,
(6.7)
y(0) = y0 .
Interpretation de la methode dEuler
D
efinition 6.1.
Un Sch
ema `
a un pas si yn+1 est une fonction de tn et yn uniquement. Le schema de
Euler est un schema `a un pas.
Un Sch
ema `
a deux pas si yn+1 est une fonction de (tn yn ) et de (tn1 , yn1) uniquement.
Un Sch
ema `
a k pas si yn+1 est une fonction de (tn yn ), (tn1 , yn1 )... (tn(k1) , yn(k1) ).
Un schema `a k pas est explicite si on peut exprimer yn+1 sous la forme
yn+1 = E(tn , tn1 , .., tn(k1) , yn , yn1 , ..., yn(k1)).
Le schema dEuler est explicite. Un schema `a k pas est implicite si yn+1 est solution
dune equation non lineaire de la forme
yn+1 = I(tn+1 , tn , tn1 , .., tn(k1) , yn+1 , yn1, ..., yn(k1) ).
6.3. Sch
emas classiques
Une facon dobtenir une multitude de schemas est dintegrer ledo sur [tn , tn+1 ] :
Z tn+1
f (t, y(t) dt
y(tn+1) y(tn ) =
tn
CHAPITRE 6. RESOLUTION
NUMERIQUES
DES EDO
64
f(tn,y(tn))
tn
111111111111111111111111
000000000000000000000000
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
f(tn+1,y(tn+1))
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
tn+1
Euler explicite
f(tn,y(tn))
111111111111111111111111
000000000000000000000000
f(tn+1,y(tn+1))
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
tn
tn+1
Euler implicite
f(tn,y(tn))
tn
111111111111111111111111
000000000000000000000000
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
f(tn+1,y(tn+1))
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
tn+1
` UN PAS
6.4. ETUDE DES METHODES
A
f(tn,y(tn))
111111111111111111111111
000000000000000000000000
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
f(tn+1,y(tn+1))
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
000000000000000000000000
111111111111111111111111
tn
(tn+tn+1)/2
tn+1
Point Milieu
65
n=0,N
(6.9)
D
efinition 6.3. (Consistance) Le schema approche-t-il lequation ? Si on remplace la
solution approchee par la solution exacte dans le schema numerique, quelle est lerreur
commise en fonction de h ? Pour ceci, on definit lerreur locale de consistance
En = y(tn+1 ) y n+1 ,
(6.10)
(6.11)
CHAPITRE 6. RESOLUTION
NUMERIQUES
DES EDO
66
(6.12)
D
efinition 6.4. (Stabilite) Cest une propriete du schema numerique. Un schema est
stable signifie quune petite perturbation sur les donnees (y0 , ) nentrane quune petite
perturbation sur la solution independamment de h. Plus precisement,
soient {yn }n , {zn }n , n = 0, N, les solutions de
yn+1 = yn + h(tn , yn , h),
n = 0, N 1
(6.13)
y0 donne .
et
zn+1 = zn + h((tn , zn , h) + n ),
n = 0, N 1
(6.14)
z0 donne .
La methode est dite stable sil existe deux constantes M1 et M2 independantes de h telles
que
max |yn zn | M1 |y0 z0 | + M2 max |n |.
(6.15)
n=0,..,N
0,N 1
Th
eor`
eme 6.1. (Theor`eme de Lax Convergence) Soit une methode `a un pas consistante et stable, alors elle est convergente.
Demonstration. Le schema est consistant, alors
y(tn+1 ) = y n+1 + En = y(tn ) + h(tn , y(tn ), h) + En ,
on pose n = En /h et donc |n | Khp 0 quand h 0 ou N .
Comme le schema est stable et en prenant zn = y(tn ), on a
max |yn y(tn )| M1 |y0 y(t0 )| + M2 max |n |,
n=0,..,N
0,N 1
ce qui montre
max |yn y(tn )| 0,
n=0,..,N
(6.16)
(6.17)
` UN PAS
6.4. ETUDE DES METHODES
A
67
(6.18)
n+1
|y0 z0 | + h
n
X
i=0
(1 + hM)k |nk |.
(6.19)
On a
n
X
(1 + hM)k =
i=0
dautre part,
1 (1 + hM)n+1
(1 + hM)n+1 1
=
,
1 1 hM
hM
|yn+1 zn+1 |
n
X
i=0
(1 + hM)k max |k |
k=0,n
(1 + hM)n+1 1
max |k |
k=0,n
M
e(T t0 )M 1
e(T t0 )M |y0 z0 | +
max |k |
k=0,n
M
(1 + hM)n+1 |y0 z0 | +
e(T t0 )M 1
.
M
h2 2
hp1 p1
(t, y(t), h) = (t, y(t), 0) + h (t, y(t), 0) +
(t,
y(t),
0)
+
...
+
(t, y(t), 0) + ...
h
2! 2 h
(p 1)! p1 h
(6.21)
y(t + h) = y(t) + hy (t) +
CHAPITRE 6. RESOLUTION
NUMERIQUES
DES EDO
68
alors
En
h1
h
i
i
On conclut que :
Le schema est au moins dordre 1 (consistant) si
1
2
1 (3)
1 d2
(t,
y(t),
0)
=
y
(t)
=
f (t, y(t))
2h
3
3 dt2
Le schema est au moins dordre p si de plus
1 (p)
1 dp1
p1
(t,
y(t),
0)
=
y
(t)
=
f (t, y(t)).
p1 h
p
p dtp1
On dispose alors du resultat de convergence suivant :
Th
eor`
eme 6.3. Soit Lipschitz par rapport `a y (stabilite) et verifiant (t, y(t), 0) =
f (t, y(t)) pour tout t (consistance). Alors le schema (6.8) est convergent.
Application. Le schema dEuler est convergent.
6.4.3. La m
ethode de Runge-Kutta. Pour calculer une approximation de la solution `a linstant tn+1 en fonction de celle de tn , la methode de Runge-Kutta utilise q
solutions intermediaires en fonction de yn . La methode de Runge-Kutta de rang q sous sa
forme generale secrit :
q
X
j=1
q
X
bi f (tn,i , yn,i)
yn+1 = yn + h
i=1
tn,i = tn + ci h i = 1, ..., q
Cest une methode `a un pas et elle redonne la plupart des methodes dej`a vues. Pour
q quelconque, on peut trouver des conditions sur les coefficients bi , ci , aij pour que la
` PAS MULTIPLE
6.5. METHODES
A
69
yn,1 = yn ,
y
h
h
h
h
n+1 = yn + 6 f (tn , yn,1 ) + 3 f (tn + h/2, yn,2) + 3 f (tn + h/2, yn,3 ) + 6 f (tn + h, yn,4 ).
(6.22)
est la plus employee pour resoudre une edo.
6.5. M
ethodes `
a pas multiple
CHAPITRE 7
TRAVAUX DIRIGES
7.1. Syst`
emes lin
eaires creux
7.1.1.
Exercice 7.1. (Erreurs darrondi) Soit S une sph`ere dans R3 de rayon R et tangente `a un seul plan de coordonnees. Soit une autre sph`ere s, de rayon r et tangente au
plan de coordonnees et `a S.
1. Faire un dessin, et
trouver le rapport des
volumes de 2sph`eres z = v/V .
2. Verifier que z = ( 2 1)6 = (3 2 2)3 = 99 70 2. Faire un tableau de z en
fonction des valeurs de 2 approchee par : 1.4, 1.414 , 1.4142136 .
Exercice 7.2.
1
2i
2+i
2
72
Exercice 7.3. Soit A = (aij )ij , i, j = 1, N une matrice triangulaire inferieure, cest `
a
dire
aij = 0 pour j > i.
1. Donner une CNS pour que A soit inversible et trouver ses valeurs propres.
2. Resoudre AX = b, avec A = (aij )1i,jN , X = (xi )i=1,N , et b = (bi )i=1,N . En deduire
alors que si bi = 0 pour i < k et bk 6= 0 alors xi = 0 pour i < k et xk 6= 0
3. Montrer que le produit de deux matrices triangulaires inferieures est une matrice
triangulaire inferieure.
4. Montrer que linverse dune matrice triangulaire inferieure est une matrice triangulaire inferieure.
5. Ecrire en language libre un algorithme de resolution de AX = b.
Exercice 7.4. Normes matricielles. On rappelle les normes suivantes sur RN :
P
PN
2 21
kxk1 = N
i=1 |xi |, kxk = maxi=1,N |xi | et kxk2 = (
i=1 |xi | ) .
Soit A une matrice carree A = (aij )i,j , i, j = 1, N. On definit la norme induite ou subordonnee associee `a une norme vectorielle par
kAxkp
kAkp = max kAxkp = max
x6=0 kxkp
kxkp =1
Montrer que
P
1. kAk1 = maxj=1,N N
|ai,j |.
Pi=1
N
2. kAk = maxi=1,N j=1 |ai,j |.
3. Si B est reelle et symetrique, alors min (B) (Bx,x)
max (B) (quotient de Raykxk22
leigh). De plus,
(Bx, x)
= max (B),
max
x6=0
kxk22
(Bx, x)
min
= min (B).
x6=0
kxk22
p
En deduire que kAk2 = (t AA) (A est reelle).
4. Montrer que (A) kAk.
5. Calculer
les normes
1, et 2 pour la matrice
4 1 0
1 10 0
0
0 1
Exercice 7.5. Conditionnement dune matrice : condp A = kAkp kA1 kp .
1. Verifier les proprietes suivantes :
(a) condA 1, cond(A) = condA, R.
max |(A)|
.
(b) A reelle et symetrique alors cond2 A =
min |(A)|
7.1. SYSTEMES
LINEAIRES
CREUX
73
(c) U orthogonale alors cond2 U = 1 et cond2 (UA) = cond2 (A) = cond2 (AU).
2. Soient x et x + x les solutions des syst`emes lineaires Ax = b et A(x + x) = b + b.
kxk
kbk
Montrer que
cond(A)
. Conclure.
kx|
kbk
3. Soient x et x + x les solutions des syst`emes lineaires Ax = b et (A + A)(x + x) = b.
kxk
kAk
Montrer que
cond(A)
.
kx + xk
kAk
kAk
1
kxk
cond(A)
.
En deduire que si kA1 Ak < 1 alors
kxk
kAk (1 kA1 Ak)
Exercice 7.6. D
ecomposition LU. Soit A une matrice tridiagonale (ai,i1 =
ai , ai,i = bi , ai,i+1 = ci ).
1. Trouver L et U telle que A = LU, et ecrire lalgorithme de decomposition de A.
Donner la complexite de cet algorithme.
2. Resoudre le syst`eme lineaire Ax = b.
3. Application. Resoudre
2 1 0
0
x1
1
1 2 1 0 x2 0
0 1 2 1 x3 = 0
1
0
0 1 2
x4
L
N +1
secrit :
(7.24)
1. Ecrire le syst`eme lineaire (7.24) sous forme AU = F . Montrer que la matrice A est
symetrique et definie positive.
2. Verifier que les vecteurs propres de la matrice A sont les vecteurs Vk , avec (Vk )i =
h
sin(k ih
) la i`eme composante, associes aux valeurs propres k = h42 sin2 (k 2L
).
L
3. Donner cond2 A. La matrice est-elle bien conditionnee.
Exercice 7.8. Probl`
eme de diffusion 2D. Soit D = [0, a] [0, b], on consid`ere le
probl`eme
(
2
2
xu2 (x, y) yu2 (x, y) = f (x, y) dans D
(7.25)
u = 0 sur D
CHAPITRE 7. TRAVAUX DIRIGES
74
a
N +1
et
1
1
(ui1,j + 2ui,j ui+1,j ) + 2 (ui,j1 + 2ui,j ui,j+1) = fi,j ; 1 i N, 1 j M
2
x
y
(7.26)
avec
ui,0 = ui,M +1 = u0,j = uN +1,j = 0.
1. Soit le vecteur U = (um ) avec m = i + (j 1)N. Pour N = M = 5 ecrire le syst`eme
sous la forme AU = F . Montrer A est inversible et definie positive.
2. Verifier que les vecteurs propres de la matrice sont les vecteurs u(p,q) definis par
(u(p,q) )i,j = sin(p
ix
jy
) sin(q
).
a
b
x
4
y
4
2
2
sin
(p
)
+
sin
(q
)
x2
2a
y 2
2b
12
16
15
11
22
23
24
25
10
17
18
19
20
21
14
13
20
16
23
25
12
17
21
24
13
18
22
14
19
10
15
7.2. METHODES
ITERATIVES
75
7.2. M
ethodes it
eratives
Exercice 7.9. Appliquer la methode
5
1
A=
0
0
1
1
0 0 2
5
1 0 0
1 5 1 0
0 1 5 1
0
Exercice 7.10. M
ethode de Jacobi avec param`
etre.
Soit A une matrice n n inversible avec aii 6= 0 et b Rn . On veut resoudre le syst`eme
Ax = b. On note D la matrice diagonale constituee de la diagonale de A. Soit 6= 0, on
etudie la methode iterative
xk+1 = (I D1 A)xk + D1 b
1. Montrer que si xk converge vers x alors x est solution.
2. Exprimer les coefficients de la matrice D 1 A en fonction des coefficients de la matrice
A.
3. On suppose A est `a diagonale strictement dominante et 0 < 1. Montrer que la
methode est bien definie et
kI D1 Ak < 1.
En deduire la convergence de la methode.
Exercice 7.11. M
ethode de Jacobi et de Gauss-Seidel
Soit A la matrice du syst`eme lineaire Ax = b, definie par : aii = i + 1, i = 1, n ;
ai+1,i = 1, i = 1, n 1 ; ai,i+1 = i, i = 1, n 1.
CHAPITRE 7. TRAVAUX DIRIGES
76
x0 arbitraire
(D E)yk+1 = F xk + b
(7.27)
(D F )xk+1 = Eyk+1 + b
1. Montrer que les iteres sont bien definis.
2. Montrer que la methode est consistante ( c-`a-d si xk x alors Ax = b)
3. Ecrire les matrices G et H telles que
xk+1 = Gxk + Hb.
12
12
4. En posant L = D ED
et U = D 2 F D 2 , montrer que G est semblable `a B =
(IU)1 L(IL)1 U et que la matrice B secrit egalement B = (IU)1 (IL)1 LU.
5. On suppose Sp(G) R+ , montrer que la methode est convergente.
Exercice 7.13. M
ethode des directions altern
ees Soit A une matrice carree telle
que A = H + V o`
u H une matrice reelle symetrique definie positive (c-`a-d (Hx, x) >
0, x 6= 0) et V une matrice reelle symetrique semi-definie positive (c-`a-d (V x, x) 0, x)
. Pour resoudre le syst`eme Ax = b, on consid`ere la methode iterative suivante :
x0 arbitraire
(I + H)yk+1 = (I V )xk + b
(7.28)
(I + V )xk+1 = (I H)yk+1 + b
avec I la matrice identite.
(7.29)
77
|2 | 2
avec un facteur de convergence de lordre de ( |
) .
1|
2. Proposer un algorithme pour calculer la plus petite valeur propre en module.
2. Soient f (x) = cos(x) et g(x) = e3x definies sur [0, 1], estimer le nombre minimum
n de points pour que lerreur entre la fonction et son polynome dinterpolation soit
inferieure `a 0.1, 0.01 , 0.001.
78
Exercice 7.19. 1. Montrer que le polynome P de degre minimum tel que P (0) = 0,
P (1) = 2, P (1) = 0, P (1) = 1 est unique. Dire rapidement comment construire P .
2. Montrer que lespace vectoriel
H = {v C 1 [0, 2], v IP2 sur [0, 1], v IP2 sur [1, 2]}
est de dimension 4 (IP2 est lensemble des polynomes de degre deux en dimension un).
7.4. INTEGRATION
NUMERIQUE
79
2
3. V
e
rifier
que
les
fonctions
v
(x)
=
1,
v
(x)
=
5(x
1)
3(x 1), v4 (x) =
,
v
(x)
=
1
2
3
x[1,1]
Soit les polynomes de Tchebychev definis par Tn (x) = cos(n arccos(x)) pour x [1, 1] et
n 0.
1. Verifier que T0 (x) = 1, T1 (x) = x, Tn+1 (x) = 2xTn (x) Tn1 (x) et en deduire que Tn
est un polynome de degre n de la forme Tn (x) = 2n1 xn + ...
2. Donner les racines et les extremum de Tn .
3. Soit q(x) = 2n1 xn + ... et q(x) 6= Tn (x). Montrer que
max |Tn (x)| < max |q(x)|.
x[1,1]
x[1,1]
Conclure
4. Etendre ce resultat `a un intervalle [a, b].
1
efinie sur [8, 8] avec :
5. Comparer la fonction f (x) = 1+x
2 d
le polynome dinterpolation obtenu `a partir de n = 10, 20, .. points equidistants
le polynome dinterpolation obtenu `a partir de n = 10, 20, .. points de Tchebychev.
7.4. Int
egration num
erique
Exercice 7.21. Formule de moyenne.
1. Determiner la formule de quadrature suivante
Z 1
1
g(t) dt g( )
2
0
pour quelle soit exacte pour des polynomes de degre le plus haut possible.
2. Donner une estimation de lerreur dintegration.
3. Soit {xi }, i = 0, ..., M une subdivision de [a, b] de pas h. Utiliser la formule de
Rb
moyenne composite pour approcher a f (x)dx.
1
4. Soit
, 102 , 108, trouver M pour que cette formule de quadrature approche
R 3 = 10
2
sin(x)ex dx avec une precision
0
CHAPITRE 7. TRAVAUX DIRIGES
80
1
1+x6
1. En majorant
par
1
,
x6
1
dx.
1 + x6
(7.31)
soit exacte pour des polynomes de degre deux. Quel est le degre de precision de la
methode ?
R1
3. On note R(g) = 0 g(t)dt (Ag(0) + Bg(t0 )). Donner une majoration de lerreur
lintegration.
4. Soit {xi }, i = 0, ..., N une subdivision de [0, a] de pas h. Utiliser la formule (7.31)
composite pour approcher
Z
a
Ia =
f (x)dx,
1
avec f (x) = 1+x
egration en fonction de h.
6 . Estimer lerreur dint
5. Dire comment approcher lintegrale J `a pr`es.
7.4. INTEGRATION
NUMERIQUE
81
g(
x, y)d
xd
y g(G)
(7.32)
et sur le carre Q.
Deduire de ce qui prec`ede une formule dintegration K
3. Soit Qh un carre de cote h, Qh = [x0 , x0 + h] [y0 , y0 + h]. En deduire une formule
dintegration sur Qh .
4. Soit h > 0, et un rectangle de cotes Nh et Mh, que lon discretise en NM carres
de cote h. Expliciter la formule dintegration composition sur .
Exercice 7.26. M
ethode de Gauss-Legendre. On consid`ere la formule de quadrature suivante
Z 1
1
1
f (x)dx f ( ) + f ( ).
3
3
1
1. Determiner cette formule pour que de degre de precision soit le plus haut possible et
montrer que le degre de precision est 3.
2. On suppose f C 4 ([1, 1]), donner lerreur dinterpolation de Hermite construit sur
1
les abscisses de Gauss x0 =
et x1 = 13 . En deduire une majoration de lerreur
3
dintegration.
3. Donner les racines du polynome de Legendre de degre 2, que conclure ?
4. Comment choisir (x0 , x1 , , ) dans la formule
Z b
f (x)dx f (x0 ) + f (x1 )
a
dx f (x0 ) + f (x1 ).
1 x2
1
Comment choisir x0 , x1 , , pour que le degre de precision soit maximal.
Donner une
R1
82
7.5. EQUATIONS DIFFERENTIELLES
83
1. Montrer que si h < 2/L le schema est bien defini. Donner lordre de ce schema.
2. Montrer que pour tout h < h0 < 2/L assez petit, on a
!
hL
ch3
|y(tn+1) yn+1| 1 +
|y(t
)
y
|
+
,
n
n
1 hL
1 hL
2
2
avec c une constante positive..
3. En deduire que
max |y(tn ) yn | Ch2 .
0nN
(7.34)
(7.35)
(7.36)
CHAPITRE 7. TRAVAUX DIRIGES
84
(7.37)
f
f
(t, y) + f (t, y)
(t, y) .
t
y
On propose le schema numerique `a un pas suivant : etant donne un entier N 1, on
definit une subdivision reguli`ere de lintervalle [0, 1] par :
Df (t, y) =
ti = i h ,
i = 0 N, o`
u h = 1/N .
(7.38)
(7.39)
o`
u a et b sont des constantes strictement positive. Montrer que
ea i 1
, pour i IN .
(7.40)
a
ii) Quelle relation a-t-on entre y (ti ) et Df (ti , y(ti)).
iii) Ecrire le developpement de Taylor `a lordre 3 de y(ti + h) par rapport `a h.
iv) Montrer que les erreurs dapproximation ei = y(ti ) yi verifient
ui b
h2 eKti 1
M3 , pour i = 0, , N .
6
K
o`
u M3 = sup |y (3) (t)| et K est une constante positive (independante de h et de N) `
a
|ei |
t[0,1]
7.5. EQUATIONS DIFFERENTIELLES
85
1. Determiner des relations entre , et pour que la methode soit precise `a lordre
deux.
2. On suppose que f verifie une condition de Lipschitz sur R. Montrer que la methode
converge.
3. On consid`ere maintenant lequation du second ordre y = y, y(0) = y0 , y (0) = z0 ,
avec y0 , z0 reels donnes. Mettre cette equation sous la forme dun syst`eme du premier
ordre ( on notera Y = (y, z) la solution), puis discretiser en utilisant la schema
precedent. On obtient une methode de la forme Yn+1 = Ah Yn .
4. Discuter du comportement de Yn lorsque n tend vers linfini, dans le cas dune
precision au second ordre.
5. Existe-il une methode du premier ordre pour laquelle Yn reste bornee ?
6. reprendre les questions precedentes lorsque lequation est de la forme y = y by ,
avec b > 0.
CHAPITRE 7. TRAVAUX DIRIGES
86
A
x = b.
1.
Montrer que x
r
ealise le minimum de J(x) = (Ax, x) 2(b, x) et de E(x) = (A(x x
), x x
).
Les extremas de J sont solutions de J (
x) = 0 = 2(A
x b), soit A
x
= b. De plus,
J (
x)
2.
3.
Car r(x) = A(
x x).
On a
E(xk + rk ) =< A(xk + rk x
), xk + rk x
>= E(xk ) 2 < rk , rk > +2 < Ark , rk > .
Cest une equation du second degre en et < Ark , rk >> 0 car A est sym. definie positive,
alors le min est atteint par
k =< rk , rk > / < Ark , rk > .
4.
k>
).
On note Ek =< rk , A1 rk >. Montrer que Ek+1 = Ek (1 <A1 r<r,rk ,r><Ar
k k
k ,rk >
1
1
On a Ek+1 =< rk+1 , A rk+1 >=< rk+1 , A (rk k Ark ) >=<
< rk , A1 rk > k < Ark , A1 rk >= Ek k < rk , rk > car A est symetrique.
Ainsi, de la definition de k on a
Ek+1 = Ek
< rk , rk >2
< rk , rk >2
.
= Ek 1
< Ark , rk >
< A1 rk , rk >< Ark , rk >
La matrice est sym. definie positive alors ses valeurs propres sont strictement positives et
cond2 (A) = max /min . On sait (feuile TD1) que le quotient de Rayleich verifie :
min krk k2 < Ark , rk > max krk k2
et
1
1
krk k2 < A1 rk , rk >
krk k2
max
min
87
Ainsi,
min
max
krk k4 < Ark , rk >< A1 rk , rk >
krk k4
max
min
soit encore
cond2 (A),
cond2 (A)
krk k4
On deduit immediatement ce quil faut.
Convergence. Par recurrence, on a
Ek+1 Ek (1
1
1
) E0 (1
)k .
cond2 (A)
cond2 (A)
1
2
x1
x2
2
1
1
1
degr
e de pr
ecision, erreur dint
egration ?. (Indication : faire le d
eveloppement de Taylor pour g(t), g(1), g(1) au point 0 `
a
Rb
lordre 4.) D
etailler la m
ethode composite pour approcher J(f ) = a f (x)dx en utilisant la formule dint
egration pr
ec
edente.
Donner lerreur dint
egration globale en fonction de h.
t3
t4
t2
g (0) + g(3) (0) + g(4) (t ), 0 < t < |t|
2
6
24
1
1 (3)
1
CHAPITRE 7. TRAVAUX DIRIGES
88
ainsi,
1
Z 1
1
1
g(t)dt = 2g(0) + g (0) +
t4 g(4) (t )dt
3
24 1
1
1
g(1) + g(1) = 2g(0) + g (0) + (g(4) (1 ) + (g(4) (2 )).
24
Z
On a
1
2
1
1
1
g(t)dt ( g(1) g (0) + g(1) =
R(g) =
3
3
3
24
1
Z
en majorant, on a
1
1
1 (4)
(g (1 ) (g(4) (2 ))
24
1
1
1
|R(g)| ( +
+ ) max |g(4) (t)|.
60 24 24 1t1
P 1 R xi+1
Formule Composite. J(f ) = M
f (x)dx et sur chaque intervalle de longueur h, on api=0
xi
plique la formule dintegration precedente
Z
Z xi+1
h1
2 h2
1
1+t
h 1
h)dt
f (xi )
f (xi + h/2) + f (xi+1 ) ,
f (xi +
f (x)dx =
2 1
2
2 3
3 4
3
xi
on a applique la formule avec g(t) = f (xi +
1+t
2 h).
h
h
h h4
|R(g)|
max |g(4) (t)| =
2
20 1t1
20 24
max
xi xxi+1
|f (4) (x)|.
i=0
i=0
par consequent,
|Rh (f )|
M
1
X
i=0
b a
h5
(4)
(4)
M max |f (x)| =
max |f (x)| h4 .
|Ri (f )|
320 axb
320 axb
= {(
On consid`
ere le triangle K
x, y) R2 ; x 0, y 0, x
+ y 1} et on note
(7.41)
89
R 2
R 1 R 1x 2
R1 2
1
Ensuite, pour g(
x, y) = x
2 , on a K x
d
xd
y = 0( 0 x
d
y )d
x= 0 x
(1 x
)d
x = 12
6=
1
ethode nest pas exacte pour IP2 et le degre de precision est 1.
6 . Ce qui prouve que la m
1
0
g(
x, y)d
xd
y (g(O) + g(A) + g(C)) et
MK
(g) = max( sup
(
x,y)
K
|x2x g|,
sup
(
x,y)
K
|y2y g|,
sup
(
x,y)
K
|x2y g|).
avec R0 (g) =
il vient
(1 t)g (ta0 + (1 t)b)(b a, b a)dt. On int`egre sur K,
Z
Z
1
g(
x, y)d
xd
y = g(x0 , y0 ) + x g(x0 , y0 ) (
x x0 )d
xd
y
2
K
K
Z
Z
+ y g(x0 , y0 ) (
y y0 )d
xd
y+
R0 (g)d
xd
y
0
soit encore
Z
(7.42)
R1
g(
x, y)d
xd
y=
1
1 x0
1 y0
g(x0 , y0 ) + ( )x g(x0 , y0 ) + ( )y g(x0 , y0 ) +
2
6
2
6
2
R0 (g)d
xd
y
(7.43)
(7.44)
(7.45)
avec
R1 (g) =
R1 (g) =
R1 (g) =
do`
u
1
0
1
0
1
1
1
1 x0 1 y 0
1
(g(0, 0) + g(1, 0) + g(0, 1)) = g(x0 , y0 ) + g (x0 , y0 )( , ) + (R1 (g) + R2 (g) + R3 (g))
6
2
6
2 6
2
6
ainsi
Z
Z
1
1
R0 (g)d
xd
y (R1 (g) + R2 (g) + R3 (g)).
RK (g) =
g(
x, y)d
xd
y (g(O) + g(A) + g(C)) =
6
6
K
K
CHAPITRE 7. TRAVAUX DIRIGES
90
Pour i = 0, 1, 2, 3 on a
Z 1
Z 1
enfin
1
1
|RK (g)| (2MK ) + 3(2MK ) = 2MK .
2
6
le triangle de sommets A, B=(1,1) et C, et Q le carr
3. On note K
e [0, 1 [0, 1]. D
eduire de ce qui pr
ec`
ede une formule
dint
egration sur le carr
e, et une estimation de lerreur.
K
et lerreur dintegration est comme precedemment :
RK (g) 2MK (g).
Le carre est la reunion de deux triangles :
Z
Z
Z
g(
x, y)d
xd
y=
g(
x, y)d
xd
y+
g(
x, y)d
xd
y
1
1
(g(O) + g(A) + g(C)) + (g(A) + g(B) + g(C))
6
6
(
x,
y )Q
(
x,
y )Q
par la m
ethode composite et donner une estimation derreur.
1iN,1jM
Qij
Approximation de Iij =
=
yyj
h ,
ainsi
2
Iij (f ) = h
R
0
Qij
f (x, y)dxdy =
1Z 1
R xi +h R yj +h
xi
yi
91
f (xi + h, yj + h)dd = h
xxi
h
et
g(, )dd
Q
1
1
(g(O) + g(A) + g(C)) + (g(A) + g(B) + g(C))
6
6
2
h
(f (xi , yj ) + f (xi + h, yj ) + f (xi , yj + h))
6
h2
+ (f (xi + h, yj ) + f (xi , yj + h) + f (xi + h, yj + h))
6
ainsi lerreur dintegration sur Qij est donnee par
|Ri,j (f )| 4h2 MQ (g) 4h4 Mi,j (f ),
avec
Mi,j (f ) = max( sup
(x,y)Qij
2
|xx
f |,
sup
(x,y)Qij
2
|yy
f |,
sup
(x,y)Qij
2
|xy
f |).
h2
1iN,1jM
1
Qij
1
+ (f (xi + h, yj ) + f (xi , yj + h) + f (xi + h, yj + h))
6
X
=
Ri,j (f ),
1iN,1jM
et alors
|R (f )|
avec
1iN,1jM
|Ri,j (f )| 4h4 N M M (f ),
2
2
2
M (f ) = max( sup |xx
f |, sup |yy
f |, sup |xy
f |),
(x,y)
(x,y)
(x,y)
or N h = l et M h = L, on a finalement
|R (f ) 4lLM (f )h2 .
5. Application. Soit > 0. D
eterminer h maximal de telle facon que Rh (f ) approche
Z 2Z 3
2 3
ex y dxdy
I(f ) =
0
CHAPITRE 7. TRAVAUX DIRIGES
92
ainsi
|R (f )| 24 11736h2
do`
u h.
yn
1 + hg(yn )
yn g(yn )
.
1 + hg(yn )
3. En d
eduire la stabilit
e, puis la convergence de la m
ethode.
yn
1+hg(yn )
yn y0 .
On a
yg(y)
,
1 + hg(y)
avec 0 y y0 et et donc les fonctions g et g sont uniformement continues sur [0, y0 ]. On
note M1 = max0yy0 |g(y)| et M2 = max0yy0 |g (y)|
Stabilite :
yg(y)
zg(z)
|(t, y, h) (t, z, h)| =
1 + hg(y) 1 + hg(z)
|yg(y)(1 + hg(z)) zg(z)(1 + hg(y))| = |(yg(y) zg(z)) + hg(z)g(y)(y z)|
(t, y, h) =
avec M = M2 |y0 | + M1 + M12 h0 . Le schema etant stable et consistent, alors il est convergent.
7.7. TA-2008
93
7.7. TA-2008
Exercice 7.37. Methode des directions alternees Soit A une matrice reelle symetrique definie
positive, on decompose A sous la forme
A = rI + H + V
avec r R, r > 0, I la matrice identite, H et V matrices reelles symetriques telles que rI + H
et rI + V soient inversibles. On note par la suite B = 1r H et C = 1r V . Pour resoudre le syst`eme
Ax = b, on consid`ere la methode iterative suivante :
x0 arbitraire
(7.48)
(rI + H)yk+1 = V xk + b
CHAPITRE 7. TRAVAUX DIRIGES
94
avec h = T /N , tn = nh.
e2x + 2xex 1;
2x ex ;
1 + x2 ex .
n+1 n1 + 2n + n , n 1
R+ .
Montrer que
n1
q
X
(n1)
2
2
n e
i e(n1i) , n 2.
0 + 1 +
i=1
4. Montrer que
n1
X
i=1
e(n1i)hL
eLT 1
.
hL
de M2 , M3 et L. Conclure.
1. Pour chacun des cas suivants, construire une formule dintegration exacte lorsque p est un
polyn
ome de degre inferieur ou egal a
`1:
(a) en utilisant les valeurs p(0) et p(1).
(b) en utilisant quune seule valeur p(a) o`
u a est a
` determiner.
0
2. Soit R > 0, pour f, g C ([0, R]) on consid`ere le produit scalaire
Z R
xf (x)g(x) dx.
(f, g) =
0
R
N,
xi = ih pour i = 1, , N et
7.7. TA-2008
95
= {(
Exercice 7.40. Integration 2D On consid`ere le triangle K
x, y) R2 ; x
0, y 0, x
+
= (1/3, 1/3) son
y 1} et on note A = (0, 0), B = (1, 0) et C = (0, 1) ses trois sommets et G
barycentre.
1. Determiner le coefficient pour que la formule dintegration
Z
g(
x, y)d
xd
y g(G)
(7.49)
Lorsque
Appliquer la formule de Taylor precedente en considerant b = (
x, y) et a = G.
g C 2 (R2 ), donner alors une estimation de lerreur
Z
g(
x, y)d
xd
y g(G))
RK (g) =
en fonction de
MK (g) = max
sup |x2x g|, sup |y2yg|, sup |x2yg| .
(
x ,
y)K
(
x,
y )K
(
x ,
y )K
le triangle de sommets B(1, 0), D = (1, 1) et C = (0, 1) et Q le carre [0, 1[0, 1].
3. On note K
Montrer que
Z
Z
g(1 , 1 )dd
(7.50)
g(
x, y)d
xd
y=
CHAPITRE 7. TRAVAUX DIRIGES
96
I(f ) =
ex
2 y3
dxdy
CHAPITRE 8
DANALYSE
DEVOIR SURVEILLE
NUMERIQUE
(2010) ET SON CORRIGE
Exercice 1.
Soit (xi , yi ) (i = 1, , n) une famille de points donnes. On cherche a = (a1 , a2 , a3 ) realisant
le minimum de
n
X
x2i (a1 + a2 xi + a3 x2i yi )2
J(a1 , a2 , a3 ) =
i=1
1. Calculer
J
aj (a),
pour j = 1, 2, 3.
2
(8.1)
aR3
1 3
(x2 , y2 ) = ( , ),
2 2
1
(x3 , y3 ) = ( , 0),
2
Exercice 2.
Soit la matrice symetrique suivante
3 1
0
0
1
1
3
1
0
.
.
.
.
0
..
..
..
..
0
A=
1
3 1
0
0
0
1
3 1
1
0
0 1
3
98
DANALYSE NUMERIQUE
1
aij =
si j = i
si j = i + 1 ou j = i 1
si (i = 1, j = N ) ou (i = N, j = 1)
(8.2)
sinon
1. Montrer que la matrice A est definie positive. Est-elle inversible ? Montrer que 1 5
o`
u est une valeur propre de A.
2. Soient les matrices L = (lij )ij et U = (uij )ij
d1
1 u1 0
0
b1
l2 d2
1 u2
0
b2
.
.
.
.
.
.
.
.
0
.. ..
..
..
.
.
;
L=
, U =
1 uN 2 bN 2
0 . . . lN 2 dN 2
1
uN 1
lN 1 dN 1
1
a1 a2 aN 2
lN
dN
soit encore
di
l
i
lij =
si j = i
si j = i 1
si i = N
sinon
u
i
uij =
si j = i
si j = i + 1
si j = N
(8.3)
sinon
Donner, par identification, les relations entre les coefficients des matrices L et U pour
que A = LU . Ecrire un algorithme permettant le calcul des coefficients des matrices L et U .
3. Soit A = M N une decomposition de A avec M = 1 I , o`
u > 0 et I la matrice identite
n
n
dans R . Les valeurs propres de A sont classees par ordre decroissant
1 2 n .
Pour resoudre le syst`eme lineaire Ax = b o`
u b un vecteur non nul de Rn , on consid`ere la
methode iterative :
x0 Rn ,
M xk+1 = N xk + b .
2
.
1
(8.4)
EXERCICE 3.
99
6. Montrer que le meilleur choix de , celui qui rend la convergence de la methode la plus
rapide, est donne par :
2
=
.
1 + n
(indication : tracer ]0, +[ 7 gi () = |1 i | , i = 1, n)
Exercice 3.
Soit f : R 7 R telle que f C 3 ([a, b]; R) et soit a < b deux reels donnes. On cherche a
`
approcher f sur lintervalle [a, b] par un polyn
ome p tel que
p(a) = f (a)
p(b) = f (b)
p (a) = f (a)
(8.5)
(b) = (a) = 0,
3
2 (a) = 1
3 (a) = 1
(8.6)
(8.7)
100
DANALYSE NUMERIQUE
(ii) Decrire la methode composite en utilisant (8.7) pour approcher J(u) et majorer
lerreur dintegration de la formule composite.
CORRIGE
Corrig
e exercice 1.
1. On derive par rapport aux variables ai . Il vient
n
X
J
x2i (a1 + a2 xi + a3 x2i yi )
(a) = 2
a1
i=1
n
X
J
x3i (a1 + a2 xi + a3 x2i yi )
(a) = 2
a2
i=1
J
(a) = 2
a3
2. La matrice est symetrique.
n
X
i=1
X
2J
x2i
(a)
=
2
2 a1
2J
2 a1 a2
2J
2 a1 a3
2J
2 a2
2 a2 a3
2 a3
3. Le min est caracterise par
J (a)
i=1
n
X
J
(a) = 0 (
a2
i=1
(a) = 2
i=1
n
X
x3i
x4i
i=1
n
X
x4i
i=1
n
X
(a) = 2
x5i
i=1
(a) = 2
n
X
x6i .
i=1
= 0, soit encore
n
X
J
(a) = 0 (
a1
(a) = 2
(a) = 2
2J
2J
i=1
n
X
n
n
n
X
X
X
x2i yi
x4i )a3 =
x3i )a2 + (
x2i )a1 + (
i=1
i=1
n
X
n
X
x3i )a1 + (
i=1
x4i )a2 + (
i=1
i=1
x5i )a3 =
n
X
i=1
x3i yi
EXERCICE 2.
CORRIGE
101
n
n
n
n
X
X
X
X
J
x4i yi
x6i )a3 =
x5i )a2 + (
x4i )a1 + (
(a) = 0 (
a3
i=1
i=1
i=1
i=1
Aa = b
avec
n
X
x2i
Pn
3
i=1 xi
Pn
4
i=1 xi
n
X
x2i yi
i=1
i=1
n
n
X
X
P
P
n
n
5
4
x3 yi
x
x3i
x
et
b
=
A=
i=1 i
i=1 i
i=1 i
i=1
n
n
X
X
Pn
4 Pn
6
5
x4i yi
x
xi
x
i=1 i
i=1 i
i=1
i=1
x2i
= 2 + 1/2 = 5/2,
n
X
x3i
= 0,
n
X
x5i = 0, ,
x2i yi = 9/8;
n
X
i=1
i=1
(8.8)
i=1
i=1
n
X
n
X
i=1
i=1
i=1
n
X
x3i yi = 21/16;
n
X
x4i yi = 45/32.
i=1
5
0
17/4
a1
9/4
0
17/4
0 a2 = 21/8
17/4
0
65/16
a3
45/16
Donc a1 = 5/4, a2 = 21/34, a3 = 2. Pour montrer que cest un min, on va montrer que
J(a) est definie positive.
5
0
17/4
J(a) = 2A = 0
17/4
0
17/4
0
65/16
La matrice 2A est reelle et symetrique. Elle est definie positive ssi ses valeurs propres sont
1717
strictement positives. On a 3 = 17/4 et 1 + 2 = 5 + 65/16 > 0 et 1 2 = 565
16 16 =
(325 289)/16 donc 1 > 0 et 2 > 0.
Corrig
e exercice 2.
1. Dapr`es le theor`eme de Gerschgorin, les valeurs propres sont dans lunion des disques de
P
centre aii et de rayon j6=i |aij |. Ici il y a un seul disque D(3, 2) cest a
` dire
| 3| 2
102
DANALYSE NUMERIQUE
Par ailleurs, A est symetrique et reelle alors ses valeurs propres sont reelles. On deduit
alors
2 3 2 1 5.
2. On fait le produit LU = A, il vient
d1
d1 u1
0
0
l2 l2 u1 + d2
d
u
0
2 2
.
.
.
.
..
..
..
..
0
A = LU =
..
0
.
li
li ui1 + di
di ui
a1 a1 u1 + a2
aN 3 uN 3 + aN 2 aN 2 uN 2 + lN
avec c =
PN 2
i=1
d1 b1
l2 b1 + d2 b2
..
li bi1 + di bi
..
.
c
d1 = 3, d1 u1 = 1, d1 b1 = 1
l = 1, l u + d = 3, d u = 1, l b + d b = 0
2
2 1
2
2 2
2 1
2 2
bi = li bdi1
,
i
fini
Calcul des coefficients ai
a1 = 1
Pour i = 2 a
` N-2 faire
ai = ai1 ui1
fini
Calcul du coefficient lN
lN = 1 aN 2 uN 2
1
l2 b1
, b2 =
d2
d2
EXERCICE 2.
CORRIGE
103
M x = N x + b (M N )x = b Ax = b.
4. On a
xk+1 = M 1 N xk + M 1 b.
La methode converge ssi (M 1 N ) < 1. On a M 1 N = M 1 (M A) = I M 1 A = I A.
Les valeurs propres de la matrice diteration I A sont 1 i . Ainsi,
(M 1 N ) = max |1 i |.
i=1, ,n
Alors
(M 1 N ) < 1 |1 i | < 1 1 < 1 i < 1 0 < <
1
, i = 1 n. (8.9)
i
1
1
parce que la relation (8.9) est valable en particulier pour i = 1. Dautre part, comme 1 i ,
pour tout i , alors si 0 < < 11 , on deduit
0<<
1
1
,
1
i
cest a
` dire
f ( ) f (), .
104
DANALYSE NUMERIQUE
On trace les deux courbes g1 () et gn (), ensuite on trace f () et enfin on cherche (graphiquement) le min de f .
Corrig
e exercice 3.
1. Construction de 1 . Le reel a est une racine double 1 (x) = c(xa)2 et 1 (b) = c(ba)2 = 1
1
2
alors 1 (x) = (ba)
2 (x a) .
Construction de 2 . 2 (x) = c(x a)(x b) et 2 (x) = c((x b) + (x a)). Comme
1
(x a)(x b).
u 2 (x) = ba
2 (a) = c(b a) = 1, do`
Construction de 3 . 3 (x) = (x + )(x b). On a 3 (a) = (a + )(a b) = 1 et
3 (x) = (x + ) + (x b) = 0 donc 3 (a) = (a + ) + (a b) = 0. on a alors
1
1
1
a
1
(a + ) = ab
= (a b) ce qui donne = (ab)
2 et = ab a = ab + (ab)2 .
2. On montre que cette famille est libre.
1 (x) + 2 (x) + 3 (x) = 0.
pour x = a, on deduit = 0 ; pour x = b on deduit = 0, pour x = (a + b)/2 on trouve
= 0 ou bien on derivant 2 (x) = 0 et on prend x = a.
3. Soient p, q IP2 , alors r = p q IP2 et verifie r(a) = r(b) = r (a) = 0, ainsi r(x) =
c(x a)2 (x b) ; or r IP2 alors c = 0 et r(x) = 0 pour tout x.
4. Pour x = a ou x = b, legalite (8.6) est verifiee. Pour x 6= a et x 6= b, on definit la fonction
(t) = f (t) p(t) A(x)(t a)2 (t b)
f (x) p(x)
.
(x a)2 (x b)
soit encore
A(x) =
f (x) p(x)
1
= f (3) ().
2
(x a) (x b)
6
Do`
u le resultat .
5. pour g(t) = 1, 2 = +
pour g(t) = t, 0 = + +
pour g(t) = t2 , 2/3 = 2 +
on resout ce syst`eme lineaire : on obtient
= 4/3,
= 2/3,
= 2/3.
EXERCICE 3.
CORRIGE
105
et
g(1) + g (1) + g(1) = 4/3 + 2 + 2/3 = 4/3
donc la methode nest pas exacte pour IP3 et enfin le degre de precision est 2.
6. Soit p IP2 le polyn
ome dinterpolation verifiant :
p(1) = g(1),
p (1) = g (1),
p(1) = g(1)
ce qui donne
R(g) =
(t + 1)2 (t 1) (3)
g ((t))dt.
6
1+t
2 h
h
4h
4h h3
|R(g)|
max |g(3) (t)| =
2
3 1t1
3 23
max
xi xxi+1
|u(3) (x)|.
106
DANALYSE NUMERIQUE
P 1 R xi+1
8. Formule Composite. J(u) = M
u(x)dx et sur chaque intervalle de longueur h, on
i=0
xi
applique la formule dintegration precedente
Erreur dintegration sur [0, 5].
M
1 Z xi+1
1
M 1
M
X
X
h X
h
u(x) dx
Rh (u) =
Ri (u)
u(xi ) + u (xi ) + u(xi+1 ) =
2
2
xi
i=0
i=0
i=0
par consequent,
|Rh (u)|
M
1
X
i=0
|Ri (u)|
5
h4
M max |u(3) (x)| =
max |u(3) (x)| h3 .
0x5
6
6 0x5
CHAPITRE 9
DANALYSE NUMERIQUE
DEVOIR SURVEILLE
(2011)
Exercice 1.
On munit lespace vectoriel C 1 ([1, 1]; R) du produit scalaire suivant
Z 1
Z 1
f (x)g (x) dx
f (x)g(x) dx +
< f, g >=
(9.1)
DANALYSE NUMERIQUE
108
o`
u b est donne dans Rn .
Montrer que lequation (9.2) equivaut `a :
(A1 + r I) x = (r I A2 ) x + b ,
(9.3)
(A2 + r I) x = (r I A1 ) x + b .
(9.4)
et aussi `
a:
5. Pour resoudre numeriquement (9.2), on consid`ere les deux suites (xm ) et (ym ) de Rn definies
par la donnee de x0 et par les deux relations de recurrence suivantes :
(
(A1 + r I) ym = (r I A2 ) xm + b
(9.5)
(A2 + r I) xm+1 = (r I A1 ) ym + b .
Montrer que xm+1 , donne par (9.5), secrit sous la forme :
xm+1 = B xm + c ,
o`
u B Mn (R) et c Rn .
6. En deduire que
xm x = B m (x0 x) .
7. On pose
U = (A2 + r I) B (A2 + r I)1 .
Montrer que
(a)
U = 1 2 o`
u i = (r I Ai ) (Ai + r I)1 ,
i = 1, 2,
Exercice 3.
Soit f : R 7 R telle que f C 5 ([a, b]; R) et soit a < b deux reels donnes.
1. Determiner la formule dintegration suivante
Z a+h
f (x) dx f (a) + f (a + h)
(9.6)
pour quelle soit exacte pour des polynomes de degre le plus haut possible. Preciser le degre
de precision.
EXERCICE 3.
109
2. On note
I=
a+h
a
h2
hp1
hp
R (0) + +
R(p1) (0) + R(p) (h).
2!
(p 1)!
p!
h4
h5
h3
f (a) f (3) (a + h) f (4) (a + h)
12
24
48
(9.7)
o`
u 0 < < 1.
3. On utilisant la formule dintegration (9.6), donner une approximation de
Z a+h
Z a+h/2
f (y) dy.
f (y) dy et I2 =
I1 =
a+h/2
h3
h4
h5
r(h) = f (a) f (3) (a + h/2) d ,
(9.8)
96
48
96
o`
u 0 < < 1 et d = 81 f (4) (a + h2 ) + f (4) (a + h) . (On peut par exemple faire un
developpement de Taylor `
a lordre 4).
4. Montrer que
4J(h) I(h)
I = c1 h4 + c2 h5
3
o`
u c1 et c2 sont des coefficients `
a determiner.
5. Donner une approximation dordre 4 de I.
6. On note I4 (h) une approximation de I `a lordre 4. Construire une methode dintegration
dordre 5.
CHAPITRE 10
TRAVAUX SUR ORDINATEUR
` MATLAB
INITIATION A
Matlab est un logiciel de calcul numerique produit par MathWorks (voir le site web
http :// www.mathworks.com/). Il est disponible sur plusieurs plateformes. Matlab est un
langage simple et tr`es efficace, optimise pour le traitement des matrices et pour le calcul
numerique. Matlab est labreviation en anglais de matrix laboratory, tous les objets
en jeu sont des matrices, y compris les scalaires (matrices 1 1).
On propose une initiation non exhaustive des commandes utiles en calcul scientifique.
Premi`ere utilisation de Matlab , laide en ligne Une fois Matlab lance, les instructions de
Matlab doivent etre tape dans la fen
etre de commandes le sigle >> signifie une ligne
de commande, Par exemple :
>>1+1
ans =
2
>>t=1+1
t =
2
>>t=1+1;
>>t
t=
2
>>u=sin(t)
u =
0.9093
>>v=exp(u)
v =
2.4826
>>format long
>>v
v =
2.48257772801500
112
` MATLAB
INITIATION A
>>format short
>>v
v =
2.4826
>>who
Your variables are:
ans t u v
>>whos
Name Size Bytes Class
ans 1x1 8 double array
t 1x1 8 double array
u 1x1 8 double array
v 1x1 8 double array
>> clear
>> v
On remarque que :
1.
2.
3.
4.
10.1. La commande ;
>> y=sin(0.15*pi);
le calcul de y a ete effectue mais il nest pas affiche `a lecran. Pour lafficher, il suffit de taper y
>> y
y= 0.4540
10.2. Variables sp
eciales
pi, i, realmin, realmax, eps, ans ... variables predefinies.
>> eps
ans =
2.2204e-16
>> 1. + eps
1.0000
>> realmax
ans =
1.7977e+308
>> realmin
ans =
113
2.2251e-308
>> v=1.e+400
v =
Inf
>> pi
Le zero machine eps est le plus grand reel positif tel que 1 + eps <= 1 !!!!!.
>>y = 0.444444444444444e-30
>>x = 0.222222222222222e-20
>> x+y
0.222222222666667e-20
>>u = 0.444444444444444e+30
>>v = 0.222222222222222e+20
>> u+v
0.444444444666666e+30
Le calcul se fait en reduisant `
a la puissance la plus elevee. Dans le premier cas, le se fait de la
mani`ere suivante
x + y = 1020 (0.222222222222222 + 0.000000000444444)
et dans le second
u + v = 1030 (0.444444444444444 + 0.000000000222222).
114
` MATLAB
INITIATION A
10.4. Affichage
FORMAT Set output format. All computations in MATLAB are done in double precision.
FORMAT may be used to switch between different output display formats as follows : FORMAT
SHORT (default) Scaled fixed point format with 5 digits. FORMAT LONG Scaled fixed point
format with 15 digits.
>> pi
ans =
3.1416
>> format long
>> pi
ans =
3.141592653589
10.5. Les commentaires
Il est important de pouvoir ecrire des commentaires lors de lelaboration dun programme. Pour
cela, sur une ligne tout ce qui apr`es le symbole % est non lu.
>> pi % pour connaitre la valeur de pi
10.6. Vecteurs - Matrices
Les tableaux (vecteurs, matrices, ...) sutilisent dans la fenetre de commande matlab ou dans
des programmes.
Les indices des vecteurs et matrices commencent toujours `
a 1. Lindice 0 nexiste
pas en matlab.
La i`eme composante dun vecteur x est appelee x(i) ; le coefficient de la i`eme ligne, j`eme colonne
dune matrice A est A(i, j). Il ny a pas `a declarer les tableaux, mais il est cependant recommande
de reserver une place memoire pour les matrices en les initialisant `a 0. (voir plus loin).
10.6.1. Cr
eation de vecteurs. Un vecteur ligne est defini
(i) soit par une relation de la forme
x = [x1 x2 xn]
ou
x = [x1, x2, , xn]
o`
u les elements xi sont separes par des espaces ou des virgules et mis entre [ ]. Exemples :
>> x1 = [1.1 2.3 3.5 -4. -8.]
x1 =
1.1000
2.3000
3.5000
>> x2 = [3 -5.2
2*sqrt(3)]
% (vecteur de 5 composantes)
-4.0000
-8.0000
% (vecteurs de 3 composantes).
115
x2 =
3.0000
>>x2(3)
-5.2000
3.4641
(ii) soit par une subdivision dun intervalle donne (a, b) en sous-intervalles de longueur donnee
h,
x=a :h :b aller de a `
a b par pas de h,
x=a :b
(par defaut h = 1).
>> x = 5 :-1 : 1
x = 5 4 3 2 1
>> x=1: 1.1 : 5
x =
1.0000
2.1000
3.2000
4.3000
>> x=5:1
x =
Empty matrix: 1-by-0
>> x = 0 : pi/2 : 2 * pi
x =
0
1.5708
3.1416
4.7124
6.2832
(ii) soit par linstruction
x=linspace(a, b, n) definit un vecteur de n composantes
ba
, pour i = 1 n.
x(i) = a + (i 1) n1
Par defaut : n = 100.
>>y= linspace(0,pi,9)
y =
0
0.3927
0.7854
1.1781
1.5708
1.9635
2.3562
2.7489
3.1416
(iv) soit par lutilisation dune fonction. Par exemple, si x est un vecteur ligne, alors sin(x) et
cos(x) (par exemple) sont des vecteurs ligne de meme nombre de composantes.
10.6.2. Vecteur transpos
e. Un vecteur colonne peut etre defini comme le transpose dun
vecteur ligne, x d
esigne le vecteur transpos
e du vecteur x.
>> x = (1 : 4) ; y = [3 -4.5 2.1]
; xn]
116
` MATLAB
INITIATION A
10.6.3. Op
erations sur les vecteurs. Quelques operations sur les vecteurs :
+
: addition de deux vecteurs u et v de meme longueur.
dot(u, v) ou u v : produit scalaire de deux vecteurs u et v.
.
: multiplie deux vecteurs composantes par composantes.
./
: divise deux `a deux les composantes de deux vecteurs .
.
: el`eve les composantes dun vecteur `a la puissance des composantes du second.
sum(u)
: somme des composantes dun vecteur u.
mean(u)
: moyenne des composantes dun vecteur u.
length(u)
: donne la longueur dun vecteur u.
min(u)
: donne la plus petite composante dun vecteur u.
max(u)
: donne la plus grande composante dun vecteur u.
>> u = (1 : 4) , v = (2 : 5)
u =
1
2
3
4
v =
2
3
4
5
>> z = u .* v
% z(i) = u(i)*v(i)
z =
2
6
12
20
>> w = v./u
% w(i) = v(i) = u(i)
w =
2.0000
1.5000
1.3333
1.2500
>> t = v .^u
% t(i) = v(i) ^ u(i)
t =
2
9
64
625
>> x = (0 : 0.2 : 1)
x =
0
0.2000
0.4000
0.6000
>> z = exp(x).* cos(x)
z =
1.0000
1.1971
1.3741
1.5039
%z est un vecteur dont les composantes sont
%z(i) = exp(x(i)) cos(x(i)) pour i = 1;
>> disp(mean(z) = ), mean(z)
>>disp(length(z) = ), length(z)
>>disp(min(z) = ), min(z)
>>disp(max(z) = ), max(z)
>>disp(sum(z) = ), sum(z)
>>disp(max(abs(z)) = ), max(abs(z))
0.8000
1.0000
1.5505
1.4687
les
el
ements
; 6 ,
10.8. OPERATIONS
SUR LES MATRICES
117
10.7. Cr
eation de matrices
i) Une matrice de n lignes et p colonnes peut etre definie par une relation de la forme :
A = [a11 a12 a1p ; a21 a22 a2p ; an1 an2 anp ]
>> A = [1 2 3 4 ; 5 6 7 8 ; 9 10 11 12]
A =
1 2 3 4
5 6 7 8
9 10 11 12
de
:
:
:
:
6]
>> x = zeros(1, 5) % d
efinit le vecteur nul de 5 composantes
x = 0 0 0 0 0
>> x = zeros(5 , 1) %d
efinit un vecteur colonne de 5 composantes egales a 0.
>> x = ones(1, 5) %d
efinit le vecteur ligne de 5 composantes
x = 1 1 1 1 1
10.8. Op
erations sur les matrices
Quelques operations possibles
118
+*
x = A(1, :)
y = A( :, 2 : 3)
w = A(3, i : j)
u = A( :,2)
z = A( :)
c *A
A.m
Am
size(A)
eig(A)
det(A)
rank(A)
trace(A)
spy(A)
Exemple :
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
` MATLAB
INITIATION A
>>A= rand(6,6)
>>DetA=det(A)
>>ValProp = eig(A)
>>A(1,:)=1
>>A(4,3)=-3.3333
>>rangA= rank(A)
>>B = rand(20,30);
>>B(3:6,10:18)=0.;
>>spy(B)
>>[n,m]=size(B)
>>NbLigneB = size(B,1)
>>NbColonneB= size(B,2)
10.9. M-Files ou scripts
Un script (ou M-file) est un fichier (premiertp.m par exemple) contenant des instructions
Matlab.
Tous les fichiers matlab doivent se terminer par le suffix
.m
Voici un exemple de script ou de programme matlab :
% mon premier programme matlab
%premiertp.m calcule det, valeurs propres dune matrice
%
clear all
%%% Les matrices
n=input(Donner la dimension de la matrice n = )
10.10. FONCTIONS
119
A= rand(n,n)
DetA=det(A)
ValProp = eig(A)
A(1,:)=1
A(4,3)=-3.3333
rangA= rank(A)
nbl=input(Donner le nombre des lignes (> 10)de la matrice B
nbc=input(Donner le nombre des colonnes(>20) de la matrice
= )
= )
B = rand(nbl,nbc);
B(4:8,10:18)=0.;
spy(B)
[n,m]=size(B)
NbLigneB = size(B,1)
NbColonneB= size(B,2)
Matlab vous offre un editeur pour ecrire et mettre au point vos M-files :
Pour ex
ecuter le programme il suffit de cliquer sur run dans le menu de lediteur,
ou
dans la fenetre de commande, on execute un M-file en utilisant le nom du script comme commande :
>> premiertp
Les M-files (ou programme) sont ex
ecut
es s
equentiellement dans le workspace, cest `
a
dire quils peuvent acceder aux variables qui sy trouvent dej`a, les modifier, en creer dautres etc.
10.10. Fonctions
Une fonction est un script admettant des variables dentrees et des variables de sorties, par
exemple f (x, y) = x2 + y 2 admet x et y comme variables dentrees et le resultat z = x2 + y 2
comme argument de sortie. Voici une fonction fonc definie dans un fichier fonc.m
function [z,t] = fonc(x,y,m)
z = x^2+y^2;
t=x-y+m;
end
Les variables x, y et m sont les variables dentrees et ils ne doivent pas etre modifiees `a linterieur
de la fonction. Les variables z et t sont les arguments de sortie, la fonction doit affecter une valeur
pour z et t.
Utilisation de cette fonction. Une fonction est appele depuis un script (un programme
principal) ou dans une fenetre commande.
120
` MATLAB
INITIATION A
not
10.12.2. It then else. Faire help if.
Exemple.
a= log(2.)
b= sqrt(2.)/2.
if (a > b)
disp( a est plus grand que b)
else
disp(a est plus petit que b)
end
10.12.3. For. Faire help for.
Exemple.
A = zeros(4,5)
for i = 1: 4
for j=5:-1:1
A(i,j) = i+j^2 ;
end
10.13. GRAPHISMES
end
A
10.12.4. switch. Selon la valeur dun param`etre faire.
help switch
Exemple.
switch m % faire selon la valeur de m
case 0 % si m=0
x=0
case {1, 2, 9} % si m=1 ou m=2 ou m=9
x= m^2
case {-3,-1, 99} % si m=-3 ou m=-1 ou m= 99
x= m+ m^2
otherwise % sinon
x=-9999999
end
10.13. Graphismes
>> help 2-D Plots
mettre dans un script courbes.m les instructions suivantes
% courbes.m
% Exemples de graphismes en 2D
% graphe 1
figure
x=0:0.05:5;
y=sin(x.^2);
plot(x,y);
xlabel(Time)
ylabel(Amplitude)
title(ma premi`
ere courbe)
legend(toto)
%graphe 2
figure
z = -2.9:0.2:2.9;
bar(z,exp(-z.*z));
%graphe 3
figure
subplot(2,1, 1)
plot(x,y);
121
122
` MATLAB
INITIATION A
subplot(2,1,2)
bar(z,exp(-z.*z));
% graphe 4
figure
Y=[0:0.05: 1];Z1=sin(2*pi*Y);Z2=cos(2*pi*Y);
plot(Y,Z1,:b,Y,Z2,+k);
title(Exemple de courbes);
xlabel(Y);ylabel(Z);
legend(sin,cos);
Commenter chaque instruction de ce programme.
Exercice 10.1. Definir la fonction gaussienne.m,
function [g] = gaussienne(x,xc,s)
g=exp( - (x-xc)^2/s^2)
end
tracer la fonction pour differente valeur de xc et s sur la meme courbe (faire un script tracergauss.m).
Dans la fonction gaussienne largument x est un scalaire, ecrire une fonction
gaussiennev(x,xc,s) avec x un vecteur. Tracer la fonction pour differente valeur de xc et s sur
la meme courbe.
10.14. tic toc
Calcul le temps CPU dexecution dun programme. Il suffit de faire linstruction tic au debut
du script et ensuite de faire toc en fin du script pour avoir le temps dexecution du programme.
10.15. Fonctions math
ematiques
sin cos tan sinh cosh tanh ...
asin acos atan asinh acosh atanh ...
exp log log10 sqrt
fix(x)
: donne le plus petit entier inferieur ou egal au reel x
floor(x)
: donne la partie enti`ere de x
ceil(x)
: le plus proche entier plus grand ou egal `a x
round(x) :
mod(x)
: le reste de la division
sign
:
autres fonctions : f actor isprime primes gcd(pgcd) lcm(ppcm)
CHAPITRE 11
TRAVAUX SUR ORDINATEUR
EQUATION DE LA CHALEUR EN 1D
u0 = ug , uN s+1 = ud
1. Ecrire
ce syst`eme sous la forme AU = b, o`
u A est une matrice symetrique.
2. Definir sous Matlab :
(a) la fonction f(x,m) qui admet le reel x et lentier m comme arguments et est definie
par :
0.
si m = 0
2.
si m = 1
x2
si m = 2
f (x, m) =
;
2
4. sin(2. x) si m = 3
10. ex
si m = 4
...
function y = f(x,m)
% Terme source
switch m
case 0
y = zeros(size(x)) ;
case 1
y = ....
124
EQUATION DE LA CHALEUR EN 1D
case 2
y = .....
case 3
y = .....
case 4
y = .....
otherwise
error(Argument m ind
efini dans f);
end
end
(b) la fonction solex(x,ug ,ud ,m) qui est la solution exacte de lequation associee `
a la
fonction f(x,m) et aux valeurs ug et ug .
function y = solex(x, ug, ud, m)
% Solutions exactes
switch m
case 0
end
end
Dans un script :
(c) Creer le vecteur X des abscisses des sommets du maillage ;
(d) Creer la matrice A et le vecteur b, et resoudre AU = b (en utilisant la resolution de
matlab).
(e) Comparer la solution exacte et la solution calculee en fonction de N s et m. Tracer la
solution exacte et la solution approchee.
% Ce programme r
esoud l
equation de la chaleur en dimension 1
% Param`
etres dentr
ee
% m
: cas d
etude pour le terme de for
cage f(x)
% Ns
: nombre de points de maillage (nombre de sommets)
% ug et ud : Conditions aux limites en x=0 et x=1
clear all
clf
disp(========================)
disp(==== Equation de la diffusion =======)
disp(========================)
disp( Le second membre, choix de la fonction f )
disp( pour m=0 ; f=0 et u = )
disp( pour m=1 ; f=-2x)
disp( pour m=2 ; f=x^2)
disp( pour m=3 ; f=4*pi)
125
Remplir la
matrice A
% Second membre b
% R
esolution du syst`
eme lin
eaire
tic;
U
= A \ b;
time_matlab = toc;
% Calcul de la solution exacte aux points du maillage
Uex = solex(X, ug, ud, m);
% Erreur relative par inversion directe
err = abs((Uex-U));
ErreurMax= max(err)/max(abs(Uex))
Erreur2= norm(err)/norm(Uex)
% Graphismes
% M
ethode de Jacobi
% M
ethode de Gauss-Seidel
% M
ethode LU
% Comparaison
(f) Resoudre le syst`eme AU = b par la methode de Jacobi en tirant profit du fait que
A est matrice tridiagonale. Comparer en temps CPU la resolution de matlab et la
resolution proposee.
function [x, k, erreur, converge] = jacobi_tri(A,b,itermax, tolerence)
%-------------------------------------------------------------------------% r
esoud le syst`
eme lin
eaire Ax=b par la m
ethode de Jacobi pour une matrice
% tridiagonale
% Les seuls coefficients non nuls de A sont A(i,i-1), A(i,i) et A(i,i+1)
126
EQUATION DE LA CHALEUR EN 1D
% A= D-E-F
% D Xk1 = (E+F)Xk +b
% itermax = nombre diterations maximales
% tolerence = lerreur entre deux it
er
es successives pour la convergence
%
% k = nombre dit
eration que lalgorithme effectue si lalgoritme converge
% si la methode ne converge pas alors k = itermax
% erreur : lerreur entre xk1 et xk ;
% si la methode converge erreur <= tolerence
%
% converge = 1 si la methode converge sinon = 0
% -----------------------------------------------------------------------[n,n] = size(A);
xk1 = zeros(n,1);
xk = zeros(n,1);
x= zeros(n,1) ;
converge = 0 ;
for k=1:itermax
% resolution dune iteration de Jacobi
xk1(1) = (b(1)- A(1,2)*xk(2) ) /A(1,1) ;
for i=2: n-1
xk1(i) =
A COMPLETER
;
end
xk1(n) = A COMPLETER
;
%
erreur = norm (xk1-xk);
if (erreur <= tolerence)
x=xk1;
converge =1
break %%% on sort de la boucle
else
xk=xk1;
end
end
end
127
(h) Stocker A sous forme dune matrice tridiagonale, faire la decomposition LU et resoudre
le syst`eme lineaire. Comparer en temps CPU la resolution de matlab et la resolution
proposee.
11.2. Flambage dune barre (facultatif )
Soit une barre verticale, representee par un segment [0,1], fixee aux extremites en 0 et 1, soumise
a` une force P . Quand P est faible, la barre nest pas deformee. Lorsquon augmente P , on atteint
une valeur critique `
a partir de laquelle la barre se deforme. Le probl`eme est de determiner cette
force critique.
La deformation horizontale u(x) de la barre pour x [0, 1] est solution du probl`eme suivant :
(c(x)u (x)) = P u(x),
x (0, 1)
(11.9)
u(0) = 0, u(1) = 0
o`
u c(x) est une fonction positive qui depend des caracteristiques de la barre (section, elasticite).
Le probl`eme (11.9) est un probl`eme de valeur propre. On cherche la plus petite valeur de P ,
cest `a dire la plus petite valeur propre de loperateur (c(x)u (x)) . Dans le cas simple o`
u la
fonction c est une constante, par exemple pour c = 1 les solutions sont les couples (u, P ) avec
P = (k)2 ,
u(x) = sin(kx), k 1.
Dans le cas o`
u la fonction c depend de x, on cherche une solution approchee par la methode des
differences finies en considerant lapproximation suivante (memes notations xi et ui que dans la
partie 2) :
ui1 ui
ui+1 ui
1 c
ci+ 1
= P ui , pour i = 1, . . . , N s
i 21
2
.
(11.10)
h
h
h
u0 = 0, uN s+1 = 0
i+1
).
avec ci+ 1 = c( xi +x
2
2
c 3
c1 + c3
2
2
2
c3 + c5
c 5
1
c 23
2
2
2
A= 2
.
h
...
cN s 1 cN s+ 1 + cN s 1
2
BIBLIOGRAPHIE