analyse num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyanensiie0.pdfd e nition 4. une...

127
ENSIIE 1 i` ere Ann´ ee Analyse Num´ erique 2011-2012

Upload: others

Post on 23-Jan-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

ENSIIE 1iere Annee

Analyse Numerique

2011-2012

Page 2: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

2

Page 3: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

Table des matieres

1 Background sur les matrices 71.1 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.2 Elements de correction/ remarques . . . . . . . . . . . . . . . . . . . . . . . . 16

2 Conditionnement 292.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.2 Conditionnement d’une matrice . . . . . . . . . . . . . . . . . . . . . . . . . . 292.3 Majoration des perturbations . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.4 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.5 Elements de correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3 Resolution numerique de systemes lineaires 413.1 Cas des matrices triangulaires . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.2 Methode de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.3 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.3.1 Resume pour la methode de Gauss . . . . . . . . . . . . . . . . . . . . 433.3.2 Interpolation par splines cubiques . . . . . . . . . . . . . . . . . . . . 433.3.3 Resolution d’un systeme tridiagonal . . . . . . . . . . . . . . . . . . . 443.3.4 Equation de diffusion 1D . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.4 La methode de Cholesky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483.6 Elements de correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4 Methodes iteratives 574.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574.2 Tests d’arret . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584.3 Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584.4 Vitesses de convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594.5 Les matrices hermitiennes definies positives . . . . . . . . . . . . . . . . . . . 604.6 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614.7 Elements de correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644.8 Sujet Controle Terminal 2009/2010 . . . . . . . . . . . . . . . . . . . . . . . . 75

5 Resolution numerique d’equations differentielles ordinaires 775.1 Quelques problemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

5.1.1 Thermodynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775.1.2 Dynamique des populations . . . . . . . . . . . . . . . . . . . . . . . . 78

3

Page 4: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

4 TABLE DES MATIERES

5.1.3 Le probleme du pendule . . . . . . . . . . . . . . . . . . . . . . . . . . 785.2 Le probleme de Cauchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

5.2.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795.2.2 Problematique des solutions numeriques . . . . . . . . . . . . . . . . . 795.2.3 Solution locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.3 Premiers exemples : les methodes d’Euler . . . . . . . . . . . . . . . . . . . . 805.4 Integration numerique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

5.4.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815.4.2 Formule de quadrature . . . . . . . . . . . . . . . . . . . . . . . . . . . 815.4.3 Intervalle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815.4.4 Formules composites . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815.4.5 Formules de Newton-Cotes . . . . . . . . . . . . . . . . . . . . . . . . 815.4.6 Degre de precision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825.4.7 Formules de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

5.5 Schemas a un pas explicites . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835.6 Consistance, stabilite et convergence . . . . . . . . . . . . . . . . . . . . . . . 855.7 Schemas implicites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895.8 Stabilite absolue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905.9 Methodes multi-pas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905.10 Methodes multi-pas (complement) . . . . . . . . . . . . . . . . . . . . . . . . 91

5.10.1 Methode d’Adams explicite . . . . . . . . . . . . . . . . . . . . . . . . 915.10.2 Methode d’Adams implicite . . . . . . . . . . . . . . . . . . . . . . . . 925.10.3 Methode predicteur correcteur . . . . . . . . . . . . . . . . . . . . . . 93

5.11 Methodes geometriques pour les EDO hamiltoniennes . . . . . . . . . . . . . 935.12 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955.13 Elements de correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

6 Projets 2010 1096.1 Cinetique de l’oxydation du sulfite de cuivre . . . . . . . . . . . . . . . . . . . 1096.2 Systeme proie-predateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1116.3 Calcul de trajectoires de planetes . . . . . . . . . . . . . . . . . . . . . . . . . 1126.4 Diffusion de la chaleur dans une barre conductrice . . . . . . . . . . . . . . . 113

6.4.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1136.4.2 Modelisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1136.4.3 Discretisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1146.4.4 Equations approchees . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

6.5 Recuperation des donnees d’un site internet . . . . . . . . . . . . . . . . . . . 1166.5.1 Analyse en composantes principales . . . . . . . . . . . . . . . . . . . 1166.5.2 Probleme a etudier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

6.6 Classement de pages web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1176.7 Resolution numerique du probleme de la chaınette . . . . . . . . . . . . . . . 119

6.7.1 Un peu d’histoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1196.7.2 Modelisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1196.7.3 Discretisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1206.7.4 Resolution numerique . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

6.8 Comptabilite nationale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1226.8.1 Le modele lineaire de Leontiev . . . . . . . . . . . . . . . . . . . . . . 122

Page 5: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

TABLE DES MATIERES 5

6.8.2 Equilibre de la croissance . . . . . . . . . . . . . . . . . . . . . . . . . 1226.9 Modeles de trafic routier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

6.9.1 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1246.9.2 Modeles microscopiques . . . . . . . . . . . . . . . . . . . . . . . . . . 124

Page 6: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

6 TABLE DES MATIERES

Page 7: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

Chapitre 1

Background sur les matrices

Theoreme 1 (Theoreme du rang). Pour toute matrice A ∈ RN×N , on a

rg(A) + dim(KerA) = N

Changement de base

Soit E = (e1, . . . , eN ) une base de RN et E ′ = (e′1, . . . , e′N ) une autre base. La matrice de

passage de E a E ′ est donnee par S = PE→E ′ = (Si,j) avec

e′j =

N∑i=1

Si,jei.

Proposition 1 (Effet d’un changement de base sur les composantes d’un vecteur).

Si∑N

i=1 xiei =∑N

i=1 x′ie′i, et x = (x1, . . . , xN )t, x′ = (x′1, . . . , x

′N )t, on a

x = Sx′.

Demonstration. On ecrit

N∑i=1

xiei =

N∑i=1

x′ie′i =

N∑i=1

x′i

N∑j=1

Sjiej =

N∑j=1

N∑i=1

Sjix′iej ,

et donc xj =∑N

i=1 Sjix′i.

Proposition 2 (Effet d’un changement de base sur les elements d’une matrice). Si A est unematrice representant une application lineaire de E dans F dans une base E (base de E) etF (base de F ) et si A′ est une matrice representant cette meme application dans une base E ′(base de E) et F ′ (base de F ), on a

A′ = T−1AS,

avec S = PE→E ′ et T = PF→F ′. Pour memoriser, on a

AF ′→E ′ = PF ′→FAF→EPE→E ′ .

7

Page 8: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

8 CHAPITRE 1. BACKGROUND SUR LES MATRICES

Demonstration. On note g l’application correspondante et on a

g(ej) =N∑i=1

Ai,jfi, g(e′j) =N∑i=1

A′i,jf′i .

On en deduit

g(e′j) =

N∑i=1

Si,jg(ei) =

N∑i=1

Si,j

N∑k=1

Ak,ifk =

N∑i=1

Si,j

N∑k=1

Ak,i

N∑`=1

(T−1)`,ke`,

et donc

A′`,j =N∑i=1

Si,j

N∑k=1

Ak,i(T−1)`,k =

N∑k=1

(T−1)`,k

(N∑i=1

Ak,iSi,j

).

Definition 1.Matrice transposee : At = (aj,i)Matrice adjointe : A∗ = (aj,i)Matrice symetrique : At = AMatrice hermitienne : A∗ = A

Proposition 3. On a

(AB)t = BtAt, (AB)∗ = B∗A∗, (AB)−1 = B−1A−1, (A∗)−1 = (A−1)∗, (At)−1 = (A−1)t.

Lemme 1. Soient L(1) et L(2) deux matrices d’ordre N triangulaires inferieures. Alors L(3) =

L(1)L(2) est triangulaire inferieure et `(3)i,i = `

(1)i,i `

(2)i,i .

Demonstration. Voir exercices.

Lemme 2. Soit L une matrice carree reguliere (i.e. inversible) et triangulaire inferieure.Alors L−1 est aussi triangulaire inferieure et

`−1i,i =

1

`i,i.

Demonstration. Voir exercices.

Proposition 4. Soit A une matrice carree triangulaire par blocs (les blocs diagonaux Ai,isont supposes etre carres). On a

det(A) =

p∏i=1

det(Ai,i).

Definition 2. Une matrice bande est une matrice telle que ai,j = 0 pourj < i−c et j > i+c ;c est appele demi-largeur de bande.Pour c = 1, on a une matrice tridiagonale ; pour c = 2, on a une matrice pentadiagonale.

Proposition 5. Soit A une matrice rectangulaire (M,N). Alors pour tout x ∈ KN et y ∈KM , on a

(Ax|y) = (x|A∗y).

Page 9: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

9

Demonstration. Voir exercices.

Theoreme 2. Soit A une matrice rectangulaire (M,N). Alors

KerA∗ = (ImA)⊥, ImA∗ = (KerA)⊥.

Theoreme 3 (Orthogonalisation de Gram-Schmidt). A partir d’une suite de vecteurs lineairementindependants de KN (f1, f2, . . . , fk), on peut construire une suite de vecteurs (p1, . . . , pk) 2a2 orthogonaux tels que

V ect(f1, . . . , fj) = V ect(p1, . . . , pj), j = 1, . . . , k.

Lemme 3. Une matrice carree A hermitienne est telle que (Ax|x) est reel pour tout x ∈ CN .

Definition 3. Une matrice hermitienne est definie positive si pour tout x ∈ CN \ {0}, on a

(Ax|x) > 0.

Une matrice hermitienne est semi-definie positive si pour tout x ∈ CN \ {0}, on a

(Ax|x) ≥ 0.

Soit A une matrice rectangulaire de format (M,N). Alors A∗A est une matrice carreed’ordre N qui est hermitienne. Elle est semi-definie positive. Si le rang de A vaut N alorsA∗A est definie positive.

Proposition 6. Les sous-matrices principales d’une matrice hermitienne et definie positivesont hermitiennes et definies positives. Les elements diagonaux de A sont strictement positifs.

Definition 4. Une matrice Q de format (M,N) avec M ≥ N est unitaire si les colonnes deQ sont des vecteurs deux a deux orthogonaux et de norme unite, i.e. Q∗Q = I.

Lemme 4. Une matrice unitaire verifie ‖Qx‖2 = ‖x‖2

Demonstration. Voir exercices.

Lemme 5. Le produit de deux matrices unitaires est unitaire.

Une matrice unitaire a coefficients reels est dite orthogonale.

Proposition 7. Soient A matrice de format (M,N) et B de format (N,M), avec M > N .Alors

det(λI −BA) = λM−Ndet(λI −AB).

Les valeurs propres non nulles de deux matrices AB et BA sont les memes.

Demonstration. On part de(IN 0−B µIM

)(µIN AB µIM

)=

(µIN A0 µ2IM −BA

)et (

µIN −A0 IM

)(µIN AB µIM

)=

(µ2IN −AB 0B µIM

)

Page 10: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

10 CHAPITRE 1. BACKGROUND SUR LES MATRICES

Les valeurs propres de A∗ sont les conjuguees des valeurs propres de A.

Les valeurs propres de At sont les memes que les valeurs propres de A.

Theoreme 4. Soit ui un vecteur propre de A correspondant a λi. Soit vj un vecteur propregauche correspondant a λj. Alors, si λi 6= λj, on a

(ui|vj) = 0

En particulier si A est hermitienne, les vecteurs propres correspondant a des valeurspropres distinctes sont orthogonaux.

Proposition 8. Les vecteurs propres associes a des valeurs propres distinctes sont lineairementindependants.

Theoreme 5. Soit A une matrice carree d’ordre N .

A est diagonalisable ssi A possede N vecteurs propres ui lineairement independants. AlorsA peut se factoriser sous la forme

A = SDS−1,

ou D est la matrice diagonale formee des valeurs propres. La i-ieme colonne de S est unvecteur propre ui associe a la valeur propre λi. La j-ieme colonne de (S−1)∗ est un vecteurpropre a gauche vj associe a la valeur propre λj.

Corollaire 1. Si toutes les valeurs propres de A sont distinctes, alors A est diagonalisable.

Definition 5. Un bloc de Jordan Jk(λ) d’ordre k est une matrice d’ordre k avec des 1 sur lasur-diagonale et λ sur la diagonale.

Definition 6. On appelle matrice de Jordan, une matrice diagonale par blocs, ou chaque blocest un bloc de Jordan Jki(λi). Les λi ne sont pas necessairement distincts.

Theoreme 6. Toute matrice est semblable a une matrice de Jordan.

Theoreme 7. Une condition necessaire et suffisante pour que deux matrices diagonalisablescommutent est qu’elles aient les memes vecteurs propres.

Demonstration. Pour un sens, voir exercices.

Theoreme 8 (Theoreme de Schur). Toute matrice carree A peut s’ecrire

A = UTU∗,

avec U unitaire et T triangulaire superieure.

Definition 7. On dit qu’une matrice est normale si A∗A = AA∗

Theoreme 9. A est une matrice normale ssi il existe une matrice U unitaire telle que

A = UDU∗

D est la matrice diagonale formee des valeurs propres. Ainsi, une matrice normale est dia-gonalisable et les vecteurs propres sont orthogonaux.

Page 11: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

11

Corollaire 2. Une matrice hermitienne est diagonalisable. Ses valeurs propres sont reelleset ses vecteurs propres sont orthogonaux.

Corollaire 3. Une matrice symetrique et reelle est diagonalisable. Ses valeurs propres sontreelles et ses vecteurs propres sont orthogonaux.

Corollaire 4. Une matrice unitaire est diagonalisable. Ses valeurs propres ont pour module1 et ses vecteurs propres sont orthogonaux.

Theoreme 10. Une matrice hermitienne (ou symetrique reelle) est definie positive ssi sesvaleurs propres sont strictement positives.

Theoreme 11. Une matrice hermitienne (ou symetrique reelle) est definie positive ssi sesmineurs principaux sont strictement positifs.

Proposition 9. Une matrice anti-hermitienne est diagonalisable. Ses valeurs propres sontimaginaires pures et les vecteurs propres sont orthogonaux.

Definition 8. Soit A une matrice rectangulaire de format (M,N). On appelle valeurs sin-gulieres (µi) de A les racines carrees positives ou nulles des valeurs propres de la matriceA∗A d’ordre N .

Theoreme 12. Soit A une matrice rectangulaire de format (M,N). Il existe deux matricescarrees unitaires U et V d’ordre respectivement M et N telles que

U∗AV = Σ,

ou Σ est une matrice rectangulaire de format (M,N), avec σi,i = µi, i = 1, . . . , N et lesautres termes sont nuls. Les µi sont les valeurs singulieres de la matrice A.

Corollaire 5. Le rang de A est egal au nombre de valeurs singulieres non nulles.

Corollaire 6. Soit A = UΣV ∗ la decomposition en valeurs singulieres de A. Appelons ui lescolonnes de U et vi les colonnes de V . Alors

A =r∑i=1

µiuiv∗i ,

A∗A =r∑i=1

µ2iuiv

∗i .

Normes

Definition 9. Definition de la norme

Une norme est une application de E K-espace vectoriel dans R+ qui verifie

1. ‖x‖ = 0⇔ x = 0n2. ‖λx‖ = |λ|‖x‖ pour tout λ ∈ K et x ∈ E,3. ‖x+ y‖ ≤ ‖x‖+ ‖y‖ pour tout x, y ∈ E.

Theoreme 13. Dans CN toutes les normes sont equivalentes

Page 12: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

12 CHAPITRE 1. BACKGROUND SUR LES MATRICES

Definition 10. Norme matricielle induite

‖A‖ = max‖x‖=1‖Ax‖

Lemme 6. Pour toute norme matricielle induite, on a

‖Ax‖ ≤ ‖A‖‖x‖

Theoreme 14. Une norme matricielle induite est bien une norme pour les matrices

Remarque 1. Pour toute norme induite par une norme vectorielle, on a

‖I‖ = 1.

Proposition 10. Pour deux matrices A et B de format (M,N) et (N,P ), on a

‖AB‖ ≤ ‖A‖‖B‖

Definition 11. On appelle rayon spectral de A, la quantite

ρ(A) = maxi=1,...,N

|λi(A)|.

A est une matrice de format (N,N) et λi(A), i = 1, . . . , N sont les valeurs propres de A.

Theoreme 15. Pour que limk→∞Ak = 0, il faut et suffit que ρ(A) < 1.

Demonstration. Si A est une matrice elementaire de Jordan Jp d’ordre Np. On a

Jp = λINp + E.

On peut verifier que En = 0, pour n ≥ Np. On a alors pour k ≥ Np

Jkp =

Np−1∑i=0

Ck”λk−ip Ei

Pour i fixe et k →∞, on alimk→∞

|Cikλk−ip | = 0,

si |λp| < 1 et vaut ∞ sinon. On voit alors que Jkp tend vers 0 ssi |λp| < 1.

Dans le cas general, on ecrit Ak = SJkS−1.

Theoreme 16. pour toute norme matricielle, on a

limk→∞

‖Ak‖1/k = ρ(A)

Demonstration. On a ρk(A) = ρ(Ak) ≤ ‖Ak‖ (cf exercices), ce qui donne

ρ(A) ≤ ‖Ak‖1/k.

Soit ε > 0. On considere la matrice suivante A(ε) = 1ρ(A)+εA, dont le rayon spectral est

ρ(A(ε)) = ρ(A)ρ(A)+ε < 1. Donc limk→∞A

k(ε) = 0. Donc il existe k(ε) tel que pour tout k ≥ k(ε),on ait

‖Ak(ε)‖ ≤ 1.

Or, comme ‖Ak(ε)‖ = ‖Ak‖(ρ(A)+ε)k

, on obtient

‖Ak‖1/k ≤ ρ(A) + ε

Page 13: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

13

Theoreme 17. La serie I +B +B2 + . . . converge vers (I −B)−1 ssi ρ(B) < 1.

Demonstration. Si ρ(B) < 1, 1 n’est pas valeur propre de B donc I−B est inversible. Posons

Ak = I +B + . . . Bk.

On a alorsBAk = B + · · ·+Bk+1.

En prenant la difference, on obtient

(I −B)Ak = I −Bk+1,

soit Ak = (I −B)−1(I −Bk+1), puis

‖Ak − (I −B)−1‖ ≤ ‖(I −B)−1‖‖Bk+1‖,

qui tend vers 0 et donclimk→∞

Ak = (I −B)−1

Reciproquement, si limk→∞Ak existe, on a limk→∞Bk = 0 et donc ρ(B) < 1.

Page 14: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

14 CHAPITRE 1. BACKGROUND SUR LES MATRICES

1.1 Exercices

Exercice 1. Soit E ⊆ R4 le sous-espace vectoriel engendre par les colonnes de la matrice

B =

1 2 0 12 3 1 0−1 3 3 1−2 −1 1 0

Calculer la dimension de E.

Exercice 2. Calculer la dimension du sous-espace vectoriel de Rp d’equationa11x1 + · · · + a1pxp = 0

... + · · · +... = 0

an1x1 + · · · + anpxp = 0

en fonction du rang r de la matrice A = (ai,j)1≤i≤n1≤j≤p

.

Exercice 3. Soit (e1, e2, e3) une base de R3. Soit f ∈ L(R3) telle que

f(e1) = e1 + e2 + e3,f(e2) = e2 + 5e3,f(e3) = 2e3.

Montrer que f est inversible et calculer f−1(e1), f−1(e2) et f−1(e3) en fonction de e1, e2 ete3.

Exercice 4. 1) Prouver que u1 = (0, 1, 2)t, u2 = (1, 3, 5)t et u3 = (5, 4, 6)t forment une basede R3 et calculer les coordonnees de u = (7, 4, 7)t dans cette base.2) On considere l’application lineaire

f : R4 −→ R4

(x, y, z, t)t −→ (x′, y′, z′, t′)t

ou x′ = x+ 2y + 7z + 4t, y′ = x− y + z + t, z′ = −x+ y − z − t et t′ = x+ 3z + 2t.Determiner une base de Kerf et une base de Imf .3) Pour chacune des matrices R et S, calculer son inverse ou montrer qu’elle n’est pas in-versible.

R =

0 −1 21 0 3−2 −3 0

et S =

1 2 31 3 22 3 8

.

Exercice 5. Soit une matrice A = (ai,j)1≤i,j≤n verifiant

∀i ∈ {1, ..., n}, |ai,i| >n∑

j=1,j 6=i|ai,j |

(matrice a diagonale strictement dominante). Montrer que A est inversible.

Page 15: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

1.1. EXERCICES 15

Exercice 6. Soit A la matrice :

A =

2 0 43 −4 121 −2 5

.

Calculer An, pour tout n ∈ N.

Exercice 7. [Rappels fondamentaux d’algebre lineaire](a) Soit A une matrice symetrique. Montrer que A hermitienne ≡ A reelle.(b) Montrer que (Ax|y) = (x|A∗y) dans CN et (Ax|y) = (x|Aty) dans RN .(c) Montrer que si A est definie positive alors ses elements diagonaux sont strictement

positifs.(d) Montrer que si A est une matrice unitaire ou orthogonale alors ‖Ax‖2 = ‖x‖2 et

|det(A)| = 1.(e) Montrer que deux matrices semblables ont meme polynome caracteristique(f) Montrer que si A est hermitienne alors ses valeurs propres sont toute reelles(g) Montrer que toute matrice symetrique reelle est definie positive ssi toutes ses valeurs

propres sont strictement positives.(h) Soient A et B deux matrices diagonalisables. Montrer que si elles ont les memes vec-

teurs propres, alors elles commutent entre elles. Trouver un contre exemple de deux matricesne commutant pas.

Exercice 8. [Normes vectorielles et normes matricielles](a) Montrer que ‖x‖1 =

∑Ni=1 |xi|, ‖x‖∞ = maxi=1,...,N |xi| et ‖x‖2 = (

∑Ni=1 |xi|2)1/2 sont

des normes sur RN .(b) Montrer l’equivalence des normesi. ‖x‖∞ ≤ ‖x‖1 ≤ N‖x‖∞ii. ‖x‖∞ ≤ ‖x‖2 ≤

√N‖x‖∞

iii. ‖x‖2 ≤ ‖x‖1 ≤√N‖x‖2

(c) Soit A une matrice carree A = (ai,j) Montrer que

i. ‖A‖1 = maxj=1,...,N∑N

i=1 |ai,j |ii. ‖A‖∞ = maxi=1,...,N

∑Nj=1 |ai,j |

iii. Soit B reelle et symetrique. Montrer que λmin(B) ≤ (Bx|x)‖x‖22

≤ λmax(B) (quotient de

Rayleigh). En deduire que ‖A‖2 =√ρ(AtA) (ρ est le rayon spectral)

iv. Montrer que ρ(A) ≤ ‖A‖ pour toute norme matricielle ‖ · ‖.

Exercice 9 (A propos des matrices triangulaires). Dans tout cet exercice, A designe unematrice triangulaire inferieure.

(a) Quelles sont les valeurs propres de A et a quelle condition A est-elle inversible ?(b) Pour une matrice A inversible de taille N , resoudre AX = b. En deduire alors que si

bi = 0 pour i < k et bk 6= 0 alors xi = 0 pour i < k et xk 6= 0(c) Montrer que l’ensemble des matrices triangulaires inferieures est stable par produit et

par inverse.

Page 16: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

16 CHAPITRE 1. BACKGROUND SUR LES MATRICES

1.2 Elements de correction/ remarques

Exercice 1

Si le determinant de B vaut 0, le rang de B qui est egal a la dimension d du sous espaceengendre par les colonnes est de dimension au plus 3. Maintenant, si on enleve une colonne etune ligne (i.e. on considere un mineur, mais pas necessairement un mineur principal) et quel’on trouve donc un determinant non nul, on aura d ≥ 2.

Dans ce cas, on a det(B) = |B| (on note le determinant comme cela parfois) |B| = 0, sion le calcule (en developpant par rapport a la derniere colonne, qui a le plus de zeros parexemple).

|B| =

∣∣∣∣∣∣2 3 1−1 3 3−2 −1 1

∣∣∣∣∣∣+

∣∣∣∣∣∣1 2 02 3 1−2 −1 1

∣∣∣∣∣∣ = 4− 4 = 0.

et ∣∣∣∣∣∣2 3 1−1 3 3−2 −1 1

∣∣∣∣∣∣ = 4

donc d = 3. Remarquons, qu’il y a ici deux mineurs d’ordre 3 qui sont non nuls.

Est-ce qu’il ne suffirait pas de voir certains mineurs ? (si on doit verifier pour tous lesmineurs, cela peut etre long !) par exemple les mineurs diagonaux ? A voir...

Exercice 2

On utilise le theoreme du rang. Ce que l’on cherche, c’est dim(Ker(A)) (la dimension dunoyau)

On rappelle que KerA = {x, Ax = 0}.Donc on sait que

dim(E) = dim(Ker(A)) + dim(Im(A))

E c’est l’espace de depart. Im(A), c’est l’image de A.

On a Im(A) = {Ax}.On a par definition dim(Im(A)) = rang(A).

Donc au final, on a p = dim(Ker(A)) + rang(A), i.e.

dim(Ker(A)) = p− rang(A).

Exercice 3

On regarde la matrice associee a l’application lineaire

A =

1 0 01 1 01 5 2

Cette matrice est inversible, car son determinant est non nul ; il est egal au produit des

termes diagonaux, comme la matrice est triangulaire.

On l’inverse facilement l’inverse qui est aussi une application lineaire en resolvant lesysteme triangulaire

e1 = g1 + g2 + g3,e2 = g2 + 5g3,e3 = 2g3,

Page 17: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

1.2. ELEMENTS DE CORRECTION/ REMARQUES 17

avec gj = f−1(ej), j = 1, 2, 3. On remarquera que l’on est en train de montrer que l’inversed’une matrice triangulaire inferieure est une matrice triangulaire inferieure et que pour trouverson inverse, il suffit de resoudre un systeme triangulaire superieur ( !) On trouve donc

A−1 =

1 0 0−1 1 02 −5/2 1/2

puisque g3 = 1/2e3, g2 = e2−5g3 = e2−5/2e3 et g1 = e1−g2−g3 = e1−e2 +5/2e3−1/2e3 =e1 − e2 + 2e3.

Exercice 41. On considere la matrice associee

A =

0 1 51 3 42 5 6

On verifie que le determinant n’est pas nul. On cherche ensuite x = (x1, x2, x3)t 7

47

= x1u1 + x2u2 + x3u3 = Ax

On resoud ensuite le systeme lineaire ; attention le premier pivot est nul. On fait donc unechange de ligne, par exemple L2 ↔ L1 1 3 4

0 1 52 5 6

477

puis L3 ← L3 − 2L1 1 3 4

0 1 50 −1 −2

47−1

enfin L3 ← L3 + L2 1 3 4

0 1 50 0 3

476

On resoud ensuite par remontee. On trouve (le resultat se verifie en prenant la solution)

x1 = 5, x2 = −3, x3 = 2,

ce qui donneu = 5u1 − 3u2 + 2u3.

2. On considere la matrice associee

A =

1 2 7 41 −1 1 1−1 1 −1 −11 0 3 2

Page 18: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

18 CHAPITRE 1. BACKGROUND SUR LES MATRICES

A priori, on peut deja calculer le determinant, pour voir si la matrice est inversible, maiscela est assez long. En fait on peut commencer a faire une factorisation de Gauss (on parleparfois de factorisation de gauss incomplete).

On fait L2 ← L2 − L1, L3 ← L3 + L1, L4 ← L4 − L1, ce qui donne

L(1)A =

1 2 7 40 −3 −6 −30 3 6 30 −2 −4 −2

et donc (cf cours sur methode de gauss ; interpretation operation sur les lignes et multiplicationa gauche par une matrice L(1) et inverse de L(1))

A =

1 0 0 01 1 0 0−1 0 1 01 0 0 1

1 2 7 40 −3 −6 −30 3 6 30 −2 −4 −2

On voit que cette matrice est de rang 2 : les lignes sont generees par les vecteurs independants

(1, 2, 7, 4), (0, 1, 2, 1).

Donc dim(Ker(A)) = rang(A) = 2 (tout ceci sans calculer le determinant, ou des mineurs...)Pour une base de Im(f), on peut prendre

(1, 1,−1, 1)t, (4, 1,−1, 2)t.

(ces vecteur sont independants car non colineaires et obteuns en prenant respectivementx = 1, y = z = t = 0 et x = y = z = 0, t = 1 donc sont bien dans l’image (Im(f)).

Pour le noyau (finalement, on a par eu besoin d’expliciter (L(1))−1, mais cela pourra peut-etre servir ailleurs...), on cherche x = (x1, x2, x3, x4)t tel que Ax = (0, 0, 0, 0)t. On obtient enutilisant les operations sur les lignes que l’on vient de faire

x2 + 2x3 + x4 = 0, x1 + 2x2 + 7x3 + 4x4 = 0

En prenant x1 = 1, x2 = 0, on obtient

2x3 + x4 = 0, 1 + 7x3 + 4x4 = 0

soit8x3 + 4x4 = 0, 1 + 7x3 + 4x4 = 0,

puis x3 = 1 et x4 = −2 ; ce qui donne le vecteur (1, 0, 1,−2)t. D’autre part, si on prendx1 = 0, x2 = 1, on obtient

4 + 8x3 + 4x4 = 0, 2 + 7x3 + 4x4 = 0,

soitx3 = −2, x4 = −1− 2x3 = 3

ce qui donne le vecteur (0, 1,−2, 3)t ; (ces vecteurs verifient bien les equations).

Page 19: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

1.2. ELEMENTS DE CORRECTION/ REMARQUES 19

3. On peut ecrire

− x2 + 2x3 = b1

x1 − 3x3 = b2

− 2x1 − 3x2 = b3

on fait L2 ↔ L1

x1 − 3x3 = b2

− x2 + 2x3 = b1

− 2x1 − 3x2 = b3

puis L3 ← L3 + 2L1

x1 − 3x3 = b2

− x2 + 2x3 = b1

− 3x2 − 6x3 = b3 + 2b2

puis L3 ← L3 + 3L2

x1 − 3x3 = b2

− x2 + 2x3 = b1

0 = b3 + 2b2 + 3b1

Cela implique donc que la premiere matrice n’est pas inversible (on remarque aussi que parcette methode on trouve la relation que doit verifier le second membre (b1, b2, b3) pour quel’on puisse resoudre le systeme).

Pour la deuxieme matrice, on a

x1 + 2x2 + 3x3 = b1

x1 + 3x2 + 2x3 = b2

2x1 + 3x2 + 8x3 = b3

On fait L2 ← L2 − L1 et L3 ← L3 − 2L1, ce qui donne

x1 + 2x2 + 3x3 = b1

x2 − x3 = b2 − b1− x2 + 2x3 = b3 − 2b1

puis L3 ← L3 + L2

x1 + 2x2 + 3x3 = b1

x2 − x3 = b2 − b1x3 = b3 − 3b1 + b2

Page 20: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

20 CHAPITRE 1. BACKGROUND SUR LES MATRICES

On trouve

x3 = −3b1 + b2 + b3

x2 = x3 + b2 − b1 = −4b1 + 2b2 + b3

x1 = −2x2 − 3x3 + b1 = (1 + 8 + 9)b1 + (−4− 3)b2 + (−2− 3)b3 = 18b1 − 7b2 − 5b3

La matrice inverse est donc 18 −7 −5−4 2 1−3 1 1

Exercice 5 On cherche x tel que Ax = 0 ; pour montrer que A est inversible, il suffit de

montrer que x = 0. On a, comme Ax = 0,

n∑j=1

ai,jxj = 0,

pour tout i = 1, . . . , n, ce qui donne

ai,ixi = −n∑

j=1, j 6=iai,jxj ,

puis

|ai,i||xi| = | −n∑

j=1, j 6=iai,jxj | ≤

n∑j=1, j 6=i

|ai,j ||xj |,

pour tout i = 1, . . . , n. Prenons maintenant i tel que |xi| = maxj=1,...,n |xj |. On a alors

|ai,i||xi| ≤n∑

j=1, j 6=i|ai,j ||xi|,

puis

|xi|

|ai,i| − n∑j=1, j 6=i

|ai,j |

≤ 0

or |ai,i| −∑n

j=1, j 6=i |ai,j | > 0, donc |xi| = maxj=1,...,n |xj | = 0. Cela veut dire que x = 0.Exercice 6 Pour calculer An, on cherche a diagonaliser A (si c’est possible ; sinon, on

cherche une forme de Jordan).On cherche les valeurs propres deA. Pour cela, on peut calculer le polynome caracterististique

qui vautP (λ) = det(A− λId) = −2λ+ 3λ2 − λ3 = −λ(λ− 1)(λ− 2).

Donc les valeurs propres qui sont les racines du polynome characteristique valent 0, 1 et 2.On peut donc ecrire

An = P

0 0 00 1 00 0 2n

P−1.

Page 21: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

1.2. ELEMENTS DE CORRECTION/ REMARQUES 21

Effectivement On a A = P∆P−1, avec ∆ matrice diagonale formee par les valeurs propres deA. On a ensuite

An = (P∆P−1)n = P∆P−1P∆P−1 . . . P∆P−1 = P∆nP−1.

Il reste a trouver P . On cherche d’abord un vecteur e1 tel que Ae1 = 0. Notons e1 =(x1, x2, x3)t. On a

2x1 + 4x3 = 0

3x1 − 4x2 + 12x3 = 0

x1 − 2x2 + 5x3 = 0

On fait L2 ← L2 − 3/2L1 et L3 ← L3 − 1/2L1, ce qui donne

2x1 + 4x3 = 0

−4x2 + 6x3 = 0

−2x2 + 3x3 = 0

On peut prendre x3 = 2, x2 = 3 et x1 = −4 et ainsi e1 = (−4, 3, 2)t convient.On cherche ensuite un vecteur e2 tel que Ae2 = e2. Notons e2 = (x1, x2, x3)t. On a

x1 + 4x3 = 0

3x1 − 5x2 + 12x3 = 0

x1 − 2x2 + 4x3 = 0.

On fait L2 ← L2 − 3L1 et L3 ← L3 − L1, ce qui donne

x1 + 4x3 = 0

−5x2 = 0

−2x2 = 0

On peut donc prendre e2 = (4, 0,−1).On cherche enfin un vecteur e3 tel que Ae3 = 2e3. Notons e3 = (x1, x2, x3)t. On a

4x3 = 0

3x1 − 6x2 + 12x3 = 0

x1 − 2x2 + 3x3 = 0.

On peut donc prendre e3 = (2, 1, 0)t. La matrice de passage P vaut donc

P =

−4 4 23 0 12 −1 0

On peut alors calculer l’inverse de P

P−1 =

−1/2 1 −2−1 2 −53/2 −2 6

Page 22: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

22 CHAPITRE 1. BACKGROUND SUR LES MATRICES

puis calculer An = P∆nP−1

An =

3 · 2n − 4 −4 · 2n + 8 12 · 2n − 203 · 2n−1 −2n+1 6 · 2n

1 −2 5

.

Exercice 7

(a) A symetrique : A = At

A hermitienne : A = At. Donc si l’on suppose A symetrique, on a

A = At ⇔ At = A

t ⇔ A = A⇔ A ∈Mn(R).

En effet, un nombre est reel ssi il est egal a son conjugue (si z = a+ ib, z = a− ib)(b) Dans CN

(Ax|y) =∑i,j

ai,jxjyi =∑j

xj(∑i

ai,jyi) = (x,Aty).

(c) A definie positive : (Ax|x) > 0 pour x 6= 0. Pour x = ei (ou ei est le vecteur ei =(0, . . . , 1, 0, . . . , 0), avec le 1 a la i-eme place) on a

(Ax|x) = (Aei|ei) = (N∑j=1

aj,iej |ei) =N∑j=1

aj,i(ej |ei) = ai,i > 0,

puisque (ej)j=1,...,N est une base orthonormale, c’est-a-dire : (ei|ei) = 1 et (ei|ej) = 0, si i 6= j.

(d) A matrice orthogonale AAt = In

‖Ax‖22 = (Ax|Ax) = (AtAx, x) = ‖x‖22.

On a aussi (on rappelle que le determinant d’un produit de matrices est le produit desdeterminants)

det(In) = 1 = det(AtA) = det(A)det(At) = det(A)2.

Cela reste valable si A est unitaire (on remplace la transposition par l’adjoint et on utilise lameme propriete (b)).

(e) P et R sont semblables si P = Q−1RQ. Le polynome caracteristique de R est donnepar

det(λ−R) = det(Q−1(λ−R)Q).

(f) A hermitienne (Ax|x) = λ(x|x) = (x|Atx) = (x|λx) = λ(x|x).

(g) Si A def. positive, soit λ valeur propre et e vecteur propre associe. Cel veut dire que

Ae = λe,

et e 6= 0. On a

(Ae|e) = (λe|e) = λ(e|e) > 0,

en utilisant la linearite du produit scalaire par rapport a son premier argument ; donc λ > 0,puisque (e|e) > 0 (en effet e 6= 0, don (e|e) > 0).

Page 23: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

1.2. ELEMENTS DE CORRECTION/ REMARQUES 23

Reciproquement, comme A est symetrique reelle, elle diagonalise dans une base ortho-normee. On admet ce resultat fort utile et valable pour toute matrice normale (i.e. qui com-mute avec son adjoint).

Dans le cas des matrices symetriques reelles, on sait de plus que les valeurs propres sontreelles.

En effet, si e est vecteur propre de A associe a la valeur propre λ, on a

Ae = λe, (Ae|e) = λ(e|e), (Ae|e) = (e|Ate) = (e|Ae) = (e|λe) = λ(e|e),

et donc λ = λ.Dire que A diagonalise dans une base orthonormee veut dire qu’il existe N vecteurs or-

thogonaux fj , j = 1, . . . , N tels que

Afj = λjfj .

Notons qu’une famille de vecteurs orthogonaux est toujours libre. N etant la dimensionde l’espace (la matrice A est de dimension N), les vecteurs propres forment une base de RN .

On suppose que les valeurs propres sont strictement positives. On peut ecrire x =∑xifi,

avec fi vecteur propre et xi scalaire (xi est un nombre reel ou complexe ; reel dans ce casprecis). On a alors

(Ax|x) = (∑i

λixifi|∑j

xjfj) =∑i

λix2i > 0,

pour x 6= 0, car les fj sont orthogonaux.Detaillons un peu : on a

(∑i

λixifi|∑j

xjfj) =∑i,j

λixixj(fi|fj) =∑i

λi|xi|2.

La quantite de droite est positive. Supposons qu’elle soit nulle, alors tous les termes qui lacomposent sont nuls (puisque chacun des termes est positifs et la somme est nulle) et doncλi|xi|2 = 0 ; comme λi > 0, on en deduit que |xi|2 = 0 et donc xi = 0. Cela est valable pourtoutes les valeurs de i, donc x = 0. Or x est un vecteur propre, donc x n’est pas nul. Celaveut donc dire que la quantite de droite est strictement positive.

(h) DA = Q−1AQ, DB = Q−1BQ et comme DADB = DBDA (les matrices diagonalescommutent : la matrice produit etant formee de la diagonale des produits des termes diago-naux de chacune des matrices et dans R ou C, on a ab = ba), on en deduit que AB = BA.

En effet, on a

DADB = Q−1AQQ−1BQ = Q−1ABQ, DBDA = Q−1BQQ−1AQ = Q−1BAQ

et donc Q−1ABQ = Q−1BAQ, puis AB = BA.

Prenons A =

(0 11 0

)et B =

(1 00 2

)Lorsque l’on calcule BA, on multiplie les lignes

de la matrice A par les termes diagonaux de la matrice diagonale B (la multiplication a gauche

correspond a une operation sur les lignes), donc AB =

(0 12 0

)Lorsque l’on calcule AB, on

multiplie les colonnes par les termes diagonaux, donc AB =

(0 21 0

). On a bien AB 6= BA.

Page 24: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

24 CHAPITRE 1. BACKGROUND SUR LES MATRICES

Exercice 8(a) Il faut verifier a chaque fois ‖x‖ ≥ 0 ; ‖x‖ = 0 ⇔ x = 0 ; ‖x + y‖ ≤ ‖x‖ + ‖y‖ et

‖λx‖ = |λ|‖x‖.Pour la norme 1, on utilise l’inegalite triangulaire dans R (ou C)

|xi + yi| ≤ |xi|+ |yi|

Une somme de termes positifs est nulle ssi chacun des termes est nul.Pour la norme infinie, on a

|xi + yi| ≤ |xi|+ |yi| ≤ ‖x‖∞ + ‖y‖∞

donc‖x+ y‖∞ ≤ ‖x‖∞ + ‖y‖∞

Si le maximum de termes positifs est nul, chacun des termes est nul.Pour la norme 2, on utilise l’inegalite de Cauchy-Schwarz

|(x, y)| ≤ ‖x‖‖y‖,

qui est valable pour toute norme qui previent d’un produit scalaire (ce qui n’est pas le cas dela norme 1 ou de la norme ∞)

On a alors

‖x+ y‖2 = ‖x‖2 + ‖y‖2 + 2Re(x|y) ≤ ‖x‖2 + ‖y‖2 + 2‖x‖‖y‖ = (‖x‖+ ‖y‖)2,

et donc‖x+ y‖ ≤ ‖x‖+ ‖y‖.

(b.i.) Soit i l’entier tel que |xi| = ‖x‖∞ On a

‖x‖∞ = |xi| ≤N∑j=1

|xj | ≤N∑j=1

|xi| = N |xi| = N‖x‖∞,

ce qui donne le resultat.(b.ii.) Soit i l’entier tel que |xi| = ‖x‖∞ On a

‖x‖2∞ = |xi|2 ≤N∑j=1

|xj |2 ≤N∑j=1

|xi|2 = N |xi|2 = N‖x‖2∞,

(b.iii.) Soit i l’entier tel que |xi| = ‖x‖∞ On a

‖x‖22 =

N∑j=1

|xj |2 ≤N∑j=1

N∑k=1

|xj ||xk| =

N∑j=1

|xj |

2

On a aussi 2|xj ||xk| ≤ |xj |2 + |xk|2, ce qui donne N∑j=1

|xj |

2

=

N∑j=1

N∑k=1

|xj ||xk| ≤1

2

N∑j,k=1

(|xj |2 + |xk|2) = NN∑j=1

|xj |2,

Page 25: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

1.2. ELEMENTS DE CORRECTION/ REMARQUES 25

et on obtient le resultat.(c.i.) Rappelons que ‖A‖ = max‖x‖=1 ‖Ax‖.Soit x tel que ‖x‖1 = 1. On a

‖Ax‖1 =

N∑j=1

|(Ax)j | =N∑j=1

|N∑k=1

ajkxk| ≤N∑j=1

N∑k=1

|ajk|xk| =N∑k=1

N∑j=1

|aj,k|

|xk|Soit maintenant ` tel que

N∑j=1

|aj,`| = maxk=1,...,N

N∑j=1

|aj,k|.

On obtient donc

‖Ax‖1 ≤N∑k=1

N∑j=1

|aj,`|

|xk| = N∑j=1

|aj,`|N∑k=1

|xk| =N∑j=1

|aj,`|

Soit maintenant x = (x1, . . . , xN )t, avec x` = 1 et xj = 0, si j 6= `. On a bien ‖x‖1 = 1 et

‖Ax‖1 =N∑j=1

|N∑k=1

ajkxk| =N∑j=1

|aj,`|.

(c.ii.) Soit x et ` tels que ‖x‖∞ = |x`| = 1. On a

|(Ax)j | = |N∑k=1

ajkxk| ≤N∑k=1

|ajk||xk| ≤N∑k=1

|ajk||x`| =N∑k=1

|ajk| ≤N∑k=1

|apk|,

avec∑N

k=1 |apk| = maxj=1,...,N∑N

k=1 |ajk|.On en deduit donc que

‖Ax‖∞ ≤N∑k=1

|apk|.

Soit maintenant x = (x1, . . . , xN )t, avec xj =ap,j|ap,j | , si ap,j 6= 0 et xj = 1, si ap,j = 0. On a

bien ‖x‖∞ = 1 et

‖Ax‖∞ = maxj|

N∑k=1, ap,k 6=0

aj,kap,k|ap,k|

| ≥ |N∑

k=1, ap,k 6=0

ap,kap,k|ap,k|

| =N∑k=1

|apk|.

c.iii. B est symetrique reelle ; elle fait donc partie des matrices normales. Elle diagonalisedonc dans une base orthonormee. Les valeurs propres sont aussi reelles. Cela veut dire qu’ilexiste une base e1, . . . , eN de vecteurs propres de RN orthogonaux. On a

Aej = λjej , λj ∈ R, (ej |ek) = 0, 6= k, (ej |ej) = 1.

Soit maintenant x ∈ RN , on a x =∑N

j=1 xjej (x se developpe dans la base des vecteurse1, . . . , eN ). Donc

Bx =N∑j=1

xjBej =N∑j=1

λjxjej ,

Page 26: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

26 CHAPITRE 1. BACKGROUND SUR LES MATRICES

puis

(Bx|x) = (

N∑j=1

λjxjej |N∑k=1

xkek) =

N∑j,k=1

λjxjxk(ej |ek) =

N∑j=1

λj |xj |2.

On aussi

(x|x) =

N∑j=1

|xj |2.

On obtient doncλmin(x|x) ≤ (Bx|x) ≤ λmax(x|x),

ce qui donne le resultat.Soit A une matrice reelle ; AtA est symetrique reelle (raisonnement identique pour une

matricce complexe en considerant A∗A).On a donc pour x tel que ‖x‖2 = 1

λmin(AtA) ≤ (AtAx|x) = (Ax|Ax) ≤ λmax(AtA),

On en deduit que ‖A‖22 ≤ λmax(AtA) = ρ2(AtA).Il reste a voir que la valeur est atteinte. On prend un vecteur propre de AtA de norme 1

(en norme 2) associe a la valeur propre maximale. On obtient

AtAx = λmax(AtA)x,

puis(Ax|Ax) = (AtAx|x) = λmax(AtA).

On obtient donc le resultat.c.iv. Soit λ une valeur propre et x un vecteur propre associe. On a

‖Ax‖ = ‖λx‖ = |λ|‖x‖ ≤ ‖A‖‖x‖,

donc comme x 6= 0, on obtient |λ| ≤ ‖A‖ et donc ρ(A) ≤ ‖A‖, puisque ρ(A) est la plus grandedes valeurs propres de A en module.

Exercice 9(a) Les valeurs propres sont les elements diagonaux. A est inversible ssi 0 n’est pas valeur

propre. Atrement dit, tous les termes diagonaux doivent etre differents de 0.(b) On ecrit le produit matrice vecteur

j∑k=1

ajkxk = bj

En particulier, pour j = 1, il n’y a qu’un terme. On obtient donc

xj =1

aj,j

(bj −

j−1∑k=1

aj,kxk

), j = 1, . . . , N,

ce qui permet de calculer x1, puis x2, puis x3, . . . , xN . Si bi = 0, pour tout i < k, on en deduitque x1, . . . , xk−1 = 0, d’apres la formule que nous venons de voir. Et on a aussi xk 6= 0,puisque bk 6= 0.

Page 27: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

1.2. ELEMENTS DE CORRECTION/ REMARQUES 27

(c) Si l’on resoudAx = b,

on remarque que xj s’exprime en fonction de b1, . . . , bj . Cela veut donc dire que A−1 esttriangulaire inferieure.

Pour le produit, on a

(AB)i,j =N∑k=1

ai,kbk,j .

On sait que bk,j = 0, si j > k et ai,k = 0, si k > i. Donc si j > i, soit j > k, soit i < j ≤ k,dans tous les cas ai,kbk,j = 0, et donc (AB)i,j = 0, ce qui veut dire que le produit de matricestriangulaires inferieures est triangulaire inferieure.

Page 28: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

28 CHAPITRE 1. BACKGROUND SUR LES MATRICES

Page 29: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

Chapitre 2

Conditionnement

2.1 Introduction

Il est rare que la solution d’un systeme lineaire Ax = b puisse etre obtenue sans etreentachee d’erreurs.

Les erreurs peuvent provenir des incertitudes sur A et b, mais aussi des erreurs d’arrondis.Ainsi au lieu de resoudre

Ax = b,

on resoud en fait(A+ ∆A)y = (b+ ∆b)

On cherche alors a majorer la difference x− y en fonction des majorations de ∆A et ∆B.Exemple

A =

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

, b =

32233331

.

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

, b+ ∆b =

32.0122.9933.0130.99

.

La solution de Ax = b est x = (1, 1, 1, 1)t.La solution de Ay = (b+∆b) est y = (1.82,−0.36, 1.35, 0.79) La solution de (A+∆A)z = b

est z = (−81, 137,−34, 22)t

2.2 Conditionnement d’une matrice

Definition 12. Soit ‖ · ‖ une norme matricielle ; le conditionnement d’une matrice reguliereA associe a cette norme est le nombre

cond(A) = ‖A‖‖A−1‖,

parfois note K(A).E n particulier, on note condp(A) = ‖A‖p‖A−1‖p.

29

Page 30: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

30 CHAPITRE 2. CONDITIONNEMENT

Theoreme 18. On a les proprietes suivantes1. cond(αA) = cond(A), pour toute matrice reguliere A et tout scalaire α 6= 0.2. cond(A) ≥ 1, si le conditionnement est calcule par une norme induite.3. cond2(A) = µmax

µminou µmax et µmin sont respectivement la plus grande et la plus petite

des valeurs singulieres de A4. cond2(A) = 1 si et seulement si A = αQ, avec α un scalaire et Q une matrice unitaire.

Demonstration.1. en appliquant la definition2. I = AA−1

3. On a ‖A‖2 = maxi=1,...,N |λi(AtA)|1/2 = µmax. Dans le cas ou A est symetrique, on a

cond2(A) =|λmax(A)||λmin(A)|

,

avec|λmax(A)| = max

j|λj(A)|, |λmin(A)| = min

j|λj(A)|.

On remarque que les valeurs singulieres coincident aves les les valeurs propres dans le cas ouA est symetrique et les valeurs propres (qui sont reelles) sont positives. Dans le cas ou A estsymetrique les valeurs singulieres sont les valeurs absolues des valeurs propres.

4. Pour toute matrice A, il existe deux matrices unitaires U et V et une matrice diagonaleΣ, dont les coefficients diagonaux sont les valeurs singulieres µi de A telles que

A = UΣV ∗

On a alors cond2(A) = 1 ssi toutes les valeurs singulieres sont egales entre elles. Soit α leurvaleur. On a donc Σ = αI et A = αUV ∗ = αQ ou Q = UV ∗ est une matrice unitaire.

Remarque 2. On dit qu’une matrice est ”bien conditionnee”, si son conditionnement n’estpas beaucoup plus grand que 1. On voit donc que les matrices unitaires sont les mieux condi-tionnees possibles.

Remarque 3. La valeur du determinant ne donne pas d’indications sur le conditionnement.Voir exemples ci-apres.

Exemple 1. A matrice diagonale a1,1 = 1, ai,i = 0.1, i = 2, . . . , N = 100. On a ‖A‖2 = 1 et‖A−1‖2 = 10, donc cond2(A) = 10, bien que det(A) = 10−99.

Exemple 2. A bidiagonale avec des 1 sur la diagonale et des 2 sur le surdiagonale. Voirexercices.

2.3 Majoration des perturbations

Theoreme 19. Soit A une matrice inversible. Soient x et x+ ∆x les solutions des systemeslineaires :

Ax = b, A(x+ ∆x) = b+ ∆b.

On a‖∆x‖‖x‖

≤ cond(A)‖∆b‖‖b‖

.

Page 31: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

2.3. MAJORATION DES PERTURBATIONS 31

Theoreme 20. Soit A une matrice inversible. Soient x et x+ ∆x les solutions des systemeslineaires :

Ax = b, (A+ ∆A)(x+ ∆x) = b.

On a‖∆x‖‖x+ ∆x‖

≤ cond(A)‖∆A‖‖A‖

.

Page 32: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

32 CHAPITRE 2. CONDITIONNEMENT

2.4 Exercices

Exercice 10 (Elements propres du Laplacien). (a) Chercher les couples (λ, u) tels que{−u”(x) = λu(x), 0 < x < Lu(0) = u(L) = 0.

(b) On definit U = (u1, u2, . . . , uM ) solution du systeme :{ 1h2

(−ui−1 + 2ui − ui+1) = λui, i = 1, . . . ,M

u0 = uM+1 = 0, h = LM+1 .

Determiner la matrice A telle que AU = λU . Verifier que les elements propres (λ(k), v(k))sont donnes par

v(k)i = sin(

kπi

M + 1), λ(k) =

4

h2sin2(

2(M + 1))

Calculer ‖A‖1, ‖A‖∞ ainsi que le conditionnement en norme 2 de A.(c) Memes questions pour les conditions aux limites u(0) = 0, u′(L) = 0.

Exercice 11 (Conditionnement). (a) Verifier les proprietes suivantes :i. Pour toute norme matricielle, cond(A) ≥ 1 et ∀α ∈ R∗, cond(αA) = cond(A)

ii. Si A est symetrique reelle alors cond2(A) = max|λ(A)|min|λ(A)|

iii. Si U est orthogonale, alors cond2(U) = 1 et cond2(UA) = cond2(A) = cond2(AU)(b) Si x et x + δx sont solutions des systemes Ax = b et (A + δA)(x + δx) = b, montrer

que‖δx‖‖x+ δx‖

≤ cond(A)‖δA‖‖A‖

En deduire que si ‖A−1δA‖ < 1 alors

‖δx‖‖x‖

≤ cond(A)‖δA‖‖A‖

1

1− ‖A−1δA‖

(c) Exemple de conditionnement d’une matrice non symetrique : soit A definie par ai,i =1, i = 1, . . . , N , ai,i+1 = 2, i = 1, . . . , N − 1 et ai,j = 0 sinon. Calculer A−1, donner lesvaleurs propres de A, les conditionnements en normes ∞ et 1, puis etablir l’inegalite

cond2(A) ≥ 3

N(2N − 1).

Exercice 12. Soient A et B deux matrices symetriques definies positives. Montrer que

cond2(A+B) ≤ max(cond2(A), cond2(B)).

Exercice 13. Soient

A =

(1 00 10−6

), ∆A =

(10−8 0

0 10−14

)Calculer cond2(A). Que vaut ‖∆A‖2‖A‖2 ?

Soit Ax = (A+ ∆A)(x+ ∆x). Que vaut ‖∆x‖2‖x‖2 ?

Page 33: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

2.4. EXERCICES 33

Comparez-le avec cond2(A)‖∆A‖2‖A‖2 .Soit

D =

(1 00 106

).

Exprimer DA et D∆A. Que vaut cond2(DA) ?

Comparer ‖∆x‖2‖x‖2 avec cond2(DA)‖D∆A‖2‖DA‖2

Exercice 14. Soit A une matrice inversible. Montrer que pour toute matrice carree B

‖AB − I‖2‖BA− I‖2

≤ cond2(A),

et qu’il existe des matrices B pour lesquelles l’egalite a lieu.

Page 34: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

34 CHAPITRE 2. CONDITIONNEMENT

2.5 Elements de correction

Exercice 10(a) On a une equation differentielle lineaire du second ordre. Une solution de u”(x) =

−λu(x) s’ecrit sous la formeu(x) = A sin(

√λx+ φ),

si λ > 0,u(x) = Ax+B,

si λ = 0 etu(x) = A sinh(

√−λx+ φ),

si λ < 0. On rappelle que sinh(x) = exp(x)−exp(−x)2 et cosh(x) = exp(x)+exp(−x)

2 .Maintenant, on a de plus u(0) = u(L) = 0. Si λ = 0, on obtient

B = 0, AL+B = 0

et donc A = B = 0, puis u = 0.Si λ < 0, on obtient

A sinh(φ) = 0, A sinh(√−λL+ φ) = 0.

donc A = 0 ou (φ = 0 et√−λL = 0) ; on retrouve donc de nouveau u = 0.

Enfin, si λ > 0, on a A = 0 (donc solution nulle) ou

sin(φ) = 0, sin(√λL+ φ) = 0.

Donc φ = kπ et√λL = pπ, avec k ∈ Z et p ∈ N∗. Ainsi, on a λ = (pπL )2 et

u(x) = C sin(√λx), C ∈ R.

(b) La matrice A est donnee par

Ai,i =2

h2, i = 1, . . . ,M

Ai,i+1 = − 1

h2, i = 1, . . . ,M − 1

Ai+1,i = − 1

h2, i = 1, . . . ,M − 1,

et les autres termes sont nuls. Il s’agit d’une pmatrice tridiagonale avec 2/h2 sur la diagonale,−1/h2 sur la sous-diagonale et sur la sur-diagonale.

remarquons que les λ(k), k = 1, . . . ,M sont tous distincts, car kπ2(M+1) ∈ [0, π2 ], et x →

sin(x) est strictement monotone sur [0, π2 ] et a valeurs positives.Il reste maintenant a verifier que

Av(k) = λ(k)v(k).

On note ui = vki , pour abreger les notations. On a

u0 = uM+1 = 0,

Page 35: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

2.5. ELEMENTS DE CORRECTION 35

puisque sin(0) = sin(kπ) = 0. Maintenant, pour i = 1, . . . ,M , on a

A :=1

h2(−ui−1+2ui−ui+1) =

−1

h2(sin((i−1)kπ/(M+1))+sin((i+1)kπ/(M+1))−2 sin(ikπ/(M+1)))

Or sin(a + b) = sin(a) cos(b) + sin(b) cos(a) et sin(a − b) = sin(a) cos(b) − sin(b) cos(a), doncsin(a+ b) + sin(a− b) = 2 sin(a) cos(b), puis

sin((i− 1)kπ/(M + 1)) + sin((i+ 1)kπ/(M + 1)) = 2 sin(ikπ/(M + 1)) cos(kπ/(M + 1)),

puis

A =1

h22 sin(ikπ/(M+1))(− cos(kπ/(M+1))+1) = (4/h2) sin2(

2(M + 1)) sin(ikπ/(M+1)),

ce qui donne le resultat.On sait que

‖A‖1 = maxj=1,...,M

M∑i=1

|Ai,j | =4

h2= ‖A‖∞.

On a aussi

cond2(A) =λmax(A)

λmin(A),

puisque A est symetrique reelle, donc

cond2(A) =sin2( Mπ

2(M+1))

sin2( π2(M+1))

.

Remarquons que le conditionnement tend vers l’infini, lorsque M tend vers l’infini.(c) Pas corrige pour l’instant !Exercice 11(a.i) On a

1 = maxx,‖x‖=1

‖x‖ = ‖Id‖ = ‖AA−1‖ ≤ ‖A‖‖A−1‖ = cond(A).

On a

(αA)−1 =1

αA−1,

et donc

cond(αA) = ‖αA‖‖ 1

αA−1‖ = |α|| 1

α|cond(A) = cond(A).

(a.ii) Si A est symetrique reelle, elle est normale ; elle diagonalise dans une base ortho-normee On obtient, en reprenant le raisonnement de l’Exercice 7

|λmin|2‖x‖22 ≤ ‖Ax‖22 ≤ |λmax|2‖x‖22,

ce qui donne aussi|λmin|2‖A−1y‖22 ≤ ‖y‖22 ≤ |λmax|2‖A−1y‖22,

avec|λmin| = min{|λ|, λ valeur propre de A}.

Page 36: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

36 CHAPITRE 2. CONDITIONNEMENT

|λmax| = max{|λ|, λ valeur propre de A}.

On obtient alors aussi1

|λmax|2‖y‖22 ≤ ‖A−1y‖22 ≤

1

|λmin|2‖y‖22

On obtient ‖A−1‖ = 1|λmin| et ‖A‖ = |λmax| (on peut montrer que la valeur est atteinte en

prenant un vecteur propre) puis

cond2(A) =|λmax||λmin|

.

(a.iii) Si U est orthogonale, on a (Ux|Ux) = (x|x), et donc ‖U‖2 = 1. On a aussi(U−1x|U−1x) = (UU−1x|UU−1x) = (x|x) donc ‖U−1‖2 = 1. Le conditionnement en norme 2de U vaut donc 1. On a aussi

‖UA‖2 = sup‖x‖2=1‖UAx‖2 = sup‖x‖2=1

‖Ax‖2 = ‖A‖2

et

‖AU‖2 = sup‖x‖2=1‖AUx‖2 = supy=Ux, ‖U−1x‖2=1‖Ay‖2 = supy, ‖y‖2=1‖Ay‖2 = ‖A‖2

De meme‖(AU)−1‖2 = ‖U−1A−1‖2 = ‖A−1‖2,

car U−1 est aussi orthogonale et on a aussi

‖(UA)−1‖2 = ‖A−1U−1‖2 = ‖A−1‖2.

On obtient donccond2(AU) = cond2(UA) = cond2(A).

(b) On part de

(A+ δA)(x+ δx) = Ax+Aδx+ δA(x+ δx) = b,

donc, comme Ax = b, on obtient

Aδx = −δA(x+ δx),

puis‖δx‖ = ‖A−1δA(x+ δx)‖ ≤ ‖A−1‖‖δA‖‖x+ δx‖,

soit‖δx‖‖x+ δx‖

≤ ‖A−1‖‖δA‖ = cond(A)‖δA‖‖A‖

On a‖x+ δx‖‖x‖

=‖(A+ δA)−1b‖‖A−1b‖

=‖(I +A−1δA)−1A−1b‖

‖A−1b‖,

Notons que si ‖B‖ < 1, on a

(I −B)−1 =

∞∑k=0

Bk,

Page 37: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

2.5. ELEMENTS DE CORRECTION 37

donc si ‖A−1δA‖ < 1, on a

‖x+ δx‖‖x‖

=‖∑∞

k=0(−A−1δA)kA−1b‖‖A−1b‖

≤ ‖∞∑k=0

‖A−1δA‖k ‖A−1b‖

‖A−1b‖=

1

1− ‖A−1δA‖.

On obtient alors

‖δx‖‖x‖

=‖δx‖‖x+ δx‖

‖x+ δx‖‖x‖

≤ cond(A)‖δA‖

‖A‖(1− ‖A−1δA‖).

(c) A est bidiagonale et triangulaire superieure ; L’inverse s’obtient explicitement en fai-sant une remontee

xN = bN , xi + 2xi+1 = bi, i = N − 1, . . . , 1,

ce qui donne

xi = bi − 21bi+1 + 22bi+2 + . . . (−2)N−ibN , i = N − 1, . . . , 1,

(on part de xi = bi − 2xi+1 = bi − 2(bi+1 − 2xi+2) = . . . ).

On a donc 1 sur la diagonale de A−1, −2 sur la sur diagonale ; (−2)i sur la i-eme sur-diagonale.

Les valeurs propres de A sont egales a 1 (et donc les valeurs propres de A−1 aussi). Commela matrice n’est pas symetrique, on ne peut pas dire que le conditionnement en norme 2 deA est la rapport de la plus grande des valeurs propres en valeur absolue, sur la plus petite(aussi en valeur absolue).

On a (max sur colonne)

‖A‖1 = 3, ‖A−1‖1 =

N−1∑i=0

2i = 2N − 1, cond1(A) = 3(2N − 1).

On a (max sur les lignes)

‖A‖∞ = 3, ‖A−1‖∞ =N−1∑i=0

2i = 2N − 1, cond∞(A) = 3(2N − 1).

Maintenant, pour la norme 2, on a (en reprenant les inegalites entre norme 1 et norme 2 vuesdans l’Exercice 8)

‖Ax‖2‖x‖2

≥ 1√N

‖Ax‖1‖x‖2

≥ 1√N

‖Ax‖1‖x‖1

Donc, on obtient ‖A‖2 ≥ 1√N‖A‖1 ; en appliquant cette inegalite a A−1, on obtient ‖A−1‖2 ≥

1√N‖A−1‖1, puis

cond2(A) ≥ 1

Ncond1(A) =

3(2N − 1)

N.

Exercice 12

On a

‖A+B‖2 ≤ ‖A‖2 + ‖B‖2 = λmax(A) + λmax(B).

Page 38: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

38 CHAPITRE 2. CONDITIONNEMENT

On va maintenant montrer que

‖(A+B)−1‖2 ≤1

λmin(A) + λmin(B).

On sait deja que (comme A et B sont definies positives, cf Exercice 8)

λmin(A)‖x‖2 ≤ (Ax|x), λmin(B)‖x‖2 ≤ (Bx|x).

On a donc(λmin(A) + λmin(B))‖x‖2 ≤ ((A+B)x|x),

puis

(λmin(A) + λmin(B))‖(A+B)−1y‖22 ≤ (y|(A+B)−1y) ≤ ‖(A+B)−1‖2‖y‖22

Donc

‖(A+B)−1y‖2‖y‖2

√‖(A+B)−1‖2

λmin(A) + λmin(B),

cela est valable pour tout y 6= 0, donc

‖(A+B)−1‖2 ≤

√‖(A+B)−1‖2

λmin(A) + λmin(B),

puis

‖(A+B)−1‖2 ≤1

λmin(A) + λmin(B).

Le conditionnement verifie donc

cond2(A+B) ≤ λmax(A) + λmax(B)

λmin(A) + λmin(B)

Maintenant, si par exemple λmax(B)λmin(B) ≤

λmax(A)λmin(A) , on obtient

λmax(A) + λmax(B)

λmin(A) + λmin(B)=λmax(A)

λmin(A)

1 + λmax(B)/λmax(A)

1 + λmin(B)/λmin(A).

Or, 0 < λmax(B)λmax(A) ≤

λmin(B)λmin(A) , puisque λmax(B)

λmin(B) ≤λmax(A)λmin(A) , donc

0 <1 + λmax(B)/λmax(A)

1 + λmin(B)/λmin(A)< 1,

puisλmax(A) + λmax(B)

λmin(A) + λmin(B)≤ λmax(A)

λmin(A)= cond2(A)

Si maintenant, on suppose λmax(A)λmin(A) ≤

λmax(B)λmin(B) , on obtient

λmax(A) + λmax(B)

λmin(A) + λmin(B)≤ λmax(B)

λmin(B)= cond2(B).

Page 39: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

2.5. ELEMENTS DE CORRECTION 39

Au final, on a biencond2(A+B) ≤ max(cond2(A), cond2(B)).

Exercice 13Comme la matrice est diagonale a valeurs strictement positives, le conditionnement est

egal a λmaxλmin

= 110−6 = 106. On a

‖∆A‖2‖A‖2

=10−8

1= 10−8

(la norme 2 d’une matrice diagonale termes positfs est egale a la plus grande des valeurspropres).

On a Ax = Ax+A∆x+ ∆Ax+ ∆A∆x. Donc, cela donne

(A+ ∆A)∆x = −∆Ax,

donc‖∆x‖2 = ‖(A+ ∆A)−1∆Ax‖2

Or on peut verifier que

(A+ ∆A)−1∆A =10−8

1 + 10−8Id,

donc

‖∆x‖2 =10−8

1 + 10−8‖x‖2,

puis‖∆x‖2‖x‖2

=10−8

1 + 10−8.

On a aussi

cond2(A)‖∆A‖2‖A‖2

= 10−2 >‖∆x‖2‖x‖2

.

Ensuite, on a DA = Id, puis cond2(DA) = 1. On a aussi D∆A = 10−8Id ; cela donne

cond2(DA)‖D∆A‖2‖DA‖2

= 10−8 >‖∆x‖2‖x‖2

;

on a toujours l’inegalite dans le meme sens, mais cette fois-ci les valeurs sont tres proches. Lamatrice D a permis de mieux conditionner la matrice A.

Exercice 14On a

‖AB − I‖2 = ‖ABAA−1 −AA−1‖2 = ‖A(BA− I)A−1‖2 ≤ cond2(A)‖BA− I‖2,

ce qui donne bien‖AB − I‖2‖BA− I‖2

≤ cond2(A),

Soit λ1 la plus grande valeur propre de A∗A et λ2 la plus petite valeur propre de A∗A etλ3, . . . , λN les autres valeurs propres (A est une matrice de taille N). Soit ej vecteur propre

Page 40: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

40 CHAPITRE 2. CONDITIONNEMENT

de A∗A associe a la valeur propre λj , pour j = 1, . . . , N . On sait que A∗A est symetriquereelle positive ; A∗A diagonalise donc dans une base orthonormee ; donc on peut supposer (ej)orthonormee et les valeurs propres sont positives et mem strictement positives, puisque A estsupposee inversible de sorte que A∗A est definie positive.

Soit B = I+A−1 +CA−1, avec C tel que Ce1 = −e2, Ce2 = e1 et Cej = ej pour j ≥ 3.Ona alors

‖AB − I‖2 = ‖ACA−1‖2, ‖BA− I‖2 = ‖C‖2 = 1

et donc‖AB − I‖2‖BA− I‖2

= ‖ACA−1‖2 ≤ cond(A) =λ1

λ2.

Montrons maintenant l’inegalite dans l’autre sens. On a

‖ACA−1Ae2‖22‖Ae2‖2

=(A∗ACe2|Ce2)

(A∗Ae2|e2)=

(A∗Ae1|e1)

(A∗Ae2|e2)=λ1

λ2,

et donc‖AB − I‖2‖BA− I‖2

= supx6=0

‖ACA−1x‖22‖x‖2

≥ λ1

λ2,

ce qui donne le resultat.

Page 41: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

Chapitre 3

Resolution numerique de systemeslineaires

Soit A ∈ RN×N est une matrice carree, supposee inversible (detA 6= 0) et b ∈ RN unvecteur donne.On cherche a trouver le vecteur x ∈ RN tel que Ax = b.

3.1 Cas des matrices triangulaires

Proposition 11. Soit A une matrice triangulaire a termes diagonaux non nuls. Le systemese resoud en environ N2 operations (descente ou remontee).

Demonstration. Supposons A triangulaire superieure. On a alors (algorithme de remontee) :

xN =bNaN,N

, xj =bj −

∑Nk=j+1 aj,kxk

aj,j, j = N − 1, . . . , 1.

3.2 Methode de Gauss

On part d’une matrice A et on cherche a rendre A triangulaire superieure en faisant desoperations sur les lignes.

Proposition 12. On suppose les mineurs principaux de determinant non nul. Alors on peutresoudre le systeme en faisant des operations sur les lignes. Le nombre d’operations est del’ordre de 2N3/3.

Demonstration.Il s’agit de la methode de Gauss sans pivot.Etape 1 Lj ← Lj − aj,1

a1,1L1, j = 2, . . . , N

Etape k Lj ← Lj −a(k)j,k

a(k)k,k

L1, j = k + 1, . . . , N , pour k = 2, . . . , N − 1.

Il reste a voir que le pivot a(k)k,k est non nul. Les operations sur les lignes ne changent pas le

determinant du k-ieme mineur Ak qui vaut∏k−1j=1 a

(j)j,j a

(k)k,k = det(Ak) 6= 0 et donc a

(k)k,k est lui

meme non nul par recurrence.

41

Page 42: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

42 CHAPITRE 3. RESOLUTION NUMERIQUE DE SYSTEMES LINEAIRES

Nombre d’operations pour calculer la matrice triangulaire superieure : a l’etape k : 2(N−k)2.

Dans le cas ou le pivot est nul ou petit en valeur absolue, la methode de Gauss sans pivotne fonctionne plus, et on choisit de faire un echange de ligne ou de colonne : il s’agit de lamethode de Gauss avec strategie de pivot.

Proposition 13. Soit A inversible. On peut alors resoudre le systeme par la methode deGauss avec strategie de pivot.

Demonstration. Si le pivot est nul, on sait que toute la ligne (ou colonne) n’est pas nulle eton peut donc faire un echange de colonnes (ou de lignes).

Chaque operation sur les lignes correspond a une multiplication de la matrice par unematrice triangulaire inferieure avec des 1 sur la diagonale. On peut alors ecrire

A = LU,

avec L triangulaire inferieure et U triangulaire superieure. Dans le cas ou il y a une strategiede pivot, on a

A = PLU,

avec P matrice de permutation.Il peut etre interessant de stocker L et U (que l’on peut stocker informatiquement dans la

meme matrice A), notamment si l’on veut resoudre le systeme pour une succession de secondsmembres b.

Proposition 14. Soit A une matrice dont tous les mineurs principaux sont non nuls. AlorsA admet une unique factorisation LU et on peut stocker informatiquement L et U dans lameme matrice A qui est successivement mise a jour.

Demonstration. L’unicite s’obtient en ecrivant L−12 L1 = U2U

−11 qui est triangulaire inferieure

et superieure avec des 1 sur la diagonale et qui est donc la matrice identite.On a (en utilisant le lemme suivant) pour k = 1, . . . , N − 1

aj,k =aj,kak,k

, j = k + 1, . . . , N

puis pour `, j = k + 1, . . . , N ,a`,j = a`,j − a`,kak,j

Lemme 7 (Lascaux-Theodor p184). Soit `k, k = 1, . . . , N − 1 une suite de N − 1 vecteursde dimension N tels que les k premieres composantes de `k soient nulles, alors

N−1∏k=1

(I + `ketk) = I +

N−1∑k=1

`ketk.

Demonstration. les termes `ieti`je

tj avec i < j sont nuls, car eti`j = `j(i) = 0 pour j > i.

Page 43: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

3.3. EXEMPLES 43

3.3 Exemples

3.3.1 Resume pour la methode de Gauss

La methode de Gauss est une methode directe.On utilise un pivot que l’on change eventuellementElle fonctionne sans changement de pivot pour tout matrice telle que les mineurs princi-

paux sont de determinant non nulAvec pivot, elle fonctionne pour toute matrice inversible.Le cout est en O(n3).Sans pivot, on ecrit

A = LU

avec L triangulaire inferieure avec des 1 sur la diagonale et U triangulaire superieureAvec pivot, on rajoute une matrice de permutation

A = PLU,

avec P matrice de permutation (permutation des lignes ou colonnes de la matrice identite).Le cout peut etre reduit pour des matrices bandes et fait intervenir la largeur de bandePar exemple, pour les matrices de tridiagonale, L et U sont bidiagonales.

3.3.2 Interpolation par splines cubiques

On considere l’interpolation par splines cubiques sur un intervalle [a, b] divise en N sousintevalles pas forcement de meme longueur. On se donne

f(xj), j = 0, . . . , N, f ′(x0), f ′(xN ),

avec a = x0 < · · · < xN = b.Localement sur un intervalle [xj , xj+1] la reconstruction par splines cubiques de f est un po-lynome de degre ≤ 3.On suppose la continuite C2 en chacun des points xj , j = 1, . . . , N − 1.Sur l’intervalle [xj , xj+1], on note Pj+1/2 le polynome de degre ≤ 3 qui est uniquementdetermine par fj , fj+1, f

′j , f′j+1, avec f ′j = limx→xj P

′j(x) = limx→xj P

′j−1(x). On peut ecrire

Pj+1/2(x) = fj +

∫ xj+1

xj

P ′j+1/2(x)dx.

Le polynome P ′j+1/2 est de degre ≤ 2 et satisfait

P ′j+1/2(xj) = f ′j , P′j+1/2(xj+1) = f ′j+1,

ainsi que ∫ xj+1

xj

P ′j+1/2(x)dx = fj+1 − fj .

On peut donc ecrire

P ′j+1/2(x) = f ′j +x− xj

xj+1 − xj(f ′j+1 − f ′j) +Aj(x− xj)(x− xj+1),

Page 44: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

44 CHAPITRE 3. RESOLUTION NUMERIQUE DE SYSTEMES LINEAIRES

avec Aj de telle sorte que

fj+1 − fj = Aj

∫ xj+1

xj

(x− xj)(x− xj+1)dx+f ′j + f ′j+1

2(xj+1 − xj)

On a ∫ xj+1

xj

(x− xj)(x− xj+1)dx = −2xj+1 − xj

3

(xj+1 − xj

2

)2

= −(xj+1 − xj)3

6,

ce qui donne

Ajxj+1 − xj

6=

f ′j+f′j+1

2 − fj+1−fjxj+1−xj

xj+1 − xjOn obtient alors

P”j+1/2(x) =f ′j+1 − f ′jxj+1 − xj

+ 2Ajx−Aj(xj + xj+1),

et la continuite de la derivee seconde donne

f ′j+1 − f ′jxj+1 − xj

+Aj(xj − xj+1) =f ′j − f ′j−1

xj − xj−1+Aj−1(xj − xj−1),

ce qui se reecrit pour j = 1, . . . , N − 1

f ′j+1 − f ′jxj+1 − xj

− 6

f ′j+f′j+1

2 − fj+1−fjxj+1−xj

xj+1 − xj=f ′j − f ′j−1

xj − xj−1+ 6

f ′j+f′j−1

2 − fj−fj−1

xj−xj−1

xj − xj−1.

Si on suppose que le maillage est uniforme, on obtient

f ′j+1 − f ′j − f ′j + f ′j−1 − 3(f ′j + f ′j+1 + f ′j + f ′j+1) = −6(fj+1 − fj + fj − fj−1)/∆x,

soit

f ′j−1 + 4f ′j + f ′j+1 = 3fj+1 − fj−1

∆x. (3.1)

On considere alors le systeme lineaire en f ′0, . . . , f′N , donne par (3.1) et f ′0 = f ′0, f

′N = f ′N ,

pour j = 0 et j = N . On a bien un systeme tridiagonal.

3.3.3 Resolution d’un systeme tridiagonal

Theoreme 21. On considere la matrice suivante :

A =

b1 c1 0 · · · 0

a2. . .

. . .. . .

...

0. . .

. . .. . . 0

.... . .

. . .. . . cn−1

0 · · · 0 an bn

.

On definit la suite suivante :δ0 = 1,δ1 = b1,δk = bkδk−1 − akck−1δk−2, ∀k ∈ {2, . . . , n}.

Page 45: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

3.3. EXEMPLES 45

1. Alors ∀k ∈ {1, . . . , n}, δk = det(∆k), ou

∆k =

b1 c1 0 · · · 0

a2. . .

. . .. . .

...

0. . .

. . .. . . 0

.... . .

. . .. . . ck−1

0 · · · 0 ak bk

.

2. De plus, si ∀k ∈ {1, . . . , n}, δk 6= 0, alors la factorisation LU de A est :

A =

1 0 · · · · · · 0

a2δ0δ1

. . .. . .

...

0. . .

. . .. . .

......

. . .. . .

. . . 0

0 · · · 0 anδn−2

δn−11

δ1δ0

c1 0 · · · 0

0. . .

. . .. . .

......

. . .. . .

. . . 0...

. . .. . . cn−1

0 · · · · · · 0 δnδn−1

Demonstration. 1. Pour k = 1, le resultat est evident. Pour k ≥ 2, il suffit de developper

le determinant de ∆k par rapport a la derniere ligne.

2. On suppose que ∀k ∈ {1, . . . , n}, δk 6= 0. D’apres le point precedent, le theoreme de ladecomposition LU s’applique. En particulier, il y a unicite de la decomposition. Il suffitjuste de multiplier L par U donnees dans l’enonce et verifier que le produit donne bienA (en utilisant la relation de recurrence de la suite (δk).

3.3.4 Equation de diffusion 1D

On cherche a trouver la solution de −u”(x) = f(x), u(a) = u(b) = 0. On considere unmaillage uniforme. On a pour toute fonction g ∈ C4

g(xj+1) = g(xj) + g′(xj)h+ g”(xj)h2/2 + g′′′(xj)h

3/6 +O(h4),

g(xj−1) = g(xj)− g′(xj)h+ g”(xj)h2/2− g′′′(xj)h3/6 +O(h4),

ce qui donne en sommant

gj+1 + gj−1 = 2gj + g”jh2/2 +O(h4).

On obtient alors une discretisation de −u”(x) = f(x) par

−uj−1 + 2uj − uj+1 = h2fj ,

pour j = 1, . . . , N − 1. En utilisant le fait que u(a) = u(b) = 0, on a u0 = 0, uN = 0 et onobtient bien un systeme tridiagonal en u1, . . . , uN−1.

Page 46: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

46 CHAPITRE 3. RESOLUTION NUMERIQUE DE SYSTEMES LINEAIRES

3.4 La methode de Cholesky

Cette methode s’applique quand la matrice du systeme est symetrique definie positive.On sait qu’une telle matrice verifie les hypotheses du theoreme de decomposition LU , et doncadmet une unique factorisation LU . Dans le cas d’une matrice symetrique definie positive,on peut en plus trouver une matrice B triangulaire inferieure telle que A = BBt. Cettedecomposition est la factorisation de Cholesky.

Theoreme 22. Soit A ∈ Mn une matrice symetrique definie positive. Il existe au moinsune matrice B triangulaire inferieure, telle que A = BBt. De plus, si on impose que tous lescoefficients diagonaux de B soient positifs, alors cette factorisation est unique.

Demonstration. On sait qu’une matrice symetrique definie positive verifie les hypotheses dutheoreme de decomposition LU . Donc il existe L ∈Mn(K) triangulaire inferieure a diagonaleunite et U triangulaire inferieure telle que A = LU . Soit k ∈ {1, . . . , n}, on note Ak la sous-matrice de A constituee des k premieres lignes et k premieres colonnes. On utilise la memenotation pour L et U . Alors, on verifie facilement que Ak = LkUk. Alors, comme Lk estcomme L a diagonale unite,

∀k ∈ {1, . . . , n} det(Ak) = det(Lk) det(Uk) = det(Uk) =

k∏i=1

ui,i > 0.

On montre alors facilement par recurrence sur k que ∀k ∈ {1, . . . , n} uk,k > 0. On posealors ∆ la matrice diagonale dont les coefficients diagonaux sont les

√ui,i. Elle est inversible

(les coefficients diagonaux sont non nuls, vi la remarque ci-dessus) et A peut s’ecrire A =(L∆)(∆−1U), i.e. :

A =

√u1,1 0 · · · 0

. . .. . .

...

∗ . . . 0√un,n

√u1,1

0. . . ∗

.... . .

. . .

0 · · · 0√un,n

.

Posons B = L∆ et C = ∆−1U . A = BC = At = CtBt car A est symetrique. Donc,BC = CtBt ⇔ C(Bt)−1 = B−1Ct. Il est facile de montrer que C(Bt)−1 est triangulaireinferieure a diagonale unite et B−1Ct est triangulaire superieure a diagonale unite aussi. Ceciimplique que C(Bt)−1 = B−1Ct = Id. Donc en prenant l’une de ces deux egalites, B = Ct.Pour l’unicite, on considere ∆ la matrice diagonale constituee des elements diagonaux deB. On a vu ci-dessus que les elements diagonaux de U sont tous non nuls, donc ceux de Baussi. Donc ∆ est inversible et A = (B∆−1)(∆Bt). Il est facile de verifier que B∆−1 estune matrice triangulaire inferieure a diagonale unite et ∆Bt est triangulaire superieure. Donc(B∆−1)(∆Bt) est une decomposition LU de A.Maintenant on suppose queA = B1(B1)t = B2(B2)t = (B1∆−1

1 )(∆1(B1)t) = (B2∆−12 )(∆2(B2)t).

Les deux dernieres egalites sont donc deux decomposition LU deA. Par unicite de la decompositionLU , ∆1(B1)t = ∆2(B2)t. Or la diagonale de chacune de ces matrices est respectivement com-posee des (b1i,i)

2 et (b2i,i)2. Donc, ∀i ∈ {1, . . . , n}, absb1i,i = absb2i,i . Comme on a suppose

que les coefficients diagonaux des Bi sont positifs ou nul, ∀i ∈ {1, . . . , n}, b1i,i = b2i,i . Donc∆1 = ∆2 et comme ∆1(B1)t = ∆2(B2)t, on en deduit B1 = B2.

Page 47: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

3.4. LA METHODE DE CHOLESKY 47

Le cout de la methode de Cholesky est

– (n3−n)6 additions,

– (n3−n)6 multiplications,

– n(n−1)2 divisions.

pour la factorisation et– n(n− 1) additions,– n(n− 1) multiplications,– 2n divisions.

pour la resolution des deux systemes lineaires triangulaires.Exemple : Avec n = 10, il y a 383 operations.

Le principal interet de la methode de Cholesky par rapport a la decomposition LU est legain en memoire lorsqu’on implemente les methodes. En effet, avec la methode de Cholesky,on ne stocke que B triangulaire, tandis qu’avec la decomposition LU on doit stocker deuxmatrices triangulaires.

Page 48: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

48 CHAPITRE 3. RESOLUTION NUMERIQUE DE SYSTEMES LINEAIRES

3.5 Exercices

Exercice 15. Appliquer la methode de Gauss au systeme Ax = b, avec

A =

1 2 0 −1 21 3 1 2 −1−1 −2 2 −1 0−2 −1 3 −4 −1

et b = (1, 1, 1, α)t. Discuter les cas en fonction de la valeur de α.

Exercice 16. Appliquer la methode de Gauss au systeme Ax = b, avec

A =

2 −1 −24 −1 −16 −5 −138 −7 −15

et b = (1, 4,−2, 0)t, puis b = (1, 4,−2, 1)t.

Exercice 17. On considere le systeme suivant :2x1 − x2 = 14x1 + x2 − x3 = 3

6x2 + 2x3 = 18

1) Resoudre le systeme par la methode du pivot de Gauss en interpretant matriciellementchaque etape. Effectuer la factorisation LU .2) Calculer, a l’aide de la factorisation precedente :

– le determinant de A,– la matrice inverse A−1 en resolvant les trois systemes Ax = ei, ou (e1, e2, e3) est la base

canonique de R3.

Exercice 18. Soient a, b ∈Mn,1 et α, β ∈ R.1) Calculer γ ∈ R tel que (

I − αa.bt) (I − βa.bt

)=(I − γa.bt

).

2) Trouver une condition sur α pour que(I − αa.bt

)soit inversible.

Exercice 19. Connaissant A ∈Mn, inversible, pour resoudre A2x = b, vaut-il mieux calculerA2 puis la factoriser, ou bien utiliser une autre methode ?

Exercice 20. 1) Donner la condition necessaire et suffisante pour obtenir une factorisationA = UL d’une matrice carree A inversible, ou U est triangulaire superieure et L triangulaireinferieure.2) Si cette condition n’est pas remplie, peut-on obtenir une telle decomposition pour unematrice se deduisant de A par permutation de lignes ou de colonnes ? 3) Appliquer le resultata la matrice 1 2 1

1 2 23 3 1

.

Page 49: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

3.5. EXERCICES 49

Exercice 21. Pour tout nombre reel α, on considere la matrice A suivante : 1 α αα 1 αα α 1

.

1) Calculer les valeurs propres de A.2) Pour quelles valeurs de α la matrice A est-elle definie positive ?3) Ecrire dans ce cas la factorisation de Cholesky pour la matrice A.

Exercice 22. Ecrire la factorisation de Cholesky de la matrice : 1 2 32 5 13 1 35

.

Exercice 23. Soit A ∈Mn(C) tridiagonale de la forme

A =

a1 b1 0 · · · · · · 0c1 a2 b2 0 · · · 0

0 c2 a3 b3 · · ·...

... 0. . .

. . .. . .

......

.... . . cn−2 an−1 bn−1

0 · · · · · · 0 cn−1 an

.

1) Donner une relation de recurrence permettant de calculer la factorisation LU de A.2) Donner un algorithme de resolution du systeme Ax = y.3) Soit la matrice

B =

1 −3 0 0−3 18 −18 00 −18 44 −80 0 −8 16

.

Utiliser ce qui precede pour calculer une factorisation de Cholesky de A.

Page 50: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

50 CHAPITRE 3. RESOLUTION NUMERIQUE DE SYSTEMES LINEAIRES

3.6 Elements de correction

Exercice 15On peut rediger comme cela :

1 2 0 −1 21 3 1 2 −1−1 −2 2 −1 0−2 −1 3 −4 −1

111α

L2 ← L2 − L1

L3 ← L3 + L1

L4 ← L4 + 2L11 2 0 −1 20 1 1 3 −30 0 2 −2 20 3 3 −6 3

102

2 + α

L3 ← L3 + 0L2

L4 ← L4 − 3L21 2 0 −1 20 1 1 3 −30 0 2 −2 20 0 0 −15 12

102

2 + α

On a maintenant un systeme triangulaire. On cherche X = (x1, x2, x3, x4, x5)t tel que Ax = b.En faisant une remontee, on obtient

x4 = − 2

15− α

15+

12

15x5 = − 2

15− α

15+

4

5x5

x3 = 1− x5 + x4 = 1− 2

15− α

15+

4

5x5 − x5 =

13

15− α

15− 1

5x5

x2 = −x3 − 3x4 + 3x5 = −13

15+α

15+

1

5x5 +

6

15+

15− 12

5x5 + 3x5 =

−7

15+

15+

4x5

5

x1 = 1− 2x2 + x4 − 2x5 = 1 +14

15− 8α

15− 8x5

5− 2

15− α

15+

4

5x5 − 2x5 =

9

5− 3α

5− 14

5x5.

Exercice 16On effectue

2 −1 −24 −1 −16 −5 −138 −7 −15

14−2a

L2 ← L2 − 2L1

L3 ← L3 − 3L1

L4 ← L4 − 4L1

ce qui donne 2 −1 −20 1 30 −2 −70 −3 −7

12−5a− 4

L3 ← L3 + 2L2

L4 ← L4 + 3L2

puis 2 −1 −20 1 30 0 −10 0 2

12−1a+ 2

L4 ← L4 + 2L3

Page 51: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

3.6. ELEMENTS DE CORRECTION 51

2 −1 −20 1 30 0 −10 0 0

12−1a

Donc si a 6= 0, il n’y a pas de solution. Si a = 0, on trouve x3 = 1, x2 = 2− 3 = −1, 2x1 =1− 1 + 2 = 2, donc x1 = 1.

Ainsi, dans le premier cas, on trouve x = (1,−1, 1)t et dans le deuxieme cas, il n’y a pas desolution.

Exercice 17

1. On a 2 −1 04 1 −10 6 2

L2 ← L2 − 2L1

2 −1 00 3 −10 6 2

L3 ← L3 − 2L2 2 −1 0

0 3 −10 0 4

Donc

L =

1 0 02 1 00 2 1

, U =

2 −1 00 3 −10 0 4

.

Pour resoudre les systeme, on resout Ly = b et Ux = y. On trouve

y1 = 1, y2 = 3− 2 = 1, y3 = 18− 2 = 16,

puis

x3 = 16/4 = 4, x2 = (1 + 4)/3 = 5/3, x1 = (1 + 5/3)/2 = 4/3.

2. det(A) = det(L)det(U) = det(U) = 24, car det(L) = 1 (les matrices L et U sonttriangulaires, donc le determinant est egal au produit des termes diagonaux).

Pour trouver A−1, on resoud pour j = 1, 2, 3, Auj = ej , par Lvj = ej et Uuj = vj . Ce quidonne

v1 = (1,−2, 4)t, u1 = (1/3,−1/3, 1)t

v2 = (0, 1,−2)t, u2 = (1/12, 1/6,−1/2)t

v3 = (0, 0, 1)t, u3 = (1/24, 1/12, 1/4)t

La matrice inverse est alors donnee par les colonnes u1, u2, u3 :

Page 52: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

52 CHAPITRE 3. RESOLUTION NUMERIQUE DE SYSTEMES LINEAIRES

A−1 =

1/3 1/6 1/24−1/3 1/3 1/12

1 −1 1/4

.

Exercice 18

1. On calcule

(I − αa · bt)(I − βa · bt) = I − αa · bt − βa · bt + αβa · bta · bt.

Or bta est une matrice M1,1. On peut donc la sortir (elle commute avec les autres matrices ;c’est un scalaire fois l’identite). On a donc

(I − αa · bt)(I − βa · bt) = I − αa · bt − βa · bt + αβbt · aa · bt.

On obtient donc

γ = α+ β − αβn∑i=1

aibi.

2. Si on peut choisir β tel que γ = 0, alors I − αa · bt est inversible. Or

γ = 0⇔ α+ β − αβ(a|b) = 0⇔ β(1− α(a|b)) = −α.

Donc, si α(a|b) 6= 1, M = I − αa · bt est inversible.

Exercice 19

Si on calcule A2, on a environ 2N operations pour calculer chaque terme de la trice, cequi donne 2N3 operations. Puis, on inverse avec un certain algorithme.

Si on effectue la decomposition LU de A, cela necessite environ 2N3/3 operations. Onresoud ensuite

Ay = b, Ax = y.

pour chacune de ces resolutions on fait une descente remontee, ce qui donne un multiple deN2 operations. Donc au total, pour N assez grand il vaut mieux utiliser la deuxieme methode.

Exercice 20

1. On commence par faire apparaıtre des zeros sur la derniere colonne, puis lavant derniere...pour obtenir au finale une matrice triangulaire inferieure.

On obtient alors

U (N) . . . U (1)A = L,

avec L triangulaire inferieure, puis

A = UL, U = (U (N) . . . U (1))−1,

avec U triangulaire superieure (avec des 1 sur la diagonale). Cela est possible ssi les matrices(ai,j)

Ni,j=k sont inversibles pour k = 1, . . . , N ; cecic equivaut au fait que le pivot est non nul

a chaque etape.

2. On peut aussi toujours faire une permutation de ligne ou de colonne, puisque la matriceest supposee inversible.

3.

Page 53: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

3.6. ELEMENTS DE CORRECTION 53

1 2 11 2 23 3 1

L1 ← L1 − L3

L2 ← L2 − 2L3

−2 −1 0−5 −4 03 3 1

L1 ← L1 − 14L2

L =

−3/4 0 0−5 −4 03 3 1

, U =

1 1/4 10 1 20 0 1

On verifie bien que A = UL.

Exercice 211. On voit que A + (α − 1)Id est de rang 1, car ses colonnes sont generes par le vecteur

(1, 1, 1) (sauf si α = 0, mais dans ce cas A = Id). Donc dim(Ker(A+(α−1)Id)) = 2 (d’apresle theoreme du rang), donc 1−α est valuer propre double de A ; la trace de A vaut la sommedes valeurs propres qui est egale a la somme des termes diagonaux. La derniere valeur propreλ verifie donc l’equation

2(1− α) + λ = 3, λ = 1 + 2α.

2. A est symetrique. Elle est definie positive ssi ses valeurs propres sont strictement posi-tives. Cela se traduit par

1 + 2α > 0, 1− α > 0,

autrement dit α ∈]− 1/2, 1[.3. On ecrit

L =

`1,1 0 0`2,1 `2,2 0`3,1 `3,2 `3,3

et on effectue le produit L · Lt `1,1 0 0

`2,1 `2,2 0`3,1 `3,2 `3,3

· `1,1 `2,1 `3,1

0 `2,2 `3,20 0 `3,3

=

1 α αα 1 αα α 1

pour trouver la decomposition de Cholesky (on rappelle que l’on cherche `j,j > 0, pourj = 1, 2, 3). On a

`21,1 = 1⇒ `1,1 = 1

`2,1 = α

`3,1 = α

`22,2 = 1− α2 ⇒ `2,2 =√

1− α2

`3,2√

1− α2 = α− α2 ⇒ `3,2 = α1− α√1− α2

= α

√1− α1 + α

`3,3 =

√1− α2 − α2

1− α1 + α

=

√(1− α2)(1 + α)− α2(1− α)

1 + α=

√(1− α)(1 + 2α)

1 + α

Page 54: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

54 CHAPITRE 3. RESOLUTION NUMERIQUE DE SYSTEMES LINEAIRES

On retrouve bien que les termes sous la racines doivent etre positifs.

Exercice 22

En utilisant la meme demarche que dans l’exercice precedent, on trouve

`21,1 = 1⇒ `1,1 = 1

`2,1 = 2

`3,1 = 3

`22,2 = 5− 4 = 1⇒ `2,2 = 1

`3,2 = 1− 2 · 3 = −5

`3,3 =√

35− 25− 9 = 1,

ce qui donne la matrice

L =

1 0 02 1 03 −5 1

.

Exercice 23

1. On cherche L sous la forme

L =

1 0 0 · · · · · · 0`1 1 0 0 · · · 0

0 `2 1 0 · · ·...

... 0. . .

. . .. . .

......

.... . . `n−2 1 0

0 · · · · · · 0 `n−1 1

.

et U sous la forme

U =

d1 m1 0 · · · · · · 00 d2 m2 0 · · · 0

0 0 d3 m3 · · ·...

... 0. . .

. . .. . .

......

.... . . 0 dn−1 mn−1

0 · · · · · · 0 0 dn

.

de sorte que A = LU . On effectue le produit pour trouver un algorithme qui permet decalculer les coefficients de L et U . On a donc

L1 × C1 : d1 = a1, L1 × C2 : m1 = b1

Li+1 × Ci : `idi = ci, Li+1 × Ci+1 : `imi + di+1 = ai+1 Li+1 × Ci+2 : mi+1 = bi+1, i = 1, . . . , n− 2

Ln × Cn−1 : `n−1dn−1 = cn−1, Ln × Cn : `n−1mn−1 + dn = an.

On a donc

Page 55: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

3.6. ELEMENTS DE CORRECTION 55

L =

1 0 0 · · · · · · 0c1/d1 1 0 0 · · · 0

0 c2/d2 1 0 · · ·...

... 0. . .

. . .. . .

......

.... . . cn−2/dn−1 1 0

0 · · · · · · 0 cn−1/dn−1 1

.

et

U =

d1 b1 0 · · · · · · 00 d2 b2 0 · · · 0

0 0 d3 b3 · · ·...

... 0. . .

. . .. . .

......

.... . . 0 dn−1 bn−1

0 · · · · · · 0 0 dn

,

avec

d1 = a1, di+1 = ai+1 −cidibi, i = 1, . . . , n− 1.

Cette decomposition existe si les di sont bien definis, c’est a dire di 6= 0, i = 1, . . . , n− 1 (cequi est raisonnable, si l’on suppose A inversible). Notons que l’on a

U =

√d1 0 0 · · · · · · 00

√d2 0 0 · · · 0

0 0√d3 0 · · ·

...... 0

. . .. . .

. . ....

......

. . . 0√dn−1 0

0 · · · · · · 0 0√dn

√d1

b1√d1

0 · · · · · · 0

0√d2

b2√d2

0 · · · 0

0 0√d3

b3√d3

· · ·...

... 0. . .

. . .. . .

......

.... . . 0

√dn−1

bn−1√dn−1

0 · · · · · · 0 0√dn

,

La decomposition de Cholesky est alors A = CCt, avec

Ct =

√d1

b1√d1

0 · · · · · · 0

0√d2

b2√d2

0 · · · 0

0 0√d3

b3√d3

· · ·...

... 0. . .

. . .. . .

......

.... . . 0

√dn−1

bn−1√dn−1

0 · · · · · · 0 0√dn

.

Page 56: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

56 CHAPITRE 3. RESOLUTION NUMERIQUE DE SYSTEMES LINEAIRES

2. Pour resoudre Ax = y, on peut donc faire

d1 ← a1, di+1 ← ai+1 −cidibi, i = 1, . . . , n− 1,

xi ← yi, i = 1, . . . , n,

xi+1 ← xi+1 −cidixi, i = 1, . . . , n− 1,

xn ←xndn, xi ←

xi − bi+1xi+1

di, i = n− 1, . . . , 1.

3. Pour calculer la factorisation de Cholesky, on calcule les di, i = 1, . . . , 4. On a

d1 = 1, d2 = 9, d3 = 8, d4 = 8,

et donc la factorisation de Cholesky est A = CCt avec

C =

1 0 0 0

−3 3 0 0

0 −6 2√

2 0

0 0 −2√

2 2√

2

Page 57: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

Chapitre 4

Methodes iteratives

4.1 Introduction

En ecrivant Ax = b, on an∑j=1

ai,jxj = bi

Pour la methode de Jacobi, on a

x(k+1)i = (bi −

∑j 6=k

ai,jx(k)j )/ai,i

Pour la methode Gauss-Seidel, on met a jour les xj au fur et a mesure qu’ils sont calcules.

x(k+1)i = (bi −

k−1∑j=1

ai,jx(k+1)j −

n∑j=k+1

ai,jx(k)j )/ai,i

Enfin, pour une methode de relaxation, on prend

x(k+1) = ωx(k+1) + (1− ω)x(k),

ou la formule de x(k+1) est donne par Gauss-Seidel (methode SOR) ou Jacobi.

Plus precisement, pour SOR, on a

x(k+1)j =

ω

aj,j

bj − j−1∑`=1

aj,`x(k+1)` −

n∑`=j+1

aj,`x(k)`

+ (1− ω)x(k)j

On ecrit aussi ce type de methodes sous la forme A = M −N et

x(k+1) = M−1Nx(k) +M−1b

La matrice B = M−1N est appelee matrice de l’iteration.

57

Page 58: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

58 CHAPITRE 4. METHODES ITERATIVES

4.2 Tests d’arret

Comme on cherche a resoudre un systeme lineaire en construisant une suite d’’efinie parrecurrence, il faut se donner un test pour arreter la suite. En general, on utilise le test suivant :

– On se fixe ε > 0 suffisamment petit (0.001 par exemple).

– On s’arrete des que ‖Ax(k)−b‖‖b‖ ≤ ε.

En posant e(k) = x− x(k), l’inegalite precedente implique que

‖e(k)‖‖x‖

≤ cond(A)ε.

En effet, ‖e(k)‖ = ‖A−1(Ax(k) − b)‖ ≤ ‖A−1‖‖Ax(k) − b‖ ≤ ‖A−1‖‖b‖ε. Comme Ax = b,‖b‖ ≤ ‖A‖‖x‖ et on obtient facilement

‖e(k)‖ ≤ ‖A−1‖‖A‖‖x‖ε,

d’ou l’inegalite sur e(k).On utillise aussi un autre test : ‖x(k+1) − x(k)‖ ≤ ‖x(k)‖ε, mais ce test peut etre verifie dansque x(k) soit proche de x.Pour ce qui est des normes, on utilise en general ‖ · ‖∞ ou ‖ · ‖2.

4.3 Convergence

Theoreme 23. La suite definie par x(0) ∈ CN et x(k+1) = Bx(k) + c converge vers x =(I −B)−1c quelque soit x(0) si et seulement si ρ(B) < 1.

Demonstration. On se ramene a e(k) = x − x(k) converge vers 0 et on a ρ(B) < 1 ssi Bk

converge vers 0.

Proposition 15. Les matrices de l’iteration sont donnees par1. Jacobi J = L+ U2. SOR Lω = (I − ωL)−1((1− ω)I + ωU)3. Gauss-Seidel L1 = (I − L)−1U ,

avec L = D−1E, U = D−1F , A = D−E−F , avec D diagonale, E triangulaire inferieure etF triangulaire superieure.

Demonstration. Pour Jacobi, on voit bien que M = D (terme aj,jx(k+1)j ), ce qui donne N =

M −A = E + F , puis B = D−1(E + F ) = L+ U .Pour Gauss-Seidel, on trouveM = D−E, ce qui donneN = M−A = D−E−(D−E−F ) =

F , puis B = (D − E)−1F = (I − L)−1U .Enfin, pour SOR, la methode s’ecrit

x(k+1)j =

ω

aj,j

bj − j−1∑`=1

aj,`x(k+1)` −

n∑`=j+1

aj,`x(k)`

+ (1− ω)x(k)j

donc en mettant a gauche les termes pour xk+1j , on obtient

aj,jx(k+1)j + ω

j−1∑`=1

aj,`x(k+1)j = ω

bj − n∑`=j+1

aj,`x(k)`

+ (1− ω)aj,jx(k)j

Page 59: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

4.4. VITESSES DE CONVERGENCE 59

On a donc (D−ωE)x(k+1) = (1−ω)Dx(k) +ω(b−Fx(k)), puis M = D−ωE. On trouve alors

N = ωF + (1− ω)D.

On a M − N = D − ωE − ωF − (1− ω)D = ωA puis M = M/ω = 1ωD − E et N = N/ω =

F + ( 1ω − 1)D et enfin

B = (D − ωE)−1((1− ω)D + ωF ) = (I − ωL)−1((1− ω)I + ωU).

Theoreme 24. Pour toute matrice A, on a ρ(Lω) ≥ |ω − 1|. Une condition necessaire deconvergence de la methode de relaxation est 0 < ω < 2.

Demonstration. Comme det(I − ωL) = 1, on a

det(λI − Lω) = det(λ(I − ωL)− (1− ω)I − ωU).

On a la relation coefficients-racines

N∏i=1

λi = (−1)N det(−(1− ω)I − ωU) = (1− ω)N .

On en deduit la relation comme ρ(Lω) ≥ |λi|.

4.4 Vitesses de convergence

On a vu que ‖e(k)‖ ≤ ‖Bk‖‖e(0)‖, donc ‖e(k)‖‖e(0)‖ ≤ ‖B

k‖.(‖e(k)‖‖e(0)‖

) 1k

est le facteur moyen de

reduction et il est donc majore par ‖Bk‖1k . C’est ce nombre qui va permettre de definir les

vitesses de convergence, vitesses qui permettent de savoir si x(k) converge rapidement vers xou non.

Definition 13. On appelle vitesse (ou taux) moyenne de convergence pour k iterations de lamatrice de l’iteration B le nombre

Rk(B) = − ln(‖Bk‖

1k

).

Remarque 4. Si ρ(B) < 1 (donc la methode est convergente) alors ‖Bk‖1k < 1 a partir d’un

certain rang et donc Rk(B) > 0 a partir d’un certain rang.

Le but etant d’avoir une estimation de la vitesse de convergence, il faut pouvoir calculer‖Bk‖

1k pour connaıtre Rk(B). Or ce calcul peut etre couteux (meme si on peut avoir une

majoration de ce nombre si B est diagonalisable). On introduit alors la notion de vitesse deconvergence asymptotique, plus facile a calculer :

Definition 14. On appelle vitesse de convergence asymptotique de la matrice de l’iterationB le nombre

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

Cette definition vient du fait que ‖Bk‖1k converge vers ρ(B) quand k tend vers +∞.

Page 60: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

60 CHAPITRE 4. METHODES ITERATIVES

4.5 Les matrices hermitiennes definies positives

Theoreme 25. Si A est hermitienne inversible et si A = M −N avec M inversible, on poseB = Id −M−1A. On suppose que M + M∗ − A (qui est hermitienne) est definie positive.Alors ρ(B) < 1 equivaut a A definie positive.

Demonstration. On montre que pour y = Bx, on a

(x|Ax)− (y|Ay) = ((x− y)|(M +M∗ −A)(x− y)). (4.1)

En effet,(y|Ay) = (x−M−1Ax|A(x−M−1Ax)).

On utilise alors aussi x− y = M−1Ax. Supposons A definie positive. Soit x vecteur propre deB de valeur propre λ et y = Bx. On obtient

(1− |λ|2)(x|Ax) = |1− λ|2(x|(M +M∗ −A)x).

Si λ = 1, on obtient x = Bx et donc M−1Ax = 0, ce qui est impossible. On a donc |λ| < 1.Supposons maintenant que ρ(B) < 1. Si A n’etait pas definie positive, on aurait existence dex0 6= 0 tel que α0 = (x0|Ax0) ≤ 0. Soit xn = Bnx0. Donc αn = (xn|Axn) tend vers 0. Or

αn−1 − αn = ((xn−1 − xn)|(M +M∗ −A)(xn−1 − xn)) > 0,

si xn−1 − xn 6= 0 (si xn−1 = xn, on en deduit que 1 est valeur propre de B, ce qui estimpossible). Donc αn est strictement decroissante ; son premier terme etant negatif ; elle nepeut pas converger vers 0.

Corollaire 7. Avec les notations et hypotheses du theoreme precedent, si M +M∗ −A et Asont definies positives, alors la methode iterative est convergente.

Corollaire 8. Si A est hermitienne, A = D − E − F la decomposition classique, avec Ddefinie positive (ses elements diagonaux sont tous > 0), ω ∈]0; 2[, alors la methode SOR estconvergente si et seulement si A est definie positive.

Demonstration. On a D = D∗ et F = E∗, M = D/ω − E, puis

M∗ +M −A =2− ωω

D,

qui est hermitienne. Pour 0 < ω < 2, puisque D est definie positive, on a M +M∗−A definiepositive ; donc la methode converge ssi A est definie positive.

Corollaire 9. Si A est hermitienne definie positive, alors la methode SOR converge si etseulement si ω ∈]0; 2[.

Demonstration. Il suffit de montrer que D est definie positive.

Page 61: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

4.6. EXERCICES 61

4.6 Exercices

Exercice 24. On considere la matrice A et les vecteurs b et x0 suivants :

A =

(5 10 1

2

), b =

(5−1

2

)et x0 =

(1 + ε

1

)Pour quelles valeurs de ε la methode iterative definie par :

xn+1 = Axn − b

converge-t-elle ?

Exercice 25. Calculer les approximations successives de la solution du systeme :

A =

(a bb a

)(xy

)=

(11

)par les methodes de Jacobi et de Gauss-Seidel. Dans quels cas ces methodes convergent-ellesvers la solution du probleme ?

Exercice 26. Soit A une matrice inversible d’ordre n et b un vecteur de Rn. Montrer quel’algorithme de Jacobi peut s’ecrire sous la forme :

xn+1 = xn +Hrn,

ou rn = b−Axn. Prouver le meme resultat pour l’algorithme de Gauss-Seidel.

Exercice 27. – Soit la matrice A suivante :

A =

1 2 −21 1 12 2 1

Montrer que ρ(J) < 1 < ρ (L1), ou ρ(.) designe le rayon spectral.

– Soit la matrice B suivante :

B =

2 −1 12 2 2−1 −1 2

Montrer que ρ (L1) < 1 < ρ(J).

Exercice 28. Considerons la matrice A suivante :

A =

2 −1 0 0−1 2 −1 00 −1 2 −10 0 −1 2

Page 62: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

62 CHAPITRE 4. METHODES ITERATIVES

– Ecrire la matrice Lω d’iterations de l’algorithme de relaxation pour A.– Calculer les iteres de l’algorithme de relaxation pour le systeme Ax = b, ou :

b =

1111

Exercice 29. Soit A une matrice triangulaire inferieure inversible. On considere le systemesuivant :

Ax = b,

ou x et b sont deux vecteurs colonnes.– Montrer que le rayon spectral de la matrice d’iterations de Jacobi J est nul.– Montrer qu’il existe un entier p ≥ 0 tel que Jp = 0.– Montrer que le vecteur x, unique solution du systeme, verifie :

xk+1 − x = J (xk − x) .

– Montrer que, dans ce cas, la methode de Jacobi est directe, c’est-a-dire que la solutionest atteinte en un nombre fini d’iterations.

– Calculer tous les termes de la suite (xk) pour le systeme : 1 0 0−2 1 00 −2 1

xyz

=

111

,

pour x0 = (0, 0, 0).

Exercice 30. Montrer que, si A est une matrice a diagonale strictement dominante, alors lamethode de Jacobi converge pour tout systeme Ax = b.

Exercice 31. Pour resoudre le systeme lineaire Ax = b, on considere la methode iterativede Richardson :

xk+1 = xk − r (Axk − b) .

– Discuter la convergence de la methode quand A est une matrice hermitienne.– Donner une condition suffisante pour la convergence de la methode quand la matrice

reelle A est a diagonale strictement dominante.

Exercice 32. Soit A une matrice inversible d’ordre n qui se decompose en A = Idn − B,ou B est une matrice d’ordre n verifiant ‖B‖ < 1, pour une norme subordonnee. Soit x lasolution du systeme Ax = b. On va etudier la methode iterative suivante :

xk+1 = Bxk + b ∀k ≥ 1,

avec x0 donne. On note ek = xk − x l’erreur, et rk = Axk − b le residu.– Montrer que ek+1 = Bek et en deduire la convergence de la methode vers x.

Page 63: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

4.6. EXERCICES 63

– Montrer que xk+1 = xk − rk, rk = Aek et rk+1 = Brk.– Soit K ≥ 1. Montrer que xK+1 = x0 − (

∑Kk=0B

k)r0 et conclure que x = x0 −A−1r0.– Montrer que ‖A−1‖ ≤ 1

1−‖B‖ , et en deduire que

‖ek‖ ≤‖B‖k

1− ‖B‖‖r0‖.

Exercice 33. On considere le systeme lineaire Ax = b, avec

A =

(3 12 5

)et b =

(47

)1. Ecrire la methode de Jacobi pour resoudre le systeme lineaire Ax = b.

2. Calculer le vecteur x1 obtenu apres la premiere iteration de la methode de Jacobi, apartir du vecteur initial x0 =

(12 ,

12

).

3. Ecrire la matrice d’iteration J de la methode de Jacobi.

4. Est-ce que la methode de Jacobi appliquee au systeme Ax = b converge ?

Exercice 34. Pour tout reel α, on considere la matrice

A =

1 α αα 1 αα α 1

1. Ecrire la matrice J de la methode iterative de Jacobi pour la matrice A. Calculer le

rayon spectral de J . Pour quelles valeurs de α cette methode converge-t-elle ?

2. Ecrire la matrice L1 de la methode iterative de Gauss-Seidel pour la matrice A. Calculerle rayon spectral de L1. On distinguera les cas α ∈ [0, 4] et α 6∈ [0, 4]. On etudiera le casα ∈ [0, 4].

Exercice 35. On considere la matrice d’ordre n suivante :

A =

2 1 0 · · · 0

−1 2 −1. . .

...

0. . .

. . .. . . 0

.... . . −1 2 −1

0 · · · 0 −1 2

(cette matrice est obtenue en discretisant le probleme −u′′(x) = f(x) avec des conditions aubord donnees)

1. Calculer les valeurs propres de la matrice de Jacobi J ainsi que son rayon spectral. Endeduire ρ(L1) et ρ(Lω).

2. Quand n est grand, evaluez les rayons spectraux sous la forme 1− q(h), avec h = 1n et

evaluez la partie principale de chacun des q(h) (en h = 0).

Page 64: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

64 CHAPITRE 4. METHODES ITERATIVES

4.7 Elements de correction

Exercice 24Remarquons que l’on a

A

(11

)− b =

(11

)Si on note ` = (1, 1)t et e1 = (1, 0)t, on a donc

x0 = `+ εe1.

On a A`− b = ` donc

xn+1 − ` = A(xn − `) +A`− b− ` = A(xn − `),

puisxn − ` = An(x0 − `) = εAne1.

Or Ae1 = 5e1, doncxn = ε5ne1.

Ainsi xn converge ssi ε = 0.Exercice 25On a

ax+ by = 1, bx+ ay = 1.

Pour Jacobi, on aaxn+1 + byn = 1, bxn + ayn+1 = 1,

donc (xn+1

yn+1

)=

(1a1a

)−(

0 ba

ba 0

)(xnyn

)On a en fait

a(xn+1 − x) + b(yn − y) = 0, b(xn − x) + a(yn+1 − y) = 0,

ce qui donne (xn+1 − xyn+1 − x

)= −

(0 b

aba 0

)(xn − xyn − y

),

puis (xn − xyn − x

)=

(− ba

)n(0 11 0

)n(x0 − xy0 − y

),

On a alors convergence vers la solution du probleme pour tout x0, y0 si et seulement si

|b| < |a|.

Pour Gauss-Seidel, on a

axn+1 + byn = 1, bxn+1 + ayn+1 = 1,

ce qui donne

a(xn+1 − x) + b(yn − y) = 0, b(xn+1 − x) + a(yn+1 − y) = 0,

Page 65: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

4.7. ELEMENTS DE CORRECTION 65

puis

xn+1 − x = − ba

(yn − y), yn+1 − y = − ba

(xn+1 − x) =

(b

a

)2

(yn − y),

i.e. (xn − xyn − x

)=

(0 − b

a

0 b2

a2

)n(x0 − xy0 − y

),

On a alors convergence vers la solution du probleme pour tout (x0, y0) si et seulement si|b| < |a|.

Pour cet exercice, on pourrait aussi donner une formule explicite en fonction de n de xnet yn.

Exercice 26

L’algorithme de Jacobi s’ecrit :

ai,ix(k+1)i +

n∑j=1, j 6=i

ai,jx(k)j = bi, i = 1, . . . , n,

donc

x(k+1)i +

n∑j=1, j 6=i

ai,jai,i

x(k)j =

biai,i

, i = 1, . . . , n,

puis

x(k+1)i +

n∑j=1

ai,jai,i

x(k)j = x

(k)i +

biai,i

, i = 1, . . . , n,

x(k+1)i = x

(k)i +

biai,i−

n∑j=1

ai,jai,i

x(k)j , i = 1, . . . , n,

x(k+1)i = x

(k)i +

bi −∑n

j=1 ai,jx(k)i

ai,i, i = 1, . . . , n.

Donc on a bien

x(k+1) = x(k) +H(b−Ax(k)),

avec

H =

1a1,1

0 0 · · · · · · 0

0 1a2,2

0 0 · · · 0

0 0 1a3,3

0 · · ·...

... 0. . .

. . .. . .

......

.... . . 0 1

an−1,n−10

0 · · · · · · 0 0 1an,n

Prenons maintenant le cas de l’algorithme de Gauss-Seidel ; il s’ecrit

i∑j=1

ai,jx(k+1)j +

n∑j=i+1

ai,jx(k)j = bi, i = 1, . . . , n.

Page 66: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

66 CHAPITRE 4. METHODES ITERATIVES

On introduit D, E et F definis de maniere unique par A = D − E − F , avec E matricetriangulaire inferieure stricte, F triangulaire superieure stricte et D diagonale. On a

(D − E)x(k+1) − Fx(k) = b,

donc

x(k+1) = (D − E)−1Fx(k) + (D − E)−1b = x(k) + (D − E)−1(b+ Fx(k))− x(k),

ce qui donne

x(k+1) = x(k) + (D − E)−1(b+ Fx(k) − (D − E)x(k)) = x(k) + (D − E)−1(b−Ax(k)),

et on a donc le resultat, avec H = (D − E)−1 (alors que pour Jacobi, on avait H = D−1).Exercice 27On a J = D−1(E + F ) et L1 = (D − E)−1F = (I −D−1E)−1D−1F .Dans le premier cas, on a

D−1E =

0 0 0−1 0 0−2 −2 0

, D−1F =

0 −2 20 0 −10 0 0

Donc

J =

0 −2 2−1 0 −1−2 −2 0

On verifie que J3 = 0. Donc d’apres le theoreme de Cayley-Hamilton, le rayon spectral estnul (seule 0 est valeur propre). Sinon, on peut aussi calculer les valeurs propres en utilisantle polynome caracteristique et verifier que 0 est valeur propre triple.

Pour la methode de Gauss-Seidel, on trouve

L1 =

0 −2 20 2 −30 0 2

Donc ρ(L1) = 2. On a donc bien

ρ(J) = 0 < 1 < ρ(L1) = 2.

Pour la matrice B, on trouve

J =

0 1/2 −1/2

−1 0 −1

1/2 1/2 0

,

puis ρ(J) =√

5/2 > 1 (on peut verifier que les valeurs propres sont 0,±i√

5/2). On a

L1 =

0 1/2 −1/2

0 −1/2 −1/2

0 0 −1/2

.

Page 67: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

4.7. ELEMENTS DE CORRECTION 67

donc ρ(L1) = 1/2 < 1.

Exercice 28 L’algorithme de relaxation s’ecrit

x(k+1)i = (1− ω)x

(k)i +

ω

ai,i

bi − i−1∑j=1

ai,jx(k+1)j −

n∑j=i+1

ai,jx(k)j

, i = 1, . . . , n,

ce qui donne (D−ωE)x(k+1) = (1−ω)Dx(k) +ω(b+Fx(k)) avec les notations A = D−E−F ,D diagonale, E triangulaire inf. stricte et F triangulaire sup. stricte.

On a

L =

0 0 0 0

1/2 0 0 0

0 1/2 0 0

0 0 1/2 0

et

U =

0 1/2 0 0

0 0 1/2 0

0 0 0 1/2

0 0 0 0

.

La matrice de l’iteration est alors

Lω = (D − ωE)−1((1− ω)D − ωF ) = (I − ωD−1E)−1((1− ω)I + ωD−1F ).

On a

(I − ωD−1E)−1 =

1 0 0 0

1/2ω 1 0 0

1/4ω2 1/2ω 1 0

1/8ω3 1/4ω2 1/2ω 1

,

et

(1− ω)I + ωD−1F =

1− ω 1/2ω 0 0

0 1− ω 1/2ω 0

0 0 1− ω 1/2ω

0 0 0 1− ω

,

ce qui donne

Lω =

1− ω 1/2ω 0 0

1/2ω (1− ω) 1/4ω2 + 1− ω 1/2ω 0

1/4ω2 (1− ω) 1/8ω3 + 1/2ω (1− ω) 1/4ω2 + 1− ω 1/2ω

1/8ω3 (1− ω) 1/16ω4 + 1/4ω2 (1− ω) 1/8ω3 + 1/2ω (1− ω) 1/4ω2 + 1− ω

.

Page 68: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

68 CHAPITRE 4. METHODES ITERATIVES

On a

(D − ωE)x(k+1) = (1− ω)Dx(k) + ω(b− Fx(k)),

ce qui donne

x(k+1) = Lωx(k) + ω(D − ωE)−1b.

On a aussi

x = Lωx+ ω(D − ωE)−1b,

et donc

x(k+1) − x = Lω(x(k) − x).

On verifie que x = (2, 3, 3, 2)t. Pour information, les valeurs propres de Lω sont donnees par

3/16ω2 + 1− ω + 1/16

√5ω2 + 1/16

√2ω√

7ω2 + 48− 48ω + 3√

5ω2 + 16√

5− 16ω√

5

3/16ω2 + 1− ω + 1/16√

5ω2 − 1/16√

2ω√

7ω2 + 48− 48ω + 3√

5ω2 + 16√

5− 16ω√

5

3/16ω2 + 1− ω − 1/16√

5ω2 + 1/16ω√

14ω2 + 96− 96ω − 6√

5ω2 − 32√

5 + 32ω√

5

3/16ω2 + 1− ω − 1/16√

5ω2 − 1/16ω√

14ω2 + 96− 96ω − 6√

5ω2 − 32√

5 + 32ω√

5

.

Exercice 29 Remarquons d’abord que l’on peut bien appliquer la methode de Jacobi ; eneffet J est inversible, puisque A est triangulaire inversible, donc ses termes diagonaux sonttous non nuls. On a J = D−1(E + F ), donc J a triangulaire inferieure, puisque A l’est etses termes diagonaux sont nuls ; donc la seule valeur propre est 0 ; d’apres le theoreme deCayley-Hamilton, on a JN = 0, ou N est la taille de la matrice.

La methode de Jacobi s’ecrit :

Dx(k+1) = b+ (E + F )X(k),

et donc

x(k+1) = D−1b+ JX(k).

Or x unique solution du systeme Ax = b verifie

x = D−1b+ Jx.

Ainsi, en faisant la difference, on obtient

x(k+1) − x = J(x(k) − x),

puis

x(N) − x = JN (x(0) − x) = 0,

ainsi la solution est atteinte en un nombre fini d’operations.

Pour l’exemple, on a D = D−1 = Id, donc D−1b = (1, 1, 1)t. On a aussi J = E =−(A− Id) = Id−A. Donc

x(1) =

111

Page 69: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

4.7. ELEMENTS DE CORRECTION 69

x(2) =

111

+

0 0 02 0 00 2 0

111

=

133

x(3) =

111

+

0 0 02 0 00 2 0

133

=

137

x(4) =

111

+

0 0 02 0 00 2 0

137

=

137

On a bien x(4) = x(3) et plus generalement x(k) = x(3) = x, pour k ≥ 3.

Exercice 30 Remarquons d’abord que la methode de Jacobi est bien definie, puisque lestermes diagonaux sont strictement positifs. On a J = D−1(E + F ) et

ai,i >∑j 6=i|ai,j |

Soit λ valeur propre de J associe a un vecteur propre x. On a

(E + F )x = λDx,

doncAx = (D − E − F )x = Dx− λDx = (1− λ)Dx,

donc(1− λ)ai,ixi =

∑j

ai,jxj = ai,ixi +∑j 6=i

ai,jxj ≥ ai,ixi −∑j 6=i|ai,j ||xj |.

Soit maintenant i0 tel que |xi0 | = maxi |xi|. On peut supposer que xi0 > 0 (sinon on considere

le nouveau vecteur x =xi,0|xi0 |

x). On obtient alors

(1− λ)ai0,i0xi0 ≥ ai0,i0xi0 −∑j 6=i0

|ai0,j ||xj | ≥ (ai0,i0 −∑j 6=i0

|ai0,j |)xi0 ,

et donc 1− λ > 0, ce qui veut bien dire que le rayon spectral de J est strictement inferieur a1, et donc la methode de Jacobi converge pour tout systeme Ax = b, tel que A soit inversible.

Exercice 31 On ax(k+1) = x(k) − r(Ax(k) − b),

etx = x− r(Ax− b),

doncx(k+1) − x = x(k) − x− rA(x(k) − x) = (Id− rA)(xk − x).

La methode converge ssi ρ(Id − rA) < 1. Si A est hermitienne, elles diagonalise dans unebase orthonormee et ses valeurs propres sont reelles. Ainsi les valeurs propres de Id− rA sont1 − rλi, i = 1, . . . , n, ou λi, i = 1, . . . , n sont les valeurs propres de A. Donc la methode deRichardson converge ssi

|1− rλi| < 1, i = 1, . . . , n,

Page 70: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

70 CHAPITRE 4. METHODES ITERATIVES

Dans le cas ou r ∈ R et A a coefficients reels, cela donne

−1 < 1− rλi < 1, i = 1, . . . , n,

ou encore0 < rλi < 2, , i = 1, . . . , n,

Donc si r > 0, on doit avoir λmin > 0 et λmax <2r .

Maintenant on suppose que A est a diagonale strictement dominante et on considerer > 0. On considere une valeur propre pour la matrice d’iteration Id − rA et son vecteurpropre associe. On a

xi − r∑j

ai,jxj = λxi,

donc|λxi| ≤ |1− rai,i||xi|+

∑j 6=i|ai,j ||xj | ≤ |1− rai,i||xi0 |+

∑j 6=i|rai,j ||xi0 |,

avec |xi0 | = maxi |xi| 6= 0, puis

|λxi0 | ≤ (|1− rai0,i0 |+ |r|∑j 6=i0

|ai0,j |)|xi0 |.

et|λ| ≤ |1− rai0,i0 |+ |r|

∑j 6=i0

|ai0,j | < |1− rai0,i0 |+ |r||ai0,i0 |.

La methode de Richardson converge donc si

|1− rai0,i0 |+ |r||ai0,i0 | ≤ 1,

ce qui est vrai si 0 < r ≤ 1ai,i, i = 1, . . . , n.

Exercice 32On a

x(k+1) = Bx(k) + b, x = Bx+ b,

et donc en faisant la differencee(k+1) = Be(k),

puis‖e(k)‖ ≤ ‖B‖k‖e(0)‖.

et comme ‖B‖ < 1, on en deduit que ‖e(k)‖ → 0 et donc que x(k) converge.On a

x(k+1) = x(k) + (B − Id)x(k) + b = x(k) − r(k),

r(k) = Ax(k) − b = Ae(k) +Ax− b = Ae(k),

et

r(k+1) = (Id−B)x(k+1)−b = (Id−B)(x(k)−r(k))−b = (Id−B)x(k)−b−r(k) +Br(k) = Br(k).

On a

xK+1 − x0 =K∑k=0

xk+1 − xk = −K∑k=0

rk = −K∑k=0

Bkr0.

Page 71: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

4.7. ELEMENTS DE CORRECTION 71

On a

(Id−B)(K∑k=0

Bk) = Id−BK+1.

On obtient donc

(Id−B)−1 = A−1 =∞∑k=0

Bk

et

x = x0 −A−1r0.

On a

‖A−1‖ = ‖∞∑k=0

Bk‖ ≤∞∑k=0

‖B‖k =1

1− ‖B‖.

On a

xK = x0 −K−1∑k=0

Bkr0, x = x0 −A−1r0,

donc en faisant la difference, on obtient

e(k) =∞∑k=K

Bkr(0),

puis

‖ek‖ ≤ ‖r(0)‖∞∑k=K

‖B‖k =‖B‖k

1− ‖B‖‖r(0)‖.

Exercice 33

1. On a

3xk+1 + yk = 4, 2xk + 5yk+1 = 7.

2. 3x1 + 1/2 = 4, donc x1 = 7/6 et 1 + 5y1 = 7, donc y1 = 6/5. Le vecteur est doncx(1) = (7/6, 6/5).

3. On a

J =

(0 −1/3−2/5 0

)4. On calcule les valeurs propres. On trouve ±

√30

15 ' ±0.365. Donc la methode de Jacobiconverge. Remarquons que A est a diagonale strictement dominante, donc on savait deja quela methode converge.

Exercice 34

1.

J =

0 −α −α−α 0 −α−α −α 0

On remarque que J − αId est de rang 1, donc α est valeur propre double de J et la

derniere valeur propre est donc −2α, en regardant la trace. Le rayon spectral est donc 2|α|

Page 72: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

72 CHAPITRE 4. METHODES ITERATIVES

et la methode de Jacobi converge donc si |α| < 1/2. Notons que dans ce cas, la matrice est adiagonale strictement dominante, donc on savait deja que la methode de Jacobi converge.

2. On a J = (D − E)−1F = (Id− L)−1U , donc en notant a = α, on a

J =

0 −a −a

0 a2 a2 − a

0 −(a2 − a

)a −

(a2 − a

)a+ a2

avec

L =

0 0 0

−a 0 0

−a −a 0

U =

0 −a −a

0 0 −a

0 0 0

Les valeurs propres sont donnees par

0(−1/2 a2 + 3/2 a+ 1/2

√a4 − 6 a3 + 9 a2 − 4 a

)a(

−1/2 a2 + 3/2 a− 1/2√a4 − 6 a3 + 9 a2 − 4 a

)a

Or on a

a4 − 6 a3 + 9 a2 − 4 a = a(a− 4)(a− 1)2.

On a donc en fait : si a ∈ [0, 4]0(

−1/2 a2 + 3/2 a+ 1/2 i√

(a− 1)2a(4− a))a(

−1/2 a2 + 3/2 a− 1/2 i√

(a− 1)2a(4− a))a

et sinon

0(−1/2 a2 + 3/2 a+ 1/2

√(a− 1)2a(a− 4)

)a(

−1/2 a2 + 3/2 a− 1/2√

(a− 1)2a(a− 4))a

Le rayon spectral est donc donne par

max(∣∣∣(−a2 + 3a+

√(a− 1)2a(a− 4)

) a2

∣∣∣ , ∣∣∣(−a2 + 3a−√

(a− 1)2a(a− 4)) a

2

∣∣∣) ,pour a 6∈ [0, 4] et par∣∣∣(−a2 + 3a+ i

√(a− 1)2a(4− a)

) a2

∣∣∣ =

√((−a2 + 3a)2 + (a− 1)2a(4− a))

a2

4= |a|3/2.

Page 73: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

4.7. ELEMENTS DE CORRECTION 73

pour a ∈ [0, 4]. Dans le cas ou a ∈ [0, 4], la methode de Gauss-Seidel converge donc si a ∈ [0, 1[.Notons que si a = 1, la matrice n’est pas inversible.

Exercice 351. En reprenant l’Exercice 10, les valeurs propres de A sont 4 sin2( kπ

2(n+1)), pour k =

1, . . . , n. Or J = 12(2Id − A), donc les valeurs propres de J sont donc 1 − 2 sin2( kπ

2(n+1)). Le

rayon spectral est alors (comme la fonction sin est croissante sur [0, π/2])

ρ(J) = 1− 2 sin2

2(n+ 1)

).

On cherche maintenant les valeurs propres de L1 ; λ est valeur propre de L1, ssi

det(λId− (D − E)−1F ) = 0,

ou encoredet(λ(D − E)− F ) = 0

Si λ 6= 0, il existe un nombre z tel que z2 = λ ; on note ce nombre√λ. On considere alors la

matrice diagonale

S =

√λ 0 0 · · · 0

0√λ

20

. . ....

0. . .

. . .. . . 0

.... . . 0

√λn−1

0

0 · · · 0 0√λn

Pour les valeurs propres non nulles de L1, on a donc

det(S(λ(D − E)− F )S−1) = 0,

soit

λN/2 det(S(√λD −

√λE − 1√

λF )S−1) = 0.

Or la matrice

S(√λD −

√λE − 1√

λF )S−1,

a son terme de ligne i et de colonne j multiplie par√λi−j

; comme la matrice est tridiagonaleon a donc

S(√λD −

√λE − 1√

λF )S−1 =

√λD − E − F.

Les valeurs propres non nulles de L1 verifient donc

det(√λD − E − F ) = 0,

ou encoredet(√λId−D−1E −D−1F ) = 0,

donc les valeurs propres non nulles de L1 sont carrees des valeurs propres de J . Le rayonspectral de L1 vaut donc

ρ(L1) =

∣∣∣∣1− 2 sin2

2(n+ 1)

)∣∣∣∣2

Page 74: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

74 CHAPITRE 4. METHODES ITERATIVES

Maintenant dans le cas de Lω, les valeurs propres verifient

det(λId− (D − ωE)−1((1− ω)D + ωF )) = 0,

ou encore

det(λ(D − ωE)− ((1− ω)D + ωF )) = det((λ− 1 + ω)D − λωE − ωF ) = 0,

soit

det(λ− 1 + ω

ωD − λE − F ) = 0,

ou encore pour λ 6= 0 (ce qui est le cas, pour ω 6= 1),

det(λ− 1 + ω

ω√λ

D −√λE − 1√

λF ) = 0.

En reprenant la meme astuce que pour le cas de L1, on obtient donc

det(λ− 1 + ω

ω√λ

D − E − F ) = 0,

et donc λ est solution de

(λ− 1 + ω)2

ω2λ= (1− 2 sin2(

2(n+ 1)))2,

La plus grande des valeurs propres est obtenue pour λ proche de 1, donc si on ecrit λ = 1− ε,il existe k tel que

(1− ε

ω +O(ε2)√

1− ε)2 = (1− 2 sin2(

2(n+ 1)))2.

(1− ε

ω +O(ε2)

1− ε/2)2 = (1− 2 sin2(

2(n+ 1)))2.

(1− ε

ω+

1

2ε+O(ε2))2 = (1− 2 sin2(

2(n+ 1)))2.

Comme on cherche la plus grand valeur propre, on a donc k = 1 (au moins pour n assezgrand) et le rayon spectral verifie alors

(λ− 1 + ω)2

ω2λ= (1− 2 sin2(

π

2(n+ 1)))2.

Pour 0 < ω < 2 fixe, on a donc

(1− ε

ω+

1

2ε+O(ε2))2 = (1− 2 sin2(

π

2(n+ 1)))2 ' (1− π2

2n2)2.

(1

ω− 1

2)ε ' π2

2n2,

soit

q(1

n) ' π2

n2(2/ω − 1),

alors que pour Jacobi, on a

q(1

n) ' π2

2n2.

On remarque que plus ω est proche de 2 meilleure devient la convergence. On pourrait montrerqu’un choix optimal consiste a prendre ω dependant de n, de la forme 2 − A

n , ou A est uneconstante.

Page 75: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

4.8. SUJET CONTROLE TERMINAL 2009/2010 75

4.8 Sujet Controle Terminal 2009/2010

Exercice 36. Enoncer le theoreme de decomposition de Cholesky.

Exercice 37 (Resolution de systemes lineaires). Soit n ∈ N∗, n ≥ 2, a ∈ R et un entier psatisfaisant 1 < p ≤ n. On considere la matrice M de taille n× n definie par

Mi,i = 1, i = 1, . . . , n, Mi+1,i = 1, i = 1, . . . , n− 1, M1,p = 1/2,

et Mi,j = 0, sinon. 1. On prend n = 3, p = 2 puis p = 3. Donner la decomposition LU pources deux cas.2. De maniere generale, justifier que M admet une decomposition LU . Donner le nombre determes non nuls de L et U en fonction de n et p. Pour quelle valeur de p ce nombre est-ilminimal ? Pour quelle valeur est-il maximal ?

Exercice 38. Soit A ∈M3 la matrice definie par A = Id− E − F , avec

E = −

0 2 01 0 00 0 0

et F = −

0 0 00 0 01 1 0

1. Montrer que la matrice A est inversible.

2. Soit 0 < ω < 2. Montrer que la matrice(

1ω Id− E

)est inversible si et seulement si

ω 6=√

22 .

3. On suppose que 0 < ω < 2 et ω 6=√

22 . On desire resoudre le systeme Ax = b grace a la

methode iterative suivante :(1

ωId− E

)xk+1 =

(F +

1− ωω

Id

)xk + b.

On pose B = Lω =(

1ω Id− E

)−1 (F + 1−ω

ω Id). Calculer, en fonction de ω, les valeurs

propres de Lω, de meme que son rayon spectral.

4. pour quelles valeurs de ω la methode est-elle convergente ?

5. Determiner ω0 ∈]0, 2[ tel que

ρ(Lω0) = min{ρ(Lω), 0 < ω < 2 et ω 6=√

2

2}.

En quoi la connaissance de ω0 peut-etre utile ?

Exercice 39 (Equations differentielles). Soit a > 0 et T > 0. On definit l’equation differentielle

y′(t) + ay2(t) = 0, t ∈ [0, T ], y(0) = 1.

1. Chercher une solution a cette equation differentielle sous la forme 1/(αt + β), ou l’ondeterminera les constantes α et β. Quelle est la limite de y(t) lorsque t→∞ ?2. Ecrire le schema d’Euler explicite. On notera ∆t le pas de temps suppose constant et unles valeurs approchees de y(n∆t) par la methode d’Euler. A quelle condition sur ∆t, la suite

Page 76: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

76 CHAPITRE 4. METHODES ITERATIVES

un tend-elle vers 0 ?3. On considere a present le schema de resolution

vn+1 = vn − a∆t

(vn+1 + vn

2

)2

, v0 = 1.

Parmi les deux solutions possibles pour vn+1, laquelle faut-il choisir ? pourquoi ? Calculer alorsvn+1 en fonction de vn, a et ∆t. A quelle condition sur ∆t la suite vn tend-elle vers 0 ?4. Determiner l’ordre du schema vn.

Exercice 40. On considere la methode d’integration numerique suivante∫ 1

−1f(t)dt ' Af(0) +Bf ′′(0).

1) Determiner A et B pour que la methode soit exacte pour des polynomes de degre ≤ 2.2) Quel est le degre maximal des polynomes pour lesquels la formule est exacte ?3) On admettra qu’il existe une constante C telle que pour toute fonction f suffisammentderivable sur [−1, 1], il existe ξ ∈]− 1, 1[ tel que∫ 1

−1f(t)dt = Af(0) +Bf ′′(0) + Cf (4)(ξ).

Determiner la constante C.

Page 77: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

Chapitre 5

Resolution numerique d’equationsdifferentielles ordinaires

Une equation differentielle est une equation qui implique une ou plusieurs derivees d’unefonction inconnue. Si toutes les derivees ne sont que par rapport a une seul variable independante,on a une equation differentielle ordinaire (EDO), tandis que l’on a une equation aux deriveespartielles (EDP), quand sont presentes des derivees par rapport a plusieurs variables independantes.L’equation differentielle (ordinaire ou aux derivees partielles) est d’ordre p, si p est l’ordremaximal des derivees presentes.On s’interesse dans ce chapitre aux equations differentielles ordinaires (EDO) d’ordre 1. Enanglais, on dit ODE (Ordinary Differential equations) et PDE (Partial Differential Equations).

5.1 Quelques problemes

Les equations differentielles ordinaires permettent de decrire de nombreux phenomenesdans des domaines tres varies.

5.1.1 Thermodynamique

Considerons un corps de temperature interne T dans un milieu ambiant de temperatureconstante Te. Alors le transfert de chaleur entre le corps et le milieu ambiant peut etre decritpar la loi de Stefan-Boltzmann

v(t) = εγS(T 4(t)− T 4e ),

ou t est la variable temporelle, ε est la constante de Boltzmann (egal a 5.6 · 10−8J/m2K4s,ou J est pour Joule, K pour Kelvin et bien sur m pour metre et s pour seconde), γ est laconstante d’emissivite du corps, S la superficie du corps et v le taux de transfert de chaleur.Le taux de variation de l’energie E(t) = mCT (t) (ou C est la chaleur specifique au materiauconstituant le corps) est egal en valeur absolue a ce taux. Donc, en ecrivant T (0) = T0, lecalcul de T (t) necessite la solution de l’equation differentielle ordinaire

T ′(t) = −v(t)

mC. (5.1)

77

Page 78: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

78CHAPITRE 5. RESOLUTION NUMERIQUE D’EQUATIONS DIFFERENTIELLES ORDINAIRES

5.1.2 Dynamique des populations

Considerons une population de bacteries dans un environnement confine dans lequel il nepeut y avoir plus que B elements. Supposons qu’a l’instant initial, le nombre de bacteries estegal a y0 << B et que le taux d’accroissement est une constante C > 0. Dans ce cas, le tauxde changement de la population est proportionnel au nombre de bacteries existantes, sous larestriction que ce nombre ne peut exceder B. Cela s’exprime par lequation differentielle

y′(t) = Cy(1− y

B), (5.2)

ou la solution y = y(t) designe le nombre de bacteries a l’instant t.Supposons que 2 populations y1 et y2 soient en competition. A la place de (5.2), on aura{

y′1(t) = C1y1(t)(1− b1y1 − d2y2)y′2(t) = C2y1(t)(1− b2y2 − d1y1)

, (5.3)

ou C1, C2 representent les taux de croissance des deux populations, les coefficients d1, d2

definissent les interactions entre les deux especes et b1, b2 sont lies a la quantite de nourrituredisponible.

5.1.3 Le probleme du pendule

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

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

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

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

5.2 Le probleme de Cauchy

On considere des equations differentielles d’ordre 1, comme une equation d’ordre p > 1peut toujours etre reduite en un systeme de p equations d’ordre 1. Le cas de systemes dupremier ordre sera traite plus tard.Une equation differentielle ordinaire admet en general une infinite de solutions. Afin de fixerl’une d’entre elles, il faut imposer une condition supplementaire qui decrit la valeur en unpoint donne de l’intervalle.Par exemple, l’equation (5.2) admet une famille de solutions

y(t) = Bψ(t)/(1 + ψ(t)),

avec ψ(t) = exp(Ct+K), ou K est une constante arbitraire. Si on impose y(0) = 1, on prendl’unique solution correspondant a la valeur K = ln(1/(B − 1)).

Page 79: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

5.2. LE PROBLEME DE CAUCHY 79

5.2.1 Definition

On considere donc le probleme de Cauchy : trouver y ∈ C1(I) satisfaisant

y′(t) = f(t, y(t)), y(t0) = y0. (5.4)

On rappelle alors un resultat classique d’analyse :

Proposition 16. Supposons que la fonction f(t, y) soit1. continue par rapport a ses 2 arguments2. Lispchitz-continue par rapport a son second argument, c’est-a-dire qu’il existe une constanteL > 0 telle que

|f(t, y1)− f(t, y2)| ≤ L|y1 − y2|, ∀t ∈ I, ∀y1, y2 ∈ R.

Alors la solution y du probleme de Cauchy existe et est unique. Elle sastifait de plus

y(t)− y0 =

∫ t

t0

f(τ, y(τ))dτ. (5.5)

Si f ne depend pas de t, on dit que l’equation est autonome.

5.2.2 Problematique des solutions numeriques

Malheureusement, des solutions explicites ne sont disponibles que pour certains types tresspeciaux d’equations differentielles. Dans certains autres cas, la solution n’est disponible quesous forme implicite. C’est par exemple le cas pour l’equation y′ = (y − t)/(y + t), dont lessolutions satisfont la relation implicite

1

2ln(t2 + y2) + arctg(

y

t) = C.

Dans d’autres circonstances, la solution n’est meme pas representable sous forme implicite,comme c’est le cas pour l’equation y′ = exp(−t2), dont la solution generale ne peut qu’etreexprimee sous forme de serie.Pour ces raisons, on cherche a approcher la solution de toute famille d’equation differentielleordinaire pour laquelle il existe des solutions.La strategie commune de toutes ces methodes consiste a subdiviser l’intervalle I = [t0, T ], avecT <∞, en Nh intervalles de longueur h = (T − t0)/Nh ; h est appele le pas de discretisation.Ensuite, en chaque noeud tn(0,≤ n ≤ Nh), on cherche une valeur inconnue un qui approcheyn = y(tn). L’ensemble des valeurs {u0 = y0, u1, . . . , uNh} est notre solution numerique.

5.2.3 Solution locale

Il se peut que les conditions de regularite donnee dans la Proposition 16 ne soit satis-faisantes que dans un voisinage d’un point considere. Si f(t, y) est localement Lipschitz en(t0, y0) par rapport a y : il existe L > 0

|f(t, y1)− f(t, y2)| ≤ L|y1 − y2|,∀t ∈ J ⊂ I, ∀y1, y2 ∈ Σ,

avec Σ un voisinage de y0 de rayon rΣ et J un voisinage de t0 de rayon rJ , alors le problemede Cauchy admet une unique solution dans un voisinage de t0, de rayon r0 satisfaisant

0 < r0 < min(rJ , rΣ/M, 1/L),M = supJ×Σ|f(t, y)|.

Page 80: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

80CHAPITRE 5. RESOLUTION NUMERIQUE D’EQUATIONS DIFFERENTIELLES ORDINAIRES

Cette solution est appelee solution locale.Notons que si f a une derivee continue par rapport a y, cette condition est satisfaite, il suffitde prendre

L = maxJ×Σ|∂yf(t, y)|.

Le probleme de Cauchy admet une unique solution globale, si l’on peut prendre J = I etΣ = R, c’est-a-dire, si f est uniformement Lipschitz par rapport a y (et on retrouve le cadrede la Proposition 16).

5.3 Premiers exemples : les methodes d’Euler

Une methode classique, la methode d’Euler progressive genere la solution numerique ainsi :

un+1 = un + hfn, n = 0, . . . , Nh − 1,

ou l’on a utilise la notation fn = f(tn, un). Cette methode s’interprete en prenant l’approxi-

mation y′(tn) ≈ y(tn+1)−y(tn)h .

On definit de maniere similaire la methode d’Euler retrograde par

un+1 = un + hfn+1, n = 0, . . . , Nh − 1,

en prenant cette fois-ci l’approximation y′(tn+1) ≈ y(tn+1)−y(tn)h .

Ces deux methodes sont des exemples de methodes a un pas : pour calculer la solution aupoint tn+1, on n’a besoin de connaıtre l’information qu’au temps tn. Plus precisement dansle cas de la methode d’Euler progressive, on n’a besoin que de un pour calculer un+1 ; dans lecas de la methode d’Euler retrograde, un+1 depend aussi de lui-meme par l’intermediaire defn+1. Ainsi, on appelle la premiere methode, methode d’Euler explicite, tandis que la deuxiemes’appelle methode d’Euler implicite.Par exemple, la discretisation de (5.2) par la methode d’Euler explicite donne

un+1 = un + hCun(1− un/B),

tandis que pour la methode d’Euler implicite on doit resoudre l’equation non lineaire

un+1 = un + hCun+1(1− un+1/B).

Ainsi, les methodes implicites sont plus couteuses, mais nous verrons qu’elles peuvent avoirde meilleures proprietes de stabilite.

5.4 Integration numerique

En integrant l’equation differentielle (5.14), on obtient

y(tn+1)− y(tn) =

∫ tn+1

tn

f(t, y(t))dt.

Supposons que f ne depende pas de la deuxieme variable. Dans ce cas on se ramene au calculd’une integrale :

y(t) =

∫ t

t0

f(s)ds+ y(t0).

Page 81: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

5.4. INTEGRATION NUMERIQUE 81

On va donc presenter ici quelques concepts relatifs a l’integration numerique. Soient a < b, 2reels et f : [a, b] → R, une fonction. On cherche a trouver une approximation numerique de∫ ba f(x)dx.

5.4.1 Principe

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

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

5.4.2 Formule de quadrature

On fait l’approximation ∫ b

af(x)dx '

n∑i=0

ωif(xi). (5.6)

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

5.4.3 Intervalle

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

af(y)dy =

b− a2

∫ 1

−1f(a+ (x+ 1)

b− a2

)dx ' b− a2

n∑i=0

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

2).

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

5.4.4 Formules composites

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

af(x)dx =

N−1∑i=0

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

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

5.4.5 Formules de Newton-Cotes

La formule de Newton-Cotes a n+ 1 points correspond a utiliser la formule de quadratureavec les points equidistants −1 + 2i/n, i = 0, . . . , n, en choisissant les poids ωi de telle sorte

Page 82: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

82CHAPITRE 5. RESOLUTION NUMERIQUE D’EQUATIONS DIFFERENTIELLES ORDINAIRES

que la formule (5.6) soit exacte pour tous les polynomes de degre ≤ n. On obtient alors lesresultats suivants pour les valeurs de n allant de zero a 9.

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

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

745f (1) + 32

45f (1/2) + 4

15f (0) + 7

45f (−1) + 32

45f (−1/2)

19144

f (−1) + 2572f (1/5) + 25

48f (−3/5) + 19

144f (1) + 25

48f (3/5) + 25

72f (−1/5)

41420

f (−1) + 41420

f (1) + 68105

f (0) + 9140

f (−1/3) + 9140

f (1/3) + 1835f (−2/3) + 18

35f (2/3)

7518640

f (−1) + 7518640

f (1) + 35778640

f (−5/7) + 49320

f (−3/7) + 29898640

f (−1/7) + 29898640

f (1/7) + 49320

f (3/7) + 35778640

f (5/7)989

14175f (−1) + 989

14175f (1)− 908

2835f (0)− 928

14175f (−1/2)− 928

14175f (1/2) + 5888

14175f (−3/4) + 10496

14175f (−1/4) + 10496

14175f (1/4) + 5888

14175f (3/4)

285744800

f (−1) + 285744800

f (1) + 12092800

f (−1/3) + 12092800

f (1/3) + 288922400

f (1/9) + 271120

f (5/9) + 271120

f (−5/9) + 288922400

f (−1/9) + 1574144800

f(− 7

9

)+ 15741

44800f(

79

)

Les premieres formules s’appellent formules des rectangles (gauche), des trapezes, de Simpson,Simpson 3/8, Boole. On se rend compte que pour n = 8 et n ≥ 10, il y a des poids negatifs,et la valeur absolue de ses poids devient de plus en plus grande, ce qui rend les formulesinutilisables a cause des erreurs d’arrondi.

5.4.6 Degre de precision

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

Sous certaines conditions, l’erreur de quadrature s’ecrit alors sous la forme∫ 1

−1f(x)dx−

p∑i=0

ωif(xi) = Cpf(p+1)(ξ), Cp 6= 0. (5.7)

pour une formule de quadrature d’ordre p.

5.4.7 Formules de Gauss

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

∫ 1−1

∏ni=0(x − xi)2dx 6= 0, on en

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

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

•Le cas n = 1. On doit avoir∫ 1

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

∫ 1

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

De la deuxieme equation, on obtient x1 = −x0 et on a donc∫ 1

0 x2dx = x2

0, ce qui donne

x0 = −1/√

3 et x1 = 1/√

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

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

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

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

Page 83: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

5.5. SCHEMAS A UN PAS EXPLICITES 83

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

√3/5.

•Le cas n = k. On cherche un polynome Pk =∏ki=0(x− xi) de degre k + 1 ayant toutes ses

racines dans l’intervalle [−1, 1] et tel que∫ 1

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

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

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

∫ 1

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

On obtient alors

ak =

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

et bk =

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

−1 Pk−2(t)2dt.

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

∏ji=0(t−ai)

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

∫ 1−1Qk

∏ji=0(t−ai)2dt = 0, ce qui est impossible. Donc on a bien k+1 racines distinctes

de Pk dans l’intervalle [−1, 1].Notons aussi que les poids sont cette fois-ci positifs. En effet, en prenant `j(t) =

∏ki=0,i 6=j

t−xixj−xi ,

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

2dt = ωj .

5.5 Schemas a un pas explicites

On considere ici des schemas a un pas explicites.

Definition 16. On dit qu’une methode numerique est a un pas, si pour tout n ∈ N, un+1

ne depend que de un. Autrement, on dit que le schema est une methode multi-pas (ou a pasmultiples).

Definition 17. Une methode est dite explicite si la valeur un+1 peut etre calculee directementa l’aide des valeurs precedentes uk, k ≤ n (ou d’une partie d’entre elles). Une methode estdite implicite, si un+1 n’est defini que par une relation implicite faisant intervenir la fonctionf .

Le schema d’Euler expliciteOn ecrit

y(tn+1)− y(tn) =

∫ tn+1

tn

f(s, y(s))ds.

On utilise alors la formule des rectangles gauche pour approcher l’integrale :∫ tn+1

tn

f(s, y(s))ds ' hf(tn, y(tn)).

Page 84: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

84CHAPITRE 5. RESOLUTION NUMERIQUE D’EQUATIONS DIFFERENTIELLES ORDINAIRES

On retrouve alors le schema d’Euler explicite precedemment introduit.Schema de Runge expliciteUne autre maniere de faire est d’utiliser la formule du point milieu. On a alors∫ tn+1

tn

f(s, y(s))ds ' hf(tn + h/2, y(tn + h/2)).

On remarque alors que l’on a besoin d’une approximation de y(tn+h/2) que l’on peut obtenirjustement avec le schema d’Euler explicite precedent :

y(tn + h/2) ' y(tn) + h/2f(tn, y(tn)).

Le schema s’ecrit alors

k1 = f(tn, un), k2 = f(tn + h/2, un + (h/2)k1), un+1 = un + hk2.

On peut ecrire

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

Dans le cas ou l’on utilise la formule des trapezes a la place du point milieu, on appelle cettemethode la methode de Heun.

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

k1 = f(tn, un), k2 = f(tn + c2h, un + ha2,1k1), . . . , ks = f(tn + csh, un + h(as,1k1 + . . . as,s−1ks)),

un+1 = un + h(b1k1 + . . . bsks).

On represente habituellement la methode par l’ecriture matricielle

0|c2|a2,1

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

|b1, . . . , bs.

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

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

ki = f(tn + cih, u(tn + cih)) +O(h2).

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

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

1|0 0 1

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

Page 85: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

5.6. CONSISTANCE, STABILITE ET CONVERGENCE 85

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

u0 = y(t0), un+1 = un + hφ(tn, un, h). (5.8)

φ est une fonction de R+ × Rd × R+ a valeurs dans Rd et est appelee fonction d’increment.L’algorithme sera alors satisfaisant lorsque l’erreur en = |un − y(tn)| converge vers 0 pourn = 0, . . . , N lorsque le pas de temps h tend vers 0. Pour cela, nous allons introduire plusieursnotions : la consistance et la stabilite qui conduiront ensuite a la convergence de l’approxi-mation vers la solution exacte.

5.6 Consistance, stabilite et convergence

Pour simplifier les notations, on prendra t0 = 0. On utilisera aussi la notation ∆t = h = T/N .On definit l’erreur

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

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

limN→∞

maxn=0,...,N

‖en(∆t)‖ = 0.

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

maxn=0,...,N

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

Erreur de consistanceEn posant yn = y(tn), on a

yn+1 = yn + ∆tφ(tn, yn,∆t) + εn+1, n = 0, . . . , N − 1,

ou εn+1 est le residu obtenu au temps tn+1, lorsque l’on insere la solution exacte au temps tndans le schema numerique.Ecrivons le residu sous la forme

εn+1 = ∆tτn+1(∆t).

La quantite τn+1(∆t) est appelee erreur de troncature locale (ETL) au noeud tn+1. L’erreurde troncature globale est alors donnee par

τ(∆t) = max0≤n≤N−1

‖τn+1(∆t)‖.

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

lim∆t→0

τ(∆t) = 0,

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

τ(∆t) ≤ C∆tp,

pour tout t ≥ 0 et toute solution u.

Page 86: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

86CHAPITRE 5. RESOLUTION NUMERIQUE D’EQUATIONS DIFFERENTIELLES ORDINAIRES

On a alors

Proposition 17. (Caracterisation de la consistance) Si la fonction φ ∈ C(R+ × Rd ×R+,Rd) et si

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

alors le schema est consistant.

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

τn+1(∆t) =1

∆t

∫ tn+1

tn

(φ(s, y(s), 0)− φ(tn, y(tn),∆t))ds,

et donc τ(∆t) tend vers 0 lorsque ∆t tend vers 0.

On a le theoreme suivant

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

τ(∆t) ≤ C∆tp.

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

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

Alors la solution est convergente et on a l’estimation

‖en(∆t)‖ ≤ C

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

Demonstration. On a

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

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

On a alors

en+1 +C∆tp

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

C∆tp

Γ)

On va maintenant voir a quelles conditions une methode a un pas est d’ordre p. Unemethode a un pas etant definie par la formule

xn+1 = xn + hnΦ(tn, xn, hn),

l’erreur locale pour une methode a un pas est

en+1 = x(tn+1, xn, tn)− xn − hnΦ(tn, xn, hn),

= x(tn+1;xn, tn)− x(tn;xn, tn)− hnΦ(tn, xn, hn).

Page 87: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

5.6. CONSISTANCE, STABILITE ET CONVERGENCE 87

Si on suppose que Φ et f sont de classe Cp, alors comme x verifie x′ = f(t, x) x est de classeCp+1 et en ecrivant un developpement de Taylor de t 7→ x(t;xn, tn) et de h 7→ Φ(tn, xn, h),l’erreur devient

en+1 = hndx

dt(tn;xn, tn)+· · ·+hpn

p!

dpx

dtp(tn;xn, tn)−hn(Φ(tn, xn, 0)+· · ·+ hp−1

n

(p− 1)!

∂p−1Φ

∂hp−1)+O(hp+1

n ).

D’autre part, comme dxdt (t) = f(t, x(t)), on a dpx

dtp (t) = f [p−1](t, x(t)), ou l’on note f [j](t, x(t)) =dj

dtjf(t, x(t)). Avec cette notation, en identifiant les termes de meme puissance en hn, on en

deduit

Proposition 18. Une methode a un pas caracterise par la fonction Φ est d’ordre au moinsegal a p si et seulement si

∂j−1Φ

∂hj−1=

1

jf [j−1](tn, xn), pour 1 ≤ j ≤ p.

Corollaire 10. Une methode a un pas caracterise par la fonction Φ est d’ordre au moins egala 1 si et seulement si

Φ(tn, xn, 0) = f(tn, xn)

Demonstration. On applique la proposition precedente avec p = 1.

On en deduit immediatement que la methode d’Euler est d’ordre 1 et que la methoded’Euler est la seule methode a un pas et a un etage d’ordre 1.

Corollaire 11. Une methode a un pas caracterise par la fonction Φ est d’ordre au moins egala 2 si et seulement si

Φ(tn, xn, 0) = f(tn, xn), et∂Φ

∂h(tn, xn, 0) =

1

2

[∂f∂t

(tn, xn) + dxf(tn, xn)(f(tn, xn)].

Demonstration. On applique la proposition precedente avec p = 2. Dans ce cas

f [1](t, x) =d

dtf(t, x(t)) =

∂f

∂t(t, x(t))+dxf(t, x(t))(

dx

dt) =

∂f

∂t(t, x(t))+dxf(t, x(t))(f(t, x(t)),

ou dxf(t, x)(y) =∑n

j=1 yj∂f∂xj

(t, x).

Constructions de methode de Runge-Kutta d’ordre 2. La fonction Φ pour unemethode a s etages est definie par

Φ(tn, xn, hn) = b1k1 + · · ·+ bsks

= b1f(tn, xn) + · · ·+ bsf(tn + cshn, xn + hnas1f(tn, xn) + · · ·+ as,1−1f(tn, xn)).

Donc

Φ(tn, xn, 0) = (b1 + · · ·+ bs)f(tn, xn).

Page 88: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

88CHAPITRE 5. RESOLUTION NUMERIQUE D’EQUATIONS DIFFERENTIELLES ORDINAIRES

La condition d’ordre 1 entraıne donc que b1 + · · · + bs = 1. Pour l’ordre 2, il faut egalementcalculer ∂Φ

∂h (tn, xn, 0). Or on a

∂Φ

∂h(tn, xn, h) =

s∑i=1

bi∂ki∂h

(tn, xn, h),

=s∑i=1

bi[ci∂f

∂t(tn + cihi, xn + hn(ai,1k1 + · · ·+ ai,i−1ki−1))

+ dxf(tn + cihi, xn + hn(ai,1k1 + · · ·+ ai,i−1ki−1))(ai,1k1 + . . . ai,i−1ki−1).

Or, on a pour tout i ki(tn, xn, 0) = f(tn, xn) et∑i−1

j=1 ai,j = ci. Il en resulte que

∂Φ

∂h(tn, xn, 0) =

s∑i=1

bici(∂f

∂t(tn, xn) + dxf(tn, xn)(f(tn, xn))).

Et donc en utilisant la condition d’ordre 2

∂Φ

∂h(tn, xn, 0) =

1

2[∂f

∂t(tn, xn) + dxf(tn, xn)(f(tn, xn)],

il vient∑s

i=1 bici = 12 .

On peut verifier que les conditions d’ordre 2 sont verifiees pour les methodes de Runge etd’Euler amelioriee. Pour la premiere methode, on a c2 = 1

2 , b1 = 0 et b2 = 1. On a donc bienb1 + b2 = 1 et b1c1 + b2c2 = 1

2 . Pour la premiere methode, on a c2 = 1, b1 = 12 et b2 = 1

2 . Ona donc egalement b1 + b2 = 1 et b1c1 + b2c2 = 1

2 .

Notons que si on se restreint aux methodes a deux etages d’ordre 2. Le seul terme de Anon nul est a21 qui est forcement egal a c2 et c1 est toujours nul. Les seules inconnues de lamethode de Runge-Kutta sont donc b1, b2 et c1 qui verifient les relations

b1 + b2 = 1

b2c2 =1

2

Ainsi pour avoir une methode de Runge-Kutta a deux etages d’ordre 2, on peut choisir c2 = θnon nul quelconque, puis il en decoule b2 = 1

2θ et b1 = 1 − 12θ . Le tableau de Butcher pour

une methode d’ordre 2 a 2 etages generale s’ecrit donc

0θ θ

1− 12θ

12θ

Remarque 5. On peut faire les memes calculs pour obtenir des ordres plus eleves, mais ildeviennent de plus en plus compliques. En ajoutant plus d’etages, on obtient plus de degres deliberte pour atteindre un ordre donne. Mais plus il y a d’etages, plus il faut faire d’evaluationsde fonctions et donc plus la methode est couteuse. Le nombre minimal d’etages pour atteindrel’ordre p est p et il existe des methodes de Runge-Kutta d’ordre p a p etages seulement pourp ≤ 4. C’est la raison pour laquelle la methode a un pas la plus utilisee en pratique est la

Page 89: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

5.7. SCHEMAS IMPLICITES 89

methode d’ordre 4 qui est souvent appelee La methode de Runge-Kutta (ou RK4) et qui a pourtableau de Butcher

012

12

12 0 1

21 0 0 1

16

13

13

16

5.7 Schemas implicites

Le schema d’Euler impliciteOn ecrit a nouveau

y(tn+1)− y(tn) =

∫ tn+1

tnf(s, y(s))ds.

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

tnf(s, y(s))ds ' ∆tf(tn+1, y(tn+1)).

On retrouve alors le schema d’Euler implicite

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

Theoreme 27. Si f : R+×Rd → Rd est une fonction continue et Lipschitzienne en x ∈ Rd,i. e., il existe L > 0 tel que pour tout (x, y) ∈ Rd

‖f(t, y)− f(t, x)‖ ≤ L‖x− y‖,

alors il existe une unique solution un+1 satisfaisant

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

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

Lemme 8. (Admis) Soit g : Rd → Rd une fonction satisfaisant

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

avec un nombre 0 < L < 1, alors g admet un unique point fixe, i. e., il existe un unique` ∈ Rd tel que g(`) = `.

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

un+1 = un +∆t

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

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

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

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

cs|as,1, . . . , as,s|b1, . . . , bs.

Page 90: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

90CHAPITRE 5. RESOLUTION NUMERIQUE D’EQUATIONS DIFFERENTIELLES ORDINAIRES

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

c1|a1,1

c2|a2,1, a2,2

cs|as,1, . . . , as,s|b1, . . . , bs.

5.8 Stabilite absolue

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

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

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

Definition 20. Une methode approchant le probleme (5.9) est absolument stable si

‖un‖ → 0, lorsque tn →∞. (5.10)

La region de stabilite est alors definie par

A = {z = hλ : (5.10) est verifie}

Enfin une methode est dite A-stable ou inconditionnellement stable si pour tout λ tel que<(λ) < 0 on a (5.10).

On remarque que les methodes implicites d’Euler et de Crank Nicholson sont A-stables,alors que les methodes explicites ne sont pas A-stables. De maniere generale, les methodesexplicites ne sont pas A-stables ; cela justifie donc l’utilisation de methodes implicites. Parcontre, certaines methodes implicites peuvent etre instables ou seulement conditionnellementstables (i.e. stables mais non A-stables).

5.9 Methodes multi-pas

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

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

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

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

Schema saute-mouton (leap-frog)

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

Page 91: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

5.10. METHODES MULTI-PAS (COMPLEMENT) 91

Methode de Simpson

un+1 = un−1 +∆t

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

Schema d’ordre 2 d’Adams-Balsforth

un+1 = un−1 +∆t

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

Schemas predicteurs-correcteursSupposons u0 et u1 donnes. On peut alors predire par une formule explicite une premiereapproximation un,0, n = 1, . . . , N − 1

un+1,0 = un +∆t

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

On fait ensuite une deuxieme etape de correction

un+1,k+1 = un +∆t

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

avec k = 0, . . . ,K, le nombre d’iterations K est choisi suffisament grand pour que la suiteun+1,k ne varie plus beaucoup par rapport a k.

5.10 Methodes multi-pas (complement)

On va dans cette section construire des methodes numeriques qui calculent l’approximationxn+1 en fonction des approximations en plusieurs temps differents et pas seulement de xn.Ces methodes sont plus anciennes que les methodes de Runge-Kutta. Elles ont ete introduitespar Adams dans les annees 1850.

5.10.1 Methode d’Adams explicite

On se donne une subdivision t0 < t1 < · · · < tN = tf de l’intervalle de temps sur lequelon veut resoudre l’equation differentielle. Comme pour les methodes a un pas, on commencepar integrer l’equation entre tn et tn+1, ce qui donne

x(tn+1) = x(tn) +

∫ tn+1

tn

f(t, x(t)) dt.

Pour une methode a k pas, on introduit alors pk−1(t) le polynome d’interpolation de La-grange de degre k − 1 aux points (tn−k+1, f(tn−k+1, xn−k+1)), . . . , (tn, f(tn, xn)) et on rem-place f(t, x(t)) dans l’integrale par ce polynome d’interpolation pk−1(t). La methode d’Adamsexplicite consiste donc a definir

xn+1 = xn +

∫ tn+1

tn

pk−1(t) dt.

Page 92: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

92CHAPITRE 5. RESOLUTION NUMERIQUE D’EQUATIONS DIFFERENTIELLES ORDINAIRES

Exemples

1. Methode d’Adams explicite a un pas.Dans ce cas p0(t) est le polynome d’interpolation de degre 0 de (tn, xn) qui vaut p0(t) =f(tn, xn). La methode d’Adams explicite a un pas s’ecrit donc

xn+1 = xn + (tn+1 − tn)f(tn, xn),

ce qui correspond a la methode d’Euler explicite.

2. Methode d’Adams explicite a deux pas. On definit dans ce cas le polynome de degre 1p1(t) tel que p1(tn−1) = f(tn−1, xn−1) et p1(tn) = f(tn, xn. On obtient alors

p1(t) =tn − t

tn − tn−1f(tn−1, xn−1) +

t− tn−1

tn − tn−1f(tn, xn).

En integrant on obtient la methode d’Adams explicite a deux pas

xn+1 = xn −(tn+1 − tn)2

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

((tn+1 − tn−1)2

2(tn − tn−1)− 1

2(tn − tn−1)

)f(tn, xn).

Dans le cas d’un pas constant h cette methode devient

xn+1 = xn + h(3

2f(tn, xn)− 1

2f(tn−1, xn−1)).

3. Methode d’Adams explicite a trois pas. Dans le cas d’un pas h constant cette methodes’ecrit

xn+1 = xn + h(23

12f(tn, xn)− 16

12f(tn−1, xn−1) +

5

12f(tn−2, xn−2)).

Notons qu’il faut une technique differente pour initialiser une methode multi-pas, qui est unerecurrence portant sur plusieurs termes alors qu’on n’a qu’une condition initiale.

5.10.2 Methode d’Adams implicite

Dans la methode d’Adams explicite on utilise le polynome d’interpolation hors de l’in-tervale [tn−k+1, tn] sur lequel il est construit, ce qui peut entraıner des erreurs importantes.D’ou l’idee pour ameliorer la methode de definir le polynome d’interpolation pk−1 egalementa partir de la valeur encore inconnue xn+1. Ainsi on definit pk−1(t) comme etant le polynomed’interpolation de degre k aux points (tn−k+1, f(tn−k+1, xn−k+1)), . . . , (tn+1, f(tn+1, xn+1)).On obtient dans ce cas pour un pas h constant

1. Methode d’Adams implicite a un pas

xn+1 = xn + hf(tn+1, xn+1).

C’est la methode d’Euler implicite.

2. Methode d’Adams implicite a deux pas

xn+1 = xn + h(1

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

2f(tn, xn)).

Page 93: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

5.11. METHODES GEOMETRIQUES POUR LES EDO HAMILTONIENNES 93

3. Methode d’Adams implicite a trois pas

xn+1 = xn + h(5

12f(tn+1, xn+1) +

8

12f(tn, xn)− 1

12f(tn−1, xn−1)).

L’inconvenient de la methode d’Adams implicite (et des methodes implicites en general) estque la formule donnant xn+1 depend de f(tn+1, xn+1). Elle s’ecrit sous la forme

xn+1 = λn + hβf(tn+1, xn+1). (5.11)

L’inconnue xn+1 est donc la solution d’une equation fonctionnelle non lineaire dans le casgeneral qu’on doit resoudre par une methode de type Newton.

5.10.3 Methode predicteur correcteur

Plutot que de resoudre directement l’equation fonctionnelle (5.11) a laquelle on abou-tit dans la methode d’Adams implicite, on prefere souvent utiliser des methodes du typepredicteur-correcteur qui consistent a predire une valeur de xn+1 par une methode explicite,puis a corriger une ou plusieurs fois cette valeur en utilisant la formule (5.11) ou l’on met lavaleur predite dans le membre de droite.

5.11 Methodes geometriques pour les EDO hamiltoniennes

On considere dans cette section un type particulier d’equations differentielles qui a cer-taines proprietes que l’on souhaite conserver au niveau numerique.

Definition 22. On appelle systeme Hamiltonien un systeme d’equations differentielles sousla forme

p′ = −Hq, q′ =

H

p(5.12)

ou H est une fonction de R2n → R appelee Hamiltonien. On dit que le Hamiltonien estseparable si H(p, q) = T (p) + U(q). Dans ce cas le systeme (5.12) devient

p′ = −∇U(q), q′ = ∇T (p). (5.13)

Definition 23. On appelle flot du systeme Hamiltonien, l’application φt : (p0, q0) 7→ (p(t), q(t)).

Proposition 19. Le flot φt d’un systeme Hamiltonien preserve l’aire et l’energie :

– Aire(φt(A)) = Aire(A) pour tout t.– H(p(t), q(t)) = H(p0, q0) pour tout t.

La preservation de l’aire et de l’energie sont des proprietes geometriques qu’il est importantde preserver pour des calculs sur des temps tres longs. On va donc developper des methodesnumeriques specifiques dans l’objectif de preserver de maniere exacte ces invariants. Cesmethodes sont appelees symplectiques. Les deux plus simples d’entre elles sont la methoded’Euler symplectique d’ordre 1 et la methode de Verlet d’ordre 2, qui ont chacune deuxvariantes.

Page 94: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

94CHAPITRE 5. RESOLUTION NUMERIQUE D’EQUATIONS DIFFERENTIELLES ORDINAIRES

La methode d’Euler symplectique

pn+1 = pn − h∇U(qn), qn+1 = qn + h∇T (pn+1),

ouqn+1 = qn + h∇T (pn), pn+1 = pn − h∇U(qn+1).

Le fait que le Hamiltonien soit separable rend ces methodes explicites.

La methode de Verlet

pn+1/2 = pn −h

2∇U(qn), qn+1 = qn + h∇T (pn+1/2), pn+1 = pn+1/2 −

h

2∇U(qn+1),

ou

qn+1/2 = qn +h

2∇T (pn), pn+1 = pn − h∇U(qn+1/2), qn+1 = qn+1/2 +

h

2∇T (pn+1).

La encore, le fait que le Hamiltonien soit separable rend ces methodes explicites.

Page 95: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

5.12. EXERCICES 95

5.12 Exercices

Exercice 41. Mettre l’equation du pendule

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

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

sous la forme (5.14)u′(t) = f(t, u(t)), u(t0) = u0. (5.14)

Exercice 42. A partir de la formule∫ 1

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

4,

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

Exercice 43. On considere la formule∫ 1−1 f(x)dx ' 2f(−1), appelee formule des rectangles

gauche. Trouver la formule composite correspondante.

Exercice 44. Definir un systeme lineaire triangulaire pour le calcul des poids d’une formulede quadrature de Newton-Cotes.

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

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

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

Exercice 48. Reecrire les schemas d’Euler de Heun et de Runge sous la forme

u0 = y(t0), un+1 = un + hφ(tn, un, h). (5.15)

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

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

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

Exercice 52. Soit la formule de quadrature suivante :∫ 1

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

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

Page 96: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

96CHAPITRE 5. RESOLUTION NUMERIQUE D’EQUATIONS DIFFERENTIELLES ORDINAIRES

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

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

∫ xn+3

xn+1

f(x) dx,

en posant xn = a+ nh.

4. Pour resoudre l’equation differentielle suivante{y′(x) = f(x, y(x)) x ∈ [a, b]y(a) = y0

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

yn+3 − yn+1 =h

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

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

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

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

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

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

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

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

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

est d’ordre p s’il existe une constante C telle que :∣∣∣∣1h (αky(xn+k) + · · ·+ α0y(xn))− (βkf(xn+k, y(xn+k)) + · · ·+ β0f(xn, y(xn)) )

∣∣∣∣ ≤ C hpEtudier l’ordre de ce schema.

Exercice 53. Pour resoudre l’equation differentielle suivante{y′(x) = f(x, y(x)) x ∈ [a; b]y(a) = y0

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

yn+3 − yn =3h

2(fn+2 + fn+1) ,

Page 97: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

5.12. EXERCICES 97

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

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

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

et on se

donne la formule d’integration numerique suivante :∫ 1

0f(x) dx =

1

8f(0) +

3

8f

(1

3

)+

3

8f

(2

3

)+

1

8f(1) +R(f).

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

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

yn+3 − yn = 3h

(1

8fn +

3

8fn+1 +

3

8fn+2 +

1

8fn+3

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

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

4. Etudier l’ordre de ce schema.Rappel : On dit qu’un schema multi-pas

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

est d’ordre p s’il existe une constante C telle que :∣∣∣∣1h (αky(xn+k) + · · ·+ α0y(xn))− (βkf(xn+k, y(xn+k)) + · · ·+ β0f(xn, y(xn)) )

∣∣∣∣ ≤ C hpExercice 54. On cherche a resoudre numeriquement l’equation differentielle suivante :{

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

(5.16)

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

. On considere

le schema suivant :

yn+1 = yn−1 + h

(1

3fn−1 +

4

3fn +

1

3fn+1

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

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

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

Page 98: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

98CHAPITRE 5. RESOLUTION NUMERIQUE D’EQUATIONS DIFFERENTIELLES ORDINAIRES

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

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

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

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

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

(5.17)

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

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

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

remplacant :

f(ti, yi) +h

2

[∂f

∂x(ti, yi) +

∂f

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

](5.18)

par

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

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

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

calculs sont beaucoup plus lourds :

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

φ(ti, yi, h) =1

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

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

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

2, yi +

h

2k1(ti, yi, h))

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

2, yi +

h

2k2(ti, yi, h))

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

2k3(ti, yi, h))

Ecrire l’algorithme correspondant a cette methode.

Exercice 56. Soit A ∈ Rm×m une matrice carree reelle d’ordre m. On considere le systemedifferentiel lineaire a condition initiale, d’inconnue y : R+ → Rm, y = (y1, . . . , ym) de classeC1 :

y′(x) = Ay(x), x ≥ 0, y(0) = y(0), y(0) ∈ Rm.

Page 99: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

5.12. EXERCICES 99

On suppose que A est diagonalisable et que les valeurs propres de A λi, i = 1, . . . ,m verifientλi ≤ 0, pour tout i = 1, . . . ,m. La solution exacte s’ecrit alors :

y(x) = Pexp(∆)P−1y(0),

ou ∆ est la matrice diagonale formee par les valeurs propres λi, i = 1, . . . ,m, A = P∆P−1

et exp(∆) est la matrice diagonale formee par exp(λi), i = 1, . . . ,m.On fixe un pas h et on definit les points xk = kh, k = 0, 1, 2, . . . .1. Verifier que y est bien solution de l’equation differentielle.2. Verifier que la solution reste bornee.3.a Ecrire le schema d’Euler explicite.3.b Montrer que

y(k) = P (I + h∆)kP−1y(0).

3.c Donner une condition (necessaire et suffisante) sur le pas h pour que la suite devecteurs (y(k)) reste bornee lorsque k →∞.

4.a Ecrire le schema d’Euler implicite.4.b Comment peut-on calculer y(k+1) en fonction de y(k) ? Verifier que ce calcul est pos-

sible.4.c Montrer que

y(k) = P ((I − h∆)−1)kP−1y(0).

4.d Montrer que quelque soit le pas h, la solution reste bornee lorsque k tend vers l’infini.

Exercice 57. Soit l’equation differentielle du second ordre :

d2y

dx2(x) + 2x

dy

dx(x) + 2y(x) = 0

avec les conditions initiales au point x0 :{y(x0) = y0

dy

dx(x0) = y′0

1) A l’aide d’une approximation par des differences finies centrees, donner un schemanumerique a 2 pas pour cette equation differentielle.

2) Comment peut-on choisir les valeurs y0 et y1 permettant d’initialiser ce schema ?

Exercice 58.1. Appliquer a l’equation differentielle

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

la methode d’Euler explicite, implicite et la methode du point milieu, cette derniere etantdonnee par

yn+1/2 = yn + (h/2)f(tn, yn), yn+1 = yn + hf(tn+1/2, yn+1/2).

Donner pour chaque expression yn en focntion de n2. On considere l’equation y′(t) = y2(t), y(0) = 1. Determiner explicitement la solution

y ; que pensez-vous de la suite yn correspondant a la methode d’Euler ?

Page 100: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

100CHAPITRE 5. RESOLUTION NUMERIQUE D’EQUATIONS DIFFERENTIELLES ORDINAIRES

Exercice 59. Soit a > 0 et T > 0. On definit l’equation differentielle

y′(t) + ay2(t) = 0, t ∈ [0, T ], y(0) = 1.

1. Chercher une solution a cette equation differentielle sous la forme 1/(αt + β), ou l’ondeterminera les constantes α et β. Quelle est la limite de y(t) lorsque t→∞ ?2. Ecrire le schema d’Euler explicite. On notera ∆t le pas de temps suppose constant et unles valeurs approchees de y(n∆t) par la methode d’Euler. A quelle condition sur ∆t, la suiteun tend-elle vers 0 ?3. On considere a present le schema de resolution

vn+1 = vn − a∆t

(vn+1 + vn

2

)2

, v0 = 1.

Parmi les deux solutions possibles pour vn+1, laquelle faut-il choisir ? pourquoi ? Calculer alorsvn+1 en fonction de vn, a et ∆t. A quelle condition sur ∆t la suite vn tend-elle vers 0 ?4. Determiner l’ordre du schema vn.

Exercice 60. On considere des methodes numeriques pour resoudre l’equation differentielle

dx

dt= f(t, x), (5.19)

x(0) = x0. (5.20)

1. On considere une methode de Runge-Kutta explicite a 2 etages generique de la forme

k1 = f(tn, xn)

k2 = f(tn + c2∆t, xn + ∆ta12k1)

xn+1 = xn + ∆t(b1k1 + b2k2).

En utilisant un developpement de Taylor de la solution exacte, calculer les coefficientsc2, a12, b1 et b2 pour que la methode soit d’ordre 2. Montrer qu’il n’existe pas de choixde coefficients pour que la methode soit d’ordre 3.

2. La θ-methode pour la resolution numerique de (1)-(2) s’ecrit

xn+1 = xn + ∆t((1− θ)f(tn, xn) + θf(tn+1, xn+1) 0 ≤ θ ≤ 1.

(a) Montrer que la θ-methode est d’ordre 2 pour θ = 12 et d’ordre 1 sinon.

(b) On dira que la θ-methode est stable si pour l’equation differentielle telle que f(t, x) =−λx (λ > 0), xn est bornee independamment de n. Montrer que pour pour 0 ≤ θ <12 la θ-methode est stable a condition que que λ∆t ≤ 2

1−2θ et que pour 12 ≤ θ ≤ 1

est inconditionnellement stable.

3. Les methodes de Runge-Kutta a p etages sont definies par les coefficients ai,j, bj, ci avec1 ≤ i, j ≤ p de la maniere suivante :

ki = f(tn + ci∆t, xn + ∆t

p−1∑j=1

aijkj),

xn+1 = xn + ∆t

p∑j=1

bjkj .

Page 101: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

5.12. EXERCICES 101

On notera A la matrice dont les coefficients sont ai,j, b le vecteur colonne dont lescoefficients sont bj et C la matrice diagonale dont les coefficients diagonaux sont les ci.Finalement, on note e le vecteur colonne dont tous les coefficients valent 1. Pour unemethode de Runge-Kutta explicite, la matrice A est strictement diagonale inferieure.

(a) Montrer que si la methode est exacte pour les polynomes de degre 0, alors Ae=Ce

(b) Montrer que la methode est d’ordre 1, si on a en plus de la condition precedentebT e = 1.

(c) Montrer que la methode est d’ordre 2, si en plus des deux conditions precedenteson a bTCe = bTAe = 1/2.

4. On considere une methode de Runge-Kutta a 2 etages. En utilisant que pour une methoded’ordre 3 on a bTCAe = bTC2e et bTAe = bTCe, montrer que si la methode est d’ordresuperieur ou egal a 3, on a Ae = Ce.

5. On cherche a determiner une methode de Runge-Kutta (pas necessairement explicite)d’ordre 4 a 2 etages.

(a) Construire une telle methode en utilisant une formule de quadrature de Gauss-Legendre a 2 points.

(b) En utilisant l’exercice precedent, montrer qu’il existe une unique methode de Runge-Kutta d’ordre 4 a 2 etages.

Exercice 61. Stabilite de methodes numeriques pour les equations differentiellesSoit λ > 0. On considere l’equation differentielle

dx

dt= −λx, (5.21)

x(0) = x0. (5.22)

1. Appliquer la methode d’Euler explicite a (5.23)-(5.24). On notera xn les iteres successifsde la methode. Exprimer xn en fonction de x0. A quelle condition sur le pas de temps∆t a-t-on limn→+∞ xn = 0 ?

2. Reprendre la question (a) en remplacant la methode d’Euler par la methode de Heundonnee par

k1 = f(tn, xn),

k2 = f(tn + ∆t, xn + ∆tk1),

xn+1 = xn +∆t

2(k1 + k2).

3. Reprendre la question (a) en remplacant la methode d’Euler par la methode de Runge-Kutta donnee par

k1 = f(tn, xn),

k2 = f(tn +∆t

2, xn +

∆t

2k1),

k3 = f(tn +∆t

2, xn +

∆t

2k2),

k4 = f(tn + ∆t, xn + ∆tk3),

xn+1 = xn +∆t

6(k1 + 2k2 + 2k3 + k4).

Page 102: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

102CHAPITRE 5. RESOLUTION NUMERIQUE D’EQUATIONS DIFFERENTIELLES ORDINAIRES

Exercice 62. Methodes numeriques pour les equations differentielles. Soit λ ∈ C.On considere l’equation differentielle

du

dt= λu, (5.23)

u(0) = 1. (5.24)

1. Appliquer la methode d’Euler explicite a (5.23)-(5.24). On notera un les iteres successifsde la methode. Donner une expression explicite de un. Quelle doit etre la position deλ∆t dans le plan complexe pour que limn→+∞ un = 0 ?

2. Les iterations de la methode d’Euler implicite s’ecrivent dans notre cas

un+1 = un + λ∆tun+1.

3. Donner une expression explicite de un. Quelle doit etre la position de λ∆t dans le plancomplexe pour que limn→+∞ un = 0 ?

4. On considere pour α ∈ R la famille de methodes multi-pas

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

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

(i) Calculer l’ordre de la methode en fonction de α. Indication : On pourra ecrire undeveloppement limite de u entre tn et tn+1 et entre tn−1 et tn.

(ii) On applique cette methode a (5.23)-(5.24). Donner, dans le cas α = 0, une conditionsur λ∆t pour que limn→+∞ un = 0.

Exercice 63. On considere la famille de methodes a multi-pas :

un+1 = αun +h

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

ou α est un parametre reel.Analyser la consistance et l’ordre de ces methodes en fonction de α. Determiner la valeur

α∗ pour laquelle la methode resultante a l’ordre maximal.

Exercice 64. Etudier en fonction de α ∈ R la stabilite et l’ordre de la famille de methodes amulti-pas

un+1 = αun + (1− α)un−1 + 2hfn +hα

2(fn−1 − 3fn)

Exercice 65. On considere la famille de methodes a multi-pas dependant d’un parametre reelα

un+1 = un + h((1− α/2)f(xn, un) + α/2f(xn+1, un+1).

1. Etudier la consistance en fonction de α. Puis, prendre α = 1, pour resoudre le problemede Cauchy

y′(x) = −10y(x), x > 0, y(0) = 1.

Determiner les valeurs de h pour lesquelles la methode est absolument stable.

Page 103: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

5.13. ELEMENTS DE CORRECTION 103

5.13 Elements de correction

Exercice 41 On pose d’abord u(t) = (θ(t), θ′(t)). On a alors

u′(t) = (θ′(t),−g sin(θ(t))/`), u(0) = (π/3, 0),

soitu′(t) = f(t, u(t)), u(0) = u0,

avecu0 = (π/3, 0), f(t, u1, u2) = (u2,−g sin(u1)/`).

Exercice 42On pose y = a+ (b− a)x, de sorte que

x ∈ [0, 1]⇐⇒ y ∈ [a, b],

et on a donc∫ b

ag(y)dy = (b− a)

∫ 1

0g(a+ (b− a)x)dx ' (b− a)

g(a) + 2g((a+ b)/2) + g(b)

4.

Exercice 43On se donne un intervalle [a, b] que l’on decoupe en N sous intervalles de meme taille et

on applique la methode des rectangles sur [a+kh, a+ (k+ 1)h], k = 0, . . . , N , h = (b−a)/N .On doit donc d’abord trouver la formule sur chaque intervalle [a + kh, a + (k + 1)h]. Pourcela, on fait le changement de variable

y = a+ (k +1 + x

2)h,

de sorte quex ∈ [−1, 1]⇐⇒ y ∈ [a+ kh, a+ (k + 1)h],

Cela donne ∫ a+(k+1)h

a+khg(y)dy =

h

2

∫ 1

−1g(a+ (k +

1 + x

2)h)dx ' hg(a+ kh).

On obtient alors la formule compositie en sommant∫ b

ag(y)dy =

N−1∑k=0

∫ a+(k+1)h

a+khg(y)dy ' h

N−1∑k=0

g(a+ kh).

Exercice 44La formule de Newton Cotes a d+ 1 points correspond a prendre les points

xk = −1 + 2k/d, k = 0, . . . , d.

Les poids sont calcules de sorte que∫ 1

−1P (x)dx =

∑j

ωjP (xj),

Page 104: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

104CHAPITRE 5. RESOLUTION NUMERIQUE D’EQUATIONS DIFFERENTIELLES ORDINAIRES

pour tous polynome P de degre ≤ d. cela est equivalent a imposer, par linearite de l’integrale∫ 1

−1

`−1∏k=0

(x− xk)dx =∑j

ωj∏k=0

(xk − xj) =d∑j=`

ωj∏k=0

(xk − xj).

Ceci donne bien un systeme triangulaire pour calculer les ωj , j = 0, . . . , d. Remarquons quele systeme est inversible ssi les xj sont tous distincts.

Exercice 45On a d’abord la formul du point milieu :∫ 1

−1f(x)dx± ' 2f(0).

On cherche ensuite une formule a deux points, ce qui donne∫ 1

−1f(x)dx± ' af(−1/3) + bf(1/3).

En prenant f = 1, on obtient2 = a+ b.

En prenant f = x, on obtient0 = (b− a)/3.

Ainsi, on a a = b = 1, soit ∫ 1

−1f(x)dx± ' f(−1/3) + f(1/3).

On a donc bien trouve deux formules de Newton-Cotes ouvertes.Exercice 46L’ordre d’une formule de Newton-Cotes a d+ 1 points est au moins d. La formule s’ecrit

sous la forme ∫ 1

−1f(x)dx '

d∑j=0

ωjf(xj), xj = −1 + 2j/d, j = 0, . . . , d.

Remarquons que xd−j = −xj , j = 0, . . . , d.Les poids ωj , j = 0, . . . , d verifient∫ 1

−1f(x)dx =

d∑j=0

ωjf(xj), j = 0, . . . , d,

pour tout f polynome de degre ≤ d et sont determines de maniere unique (cf Exercice 45).On a donc aussi ∫ 1

−1f(−x)dx =

d∑j=0

ωjf(−xj)j = 0, . . . , d,

pour tout f polynome de degre ≤ d. Or

d∑j=0

ωjf(−xj) =d∑j=0

ωjf(xd−j) =d∑j=0

ωd−jf(xj).

Page 105: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

5.13. ELEMENTS DE CORRECTION 105

Par unicite des poids, on a donc ωj = ωd−j , j = 0, . . . , d.

∫ 1

−1f(x)dx =

d∑j=0

ωjf(xj)

Dans le cas ou d est pair, on a ∫ 1

−1xd+1dx = 0,

etd∑j=0

ωjxd+1j =

d∑j=0

ωd−jxd+1d−j =

d∑j=0

ωj(−xj)d+1 = −d∑j=0

ωjxd+1j ,

et doncd∑j=0

ωjxd+1j = 0.

On a donc ∫ 1

−1xd+1dx =

d∑j=0

ωjxd+1j ,

et donc la formule est exacte pour le degre d+ 1.Ainsi, on a montre que pour d impair, la formule de Newton Cotes est d’ordre au moins

d et pour d pair la formule de Newton-Cotes est d’ordre au moins d+ 1.Il rest a voir que pour d pair, on a∫ 1

1xd+2 6=

d∑j=0

ωjxd+2j ,

et que pour d impair, on a ∫ 1

1xd+1 6=

d∑j=0

ωjxd+1j .

Ceci peut se verifier pour quelques valeurs de d (d = 0, 1, 2, 3 par exemple), en faisant le calculexplicitement des poids. On ne considere pas ici la demonstration pour d quelconque.

Exercice 47Le schema d’Euler s’ecrit

un+1 = un + hf(tn, un)

ce qui donne

0||1.

Le schema de Runge s’ecrit

un+1 = un + hf(tn+1/2, un +h

2f(tn, un)),

Page 106: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

106CHAPITRE 5. RESOLUTION NUMERIQUE D’EQUATIONS DIFFERENTIELLES ORDINAIRES

ce qui donne l’ecriture matricielle

0|1

2|12|0 1.

Exercice 48

Le schema d’Euler s’ecrit

un+1 = un + hf(tn, un),

donc

φ1(t, u, s) = f(t, u).

Le schema de Runge s’ecrit

un+1 = un + hf(tn+1/2, un +h

2f(tn, un)),

donc

φ2(t, u, s) = f(t+ s/2, u+s

2f(t, u)).

Enfin, le schema de Heun (cf Exercice 61) s’ecrit

un+1 = un + hf(tn+1, un + hf(tn+1, un+1)) + f(tn, un)

2,

et donc

φ3(t, u, s) =f(t, u) + f(t+ s, u+ sf(t, u))

2.

Exercice 49 La consistance s’ecrit

φ1(t, u, 0) = f(t, u),

et donc le schema d’Euler est consistant.

Pour le schema de Runge, on a

φ2(t, u, 0) = f(t, u),

donc le schema est consistant. Enfin, pour le schema de Heun, on a

φ3(t, u, 0) =f(t, u) + f(t, u)

2= f(t, u),

ce schema est donc aussi consistant.

Exercice 50

Il s’agit de montrer que les schemas sont stables et consistants. On peut montrer aussiqu’ils sont consistant d’ordre p avec p = 1 pour Euler, p = 2 pour Heun et Runge et p = 4pour RK4. On va se contenter ici de verifier que le schema de Runge est d’ordre 2. On a

φ2(t, u, s) = f(t+ s/2, u+s

2f(t, u)).

Page 107: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

5.13. ELEMENTS DE CORRECTION 107

L’erreur de consistance τn+1(h) est donnee par

hτn+1(h) = u(tn+1)− u(tn)− hf(tn + h/2, u(tn) +h

2f(tn, u(tn)))

= u(tn) + hu′(tn) +h2

2u”(tn)− u(tn)− hf(tn + h/2, u(tn) +

h

2f(tn, u(tn))) +O(h3)

Or, on a u′(tn) = f(tn, u(tn)) et

u”(tn) = ∂tf(tn, u(tn)) + ∂xf(tn, u(tn))u′(tn) = ∂tf(tn, u(tn)) + ∂xf(tn, u(tn))f(tn, u(tn)).

D’autre part, on a

f(tn + h/2, u(tn) +h

2f(tn, u(tn))) = f(tn, u(tn)) + hg′(0) +O(h2),

avecg(s) = f(tn + s/2, u(tn) +

s

2f(tn, u(tn))).

On a

g′(s) =1

2∂tf(tn+s/2, u(tn)+

s

2f(tn, u(tn)))+

1

2f(tn, u(tn))∂xf(tn+s/2, u(tn)+

s

2f(tn, u(tn))),

et donc

g′(0) =1

2∂tf(tn, u(tn)) +

1

2f(tn, u(tn))∂xf(tn, u(tn)),

On obtient donc

hτn+1(h) = u(tn) + hf(tn, u(tn)) +h2

2(∂tf(tn, u(tn)) + ∂xf(tn, u(tn))f(tn, u(tn)))

− u(tn)− h(f(tn, u(tn)) + h(1

2∂tf(tn, u(tn)) +

1

2f(tn, u(tn))∂xf(tn, u(tn)))) +O(h3),

= O(h3).

On a donc τn+1(h) = O(h2), donc la methode de Runge est consistante d’ordre 2.Exercice 51 On va considerer les cas d’Euler explicite et de Crank NicholsonPour etudier la stabilite absolue, on considere l’equation differentielle

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

Le schema d’Euler explicite donne

un+1 = un + hλun,

doncun = (1 + hλ)n

La zone de stabilite est donnee alors par l’ensemble des z verifiant

limn→∞

|1 + z|n = 0,

Page 108: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

108CHAPITRE 5. RESOLUTION NUMERIQUE D’EQUATIONS DIFFERENTIELLES ORDINAIRES

c’est-a-dire|1 + z| < 1.

Dans le plan complexe cela correspond a l’interieur du disque de centre (−1, 0) et de rayon1. La methode n’est pas inconditionnellement stable. Pour λ < 0, la methode est absolumentstable, si

−1 < 1 + λh < 1,

soit

0 < h <2

−λ.

Le schema de Crank Nicholson donne

un+1 = un + hλun + un+1

2.

On peut alors dans ce cas present expliciter cette methode implicite

(2− λh)un+1 = (1 + hλ)un,

puis

un+1 =1 + hλ

2− λhun

La zone de stabilite est alors donnee par l’ensemble des z ∈ C tels que

|1 + z

2− z| < 1.

Maintenant, pour λ = x+ iy, avec x < 0, on a

|1 + λh

2− λh|2 =

(1 + xh)2 + y2h2

(2− xh)2 + y2h2.

Or(1 + xh)2 − (2− xh)2 = 1 + 2xh+ 4xh− 4 = −3 + 6xh < 0,

et donc(1 + xh)2 + y2h2

(2− xh)2 + y2h2< 1.

La methode de Crank-Nicholson est donc inconditionnellement stable.Exercice 521. On remplace g par 1, x et x2. On trouve un systeme a 3 equations et 3 inconnues.On regarde si la formule est encore exacte pour g(x) = x3. Si oui, n ≥ 3, sinon n = 2. On

recommence eventuellement.2. Pour trouver K, on prend g(x) = xn+1, de sorte que R(g) = K(n+ 1)!.3. On fait le changement de variable habituel4.i Provient de la question precedente.4.ii 3 pas, explicite ; prendre des valeurs de demarrage type Heun ou RK4 (pour calculer

y1 et y2).4.iii Le polynome est λ3 − λ = λ(λ − 1)(λ + 1). Les racines sont simples et de module

inferieur ou egal a un, donc la methode est stable.4.iv Pour l’ordre du schema, on regarde l’erreur de consistance, et on peut utiliser ici

l’erreur de quadrature de la question 3., puisqu’il s’agit ici de regarder∫ xn+3

xn+1

f(x, y(x))dx− h

3(7f(xn+2, y(xn+2))− 2f(xn+1, y(xn+1)) + f(xn, y(xn))).

Page 109: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

Chapitre 6

Projets 2010

Il s’agit des projets de l’annee 2010/2011 encadres par M.A. Da Col. Les sources sontdiverses.

6.1 Cinetique de l’oxydation du sulfite de cuivre

La cinetique chimique s’interesse aux aspects temporels lies aux reactions chimiques. Lephenomene d’oxydation du sulfite de cuivre est un exemple d’autocatalyse : il ne reagit pas di-rectement avec le dioxygene, mais produit lui-meme le catalyseur qui va permettre le reaction.Un modele simplifie du mecanisme chimique est le suivant :

Cu2+ + SO2−3 ←→ CU+ + SO−3

Cu2+ + SO−3 + 12O2 −→ CU+ + SO−4

Le premiere reaction favorise fortement le sens de droite a gauche car le sulfite de cuivre estun compose stable. D’autre part, la seconde est tres rapide, ce qui permet l’oxydation memesi le catalyseur est en tres faible quantite. Le prototype de ce genre d’equations est donne parle probleme de Robertson (1996) : les quantites chimiques en jeu sont appelees A,B,C pourplus de simplicite. Le bilan global de la reaction est A −→ C. On decomose le mecanismechimique complexe en trois reactions elementaires :

A −→ B lente : k1 = 0, 04B +B −→ C +B tres rapide : k2 = 3 · 107

B + C −→ A+ C rapide : k3 = 104

La premiere reaction est nommee amorcage, il s’agit de la formation lente du catalyseurB. La deuxieme reaction produit le compose C trs rapidement et la troisieme traduit larecomposition du catalyseur B (rupture) ; cette derniere justifie le terme d’autocatalyse.

Les vitesses des trois reactions sont tres differentes comme le montrent les constantes dereactions situees a droite des equations chimiques. Les lois de la cinetique chimique permettentd’obtenir le systeme differentiel suivant, ou ya(t), yb(t), yc(t) designent les quantites respectivesdes composes A,B et C a l’instant t :

y′a(t) = −k1ya(t) + k3yb(t)yc(t)y′b(t) = k1ya(t)− k3yb(t)yc(t)− k2(yb(t))

2

y′c(t) = k2(yb(t))2

109

Page 110: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

110 CHAPITRE 6. PROJETS 2010

Ces equations sont assorties des conditions initiales ya(0) = 1, yb(0) = yc(0) = 0 traduisant laseule presence du reactif A.

Utiliser differents methodes (Euler, Runge-Kutta,...) pour calculer une solution approcheedu systeme differentiel.

Du point de vue chimique, on peut s’interesser a la quantite moyenne de catalyseur presentdans la solution entre les temps 0 et T , ctte quantite moyenne est donnee par Ib = 1

T

∫ T0 yb(t)dt.

Utiliser une methode numerique pour calculer une valeur approchee de cette moyenne.

Page 111: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

6.2. SYSTEME PROIE-PREDATEUR 111

6.2 Systeme proie-predateur

Considerons un systeme biologique compose de deux especes. La premiere sera considereecomme les proies de la seconde. Historiquement, Volterra modelisait le systeme requins-sardines autour de Trieste.

Notons x(t) et y(t) les tailles respectives des populations de proies et de predateurs aucours du temps t. Nous supposerons que les populations respectives des deux especes sontsuffisamment grandes pour que l’on puisse assimiler la variation δx(t) a x′(t) (de meme poury(t)). En l’absence de predateurs, les proies ont un taux de croissance constant a, c’est a dire :x′(t)x(t) = a. En l’absence de proies, les predateurs ont un taux de ”decroissance” constant −c,c’est a dire : y′(t)

y(t) = −c.Des que les deux especes sont mises en interaction, les predateurs prelevent une proportion

relative a leur population dans l’espece des proies et la quantite de proie favorise la croissancede la population des predateurs. On obtient donc le systeme differentiel suivant :{

x′ = x(a− by)y′ = y(−c+ dx)

avec (x(0), y(0)) = (x0, y0)

Utiliser differents methodes (Euler, Runge-Kutta,...) pour calculer sur un intervalle [0;T ]la solution numerique de cette equation. Representer les courbes associees aux differentessolutions. On pourra prendre comme parametres a = 3, b = 1, c = 2, d = 1 et la conditioninitiale x0 = 1, y0 = 2.

Page 112: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

112 CHAPITRE 6. PROJETS 2010

6.3 Calcul de trajectoires de planetes

On considere que les planetes ne sont soumises qu’aux forces gravitationnelles exercees par lesautres planetes et par le soleil. La force gravitationnelle F2→1 exercee par un corps de masseM2 situe en X2 = (x2, y2, z2) sur un corps de masse M1 situe en X1 = (x1, y1, z1) est donneepar l’expression suivante :

F2→1 = −GM2M1X1 −X2

||X1 −X2||3

avec G la constante de gravitation universelle. La loi de Newton permet alors d’obtenir lesequations du mouvement suivantes pour le corps i considere :

Xi′′ = −G6∑

j=1,j 6=iMi

Xi −Xj

||Xi −Xj ||3

pour i = 1 a 6 ou :– i = 1 correspond a Jupiter, de masse M1 = 0.000954786104043,– i = 2, a Saturne, avec M2 = 0.000285583733151,– i = 3, a Uranus avec M3 = 0.0000437273164546,– i = 4, a Neptune avec M4 = 0.0000517759138449,– i = 5, a Pluton avec M5 = 1/(1.3.108).– i = 6, au soleil avec M6 = 1.00000597682Les unites de masse sont relatives au soleil, lui-meme de masse differente de 1 apres correc-

tion pour tenir compte de la masse des planetes proches. Les unites de temps sont en jours ter-restres. Le mouvement des planetes est etudie dans le referentiel lie au soleil, qui a donc la po-sition initiale x6 = 0. La constante de gravitation universelle est G = 2.95912208286.10−4. Lespositions initiales des 5 planetes, donnees en unites astronomiques (1A.U. = 149597870km),ainsi que leurs vitesses initiales sont resumees dans le tableau suivant :

Jupiter Saturne Uranus Neptune P luton

x −3.5023653 9.0755314 8.3101420 11.4707666 −15.5387357

y −3.8169847 −3.0458353 −16.2901086 −25.7294829 −25.2225594

z −1.5507963 −1.6483708 −7.2521278 −10.816945 −3.1902382

u 0.00565429 0.00168318 0.00354178 0.00288930 0.00276725

v −0.00412490 0.00483525 0.00055029 0.00039677 −0.00136504

w −0.00190589 0.00192462 0.00055029 0.00039677 −0.00136504

Le systeme d’equation est d’ordre 2, on peut le mettre sous la forme d’un systeme d’equationsdfferentielles du premier ordre, en introduisant la variable intermediaire Vi = X ′i (qui corres-pond a la vitesse). On utilisera ensuite une methode classique (Euler, Runge-Kutta) pourresoudre numeriquement ce systeme.

Page 113: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

6.4. DIFFUSION DE LA CHALEUR DANS UNE BARRE CONDUCTRICE 113

6.4 Diffusion de la chaleur dans une barre conductrice

6.4.1 Description

On considere une barre cylindrique de 50cm de longueur et 5cm de diametre, constitueed’un materiau homogene (fer, cuivre, aluminium, beton,...) et isolee thermiquement sur toutesa longueur et a l’extremite droite. On traitera d’abord les cas d’une barre de fer.

Au temps initial la barre est a temperature ambiante de 20oC. L’extremite gauche estchauffee a 100oC pendant 1h puis maintenue a la temperature ambiante. On veut connaıtrela repartition de la temperature dans la barre en fonction du temps pendant l’heure de chauffeet l’heure qui suit.

6.4.2 Modelisation

On suppose que, du fait de l’isolation, la temperature est la meme dans toute la sectionde la barre. On note T (t, x) la temperature a la distance x de l’extremite gauche et au tempst ≥ 0. On note L = 0, 5m la longueur de la barre, tc = 3600s le temps de chauffe et tj = 7200le temps de fin de mesure. L’instant initial est t = 0. En faisant le bilan des flux d’energiethermique entrant et sortant d’un volume d’epaisseur dx, on obtient que la fonction T satisfaitl’equation dite de la ”chaleur” suivante :

∂T

∂t− k∂

2T

∂x2= 0

ou k = κρc avec κ le coefficient de conductivie thermique, ρ la masse volumique et c la cha-

leur specifique du materiau considere. Le tableau ci-dessous donne ces valeurs pour quelquesmateriaux :

Materiau κ c ρ k

Fe 79, 5 448 7860 2, 258.10−5

Cu 397 387 8920 1, 15.10−4

Al 238 900 2700 9, 794.10−5

Beton 0, 8 860 2300 4, 044.10−7

Verre 0, 8 837 2600 3, 676.10−7

Le premier terme ∂T∂t est le terme d’evolution qui traduit le fait que la temperature a l’instant

t depend de la temperature aux instants precedents. Le second terme ∂2T∂x2

est le terme dediffusion ou de conduction de la chaleur qui traduit le fait que la temperature en un pointdepend de celle des points voisins.

A l’extremite gauche, la condition aux limites est une condition de Dirichlet T (t, 0) = g(t)avec g(t) = (Tc − Ta)1]0,tc](t) + Ta ou Ta = 293, 15K = 20C et Tc = 373, 15K = 100C.

Alors qu’a l’extremite droite nous avons une condition de Neumann ∂T∂x (t, L) = 0 qui traduit

l’isolation de cette extremite (le gradient de la temperature est nul au point isole).

La condition initiale s’ecrit T (0, x) = Ta.

Page 114: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

114 CHAPITRE 6. PROJETS 2010

6.4.3 Discretisation

L’intervalle d’espace est discretise par une subdivision reguliere de pas h = LN et l’intervalle

temps est discretise avec on pas τ =tfM . Pour chaque instant tm la fonction de temperature est

discretisee par le vecteur de ses valeurs aux points de la subdivision Tm = (T (tm, xj))j=0,N .On approche donc la fonction dependant du temps et de l’espace par le vecteur que l’on noteraT ∈ RM+1)(N+1).

Nous discretisons les operateurs differentiels de l’equation par des differences finis : unschema d’ordre 1 en temps

∂T

∂t(tm+1, xj) ≈

Tm+1j − Tmj

τ,

et un schema de differences finies centrees d’ordre 2 en espace :

∂2T

∂x2(tm, xj) ≈

Tmj+1 − 2Tmj + Tmj−1

h2.

Ces approximations sont obtenues a partir de la formule de Taylor aux points consideres,d’autres methodes sont possibles.

Avec ces approximations, il y a deux possibilites pour discretiser l’equation differentielle :– le schema d’Euler progressif qui donne directement Tm+1 en fonction de Tm mais qui

n’est stable que pour un pas τ assez petit devant h

Tm+1j − Tmj

τ− k

Tmj+1 − 2Tmj + Tmj−1

h2= 0

– le schema d’Euler retrograde qui est inconditionnellement stable mais qui demande laresoution d’un systeme lineaire a chaque pas de temps

Tm+1j − Tmj

τ− k

Tm+1j+1 − 2Tm+1

j + Tm+1j−1

h2= 0

La condition initiale et les conditions aux limites de Dirichlet s’expriment de maniere naturelle(T 0j = Ta, j = 0, . . . , N ;Tm0 = g(tm)) mais la condition de Neumann necessite un traitement

particulier. Il est possible d’approcher cette derivee en espace comme la derivee en tempsmais cela conduit a un schema d’ordre 1 (a cause des conditions aux limites). Il est doncpreferable d’utiliser une difference finie centree qui conduit a un schema d’ordre 2 (en ajoutant

artificiellement un noeud exterieur xN+1) : ∂T∂x (tm, xN ) ≈ TmN−1−TmN+1

2h ou TmN+1 = T (tm, L+h).

Comme de plus ∂T∂x (tm, x0) = 0 on obtient que TmN−1 = TmN+1, ce qui evite d’ajouter une

variable supplementaire.

6.4.4 Equations approchees

En utilisant le schema d’Euler retrograde, on est amene a resoudre le systeme lineairesuivant a chaque pas de temps :

(I +kτ

h2A)Tm+1 = Fm+1,m = M, . . .M − 1

La matrice du systeme est monotone (car irreductible, a diagonale dominante, les termesde la diagonale sont positifs et les termes non-diagonaux sont negatifs). Il y a donc une solutionunique qui est positive si le second membre est positif.

Page 115: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

6.4. DIFFUSION DE LA CHALEUR DANS UNE BARRE CONDUCTRICE 115

La solution du probleme approche converge vers la solution du probleme continu quandτ et h tendent vers 0.

Ecrire un programme resolvant le probleme en utilisant les indications suivantes :– pour resoudre le systeme lineaire on decompose la matrice sous forme LAUA ou LA est

triangulaire inferieure et UA triangulaire superieure (methode de Gauss)– les conditions initiales donnent T 0 qui permet de calculer F 1

– on resoud le systeme pour obtenir T 1 en resolvant LAb = F 1 puis UAT1 = b

– iterer le processus de m = 1 a MTester le programme en choisissant un pas de temps τ = 120s = 2mn avec M = 60 et N = 60.

Page 116: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

116 CHAPITRE 6. PROJETS 2010

6.5 Recuperation des donnees d’un site internet

6.5.1 Analyse en composantes principales

Dans un cas d’analyse de donnees classique, on dispose d’un ensemble d’observations (ouindividus) qui sont chacun des vecteurs representant des mesures (ou variables). Par exemplesi on mesure la taille, la masse et l’age d’une population de 50 personnes, on va noter cesdonnees sous la forme d’une matrice 50× 3.

L’Analyse en Composantes Principales (ACP) est une methode permettant de reduirele nombre de variables decrivant la population en perdant le minimum d’informations. Onutilise l’ACP lorsque l’on veut representer les individus sur un plan (dans ce cas on reduit lenombre de variables a 2) ou lorsque l’on veut selectionner les variables les plus informativesafin d’alleger les calculs qui seront eventuellement effectues par la suite.

Une ACP se calcule sur un ensemble de donnees centrees et reduites : pour chaque colonneon soustrait a chaque terme la moyenne de la colonne puis on divise par l’ecart-type. Ondefinit ensuite la matrice de covariance (ou matrice de correlation) de notre matrice centreereduite X : M =t X.X. Il s’agit ensuite de trouver les valeurs propres et vecteurs propres decette matrice, la plus grande valeur propre correspondra a la donnee la ”plus significative”,le vecteur propre associe permet de definir la nouvelle variable associee. Exemple : si la plusgrande valeur propre est λ = 2, 8 et le vecteur propre associe V = (0; 0, 5; 0, 25; 0; 0, 25)signifira que la donnee la plus importante est la combinaison lineaire 0, 5V2 +0, 25V3 +0, 25V5

ou V1, . . . , V5 sont les variables initiales.Pour plus de detail on peut par exemple, lire les document suivant : www-stat.stanford.edu/ su-

san/courses/BIMM/AMVacp.pdf

6.5.2 Probleme a etudier

Un site Internet a ete pirate : la base de donnees du site a ete modifiee par le pirate etle webmaster vous a fait parvenir un echantillon pour que vous tentiez de reparer les degats.Le site permet aux utilisateurs de noter des dessins animes en donnant une valeur 1 a 10 sur6 criteres (animation, son, scenario, persnnages, qualite globale de la realisation et plaisir aregarder le dessin anime). Le pirate a ajoute deux colonnes (c’est a dire deux criteres) a labase de donnees et il est impossible de les reconnaitre de visu.

En faisant une ACP vous allez determiner les variables qui n’ont aucue signification dans lecontexte, c’est a dire qui sont decorrelees des autres. Recuperer le fichier donnees piratees.txtcontenant les donnees, realiser l’ACP, supprimer les donnees superflues puis refaire une ACPsur les nouvelles donnees.

Page 117: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

6.6. CLASSEMENT DE PAGES WEB 117

6.6 Classement de pages web

On propose d’etudier l’algorithme d’analyse de liens ”PageRank”, employe par Google commemesure de l’importance relative d’un document dans un reseau d’hyperliens (notamment,l’importance d’une page sur le web).

On peut considerer que le web est une collection de N pages, la plupart des pages incluentdes liens hypertextes vers d’autres pages : on dit qu’elles pointent vers ces autres pages. L’ideede base utilisee par les moteurs de recherche pour classer les pages par ordre de pertinencedecroissante consiste a considerer que plus une page est la cible de liens venant d’autres pages,plus elle a de chances d’etre fiable et interessante pour l’utilisateur. Il s’agit de quantifier cetteidee, c’est-a-dire d’attribuer un rang numerique ou un score de pertinence a chaque page.

On se donne un ordre sur l’ensemble des pages que l’on numerote de 1 a N . La structurede connectivite du web est alors representee par une matrice C telle que ci,j = 1 si la pagei pointe vers la page j, sinon ci,j = 0. Les liens d’une page vers elle meme ne sont passignificatifs, donc ci,i = 0.

On souhaite attribuer a chaque page i un score ri pour pouvoir classer l’ensemble des pagespar ordre decroissant et presenter a l’utilisateur une liste de pages ainsi classees. L’algorithmePagerank part du principe qu’un lien de la page j pointant sur la page j contribue positivementau score de cette derniere, avec une ponderation par le score rj de la page dont est issu le lien(une page ayant un score eleve a ainsi plus de poids qu’une n’ayant qu’un score mediocre) etpar le nombre total de liens presents sur ladite page Nj =

∑Nk=1Nck,j . On introduit donc la

matrice Q definie par qi,j = ci,j/Nj si Nj 6= 0, qi,j = 0 sinon. La somme des coefficients descolonnes non nulles de Q vaut toujours 1. L’application des principes ci-dessus conduit doncˆ une equation pour le vecteur r ∈ RN des scores des pages de la forme ri =

∑Nj=1 qi, jrj

c’est-a-dire r = Qr.Le probleme du classement des pages du Web se trouve ainsi ramene a la recherche dOun

vecteur propre d’une enorme matrice, associe a la valeur propre 1 ! Il peut arriver que lamatrice Q n’admette pas la valeur propre 1 ce qui invalide quelque peu la philosophie originalede l’algorithme. Pour remedier ˆ ce defaut, on considere alors e =t (1, 1, . . . , 1) ∈ RN et d ∈ RNtel que dj = 1 si Nj = 0, dj = 0 sinon. La matrice

P = Q+1

Netd

est alors la transposee d’une matrice stochastique : ses coefficients sont tous positifs et lasomme des coefficients de chaque colonne vaut 1 (remarquons quOil sOagit dOune ” petite” correction ˆ Q car N est tres grand). Du fait que teP =t e, on voit que P admet bien lavaleur propre 1. Comme cette valeur propre est en general multiple, on effectue une dernieremodification en choisissant un nombre 0 < α < 1 et en posant

A = αP + (1− α)1

Nete

On pourra admettre quOune telle matrice admet 1 comme plus grande valeur propre,que cette valeur propre est simple et que l’on peut choisir un vecteur propre correspondantˆ composantes toutes positives (il sOagit du theoreme de Perron-Frobenius). Finalement,PageRank calcule un tel vecteur propre r ∈ RN , normalise d’une facon ou d’une autre,

r = Ar

Page 118: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

118 CHAPITRE 6. PROJETS 2010

dont les N composantes fournissent le classement recherche des pages du Web. On sait com-bien cette strategie s’est revelee efficace, puisque Google a totalement lamine les moteurs derecherche de premiere generation, comme Altavista, lesquels ont essentiellement disparu dupaysage.

Calculer le vecteur r a l’aide de la methode de la puissance.La difficulte de cete methode vient de la taille de la matrice A qui est une matrice pleine

alors que la matrice initiale Q est creuse.Ameliorer cette methode en remarquant que– le vecteur initial dans le calcul de la puissance peut etre choisi de norme 1 (ce qui evite

de renormaliser a chaque etape)– y = Az eut s’ecrire sous la forme y = αQz + β

N e avec β = 1− ||αQz||1.

Page 119: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

6.7. RESOLUTION NUMERIQUE DU PROBLEME DE LA CHAINETTE 119

6.7 Resolution numerique du probleme de la chaınette

En mathematiques, le mot chaınette designe une courbe plane qui correspond a la formeque prend un fil pesant (une chaıne par exemple) lorsqu’il est suspendu par ses extremiteset soumis a une force gravitationnelle uniforme (son propre poids). On se propose dans cetravail de determiner numeriquement cette courbe.

6.7.1 Un peu d’histoire

Le probleme de la chaınette, c’est-a-dire de la determination de la forme prise, sous l’ac-tion d’un champ de pesanteur uniforme, par un fil pesant flexible, homogene, inextensible etsuspendu entre deux points, intervient de maniere recurrente en genie civil (catenaires) ainsique dans la conception d’ouvrages d’art (construction d’arcs et de voutes) ; il a pour cetteraison interesse bon nombre de mathematiciens celebres. Galileo Galilei pensait initialementque cette forme etait un arc de parabole, mais ceci fut refute, en 1669 et de maniere post-hume, par Joachim Jungius. En 1690, Jakob Bernoulli publia dans le journal scientifique ActaEruditorum le probleme : ” trouver la courbe adoptee par un fil l ?che et suspendu libremententre deux points ”, lequel fut resolu de facon independante et pratiquement simultanee parGottfried Wilhelm von Leibniz, Christian Huygens et Johann Bernoulli, le frere de Jakob.Leurs solutions respectives parurent de maniere succinte en juin 1691 dans Acta Erudito-rum, le mot latin catenaria, introduit par Huygens dans une lettre adressee a Leibniz, etantalors retenu pour qualifier la courbe obtenue. Il apparut ainsi que l’equation cartesienne dela chaınette fait intervenir la fonction cosinus hyperbolique cosh(x) = 1

2(ex + e−x) et qu’elles’ecrit

y = αcosh(x− βα

) + γ

o ? les constantes α, β et γ peuvent, par exemple, etre determinees en utilisant le fait que lefil est attache en ses deux extremites et de longueur fixe.

Dans la suite, on suppose qu’on ne connaıt pas cette equation et on cherche par consequenta determiner la chaınette de maniere approchee.

6.7.2 Modelisation

On munit le plan d’un repere orthonorme et on considere un fil pesant de longueur `,suspendu aux points a = (xa, ya) et b = (xb, yb) tels que ` >

√(xb − xa)2 + (yb − ya)2. Une

formulation mathematique possible est alors celle du probleme de minimisation suivant :

miny(xa) = ya, y(xb) = yb,∫ xbxa

√1 + y′(x)2dx = `

∫ xb

xa

y(x)√

1 + y′(x)2dx

ou l’application y est une fonction derivable sur l’intervalle [xa, xb] representant l’elevation dufil. La fonctionnelle que l’on cherche a minimiser est reliee a l’energie potentielle associee a laconfiguration prise par le fil soumis a l’action de pesanteur.

La contrainte de longueur etant difficile a imposer dans une methode de resolution numeriquedu probleme, on a recours a une approche dite de penalisation, qui considere a considerer le

Page 120: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

120 CHAPITRE 6. PROJETS 2010

probleme penalise suivant :

minyε(xa)=ya,yε(xb)=yb

∫ xb

xa

yε(x)√

1 + y′ε(x)2dx+1

ε

(∫ xb

xa

√1 + y′ε(x)2dx− `

)2

La contrainte non lineaire d’egalite apparaıt alors explicitement dans cette nouvelle fonction-nelle, que l’on notera J(yε).

6.7.3 Discretisation

Considerons la discretisation de l’intervalle [xa, xb] definie par la suite de N elements :xi = xa + (i− 1)h avec h = xb−xa

N−1 . On considere alors une fonction yh de la forme

yh(x) = yi +x− xih

(yi+1 − yi),∀x ∈ [xi, xi+1]

et telle que y1 = ya et yN = yb. La suite finie des valeurs yi est une approximation de lasuite yε(xi), dans la suite nous noterons Y le vecteur de RN de composantes yi. Le problemediscretise devient alors :

miny1=ya,yN=yb

Jh(Y )

Rappelons que si f est une fonction affine par morceau sur [xi, xi+1], alors∫ xb

xa

f(x)dx = hN−1∑j=1

f(xj + xj+1

2).

Ecrire une fonction Jh prenant comme arguments d’entree la longueur ` du fil, le pa-rametre de penalisation ε, le pas de discretisation h et le vecteur Y a N composantes etrenvoyant la valeur de Jh(Y ).

6.7.4 Resolution numerique

On propose d’obtenir une solution numerique du probleme de minimisation par unemethode de gradient (ou de la plus profonde descente). Celle-ci fait partie d’une classe pluslarge de methodes numeriques dites a direction de descente, dont le principe general est deconstruire, a partir d’une initialisation arbitraire Y (0), une suite d’iteres (Y (k))k∈N se rappro-chant du minimum recherche. On demande que cette suite verifie Jh(Y (k+1)) < Jh(Y (k)) eton cherche alors Y (k+1) sous la forme Y (k+1) = Y (k) + ρ(k)d(k), ou ρ(k) > 0 est appele le pasde descente dans la direction de descente d(k) . Dans les methodes de gradient, l’idee naturellesuivie pour trouver une direction de descente est de faire un developpement de Taylor (formel)a l’ordre un entre deux termes successifs de la suite des iteres, Y (k) et Y (k+1) = Y (k) +ρ(k)d(k)

, c’est-a-dire

Jh(Y (k) + ρ(k)d(k)) = Jh(Y (k)) + ρ(k)(∇Jh(Y (k)), d(k)) + o(ρ(k)d(k)),

ou (‡ , ‡) designe un produit scalaire sur RN . Puisque l’on veut que Jh(Y (k+1)) < Jh(Y (k)), on fait en premiere approximation le choix d(k) = −∇Jh(Y (k)). Cette methode peut seresumer dans l’algorithme suivant :{

Y (0) ∈ RN et ρ(0) > 0 donnes,

Y (k+1) = Y (k) − ρ(k)∇Jh(Y (k)), k ≥ 0

Page 121: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

6.7. RESOLUTION NUMERIQUE DU PROBLEME DE LA CHAINETTE 121

le pas de descente ρ(k) pouvant etre choisi constant (on parle alors de methode de gradienta pas fixe) ou variable a chaque iteration. Nous choisirons dans un premier temps un pasconstant, un developpement du projet pouvant etre de considerer une methode a pas variable.

Ecrire un programme qui a partir des donnees du probleme et des parametres de lamethode tente de resoudre de maniere approchee le probleme de minimisation, representegraphiquement et donne la longueur effective de la chaınette obtenue. Realiser quelques essaissur le cas a = (0, 2), b = (1, 3), ` = 2 et ε = 1

4 .

Page 122: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

122 CHAPITRE 6. PROJETS 2010

6.8 Comptabilite nationale

La comptabilite nationale est un domaine qui souhaite modeliser l’activite economiqued’un pays en prenant en compte l’interdependance de ses differentes branches afin d’en ex-pliquer, d’en prevoir l’evolution. Cette etude peut aider les pouvoirs publics a trouver dessolutions pour relancer certains domaines de l’economie.

Le modele suivant decrit de maniere simple le fonctionnement d’une economie productive.

6.8.1 Le modele lineaire de Leontiev

On suppose que l’activite economique du pays est divisee en n branches distinctes. Labranche Bi produit un bien unique P i qu’aucune autre branche ne produit. Pour fabriquerune unite de bien P i, la branche Bi utilise ai,j unites de bien P j et `i travailleurs payes ausalaire w (suppose le meme pour toutes les branches).

Si on note πi le prix unitaire de vente du produit P j

– le cout de production d’une unite de bien P i est∑n

j=1 ai,jπj + w`i ;

– le chiffre d’affaires de la branche Bi est πi.Les branches de production ne suffisent pas a consommer tous les biens, on considere queles biens restants sont consommes par les travailleurs, qui y consacrent l’integralite de leursalaire. Si on note cj la quantite de bien P j consommee par un travailleur, il vient

w =

n∑j=i

cjπj

si bien que le cout de production de la branche Bi s’ecrit

n∑j=1

(ai,j + `icj)πj .

Si on note B la matrice de coefficient generique Bi,j = ai,j + `icj et π = (πi)1≤i≤n le vecteurdes prix, alors le cout de production d’une unite de P i vaut (Bπ)i. La matrice B est appeleematrice socio-technique.

On se propose d’etudier la question suivante : existe-t-il un prix qui equilibre la croissance,c’est-a-dire tel que les benefices relatifs de chaque branche soient egaux ?

6.8.2 Equilibre de la croissance

On recherche un systeme de prix π pour lequel le profit relatif de chaque branche est lememe. Le profit relatif de la branche Bi est donne par

τi =πi − (Bπ)i

(Bπ)i

si bien que la condition τ1 = τ2 = . . . = τn = τ avec τ ∈ [0, 1] (car on cherche a ce que chaquebranche soit rentable) equivaut a

Bπ =1

1 + τπ.

Page 123: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

6.8. COMPTABILITE NATIONALE 123

Il s’agit d’un probleme aux valeurs propres.On supposera que ce probleme a une solution (il s’agit de trouver une valeur propre

comprise entre 0 et 1 et dont le vecteur propre a des elements tous positifs (car c’est unvecteur de prix).

Dans les cas concrets la matrice B contient plusieurs centaines de lignes, elle n’est passymetrique, par contre, si on numerote correctement les branches, la matrice B est souventcreuse et structuree (un grand nombre de coefficients sont nuls et les autres se repartissentplus ou moins autour de la diagonale). Ces considerations excluent l’utilisation de nombreusesmethodes pour le calcul des valeurs propres des matrices symetriques. D’autre part on n’abesoin que du rayon spectral et du vecteur propre associe. La methode de la puissance estdonc adaptee.

Ecrire un programme permettant de resoudre ce probleme. On pourra l’appliquer a l’exemplesuivant.

On considere l’economie francaise en 1980 agregee a 5 branches :

1. agriculture et industrie agro-alimentaire ;

2. energie ;

3. produits industriels ;

4. batiment ;

5. services marchands.

La matrice technique est donnee par :0 0.0663 0.2755 0.0153 0.13780 0 0.0459 0.0255 0.1072

0.1072 0.3521 0 0.0255 0.72460 0.0612 0.5052 0 0.2858

0.2909 0.2551 0.5256 0.0663 0

Page 124: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

124 CHAPITRE 6. PROJETS 2010

6.9 Modeles de trafic routier

Nous allons nous interesser a la circulation sur une route : comment, si cela est possible, peut-on rendre compte de ce qui se passe sur une route ? Bien sur, nous imaginerons une situationtres simplifiee, en commencant par considerer le cas d’une route circulaire a voie unique,autrement dit un circuit automobile ou les voitures n’auraient pas le droit de se doubler. Ily deux manieres de modeliser ce type de problemes : considerer les voitures presentes sur laroute de maniere individuelles, et aboutir a un systeme d’equations differentielles couplees. Oubien considerer une vue plus macroscopique de la route ou on definit une densite de voitures.Cette derniere approche introduit une classe de modeles un peu plus complexe que ceuxetudies dans les autres themes en ce sens qu’ils considerent des fonctions (et des equations)faisant intervenir a la fois des variables d’espaces et du temps. Ces modeles sont tres utilesdans des domaines aussi varies que celui presente ici ou celui du transport et de la diffusionde polluants dans une riviere, de la convection-diffusion de la chaleur ou d’especes chimiques,ou encore le transport de matiere et meme certains modeles financiers. Ces modeles sont dits”aux derivees partielles”. Les principes de constitution du modele restent les memes que dansd’autres contextes : recherche dOune loi de conservation puis loi de comportement.

6.9.1 Objectifs

Nous considerons un circuit de longueur L km, sans entree ni sortie, homogene (nombrede voies invariant sur la section). Ces hypotheses restrictives seront relaxees par la suite. Ondesignera par x ∈ [0, L] l’abscisse d’un point de la section et on supposera que les vehiculesse deplacent dans le sens positif des abscisses, et que le bout x = L coincide avec x = 0.L’objectif final est de rendre compte de l’etat de ce circuit relativement au trafic pendant unintervalle de temps [0, T ], par exemple :

– y-a-t-il beaucoup de vehicules sur tout ou partie de la section ?– les vehicules roulent-ils vite ou non ?– y-a-t-il des risques de bouchons ou d’ ”accordeon” ?

6.9.2 Modeles microscopiques

Pour modeliser la circulation, on peut penser tout d’abord a decrire le comportement dechaque membre de la population et assembler le tout : c’est ce qu’on appelle un modele micro-scopique. Considerons donc N voitures sur un circuit reperees par leurs distances parcouruesxi(t) par rapport a un point du circuit (la ligne de depart). La voiture i+1 est derriere la voi-ture i. Pour obtenir le comportement de ces voitures, une variable importante est la vitesse dechaque voiture, soit vi(t) = x′i(t). Trouver une relation entre les variables vi et les variables xicorrespond a se donner un comportement de l’automobiliste i par rapport a sa propre vitesseet au comportement des autres voitures. Comme l’action de l’automobiliste sur la voiture secantonne a des variations d’acceleration on cherche donc une loi reliant l’acceleration x′′i (t)avec les autres variables.

Page 125: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

6.9. MODELES DE TRAFIC ROUTIER 125

Modele lineaire

Le plus simple consiste a faire dependre l’acceleration de la voiture i de l’ecart de vitesseavec la voiture qui la precede, d’ou une loi de la forme :

x′′i (t) = λ[x′i−1(t)− x′i(t)]

avec un cas particulier pour i = 1, qui est precedee geographiquement (avec presque un tourde retard) par la voiture n, et pour laquelle la loi s’ecrit

x′′1(t) = λ[x′n(t)− x′1(t)]

Dans cette loi le parametre λ represente l’intensite de la reponse du conducteur i a unedifference de vitesse avec le vehicule qui le precede. Il pourrait dependre de i. Ce modeleporte le nom de modele lineaire de voiture suiveuse. C’est un modele tres naıf et qui mene ades resultats incompatibles avec l’observation. En effet notre experience de conducteurs nousindique que nous ne reagissons pas uniquement a la difference de vitesse avec le vehicule quinous precede, mais aussi a la distance qui nous separe de ce vehicule.

Modele de Greenberg

Pour rendre compte de ce fait, Greenberg dans les annees 60 propose de faire dependrele coefficient λ de la voiture i de cette distance, avec pour idee que plus la distance entre lesdeux voitures est faible, plus forte va etre le freinage si le conducteur de la voiture i constatequi la voiture i− 1 roule a une vitesse inferieure a la sienne. D’ou la loi :

x′′( i) =λ

xi−1(t)− xi(t)(x′i−1 − x′i(t))

Pour la meme raison que dans le modele precedent, on doit ecrire une loi particuliere pouri = 1 ; il faut de plus faire attention a enlever un tour de circuit a la derniere voiture (ou enrajouter un a la premiere) pour calculer la distance entre ces deux voitures ; d’ou :

x′′1(t) =λ

L+ xn(t)− x1(t)(x′n − x′1(t))

Modele d’Edie

Peu apres, Edie a propose une amelioration de ce modele en supposant que la reponse duconducteur est plus violente si la vitesse est elevee, independamment de celle du vehicule quile precede, d’ou la loi suivante :

x′′( i) =λx′i(t)

(xi−1(t)− xi(t))2(x′i−1 − x′i(t))

qui est connue pour etre plus fiable pour des trafics legers.

Ecrire la loi particuliere pour le premier vehicule

Page 126: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

126 CHAPITRE 6. PROJETS 2010

Modele GMG

Les centres de recherche des industries automobiles se sont interesses au probleme. Lemodele utilise par les ingenieurs de General Motors Group est une simple generalisaton dumodele d’Edie :

x′′( i) =λ(x′i(t))

m

(xi−1(t)− xi(t))p(x′i−1 − x′i(t))

avec m = 0.8 et p = 2.8 qui ont ete determines a partir de mesures experimentales.Tous ces modeles ont connus differents generalisations, introduisant par exemple un retard

de reaction du conducteur. Plus recemment, un modele a ete introduit et etudie depuis lesannees 2000 par Treiber et ses co-auteurs : le modele IDM.

Modele IDM

Modele IDM pour Intelligent Driver Model on suppose que le conducteur est raisonnableet essai a tout prix d’eviter l’accident. Ce modele un peu plus compique que les precedentsprend la forme :

x′′i (t) = a

(1−

(x′(t)

v0

)δ−(

sixi−1(t)− xi(t)

)2)

avec si = s0+x′(i)T−x′i(t)(x′i−1(t)−x′i(t))2√ab

. Dans l’expression ci-dessus l’acceleration est decomposee

en une acceleration souhaitee qui s’annule lorsqu’on atteint la vitesse a laquelle on rouleraitsi la route etait libre, et un deceleration due a la presence de la voiture precedente. Lesparametres introduits sont les suivants :

– v0 est la vitesse a laquelle on roulerait si on etait seul– T est le temps de parcours a la voiture devant soi : c’est une sorte de distance de securite

mais qui tient compte de la vitesse. Un conducteur prudent aurait T = 2s, un chauffardqui colle aux voitures qu’il suit aurait T = 0.2s ou moins

– a est l’acceleration qu’on aurait en moyenne en trafic libre (a compris entre 1 et 2 estraisonnable, a = 0.3 rend les effets ”accord eons” plus visibles

– b est la deceleration moyenne aux alentours de 1 ou 2 (avec b = 3 les effets ”accordeons” seront plus visibles)

– δ est l’exposant d’acceleration (entre 1 et 2)– s0 est la distance minimale entre deux voituresTravail a faire : ecrire un programme permettant de tester chacun de ces modeles avec

simulation graphique.Remarque : pour resoudre numerique une equation differentielle d’ordre 2 on se ramene a

un systeme d’ordre 1 puis on applique les methodes classiques (Euler, Runge-Kutta,...)

Page 127: Analyse Num erique - unistra.frirma.math.unistra.fr/~mehrenbe/polyANensiie0.pdfD e nition 4. Une matrice Qde format (M;N) avec M Nest unitaire si les colonnes de Qsont des vecteurs

Bibliographie

[1] Lascaux-Theodor, Analyse Numerique matricielle appliquee a l’art de l’ingenieur I et II,Dunod, 2000.

[2] Quarteroni, Sacco, Saleri, Methodes numeriques, algorithmes, analyse et applications.

127