• Aucun résultat trouvé

Une fa¸con de minimiser ces erreurs est d’´etudier le conditionnement de la matrice du syst`eme.3.1 El´´ ements d’analyse matricielle SoitV un espace vectoriel surRn

N/A
N/A
Protected

Academic year: 2022

Partager "Une fa¸con de minimiser ces erreurs est d’´etudier le conditionnement de la matrice du syst`eme.3.1 El´´ ements d’analyse matricielle SoitV un espace vectoriel surRn"

Copied!
22
0
0

Texte intégral

(1)

Chapitre 3 : M´ethodes de r´esolution de syst`emes lin´eaires

Parmi les erreurs intervenant dans la r´esolution d’un syst`eme lin´eaire :

les erreurs d’arrondis r´esultant du codage des valeurs r´eelles sur un nombre fini de bits (32, 64 bits,...),

les erreurs r´esultant de l’´eventuelle m´ethode d’approximation.

Une fa¸con de minimiser ces erreurs est d’´etudier le conditionnement de la matrice du syst`eme.3.1

El´´ ements d’analyse matricielle SoitV un espace vectoriel surRn.

On dit qu’une applicationk · kdeV dansR+est unenormesurV si :

1 ∀v∈Rn,kvk= 0 ⇒ v= 0,

2 ∀v∈Rn,∀α∈R,kαvk=|α|kvk(propri´et´e d’homog´en´eit´e),

3 ∀v,w∈Rn,kv+wk ≤ kvk+kwk(in´egalit´e triangulaire).

D´efinition 1(Norme vectorielle)

(2)

Les normesl,l1etl2d’un vecteurxxx= (x1,x2,· · ·,xn)t deRnsont d´efinies respective- ment par :

kxxxk= max

1≤i≤n|xi|, kxxxk1=

n

X

i=1

|xi|, et kxxxk2= ( n

X

i=1

xi2 )12

.

La normel2est appel´eenorme euclidiennedu vecteurxxx.

D´efinition 2

Pour tout vecteurxxxdeRn, on akxxxk≤ kxxxk2≤√ nkxxxk. Th´eor`eme 1

Soientxxx= (x1,x2,· · ·,xn)t etyyy = (y1,y2,· · ·,yn)t deux vecteurs deRn. Les distances l2etlentrexxxetyyysont d´efinies par

kxxx−yyyk2= ( n

X

i=1

(xi−yi)2 )1

2

, et kxxxk= max

1≤i≤n|xi−yi|.

D´efinition 3

(3)

Exemple :La solution du syst`eme lin´eaire

3.3330x1 + 15920x2 − 10.333x3 = 15913 2.2220x1 + 16.710x2 + 9.6120x3 = 28.544 1.5611x1 + 5.1791x2 + 1.6852x3 = 8.4254

est (x1,x2,x3)t = (1.0000,1.0000,1.0000). Supposons maintenant que la pr´ecision est de 5 chiffres apr`es la virgule. Alors l’algorithme de Gauss conduit `a la solution

˜ x

xx= (˜x1,˜x2,˜x3)t= (1.2001,0.99991,0.92538)t.

L’erreur comise peut ˆetre mesur´ee en calculant les normesl2etldexxx−˜xxx: kxxx−xx˜xk2= 0.21356 et kxxx−x˜xxk= 0.2001.

On dit qu’une applicationk · kdeMn(R) dansR+est unenorme matricielle si :

1 ∀A∈ Mn(R),kAk= 0 ⇒ A= 0,

2 ∀A∈ Mn(R),∀α∈R,kαAk=|α|kAk(propri´et´e d’homog´en´eit´e),

3 ∀A,B∈ Mn(R),kA+Bk ≤ kAk+kBk(in´egalit´e triangulaire),

4 ∀A,B∈ Mn(R), kABk ≤ kAkkBk.

D´efinition 4(Norme matricielle)

(4)

Remarque : La notation des normes vectorielle et matricielle est la mˆeme.

Sik · kest une norme vectorielle surRn, alorskAk= max

kxk=1kAxxxkest une norme matricielle. Cette norme est appel´eenorme subordonn´ee`a la norme vectoriellek · k.

Soientxxxun vecteur non nul deRnetAune matricen×n. AlorskAxxxk ≤ kAk kxxxk.

Proposition 1

On d´efinit les normesl,l1etl2d’une matriceAsurMn(R) respectivement par : kAk= max

kxxxk=1kAxxxk, kAk1= max

kxxxk1=1kAxxxk1 et kAk2= max

kxxxk2=1kAxxxk2. D´efinition 5

SoitA= (aij) une matrice deMn(R). Alors,

kAk= max

1≤i≤n n

X

j=1

|aij|, kAk1= max

1≤j≤n n

X

i=1

|aij|.

Proposition 2

(5)

3.2 Conditionnement d’une matrice Le syst`eme lin´eaireAxxx=bbbavecA=

1 2 1.0001 2

etbbb=

3 3.0001

a pour solution x

xx= (1,1)t. Notons ˜xxx= (3,0)t une approximation de la solution de ce syst`eme. Alors levecteur r´esidu rrrest :

rrr=bbb−A˜xxx= 0

−0.0002

, et donckrrrk= 0.0002. Orkxxx−xxxk˜ = 2 ! !

Soit le syst`eme lin´eaireAxxx=bbbavecAune matrice inversible. Soient ˜xxxune approximation dexxxetrrr=b−A˜xxxle vecteur r´esidu. Alors pour n’importe quelle norme,

kx−xx˜xk ≤ krrrk kA−1k, et sixxx6= 0,bbb6= 0,

kxxx−xx˜xk

kxxxk ≤ kAk kA−1kkrrrk kbbbk. Proposition 3

Remarque :Les quantit´eskA−1ketkAk kA−1kdonnent une indication sur le lien entre le vecteur r´esidu et la pr´ecision de l’approximation.

(6)

Pour une matriceA∈ Mn(R) inversible on d´efinit lenombre de conditionnementdeA par rapport `a la normek · kpar

cond(A) =kAk kA−1k.

D´efinition 6

Ainsi,kxxx−xxxk ≤˜ cond(A)kkrrrk

kAk et kxxx−xxxk˜

kxxxk ≤cond(A)kkrrrk

kbbbk.Remarques.

1 Le conditionnement exprime la sensibilit´e de la solution aux perturbations des donn´ees.

2 cond(A)≥1. Une matrice est ditemal conditionn´eesicond(A)1.

3 Il faut calculerA−1pour calculercond(A) ce qui est g´en´eralement trop coˆuteux : on calcule alors une approximation decond(A).

(7)

Exemple de R.S. Wilson :

On s’int´eresse `a la sensibilit´e du syst`eme lin´eaireAx=b`a des perturbations du second membreb

ou de la matriceAavecA=

10 7 8 7

7 5 6 5

8 6 10 9

7 5 9 10

 etb=

 32 23 33 31

 .

La solution de ce syst`eme est :x= (1,1,1,1).

Perturbons le second membre de sorte quebp= (32.01,22.99,33.01,30.99). La solution de Axp=bpestxp= (1.82,−0.36,1.35,0.79).

L’erreur relative surxest kx−xpk2 kxk2

= 0.8198 alors que l’erreur relative surbest k∆bk2

kbk2

= 3.3119 10−4.

Soit une amplification de la perturbation de l’ordre de 2460 !

(8)

Exemple de matrice mal conditionn´ee : la matrice de Hilbert

Hn=

1 12 13 . . . 1n

1 2

1 3

1

4 . . . n+11

1 3

1 4

1

4 . . . n+11

.. .

.. .

..

. . . .

.. .

1 n

1 n+1

1

n+2 . . . 2n−11

n 2 3 4 5 6

cond(Hn) 1.93 101 5.24 102 1.55 104 4.77 105 1.49 107

(9)

3.3 M´ethodes directes de r´esolution de syst`emes lin´eaires

On cherche `a r´esoudre des syst`emes lin´eaires de la formeAx=bavecAune matrice carr´ee d’ordren.

Quelques rappels

Produit matriciel. SoientA= (aij)1≤i≤n,1≤j≤metB= (bij)1≤i≤m,1≤j≤pdeux matrices de taillen×metm×presp. Alors les coefficients de la matriceC=ABsont :

Cij=Pm k=1aikbkj.

Une matrice carr´ee est ditetriangulaire sup´erieurelorsqueaij= 0 d`es quei>j et est dite triangulaire inf´erieurelorsqueaij= 0 d`es quei<j.

Une matrice carr´eeAd’ordrenest diteinversible ou r´eguli`ere ou non singuli`eres’il existe une matriceBd’ordrentelle queAB=BA=In,In´etant la matrice identit´e d’ordren. On note alorsB,A−1. Une matrice qui n’est pas inversible est ditesinguli`ere.

Le d´eterminant d’une matriceA= (aij) d’ordrenest :det(A) =Pn

j=1(−1)1+ja1jdetA1javec A1jles sous-matrices d’ordren.

(10)

SoientAune matrice r´eelle d’ordrenetb∈Rn. On consid`ere le syst`eme lin´eaire

Ax=b. (S)

Le syst`eme (S) admet une unique solution si et seulement si l’une des propositions ci- dessous est vraie.

1 La matriceAest inversible.

2 rg(A) =n.

3 Le syst`eme homog`eneAx= 0 admet uniquement la solution nulle.

Ces trois propositions sont ´equivalentes.

Proposition 4(Existence et unicit´e.)

La solution du syst`eme (S) est donn´ee par la formule de Cramer : xj= Dj

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

Djest le d´eterminant de la matrice obtenue en rempla¸cant laj-`eme colonne deAparb.

Proposition 5

(11)

On peut montrer que le nombre de multiplications requises pour calculer le d´eterminant d’une matrice carr´een×nest sup´erieur `an!.

Sin= 50, r´esoudre un syst`eme lin´eairen×npar la m´ethode de Cramer sur un ordinateur 1 gigaflop n´ecessite environ4,8.1049ann´ees ! !

Objectif: R´eduire le temps de calcul pour r´esoudre un syst`eme lin´eaire en utilisant des m´ethodes de r´esolution exacte ou approch´ee.

m´ethodes directesde r´esolution d’un syst`eme lin´eaire sont des m´ethodes num´eriques permettant d’obtenir une solution en un nombre fini d’it´erations.

m´ethodes it´erativesde r´esolution d’un syst`eme lin´eaire sont des m´ethodes num´eriques permettant d’obtenir une solution en un nombre infini (th´eoriquement) d’it´erations.

(12)

3.3.1 M´ethode de Gauss

Objectif :Transformer le syst`emeAx=ben un syst`eme ´equivalent de la formeUx=ˆb, o`uUest une matrice triangulaire sup´erieure etˆbest le second membre convenablement modifi´e.

On appelleop´erations ´el´ementairessur les lignes d’une matrice les trois op´erations sui- vantes :

i) ´Echangede deux lignes (Li ↔Lj).

ii) Multiplicationd’une ligne par une constante non nulle (Li←λLi).

iii) Substitution : remplacer une ligne par elle-mˆeme plus un multiple d’une autre ligne (Li←Li+λLj).

D´efinition 7

On rappelle que deux syst`emes sont dits´equivalentss’ils ont le mˆeme ensemble de solutions.

On ne modifie pas l’ensemble des solutions d’un syst`eme lin´eaire en appliquant une ou plusieurs op´erations ´el´ementaires `a sa matrice augment´ee.

Th´eor`eme 2

(13)

SoitA= (aij).

It´erationk: en permutant ´eventuellement deux lignes du syst`eme (S), on peut supposer queakk6= 0.

On transforme toutes les lignesLi aveci>k de la fa¸con suivante : Li←Li− aik

akk

Lk. Le termeakk est appel´epivot.

M´ethode(du pivot de Gauss)

(14)

Remarques

L’algorithme de Gauss ci-dessus ne prend pas en compte la recherche d’un pivot non nul ! Dans la pratique il faut rajouter cette ´etape.

Le nombre d’op´erations n´ecessaires `a la r´esolution d’un syst`eme de taillen

I pour l’algorithme de Gauss `a l’it´erationkest :

F (nk) + (nk)(nk+ 1) = (nk)(nk+ 2) multiplications/divisions, F (nk)(nk+ 1) additions/soustractions,

le nombre total d’op´erations pour l’algorithme de Gauss est donc 16(2n3+ 3n2−5n) +13(n3−n).

I pour l’algorithme de substitution r´etrograde :

F 1

2(n2+n) multiplications/divisions, F 1

2(n2n) additions/soustractions.

Le nombre total d’op´erations est : (n33+n2n3) + (n33+n225n6), c’est-`a-dire de l’ordre de O(23n3).

(15)

Une matrice est unematrice ´el´ementairesi elle r´esulte d’une unique op´eration ´el´ementaire effectu´ee sur les lignes de la matrice identit´e.

D´efinition 8

Il existe donc trois types de matrices ´el´ementaires, correspondant aux trois types d’op´erations

´el´ementaires :

Ea: multiplier une (ou plusieurs) ligne(s) de la matrice identit´e para6= 0, Ee: permuter deux lignes de la matrice identit´e,

Ej(c) : ajoutercfois laj-`eme ligne de la matrice identit´e `a une (ou plusieurs) de ses autres lignes.

SoientAune matrice quelconque etEune matrice ´el´ementaire r´esultant d’une certaine op´eration ´el´ementaire effectu´ee sur une lignes de la matrice identit´e. Alors, la matriceEA est le r´esultat de la mˆeme op´eration ´el´ementaire appliqu´ee aux lignes deA.

Proposition 6

Toute matrice ´el´ementaire est inversible, et on a : [Ea]−1=E1

a

,a6= 0, [eE]−1=Ee,

[E(c)]−1=E(−c).

Proposition 7

(16)

Soienta(k)ij les coefficients de la matrice obtenue `a lak-`eme it´eration de l’algorithme de Gauss appliqu´ee `aAd’ordren.

Supposons que tous les pivotsa(k)kk sont non nuls.

La matrice ´el´ementaire,E(k), correspondant `a lak-`eme it´eration de l’algorithme de Gauss vaut :

E(k)=

1 0

0 . .. 0

..

. 1 0

..

. −mk+1k 1 0

.. .

..

. . .. 0

0 −mnk 1

, avecmik= a(k)ik a(k)kk

, pouri=k+ 1, . . . ,n.

La matrice triangulaire sup´erieure,U, obtenue apr`es (au plus)nit´erations de l’algorithme de Gauss s’´ecrit :

U=E(n−1)E(n−2). . .E(1)A.

(17)

3.3.2 D´ecomposition (factorisation)LU

Principe :Ecrire la matrice´ Acomme produit d’une matriceLtriangulaire inf´erieure et d’une matriceUtriangulaire sup´erieure.

L=

l11 0 0 . . . 0

l21 l22 0 . . . 0

l31 l32 l33 . . . 0

.. .

.. .

..

. . .. ... ln1 ln2 ln3 . . . lnn

 U=

u11 u12 u13 . . . u1n

0 u22 u23 . . . u2n

0 0 u23 . . . u2n

.. .

.. .

..

. . .. ...

0 0 0 . . . unn

Ainsi la solution du syst`emeAx=best obtenue en r´esolvant successivement les deux syst`emes triangulairesLy=betUx=y.

Les matricesLetUainsi d´efinies ne sont pas uniques. En effet, il y an2coefficients dans la matriceAetn2+ncoefficients inconnus dans les matricesLetU.

On impose par exemple aux coefficients diagonaux deLd’ˆetre ´egaux `a 1.

(18)

Appliquons l’algorithme de Gauss `a la matriceAet supposons que tous les pivotsa(k)kk sont non nuls. L’´ecriture matricielle de l’algorithme de Gauss,U=E(n−1)E(n−2). . .E(1)A, conduit `a

A= [E(n−1)E(n−2). . .E(1)]−1U.

En posantL= [E(n−1)E(n−2). . .E(1)]−1= (E(1))−1. . .(E(n−1))−1, on obtient bien la d´ecompositionA=LU. On v´erifie que :

la matriceUest triangulaire sup´erieure,

la matriceLainsi d´efinie est une matrice triangulaire inf´erieure, lak-i`eme colonne deLest lak-i`eme colonne de (E(k))−1vaut

(0 . . .1mk+1k . . .mn k)t.

Quelles sont les matrices ne n´ecessitant pas de permutation de lignes dans l’algorithme de Gauss ?

SoitA= (aij)1≤i,j≤nune matrice carr´een×n. La matriceAest dite `adiagonale stric- tement dominantesi|aii|>Pn

j=1,j6=1|aij|,i= 1, . . . ,n.

D´efinition 9

Une matrice `a diagonale strictement dominante est inversible.

Proposition 8

(19)

On appellesous-matrices diagonales d’ordrek les matrices d´efinies pourk = 1,· · ·,n par

k=

a11 . . . a1k

..

. . .. . . .

ak1 . . . akk

. D´efinition 10

SoitA= (ai,j)1≤i,j≤n une matrice d’ordren. Si les sous-matrices diagonales d’ordrek deAsont inversibles, alors la d´ecompositionLUdeAexiste et est unique.

Th´eor`eme 3(Existence et Unicit´e de la d´ecomposition)

Que faire si un pivot est nul ?

On ´echange deux lignes de la matriceA, autrement dit on applique une matrice de permutation `a A.

Pour toute matriceA, il existe au moins une matrice de permutationPtelle que la matrice PAadmette une d´ecompsitionLU.

Proposition 9

(20)

3.3.4 D´ecomposition de Cholesky

Principe : Pour une matriceAsym´etrique d´efinie positive faire une d´ecompositionLUo`u U=LT.

La matriceAest ditesym´etrique d´efinie positivesi elle est sym´etrique et sixAxT >0 pour tout vecteurxdeRnnon nul.

D´efinition 11

SiAest une matrice d´efinie positive alors i) Aest inversible.

ii) aii>0 pouri= 1,· · ·,n.

iii) maxi≤k,j≤n|akj| ≤max1≤i≤n|aii|.

Une matrice est d´efinie positive si et seulement si ses sous-matrices diagonales ont un d´eterminant strictement positif.

Proposition 10

LorsqueAest d´efinie il existe une matriceMinversible telle queA=MMT. IciMn’est pas unique.

Soit A ∈ Rn×n une matrice sym´etrique d´efinie positive. Alors, il existe une unique matrice triangulaire inf´erieureHdont les coefficients diagonaux sont strictement positifs

Th´eor`eme 4

(21)

Comment calcule-t-on la matriceH?

De la d´efinition du produit matriciel et du fait queLetUsont des matrices triangulaires on a

aij=

n

X

s=1

hishsj=

min(i,j)

X

s=1

hishsj.

On en d´eduit queh11=√

a11et pouri= 2, . . . ,n

hij=

aij

j−1

X

k=1

hjkhik

/hjj, j= 1, . . . ,i−1,

hii= v u u t aii

i−1

X

k=1

h2ik

! .

(22)

Pourquoi faire une d´ecompositionLU?

1 La d´ecompositionLUn´ecessite un nombre d’op´erations de l’ordre de n33.

2 La d´ecompositionLUpermet de calculerA−1,det(A),rg(A),Ker(A)

3 Une approximation deLet deUfournit un pr´econditionneur deA. Pourquoi faire une d´ecomposition de Cholesky ?

1 La d´ecomposition de Cholesky n´ecessite un nombre d’op´erations de l’ordre de n63, alors que la m´ethode de Gauss n´ecessite un nombre d’op´erations de l’ordre de n33.

2 La d´ecomposition de Cholesky permet de calculerA−1,det(A) de calculer le conditionnement deA, de calculer un pr´econditionneur.

Références

Documents relatifs

M´ ethodes

Un peu plus subtile, ne modifie pas b, donc on peut utiliser la même décomposition pour tout vecteur b, donne A-1 et les vecteurs propres.. Gauss Jordan (pivot

On consid`ere un volume d’eau qui contient 50 kg de sucre dissous lorsque la concentration est satur´ee.. Trois heures plus tard, il reste 25 kg de sucre

Soit A une matrice hermitienne d´efinie positive. Cet algorithme est-il appliquable `a des matrices non hermitiennes ? Expliquer comment utiliser la d´ecomposition de Choleski

a diagonale strictement dominante est inversible et la m´ ethode de Jacobi converge pour cette matrice.. Voir les exercices 5 et

Un formulaire manuscrit d’une feuille A4 recto-verso est autoris´ e. Les calculatrices scientifiques de base sont

c) Montrer que, s’il existe une norme matricielle subordonn´ ee k k telle que kBk &lt; 1, alors la m´ ethode it´ erative ci-dessus est convergente... F ) la matrice triangulaire

Exercice 3 : Sens de variation d’une fonction homographique.. Soient a, b, c, d quatre nombres r´ eels