Download - Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Transcript
Page 1: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Analyse Numerique

Thomas Cluzeau

Maıtre de Conferences

Ecole Nationale Superieure d’Ingenieurs de Limoges

Parc ester technopole, 16 rue d’atlantis 87068 Limoges Cedex

[email protected]

http://www.unilim.fr/pages_perso/thomas.cluzeau

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 2: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Maths a l’ENSIL en TC1

• Harmonisation en fonction du test de la rentree

Analyse

Algebre lineaire

• Tronc Commun (TC) - 1iere annee

Mathematiques pour l’ingenieur (TC1 - S1)

Analyse numerique (TC1 - S2)

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 3: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Analyse Numerique : organisation et evaluation

• Organisation :

Cours : 7 seances d’1h30

TDs et TPs : 12h

4 seances de TDs d’1h303 seances de TPs Matlab : 1 de 3h et 2 d’1h30.

• Evaluation :

Note du TP de 3h (Compte rendu) - 1/4 note finale

1 examen final de 1h30 avec documents - 3/4 note finale

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 4: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Plan du cours

1 Arithmetique des ordinateurs et analyse d’erreurs

2 Resolution d’un systeme d’equations lineaires (Partie 1) :methodes directes

3 Conditionnement d’une matrice pour la resolution d’un systemelineaire

4 Resolution d’un systeme d’equations lineaires (Partie 2) :methodes iteratives

5 Interpolation polynomiale

6 Integration numerique

7 Resolution d’equations et de systemes d’equations non lineaires

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 5: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Chapitre 1

Arithmetique des ordinateurs etanalyse d’erreurs

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 6: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Arithmetique flottante

• Comment les reels sont-ils representes dans un ordinateur ?

Theoreme (Systeme des nombres a virgule flottante)

Soit β un entier strictement superieur a 1. Tout nombre reel x nonnul peut se representer sous la forme

x = sgn(x)βe∑k≥1

dkβk,

ou sgn(x) ∈ +,− est le signe de x , les dk sont des entiers telsque 0 < d1 ≤ β − 1 et 0 ≤ dk ≤ β − 1 pour k ≥ 2, et e ∈ Z. Deplus, cette ecriture est unique (sauf pour les decimaux :2, 5 = 2, 499999 . . . ).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 7: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Exemples

• Systeme decimal : β = 10 et dk ∈ 0, 1, 2, 3, 4, 5, 6, 7, 8, 90, 0038 = 0, 38.10−2 = + 10−2 ( 3

10 + 8102 )

17 = 0, 142857 . . . = + 100 ( 1

10 + 4102 + 2

103 + 8104 + · · · ).

Developpement decimal d’un nombre rationnel est periodique :17 = 0, 142857142857142857 . . .

−√

2 = −1, 4142 . . . = − 101 ( 110 + 4

102 + 1103 + 4

104 + · · · )π = 3, 14159 . . . = + 101 ( 3

10 + 1102 + 4

103 + 1104 + · · · )

• Historiquement, β = 10 car nous avons 10 doigts !

• Ordinateurs : β = 2 (numeration binaire), β = 8 (num. octale),ou encore β = 16 (num. hexadecimale)

• Unicite basee sur d1 6= 0 :

0, 0038 = 0, 38.10−2 = + 10−2 ( 310 + 8

102 )

= 0, 038.10−3 = + 10−1 ( 010 + 3

102 + 8103 )

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 8: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Le systeme F (1)

On definit l’ensemble F ⊂ R par :

F =

y ∈ R | y = ±βe

(d1

β+

d2

β2+ · · ·+ dt

βt

), emin ≤ e ≤ emax

ou encore

F =y ∈ R | y = ±m βe−t , emin ≤ e ≤ emax

Ceci correspond aux deux ecritures :

0, 0038 = + 10−2 ( 310 + 8

102 )

0, 0038 = + 38.10−4

avec β = 10, e = −2, t = 2, e − t = −4

• m s’appelle la mantisse. Notation : m = d1d2 . . . dtβ

• Notons que 0 /∈ F .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 9: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Le systeme F (2)

Pour y 6= 0, on a

m βe−t = βe (d1

β+

d2

β2+ · · ·+ dt

βt) ≥ βe 1

β=⇒ m ≥ βt−1

m = d1d2 . . . dtβ

= d1 βt−1 + · · ·+dt−k β

k + · · ·+dt−1 β+dt < βt

On a donc montre que βt−1 ≤ m < βt .

• F est un systeme de nombres a virgule flottante (floating pointnumber system). Notation : F (β, t, emin, emax).

• Il depend de quatre parametres :

1 la base β (chiffres utilises 0, 1, . . . , β − 1),

2 la precision t (# chiffres utilises pour representer la mantisse),

3 emin et emax qui definissent le domaine des exposants.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 10: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Exemple : F (2, 3,−1, 3)

• Un reel y ∈ F (2, 3,−1, 3) s’ecrit :

y = 2e(

1

2+

d2

4+

d3

8

), −1 ≤ e ≤ 3, d2, d3 ∈ 0, 1

0

0, 25

0, 5 1 2 3 4 5 6 7 8

• Ecart entre deux nombres consecutifs ×2 a chaque puissance de 2

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 11: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Standard IEEE 754 et epsilon machine

• Dans le standard IEEE 754 utilise par Matlab, on a β = 2 et :

en simple precision : t = 24, emin = −125, emax = 128,

en double precision : t = 53, emin = −1021, emax = 1024.

Definition

On appelle epsilon machine et on note εM la distance de 1 aunombre flottant suivant.

• Par exemple, pour F (2, 3,−1, 3), on a εM = 0, 25

• Dans Matlab, c’est la variable eps.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 12: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Ecart entre deux nombres consecutifs

Proposition

Pour F (β, t, emin, emax), on a εM = β1−t .

Proof.

On a 1 = 1β β = 10 . . . 0

ββ.

Nombre suivant : 10 . . . 1ββ = ( 1

β + 1βt )β = 1 + β1−t .

Lemme

Dans le systeme de nombres a virgule flottante F (β, t, emin, emax),l’ecart |y − x | entre un nombre flottant x (non nul) et un nombreflottant y (non nul) adjacent verifie β−1 εM |x | ≤ |y − x | ≤ εM |x |.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 13: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Representation physique et arrondi

• Representation physique :

simple precision 32 bits (bit = binary digit), 8 bits sont reservesa l’exposant et 24 bits (dont 1 pour le signe) a la mantisse.

double precision 64 bits, 11 bits sont reserves a l’exposant et53 bits (dont 1 pour le signe) a la mantisse.

• Arrondi :

1 par troncature : par exemple avec 3 chiffres, 0, 8573 . . . devient0, 857.

2 au plus pres : 0, 8573 . . . devient 0, 857.

3 au representant le plus proche dont la derniere decimale estpaire (rounding to even) : 0, 8573 . . . devient 0, 858.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 14: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Formalisation

Definition

Soit G = G (β, t) = y ∈ R | y = ±m βe−t sans conditions surl’exposant e. L’application fl : R→ G , x 7→ fl(x) est appeleeoperation d’arrondi.

• Etant donne un domaine F (β, t, emin, emax), il y a alorsdepassement de capacite si :

1 |fl(x)| > max|y | | y ∈ F. On parle d’overflow

2 |fl(x)| < min|y | | y ∈ F. On parle d’underflow

Sinon, x est dans le domaine de F .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 15: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Erreur d’arrondi

Definition

Soit x un reel et x une valeur approchee de x .L’erreur absolue e est defini par e = |x − x |.L’erreur relative est | ex |.Le pourcentage d’erreur est l’erreur relative multipliee par 100.

• En pratique, on ne connait en general pas la valeur exacte x maison peut souvent avoir une idee de l’erreur maximale e que l’on a pucommettre : dans ce cas, on majore la quantite | ex |

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 16: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Estimation de l’erreur d’arrondi - unite d’erreur d’arrondi

Theoreme

Soit x un reel. Si x est dans le domaine F (β, t, emin, emax), alors ilexiste δ ∈ R avec |δ| < u = 1

2 β1−t = 1

2 εM tel que fl(x) = x (1 + δ).

• L’erreur relative sur l’arrondi est egale a |δ| < u : le nombre us’appelle unite d’erreur d’arrondi

• Exemple : standard IEEE 754 utilise par Matlab, on au = 2−24 ≈ 5, 96.10−8 en simple precisionu = 2−53 ≈ 1, 11.10−16 en double precision.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 17: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Modele de l’arithmetique flottante

• Modele Standard (utilise par le standard IEEE) :Soit x , y ∈ F (β, t, emin, emax). Pour op ∈ +,−,×,÷,√, ondefinit

x op y = fl(x op y) = (x op y) (1 + δ), |δ| < u =1

2β1−t =

1

2εM

• Nous allons maintenant nous interesser aux erreurs faites par op

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 18: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Analyse d’erreurs : non-associativite

• Contrairement a op, l’operation op n’est pas associative:

(x op y) op z 6= x op (y op z)

• Ceci est du aux erreurs d’arrondi !Par exemple, supposons que les reels soient calcules avec 3 chiffressignificatifs et arrondis a la decimale la plus proche et cherchons acalculer la somme x + y + z avec x = 8, 22, y = 0, 00317 etz = 0, 00432.

x + y = 8, 22 donc (x + y) + z = 8, 22

y + z = 0, 01 donc x + (y + z) = 8, 23

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 19: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Analyse d’erreurs : erreurs d’arrondi sur une somme

• Calculer S = u1 + u2 + · · ·+ un dans F (β, t, emin, emax)

• On calcule alors les sommes partielles Si par la recurrence S0 = 0,Si = Si−1 + ui

• Si ui connus exactement, alors les erreurs d’arrondi ∆Si commisessur le calcul des sommes partielles Si verifient

∆Si ≤ ∆Si−1 + δ (Si−1 + ui ) = ∆Si−1 + δSi , |δ| < u

• L’erreur globale sur S = Sn verifie donc ∆S ≤ δ (S2 + · · ·+ Sn),

∆S ≤ δ (un + 2 un−1 + 3 un−2 + · · ·+ (n − 1) u2 + (n − 1) u1).

Erreur minimale en sommant d’abord les termes les plus petits

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 20: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Analyse d’erreurs : erreurs d’arrondi sur un produit

• Calculer P = u1 u2 . . . un dans F (β, t, emin, emax)

• On calcule alors les produits Pi par la recurrence P0 = 1,Pi = Pi−1 ui

• Si ui connus exactement, alors les erreurs d’arrondi ∆Pi commisessur le calcul des Pi verifient

∆Pi ≤ (∆Pi−1) ui + δ (Pi−1 ui ) = ∆Pi−1 ui + δPi , |δ| < u

• L’erreur globale sur P = Pn verifie donc

∆P ≤ (k − 1)δ Pn.

Contrairement au cas de l’addition, la majoration de l’erreur nedepend pas de l’ordre des facteurs.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 21: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Phenomenes de compensation (1)

• Phenomenes qui se produisent lorsque l’on tente de soustraire desnombres tres proches

• Exemple 1 : E =√x + 1−

√x avec x > 0

Sous Matlab, on obtient :

pour x = 109, E = 1, 5811.10−5

pour x = 1016, E = 0 !

Si l’on remarque que E = 1√x+1+

√x

, alors, en utilisant cette

nouvelle formule, on trouvera :

pour x = 109, E = 1, 5811.10−5

pour x = 1016, E = 5, 000.10−9 !

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 22: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Phenomenes de compensation (2)

• Phenomenes qui se produisent lorsque l’on tente de soustraire desnombres tres proches

• Exemple 2 : equation du second degre x2 − 1634 x + 2 = 0.Supposons que les calculs soient effectues avec 10 chiffressignificatifs. Les formules habituelles donnent

∆′ =

(1634

2

)2

− 2 = 667487,√

∆′ = 816, 9987760

x1 =1634

2+√

∆′ = 817 + 816, 9987760 = 1633, 998776,

x2 =1634

2−√

∆′ = 817− 816, 9987760 = 0, 0012240.

perte de 5 chiffres significatifs sur x2 !Pour y remedier, on peut utiliser la relation x1 x2 = 2 et calculer

x2 =2

x1=

2

1633, 998776= 0, 001223991125.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 23: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Phenomenes d’instabilite numerique (1)

• Phenomenes d’amplification d’erreur d’arrondi : se produisentpour des calculs recurrents ou iteratifs

Exemple 1 : calcul de In =∫ 1

0xn

10+x dx , n ∈ N

• Calcul direct :

I0 = ln

(11

10

), In =

1

n− 10 In−1

calcul de In par recurrence

• Numeriquement, resultats tres mauvais !

• Explication : erreur d’arrondi ∆In verifie ∆In ≈ 10 ∆In−1 et croitexponentiellement: l’erreur sur I0 est multipliee par 10n sur In.

Cette formule de recurrence ne peut pas nous permettre decalculer la valeur de I36 par exemple

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 24: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Phenomenes d’instabilite numerique (2)

• Phenomenes d’amplification d’erreur d’arrondi : se produisentpour des calculs recurrents ou iteratifs

Exemple 1 : calcul de In =∫ 1

0xn

10+x dx , n ∈ N

• Pour remedier a ce probleme, on peut renverser la recurrence :In−1 = 1

10

(1n − In

).

• on obtient alors ∆In−1 ≈ 110 ∆In.

10 ≤ 10 + x ≤ 11 =⇒ 1

11 (n + 1)≤ In ≤

1

10 (n + 1)

• Approximation In ≈ 111 (n+1) valeur de depart pour notre

recurrence renversee. Exemple, I46 ≈ 111 (46+1) , on obtient pour I36

une erreur relative meilleure que 10−10.

• Importance du coefficient d’amplification d’erreur

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 25: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Phenomenes d’instabilite numerique (3)

• Phenomenes d’amplification d’erreur d’arrondi : se produisentpour des calculs recurrents ou iteratifs

Exemple 2 : On considere la suite definie par (J.-M. Muller) :u0 = 2,u1 = −4,

un = 111− 1130

un−1+

3000

un−1 un−2,

• Limite theorique 6 mais en pratique 100 !

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 26: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Phenomenes d’instabilite numerique (4)

• Explication : solution generale de un = 111− 1130

un−1+

3000

un−1 un−2:

un =α 100n+1 + β 6n+1 + γ 5n+1

α 100n + β 6n + γ 5n,

ou α, β et γ dependent des valeurs initiales u0 et u1

• α 6= 0 convergence vers 100, sinon convergence vers 6 (β 6= 0)

• Dans notre exemple (u0 = 2, u1 = −4) : α = 0, β = −3 et γ = 4

A cause des erreurs d’arrondi, meme les premiers termes calculesseront differents des termes exacts et donc la valeur de αcorrespondant a ces termes calcules sera tres petite mais non-nullece qui suffira a faire en sorte que la suite converge vers 100 au lieude 6.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 27: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Erreur amont et erreur aval

• Considerons un probleme que l’on resout a l’aide d’un algorithmenumerique : entree x y = f (x)

• En pratique, compte tenu des erreurs d’arrondis, etant donnee uneentree x , nous allons obtenir une sortie y 6= y = f (x)

• Erreur aval : |y − y |

• Erreur amont (ou erreur inverse) : plus petit δx tel que la solutionalgebrique f (x + δx) correspondant a l’entree x + δx soit egale a y .

• Erreur aval ≈ erreur amont × Conditionnement.

• Erreur amont plus interessante :

nous renseigne sur le probleme qui est reellement resolu parl’algorithme numerique

en pratique, nous ne connaissons en general qu’une valeurapprochee de l’entree

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 28: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Outils theoriques de l’analyse d’erreurs

• Formule (x × y) + z avec x , y et z dans F (β, t, emin, emax).

• On a alors :

fl((x × y) + z) = [fl(x × y) + z ] (1 + δ1)= [(x × y) (1 + δ2) + z ] (1 + δ1)= (x × y) (1 + δ2) (1 + δ1) + z (1 + δ1),

Lemme

Si pour tout i = 1, . . . , k , on a |δi | < u et si k u < 1, alors il existeθk tel que |θk | ≤ k u

1−k u et∏k

i=1(1 + δi ) ≤ 1 + θk .

• Notation < k >=∏k

i=1(1 + δi ) avec < j > . < k >=< j + k >.

fl((x × y) + z) = (x × y) < 2 > +z < 1 >≤ (x × y) (1 + 2 u

1−2 u ) + z (1 + u1−u ).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 29: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Chapitre 2

Resolution d’un systemed’equations lineaires (Partie

1) : methodes directes

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 30: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Systemes lineaires

• Beaucoup de problemes se reduisent a la resolution numeriqued’un systeme d’equations lineaires

• Deux grandes classes de methodes :

1 Methodes directes : determinent explicitement la solution apresun nombre fini d’operations arithmetiques

2 Methodes iteratives (sur R ou C mais pas Fp) : consistent agenerer une suite qui converge vers la solution du systeme

• Autres methodes non abordees dans ce cours :

Methodes intermediaires : Splitting, decomposition incompletes

Methodes probabilistes comme celle de Monte-Carlo

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 31: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Objet de l’etude

(S)

a1,1 x1 + a1,2 x2 + · · · + a1,n xn = b1

a2,1 x1 + a2,2 x2 + · · · + a2,n xn = b2...

...an,1 x1 + an,2 x2 + · · · + an,n xn = bn

• Donnees : les ai ,j et b1, . . . , bn dans K avec K = R ou C

• Inconnues : x1, . . . , xn dans K

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 32: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Ecriture matricielle

(S) Ax = b,

A =

a1,1 a1,2 . . . a1,n

a2,1. . .

......

. . ....

an,1 . . . . . . an,n

∈Mn×n(K)

x =

x1...xn

∈ Kn, b =

b1...bn

∈ Kn

• Dans ce chapitre, A est inversible !

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 33: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Motivation (1)

• Pourquoi ce probleme se pose-t-il ?

• En effet, les formules de Cramer donnent la solution :

∀ i ∈ 1, . . . , n, xi =

∣∣∣∣∣∣∣a1,1 . . . a1,(i−1) b1 a1,(i+1) . . . a1,n

......

...an,1 . . . an,(i−1) bn an,(i+1) . . . an,n

∣∣∣∣∣∣∣det(A)

.

• Regardons le nombre d’operations necessaires !

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 34: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Motivation (2)

• Regardons le nombre d’operations necessaires !

Lemme

Le nombre d’operations necessaires pour resoudre le systeme a l’aidedes formules de Cramer est de (n + 1) (n n!− 1) operations a virguleflottante.

• Lorsque n = 100, nombre d’operations de l’ordre de 9, 4.10161 !

Ordi. fonctionnant a 100 megaflops, environ 3.10146 annees !

Impossible d’utiliser Cramer pour resoudre de grands systemes !

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 35: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Resolution d’un systeme triangulaire

• Idee des methodes directes : se ramener a la resolution d’1 (ou 2)systeme triangulaire

• A triangulaire superieure : (S) s’ecrit :

(S)

a1,1 x1 + a1,2 x2 + · · · + a1,n xn = b1

a2,2 x2 + · · · + a2,n xn = b2

. . ....

an,n xn = bn.

• A inversible ⇒ les ai ,i sont non nuls

Systeme facile a resoudre : algorithme de substitution retrograde

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 36: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Resolution d’un systeme triangulaire : exemple

• On considere le systeme triangulaire superieur :

(S)

x1 + 2 x2 + 5 x3 = 1

−4 x2 − 16 x3 = −52

−17 x3 = −178

3ieme equation : x3 = 18

2ieme equation : x2 =−5/2 + 16 x3

−4= 1

8

1iere equation : x1 =1− 2 x2 − 5 x3

1= 1

8

• Idem si A triang. inf. : algorithme de substitution progressive

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 37: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Systeme triangulaire : # operations et proprietes

Lemme

La resolution d’un systeme d’equations lineaires triangulaire se faiten n2 operations a virgule flottante.

Lemme (Proprietes)

Soient A, B ∈Mn×n(K) deux matrices triangulaires superieures. Ona alors les resultats suivants :

1 AB est triangulaire superieur

2 Si A et B sont a diagonale unite (i.e., n’ont que des 1 sur ladiagonale), alors AB est a diagonale unite

3 Si A est inversible, alors A−1 est aussi triangulaire superieure

4 Si A est inversible et a diagonale unite, alors A−1 est aussi adiagonale unite.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 38: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

3 methodes directes etudiees dans la suite

1 Methode de Gauss : systeme (M A) x = M b avec M Atriang. sup. (sans calculer explicitement M).• Associee a la factorisation A = LU de la matrice A avec Ltriang. inf. et U triang. sup., Ax = b ⇔ L y = b, U x = y

2 Methode de Cholesky• Associee a la factorisation de Cholesky A = RT R avec Rtriang. sup., Ax = b ⇔ RT y = b, R x = y• Methode valable pour A symetrique et definie positive

3 Methode de Householder• Associee a la factorisation A = Q R avec R triang. sup. et Qortho., Q produit de n − 1 matrices de Householder Hi .• Ax = b s’ecrit alors Hn−1 · · · H2 H1 Ax = Hn−1 · · · H2 H1 bfacile a resoudre car Hn−1 · · · H2 H1 A triang. sup.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 39: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode de Gauss : description (1)

• (S) : Ax = b avec A inversible

• On pose b(1) = b et A(1) = A = (a(1)i ,j ) (S (1)) : A(1) x = b(1)

Etape 1

• A inversible ⇒ on suppose (quitte a permuter lignes) a(1)1,1 6= 0.

C’est le premier pivot de l’elimination de Gauss

• Pour i = 2, . . . , n, on remplace Li par Li − gi ,1 L1 ou gi ,1 =a

(1)i,1

a(1)1,1

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 40: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode de Gauss : description (2)

• On obtient alors (S (2)) : A(2) x = b(2) avec :

a(2)1,j = a

(1)1,j , j = 1, . . . , n

a(2)i ,1 = 0, i = 2, . . . , n

a(2)i ,j = a

(1)i ,j − gi ,1 a

(1)1,j , i , j = 2, . . . , n

b(2)1 = b

(1)1

b(2)i = b

(1)i − gi ,1 b

(1)1 , i = 2, . . . , n

• La matrice A(2) et le vecteur b(2) sont donc de la forme :

A(2) =

a(1)1,1 a

(1)1,2 . . . a

(1)1,n

0 a(2)2,2 . . . a

(2)2,n

0...

......

......

0 a(2)n,2 . . . a

(2)n,n

, b(2) =

b

(1)1

b(2)2...

b(2)n

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 41: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode de Gauss : description (3)

Etape k

• On a ramene le systeme a (S (k)) : A(k) x = b(k) avec

A(k) =

a(1)1,1 . . . . . . a

(1)1,k . . . a

(1)1,n

0 a(2)2,2 a

(2)2,k . . . a

(2)2,n

0 0 a(3)3,3 a

(3)3,k . . . a

(3)3,n

.... . .

. . .. . .

......

0 . . . 0 0 a(k)k,k . . . a

(k)k,n

...... 0 a

(k)k+1,k . . . a

(k)k+1,n

......

......

...

0 . . . 0 0 a(k)n,k . . . a

(k)n,n

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 42: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode de Gauss : description (4)

• A inversible ⇒ on suppose (quitte a permuter lignes) a(k)k,k 6= 0.

C’est le k ieme pivot de l’elimination de Gauss

• Par le meme principe qu’a l’etape 1 et en utilisant gi ,k =a

(k)i,k

a(k)k,k

pour

i > k , on obtient alors (S (k+1)) : A(k+1) x = b(k+1) avec

A(k+1) =

a(1)1,1 . . . . . . a

(1)1,k+1 . . . . . . a

(1)1,n

0 a(2)2,2 a

(2)2,k . . . . . . a

(2)2,n

0 0 a(3)3,3 a

(3)3,k . . . . . . a

(3)3,n

.... . .

. . .. . .

......

0 . . . 0 0 a(k)k,k . . . . . . a

(k)k,n

...... 0 0 a

(k+1)k+1,k+1 . . . a

(k+1)k+1,n

......

......

......

0 . . . 0 0 0 a(k+1)n,k+1 . . . a

(k+1)n,n

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 43: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode de Gauss : description (5)

Etape n − 1

• Le systeme (S (n)) : A(n) x = b(n) obtenu est triangulairesuperieure avec

A(n) =

a(1)1,1 . . . . . . a

(1)1,n

0 a(2)2,2 a

(2)2,n

0 0 a(3)3,3 a

(3)3,n

.... . .

. . .. . .

...

0 . . . 0 0 a(n)n,n

• On peut le resoudre par l’algorithme de substitution retrograde

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 44: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode de Gauss : exemple (1)

(S) = (S (1))

x1 + 2 x2 + 5 x3 = 1,

3 x1 + 2 x2 − x3 = 12 ,

5 x2 + 3 x3 = 1.

• Le premier pivot de l’elimination de Gauss est donc a(1)1,1 = 1 et on

a g(1)2,1 = 3, g

(1)3,1 = 0. La premiere etape fournit donc

(S (2))

x1 + 2 x2 + 5 x3 = 1,

−4 x2 − 16 x3 = −52 ,

5 x2 + 3 x3 = 1.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 45: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode de Gauss : exemple (2)

• Le second pivot de l’elimination de Gauss est donc a(2)2,2 = −4 et

on a g(2)3,2 = −5

4 . On obtient donc le systeme

(S (3))

x1 + 2 x2 + 5 x3 = 1,

−4 x2 − 16 x3 = −52 ,

−17 x3 = −178 .

• Algorithme de substitution retrograde x1 = x2 = x3 = 18

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 46: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Point de vue numerique : strategies de choix du pivot (1)

• Au cours de l’execution de l’elimination de Gauss, si on tombe surun pivot nul, alors on permute la ligne en question avec une ligne endessous pour se ramener a un pivot non nul (ceci est toujourspossible car A est supposee inversible).

Certains choix de pivots peuvent s’averer plus judicieux que d’autres.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 47: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Point de vue numerique : strategies de choix du pivot (2)

Exemple : considerons le systeme (S) : Ax = b ou

A =

(α 11 1

), b =

(12

), α ∈ R∗

• On suppose de plus α 6= 1 de sorte que A est inversible

• Solution x∗1 = 11−α , x∗2 = 1−2α

1−α

• Supposons maintenant que α est tres petit (0 α < 1) etappliquons l’elimination de Gauss

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 48: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Point de vue numerique : strategies de choix du pivot (3)

• Premier pivot α, g2,1 = 1α (S (2)) : A(2) x = b(2) avec

A(2) =

(α 10 1− 1

α

), b(2) =

(1

2− 1α

).

− 1α x2 ≈ − 1

α d’ou x2 ≈ 1 et x1 ≈ 0 ce qui est faux !

• L’erreur ne provient pas seulement du fait que α est tres petit carsi on multiplie la premiere ligne par une puissance de 10 quelconque,on va trouver la meme erreur ...

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 49: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Point de vue numerique : strategies de choix du pivot (4)

• Notons x2 = x∗2 + δx2 ou |δx2| est l’erreur absolue sur x2

• On a alors

x1 =1− x2

α=

1− x∗2α

− δx2

α,

Erreur δx1 = 1α δx2 sur x1 tres amplifiee par rapport a δx2.

• Cause = desequilibre entre coeffs de x1 et x2 sur la ligne du pivot

• Pour y remedier, echanger les lignes et appliquer Gauss avec 1comme pivot. On obtient alors

A(2) =

(1 10 1− α

), b =

(2

1− 2α

),

d’ou x2 ≈ 1 et x1 ≈ 1 ce qui est correct.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 50: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Elimination de Gauss a pivot partiel

• A l’etape k , on echange les lignes k et k ′ (k ′ ≥ k) de A(k) de telle

sorte que : |a(k)k,k | = max|a(k)

i ,k |, i ≥ k.

Exemple : pour

(S) :

x1 + 2 x2 + 5 x3 = 1

3 x1 + 2 x2 − x3 = 12

5 x2 + 3 x3 = 1

a la premiere etape, on permute les lignes 1 et 2 :

(S ′) :

3 x1 + 2 x2 − x3 = 1

2

x1 + 2 x2 + 5 x3 = 1

5 x2 + 3 x3 = 1

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 51: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Elimination de Gauss a pivot total

• A l’etape k , on echange a la fois les lignes k et k ′ (k ′ ≥ k) et lescolonnes k et k ′′ (k ′′ ≥ k) de telle sorte que :

|a(k)k,k | = max|a(k)

i ,j |, i ≥ k, j ≥ k.

Attention : Si on echange des colonnes, cela modifie l’ordre descomposantes de x donc il faut penser a retablir le bon ordre a la fin.

Exemple : pour

(S) :

x1 + 2 x2 + 5 x3 = 1

3 x1 + 2 x2 − x3 = 12

5 x2 + 3 x3 = 1

a la premiere etape, on permute les colonnes 1 et 3 :

(S ′) :

5 x3 + 2 x2 + x1 = 1

−x3 + 2 x2 + 3 x1 = 12

3 x3 + 5 x2 = 1

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 52: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Lien avec la factorisation LU d’une matrice (1)

Definition

On appelle factorisation LU de A une facto. A = LU avec L triang.inf. et U triang. sup. (de la meme taille que A).

Lemme

A l’etape k de l’elimination de Gauss, on a A(k+1) = Gk A(k) ou

Gk =

1 (0) 0 . . . 0. . .

......

(0) 1 0 . . . 00 . . . 0 −gk+1,k 1 (0)...

......

. . .

0 . . . 0 −gn,k (0) 1

, gi ,k =

a(k)i ,k

a(k)k,k

On a de plus b(k+1) = Gk b(k).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 53: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Lien avec la factorisation LU d’une matrice (2)

Definition

Soit A ∈Mn×n(K). Les mineurs fondamentaux Dk , k = 1, . . . , n deA sont les determinants des sous-matrices de A formees par les kpremieres lignes et les k premieres colonnes de A :

Dk = det ((ai ,j)1≤i ,j≤k) , k = 1, . . . , n.

Theoreme

Soit A ∈Mn×n(K) une matrice carree inversible. Les proprietessuivantes sont equivalentes :

(i) L’elimination de Gauss s’effectue sans permutation de lignes ;

(ii) Il existe L ∈Mn×n(K) triangulaire inferieure inversible etU ∈Mn×n(K) triangulaire superieure inversible telles queA = LU ;

(iii) Tous les mineurs fondamentaux de A sont non nuls.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 54: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Lien avec la factorisation LU d’une matrice (3)

Lemme

Avec les notations precedentes, on a

(Gn−1 Gn−2 · · ·G1)−1 =

1 0 . . . . . . 0

g2,1 1. . .

...

g3,1 g3,2 1. . .

......

.... . .

. . . 0gn,1 gn,2 . . . gn,n−1 1

.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 55: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Lien avec la factorisation LU d’une matrice (4)

Corollaire

Soit A ∈Mn×n(K) une matrice carree inversible. Si tous lesmineurs fondamentaux de A sont non nuls, alors avec les notationsprecedentes, l’elimination de Gauss fournit la factorisation LU de Asuivante :

A =

1 0 . . . . . . 0

g2,1 1. . .

...

g3,1 g3,2 1. . .

......

.... . .

. . . 0gn,1 gn,2 . . . gn,n−1 1

a

(1)1,1 . . . . . . a

(1)1,n

0 a(2)2,2 a

(2)2,n

0 0 a(3)3,3 a

(3)3,n

.... . .

. . .. . .

...

0 . . . 0 0 a(n)n,n

.

• Remarque : la matrice L obtenue est a diagonale unite.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 56: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Factorisation LU : exemple

Pour la matrice du systeme

(S) :

x1 + 2 x2 + 5 x3 = 1

3 x1 + 2 x2 − x3 = 12

5 x2 + 3 x3 = 1

on a : 1 2 53 2 −10 5 3

︸ ︷︷ ︸

A

=

1 0 03 1 00 −5

4 1

︸ ︷︷ ︸

L

1 2 50 −4 −160 0 −17

︸ ︷︷ ︸

U

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 57: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Lien avec la factorisation LU d’une matrice (5)

Proposition

Soit A ∈Mn×n(K) une matrice carree inversible admettant unefactorisation LU. Alors il existe une unique factorisation LU de Aavec L a diagonale unite.

• Lorsque A admet une factorisation LU, la resolution du systemed’equations lineaires (S) : Ax = b se ramene a la resolution dedeux systemes lineaires triangulaires. En effet :

Ax = b ⇐⇒ LU x = b ⇐⇒

L y = b,U x = y .

• En pratique, on resout donc d’abord L y = b puis connaissant yon resout U x = y .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 58: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Matrice de permutation

Definition

On appelle matrice de permutation associee a une permutationσ ∈ Sn, la matrice Pσ = (δiσ(j)) ou δij = 1 si i = j , δij = 0 sinon.

• Exemple :

σ : (1, 2, 3, 4, 5) 7→ (3, 2, 5, 1, 4) Pσ =

0 0 1 0 00 1 0 0 00 0 0 0 11 0 0 0 00 0 0 1 0

.

• Multiplier A a gauche (resp. a droite) par une matrice depermutation revient alors a permuter des lignes (resp. les colonnes)

• Les matrices de permutation sont orthogonales : P−1σ = PT

σ .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 59: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Lien avec la factorisation LU d’une matrice (6)

• Nous avons vu une CNS pour qu’une matrice inversible admetteune factorisation LU. Lorsque cette factorisation LU n’existe pas, onpeut tout de meme utiliser le theoreme suivant :

Theoreme

Soit A ∈Mn×n(K) une matrice carree inversible. Il existe unematrice de permutation P telle que P A admette une factorisationLU.

• Notons que dans ce cas, on a :

Ax = b ⇐⇒ P Ax = P b ⇐⇒ LU x = P b ⇐⇒

L y = P b,U x = y .

• En pratique, on resout donc d’abord L y = P b puis connaissant yon resout U x = y .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 60: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Cout de l’algorithme de Gauss

Lemme

Soit A ∈Mn×n(K) une matrice carree inversible. Resoudre unsysteme lineaire (S) : Ax = b via l’elimination de Gauss necessite

un nombre d’operations a virgule flottante equivalent a 2 n3

3 lorsquen tend vers l’infini. Ce cout asymptotique est aussi celui du calculde la factorisation LU de A.

• Pour n = 100, cela donne 6, 6.105 operations a virgule flottante acomparer a 9, 4.10161 avec Cramer

• Avec un ordinateur fonctionnant a 100 megaflops, cela prendramoins de 7 milliemes de secondes. A comparer avec 3.10146 anneespour Cramer

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 61: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Faut-il inverser une matrice ?

• Etant donnee la factorisation LU de A, le cout du calcul del’inverse A−1 de A lorsque n tend vers l’infini est de 4 n3

3 operationsa virgule flottante

• Au total, lorsque n tend vers l’infini, il faut donc 2 n3 operations avirgule flottante pour calculer l’inverse de A

Asymptotiquement (i.e., lorsque n tend vers l’infini), il faut 3 foisplus d’operations a virgule flottante pour calculer l’inverse de A quepour resoudre le systeme lineaire Ax = b en utilisant l’eliminationde Gauss

⇒ Il ne faut pas calculer l’inverse d’une matrice pour resoudre unsysteme lineaire

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 62: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Resolution de plusieurs systemes de meme matrice A

• Soit A ∈Mn×n(K) une matrice carree inversible et supposons quel’on ait a resoudre K systemes lineaires avec la meme matrice A etN seconds membres b[1], . . . , b[K ]

• Gauss a chacun de ces systemes K 4 n3+9 n2−7 n6 flops

• Facto. LU de A puis resolution successive des 2K systemes

triangulaires (

4 n3+3 n2−7 n6

)+ 2K n2 flops

• Calcul de l’inverse A−1 de A puis resolution successive dessystemes en posant x [i ] = A−1 b[i ] 2 n3 + 2K n2 flops

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 63: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode de Cholesky (1)

• Alternative a Gauss pour matrices symetriques et definies positives

Definition

Une matrice A ∈Mn×n(K) est dite symetrique si elle est egale a satransposee, i.e., AT = A.

Definition

Soit K = R ou C. Le produit scalaire canonique sur Kn est definicomme l’application 〈. , .〉 : Kn ×Kn → K, (u, v) 7→ 〈u, v〉 quiverifie :

Si K = R, 〈u, v〉 = vT u =∑n

i=1 ui vi (produit scalaireeuclidien),

Si K = C, 〈u, v〉 = vT u =∑n

i=1 ui vi (produit scalairehermitien).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 64: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode de Cholesky (2)

Definition

Une matrice A ∈Mn×n(K) est dite definie positive, resp. semidefinie positive si pour tout x ∈ Rn non nul, on a 〈Ax , x〉 > 0, resp.〈Ax , x〉 ≥ 0.

1 Une matrice definie positive est inversible ;2 Si A ∈Mn×n(K) est inversible, alors AT A est symetrique et

definie positive ;3 Si A = (ai ,j) ∈Mn×n(K) est definie positive, alors ai ,i > 0

pour tout i = 1, . . . , n.

Theoreme

Une matrice reelle A ∈Mn×n(R) est symetrique definie positive ssiil existe une matrice L = (li ,j)1≤i ,j≤n ∈Mn×n(R) triangulaireinferieure inversible telle que A = L LT . De plus, si pour touti = 1, . . . , n, li ,i ≥ 0, alors L est unique.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 65: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Algorithme de Cholesky

Entree : A = (ai ,j)1≤i ,j≤n ∈Mn×n(R) symetrique et definiepositive.Sortie : L = (li ,j)1≤i ,j≤n ∈Mn×n(R) tel que A = L LT .

1 l1,1 =√a1,1 ;

2 Pour i de 2 a n par pas de 1, faire :

li,1 =ai,1

l1,1;

3 Pour j de 2 a n par pas de 1, faire :Pour i de 1 a j − 1 par pas de 1, faire :

li,j = 0 ;

lj,j =√aj,j −

∑j−1k=1 l

2j,k ;

Pour i de j + 1 a n par pas de 1, faire :

li,j =ai,j−

∑j−1k=1

li,k lj,klj,j

;

4 Retourner L = (li ,j)1≤i ,j≤n ∈Mn×n(R).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 66: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Cout de l’algorithme de Cholesky

Proposition

L’algorithme de Cholesky decrit ci-dessus necessite n extractions deracines carrees et un nombre d’operations a virgule flottanteequivalent a n3

3 lorsque n tend vers l’infini.

• Asymptotiquement, presque deux fois moins d’operations a virguleflottante que pour LU

Il est conseille de l’utiliser lorsque A est reelle symetrique etdefinie positive

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 67: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Matrices de Householder

• Ici A ∈Mn×n(R) est une matrice reelle inversible

Definition

On appelle matrice (elementaire) de Householder une matrice H dela forme Hu = In − 2 u uT , ou u ∈ Rn est un vecteur unitairec’est-a-dire de norme 1 pour la norme associee au produit scalairecanonique sur Rn definie par ‖u‖ =

√〈u, u〉.

• Exemple : pour n = 3, on peut considerer le vecteur

u = 1√6

(−1 1 2

)Tqui verifie bien ‖u‖ = 1. On obtient alors

la matrice de Householder Hu = 13

2 1 21 2 −22 −2 −1

.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 68: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Matrices Orthogonales

Definition

Une matrice A ∈Mn×n(K) est dite orthogonale si elle est reelle,i.e., A ∈Mn×n(R) et si AAT = AT A = In.

Proposition

Toute matrice de Householder H est symetrique et orthogonale.

Proposition

Pour tout vecteur u ∈ Rn tel que ‖u‖ = 1, on a Hu u = −u. Deplus, si v ∈ Rn est orthogonal a u, i.e., 〈u, v〉 = 0, alors Hu v = v .

• Hu represente la symetrie orthogonale par rapport a u⊥

Lemme

Soit x et y deux vecteurs de Rn tels que x 6= y et ‖x‖ = ‖y‖. Alorsil existe un vecteur unitaire u ∈ Rn tel que Hu x = y .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 69: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Principe de la methode de Householder

• Methode basee sur les deux propositions suivantes :

Proposition

Soit v un vecteur non nul de Rn. Alors il existe une matrice deHouseholder H et un reel α tels que H v = α e1, oue1 = (1, 0, . . . , 0)T est le premier vecteur de la base canonique deRn.

Proposition

Soit u = (ui ) un vecteur unitaire de Rn tel que u1 = · · · = up = 0pour p < n. On decompose alors u en deux blocs : u = (0 z)T

avec z ∈ Rn−p. La matrice de Householder Hu se decompose alors

par blocs de la maniere suivante : Hu =

(Ip 00 Hz

).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 70: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Principe de la methode de Householder

A =

× × × × ×× × × × ×× × × × ×× × × × ×× × × × ×

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 71: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Principe de la methode de Householder

A =

× × × × ×× × × × ×× × × × ×× × × × ×× × × × ×

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 72: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Principe de la methode de Householder

H1 A =

× × × × ×0 × × × ×0 × × × ×0 × × × ×0 × × × ×

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 73: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Principe de la methode de Householder

H1 A =

× × × × ×0 × × × ×0 × × × ×0 × × × ×0 × × × ×

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 74: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Principe de la methode de Householder

H2 H1 A =

× × × × ×0 × × × ×0 0 × × ×0 0 × × ×0 0 × × ×

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 75: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Principe de la methode de Householder

H2 H1 A =

× × × × ×0 × × × ×0 0 × × ×0 0 × × ×0 0 × × ×

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 76: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Principe de la methode de Householder

H3 H2 H1 A =

× × × × ×0 × × × ×0 0 × × ×0 0 0 × ×0 0 0 × ×

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 77: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Principe de la methode de Householder

H3 H2 H1 A =

× × × × ×0 × × × ×0 0 × × ×0 0 0 × ×0 0 0 × ×

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 78: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Principe de la methode de Householder

H4 H3 H2 H1 A =

× × × × ×0 × × × ×0 0 × × ×0 0 0 × ×0 0 0 0 ×

= R

Donc A = (H4 H3 H2 H1)TR.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 79: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Exemple (1)

(S) :

2 x1 + x2 + 2 x3 = 1,x1 + x2 + 2 x3 = 1,

2 x1 + x2 + x3 = 1.

Etape 1

• 1iere colonne de A donnee par (S) : a1 = (2 1 2)T

• v1 = a1‖a1‖ − e1 = 1

3 (−1 1 2)T

• u1 = v1‖v1‖ = 1√

6

(−1 1 2

)T• Matrice de Householder Hu1 = 1

3

2 1 21 2 −22 −2 −1

Ax = b ⇔ Hu1 Ax = Hu1 b ⇔

9 5 80 1 40 −1 −1

x1

x2

x3

=

51−1

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 80: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Exemple (2)

Etape 2

• Dans R2 et on considere le vecteur a2 = (1 − 1)T

• z ′2 = a2‖a2‖ − e ′1 ou e ′1 = (1, 0)

• z2 =z ′2‖z ′2‖

et Hz2 = 1√2

(1 −1−1 −1

)• u2 =

(0 z2

)Tet Hu2 =

(1 00 Hz2

)A x = b ⇔ Hu2

Hu1A x = Hu2

Hu1b ⇔

9 5 8

0√

2 5√2

0 0 − 3√2

x1

x2x3

=

5√2

0

Systeme triangulaire et x = (0 1 0)T .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 81: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Factorisation QR d’une matrice

Definition

Soit A ∈Mn×n(R) une matrice carree reelle inversible. On appellefactorisation QR de A une factorisation de la forme A = Q R avecQ ∈Mn×n(R) orthogonale et R ∈Mn×n(R) triangulaire superieure.

• Generalisation de l’exemple precedent pour A quelconque detaille n, on obtient n − 1 matrices de Householder H1, . . . ,Hn−1

telles que R = Hn−1 Hn−2 · · ·H1 A triang. sup.• Q = (Hn−1 Hn−2 · · ·H1)−1 (orthogonale) de sorte que A = Q R

Theoreme

Pour toute matrice reelle A ∈Mn×n(R), il existe une matriceorthogonale Q ∈Mn×n(R) produit d’au plus (n − 1) matrices deHouseholder et une matrice triangulaire superieure R ∈Mn×n(R)telles que A = Q R.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 82: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Cout de la factorisation QR

Proposition

La methode de Householder pour resoudre un systeme lineairenecessite un nombre d’operations a virgule flottante equivalent a4 n3

3 lorsque n tend vers l’infini.

• Cout relativement eleve compare a Gauss ou Cholesky.

• Plus stable numeriquement que Gauss ou Cholesky

• Factorisation QR existe pour des matrices rectangulaires : utilisepour des problemes de moindres carres (voir TP).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 83: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Chapitre 3

Conditionnement d’une matricepour la resolution d’un systeme

lineaire

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 84: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Normes vectorielles

Soit E un espace vectoriel sur K = R ou C.

Definition

On appelle norme sur E une application ‖.‖ : E → R+ telle que :

∀ x ∈ E , (‖x‖ = 0⇒ x = 0) ;

∀λ ∈ K, ∀ x ∈ E , ‖λ x‖ = |λ| ‖x‖ ;

∀ (x , y) ∈ E 2, ‖x + y‖ ≤ ‖x‖+ ‖y‖.

• Normes classiques sur Rn : ‖.‖1, ‖.‖2 et ‖.‖∞ definies par :

‖x‖1 =n∑

i=1

|xi |, ‖x‖2 =

(n∑

i=1

|xi |2) 1

2

= 〈x , x〉12 , ‖x‖∞ = max

1≤i≤n|xi |

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 85: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Normes matricielles et normes subordonnees

Definition

Une norme ‖.‖ sur Mn×n(K) est une norme matricielle si elleverifie : ∀ (A,B) ∈Mn×n(K)2, ‖AB‖ ≤ ‖A‖ ‖B‖.

• Exemple fondamental : normes dites subordonnees associees a unenorme vectorielle :

Theoreme et Definition

Soit ‖.‖ une norme vectorielle sur Kn. Pour toute matriceA ∈Mn×n(K), on definit ‖.‖M : Mn×n(K)→ R+ par

‖A‖M = supx∈Kn\0‖Ax‖‖x‖ . Alors ‖.‖M est une norme matricielle.

Elle est dite norme subordonnee a la norme vectorielle ‖.‖.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 86: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Normes subordonnees classiques

• Normes subordonnees associees aux normes vectorielles ‖.‖1, ‖.‖2

et ‖.‖∞ de Rn : ∀A = (ai ,j)1≤i ,j≤n ∈Mn×n(K) :

‖A‖1 = max1≤j≤n

n∑i=1

|ai ,j |

‖A‖2 =√ρ(AA∗)

‖A‖∞ = max1≤i≤n

n∑j=1

|ai ,j |

ou :

A∗ = AT

designe la matrice adjointe de A

ρ(M) designe le rayon spectral d’une matrice M cad lemaximum des modules des valeurs propres de M.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 87: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Conditionnement d’une matrice : exemple

Considerons le systeme lineaire (S) : Ax = b avec

A =

10 7 8 77 5 6 58 6 10 97 5 9 10

, b =

32233331

.

• On remarque que :

A est symetrique

det(A) = 1

la solution de (S) est donnee par x = (1 1 1 1)T

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 88: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Premier cas : b est perturbe (1)

• Perturbons legerement le second membre b et considerons

b′ =

32, 122, 933, 130, 9

• Si on resout le systeme (S ′) : Ax ′ = b′, on trouvex ′ = (9, 2 − 12, 6 4, 5 − 1, 1)T

La petite perturbation sur le second membre b entraıne donc uneforte perturbation sur la solution du systeme

• D’une maniere generale, pour Ax = b et A (x + δx) = b + δb :

‖δx‖‖x‖

≤ ‖A−1‖.‖A‖.‖δb‖‖b‖

.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 89: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Premier cas : b est perturbe (2)

• Majoration optimale : il n’existe pas de borne plus petite qui soitvalable pour tout systeme !

• A =

(1 00 1

2

), b = (1 0)T , et δb = (0 1

2 )T

Solution de Ax = b : x = (1 0)T et celle de A δx = δb estδx = (0 1)T

‖δx‖‖x‖ = 1, ‖δb‖‖b‖ = 1

2

Or ‖A−1‖.‖A‖ = 2 donc la borne est atteinte.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 90: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Deuxieme cas : A est perturbee

• Si on perturbe legerement la matrice A :

A′′ =

10 7 8, 1 7, 2

7, 08 5, 04 6 58 5, 98 9, 89 9

6, 99 4, 99 9 9, 98

,

Solution de (S ′′) : A′′ x ′′ = b : x ′′ = (−81 107 − 34 22)T .

• D’une maniere generale, pour Ax = b et (A + ∆A) (x + δx) = b :

‖δx‖‖x + δx‖

≤ ‖A−1‖.‖A‖.‖∆A‖‖A‖

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 91: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Conditionnement : definition

Definition

Soit ‖.‖ une norme matricielle subordonnee et A une matriceinversible. Le nombre Cond(A) = ‖A−1‖.‖A‖ s’appelle leconditionnement de A relatif a la norme ‖.‖.

• Ce nombre mesure la sensibilite de la solution par rapport auxdonnees du probleme

• Une matrice est :

bien conditionnee si Cond(A) ≈ 1

mal conditionnee si Cond(A) 1

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 92: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Exemples

• Matrices bien conditionnees

A =

4 1 0 . . . 0

1 4 1. . .

...

0 1. . .

. . . 0...

. . .. . .

. . . 10 . . . 0 1 4

Cond∞(A) ≤ 3

• Matrices mal conditionnees : matrices Hn et Vn

Hn =

(1

i + j − 1

)1≤i ,j≤n

, Vn =

((j

n

)i−1)

1≤i ,j≤n

n Cond(Hn) Cond(Vn)

2 27 84 2, 8.104 5, 6.102

6 2, 9.107 3, 7.104

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 93: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Propriete du conditionnement

Proposition

Soit A une matrice reelle et considerons la norme matriciellesubordonnee ‖A‖2 =

√ρ(AA∗). On a

Cond2(A) = ‖A−1‖2.‖A‖2 =

√ρ(AAT )

σ(AAT ),

ou σ(M) designe le minimum des modules des valeurs propres de M.

En particulier, si A est symetrique, alors on a Cond2(A) = ρ(A)σ(A) .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 94: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Estimation theorique de l’erreur a priori (1)

Theoreme (Cas b perturbe)

Soit A ∈Mn×n(R) inversible et b ∈ Rn tels que Ax = b etA (x + δx) = b + δb avec x 6= 0. Alors on a :

1

Cond(A).‖δb‖‖b‖

≤ ‖δx‖‖x‖

≤ Cond(A).‖δb‖‖b‖

,

Theoreme (Cas A perturbee)

Soit A ∈Mn×n(R) inversible, b ∈ Rn et ∆A ∈Mn×n(R) tels que‖A−1‖.‖∆A‖ < 1. Alors A + ∆A est inversible. De plus si onsuppose Ax = b et (A + ∆A) (x + δx) = b avec x 6= 0, alors on a :

‖δx‖‖x‖

≤Cond(A).‖∆A‖

‖A‖

1− Cond(A).‖∆A‖‖A‖

.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 95: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Estimation theorique de l’erreur a priori (2)

Theoreme (Cas A et b perturbes)

Soit A ∈Mn×n(R) inversible, b ∈ Rn et ∆A ∈Mn×n(R) verifiant‖A−1‖.‖∆A‖ < 1. Si l’on suppose que Ax = b et(A + ∆A) (x + δx) = b + δb avec x 6= 0, alors on a :

‖δx‖‖x‖

≤ Cond(A)

1− Cond(A).‖∆A‖‖A‖

(‖δb‖‖b‖

+‖∆A‖‖A‖

).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 96: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Estimation theorique de l’erreur a posteriori

• Ax = b, ? erreur commise sur la solution reellement calculee

• x la solution exacte, y la solution obtenue. r = Ay − b (residu)

Theoreme

‖y − x‖ ≤ Cond(A).‖r‖‖b‖

.‖x‖.

• Conditionnement est grand ⇒ erreur relative peut etre grande

• Difficile a utiliser car en general conditionnement inconnu !

• C approximation de A−1 (par Gauss), R = AC − In

Theoreme

Si ‖R‖ < 1, alors ‖y − x‖ ≤ ‖r‖.‖C‖1−‖R‖ .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 97: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Chapitre 4

Resolution d’un systemed’equations lineaires (Partie

2) : methodes iteratives

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 98: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Motivation

• Les methodes directes exigent un nombre de flops de l’ordre de n3

lorsque n devient grand ce qui les rend lentes !

Methodes iteratives deviennent indispensables des que la taille ndu systeme est grande, n ≥ 1000

• De tels systemes apparaissent par exemple dans les techniques deresolution numerique d’equations aux derivees partielles

• Les matrices des systemes obtenus sont en general creuses (cadqu’elles ont beaucoup de 0) et (semi) definies positives

• Les methodes iteratives s’appliquent sur R ou C mais pas Fp !

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 99: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Exemple introductif (1)

• Donnee : une fonction f : R2 → R

• Probleme : trouver une solution approchee u : Ω ⊂ R2 → R de :−∆u = f , ∀(x , y) ∈ Ω =]0, 1[×]0, 1[,u = 0, ∀(x , y) ∈ ∂Ω,

ou :

∆u = ∂2u∂x2 + ∂2u

∂y2 designe le laplacien de la fonction u

∂Ω la frontiere de Ω

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 100: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Exemple introductif (2)

• Discretisation de Ω =]0, 1[×]0, 1[ de pas h

• ? fonction etagee u t.q. u → u lorsque h→ 0

h =1

n + 1, u =

∑i ,j

ui ,j χi ,j

χi ,j fonction caracteristique du pave

Pi ,j =](i − 1

2) h, (i +

1

2) h[×](j − 1

2) h, (j +

1

2) h[

On note alors xi ,j = (i h, j h) les nœuds du quadrillage.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 101: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Exemple introductif (3)

x

y

1

1

h

h

•x2,3

P2,3

←− Ω

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 102: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Exemple introductif (4)

• Definition de la derivee d’une fonction : h suffisamment petit :

∂u

∂x≈

u(x + h2 , y)− u(x − h

2 , y)

h,

∂2u

∂x2≈ u(x + h, y)− 2 u(x , y) + u(x − h, y)

h2

Approximations par differences finies

f =∑i ,j

fi ,j χi ,j

4 ui ,j − ui−1,j − ui+1,j − ui ,j−1 − ui ,j+1 = h2 fi ,j ,

u0,j = un+1,j = ui ,0 = ui ,n+1 = 0,

• schema numerique dit implicite

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 103: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Exemple introductif (5)

• Systeme lineaire associe :

M =

4 −1 0 . . . 0

−1 4 −1. . .

...

0 −1. . .

. . . 0...

. . .. . .

. . . −10 . . . 0 −1 4

∈Mn×n(R)

• Xj = (u1,j u2,j . . . un,j)T , X = (XT

1 XT2 . . . XT

n )T

• Fj = (f1,j f2,j . . . fn,j)T , F = (FT

1 FT2 . . . FT

n )T

• En definissant de plus X0 = Xn+1 = 0, le systeme precedents’ecrit:

−Xj−1 + M Xj − Xj+1 = h2 Fj , 1 ≤ j ≤ n

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 104: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Exemple introductif (6)

AX = h2 F , A =

M −In 0 . . . 0

−In M −In. . .

...

0 −In. . .

. . . 0...

. . .. . .

. . . −In0 . . . 0 −In M

∈Mn2×n2(R)

• A est symetrique reelle, definie positive (donc en particulierinversible).

Systeme lineaire tridiagonal par blocs de grande taille( h→ 0 equivaut a n→∞)

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 105: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Modele general d’un schema iteratif (1)

• A ∈Mn×n(K), b ∈ Kn et (S) : Ax = b

• Principe general : generer une suite de vecteurs qui converge versla solution A−1 b

• Idee : ecrire (S) sous une forme equivalente permettant de voir lasolution comme un point fixe :

(S)⇐⇒ B x + c = x

B ∈Mn×n(K) et c ∈ Kn bien choisis cad I− B inversible etc = (I− B)A−1 b

• Exemple : A = M − N (M inversible), B = M−1 N et c = M−1 b

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 106: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Modele general d’un schema iteratif (2)

• On se donne alors x (0) ∈ Kn et on construit une suite de vecteursx (k) ∈ Kn a l’aide du schema iteratif

(?) x (k+1) = B x (k) + c , k = 1, 2, . . . .

• Si (x (k))k∈N est convergente, alors elle converge vers la solutionA−1 b de (S)

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 107: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Convergence (1)

Definition

Une methode iterative definie par (x (k))k∈N pour resoudre unsysteme Ax = b est dite convergente si pour toute valeur initialex (0) ∈ Kn, on a limk→+∞ x (k) = A−1 b.

Lemme

Si la methode iterative est convergente et si on note x = A−1 b lasolution, alors

x (k) − x = Bk(x (0) − x).

• x (k) − x erreur a la k-ieme iteration estimation de cette erreuren fonction de l’erreur initiale

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 108: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Convergence (2)

Theoreme

Les assertions suivantes sont equivalentes :

(i) (?) est convergente ;

(ii) Pour tout y ∈ Kn, limk→+∞ Bk y = 0 ;

(iv) Pour toute norme matricielle ‖.‖ sur Mn×n(K), on alimk→+∞ ‖Bk‖ = 0.

• En pratique, caracterisations difficiles a verifier

Theoreme

Les assertions suivantes sont equivalentes :

(i) (?) est convergente ;

(ii) ρ(B) < 1, ou ρ(B) designe le rayon spectral de la matrice B ;

(iii) Il existe une norme matricielle ‖.‖ sur Mn×n(K) subordonnee aune norme vectorielle ‖.‖ sur Kn telle que ‖B‖ < 1.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 109: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Vitesse de convergence (1)

Definition

Considerons un schema iteratif (?) convergent. Soit ‖.‖ une normematricielle sur Mn×n(K) et soit k un entier tel que ‖Bk‖ < 1. Onappelle taux moyen de convergence associe a la norme ‖.‖ pour kiterations de x (k+1) = B x (k) + c le nombre positif

Rk(B) = − ln

([‖Bk‖

] 1k

).

Definition

Considerons deux methodes iteratives convergentes(1) x (k+1) = B1 x

(k) + c1, k = 1, 2, . . . ,(2) x (k+1) = B2 x

(k) + c2, k = 1, 2, . . . .Soit k un entier tel que ‖Bk

1 ‖ < 1 et ‖Bk2 ‖ < 1. On dit que (1) est

plus rapide que (2) relativement a la norme ‖.‖ si Rk(B1) ≥ Rk(B2).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 110: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Vitesse de convergence (2)

Definition

On appelle taux asymptotique de convergence le nombre

R∞(B) = limk→+∞

Rk(B) = − ln(ρ(B)).

Theoreme

Une methode iterative est d’autant plus rapide que son tauxasymptotique de convergence est grand cad que ρ(B) est petit.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 111: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Les methodes iteratives classiques

• (S) : Ax = b avec A inversible

• Idee : deduire un schema iteratif d’une decompositionA = M − N, M inversible

• En pratique, on suppose que les systemes de matrice M sontfaciles a resoudre (par ex. M diagonale, triangulaire, . . . )

• (S) s’ecrit alors M x = N x + b cad x = B x + c avec B = M−1 Net c = M−1 b et on considere le schema iteratif associe :

x (0) ∈ Kn, M x (k+1) = N x (k) + b.

• On montre alors que I− B inversible et c = (I− B)A−1 b

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 112: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Trois exemples classiques (1)

• Dans ce cours, 3 exemples classiques : les methodes de Jacobi,Gauss-Seidel et de relaxation

• Point de depart : decomposition de A = (ai ,j)1≤i ,j≤n sous laforme A = D − E − F avec :

D = (di ,j)1≤i ,j≤n diagonale, telle que di ,i = ai ,i et di ,j = 0pour i 6= j ;

E = (ei ,j)1≤i ,j≤n triangulaire inferieure stricte telle queei ,j = −ai ,j si i > j et ei ,j = 0 si i ≤ j ;

F = (fi ,j)1≤i ,j≤n triangulaire superieure stricte telle quefi ,j = −ai ,j si i < j et fi ,j = 0 si i ≥ j ;

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 113: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Exemple de decomposition A = D − E − F

2 −1 12 2 2−1 −1 2

︸ ︷︷ ︸

A

=

2 0 00 2 00 0 2

︸ ︷︷ ︸

D

0 0 0−2 0 01 1 0

︸ ︷︷ ︸

E

0 1 −10 0 −20 0 0

︸ ︷︷ ︸

F

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 114: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Trois exemples classiques (2)

• On suppose D inversible

Methode de Jacobi : M = D, N = E + F ;

Methode de Gauss-Seidel : M = D − E , N = F ;

Methode de relaxation : M = 1ω (D − ω E ), N =

(1−ωω

)D + F

avec ω parametre reel non nul.

• Gauss-Seidel est un cas particulier de relaxation pour ω = 1.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 115: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode de Jacobi : description

• (S) : Ax = b avec A inversible

• A = M − N avec M = D inversible et N = E + F

• Le schema iteratif s’ecrit alors

D x (k+1) = (E +F ) x (k) +b ⇐⇒ x (k+1) = D−1 (E +F ) x (k) +D−1 b

Definition

La matrice BJ = D−1 (E + F ) s’appelle la matrice de Jacobiassociee a A.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 116: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Jacobi : mise en œuvre et complexite arithmetique

• ? nombre de flops pour calculer x (k+1) a partir de x (k)

• On a D x (k+1) = (E + F ) x (k) + b donc pour tout i = 1, . . . , n,(D x (k+1)

)i

=((E + F ) x (k)

)i

+ bi cad

ai ,i x(k+1)i = −

n∑j=1j 6=i

ai ,j x(k)j + bi

⇐⇒ x(k+1)i =

1

ai ,i

(−n∑

j=1j 6=i

ai ,j x(k)j ) + bi

. Pour K iterations, on aura besoin de K n (2 n − 1) flops !• Comparaison n = 1000 : Gauss 6, 6.108 et 100 it. de Jacobi 2.108

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 117: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Jacobi : convergence et exemple

Theoreme

La methode de Jacobi converge si et seulement si ρ(BJ) < 1.

• Exemple : pour la matrice A =

2 −1 12 2 2−1 −1 2

precedente :

BJ =

12 0 0

0 12 0

0 0 12

0 1 −1−2 0 −21 1 0

=

0 1

2 −12

−1 0 −1

12

12 0

.

• Valeurs propres : 0 et ± i√

52 donc ρ(BJ) =

√5

2 > 1 et la methodede Jacobi diverge

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 118: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode de Gauss-Seidel : description

• (S) : Ax = b avec A inversible

• A = M − N avec M = D − E inversible et N = F

• Le schema iteratif s’ecrit alors

(D−E ) x (k+1) = F x (k)+b ⇐⇒ x (k+1) = (D−E )−1 F x (k)+(D−E )−1 b

Definition

La matrice BGS = (D − E )−1 F s’appelle la matrice de Gauss-Seidelassociee a A.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 119: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Gauss-Seidel : mise en œuvre et complexite arithmetique(1)

• ? nombre de flops pour calculer x (k+1) a partir de x (k)

• On a (D − E ) x (k+1) = F x (k) + b donc pour tout i = 1, . . . , n,((D − E ) x (k+1)

)i

=(F x (k)

)i

+ bi c’est-a-dire

ai ,i x(k+1)i +

i−1∑j=1

ai ,j x(k+1)j = −

n∑j=i+1

ai ,j x(k)j + bi ,

ce qui entraıne

x(k+1)1 =

1

a1,1

− n∑j=2

a1,j x(k)j + b1

,et pour i = 2, . . . , n,

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 120: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Gauss-Seidel : mise en œuvre et complexite arithmetique(2)

x(k+1)i =

1

ai ,i

− i−1∑j=1

ai ,j x(k)j + bi −

n∑j=i+1

ai ,j x(k)j

. Pour K iterations, on aura besoin de K n (2 n − 1) flops ! (idemJacobi)

• Gauss-Seidel plus interessante en ce qui concerne la gestion de lamemoire !

On peut ecraser au fur et a mesure la valeur de x(k)i et ne stocker

au cours des calculs qu’un seul vecteur de taille n, e.g., le vecteur

(x(k+1)1 . . . x

(k+1)i x

(k)i+1 . . . x

(k)n )T , au lieu de deux vecteurs pour la

methode de Jacobi.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 121: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Gauss-Seidel : convergence et exemple

Theoreme

La methode de Gauss-Seidel converge si et seulement si ρ(BGS) < 1.

• Exemple : pour la matrice A =

2 −1 12 2 2−1 −1 2

precedente :

BGS =

2 0 02 2 0−1 −1 2

−1 0 1 −10 0 −20 0 0

,

BGS =

12 0 0

−12

12 0

0 14

12

0 1 −1

0 0 −20 0 0

=

0 1

2 −12

0 −12 −1

2

0 0 −12

.

• Valeurs propres : 0 et −12 (mult. 2) donc ρ(BGS) = 1

2 < 1 etGauss-Seidel converge

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 122: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode de la relaxation : desciption

• (S) : Ax = b avec A inversible

• Soit ω un parametre reel non nul. On pose A = M − N avecM = 1

ω (D − ω E ) inversible et N =(

1−ωω

)D + F

• Le schema iteratif s’ecrit alors

1

ω(D − ω E ) x (k+1) =

((1− ωω

)D + F

)x (k) + b,

x (k+1) = (D − ω E )−1 [(1− ω)D + ω F ] x (k) + ω (D − ω E )−1 b.

Definition

La matrice BR(ω) = (D − ω E )−1 [(1− ω)D + ω F ] s’appelle lamatrice de relaxation associee a A et ω est le facteur de relaxation.Si ω < 1, on parle de sous-relaxation, si ω = 1, on retrouve lamethode de Gauss-Seidel et si ω > 1, on parle de sur-relaxation.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 123: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode de la relaxation : convergence et exemple

Theoreme

La methode de relaxation converge si et seulement si ρ(BR(ω)) < 1.

• Exemple : pour la matrice A =

2 −1 12 2 2−1 −1 2

precedente :

BR(ω) =

1− ω 12 ω −1

2 ωω (ω − 1) −1

2 ω2 + 1− ω 1

2 ω2 − ω

12 ω (ω − 1)2 −1

4 ω3 − 1

4 ω2 + 1

2 ω14 ω

3 − 34 ω

2 + 1− ω

• Valeurs propres et donc convergence dependent de ω

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 124: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Cas particulier : matrice symetrique definie positive

Theoreme

Soit A une matrice symetrique definie positive et ecrivonsA = M − N avec M inversible et MT + N definie positive. Alors lamethode iterative

x (0) ∈ Kn, x (k+1) = M−1 N x (k) + M−1 b,

converge.

Corollaire

Soit A une matrice symetrique definie positive. Alors la methode deGauss-Seidel converge.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 125: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Cas particulier : matrice a diagonale strictement dominante

Definition

Une matrice A = (ai ,j)1≤i ,j≤n est dite a diagonale strictementdominante si :

∀ i = 1, . . . , n, |ai ,i | >n∑

j=1j 6=i

|ai ,j |.

• Exemple : matrice du systeme lineaire obtenu par discretisation del’edp −∆ u = f .

Theoreme

Soit A une matrice a diagonale strictement dominante. Alors A estinversible et les methodes de Jacobi et de Gauss-Seidel convergenttoutes les deux.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 126: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode alternative : gradient conjugue

Le gradient conjugue

Solution des systemes lineaires (S) : Ax = b avecA ∈Mn×n(R) symetrique et definie positive.

Un produit matrice×vecteur a chaque iteration methodebien adaptee aux systemes creux et de grande taille

La methode construit une suite de vecteurs (x (k))k=0,1,... telleque x (m) = A−1b pour un indice m ≤ n methode exacte enprincipe mais consideree comme une methode iterative a causedes erreurs numeriques.

Dans les applications, le nombre d’iterations necessaires estsignificativement plus petit que la taille du systeme, enparticulier si on utilise des techniques de preconditionnement.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 127: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Rappel : matrices definies positives

Definition

Soit A ∈Mn×n(R) symetrique. On dit que A est definie positive sipour tout x ∈ Rn non nul on a 〈Ax , x〉 = xTAx > 0.

Definition equivalente : une matrice reelle symetrique A est definiepositive si toutes ses valeurs propres sont positives.

Theoreme

Si A ∈Mn×n(R) symetrique est telle que

aii > 0 pour i = 1, . . . , n,

|aii | ≥∑

j 6=i |aij | pour i = 1, . . . , n et il existe i0 tel que|ai0i0 | >

∑j 6=i0|ai0j | (diagonale dominante),

alors A est definie positive.

Exemple : A =

2 1 01 2 10 1 2

est definie positive.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 128: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Matrices creuses

A ∈Mn×n(R) est creuse si le nombre d’elements non nuls estun petit multiple de n.Exemples : matrices tridiagonales, matrices d’adjacence,discretisation d’equations differentielles, . . .

0 5 10 15 20 25 30 35 40

0

5

10

15

20

25

30

35

40

nz = 1180 10 20 30 40 50 60

0

10

20

30

40

50

60

nz = 180

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 129: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Produit scalaire defini par A

Definition

Soit A ∈Mn×n(R) symetrique et definie positive. On definit lafonction ‖ · ‖A : Rn −→ R+ comme ‖x‖A =

√xTAx .

Proposition

La fonction ‖ · ‖A est une norme vectorielle.

Definition

Soit A ∈Mn×n(R) symetrique definie positive. On dit que lesvecteurs u, v ∈ Rn sont A-conjugues si uTAv = 0.

u, v ∈ Rn 7−→ uTAv ∈ R est un produit scalaire sur Rn.

u, v ∈ Rn sont A-conjugues s’ils sont orthogonaux par rapportau produit scalaire defini par A, i.e., uTAv = 0.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 130: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Un probleme d’optimisation

On considere le probleme suivant : minimiser la fonction

φ(x) =1

2xTAx − bT x ,

ou la matrice A est symetrique et definie positive.

Le minimum de φ est atteint pour x∗ = A−1b, et cette solutionest unique.

Minimiser φ(x) et resoudre Ax = b sont deux problemesequivalents.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 131: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methodes du gradient

Definition

Le gradient de φ en x = (x1, . . . , xn)T ∈ Rn est le vecteur

∇φ(x) =

(∂φ

∂x1,∂φ

∂x2, . . . ,

∂φ

∂xn

)T

.

On a

∇φ(x) =1

2Ax +

1

2AT x − b = Ax − b.

Definition

La quantite r(x) = b − Ax = −∇φ(x) est appelee residu dusysteme (S) en x .

On rappelle que −∇φ(x) donne la direction de plus forte pentepour φ(x) au point x .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 132: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methodes du gradient

A l’etape k d’une methode du gradient :

on choisit une direction de descente pour φ(x), i.e., un vecteurp(k) tel que p(k)T∇φ(x (k)) < 0.

on minimise φ(x) sur la droite passant par x (k) et de vecteurdirecteur p(k)

x (k+1) = x (k) + αkp(k),

ou αk est tel que

φ(x (k+1)) = minα∈R

φ(x (k) + αp(k)),

d’ou αk = r (k)Tp(k)

p(k)TAp(k) .

Proposition

A chaque iteration, le residu r (k+1) est orthogonal au vecteurdirection p(k) utilise a l’etape precedente: r (k+1)Tp(k) = 0.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 133: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode de la plus forte pente

On choisit p(k) = r (k) = −∇φ(x (k)) direction de plus forte pente pour φ(x).

Chaque direction de descente est orthogonale a la precedente,i.e., p(k+1)Tp(k) = 0.

Theoreme

Pour la methode de la plus forte pente on a, a l’iteration k :

‖x∗ − x (k)‖A ≤(

Cond2(A)− 1

Cond2(A) + 1

)k

‖x∗ − x (0)‖A.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 134: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode de la plus forte pente

Le choix p(k) = −∇φ(x (k)) peut paraitre intuitivement assezefficace pour minimiser φ(x), vu qu’on se deplace au long de ladirection de plus forte decroissance de la fonction.

Mais dans certains cas la convergence de cette methodepourrait etre lente, notamment si la matrice A est malconditionnee.

Exemple :

A est une matrice symetrique avec valeurs propres e−2, e4,b = (1 1)T ,

Cond2(A) = e6 ≈ 403, 43.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 135: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode de la plus forte pente

1 2 3 4 5 6 7 8 9 10 11−6

−5

−4

−3

−2

−1

0

1

indice du résidu

log

10 d

u ré

sidu

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 136: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Gradient conjugue

Choix de la direction de descente:

p(k) =

r (0) si k = 0,

r (k) + βkp(k−1) si k ≥ 1,

ou βk est tel que

p(k)TAp(k−1) = 0.

Les vecteurs direction p(k−1) et p(k) sont A-conjugues.

On a βk = − r (k)TAp(k−1)

p(k−1)TAp(k−1) = r (k)T r (k)

r (k−1)T r (k−1) et αk = r (k)T r (k)

p(k)TAp(k) .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 137: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Gradient conjugue

Lemme

A chaque iteration, le residu est orthogonal au residu calcule al’iteration precedente : r (k)T r (k−1) = 0.

Theoreme

Soit Sk le sous-espace vectoriel de Rn engendre par les vecteursp(0), . . . , p(k−1). Alors le vecteur x (k) defini par la methode dugradient conjugue minimise φ(x) sur Sk :

φ(x (k)) = minx∈Sk

φ(x), k ≥ 1.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 138: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Gradient conjugue

Theoreme

Soit r (0) 6= 0 et h ≥ 1 tels que r (k) 6= 0 pour tout k ≤ h. Alors pourk , j = 0, . . . , h, avec k 6= j , on a

r (k)T r (j) = 0 et p(k)TAp(j) = 0.

Autrement dit, les residus forment un ensemble de vecteursorthogonaux, et les vecteurs direction p(k) forment un ensemble devecteurs A-conjugues.

Corollaire

Il existe m ≤ n tel que r (m) = 0. Autrement dit, le gradientconjugue calcule la solution x∗ = A−1b en n iterations au plus.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 139: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Gradient conjugue : l’algorithme

Entree : A ∈Mn×n(R) symetrique et definie positive, b ∈ Rn,x (0) ∈ Rn.Sortie : x ∈ Rn tel que Ax = b.

1 k = 0 ;

2 r (0) = b − Ax (0) ;3 Tant que r (k) 6= 0, faire:

si k = 0 alors faire :β0 = 0 ;p(0) = r (0) ;

sinon faire :βk = r (k)T r (k)/r (k−1)T r (k−1) ;p(k) = r (k) + βkp

(k−1) ;

αk = r (k)T r (k)/p(k)TAp(k) ;x (k+1) = x (k) + αkp

(k) ;r (k+1) = r (k) − αkAp

(k) ;k = k + 1 ;

4 Retourner x = x (k).Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 140: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Gradient conjugue: convergence et complexite

Theoreme

‖x∗ − x (k)‖A ≤ 2

(√Cond2(A)− 1√Cond2(A) + 1

)k

‖x∗ − x (0)‖A

Critere d’arret : dans la pratique, ‖r (k)‖2 < εM‖b‖2, et kborne par kmax n.

Choix du vecteur initial x (0): a priori arbitraire, par ex. levecteur nul.

Complexite : une multiplication matrice-vecteur par iteration,donc complexite asymptotique equivalent a n2 flops pour unematrice creuse.

Pas necessaire de stocker A si on sait calculer le produit Ax .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 141: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Preconditionnement

On souhaite accelerer la convergence d’une methode iterative(e.g., le gradient conjugue).

La convergence de la methode du gradient conjugue est tresrapide si la matrice A est proche de I, ou si ses valeurs propressont bien regroupees.

Idee : remplacer le systeme Ax = b par un systeme equivalent(meme solution) mais mieux conditionne.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 142: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Preconditionnement

Soit (S) : Ax = b avec A symetrique et definie positive, etsoit C ∈Mn×n(R) inversible.

On ecrit le systeme transforme

(S) : C−1Ax = C−1b

(S) : C−1A(CT )−1 CT x = C−1b

(S) : A x = b,

ou A = C−1A(C−1)T , x = CT x et b = C−1b.

A est aussi symetrique et definie positive, donc on peutappliquer le gradient conjugue a (S).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 143: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Preconditionnement

Definition

La matrice M = CCT est dite preconditionneur du systeme (S).

Le choix du preconditionneur est fait de maniere que :

la matrice A soit mieux conditionnee que A, ou proche de lamatrice identite, pour que le gradient conjugue convergerapidement,

M soit inversible de maniere stable et rapide (idealement aveccomplexite asymptotique de l’ordre de n).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 144: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Gradient conjugue preconditionne : algorithme

Entree : A ∈ Mn×n(R) symetrique et definie positive, b ∈ Rn, x (0) ∈ Rn, unpreconditionneur M ∈ Mn×n(R) symetrique et defini positif.Sortie : x ∈ Rn tel que Ax = b.

1 k = 0 ;

2 r (0) = b − Ax (0) ;

3 Tant que r (k) 6= 0, faire:

resoudre Mz (k) = r (k) ;si k = 0 alors faire :

β0 = 0 ;p(0) = z (0) ;

sinon faire :βk = z (k)T r (k)/z (k−1)T r (k−1) ;p(k) = z (k) + βkp

(k−1) ;

αk = z (k)T r (k)/p(k)TAp(k) ;x (k+1) = x (k) + αkp

(k) ;r (k+1) = r (k) − αkAp

(k) ;k = k + 1 ;

4 Retourner x = x (k).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 145: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Choix d’un preconditionneur

Le choix d’un preconditionneur est un probleme delicat et il existeune vaste litterature a ce sujet.

Exemple 1 : preconditionnement diagonal. On noteA = (ai ,j)1≤i ,j≤n, M = (mi ,j)1≤i ,j≤n et on definit

mi ,j =

ai ,i si i = j ,0 si i 6= j .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 146: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Choix d’un preconditionneur

Exemple 2 : preconditionnement de Cholesky incomplet.On choisit M = LLT , ou L = (`i ,j)1≤i ,j≤n est une matricetriangulaire inferieure calculee comme suit:

`i ,i =

√√√√ai ,i −i−1∑r=1

`2i ,r , i = 1, . . . , n

`i ,j =

0 si ai ,j = 0,

1`i,j

(ai ,j −

∑j−1r=1 `i ,r `j ,r

)si ai ,j 6= 0,

j = 1, . . . , i − 1, i = 2, . . . , n.

La matrice L est definie de maniere a preserver l’eventuellestructure creuse de A.

Les elements non nuls de L sont calcules comme pour le facteurde Cholesky de A.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 147: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Et si A n’est pas definie positive ?

Si la matrice A n’est pas symetrique et definie positive, on nepeut pas appliquer le gradient conjugue au systeme Ax = b.

Mais on peut appliquer le gradient conjugue au systeme

ATAx = ATb

(methode des equations normales).

Attention : Cond(ATA) = Cond(A)2.

Il existe aussi des methodes iteratives adaptees aux matricesnon symetriques : l’une des plus utilisees est la methodeGMRES.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 148: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Chapitre 5

Interpolation polynomiale

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 149: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Probleme de l’interpolation

0 0.5 1 1.5 2 2.5 3 3.5−15

−10

−5

0

5

10

15

x

y

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 150: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Probleme de l’interpolation

0 0.5 1 1.5 2 2.5 3 3.5−15

−10

−5

0

5

10

15

x

y

y=f(x)y=p(x)noeuds

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 151: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Probleme de l’interpolation

• Pn = Rn[x ] : ensemble des poly. de degre ≤ n et a coeffs dans R.(espace vect. de dimension n + 1 sur R)

• (a, b) ∈ R2 (a < b) et f : [a, b]→ R continue sur [a, b]

• On considere n + 1 points x0, . . . , xn de l’intervalle [a, b] tels quea ≤ x0 ≤ x1 ≤ · · · ≤ xn ≤ b.

• Probleme (I )fm,n : ? existe Pm ∈ Pm tel que Pm(xi ) = f (xi ), ∀ i .

• Pm(x) = λ0 + λ1 x + · · ·+ λm xm avec les λi dans R, alors ?λ0, . . . , λm tels que :

(S) :

1 x0 x2

0 . . . xm01 x1 x2

1 . . . xm1...

......

1 xn x2n . . . xmn

λ0

λ1...λm

=

f (x0)f (x1)

...f (xm)

.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 152: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Probleme de l’interpolation

Systeme lineaire n + 1 equations en m + 1 inconnues

Proposition

Le probleme d’interpolation (I )fm,n admet une unique solution ssim = n et les nœuds (xi )0≤i≤n sont deux a deux distincts.

• Dans la suite, on s’interesse au cas ou le probleme admet uneunique solution et on le note (I )fn : la solution notee Pn(x ; f )s’appelle polynome d’interpolation de f aux nœuds (xi )0≤i≤n.

• Probleme qui apparait dans un contexte experimental : calcul desvaleurs d’une fonction f inconnue.

• Il est naturel de supposer que l’on connait un minimumd’information sur la fonction f a interpoler.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 153: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Probleme de l’interpolation

En pratique, resoudre directement le systeme (S) n’est pasforcement une bonne idee, car :

methode couteuse (O(n3)),

le systeme est souvent mal conditionne,

il n’est pas indispensable de calculer les coefficients de Pn(x ; f )en base monomiale; il y a d’autres bases de Pn qui se pretentmieux a resoudre le probleme de l’interpolation.

Remarque: dans plusieurs applications on est surtout interesse aevaluer Pn(x ; f ) pour x donne.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 154: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Base d’interpolation de Lagrange (1)

Definition

Pour j ∈ 0, . . . , n, le polynome L(n)j defini par

L(n)j (x) =

n∏i=0i 6=j

x − xixj − xi

=(x − x0) · · · (x − xj−1) (x − xj+1) · · · (x − xn)

(xj − x0) · · · (xj − xj−1) (xj − xj+1) · · · (xj − xn),

est appele interpolant de base de Lagrange ou polynome de base deLagrange associe a la suite (xi )0≤i≤n et relatif au point xj .

Proposition

Pour n ∈ N fixe, les (L(n)j (x))0≤j≤n forment une base de l’espace

vectoriel Pn que l’on appelle base de Lagrange.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 155: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Base d’interpolation de Lagrange (2)

Proposition

Les interpolants de base de Lagrange verifient les proprietessuivantes :

1 Pour tout j = 0, . . . , n, si on note gj la fonction de [a, b] dansR definie par ∀ i = 0, . . . , n, gj(xi ) = δij , alors

Pn(x ; gj) = L(n)j (x) ;

2 Si on pose πn+1(x) =∏n

j=0(x − xj) ∈ Pn+1, alors, pour tout

j = 0, . . . , n, L(n)j (x) = πn+1(x)

(x−xj )π′n+1(xj ).

3 Pour tout k = 0, . . . , n, xk =∑n

j=0 xkj L

(n)j (x).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 156: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode de Lagrange (1)

• La methode d’interpolation de Lagrange consiste a ecrire lepolynome d’interpolation sur la base de Lagrange.

Theoreme

Soit f : [a, b]→ R et n + 1 nœuds (xi )0≤i≤n deux a deux distincts.Le polynome d’interpolation de f aux nœuds (xi )0≤i≤n s’ecrit alors :

Pn(x ; f ) =n∑

j=0

f (xj) L(n)j (x).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 157: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode de Lagrange (2)

• Interet : pas besoin de resoudre un systeme lineaire pour ecrire lepolynome d’interpolation

• Son expression s’ecrit facilement : par exemple, si on choisit lesnœuds −1, 0, 1, on obtient :

P2(x ; f ) = f (−1)(x − 0) (x − 1)

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

(x + 1) (x − 1)

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

(x + 1) (x − 0)

(1 + 1) (1− 0),

= f (−1)x(x − 1)

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

x (x + 1)

2,

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

2x2 +

f (1)− f (−1)

2x + f (0).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 158: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Exemple (1)

• f : [−4, 4]→ R, x 7→ |x |

• Nœuds (xj)0≤j≤8 = (−4,−3,−2,−1, 0, 1, 2, 3, 4)

P8(x ; f ) =8∑

j=0

|xj | L(8)j (x) =

533

420x2− 43

144x4 +

11

360x6− 1

1008x8.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 159: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Exemple (2)

0 1 2 3−1−2−3

1

2

3

y

x

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 160: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Efficacite et inconvenients

• On ne developpe pas les L(n)j (x) sur la base monomiale. Pour

evaluer le polynome d’interpolation de Lagrange, on utilise laformule moins couteuse (complexite O( 3

2n2))

Pn(x ; f ) = πn+1(x)n∑

j=0

f (xj)

π′n+1(xj) (x − xj),

• Principal inconvenient : rajouter un nœud change completementles interpolants de base de Lagrange et on doit donc recalculerentierement le polynome Pn(x ; f ).

• Methode permet aussi d’interpoler un nuage de points : on sedonne une suite de valeurs discretes (bi )0≤i≤n aux nœuds (xi )0≤i≤net on cherche un polynome Pn tel que Pn(xi ) = bi pouri = 0, . . . , n.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 161: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Base d’interpolation de Newton (1)

Definition

Les polynomes N(n)j definis pour j = 0, . . . , n par :

N(n)0 (x) = 1,

N(n)1 (x) = (x − x0),

N(n)2 (x) = (x − x0) (x − x1),

...

N(n)j (x) = (x − x0) (x − x1) · · · (x − xj−1),

...

N(n)n (x) = (x − x0) (x − x1) · · · (x − xn−1),

sont appeles polynomes de base de Newton relatifs a la suite depoints (xi )i=0,...,n−1.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 162: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Base d’interpolation de Newton (2)

• Remarque : la ou on avait besoin de n + 1 points pour definir les

L(n)j (x), j = 0, . . . , n, la definition des N

(n)j (x), j = 0, . . . , n, ne

necessite que n points.

Proposition

Pour n ∈ N fixe, les (N(n)j (x))0≤j≤n forment une base de l’espace

vectoriel Pn.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 163: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Expression de l’interpolant de Newton

• f : [a, b]→ R et n nœuds (xi )0≤i≤n−1

• ? αi , i = 0, . . . , n tels que Pn(x ; f ) =∑n

i=0 αi N(n)i (x). On a :

Pn(x0 ; f ) = α0 = f (x0) =⇒ α0 = f (x0)

Pn(x1 ; f ) = f (x0) + α1 (x1 − x0) = f (x1) =⇒ α1 =f (x0)− f (x1)

x0 − x1

Pn(x2 ; f ) = f (x0) +f (x0)−f (x1)

x0−x1(x2 − x0) + α2 (x2 − x0) (x2 − x1) = f (x2)

=⇒ α2 =

f (x0)− f (x2)

x0 − x2

−f (x0)− f (x1)

x0 − x1

x2 − x1

En posant

f [u, v ] =f (u)− f (v)

u − v,

on a alors

α1 = f [x0, x1], α2 =f [x0, x2]− f [x0, x1]

x2 − x1=

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

x0 − x2.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 164: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Difference divisee

Definition

Pour tout k ∈ N, on appelle difference divisee d’ordre k de fassociee a la suite de points deux a deux distincts (xj)j∈N laquantite f [x0, x1, . . . , xk ] definie par :

f [x0] = f (x0), ∀ k ∈ N∗, f [x0, x1, . . . , xk ] =f [x0, x1, . . . , xk−1]− f [x1, x2, . . . , xk ]

x0 − xk.

Theoreme

Pn(x ; f ) =∑n

k=0 f [x0, x1, . . . , xk ]N(n)k (x).

Corollaire

Pn(x ; f ) = Pn−1(x ; f ) + f [x0, x1, . . . , xn]N(n)n (x).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 165: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Calcul

• Def. de la base d’interpolation de Newton de Pn ne necessite quela donnee de n nœuds mais le coefficients f [x0, x1, . . . , xn] de

N(n)n (x) fait intervenir le nœud xn.

• Calcul du polynome d’interpolation de f sur la base de Newtonrelativement simple compare a celui sur la base de Lagrange.

Proposition

f [x0, x1, . . . , xk ] =k∑

j=0

f (xj)∏k

l=0l 6=j

(xj − xl)=

k∑j=0

f (xj)

π′k+1(xj)

Corollaire

Soit Sk+1 l’ensemble des permutations sur 0, 1, . . . , k + 1. Pourtout σ ∈ Sk+1, on a f [xσ(0), xσ(1), . . . , xσ(k)] = f [x0, x1, . . . , xk ].

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 166: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Algorithme de calcul des differences divisees

x0 f [x0]

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

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

.

.

.

.

.

.

.

.

.

.

.

.. . .

.

.

.

.

.

.xk−2 f [xk−2]

xk−1 f [xk−1] −→ f [xk−2, xk−1] . . . . . . f [x0, . . . , xk−1]

xk f [xk ] −→ f [xk−1, xk ] −→ f [xk−2, xk−1, xk ] · · · f [x1, . . . , xk ] −→ f [x0, . . . , xk ]

• Contrairement a Lagrange, l’ajout d’un nouveau nœud n’obligepas a recalculer toutes les differences divisees : passer de n a n + 1nœuds demande simplement le calcul de n differences divisees.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 167: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Erreur d’interpolation (1)

Lemme

Soit (xi )0≤i≤n tels que, pour tout i = 0, . . . , n, xi ∈ [a, b] et soitPn(x ; f ) le polynome d’interpolation de f aux nœuds (xi )0≤i≤n.Alors, avec les notations precedentes, pour tout x ∈ [a, b] tel que,pour tout i = 0, . . . , n, x 6= xi , on a :

f (x)− Pn(x ; f ) = f [x0, x1, . . . , xn, x ]πn+1(x).

Lemme

Si f ∈ Cn([a, b]) est de classe Cn sur [a, b], alors :

∃ ξ ∈]a, b[, f [x0, x1, . . . , xn] =1

n!f (n)(ξ).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 168: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Erreur d’interpolation (2)

Theoreme

Soit (xi )0≤i≤n tels que, pour tout i = 0, . . . , n, xi ∈ [a, b] et soitPn(x ; f ) le polynome d’interpolation de f aux nœuds (xi )0≤i≤n. Sif ∈ Cn+1([a, b]), alors :

∀ x ∈ [a, b], ∃ ξx ∈]a, b[, f (x)−Pn(x ; f ) =1

(n + 1)!f (n+1)(ξx)πn+1(x).

Corollaire

Avec les memes hypotheses, on a :

∀ x ∈ [a, b], |f (x)− Pn(x ; f )| ≤ |πn+1(x)|(n + 1)!

supy∈[a,b]

|f (n+1)(y)|.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 169: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Chapitre 6

Integration numerique

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 170: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Objectif

• On veut approcher de facon numerique la valeur d’integrales de laforme

I (f ) =

∫ b

af (x) dx

• Remarques :

En pratique, on ne connait pas forcement l’expressionsymbolique de f ;

La plupart des fonctions n’admettent pas de primitives pouvants’exprimer a l’aide de fonctions elementaires.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 171: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Introduction

• Hypothese : fonctions que l’on cherche a integrer numeriquementsont continues sur l’intervalle [a, b].

• Soit x0 = a < x1 < x2 < · · · < xn−1 < xn = b une subdivision del’intervalle [a, b].

• Theorie elementaire de l’integration

I (f ) =

∫ b

af (x)dx = lim

n→+∞

n−1∑j=0

f (ξj)(xj+1 − xj)︸ ︷︷ ︸Somme de Riemann

, ∀ j , ξj ∈ [xj , xj+1].

• Differents choix des ξj menent aux methodes classiques

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 172: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Formule des rectangles a gauche

ξj = xj Irg (f ) =∑n−1

j=0 f (xj) (xj+1 − xj)

0 a x1 x2 x3 x4 x5 x6 x7 b

y

x

Formule des rectangles a gauche

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 173: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Formule des rectangles a droite

ξj = xj+1 Ird(f ) =∑n−1

j=0 f (xj+1) (xj+1 − xj)

0 a x1 x2 x3 x4 x5 x6 x7 b

y

x

Formule des rectangles a droite

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 174: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Formule du point milieu

ξj =xj+xj+1

2 Ipm(f ) =∑n−1

j=0 f(xj+xj+1

2

)(xj+1 − xj)

0 a x1 x2 x3 x4 x5 x6 x7 b

y

x

Formule du point milieu

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 175: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode des trapezes

It(f ) =∑n−1

j=0f (xj )+f (xj+1)

2 (xj+1 − xj)

0 a x1 x2 x3 x4 x5 x6 x7 b

y

x

Formule des trapezes

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 176: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Liens avec l’interpolation polynomiale

• Les methodes des rectangles et la methode du point milieureviennent a interpoler f sur chaque intervalle [xj , xj+1] par lepolynome d’interpolation de degre 0 relatif a l’unique nœud ξj .

• Ces formules seront donc exactes pour les fonctions constantes sur[a, b] et en particulier pour f ∈ P0.

• La methode des trapezes revient a interpoler f sur chaqueintervalle [xj , xj+1] par le polynome d’interpolation de degre 1.

• Cette formule sera donc exacte pour f ∈ P1.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 177: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Formalisation de l’integration approchee

• f une fonction de C([a, b]) ev des fonctions continues sur [a, b]

• Hypothese : on connaıt au moins les valeurs de f en certainspoints x0, x1, . . . , xn de l’intervalle [a, b]

• On cherche alors une formule d’integration approchee de la forme

I (f ) =

∫ b

af (x) dx ≈

n∑k=0

λk f (xk) = I (n)(f ),

ou les λk sont a determiner.

• Terminologie : on parle aussi de methode d’integration numeriqueou formule de quadrature.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 178: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Ordre d’une methode d’integration numerique

Definition

Une methode d’integration numerique est dite d’ordre N (N ∈ N) sielle est exacte sur PN .

• Exemple : la methode des rectangles a gauche ou a droite et lamethode du point milieu sont d’ordre 0 et celle des trapezes estd’ordre 1.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 179: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methodologie et Erreur d’integration

• En pratique : connaissant les valeurs de f aux points x0, . . . , xn,

on remplace f par le polynome d’interpolation∑n

k=0 f (xk) L(n)k (x)

ecrit dans la base de Lagrange

Formule d’integration approchee (exacte sur Pn([a, b])) :

I (n)(f ) =n∑

k=0

A(n)k f (xk), A

(n)k =

∫ b

aL

(n)k (x) dx .

Theoreme

Soit f ∈ Cn+1([a, b]) et I (n)(f ) donnee ci-dessus. Alors on a lamajoration suivante de l’erreur d’integration :

|I (f )− I (n)(f )| ≤ Mn+1

(n + 1)!

∫ b

a|πn+1(x)|dx ,

avec Mn+1 = supx∈[a,b] |f (n+1)(x)| et πn+1(x) =∏n

j=0(x − xj).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 180: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Formules de Newton-Cotes (1)

• Probleme : calcul des A(n)k =

∫ ba L

(n)k (x) dx

• Hypotheses : x0 = a, xn = b, n ≥ 1 et points d’interpolationequidistants

Proposition

Pour k = 0, 1, . . . , n, on a :

(i)

A(n)k =

(b − a)

n

(−1)n−k

k! (n − k)!

∫ n

0

n∏j=0j 6=k

(y − j) dy .

(ii) A(n)n−k = A

(n)k .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 181: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Formules de Newton-Cotes (2)

• Cas n = 1, on obtient A(1)0 = A

(1)1 = b−a

2 d’ou

I (1)(f ) =b − a

2(f (a) + f (b)) (formule des trapezes)

• Cas n = 2, on obtient A(2)0 = A

(2)2 = b−a

6 et A(2)1 = 4 (b−a)

6 d’ou

I (2)(f ) =b − a

6

(f (a) + 4 f (

a + b

2) + f (b)

)(formule de Simpson)

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 182: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Calcul pratique des coefficients A(n)k

• En pratique, utiliser le fait que I (n) est exacte sur Pn([a, b])

• Cas n = 1, a = −1 et b = 1 : I (1)(f ) = A(1)0 f (−1) + A

(1)1 f (1)

• I (1) exacte sur P1([−1, 1]) donc

I (1)(1) = I (1) =

∫ 1

−11 dx = 2, I (1)(x) = I (x) =

∫ 1

−1x dx = 0

A

(1)0 + A

(1)1 = 2,

−A(1)0 + A

(1)1 = 0,

d’ou A(1)0 = A

(1)1 = 1.

• Remarque : cette formule n’est pas exacte sur P2([−1, 1]) puisque

I (x2) =∫ 1−1 x

2 dx = 23 alors que I (1)(x2) = 2.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 183: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Estimation de l’erreur

Theoreme

Considerons l’erreur En(f ) = I (f )−∑n

i=0 A(n)i f (xi ). Alors :

1 Si n impair et f ∈ Cn+1([a, b]), alors ∃ ξ ∈ [a, b] tel que :

En(f ) =

(b − a

n

)n+2 f (n+1)(ξ)

(n + 1)!

∫ n

0t (t − 1) · · · (t − n) dt.

2 Si n pair et f ∈ Cn+2([a, b]), alors ∃ ξ ∈ [a, b] tel que :

En(f ) =

(b − a

n

)n+3 f (n+2)(ξ)

(n + 2)!

∫ n

0t2 (t − 1) · · · (t − n) dt.

• Cas n = 2 : si f ∈ C4([a, b]), alors l’erreur d’approximation

commise par la formule de Simpson vaut −h5 f(4)(ξ)

90ou h =

b − a

2et ξ ∈ [a, b].

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 184: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Stabilite des methodes d’integration (1)

• Mesure la sensibilite de la methode aux erreurs de calculs

• Formule d’integration approchee I (n)(f ) =∑n

k=0 A(n)k f (xk)

• Supposons les valeurs calculees des f (xk) non exactes∑nk=0 A

(n)k (f (xk) + εk)−

∑nk=0 A

(n)k f (xk) =

∑nk=0 A

(n)k εk .

∣∣∣∣∣n∑

k=0

A(n)k εk

∣∣∣∣∣ ≤(

max0≤k≤n

|εk |) n∑

k=0

|A(n)k |,

et le terme∑n

k=0 |A(n)k | depend de la methode.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 185: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Stabilite des methodes d’integration (1)

Definition

La formule d’integration numerique I (n)(f ) =∑n

k=0 A(n)k f (xk) est

dite stable s’il existe M ∈ R tel que : ∀ n ∈ N, ∀ (ε0, . . . , εn) ∈Rn+1, |

∑nk=0 A

(n)k εk | ≤ M max0≤k≤n |εk |.

Theoreme

Avec les notations precedentes, une condition necessaire etsuffisante de stabilite est qu’il existe M ∈ R (independant de n) tel

que∑n

k=0 |A(n)k | ≤ M.

• Formules de Newton-Cotes : pour certaines valeurs de k ,

limn→∞ |A(n)k | = +∞ donc pour de grandes valeurs de n ces

formules ne sont pas stables

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 186: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Formules d’integration composees (1)

• Ceux sont les plus utilisees en pratique

• Principe : decomposer l’intervalle [a, b] en k intervalles [ai , ai+1],i = 0, . . . , k − 1

I (f ) =

∫ b

af (x) dx =

k−1∑i=0

∫ ai+1

ai

f (x) dx︸ ︷︷ ︸Ii (f )

• Ii (f ) approche par une formule d’integration numerique

• Remarque : pour la stabilite, il est judicieux de choisir une formuleavec un n petit comme par exemple celle de Simpson (n = 2)

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 187: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Formules d’integration composees (2) : Simpson

• Methodes composees sont d’autant plus interessantes que l’erreurd’approximation diminue lorsque la taille de l’intervalle diminue

• Avec la formule de Simpson deja vu, si l’on subdivise l’intervalle[a, b] en k sous intervalles avec k pair, on obtient la formule deSimpson composee

h

3

f (a0) + 2

k/2−1∑i=1

f (a2 i ) + 4

k/2∑i=1

f (a2 i−1) + f (ak)

,

avec h = b−ak , a0 = a, ak = b et ai = ai−1 + h.

• Si f ∈ C4([a, b]), erreur d’approximation −k h5 f(4)(ξ)

180ou

h =b − a

ket ξ ∈ [a, b].

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 188: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Exemple

On veut calculer numeriquement∫ 1

0 e−x2dx avec erreur < 10−6.

Combien d’intervalles faut-il utiliser ?

f (x) = e−x2

, f (4)(x) = e−x2

(16x4 − 48x2 + 12), |f (ξ)| ≤ 12∀ξ ∈ [0, 1]

erreur = k

(b − a

k

)5f (4)(ξ)

180=

f (4)(ξ)

180k4≤ 1

15k4

on pose1

15k4< 10−6 d’ou k >

(106

15

)1/4

≈ 16, 0686

donc k ≥ 17.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 189: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Autres approches

Formules de quadrature de Gauss: famille de formules dequadrature assez precises, qui utilisent des polynomesd’interpolation. Les nœuds sont les zeros des polynomesd’interpolation, et/ou des points donnes.

Methodes adaptives: le nombre de nœuds est choisi suivant lecomportement de la fonction.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 190: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Integration numerique en Matlab

Plusieurs implementations sont disponibles:

trapz: methode des trapezes, intervalles uniformes,

quad: formule de Simpson, quadrature adaptive,

integral: methode adaptive globale.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 191: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Chapitre 7

Resolution d’equations et desystemes d’equations non

lineaires

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 192: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Probleme considere

• f : R→ R fonction d’une seule variable reelle

• On cherche a resoudre l’equation f (x) = 0 = trouver une valeurapprochee x d’un reel x verifiant f (x) = 0.

• Mise en oeuvre pratique : on se donne une tolerance sur lasolution cherchee. L’algorithme numerique utilise doit alors avoir uncritere d’arret dependant de cette tolerance et nous assurant que lasolution calculee a bien la precision recherchee

• 2 possibilites :

on sait a l’avance combien d’etapes de l’algorithme sontnecessaires

a chaque etape, on verifie une condition nous permettantd’arreter le processus apres un nombre fini d’etapes

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 193: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Vitesse de convergence (1)

Definition

Soit (xn)n∈N une suite convergente et soit x sa limite.

1 On dit que la convergence de (xn)n∈N est lineaire de facteurK ∈ ]0, 1[ s’il existe n0 ∈ N tel que, pour tout n ≥ n0,|xn+1 − x | ≤ K |xn − x |.

2 On dit que la convergence de (xn)n∈N est superlineaire d’ordrep ∈ N, p > 1 s’il existe n0 ∈ N et K > 0 tels que, pour toutn ≥ n0, |xn+1 − x | ≤ K |xn − x |p. Si p = 2, on parle deconvergence quadratique et si p = 3 on parle de convergencecubique.

• Remarque : K n’est pas unique.

• En pratique il peut etre difficile de prouver la convergence d’unemethode d’autant plus qu’il faut tenir compte des erreurs d’arrondis.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 194: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Vitesse de convergence (2)

Definition

Soit (xn)n∈N une suite convergent vers une limite x . On dit que laconvergence de (xn)n∈N est lineaire de facteur K (resp. superlineaired’ordre p) s’il existe une suite (yn)n∈N convergent vers 0, lineaire defacteur K (resp. superlineaire d’ordre p) au sens de la definitionprecedente telle que |xn − x | ≤ yn.

• dn = − log10(|xn − x |) mesure du nbre de decimales exactes de xn.

Convergence d’ordre p ⇒ asymptotiquement, on a|xn+1 − x | ∼ K |xn − x |p d’ou −dn+1 ∼ log10(K )− p dn et doncasymptotiquement xn+1 a p fois plus de decimales exactes que xn

l’ordre p represente asymptotiquement le facteur multiplicatif dunombre de decimales exactes que l’on gagne a chaque iteration

Nous avons donc interet a ce qu’il soit le plus grand possible.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 195: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode de dichotomie : principe

• Methode de localisation des racines d’une equation f (x) = 0basee sur le theoreme des valeurs intermediairesSi f est continue sur [a, b] et f (a) f (b) < 0, alors il existe x ∈]a, b[tel que f (x) = 0.

• Principe :

1 On part d’un intervalle [a, b] verifiant la propriete f (a) f (b) < 0

2 On le scinde en deux intervalles [a, c] et [c , b] avec c = a+b2

3 On teste les bornes des nouveaux intervalles (on calculef (a) f (c) et f (c) f (b)) pour en trouver un (au moins) quiverifie encore la propriete, i.e., f (a) f (c) < 0 ou/etf (c) f (b) < 0.

4 On itere ensuite ce procede un certain nombre de foisdependant de la precision que l’on recherche sur la solution.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 196: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode de dichotomie : algorithme

Entrees : la fonction1 f , (a, b) ∈ R2 tels que f est continue sur[a, b] et f (a) f (b) < 0 et la precision ε.Sortie : xk+1 valeur approchee de x solution de f (x) = 0 a ε pres.

1 x0 ← a, y0 ← b ;

2 Pour k de 0 a E

(ln(b − a)− ln(ε)

ln(2)

)par pas de 1, faire :

Si f (xk) f

(xk + yk

2

)> 0, alors xk+1 ←

xk + yk2

, yk+1 ← yk ;

Si f (xk) f

(xk + yk

2

)< 0, alors xk+1 ← xk , yk+1 ←

xk + yk2

;

Sinon retournerxk + yk

2;

3 Retourner xk+1.

1Il suffit en fait de connaitre un moyen d’evaluer les valeurs de la fonctionThomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 197: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode de dichotomie : remarques et preuve de l’algo.

• Remarques sur l’algorithme precedent :

Il construit une suite de segments emboıtes contenant tous x

A chaque passage dans la boucle : une evaluation de f

En pratique, avec les arrondis, > 0 et < 0 ne veulent rien dire !

Theoreme

Le nombre minimum d’iterations de la methode de dichotomienecessaire pour approcher x a ε pres est E

(ln(b−a)−ln(ε)

ln(2)

)+ 1, ou

E (x) designe la partie entiere d’un reel x .

Proof.

b−a2n ≤ ε⇔ n ≥ ln(b−a)−ln(ε)

ln(2) .

Proposition

La convergence de la dichotomie est lineaire de facteur 12 .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 198: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Exemple

On cherche un zero de f (x) = x3 + 4x cos(x)− 2 sur [0, 1],

ε = 10−3.

k xk f (xk)

1 0, 5000000 −0, 11983492 0, 7500000 0, 61694153 0, 6250000 0, 27154834 0, 5625000 0, 8130836 · 10−1

5 0, 5312500 −0, 1794720 · 10−1

6 0, 5468750 0, 3201580 · 10−1

7 0, 5390625 0, 7117271 · 10−2

8 0, 5351563 0, 5393982 · 10−2

9 0, 5371094 0, 8668900 · 10−3

10 0, 5361328 −0, 2263069 · 10−2

En effet E(

ln(1−0)−ln(10−3)ln(2)

)+ 1 = 10.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 199: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode du point fixe (ou approximations successives)

Definition

Soit g : R→ R. On dit que x ∈ R est un point fixe de g sig(x) = x .

• Principe : associer a l’equation f (x) = 0 une equation de pointfixe g(x) = x de sorte que trouver une solution de f (x) = 0equivaut a trouver un point fixe de g .

Lemme

Soit (xn)n∈N la suite definie par x0 ∈ R donne et xn+1 = g(xn). Si(xn)n∈N est convergente et g est continue, alors la limite de (xn)n∈Nest un point fixe de g .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 200: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Fonctions contractantes

Definition

Soit g : Ω ⊆ R→ R. On dit que g est lipschitzienne sur Ω deconstante de Lipschitz γ (ou γ-lipschitzienne) si pour tout(x , y) ∈ Ω2, on a |g(x)− g(y)| ≤ γ |x − y |. On dit que g eststrictement contractante sur Ω si g est γ-lipschitzienne sur Ω avecγ < 1.

Proposition

Soit g une fonction derivable sur l’intervalle [a, b]. Si sa derivee g ′

verifie maxx∈[a,b] |g ′(x)| = L < 1, alors g est strictementcontractante sur [a, b] de constante de Lipschitz L.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 201: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Theoreme du point fixe

Theoreme

Soit g une application strictement contractante sur un intervalle[a, b] ⊂ R de constante de Lipschitz γ < 1. Supposons quel’intervalle [a, b] soit stable sous g , i.e., g([a, b]) ⊆ [a, b] ou encorepour tout x ∈ [a, b], g(x) ∈ [a, b]. Alors g admet un unique pointfixe x∗ ∈ [a, b] et la suite definie par xn+1 = g(xn) convergelineairement de facteur γ vers x∗ pour tout point initial x0 ∈ [a, b].De plus,

∀ n ∈ N, |xn − x∗| ≤ γn

1− γ|x1 − x0|.

• Erreur d’autant plus petite que γ est proche de 0

• De plus ∀ n ∈ N, |xn − x∗| ≤ γ1−γ |xn − xn−1|

Si γ ≤ 12 , alors |xn − x∗| ≤ |xn − xn−1| test d’arret

|xn − xn−1| < ε qui certifiera une precision ε sur le resultat

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 202: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Mise en oeuvre

Proposition

Soit x∗ ∈ [a, b] un point fixe d’une fonction g ∈ C1([a, b]).

Si |g ′(x∗)| < 1, alors il existe un intervalle [α, β] ⊆ [a, b]contenant x∗ pour lequel la suite definie par x0 ∈ [α, β] etxn+1 = g(xn) converge vers x∗ ;

Si |g ′(x∗)| > 1, alors pour tout x0 6= x∗, la suite definie par x0

et xn+1 = g(xn) ne converge pas vers x∗ ;

Si |g ′(x∗)| = 1, on ne peut pas conclure.

• En pratique, on estime g ′(x∗)Si |g ′(x∗)| > 1, alors on elimine la methode,Si |g ′(x∗)| < 1, on cherche un intervalle [α, β] ⊆ [a, b] dans lequelmaxx∈[α,β] |g ′(x)| < 1 et g([α, β]) ⊆ [α, β].

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 203: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Premiere methode de resolution de f (x) = 0

• Posons g(x) = x − f (x)

• Thm du point fixe ⇒ CS pour que g admette un point fixe dans[a, b] : g contractante sur [a, b] de constante de Lipschitz γ < 1 deet [a, b] stable sous g

∀ x ∈ [a, b], |g ′(x)| < γ ⇐⇒ |1− f ′(x)| < γ

• Avec g(x) = x − λ f (x), on obtient :

∀ x ∈ [a, b], |1− λ f ′(x)| < γ < 1

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 204: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Premiere methode de resolution de f (x) = 0

• Suite des iteres xn+1 = xn − λ f (xn)

•x0

f (x0)

pente 1λ

•x1

f (x1)

•x2•· · ·•••• x∗

y

x

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 205: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Premiere methode de resolution de f (x) = 0

• Suite des iteres xn+1 = xn − λ f (xn)• En effet: la droite de pente 1

λ qui passe par (xn, f (xn)) a equation

y − f (xn) =1

λ(x − xn),

donc le point d’intersection avec l’axe des abscisses y = 0 est donnepar

−λf (xn) = x − xn ⇒ x = xn − λf (xn).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 206: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Convergence

Proposition

On considere l’equation g(x) = x ou g est une fonction au moinsp + 1 fois derivable avec p ≥ 1. Supposons que les hypotheses dutheoreme du point fixe soient verifiees de sorte que g admette ununique point fixe x∗ ∈ [a, b]. Sig ′(x∗) = g ′′(x∗) = · · · = g (p)(x∗) = 0 et g (p+1)(x∗) 6= 0, alors laconvergence de la methode xn+1 = g(xn) est superlineaire d’ordrep + 1.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 207: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Exemple

On reprend l’exemple precedent: calculer le zero def (x) = x3 + 4x cos(x)− 2 sur [0; 1].

La derivee de f (x) est f ′(x) = 3x2 + 4 cos(x)− 4x sin(x) > 0.

On a max[0;1] |f ′(x)| = f ′(0) = 4, methode convergente pour λ < 12.

Pour avoir 5 decimales justes:

λ 12

13

14

15

16

n. iter. 25 5 7 11 15

(On observe que f ′(x∗) ≈ 3, 20).

A partir de x0 = 0:

k λ = 13

λ = 14

1 0, 6666666 0, 50000002 0, 5360014 0, 52995873 0, 5368957 0, 53548534 0, 5368347 0, 53656985 0, 5368388 0, 53678546 0, 53682837 0, 5368369

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 208: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode de Newton (1)

• Revenons a

∀ x ∈ [a, b], |1− λ f ′(x)| < γ < 1

• La methode convergera d’autant plus vite que γ est petite

Idee : poser λ = 1f ′(x) cad g(x) = x − f (x)

f ′(x) .

Definition

La fonction d’iteration de Newton associee a l’equation f (x) = 0 sur[a, b] est

N :

[a, b] → R,

x 7→ N (x) = x − f (x)

f ′(x).

Cette fonction est definie pour f derivable sur [a, b] et telle que f ′

ne s’annule pas sur [a, b].

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 209: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode de Newton (2)

•x0

f (x0)

•x1

tangente

f (x1)

•x2x∗•

y

x

Methode de Newton

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 210: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Convergence locale

Theoreme

Soit f une fonction de classe C2 sur un intervalle [a, b] de R. Onsuppose qu’il existe x ∈ [a, b] tel que f (x) = 0 et f ′(x) 6= 0 (x estun zero simple de f ). Alors il existe ε > 0, tel que pour toutx0 ∈ [x − ε, x + ε], la suite des iteres de Newton donnee parxn+1 = N (xn) pour n ≥ 1 est bien definie, reste dans l’intervalle[x − ε, x + ε] et converge vers x quand n tend vers l’infini. De plus,cette convergence est (au moins) quadratique.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 211: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Exemple : calcul de la racine carree

• Equation f (x) = 0 avec f (x) = x2 − a

• On a alors N (x) = x − f (x)f ′(x) = x − x2−a

2 x = 12

(x + a

x

).

• Si a = 2 et x0 = 1 on obtient :

x0 = 1, 000000000000000x1 = 1, 500000000000000x2 = 1, 416666666666667x3 = 1, 414215686274510x4 = 1.414213562374690x5 = 1, 414213562373095

• Matlab donne√

2 = 1, 414213562373095

• Nombre de decimales justes double approximativement a chaqueiteration (convergence quadratique)

• Dichotomie sur [1, 2] : 51 iterations pour v. a. a 10−15

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 212: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Zero multiple et convergence globale

Theoreme

Avec les notations, precedentes, si x est un zero de multiplicite mde f , i.e., f (x∗) = f ′(x∗) = · · · = f (m−1)(x∗) = 0 et f (m)(x∗) 6= 0,alors la methode iterative definie par xn+1 = Nm(xn) avec

Nm(xn) = x −mf (x)

f ′(x)est d’ordre superieure ou egal a 2.

Theoreme

Soit f ∈ C2([a, b]) verifiant :

f (a) f (b) < 0,

∀ x ∈ [a, b], f ′(x) 6= 0,

∀ x ∈ [a, b], f ′′(x) 6= 0.

Alors, en choisissant x0 ∈ [a, b] tel que f (x0) f ′′(x0) > 0, la suite(xn)n∈N definie par x0 et xn+1 = N (xn) converge vers l’uniquesolution de f (x) = 0 dans [a, b].

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 213: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode de la secante (1)

• Newton necessite le calcul de la derivee de la fonction f qui peuts’averer difficile

• Idee : remplacer la derivee f ′ de f qui apparait dans la methodede Newton par une difference divisee

Definition

Pour tout k ∈ N, on appelle difference divisee d’ordre k de fassociee a la suite de points deux a deux distincts (xj)j∈N laquantite f [x0, x1, . . . , xk ] definie par :

f [x0] = f (x0), ∀ k ∈ N∗, f [x0, x1, . . . , xk ] =f [x0, x1, . . . , xk−1]− f [x1, x2, . . . , xk ]

x0 − xk.

xn+1 = xn −f (xn)

f [xn, xn−1], ou f [xn, xn−1] =

f (xn)− f (xn−1)

xn − xn−1

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 214: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode de la secante (2)

• Initialisation : deux points x0 et x1

•x0

f (x0)

•x1

f (x1)

•x2 x∗•

y

x

Methode de la secante

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 215: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Convergence

Theoreme

Soit f une fonction de classe C2 sur un intervalle [a, b] de R. Onsuppose qu’il existe x ∈ [a, b] tel que f (x) = 0 et f ′(x) 6= 0 (x estun zero simple de f ). Alors il existe ε > 0, tel que pour toutx0, x1 ∈ [x − ε, x + ε], la suite des iteres de la methode de lasecante est bien definie, reste dans l’intervalle [x − ε, x + ε] etconverge vers x quand n tend vers l’infini. De plus, cette

convergence est d’ordre p = 1+√

52 ≈ 1, 618 (nombre d’or).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 216: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Exemple: calcul de la racine carree

• Methode de la secante

xn+1 = xn −x2n − a

(x2n − a)− (x2

n−1 − a)

xn − xn−1

= xn −x2n − a

xn + xn−1

• Si a = 2 et x0 = x1 = 1 on obtient :

x0 = 1, 000000000000000x1 = 1, 000000000000000x2 = 1, 500000000000000x3 = 1, 400000000000000x4 = 1, 413793103448276x5 = 1, 414215686274510x6 = 1, 414213562057320x7 = 1, 414213562373095

• + d’it. que Newton mais pas de calcul de derivee

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 217: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Systemes d’equations non lineaires

f :

Rn → Rn

x = (x1 . . . xn)T 7→ f (x) = (f1(x1, . . . , xn), . . . , fn(x1, . . . , xn))T .

On cherche donc un vecteur x = (x1 . . . xn)T ∈ Rn tel que

f (x) = 0Rn ⇐⇒

f1(x1, . . . , xn) = 0,

...fn(x1, . . . , xn) = 0.

• Methode 1 vu precedemment se generalise :

x (n+1) = x (n) + M−1 f (x (n)),

ou M est une certaine matrice, et nous avons les memes resultatsde convergence que dans le cas d’une seule equation.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 218: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Matrice Jacobienne

Definition

La matrice jacobienne d’une fonction f : Rn → Rn notee Jf estdefinie (lorsqu’elle existe) par :

∀ x = (x1 . . . xn)T ∈ Rn, Jf (x) =

∂f1∂x1

(x)∂f1∂x2

(x) . . .∂f1∂xn

(x)

∂f2∂x1

(x)∂f2∂x2

(x) . . .∂f2∂xn

(x)

......

. . ....

∂fn∂x1

(x)∂fn∂x2

(x) . . .∂fn∂xn

(x)

.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 219: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode de Newton (1)

• Methode de Newton se generalise : x (0) ∈ Rn et

x (n+1) = x (n) − Jf

(x (n)

)−1f (x (n)),

ou Jf(x (n)

)−1designe l’inverse de la matrice jacobienne de f

evaluee en x (n).

Theoreme

Soit f : Rn → Rn une fonction de classe C2 sur une boule fermee Bde Rn. On suppose qu’il existe un zero x de f dans B et que Jf (x)est inversible. Alors il existe ε > 0 tel que pour tout x (0) ∈ B telque ‖x (0) − x‖ ≤ ε, la suite des iteres de la methode de Newtonci-dessus est bien definie et converge vers x quand n tend versl’infini.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 220: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Methode de Newton (2)

• Calculer l’itere n + 1 a partir de l’itere n : on a besoin d’inverserla matrice Jf

(x (n)

)• Pour eviter ce calcul d’inverse :

Jf

(x (n)

) (x (n+1) − x (n)

)= −f

(x (n)

),

• A chaque iteration, calcul de l’inverse remplace par la resolutiond’un systeme d’equations lineaires ce qui est asymptotiquementmoins couteux (Cf chapitre precedent)

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 221: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Exemple (1)

• Considerons le systeme d’equations non lineaires :

(S) :

x2

1 + 2 x1 − x22 − 2 = 0,

x31 + 3 x1 x

22 − x3

2 − 3 = 0.

• Notations precedentes : n = 2, f1(x1, x2) = x21 + 2 x1 − x2

2 − 2, etf2(x1, x2) = x3

1 + 3 x1 x22 − x3

2 − 3

• Matrice jacobienne de f :

Jf (x1, x2) =

(2 x1 + 2 −2 x2

3 (x21 + x2

2 ) 6 x1 x2 − 3 x22

).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 222: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Exemple (2)

• Point de depart : x (0) = (1 − 1)T . Calculons le premier itere dela methode de Newton

• Formule d’iteration pour n = 1 :

Jf

(x (0)

) (x (1) − x (0)

)= −f

(x (0)

),

c’est-a-dire (4 26 −9

) (x

(1)1 − 1

x(1)2 + 1

)= −

(02

).

• En resolvant ce systeme lineaire, on trouve x(1)1 − 1 = − 1

12 et

x(1)2 + 1 = 1

6 x (1) =(

1112 − 5

6

)T.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 223: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Autres methodes

• La methode de la secante ne se generalise pas facilement au casde plusieurs equations

En pratique :

Methode de Newton,

Methode x (n+1) = x (n) + M−1 f (x (n)) en ajustant M au boutd’un certain nombre d’iterations.

En general, M assez proche de Jf convergence d’ordre ≥ 1

Methodes de Newton generalisees (utilisees en optimisation)

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 224: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Polynomes complexes

Dans ce chapitre nous nous interessons au polynomes de la forme

p(z) = a0 + a1z + . . .+ anzn,

ou a0, a1, . . . , an ∈ C.

Theoreme (fondamental de l’algebre)

Tout polynome non constant a coefficients complexes admet uneracine complexe.

Donc p(z) a n racines sur C (avec multiplicite).Exemple: les racines de p(z) = z3 − 1 sont α1 = 1,

α2 = −12 −

√3

2 i , α3 = −12 +

√3

2 i .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 225: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Application de la methode de Newton

Etant donne z0 ∈ C, la methode de Newton appliquee a p(z)definit une suite (systeme dynamique discret) z0, z1, z2, . . .ou

zk+1 = zk −p(zk)

p′(zk), k ∈ N.

Quels sont les comportement possibles pour une telle suite?

Pour chaque racine αi de p(z) on definit le bassin d’attractionBi ⊂ C comme l’ensemble des points z0 ∈ C tels que la suitede Newton definie a partir de z0 converge vers αi .

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 226: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Representation graphique

On choisit une fenetre d’observation (rectangle R ⊂ C).

On discretise R nœuds zjk , j = 1, . . . ,N, k = 1, . . . ,M.

Pour chaque zjk , on applique l’iteration de Newton a partir dezjk : y a-t-il convergence, et si oui, vers quelle limite ?

zjk represente en noir si pas de convergence,zjk represente en autre couleur (suivant la limite) si convergence.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 227: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Fractales

Methode de Newton appliquee a p(z) = z3 − 1.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 228: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Fractales

Methode de Newton appliquee a p(z) = z8 + 15z4 − 16.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 229: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Cycles attractifs

Soit p(z) = z3 − 2z + 2.

L’iteration de Newton associee est

zk+1 = zk −z3k − 2zk + 2

3z2k − 2

.

zk = 0 zk+1 = 1 zk+2 = 0 . . .

0, 1, 0, 1, . . . est un cycle attractif.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 230: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Cycles attractifs

Methode de Newton appliquee a p(z) = z3 − 2z + 2.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 231: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Autres methodes: Halley

La methode de Halley est definie par l’iteration

zk+1 = zk −2p(xk)p′(xk)

2(f ′(xk))2 − f (xk)f ′′(xk).

Convergence cubique au voisinage des racines.

Newton et Halley sont exemples d’une famille plus generale demethodes iteratives pour le calcul des racines des polynomes(methodes de Konig):

zk+1 = zk + d(1/p)(d−1)(zk)

(1/p)(d)(zk)

(methode d’ordre d).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 232: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Calcul des racines des polynomes: Newton

Theoreme (Hubbard, Schleicher, Sutherland 2001)

Etant donne d ∈ N, on peut determiner un ensemble fini de pointsSd ⊂ C tel que, pour tout polynome complexe p(z) de degre d etpour toute racine α de p(z), il existe au moins un point zα ∈ Sd telque l’iteration de Newton appliquee a partir de zα converge a α.

En pratique, pour la methode de Newton on a:

convergence quadratique mais seulement si on est proche de laracine,

comportement difficile a determiner en dehors d’un voisinagesuffisamment petit des racines.

methode generalement utilisee pour ameliorer un calcul approchedes racines.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 233: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Calcul des racines des polynomes: valeurs propres

La matrice compagnon ou matrice de Frobenius associee aupolynome

p(z) = zn + an−1zn−1 + an−2z

n−2 + · · ·+ a1z + a0 = 0

est definie comme

A =

0 0 0 . . . 0 −a0

1 0 0 . . . 0 −a1

0 1 0 . . . 0 −a2

0 0 1 . . . 0 −a3...

......

. . ....

...0 0 0 . . . 1 −an−1

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 234: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Calcul des racines des polynomes: valeurs propres

Theoreme

Le polynome caracteristique de A est un multiple scalaire de p(z).

Les valeurs propres de A sont racines de p(z), et inversement.

Pour calculer toutes les racines de p(z) il suffit donc de calculerles valeurs propres de A.

Des methodes efficaces sont disponibles pour le calcul desvaleurs propres(methode QR: stable, complexite O(n3)).

Commande Matlab roots.

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique

Page 235: Analyse Num erique - Page d'accueil - Université de Limoges · Lepourcentage d’erreurest l’erreur relative multipli ee par 100. En pratique, on ne connait en g en eral pas la

Calcul des racines des polynomes: conditionnement

Exemples de polynomes mal conditionnes:

Racines multiples: p(z) = (z − 1)n

racine α = 1 de multiplicite n,on introduit une perturbation: p(z) = (z − 1)n − ε (ε > 0),le racines de p(z) sont αj = 1 + ωjε

1/n (ωj=racine n-ieme de1),exemple: si p(z) = (z − 1)3, le polynome perturbep(z) = (z − 1)3 − 10−6 a 3 racines distinctes a distance 10−2

par rapport a 1.

Polynome de Wilkinson:

w(z) = (z − 1) · (z − 2) · (z − 3) · . . . · (z − 20).

Thomas Cluzeau (Univ. de Limoges - ENSIL) Analyse Numerique