Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1...

48
Universit´ e Louis Pasteur L3S6 Physique Analyse Num´ erique 2007-2008

Transcript of Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1...

Page 1: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

Universite Louis Pasteur L3S6 Physique

Analyse Numerique

2007-2008

Page 2: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

2

Page 3: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

Table des matieres

1 Interpolation polynomiale 5

1.1 Quelques exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.1.1 Un jeu de donnees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.1.2 Un calcul d’integrale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2 Polynomes de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2.1 Une premiere construction . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2.2 Unicite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2.3 Differences divisees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2.4 Estimation d’erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.3 Interpolation d’Hermite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.3.1 Premiere construction . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.3.2 Unicite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.3.3 Differences divisees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.3.4 Polynomes d’Hermite generalises . . . . . . . . . . . . . . . . . . . . . 9

1.3.5 Estimation d’erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.4 Quelques exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2 Integration numerique 13

2.1 Generalites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.1.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.1.2 Formule de quadrature . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.1.3 Intervalle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.1.4 Formules composites . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.2 Formules de Newton-Cotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.3 Degre de precision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.4 Formules de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.5 Quelques exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3 Resolution numerique d’equations differentielles 21

3.1 Motivation : le probleme du pendule . . . . . . . . . . . . . . . . . . . . . . . 21

3.2 Schemas a un pas explicites . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.3 Consistance, stabilite et convergence . . . . . . . . . . . . . . . . . . . . . . . 23

3.4 Schemas implicites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.5 Stabilite absolue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.6 Methodes multi-pas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.7 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3

Page 4: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

4 TABLE DES MATIERES

4 Resolution d’equations non lineaires 314.1 Quelques methodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314.2 Methode du point fixe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.3 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

5 Resolution de systemes lineaires 375.1 Position du probleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375.2 Cas des matrices triangulaires . . . . . . . . . . . . . . . . . . . . . . . . . . . 375.3 Methode de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385.4 Strategie de pivot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435.5 Cout de la methode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435.6 Existence de la factorisation LU . . . . . . . . . . . . . . . . . . . . . . . . . 445.7 Cas particulier des matrices symetriques definies positives . . . . . . . . . . . 445.8 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Page 5: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

Chapitre 1

Interpolation polynomiale

On se fixe un entier n ∈ N∗, 2 reels a < b et une suite de reels a = x0 < x1 < · · · < xn = b.

On suppose que l’on connait une fonction f en les points xi.La question de l’interpolation est alors de trouver une valeur en un point x ∈ [a, b] pour lafonction f .

1.1 Quelques exemples

1.1.1 Un jeu de donnees

On releve les valeurs suivantes de la viscosite cinematique ν en fonction de la temperature.Les resultats sont donnes dans la Table 1.1. On souhaite maintenant avoir une estimation dela viscosite pour T = 23.• Interpolation lineaire : 1.005 + (3/5)(0.896 − 1.005) = 0.9396 ≃ 0.94• Interpolation cubique : 0.937 en effectuant avec Maple

interp([15,20,25,30],[1.141,1.005,0.896,0.804],x) :subs(x=23,%);

• Resultat de mesure : 0.941

1.1.2 Un calcul d’integrale

On souhaite calculer∫ 10 exp(−x2)dx.

• Interpolation lineaire : (1 + e−1)/2 ≃ 0.6839397206• Interpolation quadratique avec les points 0, 1/2, 1 : 0.7471804290

L :=[0,1/2,1] :P :=interp(L,map(t->exp(-t^2),L),x) :int(P,x=0..1);evalf(%);

• Interpolation quadratique avec les points1−√

3/5

2 , 1/2,1+√

3/5

2 : 0.7468145841

L :=[(1-sqrt(3/5))/2,1/2,(1+sqrt(3/5))/2] :P :=interp(L,map(t->exp(-t^2),L),x) :

int(P,x=0..1);evalf(%);

• Valeur ”exacte” : 0.7468241330 avec int(exp(-t^2),t=0..1);evalf(%);.

T 10 15 20 25 30 35 40

ν 1.308 1.141 1.005 0.896 0.804 0.727 0.661

Tab. 1.1 – Evolution de la viscosite en fonction de la temperature

5

Page 6: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

6 CHAPITRE 1. INTERPOLATION POLYNOMIALE

1.2 Polynomes de Lagrange

Soit n ∈ N∗, des reels distincts x0 < x1 · · · < xn et f0, . . . , fn. On cherche un polynome

Pn de degre inferieur ou egal a n tel que P (xi) = fi, i = 0, . . . , n.

1.2.1 Une premiere construction

•Le cas n = 0 : on prend tout simplement P0(x) = A0, avec

A0 = f0.

•Le cas n = 1 : on choisit P1(x) = P0(x) + A1(x − x0). A1 doit etre choisi pour quef1 = f0 + A1(x1 − x0). Ainsi, on a

A1 =f1 − f0

x1 − x0.

• Le cas n = 2 : on prend cette fois-ci P2(x) = P1(x) + A2(x − x0)(x − x1). A2 doit etrechoisi pour que f2 = P1(x2) + A2(x2 − x0)(x2 − x1). Ainsi, on a

A2 =f2 − P1(x2)

(x2 − x0)(x2 − x1).

•Le cas n = k : on prend Pk(x) = Pk−1(x) + Ak∏k−1

i=0 (x− xi), avec

Ak =fk − Pk−1(xk)∏k−1

i=0 (xk − xi).

Ainsi, nous avons defini Pn pour tout n.

Exercice 1. Construire un polynome P de degre ≤ 3 tel que P (0) = 1, P (1) = 2, P (2) = 4et P (3) = 5.

1.2.2 Unicite

Supposons qu’il existe 2 polynomes Pn et Qn de degre ≤ n satisfaisant Pn(xi) = fi, Qn(xi) =fi, i = 0, . . . , n. Alors, on a Rn := Pn−Qn de degre ≤ n s’annulant en au moins n + 1 pointsdistincts. Cela veut dire que Rn est le polynome nul et donc Pn = Qn.

Exercice 2. Soit P (x) = x2+1. Existe-t-il un polynome Q de degre 3 tel que Q(0) = 1, Q(1) =2, Q(2) = 5 et Q(3) = 10 ?

1.2.3 Differences divisees

On definit les differences divisees par les nombres Ak precedemment introduits :

f [x0, x1, . . . , xk] := Ak.

On a ainsi

f [x0] = f0, f [x0, x1] =f [x1]− f [x0]

x1 − x0.

Page 7: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

1.2. POLYNOMES DE LAGRANGE 7

Une propriete remarquable est que l’on a

f [x0, x1, . . . , xk] =f [x1, . . . , xk]− f [x0, . . . , xk−1]

xk − x0, (1.1)

ce qui permet de calculer ”rapidement” ces nombres. Ainsi, le programme Maple suivantcalcule les differences divisees puis le polynome d’interpolation.

N:=5:g:=f:W:=1:P:=g[1]:for k to N do

g:=[seq((g[i+1]-g[i])/(x[k+i]-x[i]),i=1..N+1-k)];W:=W*(t-x[k]);P:=P+g[1]*W;end:

simplify([seq(subs(t=x[i],P),i=1..N+1)]);degree(P,t);

Dans la pratique, on peut ecrire les quantites suivantes en gras, puis calculer les autres quan-tites ensuite :

x = x0,x1,x2, . . . ,xk, . . . ,xn

f = f [x0], f [x1], f [x2], . . . , f [xk], . . . , f [xn]

f [1] = f [x0, x1], f [x1, x2], . . . , f [xk−1, xk], . . . , f [xn−1, xn]. . .

f [k] = f [x0, x1, . . . , xk], f [x1, . . . , xk+1] . . .. . .

f [n] = f [x0, x1, . . . , xn].

La formule d’interpolation est alors donnee par

f [x0] + f [x0, x1](x− x0) + · · ·+ f [x0, x1, . . . , xk]

k−1∏

i=0

(x− xi) + f [x0, x1, . . . , xn]

n−1∏

i=0

(x− xi).

• Preuve de la relation (5.1).On a Pk(x) = Pk−2(x)+(f [x1, x2, . . . , xk−1, x0]+f [x0, x1, . . . , xk−1, xk](x−x0))

∏k−1i=1 (x−xi),

Pk(x) = Pk−2(x) + (f [x1, . . . , xk−1, xk] + f [x0, x1, . . . , xk−1, xk](x−xk))∏k−1

i=1 (x−xi) et doncon obtient le resultat, comme f [x1, x2, . . . , xk−1, x0] = f [x0, x1, x2, . . . , xk−1].

Exercice 3. Compter le nombre d’operations pour calculer les Ak, suivant que l’on utilise ladefinition ou la formule (5.1).

Exercice 4. Trouver un polynome P de degre ≤ 4 tel que P (0) = 2, P (1) = 3, P (−1) =1, P (3) = 4 et P (4) = 3.

1.2.4 Estimation d’erreur

Soit f une fonction (n + 1) fois continument derivable. Si fi = f(xi), i = 0, . . . , n, alors ilexiste ξ ∈ R tel que

f(x)− Pn(x) =(x− x0)(x− x1) . . . (x− xn)

(n + 1)!fn+1(ξ). (1.2)

• Preuve de la relation (5.2).On peut supposer que x 6= xi, i = 0, . . . , n. On choisit alors Ax tel que

f(x) = Pn(x) + Ax(x− x0)(x− x1) . . . (x− xn)

(n + 1)!

Page 8: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

8 CHAPITRE 1. INTERPOLATION POLYNOMIALE

La fonction Q(t) = f(t) − Pn(t) − Ax(t−x0)(t−x1)...(t−xn)

(n+1)! s’annule en n + 2 points distincts.

En appliquant le theoreme de Rolle (n + 1) fois, on en deduit qu’il existe ξ ∈ R tel queQn+1(ξ) = 0 et ceci donne le resultat.

Theoreme 1 (Theoreme de Rolle). Soit f une application continue de [a, b] dans R etderivable sur ]a, b[, avec f(a) = f(b). Alors il existe au moins un reel c ∈]a, b[ tel que f ′(c) = 0.

1.3 Interpolation d’Hermite

Soit n ∈ N∗, des reels distincts x0 < x1 · · · < xn et f0, . . . , fn et f ′

0, . . . , f′n. On cherche un

polynome Q2n+1 de degre inferieur ou egal a 2n + 1 tel que Q2n+1(xi) = fi, i = 0, . . . , n etQ′

2n+1(xi) = f ′i , i = 0, . . . , n.

1.3.1 Premiere construction

On procede de meme que dans le cas de l’interpolation de Lagrange. On va definir Qn

pour n pair et impair. Dans le cas pair, Q2n devra verifier Q2n de degre inferieur ou egal a2n tel que Q2n(xi) = fi, i = 0, . . . , n et Q′

2n(xi) = f ′i , i = 0, . . . , n − 1.

•Le cas n = 0 : on prend tout simplement Q0(x) = B0, avec

B0 = f0.

•Le cas n = 1 : on choisit Q1(x) = Q0(x) + B1(x− x0). B1 doit etre choisi pour que

B1 = f ′0

• Le cas n = 2 : on prend cette fois-ci Q2(x) = Q1(x) + B2(x − x0)2. B2 doit etre choisi

pour que f1 = Q1(x1) + B2(x1 − x0)2. Ainsi, on a

B2 =f1 −Q1(x1)

(x1 − x0)2.

• Le cas n = 3 : on prend Q3(x) = Q2(x) + B3(x − x0)2(x − x1). B3 doit etre choisi pour

que f ′1 = Q′

2(x1) + B3(x1 − x0)2. Ainsi, on a

B3 =f ′1 −Q′

2(x1)

(x1 − x0)2.

•Le cas n = 2k : on prend Q2k(x) = Q2k−1(x) + B2k∏k−1

i=0 (x− xi)2, avec

B2k =fk −Q2k−1(xk)∏k−1

i=0 (xk − xi)2.

•Le cas n = 2k + 1 : on prend Q2k+1(x) = Q2k(x) + B2k+1(x− xk)∏k−1

i=0 (x− xi)2, avec

B2k+1 =f ′

k −Q′2k(xk)∏k−1

i=0 (xk − xi)2.

Exercice 5. Construire un polynome P de degre ≤ 3 tel que P (0) = 1, P ′(0) = 2, P (1) =0, P ′(1) = 1.

Page 9: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

1.3. INTERPOLATION D’HERMITE 9

1.3.2 Unicite

On se ramene a trouver un polynome R de degre ≤ 2n + 1 tel que R(xi) = 0, i = 0, . . . , net R′(xi) = 0, i = 0, . . . , n. Ainsi R possede au moins n + 1 racines doubles et donc commeil est de degre ≤ 2n + 1, il s’agit du polynome nul.

1.3.3 Differences divisees

On peut aussi introduire les differences divisees pour les polynomes d’Hermite. On note

f [x0, x0, x1, x1, . . . , xk, xk] := B2k+1, f [x0, x0, x1, x1, . . . , xk−1, xk−1, xk] := B2k.

La notation reste compatible avec la precedente definition et on a

f [x0] = f0, f [x0, x0] = f ′0

En s’inspirant de la propriete (5.2), on aimerait donc avoir

f [x0, x0, x1] =f [x0, x1]− f [x0, x0]

x1 − x0, f [x0, x0, x1, x1] =

f [x0, x1, x1]− f [x0, x0, x1]

x1 − x0,

puis

f [x0, x0, x1, x1, x2] =f [x0, x0, x1, x1]− f [x0, x1, x1, x2]

x2 − x0,

et ainsi de suite. Neanmoins, les quantites f [x0, x0, x1, x1, x2] et f [x0, x1, x1] n’ont pas etedefinies. On va donc se placer dans un cadre plus general.

1.3.4 Polynomes d’Hermite generalises

On considere une suite de p + 1 entiers d0, . . . , dp. On note s0 = d0, si = si−1 + di, i =1, . . . , p et n = sp. On definit alors une suite de n + 1 reels

x0 = y0 = y1 = . . . ys0 < x1 = ys0+1 = . . . ys1 < · · · < xp−1 = ysp−1 < xp = ysp−1+1 = · · · = ysp.

On se donne enfin des nombres

f(0)0 , f

(1)0 , . . . , f

(d0−1)0 , f1, . . . , f

(d1−1)1 , . . . , f (0)

p , . . . , f(dp−1)p ,

et on considere le probleme d’interpolation : trouver un polynome Pn de degre ≤ n satisfaisant

P (k)n (xi) = f

(k)i , i = 0, . . . , p, k = 0, . . . di.

On cherche alors Pn sous la forme

Pn = Pn−1 + f [y0, . . . , yn]

n−1∏

i=0

(x− yi),

et les differences divisees peuvent etre calculees ainsi :

f [y0, . . . , yk] =

{f [y1,...,yk]−f [y0,...,yk−1]

yk−y0, si yk 6= y0

f(k)0 si yk = yk−1 = · · · = y0.

(1.3)

Page 10: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

10 CHAPITRE 1. INTERPOLATION POLYNOMIALE

• Preuve de la construction de Pn.P0 = f0

0 . Supposons Pk−1 construit.

Si yk = xℓ 6= yk−1, on obtient f [y0, y1, . . . , yk] =f(0)ℓ −Pk−1(yk)

Qk−1j=0 (yk−yj)

.

Si yk = xℓ = yk−1 6= yk−2, on obtient f [y0, y1, . . . , yk] =f(1)ℓ −P

(1)k−1(yk)

Qk−2j=0 (yk−yj)

.

De maniere generale, yk = xℓ = yk−1 = yk−s 6= yk−s−1, on obtient

f [y0, y1, . . . , yk] =f

(s)ℓ − P

(s)k−1(yk)∏k−s−1

j=0 (yk − yj),

ce qui donne la construction de Pk.• Preuve de la relation (1.3).On s’assure d’abord de l’unicite de Pn, comme precedemment, et on verifie aussi que laconstruction precedente s’adapte lorsque les yi ne sont pas forcement ordonnes.Si y0 = yk, on a le resultat dans la construction de Pn.Sinon, on ecrit a nouveauPk(x) = Pk−2(x) + (f [y1, y2, . . . , yk−1, y0] + f [y0, y1, . . . , yk−1, yk](x− y0))

∏k−1i=1 (x− yi),

Pk(x) = Pk−2(x) + (f [y1, . . . , yk−1, yk] + f [y0, y1, . . . , yk−1, yk](x− yk))∏k−1

i=1 (x− yi).

1.3.5 Estimation d’erreur

Soit f une fonction (n+1) fois continument derivable. Si f(k)i = f (k)(xi), i = 0, . . . , p, k =

0, . . . di, alors il existe ξ ∈ R tel que

f(x)− Pn(x) =(x− y0)(x− y1) . . . (x− yn)

(n + 1)!fn+1(ξ). (1.4)

• Preuve de la relation (1.4).On peut supposer que x 6= yi, i = 0, . . . , n. On choisit alors Ax tel que

f(x) = Pn(x) + Ax(x− y0)(x− y1) . . . (x− yn)

(n + 1)!

La fonction Q(t) = f(t)− Pn(t)−Ax(t−y0)(t−y1)...(t−yn)

(n+1)! s’annule en n + 2 points, multiplicite

comprise. En appliquant le theoreme de Rolle (n + 1) fois, on en deduit qu’il existe ξ ∈ R telque Qn+1(ξ) = 0 et ceci donne le resultat.

1.4 Quelques exercices

Exercice 6. Soit la fonction definie par f(x) =√

1 + x.1. Determiner le polynome d’interpolation de Lagrange P verifiant :

P (0) = f(0) , P

(1

2

)= f

(1

2

), P (1) = f(1).

Calculer P (0.1) et P (0.9). Comparer aux valeurs exactes.Evaluer f(x)− P (x) pour ces deux valeurs en vous servant d’un theoreme du cours.2. Determiner Q polynome d’interpolation d’Hermite verifiant :

Q(0) = f(0) , Q

(1

2

)= f

(1

2

), Q(1) = f(1).

Page 11: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

1.4. QUELQUES EXERCICES 11

Q′(0) = f ′(0) , Q′

(1

2

)= f ′

(1

2

), Q′(1) = f ′(1).

Calculer Q(0.1) et Q(0.9).3. Combien de points aurait-il fallu prendre, en theorie, pour avoir une erreur inferieure a5.10−5 ? On admettra que :

∣∣∣∣∣

n∏

i=0

(x− xi)

∣∣∣∣∣ ≤ hn+1(n + 1)! ou xi = x0 + ih et x0 ≤ x ≤ xn.

Exercice 7. On appelle fonction polynomiale de Tchebycheff de degre n, l’application

Tn : [−1,+1]→ R

x 7−→ cos(narccos(x)).

1. Montrez en posant cos(θ) = x que pour tout entier n positif, Tn est un polynome de degren en x.2. Montrez que pour tout n ≥ 2, on a Tn+1(x) = 2xTn(x)− Tn−1(x).3. Calculez les 5 premiers polynomes de Tchebycheff.4. Determinez en fonction de n le coefficient du terme en xn de Tn.5. On pose Xk = cos(2k−1

2n π) pour k = 1, . . . , n. Montrez que Tn possede n zeros simples.Ces zeros sont appeles les points de Tchebycheff d’ordre n.6. On admettra le resultat suivant : pour x0, . . . , xn ∈ [−1, 1], on a

maxx∈[−1,+1]

|(x− x0) . . . (x− xn)| ≥ maxx∈[−1,+1]

|(x−X0) . . . (x−Xn)| .

Expliquez pourquoi les points de Tchebycheff sont de bons points d’interpolation.7. Quels points d’interpolation faut-il choisir si l’intervalle d’interpolation est le segment[a, b] ?

Exercice 8. 1. Trouver un polynome P de degre inferieur ou egal a 3 qui verifie : P (−1) = 14,P (0) = 7, P (1/2) = 11 et P (1) = 20. Que vaut P ′(0) et P ′(1) ?2. Trouver un polynome Q de degre inferieur ou egal a 3 qui verifie : Q(0) = 7, Q′(0) = 3,Q(1) = 20 et Q′(1) = 23.3. Soit ε > 0. Trouver un polynome Rε de degre inferieur ou egal a 1 qui verifie : Rε(0) = 1,Rε(ε) = exp(ǫ).4. Trouver un polynome S de degre inferieur ou egal a 1 qui verifie : S(0) = 1, S′(0) = 1.Quelle est la limite de Rε − S lorsque ε tend vers 0 ?5. Evaluer l’erreur S(−1/4) − exp(−1/4) (on prendra pour exp(−1/4) la valeur 0.7788).Montrer que pour ε > 0, on a |S(−1/4) − exp(−1/4)| < |Rε(−1/4) − exp(−1/4)|.6. Soit Pn(f) le polynome d’interpolation d’Hermite a n points x0 < · · · < xn−1 d’une fonctionf . On rappelle que pour une fonction f suffisamment reguliere, on a l’estimation suivante

|f(x)− Pn(f)(x)| ≤ maxy∈[a,b]

|f (2n)(y)|(2n)!

n−1∏

i=0

(x− xi)2, a = min(x, x0), b = max(x, xn−1).

Montrer que S = P1(f), avec f(x) = exp(x). Quelle est la valeur de x0 ? En deduire unemajoration (theorique) de |S(−1/4) − exp(−1/4)|.

Page 12: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

12 CHAPITRE 1. INTERPOLATION POLYNOMIALE

Exercice 9. 1. Trouver un polynome P de degre inferieur ou egal a 4 tel que P (0) = 0,P (1/4) = 1/2, P (1/2) = 1, P (3/4) = 1/2 et P (1) = 0.2. Trouver un polynome Qε de degre inferieur ou egal a 3 tel que Qε(0) = 0, Qε(ε) = 2ε,Qε(1) = 0 et Qε(1 + ε) = 0.3. Quelle est la limite de Qε lorsque ε tend vers 0 ? Definir un polynome d’Hermite qui estcette limite.

Exercice 10. Soit N un entier strictement positif. On considere des reels xi pour i = 0, . . . N ,avec 0 = x0 < x1 < · · · < xN = 1. Soit f une fonction periodique de periode 1. On cherche aapprocher f pour une fonction s que l’on definit de la maniere suivante :• s est un polynome de degre ≤ 3, sur chaque intervalle ]xi, xi+1[, i = 0, . . . , N − 1.• limx→xi,x<xi s(x) = limx→xi,x>xi s(x) = f(xi), i = 1, . . . , N − 1.• limx→xi,x<xi s′(x) = limx→xi,x>xi s′(x), i = 1, . . . , N − 1.• limx→xi,x<xi s′′(x) = limx→xi,x>xi s′′(x), i = 1, . . . , N − 1.• limx→xN ,x<xN

s(x) = limx→x0,x>x0 s(x) = f(x0).• limx→xN ,x<xN

s′(x) = limx→x0,x>x0 s′(x). limx→xN ,x<xNs′′(x) = limx→x0,x>x0 s′′(x).

On note fi = f(xi), i = 0, . . . , N − 1. Le but de cet exercice est de trouver s en fonction def0, . . . , fN−1.1.a Montrer que sur chaque intervalle ]xi, xi+1[, on a

s(x) = Li(x) + (x− xi)(x− xi+1)(Ci(x− xi) + Di(x− xi+1)),

ou Li est un polynome de degre inferieur ou egal a 1.1.b Montrer que Li(xi) = fi et Li(xi+1) = fi+1, pour i = 0, . . . , N−2 et LN−1(xN−1) = fN−1

et LN−1(xN ) = f0.1.c Determiner alors Li pour i = 0, . . . , N − 1.2.a Calculer limx→xi,x>xi s′(x) et limx→xi,x<xi s′(x) et en deduire que

fi+1 − fi

xi+1 − xi+ Di(xi − xi+1)

2 =fi − fi−1

xi − xi−1+ Ci−1(xi − xi−1)

2,

pour i = 1, . . . , N − 2 et des relations analogues que l’on precisera pour i = 0 et i = N − 1.2.b Montrer que l’on a

(Ci + 2Di)(xi − xi+1) = (2Ci−1 + Di−1)(xi − xi−1), i = 1, . . . , N − 2,

et une relation analogue pour i = 0 et i = N − 1.2.c Trouver alors une relation entre Di,Di−1 et Di+1 pour i = 1, . . . , N − 2, et aussi unerelation pour i = 0 et i = N − 1.2.d Determiner une matrice A et un second membre F tels que AD = F , avec D =(D0, . . . ,DN−1)

T .

Page 13: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

Chapitre 2

Integration numerique

Soient a < b, 2 reels et f : [a, b]→ R, une fonction. On cherche a trouver une approxima-

tion numerique de∫ ba f(x)dx.

2.1 Generalites

2.1.1 Principe

Le calcul de∫ ba f(x)dx ne peut parfois pas se faire de maniere exacte. En effet, d’une

part f n’admet pas forcement de primitive connue ; d’autre part, il est possible que f ne soitconnue qu’en certains points, comme cela peut arriver dans le cas de mesures physiques ou deschemas numeriques. L’idee est alors de remplacer f par un polynome qui l’approche ”bien”et de calculer l’integrale de ce polynome.

2.1.2 Formule de quadrature

En calculant l’integrale avec un polynome d’interpolation, et en simplifiant les calculs, onse rend compte que l’on a ecrit

∫ b

af(x)dx ≃

n∑

i=0

ωif(xi).

La formule de droite est appelee formule de quadrature, qui est donnee par les poids ωi et lespoints xi pour i = 0, . . . , n.

2.1.3 Intervalle

Connaissant une formule de quadrature sur l’intervalle [−1, 1], on en deduit une formulesur un intervalle [a, b] quelconque : si on fait le changement de variable y = a + (x + 1) b−a

2

∫ b

af(y)dy =

b− a

2

∫ 1

−1f(a + (x + 1)

b− a

2)dx ≃ b− a

2

n∑

i=0

ωif(a + (xi + 1)b− a

2).

Pour la suite, on ne cherchera donc que des formules de quadrature sur l’intervalle [−1, 1].

13

Page 14: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

14 CHAPITRE 2. INTEGRATION NUMERIQUE

Exercice 11. A partir de la formule∫ 1

0f(x)dx ≃ f(0) + 2f(1/2) + f(1)

4,

trouver la formule correspondante sur un intervalle [a, b].

2.1.4 Formules composites

Lorsque l’on souhaite calculer une integrale sur un intervalle donne [a, b], on n’utiliseen general pas la formule directement sur l’intervalle [a, b], mais on le decoupe en N sousintervalles (a priori de meme taille, mais ce n’est pas force) et on applique la formule surchacun des sous intervalles :

∫ b

af(x)dx =

N−1∑

i=0

∫ a+(i+1)(b−a)/N

a+i(b−a)/Nf(x)dx.

Exercice 12. On considere la formule∫ 1−1 f(x)dx ≃ 2f(−1). Trouver la formule composite

correspondante.

2.2 Formules de Newton-Cotes

La formule de Newton-Cotes a n + 1 points correspond a calculer l’integrale avec le po-lynome d’interpolation de Lagrange avec les points equidistants −1 + 2i/n, i = 0, . . . , n.•Le cas n = 0. On a ∫ 1

−1f(x)dx ≃

∫ 1

−1f(−1)dx = 2f(−1),

il s’agit de la formule gauche des rectangles, la formule droite des rectangles etant∫ 1

−1f(x)dx ≃ 2f(1).

•Le cas n = 1. On a∫ 1

−1f(x)dx ≃

∫ 1

−1f(−1) + (x + 1)

f(1)− f(−1)

2dx = 2f(−1) + f(1)− f(−1) = f(−1) + f(1),

il s’agit de la formule des trapezes.•Le cas n = 2. On calcule d’abord

x = −1,1,0f = f(−1), f(1), f(0)

f [1] = f(1)−f(−1)2 , f(1)− f(0)

f [2] = f(1)− f(0)− f(1)−f(−1)2 = f(−1)−2f(0)+f(1)

2 .

On a alors∫ 1

−1f(x)dx ≃ f(−1) + f(1) +

f(−1)− 2f(0) + f(1)

2

∫ 1

−1(x2 − 1)dx

= f(−1) + f(1)− 2f(−1)− 2f(0) + f(1)

3=

f(−1) + 4f(0) + f(1)

3,

Page 15: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

2.2. FORMULES DE NEWTON-COTES 15

et il s’agit de la formule de Simpson.•Le cas n = 3. On obtient

∫ 1

−1f(x)dx ≃ f(−1) + 4(9(f(−1/3)+f(1/3))−(f(−1)+f(1))

16 ) + f(1)

3

=f(−1) + 3f(−1/3) + 3f(1/3) + f(1)

4.

En effet, on aP3(x) = Q2(x) + f [−1,−1/3, 1/3, 1]x(x2 − 1),

avecQ2(x) = f [−1] + P3[−1, 0](x + 1) + P3[−1, 0, 1](x + 1)x,

de sorte que∫ 1

−1f(x)dx ≃

∫ 1

−1P3(x)dx =

∫ 1

−1Q2(x)dx =

f(−1) + 4P3(0) + f(1)

3.

D’autre part, on a P3(0) = α(f(−1/3) + f(1/3)) + β(f(−1) + f(1)), et en remplacant f par1, puis par x2 − 1/9, on obtient α + β = 1/2, α = 9/16, ce qui donne β = −1/16.Cette formule s’appelle formule de Simpson 3/8.

Exercice 13. Que donne cette formule sur une intervalle de la forme [a, a + 3h] ? Justifieralors le nom de la formule.

•Le cas n = 4. On obtient∫ 1

−1f(x)dx ≃ f(−1) + 4f(0) + f(1)

3+ f [−1, 0, 1,−1/2, 1/2]

∫ 1

−1x(x2 − 1)(x + 1/2)dx.

Or

f [−1, 0, 1,−1/2, 1/2] =f(−1)− 4f(−1/2) + 6f(0)− 4f(1/2) + f(1)

4!(1/2)4,

et

24

4!

∫ 1

−1x(x2 − 1)(x + 1/2)dx =

4

3

∫ 1

0(x4 − x2)dx =

4

3(1/5 − 1/3) =

4

45(3− 5) = −8/45.

Donc ∫ 1

−1f(x)dx ≃ 7f(−1) + 32f(−1/2) + 12f(0) + 32f(1/2) + 7f(1)

45,

et il s’agit de la formule de Boole.•Autres valeurs de n. Avec le programme Maple, on trouve les cas suivants :

for N to 9 do:L:=[seq(-1+2*i/N,i=0..N)]:int(interp(L,map(f,L),x),x=-1..1);print(%);od:

f (1) + f (−1)1/3 f (1) + 4/3 f (0) + 1/3 f (−1)

1/4 f (−1) + 3/4 f (1/3) + 3/4 f (−1/3) + 1/4 f (1)7

45f (1) + 32

45f (1/2) + 4

15f (0) + 7

45f (−1) + 32

45f (−1/2)

19

144f (−1) + 25

72f (1/5) + 25

48f (−3/5) + 19

144f (1) + 25

48f (3/5) + 25

72f (−1/5)

41

420f (−1) + 41

420f (1) + 68

105f (0) + 9

140f (−1/3) + 9

140f (1/3) + 18

35f (−2/3) + 18

35f (2/3)

751

8640f (−1) + 751

8640f (1) + 3577

8640f (−5/7) + 49

320f (−3/7) + 2989

8640f (−1/7) + 2989

8640f (1/7) + 49

320f (3/7) + 3577

8640f (5/7)

989

14175f (−1) + 989

14175f (1) −

908

2835f (0) −

928

14175f (−1/2) −

928

14175f (1/2) + 5888

14175f (−3/4) + 10496

14175f (−1/4) + 10496

14175f (1/4) + 5888

14175f (3/4)

2857

44800f (−1) + 2857

44800f (1) + 1209

2800f (−1/3) + 1209

2800f (1/3) + 2889

22400f (1/9) + 27

1120f (5/9) + 27

1120f (−5/9) + 2889

22400f (−1/9) + 15741

44800f

7

9

+ 15741

44800f

7

9

On se rend compte que pour n = 8 et n ≥ 10, il y a des poids negatifs, et la valeur absoluede ses poids devient de plus en plus grande, ce qui rend les formules inutilisables a cause deserreurs d’arrondi.

Page 16: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

16 CHAPITRE 2. INTEGRATION NUMERIQUE

Exercice 14. Les formules de Newton Cotes precedentes sont aussi appelees formule deNewton Cotes fermees, car les extremites des intervalles sont utilisees. Trouver 2 formulesde Newton Cotes ouvertes, i.e. prenant tous les points equidistants sauf les extremites et dontles poids sont positifs.

2.3 Degre de precision

Supposons que l’on ait ∫ 1

−1f(x)dx ≃

∫ 1

−1Pp(x)dx,

ou Pp est les polynome d’interpolation de f en p + 1 points distincts xi de l’intervalle [−1, 1].On peut alors estimer l’erreur :

∣∣f(x)− Pp(x)∣∣ ≤ max

y∈[−1,1]

∣∣f (p+1)(y)∣∣

(p + 1)!

p∏

i=0

∣∣x− xi

∣∣,

et donc ∣∣∣∫ 1

−1f(x)dx−

∫ 1

−1Pp(x)dx

∣∣∣ ≤ maxy∈[−1,1]

∣∣f (p+1)(y)∣∣

(p + 1)!

∫ 1

−1

p∏

i=0

∣∣x− xi

∣∣dx.

On decompose l’intervalle [-1,1] en N sous intervalles de meme longueur. Cette formule donnealors sur un intervalle [−1+kh,−1+(k+1)h] ou h = 2/N , et un polynome Pp,k d’interpolationde f en p + 1 points −1 + (k + si,k)h, si,k ∈ [−1, 1], i = 0, . . . , n

∣∣∣∫ −1+(k+1)h

−1+khf(x)− Pp,k(x)dx

∣∣∣ = h∣∣∣∫ 1

−1(f − Pp,k)(−1 + (k + s)h)ds

∣∣∣

≤ hp+2 maxy∈[−1,1]

∣∣f (p+1)(y)∣∣

(p + 1)!

∫ 1

−1

p∏

i=0

∣∣s− si,k

∣∣ds ≤ Cp maxy∈[−1,1]

∣∣f (p+1)(y)∣∣hp+2.

de sorte que l’on peut majorer l’erreur pour une formule composite donnee par N intervalles :

∣∣∣∫ 1

−1f(x)dx−

N−1∑

k=0

∫ −1+2(k+1)/N

−1+2k/NPp,k(x)dx

∣∣∣ ≤ Cn maxy∈[−1,1]

∣∣f (p+1)(y)∣∣hp+1.

Exercice 15. Donner la formule composite dans le cas de la formule des trapezes, de Simpsonet de Boole. Compter le cout de ces methodes, defini par la somme du nombre d’evaluationsde la fonction et du nombre d’operations elementaires.

Vue l’estimation de l’erreur trouvee, on cherche a mettre une formule de quadrature sousla forme

∫ 1−1 Pp(x)dx, avec p le plus grand possible.

Prenons l’exemple de la formule du point milieu

∫ 1

−1f(x)dx ≃ 2f(0) =

∫ 1

−1f(0)dx =

∫ 1

−1f(0) + (f(1)− f(0))xdx.

On peut donc appliquer l’estimation precedente pour p = 1, alors qu’a priori, on n’auraitpense qu’ a l’appliquer avec p = 0.

Page 17: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

2.4. FORMULES DE GAUSS 17

On part donc maintenant d’une formule de quadrature a n + 1 points∑n

i=0 ωif(xi), en sup-posant que les ωi sont tous non nuls, et on cherche un polynome Pp interpolant f en p + 1points tel que

n∑

i=0

ωif(xi) =

∫ 1

−1Pp(x)dx.

Dans le cas ou f est un polynome de degre ≤ p, on a Pp = f , ce qui veut dire que la formuledoit etre exacte pour tous les polynomes de degre ≤ p.Si p < n, il est possible que Pp n’existe pas, mais on peut neanmoins borner l’erreur enconsiderant ∣∣∣

n∑

i=0

ωif(xi)−∫ 1

−1Pp(x)dx

∣∣∣ ≤n∑

i=0

|ωi||(f − Pp)(xi)|.

Si maintenant p = n, on peut prendre pour Pp, le polynome d’interpolation de f en les pointsxi et on a une formule de quadrature de type interpolation.Si p > n, on a alors pour P = Pn + xk

∏ni=0(x− xi), k = 0, . . . , p− n

∫ 1

−1P (x)dx =

∫ 1

−1Pn(x)dx,

et donc la formule de quadrature de type interpolation est exacte pour tous les polynomes dedegre ≤ p, ssi on a ∫ 1

−1xk

n∏

i=0

(x− xi)dx = 0, k = 0, . . . , p− n.

Definition 1. On dit qu’une formule de quadrature est d’ordre p, si la formule est exactepour tous les polynomes de degre ≤ p et n’est plus vraie pour un polynome de degre p + 1.

Exercice 16. Trouver l’ordre des formules de Newton Cotes.

2.4 Formules de Gauss

Etant donnee une formule de quadrature a n + 1 points, x0, . . . , xn, on cherche a avoirune formule de d’ordre le plus grand possible. Comme on a

∫ 1−1

∏ni=0(x − xi)

2dx 6= 0, on endeduit que la formule ne pourra pas etre d’ordre ≥ 2n + 1. D’ou la question, peut-on avoirune formule de quadrature d’ordre 2n + 1 ?•Le cas n = 0. On doit avoir

∫ 1−1(x− x0)dx = 0 et donc on en deduit que x0 = 0.

•Le cas n = 1. On doit avoir

∫ 1

−1(x− x0)(x− x1)dx = 0 et

∫ 1

−1x(x− x0)(x− x1)dx = 0.

De la deuxieme equation, on obtient x1 = −x0 et on a donc∫ 10 x2dx = x2

0, ce qui donne

x0 = −1/√

3 et x1 = 1/√

3.•Le cas n = 2. On doit avoir

∫ 1

−1xi(x− x0)(x− x1)(x− x2)dx = 0 i = 0, 1, 2.

Page 18: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

18 CHAPITRE 2. INTEGRATION NUMERIQUE

En posant X = x0x1x2 et Y = x0 + x1 + x2, on tire du cas i = 0 et i = 2 :

(1/3)Y + X = 0, (1/5)Y + (1/3)X = 0

et donc X = Y = 0, on prend alors x0 = −α, x1 = 0 et x2 = α, l’equation pour i = 2 donnealors 1/5− (1/3)α2 = 0 et donc α =

√3/5.

•Le cas n = k. On cherche un polynome Pk =∏k

i=0(x− xi) de degre k + 1 ayant toutes sesracines dans l’intervalle [−1, 1] et tel que

∫ 1

−1tiPk(t)dt = 0, i = 0, . . . , k.

Pour cela, on prend Pk(t) = (t−ak)Pk−1(t)− bkPk−2(t) et il suffit de trouver ak et bk tels que

∫ 1

−1Pk(t)Pk−1(t)dt = 0 et

∫ 1

−1Pk(t)Pk−2(t)dt = 0.

On obtient alors

ak =

∫ 1−1 tPk−1(t)

2dt∫ 1−1 Pk−1(t)2dt

et bk =

∫ 1−1 tPk−1(t)Pk−2(t)dt

∫ 1−1 Pk−2(t)2dt

.

Exercice 17. Verifier que la construction de Pk est unique si l’on suppose que le terme deplus haut degre est tk+1.

Il reste alors a voir que toutes les racines sont distinctes et bien dans l’intervalle [−1, 1]. Pourcela on considere les racines de multiplicite impaire a0, . . . , aj . On a alors Pk = Qk

∏ji=0(t−ai)

et Qk est de signe constant sur l’intervalle [−1, 1]. Supposons maintenant que j ≤ k, on aalors

∫ 1−1 Qk

∏ji=0(t−ai)

2dt = 0, ce qui est impossible. Donc on a bien k+1 racines distinctesde Pk dans l’intervalle [−1, 1].Notons aussi que les poids sont cette fois-ci positifs. En effet, en prenant ℓj(t) =

∏ki=0,i6=j

t−xixj−xi

,

on a 0 <∫ 1−1 ℓj(t)

2dt = ωj.

2.5 Quelques exercices

Exercice 18. Soit I =

∫ +∞

0e−x2

dx et In =

∫ nlm:

0e−x2

dx. On a alors In = In−1 +

∫ n

n−1e−x2

dx.

Une table de valeurs donne I2 = 0.88208139076242.1. Considerons la formule d’integration suivante :

∫ 1

0f(x) dx = αf(0) + βf

(1

3

)+ γf

(2

3

)+ δf(1).

Trouvez α, β, γ, δ, tels que cette formule soit exacte sur l’espace vectoriel des polynomes dedegre le plus eleve possible. Par un changement de variables, donnez la formule sur l’intervallequelconque [a, b] .

2. Calculez

∫ 3

2e−x2

dx et

∫ 4

3e−x2

dx par la formule precedente. En deduire I3 et I4.

Page 19: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

2.5. QUELQUES EXERCICES 19

3. On pose f

(1

n

)= In. On a alors lim

n→+∞In = f(0) = I. Interpolez f par le polynome P sur

les donnees (1

2, f

(1

2

)),

(1

3, f

(1

3

)),

(1

4, f

(1

4

))

et calculez P (0).

Exercice 19.1. Determinez A0, A1, A2 tels que la relation :

∫ 2π

0

f(x)√x

dx = (2h)1/2(A0f(0) + A1f(h) + A2f(2h)) + R(f)

soit exacte (i.e. R(f) = 0) sur l’espace vectoriel des polynomes de degre le plus eleve possible.On precisera ce degre.

2. Calculez exactement

∫ 1

0

ln(1 + x)√x

dx, en integrant d’abord par partie, puis par changement

de variable. Calculez approximativement cette integrale par la methode qui precede. Comparer

ce resultat a celui que l’on obtient par la methode de Simpson (on calculera limx→0

ln(1 + x)√x

).

3. Expliquez pourquoi le resultat obtenu par la methode de Simpson est mauvais (ThomasSimpson, anglais, 1710-1761).

Exercice 20. On veut evaluer I =

∫ 1

0

ln(x)

x2 − 1dx par une formule d’integration numerique

du type∑

Aif(xi) ou f(x) = ln(x)x2−1

.

1. Montrez que xi = 1 est une valeur possible mais pas xi = 0.2. Construire la formule de quadrature suivante, de type interpolation :

∫ 1

0f(x) dx = af

(1

2

)+ bf(1) + R(f).

Determinez R(f). Appliquez cette formule a I.3. On rappelle la formule de Gauss-Legendre a deux points :

∫ 1

−1f(x) dx = f

(1√3

)+ f

(− 1√

3

)+

1

135f (4)(ξ)

pour ξ ∈ [−1, 1] . En deduire l’approximation de

∫ 1

0f(x) dx et l’appliquer a I.

(Johann Carl Friedrich Gauss, allemand, 1777-1855 et Adrien-Marie Legendre, francais,1752-1833)

4. Comparez les resultats precedents a la valeur exacteπ2

8.

Exercice 21. On veut evaluer I =

∫ +1

−1e−x2

(1 + x2) dx.

1. Calculez une approximation de I par la methode des trapezes a 3 points.2. Construire une methode d’approximation du type :

∫ +1

−1f(x)(1 + x2) dx = A1f(x1) + A2f(x2) + R(f)

Page 20: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

20 CHAPITRE 2. INTEGRATION NUMERIQUE

ou x1, x2 et A1, A2 sont des nombres distincts non nuls. En supposant R(f) = Kf (4)(ξ),ξ ∈ [−1, 1] . Determinez K a l’aide de f(x) = x4.

Exercice 22. On considere la formule suivante :

∫ 1

−1f(x) dx =

3∑

k=1

akf(xk) +3∑

k=1

bkf′(xk) + R(f).

ou les xk sont donnes par : x1 = −1, x2 = 0, x3 = 1 et les ak et les bk sont a determinerpour que la formule soit exacte sur l’espace vectoriel des polynomes de degre le plus grandpossible. Quel est ce degre ?

1. Montrez que, si p est impair,

∫ 1

−1xp dx = 0. Appliquer ce resultat a p = 1, 3, 5. En deduire

que : a1 = a3, b2 = 0, b1 = −b3.2. Montrez alors que :

∫ 1

−1f(x) dx =

1

15[7f(−1) + 7f(1) + 16f(0) + f ′(−1)− f ′(1)] + R(f). (2.1)

3. Verifiez que la formule (2.1) n’est pas exacte pour f(x) = x6. En admettant que le restesoit de la forme : R(f) = Kf (6)(θ) avec θ ∈ [−1, 1], determinez la constante K.4. Par changement de variable dans (2.1), montrez que :

∫ b

ag(t) dt =

h

15[7g(a) + 7g(b) + 16g

(a + b

2

)+ h(g′(a)− g′(b))] + E(g), (2.2)

avec h =b− a

2.

5. Determinez E(g) a partir de R(f).

6. Application Soit I =

∫ π

0sin(x) dx. Trouvez la valeur approchee de I par la formule (2.2)

et comparez-la a la valeur exacte. Evaluez l’erreur theorique E(g).7. Montrez que l’on a la formule composite suivante :

∫ b

ag(t) dt ≈ h

15{7g(a) + 7g(b) + 16[g(a + h) + g(a + 3h) + · · ·+ g(a + (2n− 1)h)]

+ 14[g(a + 2h) + g(a + 4h) + · · ·+ g(a + (2n − 2)h)]+ h[g′(a)− g′(b)]} ,

ou h =b− a

2n. Evaluez l’erreur.

Page 21: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

Chapitre 3

Resolution numerique d’equations

differentielles

3.1 Motivation : le probleme du pendule

Le mouvement d’un pendule de masse m, suspendu a un point O par un fil non pesant delongueur ℓ, en rotation d’angle θ(t) autour de O est gouverne par l’equation

θ”(t) = −g sin(θ(t))/ℓ.

L’angle θ(t) est mesure par rapport a une verticale passant par O. On s’interesse au mouve-ment entre l’instant 0 et l’instant T > 0.On se donne des conditions initiales :

θ(0) = π/3, θ′(0) = 0.

De maniere generale une equation differentielle s’ecrit

u′(t) = f(t, u(t)), u(0) = u0. (3.1)

Exercice 23. Mettre l’equation du pendule sous la forme (3.1)

3.2 Schemas a un pas explicites

On fait tout d’abord une discretisation de l’intervalle [0, T ] :

tn = n∆t, n = 0, . . . , N, ∆t = T/N.

On veut approcher la solution u(tn) par une valeur approchee un que l’on peut calculer parun algorithme.On souhaite en outre avoir une estimation de l’erreur commise de la forme

en = |u(tn)− un| ≤ C∆tα.

Le schema d’Euler expliciteOn ecrit

u(tn+1)− u(tn) =

∫ tn+1

tnf(s, u(s))ds.

21

Page 22: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

22 CHAPITRE 3. RESOLUTION NUMERIQUE D’EQUATIONS DIFFERENTIELLES

On utilise alors la formule des rectangles pour approcher l’integrale :

∫ tn+1

tnf(s, u(s))ds ≃ ∆tf(tn, u(tn)).

On obtient donc le schema

u0 = u(0), un+1 = un + ∆tf(tn, un), n = 0, . . . , N − 1.

Schema de Runge expliciteUne autre maniere de faire est d’utiliser la formule du point milieu. On a alors

∫ tn+1

tnf(s, u(s))ds ≃ ∆t(f(tn + ∆t/2, u(tn + ∆t/2)).

On remarque alors que l’on a besoin d’une approximation de u(tn + ∆t/2) que l’on peutobtenir justement avec le schema d’Euler explicite precedent :

u(tn + ∆t/2) ≃ u(tn) + ∆t/2f(tn, u(tn)).

Le schema s’ecrit alors

k1 = f(tn, un), k2 = f(tn + ∆t/2, un + (∆t/2)k1), un+1 = un + ∆tk2.

On peut ecrire

un+1 = un + ∆tφ(tn, un,∆t), φ(tn, un,∆t) = f(tn + ∆t/2, un + (∆t/2)f(tn, un)).

Schemas de Runge-Kutta a s etagesUne methode de Runge-Kutta a s etages est donnee par

k1 = f(tn, un), k2 = f(tn + c2∆t, un + ∆ta2,1k1), . . . , ks = f(tn + cs∆t, un + ∆t(as,1k1 + . . . as,s−1ks)),

un+1 = un + ∆t(b1k1 + . . . bsks).

On represente habituellement la methode par l’ecriture matricielle

0|c2|a2,1

cs|as,1, . . . , as,s−1

|b1, . . . , bs.

Exercice 24. Representer les schemas d’Euler et de Runge par leur ecriture matricielle.

Par la suite, on supposera toujours que ci =∑i−1

j=1 ai,j pour i = 2, . . . , s.Cela signifie que l’on a

ki = f(tn + ci∆t, u(tn + ci∆t)) + O(∆t2).

Page 23: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

3.3. CONSISTANCE, STABILITE ET CONVERGENCE 23

La methode la plus celebre est la methode de Runge-Kutta d’ordre 4 (RK4) donnee parl’ecriture matricielle

0|1/2|1/21/2|0 1/2

1|0 0 1

|1/6 1/3 1/3 1/6

Ecriture generaleDe maniere generale, on ecrit un schema a un pas sous la forme

u0 = u(t0), un+1 = un + ∆tφ(tn, un,∆t). (3.2)

φ est une fonction de R+ × Rd × R+ a valeurs dans Rd et est sensee etre une approximationde f(tn, u(tn)).L’algorithme sera alors satisfaisant lorsque l’erreur en = |un − u(tn)| converge vers 0 pourn = 0, . . . , N lorsque le pas de temps ∆t tend vers 0. Pour cela, nous allons introduireplusieurs notions : la consistance et la stabilite qui conduiront ensuite a la convergence del’approximation vers la solution exacte.

Exercice 25. Reecrire les schemas precedents sous la forme (3.2).

3.3 Consistance, stabilite et convergence

On definit l’erreur

en(∆t) = u(tn)− un, n = 0, . . . , N, ∆t = T/N.

Definition 2. On dit que le schema est convergent sur l’intervalle [0, T ], si l’on a

limN→∞

maxn=0,...,N

‖en(∆t)‖ = 0.

Pour p ∈ N, on dit que que le schema est convergent d’ordre p s’il existe une constante C nedependant que de f, T et u0 tel que

maxn=0,...,N

‖en(∆t)‖ ≤ C∆tp.

Erreur de consistanceOn definit l’erreur de consistance du schema au temps t par

R(t, u,∆t) =u(t + ∆t)− u(t)

∆t− φ(t, u(t),∆t).

Definition 3. On dit que le schema est consistant, si l’on a

lim∆t→0

‖R(t, u,∆t)‖ = 0,

pour tout t ≥ 0 et toute solution u. Pour p ∈ N, on dit que que le schema est consistantd’ordre p s’il existe une constante C ne dependant que de f, T et u0 tel que

‖R(t, u,∆t)‖ ≤ C∆tp,

pour tout t ≥ 0 et toute solution u.

Page 24: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

24 CHAPITRE 3. RESOLUTION NUMERIQUE D’EQUATIONS DIFFERENTIELLES

On a alors

Proposition 1. (Caracterisation de la consistance) Si la fonction φ ∈ C(R+ × Rd ×

R+, Rd) et si

φ(t, u, 0) = f(t, u), t ∈ [0, T ], u ∈ Rd,

alors le schema est consistant.

Demonstration. Soit u ∈ C1([0, T ], Rd) la solution exacte de (3.1). On a alors

R(t, u(t),∆t) =1

∆t

∫ t+∆t

t(φ(s, u(s), 0) − φ(t, u(t),∆t))ds,

qui tend vers 0 lorsque ∆t tend vers 0.

Exercice 26. Etudier la consistance des schemas d’Euler explicite, de Heun et de Runge.

On a le theoreme suivant

Theoreme 2. (Stabilite+consistance ⇔ Convergence)(consistance) Supposons que le schema est consistant d’ordre p : il existe une constanteC > 0 dependant de f, T et u0 telle que

R(t, u,∆t) ≤ C∆tp, t ≥ 0.

(stabilite) Supposons aussi que φ est continu et Lipschitzienne par rapport a la variableu ∈ R

d.

‖φ(t, u,∆t) − φ(t, v,∆t)‖ ≤ Γ‖u− v‖, pour tout t ≥ 0, ∆t ≥ 0.

Alors la solution est convergente et on a l’estimation

‖en(∆t)‖ ≤ C

Γ(exp(Γtn)− 1)∆tp + ‖e0(∆t)‖ exp(Γtn), n = 0, . . . , N.

Demonstration. On a

en+1(∆t) = en(∆t) + ∆t(φ(tn, u(tn),∆t)− φ(tn, un,∆t) + R(tn, u(tn),∆t)),

et donc

‖en+1(∆t)‖ ≤ ‖en(∆t)‖(1 + Γ∆t) + C∆tp+1.

On a alors

en+1 +C∆tp

Γ≤ (1 + Γ∆t)(en +

C∆tp

Γ)

Exercice 27. Etudier la convergence des schemas d’Euler explicite, de Runge explicite et leschema RK4.

Page 25: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

3.4. SCHEMAS IMPLICITES 25

3.4 Schemas implicites

Le schema d’Euler impliciteOn ecrit a nouveau

u(tn+1)− u(tn) =

∫ tn+1

tnf(s, u(s))ds.

On utilise cette fois-ci la formule des rectangles a droite pour approcher l’integrale :∫ tn+1

tnf(s, u(s))ds ≃ ∆tf(tn+1, u(tn+1)).

On obtient donc le schema

u0 = u(0), un+1 = un + ∆tf(tn+1, un+1), n = 0, . . . , N − 1.

Theoreme 3. Si f : R+ × R

d → Rd est une fonction continue et Lipschitzienne en x ∈ R

d,i. e., il existe L > 0 tel que pour tout (x, y) ∈ R

d

‖f(t, y)− f(t, x)‖ ≤ L‖x− y‖,alors il existe une unique solution un+1 satisfaisant

un+1 = un + ∆tf(tn+1, un+1),

des lors que le pas de temps verifie ∆t < 1/L.

Lemme 1. (Admis) Soit g : Rd → R

d une fonction satisfaisant

‖g(x) − g(y)‖ ≤ L‖x− y‖, x, y ∈ Rd,

avec un nombre 0 < L < 1, alors g admet un unique point fixe, i. e., il existe un unique ℓ ∈ R

tel que g(ℓ) = ℓ.

Le schema de Crank-NicolsonOn utilise cette fois-ci la methode des rectangles

un+1 = un +∆t

2(f(tn, un) + f(tn+1, un+1)).

Methodes de Runge Kutta implicitesOn reprend la notation matricielle, mais cette fois-ci, on admet d’avoir plus de coefficients

c1|a1,1, . . . , a1,s

c2|a2,1, . . . , a2,s

cs|as,1, . . . , as,s

|b1, . . . , bs.

Methodes de Runge Kutta semi-implicitesUn compromis est de n’avoir que s equations non lineaires independantes a resoudre enconsiderant

c1|a1,1

c2|a2,1, a2,2

cs|as,1, . . . , as,s

|b1, . . . , bs.

Page 26: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

26 CHAPITRE 3. RESOLUTION NUMERIQUE D’EQUATIONS DIFFERENTIELLES

3.5 Stabilite absolue

On peut se demander quel est l’interet d’utiliser des methodes implicites, sachant que leurresolution est plus difficile. On considere ici le probleme test

y′(t) = λy(t), y(0) = 1, (3.3)

dont la solution explicite est donnee par y(t) = exp(λt).

Definition 4. Une methode approchant le probleme (3.3) est absolument stable si

‖un‖ → 0, lorsque tn → 0. (3.4)

La region de stabilite est alors definie par

A = {z = hλ : (3.4) est verifie}Enfin une methode est dite A-stable si pour tout λ tel que ℜ(λ) < 0 on a (3.4).

Exercice 28. Etudier la stabilite absolue et la zone de stabilite des methodes d’Euler implicite,de Crank Nicholson, d’Euler explicite et de Runge.

3.6 Methodes multi-pas

Definition 5. Une methode a k-pas est une methode qui s’ecrit ous la forme

αkuj+k + αk−1u

j+k−1 + . . . α0uj = h(βkfj+k + · · · + β0fj), αk 6= 0,

ou l’on a pose fj = f(tj, uj). Si βk = 0, la methode est explcite et implcite sinon.

Pour definir les methodes a pas multiples, on utilise des formules d’integration numerique, dedifferentiation ou d’interpolation (cf Exercices).Schema saute-mouton (leap-frog)

un+1 = un−1 + 2∆tf(tn, un).

Methode de Simpson

un+1 = un−1 +∆t

3(f(tn−1, un−1) + 4f(tn, un) + f(tn+1, un+1)).

Schema d’ordre 2 d’Adams-Balsforth

un+1 = un−1 +∆t

3(3f(tn, un)− f(tn−1, un−1)).

Schemas predicteurs-correcteursSupposons u0 et u1 donnes. On peut alors predire par une formule explicite une premiereapproximation un

0 , n = 1, . . . , N − 1

un+10 = un +

∆t

2(3f(tn, un)− f(tn−1, un−1)).

On fait ensuite une deuxieme etape de correction

un+1k+1 = un +

∆t

2(f(tn, un) + f(tn−1, un+1

k )),

avec k = 0, . . . ,K, le nombre d’iterations K est choisi suffisament grand pour que la suiteun+1

k ne varie plus beaucoup par rapport a k.

Page 27: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

3.7. EXERCICES 27

3.7 Exercices

Exercice 29. Soit la formule de quadrature suivante :

∫ 1

−1g(t) dt = a1g(−2) + a2g(−1) + a3g(0) + R(g).

1. Determiner les coefficients ai pour i variant de 1 a 3, de sorte que R(g) = 0, quel quesoit g appartenant a l’espace vectoriel des polynomes de degre inferieur ou egal a n, oun est le plus grand possible. Que vaut n ?

2. En supposant que R(g) = Kgn+1(ξ), determiner K.

3. Deduire des questions precedentes, la formule et l’erreur de quadrature pour

∫ xn+3

xn+1

f(x) dx,

en posant xn = a + nh.

4. Pour resoudre l’equation differentielle suivante

{y′(x) = f(x, y(x)) x ∈ [a, b]y(a) = y0

ou f possede les proprietes necessaires pour assurer l’existence et l’unicite de la solutiony, on considere le schema suivant :

yn+3 − yn+1 =h

3(7fn+2 − 2fn+1 + fn),

ou h est le pas, xn = a + nh, yn est la valeur approchee de y(xn) et fn = f(xn, yn).

(i) Comment a-t-on obtenu ce schema ?(ii) A combien de pas est ce schema ? Est-il implicite ou explicite ? Quelles valeurs de

demarrage faut-il ? Comment les obtenir ?(iii) On demontre qu’un schema multi-pas

αkyn+k + αk−1yn+k−1 + · · ·+ α0yn = h[βkfn+k + · · · + β0fn]

est stable si le polynome α(λ) = α0 + α1λ + · · · + αkλk verifie les deux conditions

suivantes :(a) Toutes les racines sont de module inferieur ou egal a 1.(b) Les eventuelles racines de module egal a 1 sont simples.Etudier la stabilite de ce schema.

(iv) On dit qu’un schema multi-pas

αkyn+k + αk−1yn+k−1 + · · ·+ α0yn = h[βkfn+k + · · · + β0fn]

est d’ordre p s’il existe une constante C telle que :

∣∣∣∣1

h(αky(xn+k) + · · ·+ α0y(xn))− (βkf(xn+k, y(xn+k)) + · · ·+ β0f(xn, y(xn)) )

∣∣∣∣ ≤ C hp

Etudier l’ordre de ce schema.

Page 28: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

28 CHAPITRE 3. RESOLUTION NUMERIQUE D’EQUATIONS DIFFERENTIELLES

Exercice 30. Pour resoudre l’equation differentielle suivante

{y′(x) = f(x, y(x)) x ∈ [a; b]y(a) = y0

ou f possede les proprietes necessaires pour assurer l’existence et l’unicite de la solution y,on considere le schema suivant :

yn+3 − yn =3h

2(fn+2 + fn+1) ,

ou h est le pas, xn = a + nh, yn est la valeur approchee de y(xn) et fn = f(xn, yn).A combien de pas est ce schema ? Est-il implicite ou explicite ? Quelles valeurs de demarragefaut-il ? Comment les obtenir ?On cherche a resoudre numeriquement l’equation differentielle suivante :

{y′(x) = f(x, y(x)) x ∈ [a; b]y(a) = ya

On divise l’intervalle [a; b] en N + 1 points xi = a + i ∗ h, i = 0..N avec h =b− a

Net on se

donne la formule d’integration numerique suivante :

∫ 1

0f(x) dx =

1

8f(0) +

3

8f

(1

3

)+

3

8f

(2

3

)+

1

8f(1) + R(f).

1. Par un changement de variable adequat, deduire la formule d’integration sur [xn, xn+3].

2. On propose pour resoudre l’equation differentielle, le schema suivant :

yn+3 − yn = 3h

(1

8fn +

3

8fn+1 +

3

8fn+2 +

1

8fn+3

)

ou yi est une approximation de y(xi) et fi = f(xi, yi).Comment a-t-on obtenu ce schema ? A combien de pas est ce schema ? Est-il impliciteou explicite ?

3. Quelle valeurs de demarrage faut-il ? Comment les obtenir ?

4. Etudier l’ordre de ce schema (on pourra utiliser la methode de la question 2.c de lapremiere partie en cherchant l’erreur de la formule d’integration sur [0, 3h]).Rappel : On dit qu’un schema multi-pas

αkyn+k + αk−1yn+k−1 + · · ·+ α0yn = h[βkfn+k + · · · + β0fn]

est d’ordre p s’il existe une constante C telle que :

∣∣∣∣1

h(αky(xn+k) + · · ·+ α0y(xn))− (βkf(xn+k, y(xn+k)) + · · ·+ β0f(xn, y(xn)) )

∣∣∣∣ ≤ C hp

Exercice 31. On cherche a resoudre numeriquement l’equation differentielle suivante :

{y′(x) = f(x, y(x)) x ∈ [a; b]y(a) = ya

(3.5)

Page 29: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

3.7. EXERCICES 29

On divise l’intervalle [a; b] en N +1 points xi = a+ih, i = 0..N avec h =b− a

N. On considere

le schema suivant :

yn+1 = yn−1 + h

(1

3fn−1 +

4

3fn +

1

3fn+1

)

ou yn = y(xn) et fn = f(xn, y(xn)).

1. Comment a-t-on obtenu ce schema ?

2. Que pouvez-vous dire sur ce schema (implicite ou explicite, combien de pas, eventuellementson ordre) ?

3. Determiner le polynome d’interpolation de Newton Q verifiant :

Q(xn−1) = y(xn−1) = yn−1 , Q(xn) = y(xn) = yn , Q(xn+1) = y(xn+1) = yn+1.

Deriver ce polynome Q et calculer Q′(xn+1). En deduire un schema numerique pourresoudre (3.5).

Exercice 32. Methodes de Taylor et de Runge-Kutta Soit t dans [0, T ] et une fonctiony : [0, T ]→ R continuement derivable solution de l’equation differentielle suivante :

{y′(t) = f(t, y(t))y(0) = Y0.

(3.6)

On cherche a approcher cette solution y en des points tj = 0 + j Tn .

(i) Ecrire le developpement de Taylor a l’ordre 2 de y(ti+1).(ii) A partir de l’equation differentielle, calculer y′′(t).(iii) En deduire une methode pour resoudre (3.6). Cette methode s’appelle methode de

Taylor d’ordre 2.(iv) La methode de Runge-Kutta d’ordre 2 s’obtient a partir de la precedente en

remplacant :

f(ti, yi) +h

2

[∂f

∂x(ti, yi) +

∂f

∂y(ti, yi).f(ti, yi)

](3.7)

parA.f(ti + α, yi + β).

Ecrire le developpement de Taylor a l’ordre 2 de A.f(ti +α, yi +β). Identifier avec (3.7)et en deduire la methode de Runge-Kutta d’ordre 2.

(v) Ecrire l’algorithme correspondant.(vi) La methode de Runge-Kutta d’ordre 4 s’obtient par le meme principe mais les

calculs sont beaucoup plus lourds :

yi+1 = yi + hφ(ti, yi, h)

φ(ti, yi, h) =1

6[k1(ti, yi, h) + k2(ti, yi, h) + k3(ti, yi, h) + k4(ti, yi, h)]

k1(ti, yi, h) = f(ti, yi)

k2(ti, yi, h) = f(ti +h

2, yi +

h

2k1(ti, yi, h))

k3(ti, yi, h) = f(ti +h

2, yi +

h

2k2(ti, yi, h))

k4(ti, yi, h) = f(ti + h, yi +h

2k3(ti, yi, h))

Ecrire l’algorithme correspondant a cette methode.

Page 30: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

30 CHAPITRE 3. RESOLUTION NUMERIQUE D’EQUATIONS DIFFERENTIELLES

Page 31: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

Chapitre 4

Resolution d’equations non lineaires

Soit f : R→ R une fonction continue. On herche les zeros de f , i. e. les points x ∈ R telsque f(x) = 0.

4.1 Quelques methodes

Theoreme 4 (Theoreme des valeurs intermediaires). Supposons que f [a, b]→ R est continueet f(a)f(b) < 0. Alors f admet au moins un zero sur l’intervalle ]a, b[.

La methode de dichotomieOn se place d’abord sur un intervalle [a, b] tel que f(a)f(b) < 0. On definit c = a+b

2 . Sif(c) = 0, on a trouve une racine et on s’arrete. Si f(a)f(c) < 0, on pose b = c ; sinon on aforcement f(c)f(b) < 0 et on pose a = c. On itere cette procedure n fois ; on est alors assured’avoir localise une racine de f dans un intervalle dont la longueur est divisee par 2n.

La methode de la cordeOn suppose que f(a)f(b) < 0. On definit c par f(a) + f(b)−f(a)

b−a (c − a) = 0. Si f(c) = 0, on

a trouve la racine et on arrete. Sinon, on definit x par f(c) + f(b)−f(a)b−a (x− c) = 0 et on pose

c = x. On recommence alors avec la nouvelle valeur de c.

Une autre methode de cordeOn suppose que f(a)f(b) < 0. On definit c par f(a) + f(b)−f(a)

b−a (c − a) = 0. Si f(c) = 0, on

a trouve la racine et on arrete. Si f(a)f(c) < 0, on definit x par f(a) + f(c)−f(a)c−a (x− a) = 0

et on pose c = x. Sinon, on a f(b)f(c) < 0, on definit x par f(b) + f(c)−f(b)c−b (x− b) = 0 et on

pose c = x. On recommence alors avec la nouvelle valeur de c.

La methode de la fausse position (Regula Falsi)

On suppose que f(a)f(b) < 0. On definit c par f(a) + f(b)−f(a)b−a (c− a) = 0. Si f(c) = 0, on a

trouve la racine et on arrete. Si f(a)f(c) < 0, on pose b = c. Sinon, on a f(b)f(c) < 0 et onpose a = c et on recommence avec les nouvelles valeurs de a et b.

La methode de la secanteOn suppose que a et b sont assez proches de la racine. On definit c par f(a)+ f(b)−f(a)

b−a (c−a) =0. Si f(c) = 0, on a trouve la racine et on arrete. Sinon, on pose d = b, puis b = c et a = d eton recommence avec les nouvelles valeurs de a et b.

La methode de NewtonOn suppose que a est assez proche de la racine et que f ′(a) 6= 0. On definit c par f(a) +

31

Page 32: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

32 CHAPITRE 4. RESOLUTION D’EQUATIONS NON LINEAIRES

f ′(a)(c − a) = 0. Si f(c) = 0, on a trouve la racine et on arrete. Sinon, on pose a = c et onrecommence avec la nouvelle valeur de a.Une combinaison de methodesOn suppose que f(a)f(b) < 0. On definit c par f(a) + f ′(a)(c − a) = 0 Si f(c) = 0, on atrouve la racine et on arrete. Si f(a)f(c) < 0, on pose b = c. Si, on a f(b)f(c) < 0 et on posea = c. Sinon, c se trouve en dehors de l’intervalle [a, b] et dans ce cas, on remplace c par a+b

2 .On recommence ensuite avec les nouvelles valeurs de a et b.

4.2 Methode du point fixe

Dans de nombreux cas, pour resoudre f(x) = 0, on se ramene a une suite

x0, xn+1 = g(xn), n = 0, 1, . . . ,

ou g est une fonction continue.Si xn converge vers une solution ℓ telle que f(ℓ) = 0, alors on a ℓ = g(ℓ), comme g est continue.

Theoreme 5. Soit g : [a, b]→ [a, b] strictement contractante, i.e. il existe 0 ≤ L < 1 tel que

|g(x)− g(y)| ≤ L|x− y|,

alors pour tout x0 ∈ [a, b], la suite (xn) definie par xn+1 = g(xn), n = 0, . . . converge versℓ unique solution de l’equation g(ℓ) = ℓ.

La methode de Newton peut se reecrire sous la forme

x0 ∈ [a, b], xn+1 = xn −f(xn)

f ′(xn), n = 0, . . . (4.1)

Theoreme 6. Soit f ∈ C2([a, b]) telle que f(a)f(b) < 0, f ′(x) 6= 0, f”(x) 6= 0, x ∈ [a, b].Alors pour tout x0 ∈ [a, b] tel que f(x0)f”(x0) > 0, la suite (xn) definie par (4.1) convergevers l’unique solution ℓ de f(x) = 0 dans [a, b].

Ordre d’une methodeOn dit qu’une suite (xn) definie par une methode converge vers ℓ a l’ordre p ≥ 1, s’il existeC > 0 tel que

|xn+1 − ℓ||xn − ℓ|p ≤ C, k ≥ k0,

ou k0 est choisi convenablement.Dans le cas ou g est p fois derivable, on a

xn+1 − ℓ = g(xn)− g(ℓ) = (xn − ℓ)g′(ℓ) + · · ·+ (xn − ℓ)p

p!g(p)(ℓ) + o(xn − ℓ)p

La methode est alors dite d’ordre p si on a g′(ℓ) = 0, . . . , g(p−1)(ℓ) = 0, g(p)(ℓ) 6= 0.Si ℓ est un zero simple de f , alors la methode de Newton est d’ordre 2 au moins.Si ℓ est un zero de f de multiplicite m, alors on se ramene a un zero simple en considerant|f(x)|1/m.Test d’arret des iterationsOn a deux solutions :

Page 33: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

4.3. EXERCICES 33

1. |xn+1 − xn| ≤ ǫ (Attention il se peut que |xn+1 − xn| soit petit sans qu’il y ait de solutionau point fixe)2. |f(xn)| ≤ η, avec η valeur fixee mais qui depend de |f ′(ℓ)|.Cas particulier des polynomes

Theoreme 7. Soit P un polynome a coefficients reels de degre ≥ 2 admettant n racinesreelles ξ1 > ξ2 > · · · > ξn. Alors pour toute valeur initiale x0 > ξ1, la suite de Newton eststrictement decroissante et converge vers ξ1.

4.3 Exercices

Exercice 33.

a) Montrez que l’equation x− cos(x) = 0 a une unique solution s sur R.b) Montrez que la suite definie par : xn+1 = cos(xn) converge vers s, quel que soit x0

dans R.

Exercice 34.

a) Discutez selon les valeurs de α (α > 0), le nombre de points d’intersection des deuxcourbes d’equations :

g(x) = α√

x et h(x) = ln(x).

On pourra pour cela etudier la fonction f(x) = α√

x− ln(x).

b) On prend α =1

2. Montrez que f(x) =

√x

2− ln(x) s’annule deux fois sur R

+.

Localisez chaque racine entre deux entiers successifs.Montrez que chacune des iterations suivantes :

(1) xn+1 = exp

(√xn

2

),

(2) xn+1 = 4(ln(xn))2

permet de n’approcher qu’une seule des deux racines (on justifiera la convergence ou ladivergence).

Exercice 35.

a) Enoncer le theoreme des valeurs intermediaires pour une fonction strictement mono-tone.

b) Montrer que l’equation 3−2x = ex possede une unique solution α dans R. Verifier que0 ≤ α ≤ 1. Est-ce que 1

2 ≤ α ≤ 1 ?

Exercice 36.

a) Enoncer le theoreme de Rolle. Interpretation geometrique ?

Page 34: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

34 CHAPITRE 4. RESOLUTION D’EQUATIONS NON LINEAIRES

b) Soit f une fonction n fois derivable sur ]a, b[ s’annulant en n+1 points de ]a, b[. Montrerque si f (n) est continue, il existe un point x0 de ]a, b[ tel que f (n)(x0) = 0.

c) Montrer que le polynome Pn defini par

Pn(t) = [(1− t2)n](n)

est un polynome de degre n dont les racines sont reelles, simples et appartiennent a[−1, 1].

Exercice 37.

a) Utiliser le theoreme de Rolle pour demontrer le theoreme des accroissements finis (in-

dication : on introduira ϕ(x) = f(x)− f(b)−f(a)b−a (x− a)). Interpretation geometrique ?

b) Montrer que pour tout x > 0,

1

x + 1< ln(x + 1)− ln(x) <

1

x.

c) Une fonction f est dite strictement contractante sur I s’il existe une constante 0 < k < 1telle que

|f(x)− f(y)| ≤ k|x− y|pour tous x, y ∈ I. Montrer que f(x) = e−(1+x) est strictement contractante sur R

+.

Probleme 1.

On considere la fonction f(x) = ln((x + 1) exp(−2x) + 1− x).Le but de ce probleme est de determiner le domaine de definition de f .

1. On pose u(x) = (x + 1) exp(−2x) + 1− x. Calculez u′ et u′′.Montrez que u′ s’annule pour une valeur de γ qu’on localisera entre deux entiers suc-cessifs.Montrez que u s’annule en deux valeurs α et β (on notera α la valeur positive).Montrez que α = −β.Localisez α et β entre deux entiers successifs.

2. En deduire le domaine de definition de f en fonction de α et le graphe de f.

3. Ecrire la methode de Newton pour l’approximation effective de α. Choisir une valeurx0 qui assure la convergence de la suite vers α et calculez x1 et x2. a l’aide du theoremedes accroissements finis, calculez une majoration de l’erreur |x2 − α|.

Probleme 2.

On veut resoudre :

f(x) = x + 1− x

3ex (4.2)

Page 35: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

4.3. EXERCICES 35

1. Calculer f ′(x) et f ′′(x). En deduire le tableau de variations de f . Quel est le nombre desolutions de (4.2) ? Localiser chaque solution entre deux entiers consecutifs.

2. On considere les methodes iteratives suivantes :

xn+1 =xn

3exn − 1 (4.3)

xn+1 = 3e−xn(xn + 1) (4.4)

a) Verifier que, si ces methodes convergent, elles convergent bien vers une solution de(4.2).

b) Montrer que chaque methode ne converge que vers une seule solution de (4.2).Preciser alors l’intervalle sur lequel le theoreme du point fixe s’applique, et, dansce cas, determiner combien d’iterations seront, a priori, necessaires pour obtenir uneerreur absolue inferieure a 5.10−7.Calculer dans chaque cas deux iteres a partir d’un x0 admissible.

3. Ecrire la methode de Newton pour resoudre (4.2). Pour chaque solution, justifier lechoix de x0 et calculer deux iteres.A partir des valeurs approchees obtenues, donner, si possible, une estimation des solu-tions.

4. Ecrire la methode de Newton pour trouver une approximation de la valeur µ ou f admetun maximum.Calculer une estimation de ce maximum.

Exercice 38. Methode d’acceleration d’Aitken

Soit (xn) une suite definie par :

{x0 ∈ [a; b]

xn+1 = g(xn)

et convergente vers l solution de f(x) = 0.On suppose que l’ordre de cette methode est 1 soit :

en+1 = (A + ǫn)en, ou en = xn − l, A = g′(l), 0 < A < 1 et limn→∞

ǫn = 0

1. Montrer que en+2 − 2en+1 + en s’ecrit ((A− 1)2 + θn)en avec limn→∞ θn = 0

2. Soit x′n = xn −

(xn+1 − xn)2

xn+2 − 2xn+1 + xn. Montrer que

x′n − l

xn − l=

θn − 2ǫn(A− 1)− ǫ2n

((A− 1)2 + θn).

Que vaut limn→∞

x′n − l

xn − l?

Exercice 39. Methode de la secante

Page 36: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

36 CHAPITRE 4. RESOLUTION D’EQUATIONS NON LINEAIRES

L’inconvenient de la methode de Newton est l’utilisation de f ′(x) qui peut etre difficile aevaluer. On remplace alors f ′(xn) par l’approximation suivante :

f(xn)− f(xn−1)

xn − xn−1.

1. Ecrire la methode correspondante. Justifier l’approximation de la derivee. Sachantl’ordre des methodes de la corde et de Newton, que pouvez-vous dire de l’ordre decette nouvelle methode ?

2. On suppose que f ′(l) 6= 0 et f ′′(l) 6= 0.a) Que vaut en+1 en fonction de en−1 et en ?

b) Sachant que f(xn) = (xn − l)f ′(l) +(xn − l)2

2f ′′(l) + (xn − l)2ǫn(xn − l) avec

limn→∞ ǫn = 0, montrer que en+1 ∼ Kenen−1 avec K a determiner.c) Soit p l’ordre de la methode :

limn→∞

|en+1||en|p

= C, avec C 6= 0.

Montrer que p verifie p2 − p− 1 = 0.

Exercice 40. Methode de Newton : exemples

Ecrire la methode de Newton correspondant aux fonctions suivantes. Regarder l’evolutiondes iteres, qu’en pensez-vous ?f1(x) = x2

100 − 10, f2(x) = ex/10 − 10−5, f3(x) = ln(x + 2)ex4, f4(x) = x3 − 2x + 1.

Exercice 41. Suite de Sturm

Soit P un polynome de degre n suppose n’avoir que des racines simples. On definit unesuite de polynomes Pk par :

P0(x) = P (x)P1(x) = −P ′(x)Pk+1 = QPk − Pk−1

(Pk+1 est l’oppose du reste de la division euclidienne de Pk−1 par Pk).On note Pm le dernier terme de la suite.

1. Que peut-on dire de Pk+1(r)Pk−1(r) si r est racine de Pk ?

2. Si r est une racine de P , examiner les signes possibles de P0(x) et P1(x) au voisinagede r.

3. Si s est une racine de Pk, montrer qu’il y a 4 cas possibles pour les signes de Pk−1(x), Pk(x), Pk+1(x)au voisinage de s.

4. On definit V (a) le nombre de changements de signes dans la suite P0(a), P1(a), . . . , Pm(a).Montrer que pour h suffisamment petit, V (s + h) = V (s− h) + 1.

5. Conclure que V (b)− V (a) est le nombre de racines reelles de P dans [a; b].

6. Application : Quel est le nombre de racines reelles de P (x) = X5−5x3+4x dans [−3; 3] ?Trouver la plus grande en module.

Page 37: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

Chapitre 5

Resolution de systemes lineaires

5.1 Position du probleme

On cherche a resoudre un systeme lineaire d’equations, ie on cherche le vecteur x ∈ RN tel

que Ax = b ou A ∈ RN×N est une matrice carree, supposee inversible (detA 6= 0) et b ∈ R

N

un vecteur donne.Ce probleme est un des plus importants de l’analyse numerique, nous allons voir une methodepour le resoudre mais il en existe beaucoup d’autres.

5.2 Cas des matrices triangulaires

Soit le systeme suivant a resoudre :

a11x1 = b1

a21x1+ a22x2 = b2...

. . ....

an1x1+ an2x2+ · · ·+ annxn = bn

Ce systeme equivaut a trouver x vecteur de RN tel que Ax = b avec :

Ax =

a11

a21 a22...

. . .

an1 an2 . . . ann

x1

x2...

xn

=

b1

b2...

bn

Comme la matrice est triangulaire inferieure, detA = Πni=1aii, cette matrice est inversible

si et seulement si aii 6= 0, ∀i ∈ 1, 2, . . . , n. Le vecteur x s’obtient facilement par une descente :

x1 = b1/a11

x2 = (b2 − a21x1)/a22...

xi = (bi −∑i−1

j=1 aijxj)/aii

...

xn = (bn −∑n−1

j=1 aijxj)/ann

37

Page 38: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

38 CHAPITRE 5. RESOLUTION DE SYSTEMES LINEAIRES

Comptons le nombre d’operations necessaires a une descente :pour le calcul de xi : (i− 1)⊗, (i− 2) + 1⊕, 1/, donc au total

n∑

i=1

2(i − 1) + n = 2

n−1∑

i=0

i + n = n(n− 1) + n ≈ n2 operations.

Soit maintenant le systeme suivant a resoudre :

a11x1+ a12x2+ · · ·+ a1nxn = b1

a22x2+ · · ·+ a2nxn = b2

. . ....

...annxn = bn

Ce systeme equivaut a trouver x vecteur de RN tel que Ax = b avec :

Ax =

a11 a12 . . . a1n

a22 . . . a2n

. . ....

ann

x1

x2...

xn

=

b1

b2...

bn

Comme la matrice est triangulaire superieure, detA = Πni=1aii, cette matrice est inver-

sible si et seulement si aii 6= 0, ∀i ∈ 1, 2, . . . , n. Le vecteur x s’obtient facilement par uneremontee :

x1 = (b1 −∑n

j=2 aijxj)/a11

x2 = (b2 −∑n

j=3 aijxj)/a22

...xi = (bi −

∑nj=i+1 aijxj)/aii

...xn = bn/ann

Comptons le nombre d’operations necessaires a une remontee :pour le calcul de xi : n− (i + 1) + 1 = (n− i)⊗, (n− i)⊕, 1/, donc au total

n∑

i=1

2(n − i) + n = 2n∑

i=1

n−n∑

i=1

i + n = 2n2 − n(n + 1) + n ≈ n2 operations.

5.3 Methode de Gauss

(Gauss1)Comme les systemes triangulaires sont faciles et economiques a resoudre, l’objectif est detransformer tout systeme lineaire en systeme triangulaire equivalent.

1Johann Carl Friedrich Gauss, allemand, 1777-1855

Page 39: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

5.3. METHODE DE GAUSS 39

Soit a resoudre le systeme Ax = b, on suppose que a11 6= 0 :

a11x1 + a12x2 + · · ·+ a1nxn = b1

a21x1 + a22x2 + · · ·+ a2nxn = b2...

...an1x1 + an2x2 + · · ·+ annxn = bn

L1 ← L1

L2 ← L2 − a21a11

L1

...Ln ← Ln − an1

a11L1

a11x1+ a12x2 + · · · + a1nxn = b1

a(2)22 x2 + · · ·+ a

(2)2n xn = b

(2)2

......

a(2)n2 x2 + · · ·+ a

(2)nnxn = b

(2)n

ou pour 2 ≤ i ≤ n :

a(2)ij = aij −

ai1

a11a1j ,

b(2)i = b

(1)i −

ai1

a11b1,

Interpretation matricielle

Soit la matrice L(1) telle que :

L(1) =

1 0 . . . 0

−a21

a111

−a31

a110

...

......

. . . 0

−an1

a110 . . . 0 1

alors le calcul de L(1)b et L(1)A donne :

L(1)b =

b1

−a21

a11b1 + b2

...

− ai1

a11b1 + bi

...

−an1

a11b1 + bn

= b(2)

L(1)A =

a11 a12 . . . a1n

0 a22 −a21

a11a12 . . . a2n −

a21

a11a1n

0 a32 −a31

a11a12 . . . a3n −

a31

a11a1n

......

...

0 an2 −an1

a11a12 . . . ann −

an1

a11a1n

= A(2)

Page 40: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

40 CHAPITRE 5. RESOLUTION DE SYSTEMES LINEAIRES

Donc on a :

Ax = b⇐⇒ L(1)Ax = L(1)b⇐⇒ A(2)x = b(2).

A l’etape (r)On a elimine x1 des equations 2 a n, x2 des equations 3 a n et xr−1 des equations r a n. On

suppose que a(r)rr , que l’on appelle le pivot, est non nul.

a(1)11 x1 + a

(1)12 x2+ . . . + a

(1)1n xn = b

(1)1

. . . =...

a(r−1)r−1r−1xr−1+ a

(r−1)r−1r xr + . . . + a

(r−1)r−1n xn = b

(r−1)r−1

a(r)rr xr + . . . + a

(r)rn xn = b

(r)r

a(r)r+1rxr + . . . + a

(r)r+1nxn =

...... =

...

a(r)nr xr + . . . + a

(r)nnxn = b

(r)n

L1 ← L1...

Lr−1 ← Lr−1

Lr ← Lr

Lr+1 ← Lr+1 −a(r)r+1r

a(r)rr

Lr

...

Ln ← Ln − a(r)nr

a(r)rr

Lr

On obtient alors la matrice A(r+1) et le vecteur b(r+1) tels que : pour r + 1 ≤ i ≤ n etr + 1 ≤ j ≤ n :

a(r+1)ij = a

(r)ij −

a(r)ir

a(r)rr

a(r)rj ,

b(r+1)i = b

(r)i −

a(r)ir

a(r)rr

b(r)r ,

Interpretation matricielle

Soit la matrice L(r) telle que :

L(r) =

1 0 . . . . . . . . . 0

0 1 . . . . . ....

... 0. . . . . .

......

... 1 . . ....

...... −a

(r)r+1r

a(r)rr

. . ....

......

... . . ....

...... . . .

. . . 0

0 0 −a(r)nr

a(r)rr

. . . 0 1

Page 41: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

5.3. METHODE DE GAUSS 41

alors le calcul de L(r)b(r) et L(r)A(r) donne :

L(r)b(r) =

b(1)1

b(2)2...

b(r−1)r

−a(r)r+1r

a(r)rr

b(r)r + b

(r)r+1

...

−a(r)nr

a(r)rr

b(r)r + b

(r)n

= b(r+1)

L(r)A(r) =

a(1)11 a

(1)12 . . . . . . . . . . . . . . . a

(1)1n

0 a(2)22 . . . . . . . . . . . . . . . a

(2)2n

0 0 a(3)33 . . . . . . . . . . . . a

(3)3n

...... 0

. . . . . . . . . . . ....

...... . . . 0 a

(r)rr a

(r)rr+1 . . . a

(r)rn

...... . . .

... 0 a(r+1)r+1r+1 . . . a

(r+1)r+1n

...... . . .

......

... . . . a(r+1)r+2n

...... . . .

......

... . . ....

0 0 0 0 0 a(r+1)nr+1 . . . a

(r)+1nn

= A(r+1)

Donc on a :

Ax = b⇐⇒ L(r)A(r)x = L(r)b(r) ⇐⇒ A(r+1)x = b(r+1).

Au bout de (n− 1) etapes,le systeme est triangulaire superieur. De plus, la matrice est inversible (donc le systeme

soluble) si et seulement si det(A(n)) = Πni=1a

(i)ii 6= 0 ie si aucun des pivots n’est nul ! La

methode de Gauss est donc possible si aucun des pivots rencontres n’est nul.On a alors que

Ax = b ⇐⇒ A(n)x = b(n) ⇐⇒ L(n−1)A(n−1)x = L(n−1)b(n)

⇐⇒ L(n−1)L(n−2) . . . L(1)Ax = L(n−1)L(n−2) . . . L(1)b.

Notons U (pour upper) la matrice A(n) puisqu’elle est triangulaire superieure et L (pourlower) la matrice L(n−1)L(n−2) . . . L(1) puisqu’elle est triangulaire inferieure comme produitde matrices elles-memes triangulaires inferieures, on a alors :

Ux = Lb

Comme, quel que soit r, detL(r) = 1, les matrices L(r) sont toutes inversibles donc leur produitaussi. Notons L = L−1 = L(1)−1

L(2)−1. . . L(n−1)−1

qui est aussi triangulaire inferieure.

Ax = b⇐⇒ LUx = b.

Page 42: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

42 CHAPITRE 5. RESOLUTION DE SYSTEMES LINEAIRES

On a donc factorise la matrice A en un produit d’une matrice triangulaire inferieure et d’unematrice triangulaire superieure. D’ou l’autre nom de la methode de Gauss : la factorisationLU . Pour resoudre le systeme, il suffit maintenant de faire une descente pour resoudre Ly = bpuis une remontee pour resoudre Ux = y.

Proposition 2. L’inverse d’une matrice L(r) est donnee par :

1 0 . . . . . . . . . 0

0 1 . . . . . ....

... 0. . . . . .

......

... 1 . . ....

......

a(r)r+1r

a(r)rr

. . ....

......

... . . ....

...... . . .

. . . 0

0 0 a(r)nr

a(r)rr

. . . 0 1

Proposition 3. Le produit d’une matrice L(r)−1par une matrice L(r+1)−1

est donne par :

1 0 . . . . . . . . . 0

0 1 . . . . . ....

... 0. . . . . .

......

... 1 . . ....

......

a(r)r+1r

a(r)rr

1 . . ....

......

...a(r+1)r+2r+1

a(r+1)r+1r+1

. . ....

...... . . . . . .

. . . 0

0 0 a(r)nr

a(r)rr

a(r+1)nr+1

a(r+1)r+1r+1

. . . 0 1

Corollaire 1. La matrice L est donnee par :

1 0 . . . . . . . . . . . . 0a(1)21

a(1)11

1 0 . . . . . . . . ....

a(1)31

a(1)11

a(2)32

a(2)22

. . . . . . . . . . . ....

...... 1 0 . . .

......

...a(r)r+1r

a(r)rr

1 0...

......

...a(r+1)r+2r+1

a(r+1)r+1r+1

. . ....

...... . . . . . .

. . . 0

a(1)n1

a(1)11

a(2)n2

a(2)22

a(r)nr

a(r)rr

a(r+1)nr+1

a(r+1)r+1r+1

. . .a(n−1)nn−1

a(n−1)n−1n−1

1

Page 43: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

5.4. STRATEGIE DE PIVOT 43

5.4 Strategie de pivot

La methode suppose qu’a chaque etape, le pivot est non nul. Que se passe-t-il lorsqu’onrencontre un pivot nul ?

Supposons que a(r)rr = 0, comme A est inversible, on peut toujours trouver dans la sous-

colonne r un terme a(r)ir (i > r) non nul. Dans ce cas on permute les lignes i et r de la matrice

(attention de ne pas oublier de faire la meme manipulation sur le second membre pour garderl’equivalence des systemes).

Erreurs d’arrondiSoit a resoudre le systeme : (

ε 11 1

)(x1

x2

)=

(12

)

La solution est donnee par x1 =1

1− εet x2 =

1− 2ε

1− ε, ce qui donne pour ε = 0, x1 = x2 = 1.

Or en resolvant ce systeme par la methode de Gauss avec ε = 10−9 ou 10−9 est la precisionde la machine, on obtient :

(10−9 1

0 1− 109

)(x1

x2

)=

(1

2− 109

),

or, 1 − 109 ≈ −109 et 2 − 109 ≈ −109 sur la machine d’ou la solution x2 = 1 et x1 = 0 quin’est pas la solution !

Si par contre, on permute les lignes 1 et 2, on obtient :

(1 10 1− 10−9

)(x1

x2

)=

(2

1− 2 ∗ 10−9

),

or, 1− 10−9 ≈ 1 et 1− 2 ∗ 10−9 ≈ 1 sur la machine d’ou la solution x2 = 1 et x1 = 1 qui estla solution du systeme !

Conclusion il ne faut pas utiliser des pivots trop petits car les erreurs d’arrondi peuventdonner des solutions fausses. On cherche alors dans la sous-colonne r, le plus grand pivotajr = maxr≤i≤n |air| et on permute les lignes j et r. C’est ce qu’on appelle une strategie depivot partiel. La methode de Gauss n’est jamais programmee sans au moins une strategiede pivot partiel.

Remarque 1. • Les pivots petits ne disparaissent pas, ils sont juste rejetes a la fin del’algorithme ou leur influence est moins grande.

• Si on cherche le plus grand pivot dans la sous-matrice r ≤ i ≤ n et r ≤ j ≤ n et qu’onpermute alors a la fois les lignes et les colonnes, c’est une strategie de pivot total.

5.5 Cout de la methode

Cout de l’etape r :

pour i = r + 1 a n et j = r + 1 a n, a(r+1)ij = a

(r)ij −mira

(r)rj , r + 1 ≤ j ≤ n.

Page 44: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

44 CHAPITRE 5. RESOLUTION DE SYSTEMES LINEAIRES

soit (n− r)/ et (n− r)2 fois (1⊗, 1⊕) pour le calcul de a(r+1)ij et

pour i = r + 1 a n, b(r+1)i = b

(r)i −mirb

(r)r .

soit (n− r) fois (1⊗, 1⊕) pour le calcul de b(r+1)i , soit au total

n−1∑

r=1

(n− r) =

n−1∑

r=1

r =n(n− 1)

2divisions,

2n−1∑

r=1

[(n−r)2+(n−r)] = 2n(n − 1)(2n − 1)

6+2

n(n− 1)

2= 2

n(n2 − 1)

3additions et multiplications,

soit au total de l’ordre de2n3

3operations. Il faut rajouter le cout d’une descente et d’une

remontee ie 2n2 qui devient vite negligeable des que n est grand.

5.6 Existence de la factorisation LU

Theoreme 8. Soit A une matrice carree d’ordre n ayant toutes ses sous-matrices prin-cipales Ak = (aij)1≤i,j≤k regulieres ( ie inversibles). Alors la matrice A admet une uniquefactorisation LU ou L est triangulaire inferieure avec des 1 sur la diagonale et U triangulairesuperieure.

preuveUnicite Soit A = L1U1 = L2U2 d’ou U1U

−12︸ ︷︷ ︸

triangulaire superieure

= L−11 L2︸ ︷︷ ︸

triangulaire inferieure

= D.

Comme D a des 1 sur la diagonale, D = I, donc U1 = U2 et L1 = L2.

Existence il suffit de montrer que a(r)rr 6= 0 pour 1 ≤ r ≤ n−1. On le demontre par recurrence.

Le premier pivot est forcement non nul car c’est la sous-matrice A1 qui est reguliere parhypothese.

Si a(r)rr 6= 0 pour 1 ≤ r ≤ k − 1, on a alors A = L(1)−1

L(2)−1. . . L(k−1)−1

A(k) soit par blocs :

Ak = LkA(k)k, or d’une part par hypothese detAk est different de 0 et d’autre part detAk =

a(1)11 a

(2)22 . . . a

(k−1)k−1k−1a

(k)kk . Par hypothese de recurrence a

(r)rr 6= 0 pour 1 ≤ r ≤ k − 1, donc a

(k)kk

est aussi different de 0· �

Remarque 2. C’est la valeur sur la diagonale de L qui donne l’unicite. Cette valeur doitdonc toujours etre fixee.

5.7 Cas particulier des matrices symetriques definies positives

Rappel Soit A une matrice symetrique (A = TA) reelle definie positive (∀x ∈ RN\ {0} , (Ax/x) >

0) alors A est inversible et toutes ses valeurs propres sont reelles et strictement positives.preuveSoit x ∈ Ker(A), Ax = 0 donc (Ax/x) = 0⇐⇒ x = 0 soit A inversible.Soit x ∈ C

n vecteur propre de A associe a la valeur propre λ ∈ C, alors

Ax = λx et Ax = Ax = λx.

Page 45: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

5.7. CAS PARTICULIER DES MATRICES SYMETRIQUES DEFINIES POSITIVES 45

On fait le produit scalaire de la premiere egalite par x et de la deuxieme par x, on obtient :

(Ax/x) = (λx/x) = λ‖x‖2 et (Ax/x) = (λx/x) = λ‖x‖2.

Comme (Ax/x) = (Ax/x) car A est symetrique, on a : λ‖x‖2 = λ‖x‖2, soit λ est reel.Enfin,

0 < (Ax/x) = (λx/x) = λ‖x‖2.

Theoreme 9. Toute matrice symetrique definie positive admet une unique factorisation LU .

preuveSoit Ak, sous-matrice principale d’ordre k de A. Alors Ak est definie positive car

(x1x2 . . . xk)AkT(x1x2 . . . xk) = (x1x2 . . . xk0 . . . 0)AT(x1x2 . . . xk0 . . . 0) ≥ 0.

Donc Ak est inversible et d’apres le theoreme (8), A possede une factorisation LU unique. �

Factorisation de Cholesky2

Comme A est symetrique, on a LU = T(LU) = TUTL soit

TU−1L︸ ︷︷ ︸triangulaire inferieure

= TLU−1︸ ︷︷ ︸

triangulaire superieure

=

1/u11 0 00 1/u22...

. . ....

0 . . . 1/unn

.

Posons D =

√u11

0√

u22...

. . ....

0 . . .√

unn

(ce qui est possible car A est definie positive et que

les uii > 0).Alors TLU−1 = D−2, d’ou DTL = DD−2U = D−1U , et donc A = LD.D−1U = LD.DTL =LTL avec L = LD.

Corollaire 2. Toute matrice symetrique definie positive admet une unique factorisation LTL,appelee factorisation de Cholesky.

Factorisation de Crout3

Comme A = LTL = LD.DD−1T(LD) = LD.DD−1TDTL = LD.DD−1DTL = LD2TL.

Corollaire 3. Toute matrice symetrique definie positive admet une unique factorisationLDTL, appelee factorisation de Crout.

Remarque 3. Pour des raisons numeriques, on prefere utiliser la factorisation de Crout acelle de Cholesky car il n’y a pas d’extraction de racines carrees.

2Andre Louis Cholesky,francais, 1875-19183Prescott Durand ( ?) Crout, americain ( ?)

Page 46: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

46 CHAPITRE 5. RESOLUTION DE SYSTEMES LINEAIRES

5.8 Exercices

Exercice 42.

Trouver L−11 , L−1

2 et L = L−11 × L−1

2 pour

L1 =

1 0 0−l21 1 0−l31 0 1

et L2 =

1 0 00 1 00 −l32 1

,

Appliquer la methode de Gauss sans permutation au systeme Ax = b,

A =

4 8 123 8 132 9 18

b =

4511

Exercice 43.

Utiliser la methode de Gauss pour resoudre le systeme suivant :

2x + 3y + z = 4−x + my + 2z = 57x + 3y + (m− 5)z = 7

Discuter suivant les valeurs de m.

Exercice 44.

Soient A une matrice n× n et u et v deux vecteurs colonnes de longueur n. Verifier que :

(A− uvt)−1 = A−1 + αA−1uvtA−1 avec α =1

1− vtA−1u.

Quelle est la condition d’existence de cette inverse ?On considere la matrice

A =

1 1 11 2 21 2 3

1. Quelle est la decomposition LU de A ?

2. Resoudre, en utilisant la question precedente, les systemes AXi = ei ou les ei sont lesvecteurs de la base canonique usuelle de R

3. En deduire A−1.

Exercice 45. Matrices

1. Soit A la matrice

A =

3 2 16 6 39 10 6

Trouver une matrice triangulaire inferieure L avec des 1 sur la diagonale et une matricetriangulaire superieure U telles que A = LU . Soit b = (b1, b2, b3)

t un vecteur colonne. Trouver

Page 47: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

5.8. EXERCICES 47

un vecteur colonne x = (x1, x2, x3)t tel que Ax = b, en utilisant les matrices L et U . En

deduire l’inverse de la matrice A.2. Soit n ≥ 2 un entier. Soient a1, . . . , an, b1, . . . , bn et α, β des nombres reels. On considereune matrice M = (mi,j) de taille n avec mi,i = ai pour i = 1, . . . , n, mn,1 = α, m1,n = βet mi,j = 0 sinon. Donner une condition les nombres ai, α et β pour que M soit inversible.Resoudre le systeme Mx = b, avec b = (b1, . . . , bn)t, en utilisant la methode de Gauss, etcalculer le nombre d’operations effectuees en fonction de n.3. Soit a un nombre reel et C la matrice

C =

a 2 10 1 11 0 0

La matrice C est-elle inversible ? Montrer que si a est different de 0, on peut appliquer lamethode de Gauss sans strategie de pivot. Dans le cas ou a = 0, trouver x = (x1, x2, x3)

t telque Cx = (1, 2, 3)t, en utilisant une strategie de pivot.

Exercice 46.

Resolution numerique d’equations differentiellesOn considere le probleme suivant : trouver u : (0, 1) → R tel que :

{−u”(x) = f(x), 0 < x < 1,u(0) = u(1) = 0,

(5.1)

ou f est une fonction continue donnee dans [0, 1].1. Soit v la fonction definie par

v(x) = (1− x)

∫ x

0yf(y)dy + x

∫ 1

x(1− y)f(y)dy.

On admettra que v est 2 fois continument derivable. Calculer v′(x) puis v”(x). En deduireque v est solution du probleme (5.1).2. Soient u1 et u2 deux solutions du probleme (5.1). On definit u = u1 − u2. On suppose queu1 et u2 sont 2 fois continument derivables.2.a Montrer que u”(x) = 0.2.b En deduire que u est un polynome de degre inferieur ou egal a 1.2.c Montrer que u(0) = u(1) = 0.2.d En deduire que u(x) = 0 pour 0 ≤ x ≤ 1.3. On se propose de chercher une solution approchee du probleme (5.1). Pour cela, on sedonne une subdivision de l’intervalle [0, 1] en N sous-intervalles (xi−1, xi) de meme longueurh :

xi = ih, i = 0, . . . , N, h = 1/N.

On cherche alors une suite de valeurs (ui)Ni=0 approchant les valeurs u(xi)

Ni=0. On considere

alors le schema suivant{

−ui+1+2ui−ui−1

h2 = f(xi), i = 1, . . . , N − 1,u0 = uN = 0.

(5.2)

3.a Montrer que l’on peut ecrire le probleme (5.2) sous la forme Au = b, ou u = (u1, . . . , uN−1)T ,

b = (f(x1), . . . , f(xN−1))T et A est une matrice carree de taille N − 1 que l’on precisera.

Page 48: Analyse Num´erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyAnaNumL3S6Phys.pdfChapitre 1 Interpolation polynˆomiale On se fixe un entier n ∈N∗, 2 r´eels a < b et une

48 CHAPITRE 5. RESOLUTION DE SYSTEMES LINEAIRES

3.b Montrer que A est definie positive.3.c Peut-on appliquer la methode de Gauss ? (on justifiera). Si oui, ecrire la methode de Gausset compter le nombre d’operations.3.d Soit u ∈ C4([0, 1]). On note

εih =−u(xi+1) + 2u(xi)− u(xi−1)

h2− f(xi).

Montrer que |εhi | ≤ h2

12 sup0<x<1 |u(4)(x)|. On utilisera deux developpements de Taylor.