Carte Mn Letitia Mirea

195
Capitolul 1 CALCULUL ÎN VIRGULĂ MOBILĂ 1.1 Aritmetica în virgulă mobilă Rezolvarea diferitelor probleme cu ajutorul calculatorului numeric depinde, într-o prima instanţă, de posibilitatea de a reprezenta numerele în maşina de calcul folosită. Această posibilitate depinde de tipul numerelor şi de structura constructivă (“hardware”) a echipamentului de calcul, anume: baza de reprezentare a numerelor (baza maşinii de calcul) şi lungimea cuvântului de memorie. Ca urmare, se poate reprezenta un număr finit de cifre în sistemul de numeraţie folosit. Din acest punct de vedere, numerele întregi şi cele reale suferă un tratament diferit, după cum se detaliază în continuare. Astfel, numerele întregi reprezentabile în calculator, care formează mulţimea notată cu I, constituie o submulţime finită a mulţimii numerelor întregi Z: . Reprezentarea acestor numere este exactă, iar aritmetica cu aceste numere este de asemenea exactă, excepţie facând operaţia de împărţire, în general. Z I Astfel, domeniul valorilor întregi reprezentabile în calculatorul numeric este: } M z m / z { I I I = Z , unde mărimile şi depind de următoarele: spaţiul de memorie pus la dispoziţie pentru acest tip de numere, baza de numeraţie folosită, precum şi modul de reprezentare a acestor numere. Notând cu I m I M α baza de reprezentare a numerelor întregi şi cu numărul de cifre în baza I t α care pot fi reprezentate pe un cuvânt sau multiplu de cuvânt de memorie, se pot scrie relaţiile: 1 M , m 1 t I 1 t I I I α = α = . Dacă baza de numeraţie este doi şi sunt 16 t I = cifre binare, atunci domeniul de reprezentare pentru numere întregi este cuprins între 15 2 şi . Dacă numărul de cifre binare este 1 2 15 32 t I = , atunci domeniul de reprezentare este cuprins între 31 2 şi . 1 2 31 Încercarea de a opera cu numere care nu aparţin domeniului I de reprezentare, determină, la majoritatea calculatoarelor numerice, emiterea unor

description

Letitia MireaMetode numerice

Transcript of Carte Mn Letitia Mirea

Page 1: Carte Mn Letitia Mirea

Capitolul 1 CALCULUL ÎN VIRGULĂ MOBILĂ

1.1 Aritmetica în virgulă mobilă

Rezolvarea diferitelor probleme cu ajutorul calculatorului numeric depinde, într-o prima instanţă, de posibilitatea de a reprezenta numerele în maşina de calcul folosită. Această posibilitate depinde de tipul numerelor şi de structura constructivă (“hardware”) a echipamentului de calcul, anume: baza de reprezentare a numerelor (baza maşinii de calcul) şi lungimea cuvântului de memorie. Ca urmare, se poate reprezenta un număr finit de cifre în sistemul de numeraţie folosit. Din acest punct de vedere, numerele întregi şi cele reale suferă un tratament diferit, după cum se detaliază în continuare.

Astfel, numerele întregi reprezentabile în calculator, care formează mulţimea notată cu I, constituie o submulţime finită a mulţimii numerelor întregi Z:

. Reprezentarea acestor numere este exactă, iar aritmetica cu aceste numere este de asemenea exactă, excepţie facând operaţia de împărţire, în general.

Z⊂I

Astfel, domeniul valorilor întregi reprezentabile în calculatorul numeric este:

}Mzm/z{I II ≤≤∈= Z ,

unde mărimile şi depind de următoarele: spaţiul de memorie pus la dispoziţie pentru acest tip de numere, baza de numeraţie folosită, precum şi modul de reprezentare a acestor numere. Notând cu

Im IM

α baza de reprezentare a numerelor întregi şi cu numărul de cifre în baza It α care pot fi reprezentate pe un cuvânt sau multiplu de cuvânt de memorie, se pot scrie relaţiile:

1M,m 1tI

1tI

II −α=α−= −− .

Dacă baza de numeraţie este doi şi sunt 16t I = cifre binare, atunci domeniul de reprezentare pentru numere întregi este cuprins între 152− şi . Dacă numărul de cifre binare este

1215 −32t I = , atunci domeniul de reprezentare este

cuprins între 312− şi . 1231 −Încercarea de a opera cu numere care nu aparţin domeniului I de

reprezentare, determină, la majoritatea calculatoarelor numerice, emiterea unor

Page 2: Carte Mn Letitia Mirea

2 1. Calculul în virgulă mobilă

mesaje de eroare fatală, programele implicate fiind abandonate: “depăşire (binară) inferioară” (dacă Imz < ), respectiv “depăşire (binară) superioară” (dacă ). IMz >

Uzuală este reprezentarea în baza de numeraţie doi, alocându-se o cifră binară pentru semn şi cifre pentru număr, anume reprezentarea în cod complementar faţă de baza definită astfel:

1t I −α

⎩⎨⎧

<−α≥

=0z|,z|0z,z

zItc .

Spre deosebire de numerele întregi, în general numerele reale se reprezintă aproximativ în calculatorul numeric. În continuare se definesc două submulţimi ale numerelor reale şi anume:

• submulţimea G care conţine numerele reale care s-ar putea reprezenta în calculatorul numeric;

• submulţimea F care conţine numerele reale care se reprezintă efectiv în calculatorul numeric.

În timp ce mulţimea G, ca şi mulţimea numerelor reale ℜ , are un număr infinit de elemente, mulţimea F are un număr finit de elemente, relaţia care se poate scrie între aceste mulţimi fiind: ℜ⊂⊂ GF . Metoda cea mai larg folosită pentru reprezentarea numerelor reale în calculator, numere care aparţin mulţimii F, este cea a virgulei mobile.

Definiţie:

Prin aritmetica virgulei mobile se înţeleg următoarele: (a) un model matematic de reprezentare a numerelor (definirea mulţimii F); (b) o modalitate de reprezentare a numerelor din mulţimea G în calculatorul

numeric, altfel spus o modalitate de implementare în calculator a modelului (definirea operatorului de rotunjire, notat cu fl);

(c) operaţiile elementare: adunarea, scăderea, înmulţirea şi împărţirea definite cu numerele mulţimii F.

Acestea sunt detaliate în secţiunile următoare ale acestui subcapitol.

1.1.1 Numere în virgulă mobilă

Conceptul de număr în virgulă mobilă se poate introduce prin exemplul următor.

Exemplul 1.1:

Fie numărul real . Acesta se poate scrie şi sub următoarele 56789,1234x =

Page 3: Carte Mn Letitia Mirea

1.1 Aritmetica în virgulă mobilă 3

forme:

4

650

10123456789,0

1090012345678,0100,1234567891056789,1234x

×=

=×=×=×= −

Corespunzător ultimei forme scrise, se denumesc şi se notează următoarele elemente:

• mantisă (fracţie), notată cu f, reprezentând numărul fracţionar; • exponent, notat cu e, reprezentând exponentul la care este ridicată baza

de numeraţie folosită; • baza de numeraţie, notată cu β , în cazul de faţă egală cu 10; • numărul cifrelor mantisei, notat cu litera t.

Rezultă, aşadar, că poziţia virgulei poate fi modificată, cu adaptarea corespunzătoare a exponentului. Din acest punct de vedere, se spune că numerele întregi tratate anterior sunt reprezentate în virgulă fixă.

Definiţie:

O mulţime de numere în virgulă mobilă este definită prin următorii parametri: (a) - β baza maşinii de calcul; (b) t - numărul de cifre în baza β utilizate pentru a reprezenta partea

fracţionară (precizia maşinii de calcul); (c) L - cel mai mic exponent (limita de depăşire inferioară); (d) U - cel mai mare exponent (limita de depăşire superioară).

Exponentul e este cuprins între valorile: UeL ≤≤ .

Definiţie:

Mulţimea F de numere în virgulă mobilă este:

}0{}fx/x{F e ∪β⋅=ℜ∈= , unde:

UeL

t,,1i,1d0,ddd

f itt

ii1

≤≤

=−β≤≤⎟⎟⎠

⎞⎜⎜⎝

β++

β++

β±= …

unde f este mantisa (fracţia), e este exponentul, β este baza maşinii, t este numărul de cifre în baza β şi sunt cifrele bazei. id

Dacă pentru orice , prima cifră a fracţiei, , este diferită de zero, atunci se spune că

}0{\Fx∈ 1dsistemul de numere în virgulă mobilă este normalizat. În

acest caz, poate fi scrisă relaţia: 1|f|/1 <≤β .

Page 4: Carte Mn Letitia Mirea

4 1. Calculul în virgulă mobilă

Orice număr este cuprins între două valori extreme: }0{\Fx∈

)1(M,M

M|x|mtU1L −− β−⋅β=β=

≤≤

Acestea se numesc: m – cel mai mic număr real pozitiv reprezentabil, iar M – cel mai mare număr real pozitiv reprezentabil. În acest caz, mulţimea G se poate defini ca fiind:

]M,m[}0{]m,M[}0{}M|x|m/x{G ∪∪−−=∪≤≤ℜ∈= .

Încercarea de a opera cu numere nenule care nu se încadrează între aceste limite conduce, pentru majoritatea calculatoarelor numerice, la emiterea unor mesaje de eroare fatală, care vor determina abandonarea programului: “depăşire flotantă inferioară” (dacă m|x| < ), respectiv “depăşire flotantă superioară” (dacă M ). În unele implementări, se atribuie valoarea zero pentru numerele din prima categorie menţionată, fără emiterea mesajului de eroare, împreună cu emiterea unui mesaj de avertizare.

|x| >

Exemplul 1.2:

Se consideră o mulţime de numere în virgulă mobilă normalizată cu următorii parametri: , 2=β 3t = , 1L −= , 2U = . Rezultă, conform relaţiilor scrise mai sus: şi 4/1m = 2/7M = . Elementele mulţimii F sunt în acest caz:

}2,1,0,1{e,2111.,2110.,2101.,2100. eeee −∈×±×±×±×± .

Numărul elementelor mulţimii F este: 33)F(card = . Elementele pozitive ale mulţimii F sunt prezentate în Figura 1.1.

0 2-2 2-1 20 21

41m=

27M =

Fig. 1.1 Elementele pozitive ale mulţimii numerelor în virgulă mobilă

( 2=β , , 3t = 1L −= , 2U = , reprezentare normalizată)

Mulţimea F este o mulţime finită. Între puterile succesive ale lui β numerele din mulţimea F sunt echidistante, numărul acestora fiind constant. Numărul de elemente ale lui F este dat de relaţia:

1)1LU()1(2)F(card 1t ++−⋅−β⋅β⋅= − ,

Page 5: Carte Mn Letitia Mirea

1.1 Aritmetica în virgulă mobilă 5

în care mărimea reprezintă numărul constant de elemente dintr-un interval definit de către două puteri succesive ale bazei şi

reprezintă numărul de intervale determinate de către puterile succesive ale lui β . Produsul acestora este multiplicat cu 2 pentru a include atât numerele pozitive, cât şi pe cele negative. Valoarea 1 este adăugată pentru elementul 0.

1tt1t )1( −− β−β=−β⋅ββ

1LU +−

Concluzii: (a) Numerele aparţinând mulţimii F nu sunt echidistante în domeniul lor de

existenţă; acestea sunt mai “dese” în apropierea originii (puterile lui scad) şi mai “rare” spre extremităţile mulţimii F (puterile lui

ββ cresc).

(b) Numerele sunt echidistante numai între puterile succesive ale lui β . (c) Datorită faptului că mulţimea F are un număr finit de elemente, nu se pot

reprezenta continuu, în detaliu, toate numerele reale; mai mult, fiecare număr din mulţimea F este asociat unui întreg interval din mulţimea G, deci unui întreg interval de numere reale.

Uzuală este reprezentarea normalizată în baza de numeraţie doi, alocându-se o poziţie binară pentru semn, un număr de poziţii binare pentru exponent şi t cifre binare pentru mantisă. Deoarece tipul de semn al numărului este memorat, pentru fracţie se realizează o reprezentare a întregului t

t21 ddd β⋅… (valoarea absolută a mantisei). De asemenea, pentru a nu se memora semnul şi pentru exponent, se reprezintă un număr întreg pozitiv: 0EeC ≥+= , mărimea E numindu-se deplasament, iar mărimea C numindu-se caracteristică. Cum reprezentarea este normalizată, prima cifră a fracţiei este 1d1 = şi nu se mai reprezintă. Astfel, se câştigă încă o poziţie binară pentru fracţie. Se spune că se realizează o reprezentare normalizată cu “poziţie binară ascunsă” (în limba engleză, “hidden bit”).

Exemplul 1.3:

Pentru 2=β şi 32 de poziţii binare pentru un număr real, reprezentarea se realizează în simplă precizie, iar pentru 64 de poziţii binare pentru un număr real, reprezentarea se realizează în dublă precizie.

După standardul IEEE (abreviere din limba engleză, “the Institute of Electrical and Electronics Engineers” Inc. USA), pentru 2=β rezultă ,

şi pentru reprezentarea în simplă precizie şi , , pentru reprezentarea în dublă precizie. Rezultă, de

asemenea, pentru reprezentarea în simplă precizie: şi , iar pentru reprezentarea în dublă precizie: şi .

24t =126L −= 127U = 53t =1022L −= 1023U =

3810m −≅ 3810M +≅30810m −≅ 30810M +≅

Page 6: Carte Mn Letitia Mirea

Capitolul 1 CALCULUL ÎN VIRGULĂ MOBILĂ

Uzuală este reprezentarea normalizată în baza de numeraţie doi, alocându-se o poziţie binară pentru semn, un număr de poziţii binare pentru exponent şi t cifre binare pentru mantisă. Deoarece tipul de semn al numărului este memorat, pentru fracţie se realizează o reprezentare a întregului t

t21 ddd β⋅… (valoarea absolută a mantisei). De asemenea, pentru a nu se memora semnul şi pentru exponent, se reprezintă un număr întreg pozitiv: 0EeC ≥+= , mărimea E numindu-se deplasament, iar mărimea C numindu-se caracteristică. Cum reprezentarea este normalizată, prima cifră a fracţiei este 1d1 = şi nu se mai reprezintă. Astfel, se câştigă încă o poziţie binară pentru fracţie. Se spune că se realizează o reprezentare normalizată cu “poziţie binară ascunsă” (în limba engleză, “hidden bit”).

Exemplul 1.3:

Pentru 2=β şi 32 de poziţii binare pentru un număr real, reprezentarea se realizează în simplă precizie, iar pentru 64 de poziţii binare pentru un număr real, reprezentarea se realizează în dublă precizie.

După standardul IEEE (abreviere din limba engleză, “the Institute of Electrical and Electronics Engineers” Inc. USA), pentru 2=β rezultă ,

şi pentru reprezentarea în simplă precizie şi , , pentru reprezentarea în dublă precizie. Rezultă, de

asemenea, pentru reprezentarea în simplă precizie: şi , iar pentru reprezentarea în dublă precizie: şi .

24t =126L −= 127U = 53t =1022L −= 1023U =

3810m −≅ 3810M +≅30810m −≅ 30810M +≅

1.1.1 Reprezentarea aproximativă a numerelor. Scheme de rotunjire

Oricare ar fi un număr 0x,Gx ≠∈ , acesta poate fi scris sub forma:

. (1.1) tee gfx −β⋅+β⋅=

Se vor considera fracţiile normalizate, deci sunt îndeplinite relaţiile: 1|g|0,1|f|/1 <≤<≤β .

Page 7: Carte Mn Letitia Mirea

2 1. Calculul în virgulă mobilă

Nu toate numerele din mulţimea G se pot reprezenta exact, datorită faptului că numai t cifre în baza β pot fi reţinute pentru fracţie. În aceste condiţii, se spune că numărul este reprezentat aproximativ (rotunjit). Se defineşte operatorul de rotunjire fl: . Există mai multe modalităţi de definire a acestuia şi anume:

FG:fl →

(a) rotunjirea prin tăiere (trunchiere): fl(x) este cel mai apropiat element , de , cu proprietatea |Fc∈ Gx∈ x||c| ≤ .

Această modalitate de rotunjire este ilustrată în Figura 1.2. Astfel, oricare ar fi numărul , acesta va fi reprezentat prin elementul . Expresia

aproximantului pentru numărul real x este: . )c,c[x 32∈ 2c

ef)x(fl β⋅=

x

c1 c2 c3 ∈ F Fig. 1.2 Principiul rotunjirii prin tăiere (trunchiere): )c,c[x,c)x(fl 322 ∈∀=

Exemplul 1.4:

Se consideră un sistem de numere în virgulă mobilă cu 10=β , . Fie numărul . Numărul x se poate scrie sub forma (1.1):

4t =734,12945x =

4555 105734,0101294,01012945734,0x −⋅+⋅=⋅= , unde . Rezultă, aşadar, valoarea reţinută pentru

reprezentare şi rotunjită prin tăiere: . Aceasta corespunde numărului .

5734,0g;5e;1294,0f ===5101294,0)x(fl ⋅=

x12940 ≠

(b) rotunjirea simetrică: fl(x) este cel mai apropiat element Fc∈ , de (a se vedea Figura 1.3).

Gx∈

Analizând Figura 1.3, rezultă că oricare ar fi numerele x şi y din intervalul definit de elementele aflate la mijlocul intervalelor şi, respectiv,

, acestea vor fi reprezentate prin elementul al mulţimii F, expresia pentru fl(x) fiind în acest caz:

)c,c( 21

)c,c( 32 2c

⎪⎪⎩

⎪⎪⎨

β≥β±β⋅

β<β⋅

=−

2,0|g|,f

2,0|g|,f

)x(fltee

e

.

Page 8: Carte Mn Letitia Mirea

1.2 Propagarea erorilor în calculele numerice 3

În ultima expresie, semnul “+” se consideră pentru şi semnul “-“ se consideră pentru .

0f >0f <

x y

c1 c2 c3 ∈ F Fig. 1.3 Principiul rotunjirii simetrice:

)2/)cc(,c(y),c,2/)cc((x;c)y(fl,c)x(fl 32222122 +∈∀+∈∀==

Neajunsul acestei maniere de reprezentare constă în faptul că dacă numărul x este situat la jumătatea distanţei dintre două numere consecutive din mulţimea F, atunci fl(x) poate lua oricare din cele două valori învecinate.

(c) rotunjirea uniformă (metoda cifrei pare) În acest caz, fl(x) are următoarea expresie:

⎪⎪⎪⎪

⎪⎪⎪⎪

−β

=β⋅

−β

=β±β⋅

β>β±β⋅

β<β⋅

=−

parafcifraultima,2

,0|g|,f

imparafcifraultima,2

,0|g|,f

2,0|g|,f

2,0|g|,f

)x(fl

e

tee

tee

e

.

În această expresie de definiţie, semnul “+” se consideră pentru şi semnul “-“ se consideră pentru . Această modalitate de reprezentare este adoptată şi de standardul IEEE.

0f >0f <

Exemplul 1.5:

Se consideră , şi o rotunjire uniformă. 10=β 4t =

(a) . 455 104994,0101294,09942,12944x −⋅+⋅==Se observă că |g| este mai mic decât 0.5, deci:

)x12940(101294,0)x(fl 5 ≠=⋅= .

(b) . 466 1051,0101295,0129551x −⋅+⋅==Se observă că |g| este mai mare decât 0.5, deci:

)x129600(10101295,0)x(fl 466 ≠=+⋅= − .

(c) . 444 105,0101297,05,1297x −⋅+⋅==

Page 9: Carte Mn Letitia Mirea

4 1. Calculul în virgulă mobilă

Se observă că |g| este egal cu 0.5 şi ultima cifră a lui f este impară, deci: )x1298(10101297,0)x(fl 444 ≠=+⋅= − .

(d) . 444 105,0101296,05,1296x −⋅+⋅==Se observă că |g| este egal cu 0.5 şi ultima cifră a lui f este pară, deci:

)x1296(101296,0)x(fl 4 ≠=⋅= .

1.1.2 Operaţii elementare în virgulă mobilă

Se definesc operaţiile elementare care au loc cu elementele unei mulţimi F de numere în virgulă mobilă. Aceste modalităţi de definire sunt implementate uzual în calculatoarele numerice.

A. Adunarea

Oricare ar fi două numere x şi y din mulţimea G, pentru care există fl(x) şi fl(y) aparţinând mulţimii F, numărului yx + i se asociază numărul fl( ) obţinut prin aplicarea următorului

yx +algoritm:

Pas 1: se reprezintă intern numerele x şi y prin fl(x) şi, respectiv, fl(y). Pas 2: dacă numerele au exponent diferit, atunci numărul cu exponent mai mic

se aduce la o formă în care exponentul să fie egal cu cel al celuilalt termen, operaţiune care se numeşte denormalizare. Acest lucru se realizează prin deplasarea mantisei spre dreapta, inserând zerouri după virgulă.Astfel, se deplasează mantisa atâtea poziţii câte sunt necesare pentru a creşte exponentul la valoarea exponentului celuilalt termen.

Pas 3: se adună mantisele şi din rezultat se păstrează t cifre. Pas 4: dacă este necesar, se normalizează rezultatul.

Observaţii: 1. Deplasarea mantisei spre dreapta determină creşterea exponentului, iar

deplasarea spre stânga a mantisei determină scăderea exponentului. 2. Scăderea se realizează la fel ca adunarea, cu deosebirea că mantisele se

scad. În fapt, scăderea reprezintă o adunare în care scăzătorul are semn schimbat.

Consecinţa esenţială a acestui mod de definire este aceea că, spre deosebire de aritmetica reală, adunarea în virgulă mobilă nu este asociativă.

Exemplul 1.6:

Se consideră o aritmetică a virgulei mobile cu 10=β , 3t = , reprezentare normalizată şi rotunjire prin tăiere. Fie calculul: 11001,0 −+ . Asociind primii

Page 10: Carte Mn Letitia Mirea

1.2 Propagarea erorilor în calculele numerice 5

doi termeni, se ajunge la rezultatul , care este eronat. În cazul asocierii ultimilor doi termeni se obţine: , care este rezultatul corect.

0)1)110(fl(fl 3 =−+−

33 10))11(fl10(fl −− =−+

Exemplul 1.7:

Se consideră o aritmetică a virgulei mobile cu 10=β , 3t = , reprezentare normalizată şi rotunjire prin tăiere. Fie calculul: 1001,1 − . Se obţine:

, rezultat eronat. 0)1001,1(fl =−

Exemplele 1.6 şi 1.7 pun în evidenţă două fenomene nedorite şi generatoare de erori, care pot apare la efectuarea unei adunări în virgulă mobilă: (a) omiterea catastrofală: apare atunci când se adună doi termeni şi valoarea

absolută a unui termen este mai mică decât precizia de reprezentare a celuilalt termen; în acest caz, rezultatul este dat de termenul cu valoare absolută mai mare (această situaţie este ilustrată în Exemplul 1.6).

(b) neutralizarea termenilor: apare atunci când se adună numere cu semne diferite şi cu valori absolute apropiate; în acest caz, în mod eronat, rezultatul este nul (această situaţie este ilustrată în Exemplul 1.7).

Precizia calculelor numerice este caracterizată de două mărimi constante a căror valoare este dependentă de tipul maşinii de calcul folosite. Cele două valori menţionate, numite şi “constante de maşină”, sunt introduse prin următoarea definiţie.

Definiţie:

Epsilonul maşină pentru adunare (notat ) reprezintă cel mai mic număr real pozitiv reprezentabil care schimbă, prin adunare, unitatea maşinii de calcul: .

+εm

1)1(fl m >ε+ +

Epsilonul maşină pentru scădere (notat ) reprezintă cel mai mic număr real pozitiv reprezentabil care schimbă, prin scădere, unitatea maşinii de calcul: .

−εm

1)1(fl m <ε− −

În Figura 1.4 sunt ilustrate cele două definiţii. Conform Figurii 1.4, sunt îndeplinite relaţiile:

• adunare: ; 1)c1(fl,1)1(fl m =+>ε+ +

• scădere: . 1)c1(fl,1)1(fl m =−<ε− +

Page 11: Carte Mn Letitia Mirea

6 1. Calculul în virgulă mobilă

1c εm- εm

+∈ F Fig. 1.4 Conceptul de epsilon maşină

Astfel, rezultă că cele două mărimi au valorile: , . t1

m−+ β=ε t

m−− β=ε

Se demonstrează că, pentru o aritmetică a virgulei mobile cu , este

îndeplinită relaţia:

2=β−+ ε⋅=ε mm 2 .

Exemplul 1.8:

Valorile celor două constante de maşină, în standardul IEEE, sunt următoarele:

• pentru reprezentarea în simplă precizie: 7

m8

m 1019.1;1096.5 −+−− ⋅=ε⋅=ε ;

• pentru reprezentarea în dublă precizie: 16

m16

m 1022.2;1011.1 −+−− ⋅=ε⋅=ε .

Următorul algoritm, descris în limbaj pseudocod (a se vedea Anexa B), descrie modul de calcul al epsilonului maşină pentru adunare, rezultatul final gasindu-se în variabila eps_p:

atribuie eps_p ← 1 cât timp ( ) 1p_eps1 >+ execută⎡ atribuie eps_p ← 0.5*eps_p ⎣ atribuie eps_p ← 2*eps_p.

B. Înmulţirea

Oricare ar fi x şi y, două numere din mulţimea G, pentru care există fl(x) şi, respectiv, fl(y) aparţinând multimii F, numărului yx ⋅ i se asociază numărul

, care se determină cu )yx(fl ⋅ algoritmul următor: Pas 1: se reprezintă intern numerele x şi y prin fl(x) şi, respectiv, fl(y). Pas 2: se înmulţesc fracţiile şi se adună exponenţii. Pas 3: din fracţia rezultată se opresc t cifre. Pas 4: dacă este necesar, se normalizează rezultatul.

Observaţii: 1. Înmulţirea nu este asociativă.

Page 12: Carte Mn Letitia Mirea

1.2 Propagarea erorilor în calculele numerice 7

2. Împărţirea se realizează în aceeaşi manieră ca şi înmulţirea, cu deosebirea că la pasul 2 mantisele se împart, iar exponenţii se scad.

Exemplul 1.9:

Se consideră o aritmetică a virgulei mobile cu 10=β , 3t = , reprezentare normalizată şi rotunjire prin tăiere. Fie 547,22x = şi 43936,0y = . Rezultă

. 900,9)yx(fl =⋅

1.2 Propagarea erorilor în calculele numerice

În general, în cursul rezolvării unei probleme cu ajutorul calculatorului numeric, precizia calculelor este influenţată de mai mulţi factori. Astfel, eroarea totală dintr-un calcul numeric este generată de trei surse principale de erori: (a) erori inerente; (b) erori de metodă (de calcul); (c) erori de reprezentare.

Erorile inerente provin din datele iniţiale ale problemei de rezolvat (date care pot fi rezultatele unor măsurători experimentale sau ale altor calcule anterioare) şi/sau erorile provenite din faptul că se lucrează cu un model aproximativ al fenomenului real implicat în problema de rezolvat.

Erorile de metodă (sau de trunchiere) sunt datorate metodei numerice utilizate. În general, este necesar un număr mare de operaţii pentru a putea ajunge la soluţia exactă (de regulă, atunci când o expresie de calcul conţine o infinitate de termeni) şi calculele sunt oprite, în funcţie de un anumit criteriu, atunci când se ajunge la o anumită precizie acceptabilă (aşadar conştientizată).

Erorile de reprezentare sunt datorate posibilităţii efective de a reprezenta numerele în calculatorul numeric. Acest tip de erori se manifestă în datele iniţiale, intermediare şi în cele de ieşire care constituie rezultatele finale.

Page 13: Carte Mn Letitia Mirea

1.1 Propagarea erorilor în calculele numerice

În general, în cursul rezolvării unei probleme cu ajutorul calculatorului numeric, precizia calculelor este influenţată de mai mulţi factori. Astfel, eroarea totală dintr-un calcul numeric este generată de trei surse principale de erori: (a) erori inerente; (b) erori de metodă (de calcul); (c) erori de reprezentare.

Erorile inerente provin din datele iniţiale ale problemei de rezolvat (date care pot fi rezultatele unor măsurători experimentale sau ale altor calcule anterioare) şi/sau erorile provenite din faptul că se lucrează cu un model aproximativ al fenomenului real implicat în problema de rezolvat.

Erorile de metodă (sau de trunchiere) sunt datorate metodei numerice utilizate. În general, este necesar un număr mare de operaţii pentru a putea ajunge la soluţia exactă (de regulă, atunci când o expresie de calcul conţine o infinitate de termeni) şi calculele sunt oprite, în funcţie de un anumit criteriu, atunci când se ajunge la o anumită precizie acceptabilă (aşadar conştientizată).

Erorile de reprezentare sunt datorate posibilităţii efective de a reprezenta numerele în calculatorul numeric. Acest tip de erori se manifestă în datele iniţiale, intermediare şi în cele de ieşire care constituie rezultatele finale.

1.2 Natura problemelor de calcul şi caracterizarea algoritmilor

1.2.1 Natura problemelor de calcul

Se consideră o anumită problemă de calcul. Din punctul de vedere al matematicii reale, problema lucrează cu datele exacte notate cu D. Se notează generic cu G ceea ce se doreşte a calcula, implicând anumite relaţii matematice exacte. Aceasta poate fi scrisă sub forma unei aplicaţii: , cum este prezentat principial în Figura 1.6. Aşadar, G(D) reprezintă soluţia matematică exactă, obţinută lucrând cu datele exacte D.

)D(GD →

Se consideră ca fiind datele D afectate de eroare (datele D perturbate). În acest caz, soluţia exactă matematic a problemei de calcul corespunzătoare

∗D

Page 14: Carte Mn Letitia Mirea

2 1. Calculul în virgulă mobilă

datelor perturbate se notează cu . ∗D )D(G ∗

Definiţie:

Problema de calcul, G, se spune că este bine condiţionată dacă datele exacte ale problemei, D, şi datele perturbate ale problemei, , fiind apropiate într-un anumit sens, atunci şi soluţia exactă matematic a problemei de calcul corespunzătoare datelor exacte, G(D), este apropiată, într-un anumit sens de soluţia exactă matenatic a problemei de calcul corespunzătoare datelor perturbate, G(D*). Altfel,

∗D

problema de calcul se spune că este prost (sau rău) condiţionată.

≈ ≈ D

D*

G(D)

G(D*)

G

G

spaţiul datelor spaţiul soluţiilor

Fig. 1.6 Conceptul de problemă bine condiţionată: )D(G)D(GDD ∗∗ ≅⇒≅ Altfel spus, o problemă este bine condiţionată dacă mici perturbaţii în una

sau toate datele iniţiale ale problemei conduc la mici perturbaţii în datele de ieşire (rezultate sau soluţii).

Observaţie: Pentru a caracteriza “apropierea” sau “îndepărtarea” dintre D şi

respectiv şi , trebuie cunoscute două elemente: natura datelor D şi natura soluţiilor

∗D ,)D(G )D(G ∗

)D(G .Dacă D şi aparţin mulţimii numerelor complexe, atunci se va folosi

funcţia modul pentru a aprecia diferenţele şi, respectiv, | .

)D(G|DD| ∗−

)D(G)D(G| ∗−Dacă D şi sunt elementele unui spaţiu liniar finit dimensional (vectori,

matrice), se vor folosi, corespunzător, norme vectoriale, respectiv matriciale. )D(G

În cele ce urmează, se notează generic erorile absolute ale mărimilor implicate cu:

Page 15: Carte Mn Letitia Mirea

1.2 Natura problemelor de calcul şi caracterizarea algoritmilor 3

|DD|eD∗−= şi . |)D(G)D(G|eG

∗−=

Se poate defini numărul de condiţie al problemei G ca fiind raportul dintre eroarea absolută în soluţiile problemei de calcul şi eroarea absolută în datele de intrare ale problemei de calcul:

DG e/e)G(k = .

Dacă acest număr de condiţie este egal cu 1 sau are valori apropiate de 1, se spune că problema este bine condiţionată. Dacă numărul de condiţie este mare sau foarte mare, atunci erorile în datele iniţiale sunt amplificate în soluţia problemei de calcul exactă matematic, problema de calcul fiind prost condiţionată.

Exemplul 1.13:

Rezolvarea ecuaţiilor polinomiale este o problemă prost condiţionată. Fie un polinom de gradul n: )x(Pn

n1n1n

1n

0n axaxaxa)x(P +⋅++⋅+⋅= −− … ,

unde sunt coeficienţii polinomului. Se doreşte determinarea valorilor lui x pentru care

0a;n,...,1i,a 0i ≠=ℜ∈0)x(Pn = .

În cele ce urmează, se va demonstra că mici variaţii în coeficienţii polinomului conduc la variaţii mari în soluţiile calculate reprezentând rădăcinile polinomului.

Se consideră, în continuare, o altă problemă şi anume cea a calculului valorilor proprii ale unei matrice reale pătratice, pe baza ecuaţiei caracteristice ataşate. Se consideră matricea A şi varianta perturbată a acesteia, , de forma: pA

nxn

p

nxn a010

1a0001a

A,

a0010

1a0001a

A

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

ε

=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

……

……

.

Ecuaţia caracteristică ataşată matricei este: pA 0)AIdet()(p pnn =−⋅λ=λ , unde este matricea unitate de ordinul n. Rezultă: nI

ε⋅−−−λ=λ nnn )1()a()(p .

Ecuaţia 0)(pn =λ conduce la . Aşadar, o perturbaţie în ε⋅−=−λ nn )1()a( ε

Page 16: Carte Mn Letitia Mirea

4 1. Calculul în virgulă mobilă

datele de intrare, conduce la o perturbaţie de n || ε în soluţiile calculate. Se consideră şi 10n = 1a = . Pentru cazul în care 0=ε , rezultă valorile

proprii . Pentru cazul în care , atunci

valorile proprii sunt

10,,1i,1ai …===λ 1010,0 −=ε≠ε

10,,1i,1.11.0110a 10 10i …==+=+=λ − . Rezultă:

şi . Dacă , atunci se obţin 10 valori proprii complex conjugate, dispuse în planul complex pe un cerc cu centrul în punctul de coordonate (a,0) şi de rază egală cu

10D 10e −= 1

G 10e −= 1010−−=ε

1.01010 10 =− . Cu valorile numerice considerate, în cazurile particulare ale unei perturbaţii ε nenule, numărul de condiţie al acestei probleme este:

9101DG 1010/10e/ek === −− ,

deci eroarea din datele iniţiale ale problemei de calcul a fost amplificată de ori în soluţiile calculate.

910

În practică, datorită acestui fapt, nu se calculează valorile proprii ale unei matrice prin aducerea matricei la forma canonică Jordan, utilizată în cadrul acestui exemplu, pentru că pot apare perturbaţii cel puţin de genul celor prezentate.

1.2.2 Caracterizarea algoritmilor

Se consideră o problemă de calcul oarecare care lucrează cu setul de date exacte D. Soluţia exactă matematic a acestei probleme este dată de “funcţia” G. Se consideră, în plus, datele perturbate ale problemei, ∗D .

La implementarea funcţiei G pe un calculator numeric, practic se lucrează cu un algoritm (a se vedea Figura 1.7). ∗G

≈ ≈ D*

D

G(D*)

G*(D)

G

G*

spaţiul datelor spaţiul soluţiilor

Page 17: Carte Mn Letitia Mirea

1.2 Natura problemelor de calcul şi caracterizarea algoritmilor 5

Fig. 1.7 Conceptul de algoritm stabil numeric: )D(G)D(GDD ∗∗∗ ≅⇒≅ De exemplu, considerând că G este o problemă bine condiţionată şi că

implementează exact soluţia G, totuşi datorită aritmeticii în virgulă mobilă.

∗G)D(G)D(G ∗≠

Natura algoritmului este teoretic caracterizată de următoarele două mărimi: (a) soluţia matematică exactă a problemei de calcul corespunzătoare setului

de date perturbate, ; )D(G ∗

(b) soluţia algoritmului corespunzătoare setului de date exacte, . ∗G )D(G∗

Definiţie:

Un algoritm se numeşte ∗G stabil numeric, dacă datele exacte şi datele perturbate ale problemei de calcul G fiind apropiate într-un anumit sens, atunci şi soluţia exactă matematic corespunzătoare setului de date perturbate G(D*) este apropiată, într-un anumit sens, de soluţia algoritmului corespunzătoare setului de date exacte G*(D). Altfel, algoritmul se spune că este instabil din punct de vedere numeric.

Altfel spus, erorile din datele de intrare sunt micşorate de un algoritm stabil numeric, un algoritm instabil numeric amplificându-le.

Observaţii: (a) Nu se poate aştepta ca un algoritm stabil numeric să rezolve o problemă

prost condiţionată cu o precizie mai mare decât a datelor de intrare. (b) Un algoritm instabil numeric furnizează, de regulă, rezultate eronate chiar

pentru probleme bine condiţionate.

Definiţie:

Un algoritm numeric se spune că este general dacă este aplicabil pentru un domeniu larg de date de intrare.

Definiţie:

Un algoritm se spune că este sigur în funcţionare, dacă are prevăzut un mecanism care să avertizeze atunci când erorile au crescut excesiv de mult.

Observaţie: Un algoritm instabil numeric poate fi sigur în funcţionare, dacă este capabil

să detecteze instabilitatea numerică.

Page 18: Carte Mn Letitia Mirea

6 1. Calculul în virgulă mobilă

Concluzie: Rolul calculului numeric (al analizei numerice) este de a analiza natura

problemelor de calcul şi de a realiza o proiectare optimă a algoritmilor. Dacă problema de calcul este prost condiţionată, atunci aceasta se reformulează, echivalent, obţinând o problemă bine condiţionată. Mai departe, pentru problema bine condiţionată rezultată, se proiectează un algoritm care să fie stabil numeric, general şi sigur în funcţionare.

Exemplul 1.14:

Un exemplu de algoritm instabil numeric este cel folosit pentru calculul integralei definite:

∫ ⋅⋅= −1

0

1xnn dxexI ,

prin relaţia de recurenţă, exactă matematic:

…,3,2n,In1I 1nn =⋅−= − , ...71828182.2e,e/1I1 == .

Se consideră un calculator cu 10=β şi 6t = . Vor rezulta următoarele valori:

!0068400.0I

367879.0I

9

1

<−≅

dar, pentru , integrandul este pozitiv pentru 9I 1x9 ex −⋅ )1,0(x∈ . Aşadar, s-a obţinut pentru o valoare eronată. Singura eroare comisă a fost cea în estimarea lui , care determină o eroare în evaluarea lui egală cu

. Pentru evaluarea lui , eroarea comisă este ; pentru eroarea comisă este

9Ie/1 1I

71 10412.4e −×= 2I 12 e)2(e ⋅−≅

3I 23 e)3(e ⋅−≅ şi aşa mai departe până la când

se obţine o eroare 9I

1601.0e!9e 19 =⋅= . , ceea ce reprezintă rezultatul exact cu patru cifre zecimale. Aceste rezultate arată că algoritmul utilizat este instabil numeric.

0916.0eI 99 =+

Stabilizarea algoritmului se poate realiza rescriind relaţia de recurenţă sub forma:

2,3,n,n/In/1n/)I1(I nn1n …=−=−=− .

Un majorant pentru este: nI

Page 19: Carte Mn Letitia Mirea

1.2 Natura problemelor de calcul şi caracterizarea algoritmilor 7

1n1dxxdxexI

1

0

n1

0

1xnn +

=⋅≤⋅⋅= ∫∫ − ,

deoarece pentru 1|e| 1x <− )1,0(x∈ . Aşadar, . 0I nn ⎯⎯ →⎯ ∞→

Pentru diverse valori ale lui n se obţin următoarele erori comise la calculul integralei definite, considerând : 0I20 =

21/1e20n 20 ≤= ; 20/ee19n 2019 ≅= ;

5t18

15 10104e15n −−− =β<⋅<= ;

091612.0I9n 9 == - valoare cu şase zecimale exacte.

Page 20: Carte Mn Letitia Mirea

8 1. Calculul în virgulă mobilă

Capitolul 2 SISTEME DETERMINATE DE ECUAŢII

ALGEBRICE LINIARE

2.1 Formularea problemei

Se consideră sistemul de n ecuaţii algebrice liniare cu n necunoscute:

1nnn b,A,bxA ×× ℜ∈ℜ∈=⋅ . (2.1)

Problema de calcul este determinarea unei soluţii 1nx ×ℜ∈ a sistemului de ecuaţii (2.1) sau, altfel spus, determinarea unui vector care să satisfacă ecuaţia dată.

Definiţie:

Oricare ar fi matricea , aceasta se numeşte nnA ×ℜ∈ inversabilă (nesingulară) dacă există o matrice astfel încât să fie îndeplinită relaţia:

nnX ×ℜ∈nIAXXA =⋅=⋅ .

În relaţia anterioară, este notaţia pentru matricea unitate de ordinul n. În continuare, se notează cu matricea X care satisface relaţia din definiţia anterioară.

nI1A −

Teoremă de existenţă şi unicitate:

Dacă matricea este inversabilă, atunci oricare ar fi vectorul nnA ×ℜ∈1nb ×ℜ∈ există şi este unică soluţia x a ecuaţiei (2.1).

Soluţia se poate scrie sub forma:

bAx 1 ⋅= − . (2.2)

Observaţii:

1. este notaţia pentru inversa matricei A. În practică nu se recomandă calculul matricei inverse şi apoi aplicarea relaţiei

1A −

(2.2). Un exemplu care să ilustreze aceasta este următorul: se consideră ecuaţia bxa =⋅ , în care şi . Se mai consideră o aritmetică a virgulei mobile cu

7a =21b = 10=β , şi 6t =

Page 21: Carte Mn Letitia Mirea

2.1 Formularea problemei 9

rotunjire prin tăiere. Atunci soluţia ecuaţiei este:

99997.221142857.021)7(bax 11 =⋅=⋅=⋅= −− .

Acelaşi sistem se poate rezolva direct şi anume: 37/21x == , aceasta reprezentând soluţia exactă.

2. Nu se recomandă rezolvarea ecuaţiei prin regula Cramer: n,...,1i,/x ii =ΔΔ= ,

unde reprezintă determinantul matricei A, iar Δ iΔ reprezintă determinanţii matricelor obţinute prin înlocuirea coloanei numărul i a matricei A cu termenul liber asociat ecuaţiei (2.1). Un exemplu pentru această situaţie este acela în care considerând , rezultă că trebuie estimaţi 21 de determinanţi care, dacă sunt calculaţi după definiţie, necesită calculul a termeni care implică 19 înmulţiri/termen, deci

20n =

!20!2019 × operaţii în virgulă mobilă. O operaţie în virgulă mobilă

înseamnă o înmulţire şi o adunare: q zwv ⊕ ⊗= . Pentru un calculator cu 100000 înmulţiri/secundă, rezultă că numai pentru efectuarea înmulţirilor sunt necesari ani, la care se adaugă erorile de rotunjire! 8103 ⋅

Exemplul 2.1:

Problemele de tipul (2.1) sunt foarte des întâlnite în practică. Ca exemplu generic, se consideră un proces dinamic cu n mărimi de intrare ( , ..., ) şi o mărime de ieşire (y). Corespunzător funcţionării acestuia în regim staţionar sau în regim dinamic, pentru care se realizează o liniarizare a modelului neliniar după un punct de funcţionare, modelul intrare-ieşire al procesului poate fi descris de o ecuaţie de forma:

1u nu

nn11n1 ucuc)u,,u(y ⋅++⋅= …… . (2.3)

Se consideră un număr de n experimente prin care se impun anumite valori mărimilor de intrare şi se măsoară valorile pe care le ia mărimea de ieşire a procesului. Rezultatele obţinute pot fi tabelate astfel:

nr. experiment u1 un y

1 a11 a1n b1

i ai1 ain bi

Page 22: Carte Mn Letitia Mirea

10 1. Calculul în virgulă mobilă

n an1 ann bn

Notând cu A matricea formată din valorile pe care le iau mărimile de intrare ale procesului, şi cu

nj1ni1ij ]a[A

≤≤≤≤= ni1i ]b[b ≤≤= vectorul valorilor mărimii de

ieşire, relaţia (2.3) se poate rescrie sub forma 1nnn b,A,bxA ×× ℜ∈ℜ∈=⋅ . (2.1(2.1), unde T

n21 ]ccc[x …= , T fiind notaţia pentru operaţia de transpunere vectorială. Rezolvarea ecuaţiei rezultate constituie, în acest caz, o identificare a modelului pentru regimul static de funcţionare a procesului. Problema aceasta va avea o soluţie, dacă şi numai dacă liniile sau coloanele matricei experimentelor [ b|A ] sunt vectori liniari independenţi, după cum se va specifica ulterior.

Metodele numerice de rezolvare a unui sistem de ecuaţii algebrice liniare se împart în următoarele două categorii: metode directe şi metode iterative (indirecte).

Metodele directe se bazează pe reducerea sistemului (2.1) la un sistem echivalent, direct rezolvabil prin mijloace elementare. Principial, aceasta foloseşte eliminarea progresivă a necunoscutelor, numită şi eliminare gaussiană.

Practic, prin transformări elementare de echivalenţă, se aduce matricea A a sistemului la anumite forme tipice: a) forma superior triunghiulară:

⎥⎥⎥⎥

⎢⎢⎢⎢

=

nn

n111

u00

0uu

U

……

;

b) forma inferior triunghiulară:

⎥⎥⎥⎥

⎢⎢⎢⎢

=

nn1n

11

ll0

00l

L

……

.

Procedura de transformare se numeşte triangularizare. Astfel, se furnizează soluţia exactă a sistemului de ecuaţii (2.1), în cazurile (ideale) în care erorile de rotunjire sunt absente. Numărul de operaţii în virgulă mobilă, necesare triangularizării unei matrice pătratice de ordin n, este de ordinul lui . De aceea, aceste metode se recomandă pentru rezolvarea unor sisteme de ecuaţii algebrice liniare de ordin mai mic decât .

3n

210

Page 23: Carte Mn Letitia Mirea

2.2 Rezolvarea sistemelor prin triangularizare directă 11

Metodele iterative au la bază construirea unui şir de aproximaţii pentru soluţia sistemului (2.1), …,1,0k,x ]k[ = care să fie convergent pentru la soluţia adevărată,

∞→kx :

0||xx||lim ]k[

k=− α∞→

.

Practic, calculele se opresc la un index de iterare [s], atunci când este îndeplinită o condiţie de forma:

impus]1s[]s[ ||xx|| ε≤− α

− ,

sau, altfel spus, ]s[x constituie o aproximare satisfăcătoare a soluţiei calculate. Având în vedere faptul că pentru o singură iteraţie numărul de operaţii în

virgulă mobilă este de ordinul lui , asemenea metode se folosesc pentru sisteme de ordin mare şi anume .

2n42 1010 ÷

2.2 Rezolvarea sistemelor prin triangularizare directă

2.2.1 Principiul metodei

Se consideră problema (2.1) şi matricea sistemului: nj1ni1ij ]a[A

≤≤≤≤= .

Definiţie:

Matricele , …, se numesc ]a[ 111nj11ni1ij ]a[−≤≤−≤≤ submatrice principale ale lui A

sau minori principali directori.

Teoremă:

Dacă matricea are toate submatricele principale inversabile (nesingulare), atunci există matricele astfel încât:

nnA ×ℜ∈nnU,D,L ×ℜ∈

UDLA ⋅⋅= (2.4)

unde L este o matrice inferior triunghiulară, D este o matrice diagonală şi U este o matrice superior triunghiulară.

Se pot face, în cele ce urmează, următoarele observaţii: 1. relaţia (2.4) se numeşte factorizare L-D-U a matricei A; 2. uzuale sunt factorizările: ULA ⋅= ; 3. demonstraţia teoremei enunţate este constructivă, constituind însuşi

algoritmul de descompunere L-U a matricei A;

Page 24: Carte Mn Letitia Mirea

12 1. Calculul în virgulă mobilă

4. algoritmul de descompunere este în fond procedeul de eliminare gaussiană, prin care matricea A este adusă la forma superior triunghiulară în urma unui şir de transformări de asemănare. Transformările efectuate asupra matricei A se “acumulează” într-o matrice inferior triunghiulară, cu elementele de pe diagonala principală egale cu 1. Acest tip de descompunere se numeşte descompunere Doolittle.

5. considerând descompunerea L-U a matricei sistemului A, ULA ⋅= , atunci rezolvarea sistemului (2.1) implică două subetape: a. rezolvarea sistemului byL =⋅ , etapă numită şi substituţie înainte,

obţinând soluţia intermediară y . Determinarea componentelor vectorului ni1i ]y[y ≤≤= are loc din aproape în aproape: se începe cu (prima ecuaţie), se înlocuieşte în a doua ecuaţie determinând pe şi aşa mai departe.

1y

2y

b. rezolvarea sistemului yxU =⋅ , în care necunoscuta este x , etapă

numită şi substituţie inversă. În acest caz, determinarea componentelor vectorului are loc pornind de la ultima ecuaţie. x

Această manieră de descompunere şi de rezolvare se încadrează în aşa-numita rezolvare a sistemelor determinate de ecuaţii algebrice liniare prin triangularizare simplă (directă).

Page 25: Carte Mn Letitia Mirea

Capitolul 2 SISTEME DETERMINATE DE ECUAŢII

ALGEBRICE LINIARE

2.1 Formularea problemei

Se consideră sistemul de n ecuaţii algebrice liniare cu n necunoscute:

1nnn b,A,bxA ×× ℜ∈ℜ∈=⋅ . (2.1)

Problema de calcul este determinarea unei soluţii 1nx ×ℜ∈ a sistemului de ecuaţii (2.1) sau, altfel spus, determinarea unui vector care să satisfacă ecuaţia dată.

Definiţie:

Oricare ar fi matricea nnA ×ℜ∈ , aceasta se numeşte inversabilă (nesingulară) dacă există o matrice nnX ×ℜ∈ astfel încât să fie îndeplinită relaţia: nIAXXA =⋅=⋅ .

În relaţia anterioară, nI este notaţia pentru matricea unitate de ordinul n. În continuare, se notează cu 1A − matricea X care satisface relaţia din definiţia anterioară.

Teoremă de existenţă şi unicitate:

Dacă matricea nnA ×ℜ∈ este inversabilă, atunci oricare ar fi vectorul 1nb ×ℜ∈ există şi este unică soluţia x a ecuaţiei (2.1).

Soluţia se poate scrie sub forma:

bAx 1 ⋅= − . (2.2)

Observaţii:

1. 1A − este notaţia pentru inversa matricei A. În practică nu se recomandă calculul matricei inverse şi apoi aplicarea relaţiei (2.2). Un exemplu care să ilustreze aceasta este următorul: se consideră ecuaţia bxa =⋅ , în care 7a = şi 21b = . Se mai consideră o aritmetică a virgulei mobile cu 10=β , 6t = şi

Page 26: Carte Mn Letitia Mirea

36 2. Sisteme determinate de ecuaţii algebrice liniare

rotunjire prin tăiere. Atunci soluţia ecuaţiei este:

99997.221142857.021)7(bax 11 =⋅=⋅=⋅= −− .

Acelaşi sistem se poate rezolva direct şi anume: 37/21x == , aceasta reprezentând soluţia exactă.

2. Nu se recomandă rezolvarea ecuaţiei prin regula Cramer: n,...,1i,/x ii =ΔΔ= ,

unde Δ reprezintă determinantul matricei A, iar iΔ reprezintă determinanţii matricelor obţinute prin înlocuirea coloanei numărul i a matricei A cu termenul liber asociat ecuaţiei (2.1). Un exemplu pentru această situaţie este acela în care considerând 20n = , rezultă că trebuie estimaţi 21 de determinanţi care, dacă sunt calculaţi după definiţie, necesită calculul a !20 termeni care implică 19 înmulţiri/termen, deci !2019× operaţii în virgulă mobilă. O operaţie în virgulă mobilă înseamnă o înmulţire şi o adunare: zwvq ⊗⊕= . Pentru un calculator cu 100000 înmulţiri/secundă, rezultă că numai pentru efectuarea înmulţirilor sunt necesari 8103 ⋅ ani, la care se adaugă erorile de rotunjire!

Exemplul 2.1:

Problemele de tipul (2.1) sunt foarte des întâlnite în practică. Ca exemplu generic, se consideră un proces dinamic cu n mărimi de intrare ( 1u , ..., nu ) şi o mărime de ieşire (y). Corespunzător funcţionării acestuia în regim staţionar sau în regim dinamic, pentru care se realizează o liniarizare a modelului neliniar după un punct de funcţionare, modelul intrare-ieşire al procesului poate fi descris de o ecuaţie de forma:

nn11n1 ucuc)u,,u(y ⋅++⋅= …… . (2.3)

Se consideră un număr de n experimente prin care se impun anumite valori mărimilor de intrare şi se măsoară valorile pe care le ia mărimea de ieşire a procesului. Rezultatele obţinute pot fi tabelate astfel:

nr. experiment u1 un y

1 a11 a1n b1

i ai1 ain bi

Page 27: Carte Mn Letitia Mirea

2.1 Formularea problemei 37

n an1 ann bn

Notând cu A matricea formată din valorile pe care le iau mărimile de intrare ale procesului,

nj1ni1ij ]a[A

≤≤≤≤= şi cu ni1i ]b[b ≤≤= vectorul valorilor mărimii de

ieşire, relaţia (2.3) se poate rescrie sub forma 1nnn b,A,bxA ×× ℜ∈ℜ∈=⋅ . (2.1(2.1), unde T

n21 ]ccc[x …= , T fiind notaţia pentru operaţia de transpunere vectorială. Rezolvarea ecuaţiei rezultate constituie, în acest caz, o identificare a modelului pentru regimul static de funcţionare a procesului. Problema aceasta va avea o soluţie, dacă şi numai dacă liniile sau coloanele matricei experimentelor [ ]b|A sunt vectori liniari independenţi, după cum se va specifica ulterior.

Metodele numerice de rezolvare a unui sistem de ecuaţii algebrice liniare se împart în următoarele două categorii: metode directe şi metode iterative (indirecte).

Metodele directe se bazează pe reducerea sistemului (2.1) la un sistem echivalent, direct rezolvabil prin mijloace elementare. Principial, aceasta foloseşte eliminarea progresivă a necunoscutelor, numită şi eliminare gaussiană.

Practic, prin transformări elementare de echivalenţă, se aduce matricea A a sistemului la anumite forme tipice: a) forma superior triunghiulară:

⎥⎥⎥⎥

⎢⎢⎢⎢

=

nn

n111

u00

0uu

U

……

;

b) forma inferior triunghiulară:

⎥⎥⎥⎥

⎢⎢⎢⎢

=

nn1n

11

ll0

00l

L

……

.

Procedura de transformare se numeşte triangularizare. Astfel, se furnizează soluţia exactă a sistemului de ecuaţii (2.1), în cazurile (ideale) în care erorile de rotunjire sunt absente. Numărul de operaţii în virgulă mobilă, necesare triangularizării unei matrice pătratice de ordin n, este de ordinul lui 3n . De aceea, aceste metode se recomandă pentru rezolvarea unor sisteme de ecuaţii algebrice liniare de ordin mai mic decât 210 .

Page 28: Carte Mn Letitia Mirea

38 2. Sisteme determinate de ecuaţii algebrice liniare

Metodele iterative au la bază construirea unui şir de aproximaţii pentru soluţia sistemului (2.1), …,1,0k,x ]k[ = care să fie convergent pentru ∞→k la soluţia adevărată, x :

0||xx||lim ]k[

k=− α∞→

.

Practic, calculele se opresc la un index de iterare [s], atunci când este îndeplinită o condiţie de forma:

impus]1s[]s[ ||xx|| ε≤− α

− ,

sau, altfel spus, ]s[x constituie o aproximare satisfăcătoare a soluţiei calculate. Având în vedere faptul că pentru o singură iteraţie numărul de operaţii în

virgulă mobilă este de ordinul lui 2n , asemenea metode se folosesc pentru sisteme de ordin mare şi anume 42 1010 ÷ .

2.2 Rezolvarea sistemelor prin triangularizare directă

2.2.1 Principiul metodei

Se consideră problema (2.1) şi matricea sistemului: nj1ni1ij ]a[A

≤≤≤≤= .

Definiţie:

Matricele ]a[ 11 , …, 1nj11ni1ij ]a[−≤≤−≤≤ se numesc submatrice principale ale lui A

sau minori principali directori.

Teoremă:

Dacă matricea nnA ×ℜ∈ are toate submatricele principale inversabile (nesingulare), atunci există matricele nnU,D,L ×ℜ∈ astfel încât:

UDLA ⋅⋅= (2.4)

unde L este o matrice inferior triunghiulară, D este o matrice diagonală şi U este o matrice superior triunghiulară.

Se pot face, în cele ce urmează, următoarele observaţii: 1. relaţia (2.4) se numeşte factorizare L-D-U a matricei A; 2. uzuale sunt factorizările: ULA ⋅= ; 3. demonstraţia teoremei enunţate este constructivă, constituind însuşi

algoritmul de descompunere L-U a matricei A;

Page 29: Carte Mn Letitia Mirea

2.2 Rezolvarea sistemelor prin triangularizare directă 39

4. algoritmul de descompunere este în fond procedeul de eliminare gaussiană, prin care matricea A este adusă la forma superior triunghiulară în urma unui şir de transformări de asemănare. Transformările efectuate asupra matricei A se “acumulează” într-o matrice inferior triunghiulară, cu elementele de pe diagonala principală egale cu 1. Acest tip de descompunere se numeşte descompunere Doolittle.

5. considerând descompunerea L-U a matricei sistemului A, ULA ⋅= , atunci rezolvarea sistemului (2.1) implică două subetape: a. rezolvarea sistemului byL =⋅ , etapă numită şi substituţie înainte,

obţinând soluţia intermediară y . Determinarea componentelor vectorului ni1i ]y[y ≤≤= are loc din aproape în aproape: se începe cu 1y

(prima ecuaţie), se înlocuieşte în a doua ecuaţie determinând pe 2y şi aşa mai departe.

b. rezolvarea sistemului yxU =⋅ , în care necunoscuta este x , etapă

numită şi substituţie inversă. În acest caz, determinarea componentelor vectorului x are loc pornind de la ultima ecuaţie.

Această manieră de descompunere şi de rezolvare se încadrează în aşa-numita rezolvare a sistemelor determinate de ecuaţii algebrice liniare prin triangularizare simplă (directă).

În continuare se prezintă câteva rezultate referitoare la algebra matricelor triunghiulare.

Definiţie:

Se numeşte matrice triunghiulară unitate o matrice inferior sau superior triunghiulară care are elementele de pe diagonala principală egale cu 1.

În ceea ce priveşte matricele triunghiulare, sunt valabile următoarele rezultate. R1: Inversa unei matrice superior (inferior) triunghiulară este o matrice superior

(inferior) triunghiulară. R2: Produsul a două matrice superior (inferior) triunghiulare este o matrice

superior (inferior) triunghiulară. R3: Inversa unei matrice superior (inferior) triunghiulară unitate este o matrice

superior (inferior) triunghiulară unitate. R4: Produsul a două matrice superior (inferior) triunghiulare unitate este o

matrice superior (inferior) triunghiulară unitate. În cele ce urmează, se enunţă şi demonstrează următorul rezultat esenţial.

Propoziţie:

Page 30: Carte Mn Letitia Mirea

40 2. Sisteme determinate de ecuaţii algebrice liniare

Dacă matricea A admite o descompunere L-U, atunci această descompunere este unică.

Demonstraţia se realizează prin reducere la absurd, presupunând că matricea A admite două descompuneri L-U şi anume: 11 ULA ⋅= , 22 ULA ⋅= . De aici rezultă că 2211 ULUL ⋅=⋅ , ceea ce conduce la:

1121

12 UULL −− ⋅=⋅ ,

adică o matrice inferior triunghiulară unitate ( 11

2 LL ⋅− ) este identică cu o matrice superior triunghiulară ( 1

12 UU −⋅ ). Acest lucru este posibil numai dacă ambele matrice sunt diagonale şi au diagonala principală unitară, adică:

n11

2 ILL ≡⋅− şi n1

12 IUU ≡⋅ − , ceea ce implică 21 LL ≡ , 21 UU ≡ .

Procedura de triangularizare directă necesită un număr de operaţii în virgulă mobilă de ordinul lui 3/n 3 . Numărul total de operaţii în virgulă mobilă pentru rezolvarea unui sistem determinat de ecuaţii algebrice liniare, folosind triangularizarea simplă, este de ordinul lui 23 n)3/n( + , 2n operaţii fiind necesare pentru parcurgerea celor două etape din rezolvarea propriu-zisă a sistemului, anume substituţia înainte şi substituţia înapoi.

Dacă matricea A este simetrică ( TAA = ) şi pozitiv definită ( 0xAx,0x,x T

n1n >⋅⋅≠ℜ∈∀ × şi n

T 0x0xAx ≡⇔=⋅⋅ ), atunci A se

descompune sub forma TLLA ⋅= . Aceasta se numeşte descompunerea Cholesky. În acest caz, algoritmul necesită mai puţine operaţii în virgulă mobilă şi anume 6/n 3 , exploatând faptul că matricea A este simetrică.

2.2.2 Procedura de triangularizare directă a unei matrice

Principiul triangularizării simple poate fi prezentat prin următorul algoritm, descris principial în limbajul pseudocod: atribuie AA1 ← pentru 1n,1k −= execută ⎡ * determinare matrice kM astfel încât matricea kk1k AMA ⋅=+ să ⎢ aibă elementele: ⎢ n,...,1ki,0a ]1k[

k,i +==+ şi 1k,...,1j;n,...,1i,aa ]k[j,i

]1k[j,i −===+

⎢ atribuie kk1k AMA ⋅←+ ⎣

Page 31: Carte Mn Letitia Mirea

2.2 Rezolvarea sistemelor prin triangularizare directă 41

În final se obţine matricea UAn = . Acest algoritm parcurge )1n( − etape, la fiecare etapă zerorizându-se

elementele de sub diagonala principală şi păstrând nealterate transformările care s-au efectuat în coloanele anterioare ale matricei A.

Notând cu ξ vectorul conţinând elementele coloanei k a matricei kA ,

anume: T]k[

k,n]k[

k,1k]k[k,k

]k[k,1

Tn1kk1 ]aaaa[][ ………… ++ =ξξξξ=ξ ,

atunci matricea de transformare kM se construieşte astfel încât vectorul ξ⋅kM

să aibă elementele: T

k1k ]00[M …… ξξ=ξ⋅ .

Se consideră vectorul km de forma: T

k,nk,1kk ]00[m μμ= + …… , elementele n,...,1ki,k,i +=μ numindu-se multiplicatori.

Vectorul km se numeşte vector Gauss sau vector de multiplicatori. Subvectorul care conţine strict numai multiplicatorii se numeşte subvector Gauss:

Tk,nk,1kk ][t μμ= + … .

Definiţie:

Matricea kM se numeşte matrice de transformare elementară de ordin n şi indice k sau matrice Gauss şi este definită prin:

Tkknk emIM ⋅−= ,

în care TTk ]00100[e ……= , elementul egal cu 1 fiind în poziţia k.

Definită astfel, matricea kM este o matrice inferior triunghiulară unitate, este nesingulară şi deci admite inversă. Inversa acesteia este de forma:

Tkkn

1k emIM ⋅+=− . (2.5)

Efectul aplicării matricei kM asupra vectorului definit anterior, ξ , este:

Tkk,nnkk,1k1kk1

kkTkk

Tkknk

][

mem)emI(M

ξ⋅μ−ξξ⋅μ−ξξξ=

ξ⋅−ξ=ξ⋅⋅−ξ=ξ⋅⋅−=ξ⋅

++ …… ultimele kn − elemente trebuind a fi zerorizate. Presupunând că 0k ≠ξ şi alegând n,...,1ki,/ kik,i +=ξξ=μ , va rezulta:

Tk1k ]00[M …… ξξ=ξ⋅ .

Page 32: Carte Mn Letitia Mirea

42 2. Sisteme determinate de ecuaţii algebrice liniare

Dacă la etapa k a triangularizării, elementul 0a ]k[k,k ≠ şi

n,...,1ki,a/a ]k[k,k

]k[k,ik,i +==μ , atunci se obţine:

T]k[k,k

]k[k,1k

]k[k,1kkk ]00aaa[)A(cM …… −=⋅ ,

în care )A(c kk reprezintă notaţia pentru coloana k a matricei kA . Acest rezultat evidenţiază faptul că primele k elemente din coloana k a matricei kA rămân neschimbate, iar ultimele kn − elemente devin zero. Elementul

]k[k,kk a=ξ se numeşte pivot.

Observaţii:

1. În practică, pe calculator, etapa k descrisă mai sus se poate realiza testând condiţia:

ε>|a| ]k[k,k ,

în loc de a verifica 0a ]k[k,k ≠ , unde ε este o constantă impusă, de valoare

mică sau foarte mică. De exemplu, constanta ε poate fi egală cu epsilonul-maşină. Aceasta se realizează datorită faptului că, dacă în aritmetica reală (exactă) pivotul este nul, în aritmetica virgulei mobile, datorită erorilor de calcul, această situaţie este echivalentă cu:

ε≤|a| ]k[k,k .

2. Când pivotul este în modul mai mic sau egal cu ε , eliminarea gaussiană eşuează. Aceasta corespunde situaţiei când matricea iniţială A are submatricea principală de ordin k singulară, deci conform teormei enunţate anterior, descompunerea L-U a matricei A nu există.

Efectul aplicării transformării kM asupra celorlaltor coloane ale matricei

kA este următorul. Se consideră un vector ξ≠η de forma Tn1 ][ ηη=η … .

Aplicând transformarea kM vectorului η , se obţine: T

kk,nnkk,1k1kk1k ][M η⋅μ−ηη⋅μ−ηηη=η⋅ ++ …… .

Concluzii:

a) Matricea kM lasă nemodificate primele 1k − coloane ale matricei kA . Considerând vectorul η ca fiind coloana numărul j a matricei kA :

1k,...,1j,kj,]000**[)A(c T

nk1jj1kj −=<==η+

……… ,

atunci se obţine:

Page 33: Carte Mn Letitia Mirea

2.2 Rezolvarea sistemelor prin triangularizare directă 43

)A(c

]000000**[)A(cM

kj

T

nk,n

1kk,1kk1jj1kjk

=

⋅μ−⋅μ−=⋅++

+………

b) Matricea kM transformă coloana k a matricei kA , zerorizând liniile n,...,1k + .

c) Matricea kM transformă coloanele n,...,1k + ale lui kA în liniile n,...,1k + . Considerând vectorul η ca fiind coloana j a matricei kA :

n,...,1kj),A(c kj +==η ,

atunci se obţine: T]k[

j,kk,n]k[j,n

]k[j,kk,1k

]k[j,1kkjk ]aaaa**[)A(cM ⋅μ−⋅μ−=⋅ ++ …… ,

notaţia * semnificând faptul că elementele implicate rămân nemodificate.

Sumarizând, asupra matricei iniţiale A se aplică transformările 1M , ...,

1nM − , obţinându-se în final forma superior triunghiulară U:

UAMMM 121n =⋅⋅⋅⋅− … . (2.6)

Înmulţind la stânga relaţia (2.6) cu 11n

12

11 MMM −

−−− ⋅⋅⋅ … , se obţine:

UMMMA 11n

12

11 ⋅⋅⋅⋅= −

−−− … . (2.7)

Notând produsul 11n

12

11 MMM −

−−− ⋅⋅⋅ … cu L, atunci relaţia (2.7) devine:

ULA ⋅= . Ţinând cont de forma matricelor 1n,...,1k,M 1

k −=− dată de relaţia (2.5), atunci matricea L este egală cu:

∑−

=

−−

−− ⋅+=⋅⋅⋅=1n

1k

Tkkn

11n

12

11 emIMMML … .

Matricea L este inferior triunghiulară unitate şi conţine în fiecare coloană, sub elementul unitar de pe diagonala principală, subvectorii Gauss.

Prima sub-etapă de rezolvare a sistemului (2.1) este substituţia înainte aplicată sistemului de ecuaţii byL =⋅ . Vectorul y rezultat este, de fapt,

vectorul care se obţine aplicând la stânga, în aceeaşi ordine, transformările elementare care s-au aplicat matricei A:

bMMMbLy 121n1 ⋅⋅⋅⋅=⋅= −− … .

Exemplul 2.2:

Se consideră o aritmetică a virgulei mobile cu 10=β , 5t = şi rotunjire prin tăiere.

Page 34: Carte Mn Letitia Mirea

44 2. Sisteme determinate de ecuaţii algebrice liniare

?x,bxA;6901.37

b;5156099.230710

A ==⋅⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

−−

−=

;1015005.0**

6101*0710

A;55.2*6101*0710

A;AA5

33

321

⎥⎥⎥

⎢⎢⎢

⋅⋅−−

=⎥⎥⎥

⎢⎢⎢

⎡⋅−−

== −−

a5

x11

0

99993.05.135.0

x;1015004.0

001.67

y =⎥⎥⎥

⎢⎢⎢

⎡−≠

⎥⎥⎥

⎢⎢⎢

−−−

=⎥⎥⎥

⎢⎢⎢

⋅= ,

unde ax reprezintă soluţia adevărată a sistemului. Rezultă, aşadar, erori mari în soluţia calculată, x . Cauza care a determinat apariţia acestor erori este aceea că la pasul al doilea al triangularizării s-a lucrat cu un pivot foarte mic în modul ( 3101 −⋅− ), pentru aritmetica virgulei mobile folosite. Multiplicatorul corespunzător este 33

2,3 105.2)10/(5.2 ⋅=−=μ − , deci are o valoare foarte mare în modul pentru aceeaşi aritmetică. Aceasta a condus, mai departe, la apariţia fenomenului de omitere catastrofală în calculele care s-au efectuat pentru obţinerea vectorilor y şi x .

Concluzie:

La triangularizarea simplă, unde elementele matricei A se modifică corespunzător relaţiei:

n,...,kj;n,...,1ki,aaa ]k[kjik

]k[ij

]1k[ij =+=⋅μ−=+ ,

multiplicatorii ikμ pot avea, în principiu, orice valoare. Dacă aceste valori sunt mari sau foarte mari, atunci pot apare fenomenele de omitere catastrofală şi/sau de neutralizare a termenilor. Mai mult, dacă aceşti multiplicatori au valori supraunitare în modul, atunci ei amplifică erorile prezente în termenii ]k[

kja , în

felul acesta triangularizarea simplă fiind instabilă numeric, în general. Altfel spus, nu există nici un control asupra stabilităţii numerice a algoritmului triangularizării simple.

2.3 Rezolvarea sistemelor prin triangularizare cu pivotare parţială

În cazul triangularizării cu pivotare parţială (Figura 2.1), la pasul k se caută pivotul kξ printre elementele din coloana k, pornind de la elementul de pe

Page 35: Carte Mn Letitia Mirea

2.3 Rezolvarea sistemelor prin triangularizare cu pivotare parţială 45

diagonala principală în jos, alegându-se elementul care are cea mai mare valoare în modul:

k]k[

k,inik

]k[k,i |}a{|max|a|

kξ==

≤≤.

Ak =

|k

⎯ k

⎯ ik

⎯ n

0

Fig. 2.1 Principiul triangularizării cu pivotare parţială a unei matrice: pivotul se

găseşte în coloana k, liniile k÷ n; k=1,...,n

Dacă ki k ≠ , elementul maxim în modul nu se găseşte pe diagonala principală, atunci se interschimbă (permută) liniile k şi ki . Lucrul acesta se realizează automat cu ajutorul unei matrice de permutare de linii kP care multiplică la stânga matricea kA : kk AP ⋅ . Pentru matricea care rezultă astfel, se determină apoi matricea de transformare kM ca şi în cazul traingularizării simple, obţinând matricea:

)AP(MA kkk1k ⋅⋅=+ . În felul acesta, multiplicatorii calculaţi sunt subunitari în modul

n,...,1ki,1|| k,i +=≤μ , iar algoritmul triangularizării devine stabil numeric. Matricea kk PM ⋅ se numeşte matrice de transformare elementară stabilizată.

Matricea de permutare kP se obţine din matricea unitate de ordinul n, nI , schimbând adecvat între ele liniile k şi ki . Această matrice are următoarele proprietăţi:

1kkk PP;1)Pdet( −=−= .

Teoremă:

Dacă matricea nnA ×ℜ∈ este nesingulară, atunci există o matrice nnP ×ℜ∈ , numită matrice generală de permutare de linii, astfel încât:

ULAP ' ⋅=⋅ ,

Page 36: Carte Mn Letitia Mirea

46 2. Sisteme determinate de ecuaţii algebrice liniare

în care U este o matrice superior triunghiulară şi 'L este o matrice inferior triunghiulară unitate. cu elementele ji,1|l| j,i >≤ .

Demonstraţia acestei teoreme este constructivă, constituind însuşi algoritmul de triangularizare cu pivotare parţială a unei matrice. Se poate face observaţia că matricea 'L conţine în coloana k, sub elementul de pe diagonala principală, subvectorul Gauss (de la triangulaizarea simplă) având liniile permutate.

Algoritmul de triangularizare cu pivotare parţială este următorul: atribuie AA1 ← pentru 1n,1k −= execută ⎡ * determinare pivot ]k[

k,ik ka←ξ astfel încât |}a{|max|a| ]k[

k,inik

]k[k,ik ≤≤=

⎢ dacă )ki( k ≠ atunci ⎢ ⎡ * determină kP ⎢ ⎢altfel ⎢ ⎢ atribuie nk IP ← ⎢ ⎣ ⎢ * calcul kk AP ⋅ ⎢ * determinare matrice kM astfel încât matricea ⎢ )AP(MA kkk1k ⋅⋅=+ să îndeplinească condiţiile de la ⎢ triangularizarea simplă ⎢ atribuie )AP(MA kkk1k ⋅⋅←+ ⎣ atribuie nAU ←

În ansamblu, asupra matricei A sunt aplicate următoarele transformări:

UAPMPMPM 11221n1n =⋅⋅⋅⋅⋅⋅⋅ −− … . (2.8)

Folosind faptul că 1kk PP −= , sau altfel spus nkk IPP =⋅ , relaţia (2.8) poate fi

scrisă sub forma:

UA)PPP()PPPPMPM( 121n1n21111n1n =⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ −−−− ……… (2.9)

Matricea produs 121n PPP ⋅⋅⋅− … se notează cu P. Ea este numită matrice generală de permutare de linii. Produsul din prima paranteză din relaţia (2.9) se notează cu 1'L− . Relaţia (2.9) se scrie sub forma: ULAP ' ⋅=⋅ , în care matricea

11n1n

122

1121n

' MPMPMPPL −−−

−−− ⋅⋅⋅⋅⋅⋅⋅⋅= …… este o matrice inferior

triunghiulară unitate având în fiecare coloană, sub diagonala principală, subvectori Gauss cu liniile permutate.

Page 37: Carte Mn Letitia Mirea

2.3 Rezolvarea sistemelor prin triangularizare cu pivotare parţială 47

Definiţie:

Matricea nnA ×ℜ∈ se numeşte diagonal dominantă pe coloane dacă în fiecare coloană a sa elementul de pe diagonala principală este, în modul, mai mare decât suma modulelor celorlaltor elemente:

n,...,1j,|a||a|n

ji1i

j,ij,j =∀≥∑≠=

.

În acest caz, se poate enunţa următorul rezultat.

Propoziţie:

Dacă matricea A este diagonal dominantă pe coloane, atunci ea admite factorizarea:

ULAP ' ⋅=⋅ ,

în care nIP = şi elementele matricei 'L sunt în modul subunitare.

Altfel spus, nu este implicată permutarea de linii în cazul traingularizării unei matrice diagonal dominante pe coloane.

Rezolvarea sistemului 1nnn b,A,bxA ×× ℜ∈ℜ∈=⋅ se realizează în două etape: a) descompunerea 'L -U a matricei A:

ULAP ' ⋅=⋅ b) rezolvarea propriu-zisă a sistemului care comportă trei subetape, şi anume:

b.1.) calculul vectorului bPc ⋅= ; b.2.) rezolvarea sistemului cyL' =⋅ prin substituţie înainte; b.3.) rezolvarea sistemului yxU =⋅ prin substituţie înapoi.

Această modalitate de rezolvare se bazează pe următoarele relaţii: bPxAP ⋅=⋅⋅ , ULAP ' ⋅=⋅ , bPxUL' ⋅=⋅⋅ , xUy ⋅= , bPc ⋅= .

Exemplul 2.3:

Se consideră problema de la Exemplul 2.2. Se aplică, de această dată, triangularizarea cu pivotare parţială. În acest caz, permutarea de linii intervine la pasul al doilea al triangularizării, permutându-se liniile 2 şi 3: 2PP = . Se obţine, în final:

⎥⎥⎥

⎢⎢⎢

⎡−=

⎥⎥⎥

⎢⎢⎢

⎡ −=

⎥⎥⎥

⎢⎢⎢

⎡=

11

0x;

002.60055.200710

U;002.6

5.27

y .

Page 38: Carte Mn Letitia Mirea

48 2. Sisteme determinate de ecuaţii algebrice liniare

Dacă algoritmul de triangularizare cu pivotare parţială eşuează, în sensul că pivotul găsit la o anumită etapă [k] este nul sau foarte mic în modul, aceasta corespunde situaţiei când în aritmetica reală primele k coloane ale matricei A sunt liniar dependente. Dacă însă pivotul găsit este în modul foarte mic în sensul preciziei dorite (mai mic decât un anumit parametru ε impus), atunci se recurge la traingularizarea matricei sistemului prin pivotare totală, ceea ce implică atât permutări de linii cât şi de coloane.

2.4 Rezolvarea sistemelor prin triangularizare cu pivotare totală

În cazul triangularizării cu pivotare totală (Figura 2.2), la pasul [k] al triangularizării se alege drept pivot elementul maxim în modul din submatricea formată din liniile de la k la n, coloanele de la k la n:

|}a{|max|a| ]k[j,i

njknik

]k[j,i kk

≤≤≤≤

= .

Dacă acest element nu se află în linia şi/sau coloana k, atunci are loc permutarea adecvată de linii şi/sau coloane în scopul aducerii acelui element pe diagonala principală, anume în linia k şi coloana k.

Ak =

|k

⎯ k

⎯ ik

⎯ n

0

|jk

Fig. 2.2 Principiul triangularizării cu pivotare totală a unei matrice: pivotul se găseşte în submatricea determinată de coloanele k ÷ n şi liniile k÷ n; k=1,...,n

În continuare, se enunţă şi demonstrează următorul rezultat.

Teoremă:

Pentru orice matrice nnA ×ℜ∈ nesingulară, există două matrice generale de permutare, P – matrice generală de permutare de linii şi S – matrice generală de permutare de coloane, astfel încât:

ULSAP ' ⋅=⋅⋅ ,

Page 39: Carte Mn Letitia Mirea

2.4 Rezolvarea sistemelor prin triangularizare cu pivotare totală 49

unde U este o matrice superior triunghiulară, iar 'L este o matrice inferior triunghiulară unitate având elementele ji,1|l| j,i ≥≤ , în fiecare coloană a

matricei L’, sub elementul de pe diagonala principală, găsindu-se subvectori Gauss având liniile permutate între ele. Matricele generale de permutare P şi S sunt:

1n21121n SSSS;PPPP −− ⋅⋅⋅=⋅⋅⋅= …… , unde matricele 1n,...,1k,S,P kk −= sunt matrice de permutare de linii şi, respectiv, de coloane.

Demonstraţia teoremei este constructivă, reprezentând însuşi algoritmul triangularizării cu pivotare totală a matricei A. Acesta este descris în limbajul pseudocod, după cum urmează:

atribuie AA1 ← pentru 1n,1k −= execută ⎡ * determinare pivot ]k[

j,ik kka←ξ care satisface: |}a{|max|a| ]k[

j,injknik

]k[j,i kk

≤≤≤≤

=

⎢ dacă )ki( k ≠ atunci ⎢ ⎡ * determinare kP (permutarea liniilor ki şi k) ⎢ ⎢altfel ⎢ ⎢ atribuie nk IP ← ⎢ ⎣ ⎢ dacă )kj( k ≠ atunci ⎢ ⎡ * determinare kS (permutarea coloanelor kj şi k) ⎢ ⎢altfel ⎢ ⎢ atribuie nk IS ← ⎢ ⎣

⎢ atribuie kkk'

1k SAPA ⋅⋅←+ ⎢ * traingularizare matrice '

1kA + : ⎢ )SAP(MAMA kkkk

'1kk1k ⋅⋅⋅=⋅← ++

⎣ atribuie nAU ←

Tabloul general al transformărilor este:

USSSAPMPMPM 1n2111221n1n =⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ −−− …… . (2.10)

În relaţia (2.10) se notează cu S produsul 1n21 SSS −⋅⋅⋅ … şi se ţine cont de faptul că nkk IPP =⋅ . Atunci relaţia (2.10) devine:

Page 40: Carte Mn Letitia Mirea

50 2. Sisteme determinate de ecuaţii algebrice liniare

USA)PP(

)PPPPMPMPM(

11n

1n2111221n1n

=⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅

−−−

………

(2.11)

Matricea 121n PPP ⋅⋅⋅− … se notează cu P, iar cu 1' )L( − se notează produsul

1n2111221n1n PPPPMPMPM −−− ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ …… . În felul acesta, relaţia (2.11) devine: ULSAP ' ⋅=⋅⋅ .

Observaţii:

1. Matricea de permutare de linii, kP , se obţine din matricea unitate nI schimbând adecvat între ele liniile k şi ki . Deoarece se schimbă linii între ele, matricea kP se aplică la stânga matricei kA . Matricea kP are proprietăţile:

1kkk PP;1)Pdet( −=−= .

2. Matricea de permutare de coloane, kS , se obţine din matricea unitate nI schimbând adecvat între ele coloanele k şi kj . Deoarece se schimbă coloane între ele, matricea kS se aplică la dreapta matricei kA . Matricea kS are proprietăţile:

1kkk SS;1)Sdet( −=−= .

Pentru înţelegerea etapelor rezolvării sistemului (2.1), se înmulţesc ambii membri ai ecuaţiei, la stânga, cu matricea P şi se inserează între A şi x produsul n

1 ISS =⋅ − , obţinându-se:

bPxSSAP 1 ⋅=⋅⋅⋅⋅ − . (2.12)

Aşadar, rezolvarea sistemului comportă următoarele etape: a) triangularizarea cu pivotare totală a matricei siatemului A:

ULSAP ' ⋅=⋅⋅ ; b) rezolvarea propriu-zisă a sistemului (2.12), cu următoarele subetape:

b.1.) calculul vectorului bPc ⋅= ; b.2.) rezolvarea sistemului cyL' =⋅ prin substituţie înainte;

b.3.) rezolvarea sistemului yzU =⋅ prin substituţie înapoi; b.4.) determinarea soluţiei: zSx ⋅= .

Observaţii:

1) Permutările de linii efectuate asupra matricei A implică permutări de linii asupra termenului liber b .

Page 41: Carte Mn Letitia Mirea

2.5 Aplicaţii ale descompunerilor L-U 51

2) Permutările de coloane efectuate asupra matricei A implică permutări de linii în soluţia calculată a sistemului z .

3) Triangularizarea cu pivotare totală asigură, la fiecare iteraţie a sa, pivoţii cei mai mari în valoare absolută. Astfel, multiplicatorii vor fi subunitari în modul, de valoarea cea mai mică posibil, 1|| k,i ≤μ , iar elementele care se transformă devin:

n,...,1ki;n,...,kj,aaa ]k[j,kk,i

]k[j,i

]1k[j,i +==⋅μ−←+ .

Ca urmare, triangularizarea cu pivotare totală reprezintă procedura de triangularizare cea mai precisă şi stabilă numeric. Dezavantajul ei este acela că necesită un timp de calcul mai mare. De regulă, se foloseşte triangularizarea cu pivotare parţială, recurgându-se la triangularizarea cu pivotare totală numai când cea parţială eşuează.

4) Dacă A este o matrice singulară, atunci pivotarea totală va eşua. În aritmetica reală exactă aceasta corespunde situaţiei când pivotul este nul, matricea A având rangul egal cu k-1, daca algoritmul eşuează la iteraţia k. În aritmetica în virgulă mobilă, datorită erorilor de rotunjire, un pivot nul înseamnă îndeplinirea condiţiei:

ε≤|a| ]k[j,i kk

,

şi se spune că matricele A, ca şi kA , sunt algoritmic singulare. 5) Dacă matricea A este diagonal dominantă pe linii şi pe coloane şi în plus

elementele de pe diagonală satisfac relaţiile: |a||a||a| nn2211 ≥≥≥ … ,

atunci descompunerea 'L -U cu pivotare totală este:

nn' IS;IP:unde;ULSAP ==⋅=⋅⋅ .

2.5 Aplicaţii ale descompunerilor L-U

2.5.1 Calculul determinantului

Considerând o matrice nnA ×ℜ∈ nesingulară, pentru care s-a calculat una din descompunerile de tip L-U, calculul determinantului acesteia poate fi făcut după cum urmează.

Descompunerea L-U bazată pe triangularizarea simplă

În acest caz, descompunerea L-U a matricei A este:

ULA ⋅= , (2.13)

Page 42: Carte Mn Letitia Mirea

52 2. Sisteme determinate de ecuaţii algebrice liniare

unde L este o matrice inferior triunghiulară unitate, iar matricea nj,i1j,i ]u[U ≤≤=

este o matrice superior triunghiulară. Aplicând funcţia determinant det(.) relaţiei (2.13) se obţine:

)Udet()Ldet()ULdet()Adet( ⋅=⋅= . (2.14)

Matricea L fiind o matrice inferior triunghiulară unitate, determinantul său este egal cu 1, iar matricea U fiind o matrice superior triunghiulare, determinantul său este egal cu produsul elementelor de pe diagonala principală. Ţinând cont de acestea, relaţia (2.14) devine:

∏=

=n

1ii,iu)Adet( .

Descompunerea L-U bazată pe triangularizarea cu pivotare parţială

În acest caz, descompunerea L-U a matricei A este:

ULAP ' ⋅=⋅ , (2.15)

în care P este matricea generală de permutare de linii (matrice nesingulară), 'L este o matrice inferior triunghiulară unitate, iar nj,i1j,i ]u[U ≤≤= este o matrice

superior triunghiulară. Ţinând cont de faptul că matricea P este inversabilă, relaţia (2.15) poate fi scrisă sub forma:

ULPA '1 ⋅⋅= − . (2.16)

Aplicând funcţia determinant det(.) relaţiei (2.16), se obţine: )Udet()Ldet()Pdet()ULPdet()Adet( '1'1 ⋅⋅=⋅⋅= −− .

Ţinând cont de următoarele: • 1n21

1 PPPP −− ⋅⋅⋅= … , )Pdet()Pdet()Pdet()Pdet( 1n21

1−

− ⋅⋅⋅= … ; • }1n,...,1{i,1)Pdet( i −∈−= , deoarece dacă ni IP ≠ este realizată o

permutare de linii la iteraţia [i] a algoritmului de triangularizare cu pivotare parţială;

• 1)Ldet( ' = ;

• ∏=

=n

1ii,iu)Udet( ,

atunci relaţia (2.16) devine:

∏=

⋅−=n

1ii,i

Npl u)1()Adet( ,

unde Npl reprezintă numărul de permutări de linii efectiv realizate în procesul de triangularizare a matricei A.

Page 43: Carte Mn Letitia Mirea

2.5 Aplicaţii ale descompunerilor L-U 53

Descompunerea L-U bazată pe triangularizarea cu pivotare totală

În acest caz, descompunerea L-U a matricei A este:

ULSAP ' ⋅=⋅⋅ , (2.17)

în care P este matricea generală de permutare de linii (matrice nesingulară), S este matricea generală de permutare de coloane (matrice nesingulară), 'L este o matrice inferior triunghiulară unitate, iar nj,i1j,i ]u[U ≤≤= este o matrice superior

triunghiulară. Ţinând cont de faptul că matricele P şi S sunt inversabile, relaţia (2.17) devine:

1'1 SULPA −− ⋅⋅⋅= . (2.18)

Dar 1n211 PPPP −− ⋅⋅⋅= … şi 121n

1 SSSS ⋅⋅⋅= −− … . Ca urmare, relaţia (2.18)

devine:

∏∏==

⋅⋅⋅=n

1ii

'n

1ii )Sdet()Udet()Ldet()Pdet()Adet( . (2.19)

Ţinând cont de următoarele: • }1n,...,1{i,1)Pdet( i −∈−= , deoarece dacă ni IP ≠ este realizată o

permutare de linii la iteraţia [i] a algoritmului de triangularizare cu pivotare totală;

• }1n,...,1{i,1)Sdet( i −∈−= , deoarece dacă ni IS ≠ este realizată permutare de coloane la iteraţia [i] a algoritmului de triangularizare cu pivotare totală;

• 1)Ldet( ' = ;

• ∏=

=n

1ii,iu)Udet( ,

atunci relaţia (2.19) devine:

∏=

+ ⋅−=n

1ii,i

NpcNpl u)1()Adet( ,

unde Npl este numărul permutărilor de linii, iar Npc numărul permutărilor de coloane ce s-au realizat efectiv pe parcursul procedurii de triangularizare cu pivotare totală a matricei A.

2.5.2 Rezolvarea ecuaţiilor matriciale

Se consideră ecuaţia matricială de forma:

?X;X;B;A,BXA pnpnnn =ℜ∈ℜ∈ℜ∈=⋅ ××× . (2.20)

Page 44: Carte Mn Letitia Mirea

54 2. Sisteme determinate de ecuaţii algebrice liniare

Se scriu matricele B şi X pe coloane, sub forma:

p,...,1k,x];xxx[X

p,...,1k,b];bbb[B1n

kpk1

1nkpk1

=ℜ∈=

=ℜ∈=×

×

……

……. (2.21)

Apelând la descompunerea L-U cu traingularizare simplă (relaţia (2.13)) a matricei A a sistemului (2.20), se obţine relaţia:

BXUL =⋅⋅ . (2.22)

Notând produsul XU ⋅ cu Y, relaţia (2.22) devine: BYL =⋅ sau, folosind relaţiile (2.21), se poate scrie:

p,...,1k,yxU

p,...,1k,byL

kk

kk

==⋅

==⋅. (2.23)

Aşadar, rezolvarea ecuaţiei matriciale (2.20) implică descompunerea L-U a matricei sistemului şi apoi determinarea succesivă a coloanelor matricei necunoscutelor, X cu ajutorul relaţiilor (2.23). Numărul de operaţii în virgulă mobilă necesar rezolvării unui astfel de sistem este de ordinul lui

23 np)3/n( ⋅+ , unde 3/n3 operaţii în virgulă mobilă sunt necesare descompunerii L-U, iar 2np ⋅ operaţii sunt necesare rezolvării sistemului în maniera descrisă.

În cazul în care se utilizează descompunerea L-U cu pivotare parţială (relaţia (2.15)) a matricei A a sistemului, atunci rezolvarea sistemului de ecuaţii matriciale (2.20) parcurge următoarele etape: a) descompunerea 'L -U a matricei A (relaţia (2.15)); b) calculul coloanelor matricei X; pentru p,...,1k = se execută:

b.1.) calculul vectorului kbPc ⋅= ;

b.2.) rezolvarea sistemului cyLk

' =⋅ prin substituţie înainte;

b.3.) rezolvarea sistemului kk yxU =⋅ prin substituţie inversă.

În cazul în care se apelează la descompunerea L-U cu pivotare totală (relaţia (2.17)) a matricei A a sistemului, atunci rezolvarea sistemului de ecuaţii matriciale (2.20) parcurge următoarele etape: a) descompunerea 'L -U a matricei A (relaţia (2.17)); b) calculul coloanelor matricei X; pentru p,...,1k = se execută:

b.1.) calculul vectorului kbPc ⋅= ;

b.2.) rezolvarea sistemului cyLk

' =⋅ prin substituţie înainte;

Page 45: Carte Mn Letitia Mirea

2.5 Aplicaţii ale descompunerilor L-U 55

b.3.) rezolvarea sistemului kk yzU =⋅ prin substituţie inversă;

b.4.) ordonare soluţie calculată: kk zSx ⋅= .

2.5.3 Calculul inversei unei matrice

Fie o matrice nnA ×ℜ∈ nesingulară. Se doreşte aflarea inversei acesteia, notată cu 1A − . Acest tip de problemă se încadrează în problematica rezolvării ecuaţiilor matriciale de tipul (2.20), considerând nIB = .

Astfel, în prima fază se utilizează una din descompunerile L-U ale matricei A, anume traingularizare simplă, triangularizare cu pivotare parţială sau triangularizare cu pivotare totală, urmată de o a doua fază de rezolvare propriu-zisă a unui sistem de tipul (2.20). În final, matricea inversă 1A− este egală cu matricea ale cărei coloane sunt vectorii rezultaţi la faza a doua menţionată şi anume: [ ]nk1

1 xxxXA ……==− . Detaliile acestei proceduri sunt următoarele, în funcţie de tipul de triangularizare a matricei de inversat A caee este folosit:

triangularizare simplă

1. descompunere L-U (relaţia (2.13)); 2. kk

eyL =⋅ , Tk ]00100[e ……= , unde 1 apare în poziţia k;

kk yxU =⋅ , n,...,1k =

triangularizare cu pivotare parţială

1. descompunere L-U (relaţia (2.15)); 2. kePc ⋅= , T

k ]00100[e ……= , unde 1 apare în poziţia k;

cyLk

' =⋅

kk yxU =⋅ , n,...,1k =

triangularizare cu pivotare totală

1. descompunere L-U (relaţia (2.17)); 2. kePc ⋅= , T

k ]00100[e ……= , unde 1 apare în poziţia k;

cyLk

' =⋅

kk yzU =⋅

kk zSx ⋅= , n,...,1k = .

Page 46: Carte Mn Letitia Mirea

56 2. Sisteme determinate de ecuaţii algebrice liniare

Această procedură de determinare a inversei unei matrice necesită un număr de operaţii în virgulă mobilă de ordinul lui 23 nn)3/n( ⋅+ , în cazul utilizării triangularizării simple. Concluzia care se poate desprinde este aceea că inversarea unei matrice necesită un număr mare de operaţii în virgulă mobilă. Ca urmare, în practică, nu se recomandă rezolvarea sistemelor prin metoda bazată pe calculul explicit al inversei matricei sistemului:

bAxbxA 1 ⋅=⇒=⋅ − , deoarece există posibilitatea afectării rezultatului obţinut de către erorile de rotunjire acumulate.

2.5.4 Rezolvarea sistemelor în corpul numerelor complexe

Fie sistemul de ecuaţii:

1nnn b,A,bzA ×× ∈∈=⋅ CC . (2.24)

În principiu, se poate aplica metodologia de rezolvare a sistemelor de ecuaţii având matricea sistemului şi termenul liber cu elemente numere reale, dacă operaţiile cu numere complexe sunt definite (implementate) în limbajul de programare folosit. Altfel, trebuie scrise funcţii sau rutine, stabile din punct de vedere numeric, care să implementeze operaţiile cu numere complexe.

De regulă, problema rezolvării unui sistem complex de ordinul n se transformă în problema rezolvării unui sistem real de dimensiune n2 ⋅ . Astfel, se pot rescrie matricele implicate în (2.24) sub forma următoare, unde 1i2 −= :

nn2121 A,A,AiAA ×ℜ∈⋅+= ,

1n2121 b,b,bibb ×ℜ∈⋅+= , (2.25)

1n2121 z,z,zizz ×ℜ∈⋅+= .

Înlocuind relaţiile (2.25) în (2.24) se obţine:

212121 bib)ziz()AiA( ⋅+=⋅+⋅⋅+ .

Efectuând calculele se obţine:

2121122211 bib)zAzA(i)zAzA( ⋅+=⋅+⋅⋅+⋅−⋅ . (2.26)

Din relaţia (2.26), identificând partea reală şi partea imaginară pentru cei doi membri ai egalităţii, se obţine:

12211 bzAzA =⋅−⋅ ,

22112 bzAzA =⋅+⋅ ,

ceea ce se poate scrie sub formă matricială astfel:

Page 47: Carte Mn Letitia Mirea

2.6 Metode iterative 57

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

⎡⋅

⎥⎥⎥

⎢⎢⎢

⎡ −

2

1

2

1

12

21

b

b

z

z

AA

AA. (2.27)

Notând cu C matricea de blocuri ⎥⎥⎥

⎢⎢⎢

⎡ −

12

21

AA

AA, cu x vectorul

⎥⎥⎥

⎢⎢⎢

2

1

z

z şi cu

d vectorul ⎥⎥⎥

⎢⎢⎢

2

1

b

b, relaţia (2.27) se reduce la:

dxC =⋅ . (2.28)

Rezolvând sistemul (2.28), se obţine o soluţie care se poate rescrie sub forma: T

n21nn1 ]xxxx[x ⋅+= …… ,

iar soluţia sistemului complex este: T

n21nT

n1 ]xx[i]xx[z ⋅+⋅+= …… .

2.6 Metode iterative

2.6.1 Principiul şi convergenţa metodelor iterative

Fie sistemul de ecuaţii algebrice liniare:

1nnn b,A,bxA ×× ℜ∈ℜ∈=⋅ , (2.29)

în care A este o matrice nesingulară. Metodele iterative se bazează pe construcţia unui şir de aproximaţii ale

soluţiei, ,...1,0k,x ]k[ = , convergent la soluţia adevărată:

]0[]k[

kx,xxlim ∀=

∞→.

Pentru construcţia acestui şir, se consideră rescrierea sau descompunerea matricei A a sistemului sub forma: PNA −= , în care N este o matrice nesingulară. De regulă, se alege matricea N cu o formă simplă. Ecuaţia (2.29) devine:

bxPxNbx)PN( +⋅=⋅⇔=⋅− . (2.30)

Page 48: Carte Mn Letitia Mirea

58 2. Sisteme determinate de ecuaţii algebrice liniare

Şirul de aproximaţii se construieşte cu ajutorul relaţiei:

,...1,0k,bxPxN ]k[]1k[ =+⋅=⋅ + (2.31)

în care estimaţia iniţială ]0[x este dată (cunoscută). În particular, n]0[ 0x = .

Din relaţia (2.31) rezultă:

,...1,0k,bNxPNx 1]k[1]1k[ =⋅+⋅⋅= −−+ . (2.32)

Se face următoarea notaţie: nn1 G,PNG ×− ℜ∈⋅= .

Matricea G are valori proprii în general complexe, C∈λ )G(i , care formează mulţimea numită spectrul matricei G.

Definiţie:

Se numeşte rază spectrală a matricei G mărimea:

|})G({|max)G( ini1λ=ρ

≤≤.

În cele ce urmează, se enunţă şi demonstrează următorul rezultat.

Propoziţie:

Condiţia necesară şi suficientă ca şirul de soluţii aproximative, defint prin relaţia (2.32), să fie convergent către soluţia adevărată a sistemului de ecuaţii (2.29) este ca matricea PNG 1 ⋅= − să aibă toate valorile proprii în modul subunitare sau, altfel spus, raza spectrală a matricei G să fie subunitară.

Demonstraţia porneşte de la expresia erorii la iteraţia [k], care este: ]k[]k[ xxe −= , ,...1,0k = . Eroarea la pasul [ 1k + ] este:

bNxGxxxe 1]k[]1k[]1k[ ⋅−⋅−=−= −++ . (2.33)

Înlocuind în relaţia (2.33) expresia vectorului b din relaţia (2.30), se obţine:

]k[]k[1]k[]1k[ eG)xx(G)xPxN(NxGxe ⋅=−⋅=⋅−⋅⋅−⋅−= −+ . (2.34)

Exprimând eroarea la pasul [k] în funcţie de eroarea la pasul [k-1], prin folosirea repetată a relaţiei (2.34), se obţine următorul rezultat:

]0[1k]1k[2]k[]1k[ eGeGeGe ⋅==⋅=⋅= +−+ … .

Cum n]0[ 0e ≠ în general, atunci condiţia referitoare la limita şirului de

aproximaţii, prezentată la început, este îndeplinită dacă şi numai dacă

Page 49: Carte Mn Letitia Mirea

2.6 Metode iterative 59

nnk

kGlim ×∞→

= 0 . Această condiţie este satisfăcută dacă matricea G are valorile

proprii subunitare în modul, altfel spus, dacă rază spectrală a matricei G este subunitară.

Observaţii:

1. Cu cât raza spectrală subunitară a matricei G este mai mică, cu atât viteza de convergenţă a şirului de soluţii aproximative (2.32) va fi mai mare.

2. În practică, de multe ori, condiţia necesară şi suficientă prezentată anterior se verifică (înlocuieşte) printr-o condiţie suficientă, dacă este posibil, şi anume:

dacă 1||G|| <α atunci 1)G( <ρ .

De regulă se foloseşte norma matricială infinit, rezultând condiţia:

1}|g|{max||G||n

1jj,ini1

<= ∑=≤≤

∞ .

Dacă această ultimă condiţie este îndeplinită, atunci metoda iterativă este sigur convergentă şi nu mai este necesar să se calculeze valorile proprii ale matricei G de caracterizare a convergenţei. Dacă, însă, condiţia suficientă nu este satisfăcută, atunci nu se poate afirma nimic în ceea ce priveşte convergenţa metodei şi se recurge la calculul valorilor proprii ale matricei G, în scopul verificării condiţiei necesare şi suficiente.

În continuare se consideră următoarea descompunere a matrcii A a sistemului (2.29):

UDLA ++= , în care L este o matrice inferior triunghiulară cu diagonala principală nulă având elementele de sub diagonala principală egale cu elementele matricei A de acelaşi rang, D este o matrice diagonală având elementele de pe diagonala principală egale cu elementele de pe diaonala principală a matricei A, iar U este o matrice superior triunghiulară având elementele de deasupra diagonalei principale egale cu elementele matricei A de acelaşi rang.

Se mai face presupunerea că elementele diagonalei principale a matricei A sunt nenule. În caz contrar, se pot face permutări de linii şi/sau coloane astfel încât să fie îndeplinită şi această condiţie.

2.6.2 Metoda Jacobi şi metoda Gauss-Seidel

În cazul metodei Jacobi, matricele N şi P sunt:

)UL(P,DN +−== . (2.35)

Page 50: Carte Mn Letitia Mirea

60 2. Sisteme determinate de ecuaţii algebrice liniare

Din relaţia (2.31), folosind relaţia (2.35), rezultă:

,...1,0k,bx)UL(xD ]k[]1k[ =+⋅+−=⋅ + . (2.36)

Relaţia (2.36) se poate scrie pe linii astfel:

n,...,1i,bxaxa i

n

ij1j

]k[jj,i

]1k[ii,i =+⋅−=⋅ ∑

≠=

+ . (2.37)

Dacă elementul 0a i,i ≠ , atunci relaţia (2.37) se poate rescrie sub forma:

n,...,1i,x)a/a()a/b(xn

ij1j

]k[ji,ij,ii,ii

]1k[i =⋅−= ∑

≠=

+ . (2.38)

Matricea G corespunzătoare metodei Jacobi este:

nj,i1j,i11

Jacobi ]g[)UL(DPNG ≤≤−− =+⋅−=⋅= ,

în care ⎩⎨⎧

≠−=

=ji,a/aji,0

gi,ij,i

j,i .

Condiţia suficientă care se impune pentru ca metoda Jacobi să fie convergentă este:

1}|a/a|{max}|g|{maxn

ij1j

i,ij,ini1

n

1jj,ini1

<= ∑∑≠=≤≤=≤≤

. (2.39)

În relaţia (2.39) fiind implicate doar numere pozitive, dacă maximul lor este mai mic decât 1, atunci toate sunt subunitare:

∑∑≠=

≠=

>⇔<n

ij1j

j,ii,i

n

ij1j

i,ij,i |a||a|1|a/a| . (2.40)

O matrice care satisface relaţia (2.40) se numeşte matrice diagonal dominantă pe linii.

Propoziţie:

Dacă matricea A este diagonal dominantă pe linii, atunci metoda Jacobi este convergentă, oricare ar fi estimaţia iniţială a soluţiei sistemului de ecuaţii (2.29).

Observaţie:

Page 51: Carte Mn Letitia Mirea

2.6 Metode iterative 61

Condiţia (2.40) înseamnă că ji,n,...,1j,n,...,1i ≠==∀ , 1|a/a| i,ij,i < . Revenind la relaţia (2.38), se observă că i,ij,i a/a sunt coeficienţii care

multiplică estimaţiile anterioare, deci erorile ce afectează aceste estimaţii sunt micşorate pe măsură ce procesul iterativ avansează. Ca urmare, dacă matricea A este diagonal dominantă pe linii, atunci procedura este sigur stabilă numeric.

Metoda Gauss-Seidel porneşte de la descompunerea PNA −= în care:

UP,DLN −=+= . Relaţia (2.31) se poate rescrie, în acest caz, sub forma:

,...1,0k,bxUx)DL( ]k[]1k[ =+⋅−=⋅+ + . (2.41)

Relaţia (2.41) se poate scrie, pe linii, sub forma:

n,...,1i,bxaxa i

n

1ij

]k[jj,i

i

1j

]1k[jj,i =+⋅−=⋅ ∑∑

+==

+ ,

din care rezultă, dacă 0a i,i ≠ :

n,...,1i,x)a/a(x)a/a()a/b(xn

1ij

]k[ji,ij,i

1i

1j

]1k[ji,ij,ii,ii

]1k[i =⋅+⋅−= ∑∑

+=

=

++ .

Se poate demonstra că, şi în cazul metodei Gauss-Seidel, dacă matricea A este diagonal dominantă pe linii, atunci metoda este convergentă.

În general, se demonstrează că între raza spectrală subunitară a matricei )UL(DG 1

Jacobi +⋅−= − şi raza spectrală subunitară a matricei U)DL(G 1

SeidelGauss ⋅+−= −− există relaţia:

1)G()G( SeidelGaussJacobi2 <ρ≅ρ − .

Rezultă, în general, că dacă metoda Gauss-Seidel este convergentă, atunci viteza sa de convergenţă este mai mare decât cea corespunzătoare metodei Jacobi.

Există situaţii în care, pentru ambele metode, razele spectrale sunt subunitare, dar apropiate de valoarea 1. În acest caz, convergenţa ambelor metode este extrem de lentă, recomandându-se ca în descompunerea matricei A să se utilizeze unul sau mai mulţi parametri de accelerare a convergenţei.

2.6.3 Metoda relaxărilor succesive

Se porneşte de la descompunerea matricei A corespunzătoare metodei Gauss-Seidel. Relaţia (2.41) se poate scrie sub forma:

Page 52: Carte Mn Letitia Mirea

62 2. Sisteme determinate de ecuaţii algebrice liniare

,...1,0k,b)DL(xU)DL(x 1]k[1]1k[ =⋅++⋅⋅+−= −−+ . În acestă relaţie, în membrul drept se adună şi se scade cantitatea ]k[x .

Ţinând cont de faptul că )DL()DL(I 1n +⋅+= − rezultă:

]bxA[)DL(x

]bx)DL(xU[)DL(xx]k[1]k[

]k[]k[1]k[]1k[

−⋅⋅+−=

−⋅++⋅⋅+−=−

−+

Se face următoarea notaţie: ]k[]k[ xAbr ⋅−= ,

în care ]k[r se numeşte reziduu corespunzător iteraţiei [k]. În acest caz, se poate scrie:

]k[1]k[]1k[ r)DL(xx ⋅++= −+ . (2.42)

Se transformă relaţia (2.42), înmulţind termenul care conţine reziduul cu un parametru ω de accelerare a convergenţei:

]k[1]k[]1k[ r)DL(xx ⋅+⋅ω+= −+ . (2.43)

Al doilea termen din suma exprimată în relaţia (2.43) poate fi interpretat ca un factor de corecţie pentru estimaţia de la iteraţia [k]. Astfel, soluţia de la iteraţia [ 1k + ] se obţine prin corectarea soluţiei de la iteraţia anterioară [k], corecţia realizându-se în funcţie de reziduul ]k[r .

Relaţia (2.43) se poate rescrie sub forma:

]b)DL(xU)DL([

x)DL()DL(xx1]k[1

]k[1]k[]1k[

⋅++⋅⋅+−⋅ω+

⋅+⋅+⋅ω−=−−

−+

(2.44)

Paranteza dreptunghiulară pune în evidenţă aproximaţia la iteraţia [ 1k + ], obţinută prin metoda Gauss-Seidel. Relaţia (2.44) devine:

]1k[SeidelGauss

]k[]1k[ xx)1(x +−

+ ⋅ω+⋅ω−= . (2.45)

Se demonstrează că şirul de aproximaţii obţinut cu ajutorul relaţiei de recurenţă (2.45) este convergent pentru )2,0(∈ω . Dacă )1,0(∈ω metoda se numeşte a subrelaxărilor succesive, iar dacă )2,1(∈ω ea se numeşte a suprarelaxărilor succesive. Dacă 1=ω , se obţine metoda Gauss-Seidel.

În general, dacă metoda este convergentă, atunci numărul de iteraţii ca funcţie de parametrul ω atinge un punct de minim corespunzător unei valori

optimω (a se vedea Figura 2.3). Se poate arăta că optimω şi optimρ au aproximativ

valorile:

Page 53: Carte Mn Letitia Mirea

2.6 Metode iterative 63

411;

11

2 2optim

SeidelGauss2Jacobi

Jacobioptim2

Jacobi

optim

ω⋅ρ≅

ρ−+

ρ≅ρ

ρ−+≅ω − .

În practică, la nivelul fiecărei componente, se pot folosi relaţiile de calcul (2.45):

]a/)xaxab[(x)1(x i,i

n

1ij

]k[jj,i

1i

1j

]1k[jj,ii

]k[i

]1k[i ∑∑

+=

=

++ ⋅−⋅−⋅ω+⋅ω−= .

Relaţiile prezentate corespund unei descompuneri a matricei A care depinde de parametrul ω , şi anume:

)(P)(NAbxA;bxA ω−ω=⋅ω⇒⋅ω=⋅⋅ω=⋅ în care DL)(N +⋅ω=ω şi UD)1()(P ⋅ω−⋅ω−=ω .

numar iteratii

ω

ωoptim1 2

numar minimiteratii

Fig. 2.3 Metoda suprarelaxării succesive

***

Algoritmii prezentaţi lucrează până când este îndeplinită o condiţie de tipul:

x]1s[]s[ ||xx|| ε≤− α

− .

Se foloseşte, de regulă, norma infinit şi atunci condiţia de stop este:

x]1s[

i]s[

ini1|}xx{|max ε≤− −

≤≤.

Notând ]1k[n xx += şi ]k[

v xx = , atunci următorul algoritm descrie procedura generală aplicată în cazul unei metode iterative:

citeşte ]0[x x,ε

atribuie ]0[n xx ←

atribuie 1vn ←∞

Page 54: Carte Mn Letitia Mirea

64 2. Sisteme determinate de ecuaţii algebrice liniare

atribuie 0iter ← cât timp )vn( xε>∞ execută ⎡ atribuie nv xx ← ⎢ atribuie 1iteriter +← ⎢ * calculează nx ⎢ * calculează |})i(x)i(x{|maxvn vnni1

−=≤≤

În final, se obţin următoarele: numărul de iteraţii (iter) şi vectorul nx care aproximează soluţia sistemului cu precizia impusă xε . În descrierea anterioară,

]0[x reprezintă estimaţia iniţială a soluţiei, iar ∞vn este notaţia pentru valoarea normei vectoriale infinit.

2.7 Caracterizarea problemei rezolvării unui sistem de ecuaţii algebrice liniare. Precizia soluţiei calculate

Precizia soluţiei calculate a problemei: 1nnn b,A,bxA ×× ℜ∈ℜ∈=⋅

depinde critic de buna sa condiţionare numerică. Această proprietate este caracterizată de numărul de condiţie al matricei A a sistemului. Aceste concepte fac obiectul acestui subcapitol.

2.7.1 Numărul de condiţie al unei matrice

Definiţie: Oricare ar fi matricea nnA ×ℜ∈ , se defineşte numărul său de condiţie în

raport cu norma vectorială α , notat )A(kα , ca fiind: m/M)A(k =α ,

}||x||/||xA{||minm},||x||/||xA{||maxMnn 0x0x αα≠αα

≠⋅=⋅= ,

unde α||.|| este una din normele vectoriale uzuale (a se vedea Anexa A).

Cum în general mM ≥ , rezultă că şi 1)A(k ≥α . Se poate demonstra că

α−= ||A||m/1 1 . Astfel, se poate defini numărul de condiţie în raport cu

operaţia de inversare matricială ca fiind:

α−

αα ⋅= ||A||||A||)A(k 1 .

Page 55: Carte Mn Letitia Mirea

2.7 Caracterizarea problemei rezolvării unui sistem de ecuaţii algebrice liniare. Precizia soluţiei calculate 65

Numărul de condiţie depinde în general de norma matricială folosită. Între diferitele numere de condiţie corespunzătoare aceleiaşi matrice există relaţii care reflectă relaţiile dintre normele matriciale echivalente utilizate. Astfel, dacă α şi β sunt două norme matriciale (vectoriale), există constantele ℜ∈21 c,c astfel încât să aibă loc relaţia:

)A(kc)A(k)A(kc 21 αβα ⋅≤≤⋅ .

În multe abordări, este folosită norma infinit pentru a calcula numărul de condiţie al unei matrice:

∞−

∞∞ ⋅= ||A||||A||)A(k 1 . Cum calculul normei infinit este imediat (a se vedea Anexa A), problema

este de a determina norma infinit pentru inversă. O soluţie o reprezintă calculul inversei matricei A prin triangularizare şi apoi calculul normei infinit. În acest fel, se obţine o aproximare a numărului de condiţie al matricei. Dezavantajul acestei modalităţi este că este necesar un volum mare de calcule.

Discuţia asupra numărului de condiţie al unei matrice este reluată în capitolul 5 destinat studiului valorilor singulare ale unei matrice. Se prezintă acolo modalitatea uzual folosită pentru calculul eficient al numărului de condiţie.

Exemplul 2.4:

• dacă nIA = (matrice unitate de ordinul n), atunci 1)A(k =α ; • dacă kPA = (matrice elementară de permutare de linii), atunci 1)A(k =α ; • dacă kSA = (matrice elementară de permutare de coloane), atunci

1)A(k =α ; • dacă }d,...,d,...,d{diagA nnii11= (matrice diagonală), atunci

|}d{|min/|}d{|max)A(k iini1iini1 ≤≤≤≤α = .

În funcţie de valorile numărului de condiţie, matricea A poate fi caracterizată după cum urmează: a) dacă numărul de condiţie este egal cu 1, matricea A se spune că este foarte

bine condiţionată; b) dacă numărul de condiţie este mic, apropiat de valoarea 1, atunci matricea

A este bine condiţionată; c) dacă numărul de condiţie este mare, atunci matricea A este prost

condiţionată; d) dacă numărul de condiţie este foarte mare, atunci matricea A este aproape

singulară; e) dacă numărul de condiţie este infinit, atunci matricea A este singulară.

Page 56: Carte Mn Letitia Mirea

66 2. Sisteme determinate de ecuaţii algebrice liniare

Se mai utilizează şi inversul numărului de condiţie: )A(k/1)A(rk αα = .

În funcţie de valorile pe care le poate lua acesta, matricea A poate fi caracterizată după cum urmează, unde mε este notaţia pentru epsilonul-maşină: a) matrice foarte bine condiţionată, dacă 1)A(rk =α ; b) matrice bine condiţionată, dacă 1)A(rk <α , dar apropiat de valoarea 1:

1)A(rkm <<<ε α ; c) matrice prost condiţionată (aproape singulară) dacă m)A(rk ε≤α ; d) matrice singulară (foarte prost condiţionată) dacă 0)A(rk =α . Conform acestor caracterizări se poate afirma, în general, că numărul de condiţie al unei matrice reprezintă inversul distanţei dintre matricea A şi mulţimea matricelor singulare.

Exemplul 2.5:

De regulă se preferă caracterizarea singularităţii pe baza numărului de condiţie sau a inversului său, decât folosirea valorii determinantului. Fie matricea:

1001001.00

01.0D

×⎥⎥⎥

⎢⎢⎢

⎡=

….

Atunci 010)Ddet( 100 ≅= − în simplă precizie, deşi 1)D(k =∞ , ceea ce arată că matricea D este o matrice foarte bine condiţionată.

Exemplul 2.6:

În general, nu există o corelaţie între numărul de condiţie şi valoarea determinantului unei matrice. Fie matricea:

nj,i1j,i

nn

n ]b[

1001

0111

B ≤≤

×

=

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

=

cu ⎪⎩

⎪⎨

⎧=

>=<−

= n,...,1j,i,ji,0ji,1

ji,1b j,i .

Atunci 1)Bdet( n = şi nn 2n)B(k ⋅=∞ . Pentru n având valori mari, matricea

nB este prost condiţionată. Proasta condiţionare a unei matrice se poate reflecta în rezultatele triangularizării sale. Astfel, dacă în urma triangularizării unei matrice, matricea U superior triunghiulară are pe diagonala principală elemente nule sau foarte mici, atunci sigur matricea iniţială este prost condiţionată. Reciproca, în general, nu este valabilă: matricea poate fi prost condiţionată, însă

Page 57: Carte Mn Letitia Mirea

2.7 Caracterizarea problemei rezolvării unui sistem de ecuaţii algebrice liniare. Precizia soluţiei calculate 67

datorită erorilor de calcul, elementele de pe diagonala matricei U pot să nu fie neapărat foarte mici.

2.7.2 Precizia soluţiei calculate

Fie sistemul de ecuaţii: 1nnn b,A,bxA ×× ℜ∈ℜ∈=⋅ . (2.46)

Caracterizarea (condiţionarea) acestei probleme este dată de numărul de condiţie al matricei A, aşa cum a fost el definit la începutul acestui capitol. Pot exista două situaţii generale prezentate în continuare: I. Soluţia este calculată fără erori (exact), dar pot exista erori în matricea

A şi termenul liber b . Se disting următoarele două subcazuri, I.1 şi I.2, prezentate în continuare.

I.1 Se presupune că termenul liber al sistemului (2.46) este uşor perturbat, lucrându-se cu vectorul b~ în loc de vectorul b . De fapt, se rezolvă (exact) problema:

b~x~A =⋅ . Dacă x~ este soluţia exactă a acestei noi probleme, atunci se demonstrează că eroarea relativă satisface la relaţia:

bx )A(k||b~||/||b~b||)A(k||x||/||x~x|| ε⋅=−⋅≤−=ε αααααα .

Rezultă, aşadar, că eroarea relativă în termenul liber este amplificată în soluţia calculată de )A(kα ori, în absenţa erorilor de rotunjire.

Exemplul 2.7:

Fie sistemul (2.46) cu următoarele matrice:

⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡=

70.911.4

b~,7.91.4

b,6.67.98.21.4

A .

Soluţia exactă a sistemului bxA =⋅ este ⎥⎦

⎤⎢⎣

⎡=

01

x . Soluţia exactă a sistemului

b~x~A =⋅ este x97.034.0

x~ ≠⎥⎦

⎤⎢⎣

⎡= .

Realizeazând următoarele notaţii: b~bb −=Δ , x~xx −=Δ , rezultă pentru acest exemplu:

4.2294)||b||/||b/(||)||x||/||x(||)A(k 11111 =ΔΔ≥ ,

Page 58: Carte Mn Letitia Mirea

68 2. Sisteme determinate de ecuaţii algebrice liniare

deci matricea A este prost condiţionată.

I.2 De această dată, se consideră matricea sistemului ca fiind afectată de perturbaţii:

αα <<+= ||A||||E||,EAA~ . De fapt, se rezolvă exact problema:

bx~A~ =⋅ . (2.47)

Dacă x~ este soluţia exactă a ecuaţiei (2.47), atunci se demonstrează că eroarea relativă satisface la relaţia:

Ax )A(k)||A||/||E(||)A(k ε⋅=⋅≤ε αααα .

Rezultă faptul că perturbaţiile în matricea sistemului, în ipoteza absenţei erorilor de rotunjire la calculul soluţiei, se regăsesc în soluţia calculată amplificate de

)A(kα ori.

II. Datele iniţiale ale problemei (2.46), A şi b , sunt exacte, dar procedura de calcul a soluţiei este afectată de eroare (erori de rotunjire). În acest caz se disting două situaţii, II.1 şi II.2, prezentate în cele ce urmează.

II.1 Apar erori datorate decompunerii gaussiene. Se obţin următoarele rezultate: • ULA ⋅= , în cazul triangularizării simple; • ULAP ' ⋅=⋅ , în cazul triangularizării cu pivotare parţială; • ULSAP ' ⋅=⋅⋅ , în cazul triangularizării cu pivotare totală.

Plecând de la matricea A, căreia i se aplică o procedură de triangularizare, se obţin matricele L ( 'L ), U, P, (S). Dacă se efectuează operaţia inversă, se obţine:

• A~UL =⋅ , corespunzător triangularizării simple; • A~ULP '1 =⋅⋅− , corespunzător triangularizării cu pivotare parţială; • A~SULP 1'1 =⋅⋅⋅ −− , corespunzător triangularizării cu pivotare totală,

unde A~ este matricea iniţială plus o matrice de eroare: cEAA~ += . În continuare, discuţia se referă la descompunerea cu pivotare parţială şi la

cea cu pivotare totală, deoarece procedurile corespunzătoare lor se bazează pe matrice stabilizate, iar algoritmii sunt stabili din punct de vedere numeric.

Având in vedere volumul de calcule implicat (numărul de operaţii în virgulă mobilă), se poate afirma că dacă ordinul n al sistemului este mic, atunci:

αα << ||A||||E|| c , iar dacă ordinul n este mare, atunci: αα < ||A||||E|| c . Aşadar, norma matricei de eroare cE se poate apropia de cea a matricei A a sistemului.

Page 59: Carte Mn Letitia Mirea

2.7 Caracterizarea problemei rezolvării unui sistem de ecuaţii algebrice liniare. Precizia soluţiei calculate 69

Ca urmare, o posibilitate de a caracteriza precizia descompunerii este de a calcula raportul:

c,Ac ||A||/||AA~||||A||/||E|| ε=−= αααα . De regulă se foloseşte norma 1. În general, se demonstrează că:

c,Ax )A(k ε⋅≤ε α .

Dacă 0d,10 dc,A >≅ε − , atunci se poate afirma că triangularizarea matricei

A se face cu d cifre zecimale exacte. Rezultă că eroarea în soluţia calculată satisface la relaţia:

)pd(dpc,Ax 1010)A(k −−−

α =≤ε⋅≤ε .

O matrice foarte bine condiţionată este caracterizată de 0p = . Dacă matricea este bine condiţionată, atunci 21p ÷= , iar dacă ea este prost condiţionată, atunci 2p > . Se desprinde următoarea concluzie: dacă matricea A este prost condiţionată, atunci se pierd p cifre ca precizie în soluţia calculată.

Dacă, însă, matricea A este diagonal dominantă pe linii sau coloane, atunci ea este bine condiţionată. Matricea A poate fi adusă la o astfel de formă înainte de a aplica procedura de descompunere, dacă este posibil, prin permutări adecvate de linii şi/sau coloane.

II.2 Erorile afectează procedura de rezolvare prpriu-zisă a sistemului (fazele de substituţie înainte şi înapoi).

În acest caz, reziduul asociat soluţiei calculate x~ este: x~Abr ⋅−= . Se demonstrează că, în această situaţie, eroarea relativă în soluţia calculată satisface la relaţia:

)||b||/||r(||)A(kx ααα ⋅≤ε .

În concluzie, un reziduu mic în normă faţă de norma termenului liber nu garantează o precizie bună a soluţiei calculate, dacă matricea sistemului este prost condiţionată.

Exemplul 2.8:

Fie sistemul bxA =⋅ cu:

⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡=

2001.2

b,11001.11

A .

Soluţia exactă a acestui sistem este T]11[x = . În urma calculelor rezultă: x]02[x~ T ≠= , T]0001.0[xAbr =⋅−= . Aceasta se datorează faptului că:

Page 60: Carte Mn Letitia Mirea

70 2. Sisteme determinate de ecuaţii algebrice liniare

311111 10)||b||/||r/(||)||x||/||x~x(||)A(k ≈−≥ ,

deci matricea A este prost condiţionată.

O concluzie generală care se poate desprinde este următoarea: buna condiţionare a problemei de calcul ( 100101)A(k ÷÷=α ), împreună cu stabilitatea numerică a algoritmului de triangularizare ( αα << ||A||||E|| c ), garantează faptul că eroarea relativă a soluţiei calculate faţă de soluţia exactă este de acelaşi ordin de mărime cu erorile relative în datele iniţiale ale problemei (matricea A şi termenul liber b ).

O procedură folosită pentru estimarea numărului de cifre exacte ale soluţiei calculate este următoarea:

• triangularizarea matricei A; • determinarea soluţiei x~ folosind rezultatele triangularizării matricei A: • calculul reziduului asociat x~Abr ⋅−= ; • rezolvarea sistemului reA =⋅ , folosind rezultatele procedurii de

triangularizare; • dacă 0||e|| 1≠ , atunci d

11 10||x~||/||e|| −≅ . Numărul de cifre exacte ale soluţiei calculate este:

)]||x~||/||elg(||[d 11−≅ ,

unde lg(.) semnifică funcţia logaritm zecimal, iar [.] semnifică funcţia parte întreagă.

O procedură de îmbunătăţire (rafinare) a soluţiei calculate este următoarea: 1. rezolvare sistem bxA =⋅ folosind descompunerea L-U a matricei A şi

determinarea soluţiei x~ ; 2. calcul reziduu asociat: x~Abr ⋅−= ; 3. rezolvare sistem reA =⋅ folosind rezultatele descompunerii L-U a

matricei A şi determinarea lui e ;

4. rafinarea soluţiei: ex~x~~ += ;

5. dacă 11 ||x~~||||x~|| ≠ atunci x

~~x~ = şi reluare de la pasul 2, altfel x~x = . 6. stop

Îmbunătăţirea soluţiei se face într-un număr maxim de iteraţii notat ITMAX. Dacă după ITMAX iteraţii, testul de la pasul 5 continuă să fie satisfăcut (şi se reia de la pasul 2), acesta este un semn că matricea A este prost condiţionată deoarece:

Page 61: Carte Mn Letitia Mirea

2.8 Exerciţii propuse 71

)||b||/||r(||)A(k||x~||/||e|| 11111 ⋅≤ .

Astfel, dacă numărul de condiţie )A(k1 este mare, atunci şi raportul

11 ||x~||/||e|| este mare şi, ca urmare, valoarea 1||e|| nu se va micşora dacă matricea A este prost condiţionată.

2.8 Exerciţii propuse

E2.1 Să se realizeze, în mediul de programare MATLAB, un program pentru rezolvarea unui sistem de n ecuaţii liniare cu n necunoscute, prin metoda directă folosind triangularizarea matricei sistemului cu pivotare totală. Programul va compara soluţia găsită cu cea furnizată de mediul MATLAB.

În realizarea programului, se vor parcurge următoarele etape descrise parţial în limbajul pseudocod.

1. Introducere parametru de control al execuţiei procedurii de triangularizare, în variabila EPS.

2. Introducere ordin sistem, în variabila n, 2n ≥ .

3. Alocare spaţiu de memorie pentru matricea sistemului, în variabila a, prin iniţializarea acesteia cu o matrice nulă de dimensiune n. Introducerea elementelor matricei sistemului se face pe linii (a se vedea observaţia 2 care urmează). Salvarea valorilor introduse pentru matricea a, în matricea de lucru aa:

atribuie aa ← a

Reluare introducere, în caz de eroare.

4. Alocare spaţiu de memorie pentru termenul liber al sistemului, în variabila b, prin iniţializarea acesteia cu un vector coloană nul, cu n componente. Introducerea elementelor termenului liber se realizează pe linii. Salvarea valorilor din vectorul b, în vectorul de lucru bb:

atribuie bb ← b

Reluare introducere, în caz de eroare.

5. Faza I-a: eliminare înainte cu pivotare totală:

pentru i = 1,n execută

Page 62: Carte Mn Letitia Mirea

72 2. Sisteme determinate de ecuaţii algebrice liniare

⎡ atribuie iord(i) ← i ⎣

* pivotare totală:

pentru k = 1,n-1 execută ⎡ atribuie [mc,imc] ← max ( abs ( a(k:n,k:n) ) ) ⎢ atribuie [ml,jk] ← max ( mc ) ⎢ atribuie ik ← imc ( jk ) ⎢ atribuie ik ← ik + (k-1) ⎢ atribuie jk ← jk + (k-1) ⎢ dacă ( ik ~= k ) atunci ⎢ ⎡ atribuie wmx ← zeros (1,n) ⎢ ⎢ atribuie wmx ← a(k,:) ⎢ ⎢ atribuie a(k,:) ← a(ik,:) ⎢ ⎢ atribuie a(ik,:) ← wmx ⎢ ⎢ atribuie t ← b(k) ⎢ ⎢ atribuie b(k) ← b(ik) ⎢ ⎢ atribuie b(ik) ← t ⎢ ⎣ ⎢ dacă ( jk ~= k ) atunci ⎢ ⎡ atribuie zmx ← zeros (n,1) ⎢ ⎢ atribuie zmx ← a(:,k) ⎢ ⎢ atribuie a(:,k) ← a(:,jk) ⎢ ⎢ atribuie a(:,jk) ← zmx ⎢ ⎢ atribuie it ← iord(k) ⎢ ⎢ atribuie iord(k) ← iord(jk) ⎢ ⎢ atribuie iord(jk) ← it ⎢ ⎣ ⎢ * triangularizare: ⎢ dacă ( abs ( a(k,k) ) > EPS ) atunci ⎢ ⎡ atribuie a(k+1:n,k) ← a(k+1:n,k) / a(k,k) ⎢ ⎢ atribuie a(k+1:n,k+1:n) ← a(k+1:n,k+1:n) – ⎢ ⎢ a(k+1:n,k) * a(k,k+1:n) ⎢ ⎢ atribuie b(k+1:n) ← b(k+1:n) – a(k+1:n,k) * b(k) ⎢ ⎢ atribuie a(k+1:n,k) ← zeros (n-k,1) ⎢ ⎢altfel ⎢ ⎢ scrie ‘pivot nul sau foarte mic’ ⎢ ⎢ scrie ‘STOP: algoritm’ ⎢ ⎢ * STOP program (funcţia MATLAB return) ⎢ ⎣

Page 63: Carte Mn Letitia Mirea

2.8 Exerciţii propuse 73

⎢ scrie ‘k = ’, k ⎢ scrie ‘a = ’, a ⎢ scrie ‘b = ’, b ⎣

6. Faza a-II-a: calcul soluţie sistem:

* substituţie înapoi:

pentru k = 1,n execută ⎡ dacă ( abs ( a(i,i) ) < EPS ) atunci ⎢ ⎡ scrie ‘matrice prost condiţionată’ ⎢ ⎣ ⎣

atribuie b(n) ← b(n) / a(n,n) pentru i = n-1,(pas = -1),1 execută ⎡ atribuie sum ← a(i,i+1:n) * b(i+1:n) ⎢ atribuie b(i) ← ( b(i) – sum ) / a(i,i) ⎣

* ordonare soluţie:

atribuie x ← zeros (n,1) pentru i = 1,n execută ⎡ atribuie x ( iord(i) ) ← b(i) ⎣

7. Calcul soluţie folosind funcţiile MATLAB, pentru comparaţie:

atribuie x_bs ← aa \ bb atribuie x_inv ← inv (aa) * bb

8. Afişare soluţii x, x_bs, x_inv ( mod de afişare MATLAB dat de funcţia: format long e; ).

9. Calcul reziduuri asociate soluţiilor calculate, precum şi norme euclideene:

atribuie r ← bb – aa * x atribuie nr ← norm (r,2)

atribuie r_bs ← bb – aa * x_bs atribuie nr_bs ← norm (r_bs,2)

atribuie r_inv ← bb – aa * x_inv atribuie nr_inv ← norm (r_inv,2)

Page 64: Carte Mn Letitia Mirea

74 2. Sisteme determinate de ecuaţii algebrice liniare

Afişare rezultate n, nr, r_bs, nr_bs, r_inv, nr_inv ( mod de afişare MATLAB dat de funcţia: format long e; ).

10. Reluare program, dacă se doreşte, cu alt termen liber (punctul 4). Dacă are loc reluarea, înainte de aceasta se reface matricea a, utilizând valorile salvate în matricea de lucru aa:

atribuie a ← aa

11. Reluare program, dacă se doreşte, cu alt sistem de acelaşi ordin n (punctul 3).

12. Reluare program, dacă se doreşte, cu un sistem de alt ordin n (punctul 2).

13. Reluare program, dacă se doreşte, cu alt parametru EPS (punctul 1).

Observaţii:

1.) Descrierea anterioară a programului foloseşte următoarele funcţii MATLAB: max (determinare valoare maximă dintr-un tablou de numere), zeros (iniţializare tablou cu elemente nule), abs (calcul valoare absolută), return (părăsire comandă structurată, de exemplu ciclu cu contor), \ (împărţire matricială la stânga, rezolvată prin triangularizarea cu pivotare parţială a matricei deîmpărţit), inv (calcul inversă matrice pătratică), norm (calcul normă vectorială/matricială).

2.) Se recomandă următoarea modalitate generală de introducere a unei matrice, pe linii (n linii, m coloane), în variabila a:

* secvenţă de comenzi MATLAB: a = zeros (n,m); for i = 1:n, fprintf ( ‘Linia %.0f : ’, i ); a(i,:) = input ( ‘ ’ ); end;

* exemplu de introducere (n=m=3):

Linia 1: [1 2 3] <RETURN>

Linia 2: [4 5 6] <RETURN>

Linia 3: [7 8 9] <RETURN>

Page 65: Carte Mn Letitia Mirea

2.8 Exerciţii propuse 75

În descrierea anterioară, s-au subliniat mesajele scrise de către program iar <RETURN> semnifică apăsarea tastei respective.

3.) Programul se va rula pentru următoarele date de intrare, rezulatele analizându-se şi comparându-se:

EPS = 1.e-10

I. n = 3; ⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

−−

−=

6901.37

b;5156099.230710

a ;

II. n = 3; ⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

−−=

2102105

b;121

1003110023

a ;

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

−−=

00.102.105.1

b;50.000.150.0

00.103.001.000.102.003.0

a

(acelaşi exemplu, cu scalare pe linii)

III. n = 3; ⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

−−−

−=

275

b;11141

142321

a ;

IV. n = 4; ⎥⎥⎥⎥

⎢⎢⎢⎢

−−

=

⎥⎥⎥⎥

⎢⎢⎢⎢

−−−

=

672

7

b;

5616103423221020

a .

E2.2 Să se realizeze, în mediul de programare MATLAB, un program pentru rezolvarea unui sistem de n ecuaţii liniare cu n necunoscute, prin metoda iterativă Jacobi. Programul va compara soluţia găsită cu cea furnizată de mediul MATLAB, aplicând o metodă directă de rezolvare.

În realizarea programului, se vor parcurge următoarele etape descrise parţial în limbajul pseudocod.

1. Introducere parametru de control al execuţiei procedurii iterative de rezolvare, în variabila EPS. Introducere număr maxim de iteraţii, în variabila max_iter.

2. Introducere ordin sistem, în variabila n, 2n ≥ .

Page 66: Carte Mn Letitia Mirea

76 2. Sisteme determinate de ecuaţii algebrice liniare

3. Alocare spaţiu de memorie pentru matricea sistemului, în variabila a, prin iniţializarea acesteia cu o matrice nulă de dimensiune n. Introducerea elementelor matricei sistemului se face pe linii (a se vedea observaţia 2 de la exerciţiul E2.1). Testarea elementelor de pe diagonala matricei a:

pentru k = 1,n execută ⎡ dacă ( abs ( a(i,i) ) < EPS ) atunci ⎢ ⎡ scrie ‘Element pe diagonală nul sau foarte mic’ ⎢ ⎢ scrie ‘Rearanjaţi şi reintroduceţi matricea a’ ⎢ ⎣ ⎣

Reluare introducere, în caz de eroare.

4. Alocare spaţiu de memorie pentru termenul liber al sistemului, în variabila b, prin iniţializarea acesteia cu un vector coloană nul, cu n componente. Introducerea elementelor termenului liber se realizează pe linii. Reluare introducere, în caz de eroare.

5. Alocare spaţiu de memorie pentru aproximaţia iniţială a soluţiei, în variabila xn, prin iniţializarea acesteia cu un vector coloană nul, cu n componente. Introducerea elementelor vectorului xn se realizează pe linii. Reluare introducere, în caz de eroare.

6. Studiu de convergenţă:

atribuie nn ← diag ( diag (a) ) atribuie p ← nn - a atribuie g ← inv (nn) * p atribuie valp ← eig (g) atribuie ro ← max ( abs (valp) ) scrie ‘=> rază spectrală matrice convergenţă, ro = ’, ro

dacă ( ro < 1 ) atunci ⎡ scrie ‘metoda converge’ ⎢ altfel ⎢ scrie ‘metoda NU converge!’ ⎣

7. Calcul soluţie iterativă:

atribuie vninf ← 1 atribuie iter ← 0

* comutare mod de afişare (limbaj MATLAB): format long e;

Page 67: Carte Mn Letitia Mirea

2.8 Exerciţii propuse 77

cât timp ( (vninf > EPS) şi (iter < max_iter) ) execută ⎡ atribuie iter ← iter + 1 ⎢ atribuie xv ← zeros (n,1) ⎢ atribuie xv ← xn ⎢ * adaptare soluţie metoda Jacobi: ⎢ pentru i = 1,n execută ⎢ ⎡ atribuie sum ← 0 ⎢ ⎢ pentru j = 1,i-1 execută ⎢ ⎢ ⎡ atribuie sum ← sum + a(i,j) * xv(j) ⎢ ⎢ ⎣ ⎢ ⎢ pentru j = i+1,n execută ⎢ ⎢ ⎡ atribuie sum ← sum + a(i,j) * xv(j) ⎢ ⎢ ⎣ ⎢ ⎢ atribuie xn(i) ← ( b(i) - sum ) / a(i,i) ⎢ ⎣ ⎢ * sfârşit adaptare soluţie metoda Jacobi ⎢ atribuie vninf ← max ( abs (xn - xv) ) ⎢ scrie ‘* iter = ’, iter ⎢ scrie ‘xn = ’, xn ⎢ scrie ‘vninf = ’, vninf ⎣

8. Calcul soluţie folosind o metodă directă, în mediul MATLAB:

atribuie x ← a \ b

9. Afişare rezultate: iter, xn, x. Comutare mod de afişare (limbaj MATLAB): format short;

10. Reluare program, dacă se doreşte, cu altă estimaţie iniţială a soluţiei (punctul 5).

11. Reluare program, dacă se doreşte, cu alt termen liber al sistemului (punctul 4).

12. Reluare program, dacă se doreşte, cu alt sistem de acelaşi ordin (punctul 3).

13. Reluare program, dacă se doreşte, cu alt sistem de alt ordin n (punctul 2).

14. Reluare program, dacă se doreşte, cu alţi parametri EPS şi max_iter (punctul 1).

Observaţii:

Page 68: Carte Mn Letitia Mirea

78 2. Sisteme determinate de ecuaţii algebrice liniare

1.) Descrierea anterioară a programului foloseşte următoarele funcţii MATLAB: abs (calcul valoare absolută), diag (producerea unei matrice diagonale; extragerea diagonalei principale a unei matrice), inv (calcul inversă matrice pătratică), eig (calcul valori proprii ale unei matrice), max (determinare valoare maximă dintr-un tablou de numere), zeros (iniţializare tablou cu elemente nule), \ (împărţire matricială la stânga, rezolvată prin triangularizarea cu pivotare parţială a matricei deîmpărţit).

2.) Operatorul logic şi este implementat în limbajul MATLAB prin simbolul: &

3.) Programul se va rula pentru următoarele date de intrare, rezulatele analizându-se şi comparându-se:

EPS = 1.e-10; max_iter = 30

I. n = 3; ⎥⎥⎥

⎢⎢⎢

−=

⎥⎥⎥

⎢⎢⎢

−−−

−=

649

b;510151

015a ;

⎥⎥⎥

⎢⎢⎢

⎡=

000

xn ;

⎥⎥⎥

⎢⎢⎢

−=

122

xn ;

II. n = 3; ⎥⎥⎥

⎢⎢⎢

−=

⎥⎥⎥

⎢⎢⎢

−=

4128

b;271912118

a ; ⎥⎥⎥

⎢⎢⎢

⎡=

000

xn ;

⎥⎥⎥

⎢⎢⎢

−=

⎥⎥⎥

⎢⎢⎢

−=

4128

b;721

192118

a ; ⎥⎥⎥

⎢⎢⎢

⎡=

000

xn .

E2.3 Să se realizeze, în mediul de programare MATLAB, un program pentru rezolvarea unui sistem de n ecuaţii liniare cu n necunoscute, prin metoda iterativă Gauss-Seidel. Programul va compara soluţia găsită cu cea furnizată de mediul MATLAB, aplicând o metodă directă de rezolvare.

În realizarea programului, se vor parcurge exact aceleaşi etape descrise în cadrul exerciţiului E2.2. Deosebirile constau în modul de calcul al matricelor nn şi p, care definesc matricea de conveegenţă g (punctul 6), precum şi în modalitatea de adaptare a soluţiei iterative (punctul 7) de la exerciţiul E2.2.

Page 69: Carte Mn Letitia Mirea

2.9 Probleme propuse 79

Matricele nn şi p se calculează cu comenzile:

atribuie nn ← tril (a) atribuie p ← nn - a

Porţiunea din descrierea în limbaj pseudocod (punctul 7) de la exrciţiul E2.2: ⎢ * adaptare soluţie metoda Jacobi: ⎢ .................................................................... ⎢ * sfârşit adaptare soluţie metoda Jacobi

se înlocuieşte cu următoarea secvenţă de comenzi:

⎢ * adaptare soluţie metoda Gauss-Seidel: ⎢ pentru i = 1,n execută ⎢ ⎡ atribuie sum ← 0 ⎢ ⎢ pentru j = 1,i-1 execută ⎢ ⎢ ⎡ atribuie sum ← sum + a(i,j) * xn(j) ⎢ ⎢ ⎣ ⎢ ⎢ pentru j = i+1,n execută ⎢ ⎢ ⎡ atribuie sum ← sum + a(i,j) * xv(j) ⎢ ⎢ ⎣ ⎢ ⎢ atribuie xn(i) ← ( b(i) - sum ) / a(i,i) ⎢ ⎣ ⎢ * sfârşit adaptare soluţie metoda Gauss-Seidel

Observaţii:

1.) Descrierea anterioară a programului foloseşte aceleaşi funcţii MATLAB ca la exerciţiul E2.2. Singura deosebire este reprezentată de înlocuirea funcţiei diag cu funcţia tril (extragerea parţii inferior triunghiulare a unei matrice, inclusiv diagonala, restul de elemente fiind completate cu zerouri).

2.) Programul se va rula pentru datele de intrare menţionate la exerciţiul E2.2, rezulatele analizându-se şi comparându-se cele două metode iterative, Jacobi şi Gauss-Seidel.

2.9 Probleme propuse

P2.1. Se consideră sistemul de ecuaţii algebrice liniare:

Page 70: Carte Mn Letitia Mirea

80 2. Sisteme determinate de ecuaţii algebrice liniare

ℜ∈α⎥⎥⎥

⎢⎢⎢

α=

⎥⎥⎥

⎢⎢⎢

⎡⋅

⎥⎥⎥

⎢⎢⎢

−−−

−,7

5

xxx

11141142

321

3

2

1

.

Folosind transformări elementare directe (fără pivotare), să se determine pentru ce valoare a parametrului α sistemul (a) nu are soluţii? (b) are o infinitate de soluţii?

P2.2. Să se realizeze programul pentru rezolvarea unui sistem de ecuaţii algebrice liniare:

pnnn B,A,BXA ×× ℜ∈ℜ∈=⋅ ,

prin metoda directă bazată pe triangularizarea cu pivotare parţială a matricei sistemului.

Exemple numerice:

I. ⎥⎥⎥⎥

⎢⎢⎢⎢

−−−

−=

⎥⎥⎥⎥

⎢⎢⎢⎢

−−−

=

242424101

700

B,

50112230

02123104

A ;

II. ⎥⎥⎥⎥

⎢⎢⎢⎢

−−−−

=

⎥⎥⎥⎥

⎢⎢⎢⎢

=

44332211

B,

6824572346223521

A .

P2.3. Să se realizeze programul pentru inversarea unei matrice pătratice reală, de ordinul n, prin metoda directă bazată pe triangularizarea cu pivotare parţială a matricei. Programul va verifica relaţia: n

1 IAA =⋅ − , unde 1A − este inversa calculată, iar nI este matricea unitate de ordinul n.

Exemple numerice:

I. ⎥⎥⎥⎥

⎢⎢⎢⎢

−−−

=

50112230

02123104

A ; II. ⎥⎥⎥⎥

⎢⎢⎢⎢

=

6824572346223521

A .

Page 71: Carte Mn Letitia Mirea

2.9 Probleme propuse 81

P2.4. Să se realizeze programul pentru inversarea unei matrice pătratice reală, de ordinul n, inferior triunghiulară, exploatând structura particulară a acesteia. Se va verifica rezultatul obţinut efectând produsele:

1AA −⋅ , AA 1 ⋅− .

Exemple numerice:

I. ⎥⎥⎥

⎢⎢⎢

−=

171012006

A ; II. ⎥⎥⎥

⎢⎢⎢

−=

812001006

A .

P2.5. Să se realizeze programul pentru calculul determinantului unei matrice pătratice reală, de ordin n, prin metoda directă bazată pe triangularizarea cu pivotare totală a matricei.

Exemple numerice:

I. ⎥⎥⎥⎥

⎢⎢⎢⎢

=

6543876522224321

A ; II. ⎥⎥⎥⎥

⎢⎢⎢⎢

−−

=

3221210340223241

A .

P2.6. Să se realizeze programul pentru rezolvarea, în corpul numerelor complexe, a sistemului de ecuaţii:

1nnn b,A,bzA ×× ∈∈=⋅ CC ,

prin transformarea acestuia într-un sistem de ecuaţii echivalent:

n2m,d,C,dxC 1mmm ⋅=ℜ∈ℜ∈=⋅ ×× .

Sistemul transformat se rezolvă utilizând programul realizat pentru rezolvarea problemei 8P2.2. Exemple numerice:

I. 1i,i24

i2b,

i12i2i1

A 2 −=⎥⎦

⎤⎢⎣

⎡−

=⎥⎦

⎤⎢⎣

⎡−

+= ;

II. 1i,i42

i64b,

i21i2i32i23

A 2 −=⎥⎦

⎤⎢⎣

⎡+−+

=⎥⎦

⎤⎢⎣

⎡−+−−−

= . 8

Page 72: Carte Mn Letitia Mirea

82 2. Sisteme determinate de ecuaţii algebrice liniare

P2.7. Să se realizeze programul pentru aducerea unei matrice nm,A nm >ℜ∈ × , la forma superior triunghiulară prin eliminare gaussiană cu pivotare parţială (de linii). Exemple numerice:

I.

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

10594837261

A ; II.

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

151051494138312721161

A .

P2.8. Să se realizeze programul pentru estimarea numărului de condiţie al unei matrice pătratice reală, de ordin n, folosind relaţia de calcul:

11

11 ||A||||A||)A(k −⋅= .

Inversa matricei A se calculează folosind programul realizat pentru rezolvarea problemei P2.3. Norma 1 a matricelor implicate se va calcula conform definiţiei (Anexa A), prin program.

Exemple numerice:

I. ⎥⎥⎥⎥

⎢⎢⎢⎢

−−−

=

3243210220241321

A ; II. ⎥⎥⎥⎥

⎢⎢⎢⎢

=

7/16/15/14/16/15/14/13/15/14/13/12/14/13/12/11

A .

P2.9. Se consideră sistemul de ecuaţii algebrice liniare:

ℜ∈⎥⎥⎥

⎢⎢⎢

⎡==⋅ a,

a42432234

A,bxA .

Care este cea mai mică valoare a parametrului a pentru care metoda iterativă Jacobi va fi convergentă?

P2.10. Să se realizeze programul pentru rezolvarea unui sistem determinat de ecuaţii algebrice liniare, de ordinul n, prin metoda iterativă a suprarelaxării succesive de tip Gauss-Seidel. Considerând ω drept parametru de accelerare a convergenţei metodei iterative, ]2,1[∈ω , programul va determina, crescând succesiv parametrul ω cu pasul 1.0 , valoarea optimă optimω pentru care numărul de iteraţii este minim.

Page 73: Carte Mn Letitia Mirea

2.9 Probleme propuse 83

Exemplu numeric:

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

⎡=

695

b,311122112

A .

Page 74: Carte Mn Letitia Mirea

Capitolul 3 REZOLVAREA SISTEMELOR DE ECUAŢII

ALGEBRICE LINIARE ÎN SENSUL CELOR MAI MICI PĂTRATE

3.1 Formularea problemei

Se consideră sistemul cu m ecuaţii algebrice liniare cu n necunoscute:

1n1mnm x,b,A,bxA ××× ℜ∈ℜ∈ℜ∈=⋅ . (3.1)

Problema generală de calcul este determinarea unei soluţii x care să satisfacă la relaţia (3.1).

Dacă nm > , atunci se spune că sistemul de ecuaţii este supradeterminat, iar dacă , atunci se spune că nm < sistemul de ecuaţii este subdeterminat.

În cele ce urmează, discuţia se referă la sisteme supradeterminate de ecuaţii. În final, este tratat şi cazul sistemelor subdeterminate de ecuaţii algebrice liniare.

Exemplul 3.1:

Se reia Exemplul 2.1 referitor la identificarea modelului de regim staţionar al unui proces dinamic. De această dată, funcţia care descrie comportarea procesului este:

∑ ∑∑∑−

= =+==⋅+⋅⋅+⋅+==

1p

1i

p

1i

2ii,i

p

1ijjij,i

p

1iii0p1 ucuucucc)u,,u(fy … .

Pentru intrările şi ieşirea procesului se consideră m valori experimentale prezentate în tabelul următor:

nr. experiment u1 up y

1 a11 a1p b1

m am1 amp bm

Page 75: Carte Mn Letitia Mirea

84 3. Rezolvarea sistemelor de ecuaţii algebrice liniare în sensul celor mai mici pătrate

În continuare se realizează următoarele notaţii: T

m1 ]bb[b …= ; T

p,p1,1p,1pp,23,2p,12,1p0 ]ccccccccc[x …………… −=

⎥⎥⎥

⎢⎢⎢

⋅⋅

⋅⋅=

2mp

21mp,m1p,m2m1mmp1m

2p1

211p,11p,11211p111

aaaaaaaa1

aaaaaaaa1A

………

………,

unde se numesc: A – matricea de date, vectorul b - vectorul măsurătorilor (observaţiilor) care, în general, este afectat de eroare şi x - vectorul coeficienţilor care trebuie determinat. Rezultă aşadar o problemă de tipul (3.1), numărul de necunoscute fiind, în acest caz, p2/)1p(pp1n +−⋅++= .

Se rescrie matricea de date A, din ecuaţia (3.1), sub o altă formă punând în evidenţă vectorii coloană ai săi:

n,1j,a],aaa[A 1mjnj1 ……… =ℜ∈= × .

Definiţii:

• Matricea se spune că nmA ×ℜ∈ are coloanele liniar independente sau că este monică, dacă vectorii colană ai săi sunt liniar independenţi:

n,,1j,00a jm

n

1jjj …=∀=α⇒=⋅α∑

=.

• Se numeşte subspaţiu imagine al matricei A, notat cu Im(A), mulţimea: 1m1n1m }x,xAy/y{)AIm( ××× ℜ⊆ℜ∈∀⋅=ℜ∈= .

• Se numeşte subspaţiu nul (nucleu) al matricei A şi se notează cu nul(A) sau N(A), mulţimea:

1nm

1n }0xA/x{)A(N ×× ℜ⊆=⋅ℜ∈= .

Pornind de la aceste definiţii, se poate scrie următoarea relaţie:

n)A(rang))A(Ndim( =+ ,

unde dim(.) reprezintă dimensiunea spaţiului implicat, iar rang(.) semnifică rangul matricei considerate.

Propoziţie:

Pentru orice matrice , următoarele afirmaţii sunt echivalente:

nm,A nm >ℜ∈ ×

i.) A este o matrice monică; ii.) ; n)A(rang =

Page 76: Carte Mn Letitia Mirea

3.1 Formularea problemei 85

iii.) }0{)A(N n= ;

iv.) matricea A este pozitiv definită, deci inversabilă (nesingulară). AT ⋅

Concluzia care se desprinde este aceea că problema (3.1) va avea o soluţie unică dacă vectorul m0b ≠ aparţine subspaţiului imagine al matricei A,

)AIm(b∈ , sau, altfel spus, vectorul b este o combinaţie liniară a coloanelor matricei A, acesta în ipoteza că n)A(rang = .

Este posibil, însă, ca vectorul b să fie (uşor) perturbat, deci să nu mai aparţină subspaţiului imagine al matricei A. Şi în astfel de cazuri se doreşte determinarea unei soluţii pentru problema de calcul (3.1). De aceea, pentru rezolvarea în orice condiţii a problemei (3.1), este nevoie de un criteriu pentru determinarea unei soluţii unice. Principiul folosit este minimizarea unei funcţii criteriu de tipul: αα ⋅−= ||xAb||)x(V . (3.2)

Astfel, se consideră că vectorul *x este o pseudosoluţie a problemei (3.1) dacă acesta minimizează funcţia criteriu dată de relaţia (3.2):

=α )x(V * minim.

Mărimea xAb ⋅− se notează cu r şi se numeşte reziduu asociat vectorului x . Pentru funcţia criteriu aleasă, cele mai utilizate sunt normele 1, infinit şi

norma euclidiană. În funcţie de norma folosită, va rezulta o pseudosoluţie diferită.

Problema determinării unei pseudosoluţii care minimizează criteriul dat prin relaţia (3.2) este în fond o problemă de optimizare. Astfel, pentru o funcţie criteriu scalară, minimul se obţine pentru acel argument care anulează derivata de ordinul întâi a funcţiei (criteriu), iar derivata de ordinul al doilea este pozitivă.

În cazul de faţă, argumentul fiind un vector, se vor lua în discuţie gradientul şi hesianul funcţiei criteriu , în raport cu argumentul său αV x , şi anume:

gradient: 1nT

n1x x

)x(Vx

)x(V)}x(V{ ×αα

α ℜ∈⎥⎦

⎤⎢⎣

⎡∂

∂∂

∂=∇ … ,

hesian: nnTxxx

not

xx )}}x(V{{)}x(V{)}x(V{ ×ααα ℜ∈∇∇=Δ=∇ .

Din cele enunţate, rezultă condiţia esenţială ca funcţia criteriu să fie diferenţiabilă în raport cu vectorul

αVx . Astfel, dacă se foloseşte norma 1 sau

infinit în definirea funcţiei criteriu, atunci aceasta nu satisface condiţia de

Page 77: Carte Mn Letitia Mirea

86 3. Rezolvarea sistemelor de ecuaţii algebrice liniare în sensul celor mai mici pătrate

diferenţiabilitate, deoarece normele respective se exprimă în raport cu funcţia modul, la rândul ei nediferenţiabilă:

∑=

=m

1ii1 |r|)x(V , |}r{|max)x(V ini1 ≤≤

∞ = , m,,1i,)xA(br iii …=⋅−= .

Ca urmare, se foloseşte norma 2 (euclidiană), rezultând următoarea funcţie criteriu de minimizat:

∑=

⋅=⋅⋅=⋅=⋅−⋅=m

1i

2i

T22

22 r

21rr

21||r||

21||xAb||

21)x(V . (3.3)

Ca urmare, problema de calcul este determinarea unei pseudosoluţii *x a sistemului (3.1), care să aibă proprietatea: }||xAb{||min||xAb|| 2

2x

22

*1n

⋅−=⋅−×ℜ∈

. (3.4)

Pseudosoluţia care îndeplineşte condiţia (3.4) se numeşte pseudosoluţie în sensul celor mai mici pătrate, deoarece ea determină producerea unui reziduu cu norma euclidiană minimă. Cu alte cuvinte, se minimizează suma pătratelor componentelor reziduului sau suma pătratelor diferenţelor dintre observaţiile şi estimaţiile

ib

i)xA( ⋅ .

Determinarea vectorului *x care minimizează funcţia criteriu )x(V implică satisfacerea următoarelor condiţii:

şi 0)}x(V{ *x >Δ . (3.5) n

*x 0)}x(V{ =∇

În continuare se folosesc următoarele rezultate. Considerând matricea şi vectorii mnC ×ℜ∈ 1nw ×ℜ∈ , 1mz ×ℜ∈ , atunci se poate scrie relaţia:

zC}zCw{ Tw ⋅=⋅⋅∇ . (3.6)

Considerând matricea şi vectorul nnC ×ℜ∈ 1nw ×ℜ∈ , atunci se poate scrie relaţia: w)CC(}wCw{ TT

w ⋅+=⋅⋅∇ . (3.7)

Ca urmare, condiţiile de minim (3.5) se rescriu, folosind relaţiile (3.6) şi (3.7), sub forma:

0)AA(2)2/1()}x(V{

0)bAxAA(2)2/1()}x(V{T

x

nTT

x

>⋅⋅⋅=Δ

=⋅−⋅⋅⋅⋅=∇. (3.8)

Din relaţiile (3.8) rezultă: bAxAA TT ⋅=⋅⋅ şi AAT ⋅ - matrice pozitiv definită.

Definiţie:

Sistemul de ecuaţii algebrice liniare:

Page 78: Carte Mn Letitia Mirea

3.1 Formularea problemei 87

bAxAA TT ⋅=⋅⋅ (3.9) se numeşte sistem de ecuaţii normale asociat problemei (3.1).

Sistemul (3.9) este un sistem determinat, de ordinul n. În cele ce urmează se enunţă şi se demonstrează următorul rezultat.

Teoremă de existenţă şi unicitate:

Dacă matricea , este monică, atunci oricare ar fi vectorul nm,A nm >ℜ∈ ×

1mb ×ℜ∈ există şi este unică o pseudosoluţie 1n*x ×ℜ∈ a sistemului (3.1), numită şi soluţie generalizată în sensul celor mai mici pătrate. Aceasta se scrie sub forma:

bAx* ⋅= + ,

unde matricea este numită mnA ×+ ℜ∈ pseudoinversă sau inversă generalizată şi este teoretic egală cu:

T1T A)AA(A ⋅⋅= −+ .

Demonstraţia teoremei se bazează pe propoziţia precedentă şi cele enunţate anterior, materializate în relaţiile (3.8). În plus, pentru suportul intuitiv, se poate apela la reprezentarea geometrică din Figura 3.1.

Im(A)

xAbr ⋅−=

xAy ⋅= ** xAy ⋅=

)AIm(xAbr ** ⊥⋅−=

b

Fig. 3.1. Interpretarea geometrică a soluţiei în sensul celor mai mici pătrate

(lema proiecţiei ortogonale)

Astfel, conform Lemei proiecţiei ortogonale, reziduul asociat pseudosoluţiei *x , ** xAbr ⋅−= , trebuie să fie ortogonal pe subspaţiul Im(A) pentru ca el să

fie de normă euclidiană minimă. Aceasta conduce la relaţia:

Page 79: Carte Mn Letitia Mirea

88 3. Rezolvarea sistemelor de ecuaţii algebrice liniare în sensul celor mai mici pătrate

1n*T x,0r)xA( ×ℜ∈∀=⋅⋅ ,

ceea ce implică: 1n*TT x,0)xAb(Ax ×ℜ∈∀=⋅−⋅⋅ .

De aici rezultă:

bAx)AA( T*T ⋅=⋅⋅ ,

ceea ce pune în evidenţă existenţa soluţiei în sensul celor mai mici pătrate, *x .

Observaţie:

Conform celor prezentate în capitolul 2, pentru sistemul determinat de ecuaţii normale (3.9), pseudosoluţia *x este unic determinată dacă matricea acestui sistem, , este inversabilă. Această condiţie este îndeplinită dacă matricea

AAT ⋅AAT ⋅ este pozitiv definită.

În practică, însă, nu se recomandă rezolvarea sistemului de ecuaţii normale (3.9) deoarece matricea AAT ⋅ , deşi teoretic este pozitiv definită, prin calcul, datorită erorilor de rotunjire, ea poate deveni pozitiv semidefinită, deci neinversabilă. Astfel, în general, matricea AAT ⋅ este prost condiţionată deoarece calculul său este afectat de erori de rotunjire deseori cu caracter catastrofal.

Exemplul 3.2:

Fie o matrice A de forma:

⎥⎥⎥

⎢⎢⎢

⎡ ε+=

1111

11A , cu , ε<ε<ε m

2 1)1(fl m >ε+ , . 1)1(fl 2 =ε+

Matricea A are, evident, coloanele liniar independente, la precizia maşinii . În schimb, efectuând calculele în virgulă mobilă, matricea nu este pozitiv definită, ci pozitiv semidefinită, deci neinversabilă:

)AA(fl T ⋅

⎥⎦

⎤⎢⎣

⎡ε+ε⋅+ε+

ε+=⋅ 2

T

23333

AA , . ⎥⎦

⎤⎢⎣

⎡ε⋅+ε+

ε+=⋅

23333

)AA(fl T

Există un vector TT ]00[]11[x ≠−= , astfel încât 0)xAAx(fl TT =⋅⋅⋅ .

Page 80: Carte Mn Letitia Mirea

3.2 Triangularizarea ortogonală a matricelor 89

Calculul numeric automat pentru rezolvarea problemei (3.1), în sensul celor mai mici pătrate, foloseşte alte proceduri care sunt descrise în continuare. Ele apelează la triangularizarea ortogonală a matricei sistemului (3.1).

3.2 Triangularizarea ortogonală a matricelor

3.2.1 Matrice ortogonale

Definiţie:

Fie o matrice . mmQ ×ℜ∈ Matricea Q se numeşte ortogonală dacă este îndeplinită una din relaţiile:

mT IQQ =⋅ sau . 1T QQ −=

Se consideră matricea ortogonlă Q scrisă pe coloane: m,...,1i,q],qqqq[Q 1m

imji1=ℜ∈= ×……… .

Conform definiţiei, coloanele matricei Q sunt vectori ortogonali şi de normă unitară:

1||q||;m,...,1j,i,ji,0qq 22ij

Ti

==≠∀=⋅ ,

sau altfel spus, aceştia sunt vectori ortonormali. În contimuare se enunţă următoarele proprietăţi ale matricelor ortogonale:

1. o matrice ortogonală păstrază norma vectorială euclidiană: 22

22

1m ||z||||zQ||,z =⋅ℜ∈∀ × ; 2. matricele ortogonale păstrează norma matricială euclidiană, precum şi

norma Frobenius: mmnm Q,A ×× ℜ∈∀ℜ∈∀ ortogonală, ortogonală, nnZ ×ℜ∈∀

2F

2F

22

22 ||A||||ZAQ||,||A||||ZAQ|| =⋅⋅=⋅⋅ .

De o deosebită aplicabilitate se bucură un anumit tip de matrice ortogonale şi anume matricele Householder, definite prin relaţia:

β⋅

−=T

muuIU , (3.10)

în care 1mu ×ℜ∈ şi 22

T ||u||21uu

21

⋅=⋅⋅=β . Vectorul u se numeşte vector

Houseolder. Matricea U astfel definită este ortogonală şi, în plus, este şi simetrică:

Page 81: Carte Mn Letitia Mirea

90 3. Rezolvarea sistemelor de ecuaţii algebrice liniare în sensul celor mai mici pătrate

1T UUU −== . Acest tip de matrice se mai numesc şi reflectori Householder, deoarece,

considerând un vector real 1mx ×ℜ∈ , atunci se poate spune că prin

transformarea 1my,xUy ×ℜ∈⋅= , vectorul x este reflectat (proiectat) într-un

hiperplan ce trece prin origine şi este ortogonal pe hiperplanul care conţine vectorul u .

Matricele otogonale Householder pot fi folosite în scopul zerorizării unor elemente ale unui vector, impunând o anumită structură pentru vectorul u din definiţia (3.10).

Revenind la problema găsirii pseudosoluţiei în sensul celor mai mici pătrate, criteriul )x(V , precizat în relaţia (3.3), rămâne invariant la transformările ortogonale deoarece, conform proprietăţii 1 enunţate anterior, se poate scrie:

22

22 ||rU||

21||r||

21)x(V ⋅⋅=⋅= ,

unde U este o matrice ortogonală. În concluzie, problema de calcul nu se modifică dacă se aplică sistemului de ecuaţii (3.1) o transformare ortogonală. În felul acesta, utilizând reflectori Householder, sistemul (3.1) poate fi adus la o formă simplă, determinând apoi pseudosoluţia prin mijloace elementare cum ar fi substituţia inversă. Nu se folosesc transformările elementare gaussiene deoarece acestea, nefiind matrice ortogonale, nu păstrează norma vectorială euclidiană şi modifică funcţia criteriu de minimizat.

3.2.2 Procedura de triangularizare ortogonală a unei matrice de rang complet

Se enunţă şi demonstrează următorul rezultat:

Propoziţie:

Fie 1mTm1kk1k1 ][ ×

+− ℜ∈ξξξξξ=ξ …… . Dacă mărimea

este nenulă, atunci există un reflector Householder

astfel încât:

∑=ξ=σ

m

ki

2i

2k

mmkU ×ℜ∈

Tk1k1k ]00[U …… ρξξ=ξ⋅ − ,

în care . 2k

2k σ=ρ

Matricea din enunţul propoziţiei se numeşte kU reflector Householder de ordin m şi indice k.

Page 82: Carte Mn Letitia Mirea

3.2 Triangularizarea ortogonală a matricelor 91

Demonstraţia este constructivă şi implică determinarea vectorului Householder

ku pentru care kTkkmk /uuIU β⋅−= , în care 2/||u|| 2

2kk =β . Astfel, se consideră vectorul ku de forma:

Tk,mk,1kk,kk ]uuu00[u …… += ,

care este complet determinat prin următoarele relaţii de calcul:

.,u

,m,...,1ki,u,u,)(sign

kkk,kkk

ik,ikkk,k

m

ki

2ikk

σ−=ρ⋅σ=β

+=ξ=σ+ξ=ξ⋅ξ=σ ∑=

Funcţia semn, sign(.), este folosită pentru a evita fenomenul de neutralizare a termenilor la sinteza termenului . k,ku

Dacă , aceasta este echivalentă cu 0m

ki

2i

2k =ξ=σ ∑

=m,...,ki,0i =∀=ξ , de

unde rezultă că , 0k =σ mk 0u = , 0k =β , ceea ce înseamnă că transformarea nu există. kU

Se enunţă, în continuare, următoarea proprietate. Fie 1m×ℜ∈η un vector oarecare de forma ξ≠ηη=η T

m1 ][ … , unde ξ este vectorul pentru care s-a determinat reflectorul (propoziţia anterioară). Atunci se poate scrie:

kU

η⋅β⋅

−η=η⋅⎟⎟⎠

⎞⎜⎜⎝

β⋅

−=η⋅k

Tkk

k

Tkk

mkuuuu

IU . (3.11)

Se introduce mărimea: k

Tkuβ

η⋅=τ şi, înlocuind în (3.11), se obţine:

kk uU ⋅τ−η=η⋅ sau ( )⎩⎨⎧

=⋅τ−η−=η

=η⋅m,...,ki,u

1k,...,1i,U

k,ii

iik ,

în care ∑= β

η⋅=τ

m

kj k

jk,ju.

În particular, dacă vectorul este de forma 1mT

j1]j[]00[ ×ℜ∈ηη=η …… cu 1k,...,1j −= , atunci:

]j[]j[kU η=η⋅ ,

deoarece, în acest caz . 0=τCu aceste elemente precizate, se enunţă şi se demonstrează următorul

rezultat.

Page 83: Carte Mn Letitia Mirea

92 3. Rezolvarea sistemelor de ecuaţii algebrice liniare în sensul celor mai mici pătrate

Propoziţie:

Oricare ar fi matricea , de rang complet pe coloane n, există o matrice ortogonală, astfel încât matricea A se poate scrie:

nm,A nm >ℜ∈ ×

mmQ ×ℜ∈ RQA ⋅= , (3.12) unde matricea are următoarea structură: nmR ×ℜ∈

⎥⎥⎥

⎢⎢⎢

=

×− n)nm(

1RR

0,

unde matricea este superior triunghiulară nesingulară ( ).

nn1R ×ℜ∈

n,...,1i,0rii =∀≠

Demonstraţia este constructivă şi constituie însuşi algoritmul de triangularizare ortogonală a matricei A, descompunerea din relaţia (3.12) numindu-se descompunere QR. Descrierea principială în limbaj pseudocod a acestui algoritm este următoarea:

atribuie AA1 ←n,1k = execută pentru

⎡ * determinare reflector astfel încât: kU⎢ m,...,1ki,0)AU( k,ikk +==⋅ ; ⎢ atribuie kk1k AUA ⋅←+ ⎣ atribuie 1nAR +←

Pentru determinarea reflectorilor la fiecare iteraţie k, se va considera drept vector

kUξ , coloana numărul k a matricei transformate. Astfel, se vor

zeroriza, coloană cu coloană, elementele de sub pseudo-diagonala principală a matricei A. În urma calculului matricei , primele

kA

1kA + 1k − coloane din matricea se păstrează, iar coloanele de la kA 1k + la n se modifică în liniile de la k la m.

Algoritmul eşuează dacă matricea A este deficientă de rang. În acest caz, la calculul reflectorului , mărimea kU kσ ar fi nulă, ceea ce va conduce la în aritmetica reală ( în virgulă mobilă). Ca o consecinţă a acestui

fapt, elementul de pe diagonala principală a matricei va rezulta nul, dacă algoritmul eşuează la iteraţia k. Pentru continuarea procesului de

0k =β

impusk || ε≤β

k,kr 1R

Page 84: Carte Mn Letitia Mirea

3.3 Rezolvarea sistemelor supradeterminate de ecuaţii algebrice liniare 93

triangularizare (condiţia de executarea a unei iteraţii), testul uzual care ţine cont de erorile în virgulă mobilă este: impusk || ε>β .

În urma aplicării acestui algoritm se obţine: RAUUU 11nn =⋅⋅⋅⋅ − … .

Notând cu U matricea obţinută prin multiplicarea reflectorilor Householder: 11nn UUUU ⋅⋅⋅= − …

se obţine: RAU =⋅ .

Multiplicând ultima relaţie la stânga cu , se obţine: 1U −

RQA ⋅= , unde . n21T1 UUUUUQ ⋅⋅⋅=== − …

Matricea Q rezultată este ortogonală, fiind rezultatul unui produs de matrice ortogonale.

3.3 Rezolvarea sistemelor supradeterminate de ecuaţii algebrice liniare

3.3.1 Cazul sistemelor cu matrice de rang complet

Se consideră sistemul supradeterminat de ecuaţii algebrice liniare (3.1), unde matricea sistemului este de rang complet pe coloane: , ,

. Se multiplică la stânga ecuaţia

nmA ×ℜ∈ n)A(rang =nm > (3.1) cu secvenţa de reflectori

Householder care realizează triangularizarea ortogonală a matricei sistemului şi “acumulate” în matricea U. Se obţine: bUxAU ⋅=⋅⋅ . (3.13)

Conform ultimei propoziţii din paragraful 3.2.2 anterior, relaţia (3.13) devine: bUd,AUR;dxR ⋅=⋅==⋅ , (3.14) unde matricea R este (quasi-)superior triunghiulară. Sistemul (3.14) se numeşte sistem ortogonal echivalent cu sistemul (3.1). Ecuaţia (3.14) se poate scrie sub forma:

1)nm(2

1n1

2

1

n)nm(

1

d,d,d

dx

R×−×

×−

ℜ∈ℜ∈⎥⎥⎥

⎢⎢⎢

⎡=⋅

⎥⎥⎥

⎢⎢⎢

0, (3.15)

unde matricea pătratică , de ordin n, este superior triunghiulară şi nesingulară. În general

1R

)nm(2 0d −≠ , caz în care se spune că sistemele de ecuaţii

Page 85: Carte Mn Letitia Mirea

94 3. Rezolvarea sistemelor de ecuaţii algebrice liniare în sensul celor mai mici pătrate

(3.1) şi (3.14) sunt incompatibile. Dar, ceea ce interesează este determinarea unui vector *x care minimizează norma euclidiană a reziduului: xAbr ⋅−= . (3.16) Multiplicând la stânga relaţia (3.16) cu matricea ortogonală U, se obţine conform relaţiilor (3.13) - (3.15):

⎥⎥⎥

⎢⎢⎢

⎡ ⋅−=⋅−=⋅⋅−⋅=⋅

2

11

d

xRdxRdxAUbUrU . (3.17)

Matricea U fiind ortogonală, aceasta păstrează norma vectorială euclidiană. Ca urmare, din relaţia (3.17) rezultă: 2

222211

22

22 ||d||||xRd||||rU||||r||)x(V +⋅−=⋅== . (3.18)

Cum în general )nm(2 0d −≠ , deci 0||d|| 222 ≠ , rezultă că singura minimizare care

se poate realiza, în ceea ce priveşte funcţia criteriu din relaţia (3.18), este:

0||xRd||!

2211 =⋅− ,

ceea ce conduce, în corpul numerelor reale, la: 1

*1 dxR =⋅ . (3.19)

Cum matricea este superior triunghiulară şi nesingulară, pseudosoluţia 1R *x se obţine prin rezolvarea sistemului (3.19), prin substituţie inversă.

Concluzie:

Triangularizarea bazată pe transformări ortogonale prezervă norma euclidiană matricială. Aşadar, se păstrează condiţionarea numerică a matricei sistemului în raport cu norma euclidiană, fiind singura metodă adecvată pentru calculul pseudosoluţiei în sensul celor mai mici pătrate.

Probleme conexe

• Calculul reziduului de normă minimă asociat pseudosoluţiei în sensul celor mai mici pătrate, se realizeată considerând relaţia (3.17) în care se ţine cont de ecuaţia (3.19). Se obţine:

⎥⎥⎥

⎢⎢⎢

⎡=⋅

2

n*

d

0rU .

Rezultă:

Page 86: Carte Mn Letitia Mirea

3.3 Rezolvarea sistemelor supradeterminate de ecuaţii algebrice liniare 95

⎥⎥⎥

⎢⎢⎢

⎡⋅⋅⋅⋅=

⎥⎥⎥

⎢⎢⎢

⎡⋅=

2

n

n21

2

nT*

d

0UUU

d

0Ur …

• Calculul pseudoinversei matricei A se realizează plecând de la descompunerea QR a acesteia:

1

n)nm(

n

n21T R

IUUURURQA ⋅

⎥⎥⎥

⎢⎢⎢

⋅⋅⋅⋅=⋅=⋅=

×−0… .

Rezultă, aşadar:

1n

T

n)nm(

n1

1T1T UU

I)R(A)AA(A ⋅⋅⋅

⎥⎥⎥

⎢⎢⎢

⋅=⋅⋅=

×−

−−+ …0

.

Exemplul 3.3:

Fie sistemul (3.1) cu următoarele valori numerice:

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

1101102111

A ,

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

01132

b .

În urma rezolvării în sensul celor mai mici pătrate a sistemului considerat, rezultă:

⎥⎦

⎤⎢⎣

⎡−

−−=

44949.2012

R1 , ⎥⎦

⎤⎢⎣

⎡−

−=

44949.23

d1 , ⎥⎦

⎤⎢⎣

⎡≅⎥

⎤⎢⎣

⎡=

11

99999.01

x* ,

unde reprezintă pseudosoluţia exactă a sistemului. [ ]T11

Page 87: Carte Mn Letitia Mirea

Capitolul 4 CALCULUL VALORILOR ŞI VECTORILOR

PROPRII

4.1 Formularea problemei

Se consideră o matrice pătratică reală, de ordinul n, notată cu A.

Definiţie:

Oricare ar fi matricea , un număr în general complex, , se numeşte

nnA ×ℜ∈ C∈λvaloare proprie a matricei A dacă există un vector 1nx ×∈C , n0x ≠ ,

astfel încât xxA ⋅λ=⋅ . (4.1)

În acest caz, x se numeşte vector propriu al matricei A, asociat valorii proprii . λ

Relaţia de definiţie (4.1) se poate scrie şi sub forma: nn 0x)AI( =⋅−⋅λ ,

n0x ≠ , de unde rezultă că matricea AIn −⋅λ trebuie să fie singulară. În continuare, se construieşte un polinom în variabila λ , definit prin relaţia:

)AIdet()(p nn −⋅λ=λ , (4.2)

numit polinom caracteristic al matricei A. Acesta este un polinom cu coeficienţi reali, de gradul n: , unde coeficienţii

. n1n

1n1

nn )(p α+λ⋅α++λ⋅α+λ=λ −

− …n,...,1i,i =ℜ∈α

Deoarece matricea AIn −⋅λ este singulară, rezultă că valoarea proprie λ verifică ecuaţia caracteristică: 0)(pn =λ . (4.3)

Conform teoremei fundamentale a algebrei, orice polinom de gradul n are n rădăcini. Ca urmare, poate fi enunţat următorul rezultat.

Teoremă de existenţă:

Orice matrice pătratică reală, de ordin n, are exact n valori proprii, în general complexe şi nu neapărat distincte, care coincid cu rădăcinile

Page 88: Carte Mn Letitia Mirea

110 4. Calculul valorilor şi vectorilor proprii

polinomului caracteristic ataşat matricei. Dacă există valori proprii complexe, atunci acestea apar în perechi complex conjugate.

Definiţie:

Mulţimea valorilor proprii ale unei matrice pătratice reală A, , se numeşte )}A(),...,A({)A( n1 λλ=σ spectrul matricei A.

O consecinţă a teoremei enunţate anterior este:

Orice matrice are cel puţin un vector propriu. nnA ×ℜ∈

Altfel spus, fiecărei valori proprii n,...,1i),A(i =σ∈λ , îi corespunde cel puţin un vector propriu ix aparţinând nucleului matricei : AIni −⋅λ

)AI(Nx nii −⋅λ∈ . Vectorii proprii corespunzători valorilor proprii complex conjugate pot fi aleşi complex conjugaţi.

Definiţie:

Matricea se numeşte nnA ×ℜ∈ matrice simplă, dacă ea admite n vectori proprii liniar independenţi. Aceşti vectori proprii constituie o bază în spaţiul

, numită 1n×C bază proprie a matricei A.

Astfel, se poate sintetiza o matrice pe baza celor n vectori proprii n,...,1i,x i = , după cum urmează: ]xxxx[X ni21 ……= . Folosind

relaţia (4.1) pentru toate valorile proprii ale matricei A, atunci se poate scrie: , unde Λ⋅=⋅ XXA },...,,...,{diag ni1 λλλ=Λ este o matrice diagonală.

Matricea se numeşte Λ forma canonică diagonală a matricei A. Aşadar, orice matrice pătratică reală, de ordin n, este diagonalizabilă peste mulţimea numerelor complexe : C XAX 1 ⋅⋅=Λ − .

Metodele numerice pentru calculul automat al valorilor şi vectorilor proprii nu se bazează pe rezolvarea ecuaţiei caracteristice asociată matricei A, definită prin relaţiile (4.2) şi (4.3). Astfel, de multe ori, rezolvarea ecuaţiei caracteristice se dovedeşte a fi imposibilă. În continuare sunt expuse două din motivele pentru care, în practică, nu se preferă rezolvarea ecuaţiei caracteristice. 1. Plecând de la matricea A, calculul coeficienţilor polinomului caracteristic,

n,...,1i,i =ℜ∈α , necesită un volum de calcul ridicat. Ca urmare, aceşti coeficienţi sunt afectaţi, în general, de erori de rotunjire. O metodă uzuală de determinare a acestora este algoritmul Leverrier – Fadeeva, care constă în următoarele:

atribuie n1 IB ←atribuie )AB(tr)1/1( 11 ⋅⋅−←α pentru n,2k = execută

Page 89: Carte Mn Letitia Mirea

4.1 Formularea problemei 111

⎡ atribuie n1k1kk IABB ⋅ + α ⋅← −− ⎢ atribuie )AB(tr)k/1( kk ⋅ ⋅−←α ⎣

Acest algoritm necesită un număr de operaţii în virgulă mobilă de ordinul lui . În descrierea anterioară, tr(Z) este notaţia pentru 4n urma matricei oarecare

Z, definită ca fiind: , . nj,i1ij ]z[Z ≤≤= ∑=

=n

1ii,iz)Z(tr

2. În general, problema rezolvării ecuaţiilor polinomiale este o problemă prost condiţionată, în sensul că mici perturbaţii în coeficienţii polinomului conduc la perturbaţii mari în rădăcinile calculate (a se revedea Exemplul 1.12, subcapitolul 1.3.1 şi Exemplul 1.13).

Metodele practice pentru calculul numeric automat al valorilor proprii sunt, în esenţă, proceduri iterative de aducere a matricei A la anumite forme (“canonice”) simple, prin intermediul unor transformări de asemănare. Deoarece forma canonică Jordan este foarte sensibilă la perturbaţii (Exemplul 1.13), în practică se utilizează aşa-numita formă canonică Schur, obţinută prin transformări ortogonale de asemănare.

Aplicaţii:

În general, calculul valorilor şi vectorilorproprii intervine ca etapă esenţială în analiza şi sinteza sistemelor dinamice liniare (continue de timp), în probleme legate de:

• studiul stabilităţii (interne); • studiul răspunsului sistemelor.

Astfel, în ceea ce priveşte analiza stabilităţii sistemelor automate, tehnicile matriceale bazate pe localizarea valorilor proprii au o deosebită importanţă. În funcţie de natura problemei, uneori este suficient a determina plasarea valorilor proprii ale unei matrice în planul complex, alteori este absolut necesară determinarea cu precizie a valorilor proprii. Pentru a răspunde acestor cerinţe diferite, au fost abordate metode ce necesită un efort de calcul adecvat şi a căror aplicare eficientă presupune utilizarea tehnicii de calcul:

• localizarea valorilor proprii prin metoda inegalităţilor lui Gherşgorin (a se vedea problema propusă P4.2);

• calculul valorilor şi vectorilor proprii bazat pe algoritmul QR şi forma canonică Schur (conţinutul prezentului capitol).

În studiul răspunsului sistemelor dinamice liniare se disting următoarele cazuri:

Page 90: Carte Mn Letitia Mirea

112 4. Calculul valorilor şi vectorilor proprii

• răspunsul liber pentru care evoluţia stării sistemului este cauzată numai de starea sa iniţială la un anumit moment de timp şi în lipsa oricărui semnal exterior;

0t

• răspunsul forţat pentru care evoluţia în timp a semnalului de ieşire este cauzată de aplicarea unui semnal la intrarea sistemului.

Pentru rezolvarea unor astfel de probleme intervine calculul matricei variante în timp: , unde: tAe)t( ⋅=Φ

• este o matrice constantă; nnA ×ℜ∈• este o variabilă scalară cu semnificaţia de moment de timp,

oarecare dar fixat. ℜ∈t

Matricea este întâlnită sub denumirea de )t(Φ matrice de tranziţie. În continuare, se notează oarecare. În urma

calculului valorilor şi vectorilor proprii pentru matricea B, se obţin următoarele: ℜ∈ℜ∈⋅= × t,B,tAB nn

• , o matrice diagonală care conţine, pe diagonala principală, valorile proprii ale matricei B;

nniii,ii,i D),B(,d},d{diagD ×∈σ∈λλ== C

• , o matrice conţinând, corespunzător, în fiecare coloană, vectorii proprii ai matricei B.

nnV ×∈C

Astfel, valoarea proprie din poziţia (i,i) a matricei D corespunde vectorului propriu din coloana numărul i a matricei V ( n,...,1i = ).

Ca urmare, calculul matricei implică utilizarea relaţiei: Be1dd V}e,...,e{diagV n,n1,1 −⋅⋅ ,

unde este inversa matricei V. Cum, în general, V este o matrice cu elemente în corpul numerelor complexe, pentru calculul inversei ei se poate aplica metodologia expusă în subcapitolul 2.3.4 privitoare la rezolvarea sistemelor cu elemente numere complexe.

1V −

De asemenea, pentru calculul elementelor de tip , se ţine cont de relaţiile:

i,ide

1j;n,...,1i),csin(ej)ccos(ee,cjrd 2i

ri

rdiii,i

iii,i −==⋅⋅+⋅=⋅+= .

4.2 Forma canonică Schur

Definiţie:

Două matrice se numesc nn'A,A ×ℜ∈ ortogonal asemenea, dacă există o matrice ortogonală , astfel încât: nnQ ×ℜ∈

. (4.4) QAQA T' ⋅⋅=

Page 91: Carte Mn Letitia Mirea

4.2 Forma canonică Schur 113

Matricele ortogonal asemenea au proprietatea esenţială că au aceleaşi valori proprii:

n,...,1i),A()A( ''ii =λ=λ .

Relaţia dintre vectorii proprii ai două matrice ortogonal asemenea este: n,...,1i,xQx '

ii =⋅= , unde prin '

ii x,x s-au notat vectorii proprii ai matricei A şi, respectiv, . 'A

Definiţie:

O matrice se spune că este în nnT ×ℜ∈ formă bloc superior triunghiulară, dacă are următoarea structură:

ii ppii

mm

m222

m11211

T,

T

TTTTT

T ×ℜ∈

⎥⎥⎥⎥

⎢⎢⎢⎢

=

00

0

……

,

unde sunt submatrice pătratice. Dacă, în plus, blocurile diagonale sunt matrice de ordin maxim 2, atunci se spune că matricea este în formă

m,...,1i,Tii =

cvasi-superior triunghiulară.

Teoremă de existenţă:

Oricare ar fi matricea , există o matrice ortogonală nnA ×ℜ∈ nnQ~ ×ℜ∈ , astfel încât matricea: Q~AQ~S T ⋅⋅= (4.5)

este în formă cvasi-superior triunghiulară. Blocurile diagonale de ordin întâi ale matricei S reprezintă valorile proprii reale ale matricei A şi ale matricei S, iar blocurile diagonale de ordin doi au valori proprii complex conjugate reprezentând valori proprii complex conjugate ale matricelor A şi S.

Definiţie:

Matricea S din relaţia (4.5) se numeşte forma canonică Schur reală a matricei A. Coloanele n,...,1k,q~

k= ale matricei Q~ se numesc vectori Schur

ai matricei A. Aceştia fiind vectori ortogonali, formează o bază ortogonală în numită 1n×ℜ bază Schur a matricei A.

Demonstraţia teoremei anterioare se realizează ţinând cont de ambele situaţii care pot apare, anume cazul valorilor proprii reale şi cazul valorilor proprii complex conjugate.

Page 92: Carte Mn Letitia Mirea

114 4. Calculul valorilor şi vectorilor proprii

1. Fie , şi fie ℜ∈λσ∈λ ),A( x vectorul propriu asociat valorii proprii . Fără a restrânge generalitatea, se presupune că

λ

1||x||xx 22

T ==⋅ . Se construieşte matricea ortogonală Q astfel: )1n(nY],Yx[Q −×ℜ∈= , unde Y este o matrice de completare, având coloanele ortogonale cu vectorul x şi ortogonale între ele:

1)1n(T 0xY)YIm(x ×−=⋅⇔⊥ . (4.6)

Cu matricea Q astfel construită şi ţinând cont de definiţia (4.1), produsul este: QA ⋅

]YAx[]YAxA[]Yx[AQA ⋅⋅λ=⋅⋅=⋅=⋅ .

Dar, conform definiţiei (4.4), rezultă: , şi deci: 'AQQA ⋅=⋅

⎥⎥⎥

⎢⎢⎢

⋅⋅⋅⋅λ

λ⋅⋅=⋅⋅λ⋅

⎥⎥⎥

⎢⎢⎢

=⋅⋅=YAYxY

*xx]YAx[

Y

xQAQA

TT

T

T

T

T' . (4.7)

Cum s-a făcut presupunerea că 1||x||xx 22

T ==⋅ , folosind relaţia (4.6) egalitatea (4.7) devine:

)1n()1n(

1)1n(

' B,B0

*A −×−

×−

ℜ∈⎥⎥⎥

⎢⎢⎢

⎡ λ= ,

în care s-a notat prin B matricea YAYT ⋅⋅ . În concluzie, dacă ℜ∈λ , există o matrice ortogonală Q, astfel încât aplicând aceasta matricei A, se obţine o matrice ortogonal asemenea, . Aceasta din urmă are pus în evidenţă un bloc diagonal de ordinul întâi care coincide chiar cu valoarea proprie reală

'A

λ a matricei iniţiale A. 2. Fie 0,,,j2,1 ≠βℜ∈βαβ⋅±α=λ , o pereche de valori proprii complex

conjugate ale matricei A. Fie atunci, vju ⋅± vectorii proprii complex conjugaţi asociaţi valorilor proprii C∈λ 2,1 . Se construieşte matricea

de forma: 2nX ×ℜ∈ ]xx[X 21= , unde 21 x,x formează o bază ortogonală pentru subspaţiul imagine ])vuIm([ . Astfel, se poate scrie relaţia:

22M,MXXA ×ℜ∈⋅=⋅ , unde matricea M satisface la relaţia:

β⋅±α=λ⇔=−⋅λ j0)MIdet( 2,12 .

Se construieşte matricea ortogonală de forma: 'Q

Page 93: Carte Mn Letitia Mirea

4.3 Algoritmul QR pentru calculul formei canonice Schur 115

)2n(n' Y],YX[Q −×ℜ∈= , unde Y este o matrice de completare având coloanele ortogonale între ele. În plus:

2)2n(T XY ×−=⋅ 0 .

Atunci, urmând un procedeu analog cu cel descris la punctul 1 al demonstraţiei, se obţine:

)2n()2n(

2)2n(

'T'" C,C0

*MQA)Q(A −×−

×−

ℜ∈⎥⎥⎥

⎢⎢⎢

=⋅⋅= .

În concluzie, dacă matricea A are două valori proprii complex conjugate, atunci există o matrice ortogonală care, aplicată matricei A, să conducă la o matrice ortogonal asemenea cu aceasta. Matricea are pe diagonala principală un bloc de ordinul doi care, la rândul său, are drept valori proprii, valorile proprii complex conjugate ale matricei A de la care s-a plecat.

'Q"A "A

Demonstraţia teoremei de existenţă se obţine dacă se repetă procedurile prezentate anterior la punctele 1 şi 2 asupra matricelor B şi, respectiv, C. Acestea se numesc proceduri de deflaţie.

În final se obţine o matrice în formă cvasi-superior triunghiulară care are pe diagonala principală blocuri de ordin maxim doi. Blocurile de ordinul întâi reprezintă chiar valorile proprii reale ale matricei A, iar blocurile de ordin doi, la rândul lor având valori proprii complex conjugate, oferă baza pentru calculul valorilor proprii complex conjugate ale matricei A.

Matricea Q~ din enunţul teoremei se obţine prin produsul matricelor de tipul Q, de la punctele 1 şi, respectiv, 2 ale procedurilor de deflaţie. 'Q

Observaţie: Matricea S este bloc superior triunghiulară, cu blocurile diagonale de ordin

maxim doi, iar fiecare bloc de ordin doi are valori proprii complex conjugate. În particular, dacă matricele A şi S au numai valori proprii reale, atunci matricea S este chiar superior triunghiulară.

4.3 Algoritmul QR pentru calculul formei canonice Schur

Algoritmul QR pentru calculul valorilor şi vectorilor proprii construieşte un şir de matrice ortogonal asemenea ,...A,...,A,AA k10 = convergent către forma

Page 94: Carte Mn Letitia Mirea

116 4. Calculul valorilor şi vectorilor proprii

canonică Schur: . Altfel spus, considerând matricea SA kk ⎯⎯ →⎯ ∞→

[ ][ ]nj,i1

kijk aA

≤≤= , elementele sale tind la 0 pentru k tinzând la infinit:

pentru [ ] 0a kkij ⎯⎯ →⎯ ∞→ 2ji +≥ şi există elemente [ ] 0a kk

1i,i ⎯⎯ →⎯ ∞→+ pentru

i=1,...,n-1, astfel încât să fie puse în evidenţă, pe diagonală, blocuri de ordin maxim doi.

Se defineşte şirul de matrice AA,}A{ 00kk =≥ , prin următoarele relaţii de recurenţă: nkkk1kkknkk IQRA,RQIA ⋅μ+⋅=⋅=⋅μ− + , (4.8)

unde matricea este o matrice ortogonală, matricea este o matrice superior triunghiulară, iar scalarul

nnkQ ×ℜ∈ nn

kR ×ℜ∈ℜ∈μ k se numeşte deplasare şi este

un parametru de accelerare a convergenţei. Se demonstrează că dacă )A( kk σ∉μ , atunci matricea este o matrice

nesingulară. Practic, are loc descompunerea QR a matricei kR

nkk IA ⋅μ− prin triangularizare ortogonală (prima relaţie din (4.8)), aşa cum s-a descris în capitolul 3, subcapitolul 3.2.2 . Folosind rezultatele acestei descompuneri, se calculează apoi următorul element al şirului de matrice (a doua relaţie din (4.8)).

Definiţie:

Şirul de matrice AA,}A{ 00kk =≥ , definit prin relaţiile (4.8), se numeşte şir QR ataşat matricei A, iar relaţiile (4.8) se numesc pas QR cu deplasare explicită.

În continuare se enunţă şi demonstrează următorul rezultat.

Propoziţie:

Matricele şirului QR sunt ortogonal asemenea:

kkTk1k QAQA ⋅⋅=+ .

Demonstraţia porneşte de la relaţiile de recurenţă (4.8), din care rezultă:

. (4.9) kk

Tknkknkk

Tk1k

nkkTkk

QAQIQ)IA(QA

)IA(QR

⋅⋅=⋅μ+⋅⋅μ−⋅=

⋅μ−⋅=

+

Exprimând matricea în funcţie de matricea şi, mai departe, matricea în funcţie de matricea , folosind relaţiile

kA 1kA −

1kA − 2kA − (4.9) rezultă:

1k2k2kT

2kT

1kk2k2k

T2k1k

1k1kT

1kk QQAQQAQAQA

QAQA−−−−−

−−−−

−−− ⋅⋅⋅⋅=⇒⎭⎬⎫

⋅⋅=⋅⋅=

şi, continuând în această manieră, rezultă:

Page 95: Carte Mn Letitia Mirea

4.3 Algoritmul QR pentru calculul formei canonice Schur 117

. (4.10) 1k2k10T0

T1

T2k

T1kk QQQQAQQQQA −−−− ⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅= ……

Se notează cu TkQ~ produsul de matrice ∏ , iar cu

=−−

k

0j

Tj1kQ kQ~ produsul

. Relaţia ∏=

k

0jjQ (4.10) devine: k

Tkk Q~AQ~A ⋅⋅= . Pentru ∞→k se obţine

TTk Q~Q~ → şi Q~Q~ k → , iar matricea va tinde la matricea S, care este forma

canonică Schur a matricei A. kA

Algoritmul original QR, descris de relaţiile (4.8), este în general consumator de timp. De aceea se foloseşte o formă optimizată a algoritmului QR cu deplasare explicită, pentru calculul valorilor şi vectorilor proprii. Algoritmul optimizat cuprinde două faze, decsrise principial în continuare, iar în detaliu în subcapitolul următor.

Faza I-a este o etapă pregătitoare, de obţinere a formei superior Hessenberg a matricei A, printr-un şir de transformări ortogonale de asemănare. Se notează cu H forma superior Hessenberg a matricei A. Matricele A şi H sunt ortogonal asemenea. Matricea H are structura prezentată în Figura 4.1.

A = H =0

c1 c2 ck cn-2

Fig. 4.1. Forma implementabilă a algoritmului QR pentru obţinerea formei canonice Schur: faza I-a

Aşadar, matricea H are elementele n,...,2ji,2n,...,1j,0h ij +=−== . Faza

I-a implică o procedură directă ce se desfăşoară în 2n − iteraţii.

Faza a II-a implică o procedură iterativă cu un număr finit, dar necunoscut de paşi. Plecând de la forma superior Hessenberg a matricei A, se construieşte un şir de matrice ortogonal asemenea, convergent către forma canonică Schur S. Astfel, se urmăreşte zerorizarea unor elemente aflate pe sub-diagonala principală a matricei H atfel încât, în final, să se obţină forma canonică Schur. Figura 4.2 prezintă principial rezultatul urmărit.

Page 96: Carte Mn Letitia Mirea

118 4. Calculul valorilor şi vectorilor proprii

S =H =0

0 0

0

s11

sii

smm

Fig. 4.2. Forma implementabilă a algoritmului QR pentru obţinerea formei canonice Schur – faza a II-a

Aplicând în această fază algoritmul QR cu deplasare explicită, plecând de

la matricea superior Hessenberg, se poate demonstra că se obţine un şir de matrice aflate tot în forma superior Hessenberg. Altfel spus, forma superior Hessenberg este invariantă la algoritmul QR. Astfel, dacă matricea are pe diagonală structura generală de forma: kH

0h,hhhh ]k[

i,1i]k[1i,1i

]k[i.1i

]k[1i,i

]k[ii ≠+

+++

+ ,

atunci, în urma aplicării algoritmului QR cu deplasare explicită, şi matricea va avea elementul din poziţia 1kH + )i,1i( + tot nenul. Dacă, însă, blocul pus

în evidenţă va conduce la două blocuri de ordinul întâi, pentru se obţine următoarea structură:

∞→k

0h,h0

0h k]k[i,1i

1i,1i

ii ⎯⎯ →⎯ ∞→+∞

++

.

Ca urmare, algoritmul QR conduce la rezultatul: . |h||h| ]k[i,1i

]1k[i,1i +

++ ≤

În cazul blocurilor de ordinul întâi, inegalitatea anterioară este strictă, iar pentru blocurile de ordin doi, după un anumit număr de iteraţii, inegalitatea se transformă în egalitate. Ca urmare, pentru detecţia blocurilor de ordin întâi, se aplică următorul test:

dacă |)h||h(||h| ]1k[1i,1i

]1k[ii

]1k[i,1i

+++

+++ +⋅ε≤ atunci

⎡ atribuie 0h ]1k[i,1i ←+

+

Page 97: Carte Mn Letitia Mirea

4.4 Forma implementabilă a algoritmului QR cu deplasare explicită 119

Astfel, se vor corecta eventualele erori datorate calculului în virgulă mobilă.

Observaţie:

Dacă se aplică direct algoritmul QR asupra matricei iniţiale A, atunci fiecare iteraţie necesită un număr de operaţii în virgulă mobilă de ordinul lui . Dacă, însă, algoritmul QR se aplică formei superior Hessenberg, atunci la fiecare pas QR numărul de operaţii în virgulă mobilă este de ordinul lui

3n

2n .

4.4 Forma implementabilă a algoritmului QR cu deplasare explicită

După cum s-a arătat în cadrul subcapitolului 4.3, forma implementabilă a algoritmului QR cuprinde două faze detaliate în continuare.

Faza I-a este o fază preliminară, care implică o procedură directă de aducere a matricei la forma superior Hessenberg, notată cu H. În cadrul acestei proceduri se folosesc reflectori Householder în scopul anulării, coloană cu coloană, a elementelor matricei A situate sub sub-diagonala principală.

nnA ×ℜ∈

Algoritmul care descrie această fază este următorul: atribuie AA1 ← pentru 2n,1k −= execută⎡ * determinare reflector Householder astfel încât: 1kU +

⎢ n,...,2ki,0)AU( k,ik1k +==⋅+

⎢ atribuie k1k'

1k AUA ⋅← ++

⎢ atribuie 1k'

1kT

1k'

1k1k UAUAA +++++ ⋅=⋅←⎣ atribuie 1nAH −←

În final, se obţine matricea H care reprezintă forma superior Hessenberg a matricei A. Matricea H, astfel obţinută, are nule elementele:

n,...,2ji,2n,...,1j,0h j,i +=−== .

Reflectorii Householder de ordin n şi indice 1k + , 2n,...,1k,U 1k −=+ , sunt matrice ortogonale şi simetrice care se sintetizează cu ajutorul relaţiei:

)/uu(IU 1kT

1k1kn1k ++++ β⋅−= ,

în care T1k,n1k,1k1k ]uu00[u ++++ = …… şi este complet definit de

relaţiile:

Page 98: Carte Mn Letitia Mirea

120 4. Calculul valorilor şi vectorilor proprii

1k]k[

k,1k1k,1k

n

1ki

2]k[k,i

]k[k,1k1k au,)a()a(sign ++++

+=++ σ+=⋅=σ ∑ ,

1k,1k1k1k]k[

k,ik,i u,n,...,2ki,au ++++ ⋅σ=β+== .

Multiplicarea la dreapta cu matricea se efectuează pentru ca matricea obţinută, , să aibă aceleaşi valori proprii ca şi matricea . Astfel, mergând din aproape în aproape, matricea va avea aceleaşi valori proprii ca şi matricea iniţială,

1kT

1k UU ++ =

1kA + kA

1kA +

=1A A, matricele fiind ortogonal asemenea.

1kk }A{ ≥

În sinteză, tabloul transformărilor este:

HUUAUU n221n =⋅⋅⋅⋅⋅⋅− …… .

Notând cu 21n UUU ⋅⋅= − … şi cu , rezultă: n2T UUU ⋅⋅= …

TUAUH ⋅⋅= .

Această procedură necesită exact 2n − iteraţii.

Faza a II-a constă într-o procedură iterativă, de construcţie a unui şir de matrice ortogonal asemenea, convergent către forma canonică Schur, pornind de la matricea H obţinută la finalul primei faze. În cadrul acestei faze de lucru, se aplică algoritmul QR cu deplasare explicită într-o formă optimizată, după cum se prezintă în continuare.

Se pleacă de la forma superior Hessenberg a matricei A obţinută în faza I-a şi, printr-un şir de transformări ortogonale de asemănare, se urmăreşte obţinerea formei canonice Schur a matricei A. Scopul este de a anula o parte din elementele de pe sub-diagonala principală a matricei H astfel încât, în final, matricea S (forma canonică Schur) să conţină pe diagonala principală blocuri de ordin maxim doi. Blocurile diagonale de ordin doi, dacă există, trebuie să aibă valori proprii complex conjugate.

Algoritmul QR cu deplasare explicită, în forma sa originală, parcurge următoarele etape:

1. determinare deplasare μ ; 2. atribuire nIHH ⋅μ−← ; 3. descompunere RQH ⋅= , în care R este o matrice superior

triunghiulară, iar Q este o matrice ortogonală; 4. atribuire ; QRH ⋅←5. refacere deplasare nIHH ⋅μ+← ; 6. corecţie matrice H (efectuare test de decuplare); 7. atribuire şi efectuare teste reluare algoritm QR (de la etapa 1). HS←

Page 99: Carte Mn Letitia Mirea

4.4 Forma implementabilă a algoritmului QR cu deplasare explicită 121

Etapele de la 1 la 6 implementează un pas QR cu deplasare explicită şi comportă 1n − iteraţii în etapa 2, de realizare a descompunerii QR a matricei H. În continuare se detaliază aceste etape.

La nivelul etapei 1 se determină deplasarea μ . Se poate demonstra că viteza de convergenţă cea mai mare se obţine pentru o alegere a deplăsării de tipul:

(ultimul element de pe diagonala principală a matricei H). n,nh=μ

La nivelul etapei 2, deplasarea se scade de pe diagonala principală a matricei H, lucrându-se în continuare (etapele 3 şi 4) cu această nouă matrice.

Etapa 3 se referă la descompunerea QR a matricei H obţinută la etapa 2. Descompunerea se poate realiza aplicând reflectori Householder:

RHUUU 1k1n =⋅⋅⋅⋅⋅− …… ,

unde R este o matrice superior triunghiulară. Notând cu produsul de matrice

TQ

1k1n UUU ⋅⋅⋅⋅− …… , se obţine: RQH ⋅= . Matricele sunt reflectori Householder de ordin n şi indice

k, ele zerorizând elementele de pe prima sub-diagonală a matricei H: 1n,...,1k,U k −=

0)HU( k,1kk =⋅ + .

Dacă se aplică definiţia reflectorului Householder, atunci se obţine pentru acesta următoarea formă:

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

α−δδα

=

−−×−−×−−−×−−

−−×−×

−−×−×

−−×−×−×−−

1kn1)1kn(1)1kn()1k()1kn(

)1kn(1)1k(1

)1kn(1)1k(1

)1kn()1k(1)1k(1)1k(1k

k

I000

0000

000I

U ,

unde: 2

k,1k2

k,kk,kkkk,1kkk,k hh)h(sign,/h,/h ++ +⋅=σσ−=δσ−=α .

O procedură mai eficientă este de a folosi alte matrice ortogonale de transformare şi anume matricele de rotaţie plană Givens. Pentru a înţelege principiul modului de lucru al acestora din urmă, se consideră planul ca în Figura 4.3. Astfel, se roteşte sistemul de axe cu unghiul , astfel ca punctul de coordonate să aibă coordonatele în noul sistem

de axe, unde

)k,1k( +θ

)h,h( k,1kk,k + )0,r( k

2k,1k

2k,kk hhr ++= . Aceasta corespunde situaţiei în care

vectorului i se aplică o matrice de rotaţie R, de forma: Tk,1kk,k ]hh[ +

Page 100: Carte Mn Letitia Mirea

122 4. Calculul valorilor şi vectorilor proprii

⎥⎦

⎤⎢⎣

⎡−

=kk

kk

cddc

R cu k

k,kk r

h)(θcosc == ,

k

k,1kk r

h)(θsind +== ,

obţinându-se:

⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡⋅

+ 0r

hh k

k1k

kk

,

,R .

θk

k+1

(k)r

(k+1)r

hk,k

hk+1,k (rk, 0)

planul (k, k+1)

Fig. 4.3. Principiul rotaţiei plane

Matricea de rotaţie Givens este, în acest caz:

nn1kn21kn1k1kn

1kn21k2

1kn1k21k1k

k

I

I

P

×−−×−−−×−−

−−×−×

−−×−×−−

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

)()()(

)()(

)()()(

R

00

00

00

.

Ţinând cont de faptul că , se poate arăta că: 1dc 2k

2k =+

nn1kn21kn1k1kn

1kn21k2

1kn1k21k1k

Tkk

I

I

PP

×−−×−−−×−−

−−×−×

−−×−×−−

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=⋅

)()()(

)()(

)()()(

Q

00

00

00

,

unde , deci . ⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

++

=1001

dc00dc

Q 2k

2k

2k

2k

nTkk IPP =⋅

Page 101: Carte Mn Letitia Mirea

4.4 Forma implementabilă a algoritmului QR cu deplasare explicită 123

Matricea de rotaţie plană Givens este ortogonală, însă nu este simetrică. Numărul de operaţii pentru sinteza matricei este redus în comparaţie cu volumul de calcul necesar sintezei unui reflector Householder.

kP

În concluzie, la etapa 3, asupra matricei H se aplică rotaţiile plane Givens, obţinând: , în care se notează , Q fiind o matrice ortogonală. Matricea R este o matrice superior triunghiulară.

RHPP 11n =⋅⋅⋅− … 11nT PPQ ⋅⋅= − …

La etapa 4, matricei R i se aplică, la dreapta, matricea Q definită mai sus, iar rezultatul obţinut se atribuie matricei H: . T

1nT

1 PPRH −⋅⋅⋅= …La etapa 5 se adună deplasarea μ la elementele de pe diagonala prinicipală,

pentru a păstra nemodificate valorile proprii. Altfel spus, are loc refacerea deplasării pe diagonala principală.

La etapa 6 se aplică un test de decuplare. Aplicarea acestuia este justificată de faptul că , în general, forma superior Hessenberg este invariantă la lagoritmul QR, după cum s-a menţionat principial în subcapitolul anterior. În continuare se detaliază acest aspect.

Matricea , aplicată la stânga, acţionează efectiv asupra blocului determinat de liniile şi, respectiv, coloanele k şi

kP1k + din matricea H:

1n,...,1k,hhhh

1k,1kk,1k

1k,kk,k −=+++

+

conducând la:

'1k,1k

'1k,k

'k,k

h0hh

++

+ .

Când se aplică matricea , la dreapta rezultatului TkP HPk ⋅ , blocul anterior

devine:

"1k,1k

"k,1k

"1k,k

"k,k

hhhh

+++

+

şi, în general, . Inegalitatea este strictă dacă elementului din poziţia îi corespunde un zerou în forma canonică Schur. Acest zerou pune în evidenţă blocurile de ordin maxim doi de pe diagonala matricei S sau, altfel spus, decuplează blocurile formei canonice Schur, în forma superior

|h||h| "k,1kk,1k ++ ≥

)k,1k( +

Page 102: Carte Mn Letitia Mirea

124 4. Calculul valorilor şi vectorilor proprii

Hessenberg. Pentru a compensa eventualele erori de rotunjire, se aplică următorul test pentru decuplare:

dacă |)h||h(||h| "1k,1k

"k,k

"k,1k +++ +⋅ε< atunci

⎡ atribuie 0h"k,1k ←+

⎣ Parametrul caracterizează precizia dorită a calculelor. εLa etapa 7 se aplică testele care condiţionează reluarea sau nu a

algoritmului QR. Testele realizate în această etapă au ca punct de plecare structura formei canonice Schur prezentată în Figura 4.4.

sii0

0

sii

si+1,i+1

si,i+1

si+1,i

0

0

Mi

(a) (b)

Fig. 4.4. Structura formei canonice Schur; (a) bloc de ordinul I; (b) bloc de ordinul II

Analizând structura formei canonice Schur, se desprind următoarele

concluzii: • nu există pe sub-diagonala formei canonice Schur două elemente

consecutive nenule; • dacă există blocuri de ordinul doi pe diagonala matricei S, atunci

acestea trebuie să aibă, la rândul lor, valori proprii complex conjugate. Astfel, testele care se realizează la această etapă sunt: (T1) dacă }2n...,,2,1{i −∈∃ pentru care 0s i,1i ≠+ şi 0s 1i,2i ≠++ atunci ⎡ matricea S nu este în forma canonică Schur (reluare de la etapa 1) ⎣ (T2) dacă i∃/ care să satisfacă (T1), dar }1n...,,2,1{i −∈∃ pentru care

| blocul are valori proprii reale ⎥⎦

⎤⎢⎣

⎡=

+++

+

1i,1ii,1i

1i,ii,ii ss

ssM atunci

Page 103: Carte Mn Letitia Mirea

4.5 Calculul valorilor şi vectorilor proprii 125

| matricea S nu este în forma canonică Schur (reluare de la etapa 1) ⎣ Dacă aceste teste sunt satisfăcute (cel puţin unul din ele), atunci algoritmul se reia de la etapa 1.

Tabloul general al transformărilor din faza a doua a algoritmului QR este:

])P()P[(

])P()P[(H]PP[]PP[ST]s[

1nT]s[

1

T]1[1n

T]1[1

]1[1

]1[1n

]s[1

]s[1n

−−−

⋅⋅⋅

⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅=

……………,

unde [s] este indexul iteraţiei la care se obţine forma canonică Schur, cu precizia impusă . Notând cu P produsul matricelor care înmulţesc la stânga matricea H şi cu produsul de matrice caree înmulţesc la dreapta matricea H, se obţine:

εTP

SPHP T =⋅⋅ . În urma aplicării ambelor faze ale formei implementabile a algoritmului QR

asupra matricei A, rezultă: . Se notează în continuare SPUAUP TT =⋅⋅⋅⋅UPQ~ T ⋅= .

Atunci, relaţia anterioară devine: Q~AQ~S T ⋅⋅= , unde TT PUQ~ ⋅= se numeşte matrice generală de transformare. Această matrice acumulează toate transformările ortogonale care se aplică matricei A, în vederea obţinerii formei canonice Schur.

În general, se afirmă că forma implementabilă a algoritmului QR este o procedură stabilă numeric, iar forma canonică Schur calculată pentru o matrice A, notată prin S , coincide cu forma canonică Schur exactă, S, a matricei A uşor perturbată,

ˆ

EAA += :

αα+ <<≡ ||A||||E||,SS EA .

4.5 Calculul valorilor şi vectorilor proprii

Calculul valorilor proprii se realizează prin inspecţia blocurilor diagonale ale formei canonice Schur, conţinută în matricea rezultată S (a se revedea Figura 4.4). Astfel:

• dacă , atunci pe diagonala principală a formei canonice Schur este un bloc de ordinul întâi, care coincide cu o valoare proprie a sa::

;

0s i,1i =+

i,ii s=λ

• dacă , atunci este un bloc de ordin doi, , şi rezolvând ecuaţia:

0s i,1i ≠+ iM

0)MIdet( i2 =−⋅λ ,

Page 104: Carte Mn Letitia Mirea

126 4. Calculul valorilor şi vectorilor proprii

vor rezulta valorile proprii complex conjugate iλ , 1i+λ . Astfel, dacă

blocul de ordinul doi are forma generală , valorile

proprii complex conjugate rezultă în urma rezolvării ecuaţiei algebrice de gradul al II-lea:

⎥⎦

⎤⎢⎣

⎡=

+++

+

1i,1ii,1i

1i,ii,ii ss

ssM

.0)ssss()ss( 1i,ii,1i1i,1ii,i1i,1ii,i2 =⋅−⋅+λ⋅+−λ ++++++

Inspecţia formei canonice Schur se realizează asupra elementelor aflate pe prima sub-diagonală a matricei S, pentru 1n,...,1i −= .

Având calculate valorile proprii, vectorii proprii ai matricei S se pot calcula cu relaţia:

n,...,1i,rrS iii =⋅λ=⋅ ,

unde ir este vectorul propriu al matricei S corespunzător valorii proprii . Atunci:

n,...,1i,rQ~x ii =⋅= ,

unde ix este vectorul propriu al matricei A corespunzător valorii proprii , iar iλ

Q~ este matricea ortogonală generală de aducere a matricei iniţiale A la forma canonică Schur. Se realizează, în cele ce urmează, notaţiile:

]xxx[X ni1 ……= ; ]rrr[R ni1 ……= ,

şi atunci se poate scrie că: RQ~X ⋅= ,

relaţie care se numeşte factorizare cvasi-QR a matricei vectorilor proprii X, vectori corespunzători matricei A. R este o matrice cvasi-superior triunghiulară.

În practică, însă, se folosesc cu succes drept vectori proprii ai matricei A, vectorii Schur ai săi, anume vectorii coloană ai matricei Q~ :

]q~q~q~[Q~ni1

……= .

Vectorii n,...,1i,q~i

= au proprietatea că sunt ortogonali şi, în plus,

n,...,1i,1||q~|| 22i

== , deci sunt vectori ortonormali.

Dacă ℜ∈=λ iii s ( ), atunci vectorului propriu corespunzător, 0s i,1i =+ ix , i

se asociază coloana i a matricei Q~ , care este de fapt vectorul Schur asociat valorii proprii . iλ

Dacă (C∈λλ +1ii , 0s i,1i ≠+ ), atunci vectorilor proprii 1ii x,x + corespunzători acestor valori proprii (complex conjugate), li se asociază vectorii

Page 105: Carte Mn Letitia Mirea

4.5 Calculul valorilor şi vectorilor proprii 127

complex conjugaţi 1ii

q~jq~+

⋅+ , respectiv 1ii

q~jq~+

⋅− , unde , iar 1j2 −=

1iiq~,q~

+ sunt coloanele matricei Q~ din poziţiile i şi 1i + .

Page 106: Carte Mn Letitia Mirea

Capitolul 5 DESCOMPUNEREA VALORILOR SINGULARE

5.1 Formularea problemei

Se consideră o matrice şi fie nmA ×ℜ∈ }n,mmin{p = . Se notează cu r rangul matricei A. Acesta satisface la relaţia: pr ≤ . Dacă pr < , se spune că matricea este deficientă de rang, iar dacă pr = , atunci se spune că matricea este de rang complet.

Teoremă:

Oricare ar fi matricea , există două matrice ortogonale nmA ×ℜ∈ mmU~ ×ℜ∈ şi nnV~ ×ℜ∈ , astfel încât:

Σ=⋅⋅ V~AU~ T sau TV~U~A ⋅Σ⋅= , (5.1)

unde este o matrice pseudo-diagonală, elementele nenule ale acesteia satisfăcând relaţia:

nm×ℜ∈Σ

0},,,{diag p21p1 ≥σ≥≥σ≥σσσ=Σ …… . (5.2)

Definiţie:

Numerele (relaţiile +ℜ∈σσ p1 ,,… (5.1) şi (5.2)) se numesc valori singulare

ale matricei A. Matricea (relaţia nm×ℜ∈Σ (5.1)) se numeşte forma canonică pseudodiagonală a matricei A. A doua expresie din (5.1) se numeşte descompunerea valorilor singulare a matricei A..

Demonstraţia teoremei constituie însuşi algoritmul de descompunere a valorilor singulare care va fi prezentat într-un subcapitol următor.

Teorema arată că orice matrice este ortogonal echivalentă bilateral cu o matrice pseudodiagonală. Detaliind structura matricei , pot apare următoarele situaţii:

nm×ℜ∈Σ

a.) nm ≥ şi npr)A(rang === . În acest caz, matricea Σ are structura:

Page 107: Carte Mn Letitia Mirea

138 5. Descompunerea valorilor singulare

},,{diag, n11

n)nm(

1

σσ=Σ⎥⎥⎥

⎢⎢⎢

⎡ Σ=Σ

×−

…0

,

iar dacă p , atunci matricea r)A(rang <= Σ are forma:

},,{diag,, r11rr

1

)rn()rm(r)rm(

)rn(r1

σσ=Σℜ∈Σ⎥⎥⎥

⎢⎢⎢

⎡ Σ=Σ ×

−×−×−

−×

…00

0;

b.) nm < şi mpr)A(rang === . În acest caz, matricea Σ are structura:

},,{diag],0[ m11)mn(m1 σσ=ΣΣ=Σ −× … ,

iar dacă p , atunci matricea r)A(rang <= Σ are forma:

},,{diag,, r11rr

1

)rn()rm(r)rm(

)rn(r1

σσ=Σℜ∈Σ⎥⎥⎥

⎢⎢⎢

⎡ Σ=Σ ×

−×−×−

−×

…00

0.

În general, valorile singulare pot fi dispuse în ordine descrescătoare pe diagonala principală a formei canonice pseudodiagonale, satisfăcând relaţia:

0,0 p1rr21 =σ==σ>σ≥≥σ≥σ + …… .

Din cele prezentate, rezultă că rangul matricei A este egal cu rangul matricei , care este egal cu r. Altfel spus, rangul acestor matrice este egal cu

numărul valorilor singulare nenule.

nm×ℜ∈Σ

Relaţia (5.1) se poate scrie şi sub forma:

Σ⋅=⋅ U~V~A . (5.3)

Notând cu iv~ vectorii coloană ai matricei V~ şi cu iu~ vectorii coloană ai

matricei U~ , atunci relaţia (5.3) se mai poate scrie sub forma:

p,...,1i,v~Au~u~v~A Tii

Tiiii =⋅σ=⋅⇔⋅σ=⋅ .

Definiţie:

Coloanele matricei V~ se numesc vectori singulari la dreapta ai matricei A, iar coloanele matricei U~ se numesc vectori singulari la stânga ai matricei A.

În cele ce urmează se enunţă o serie de proprietăţi ale valorilor singulare: P1. valorile singulare ale matricei A sunt egale cu rădăcina pătratică pozitivă

a valorilor proprii ale matricei AAT ⋅ :

Page 108: Carte Mn Letitia Mirea

5.1 Formularea problemei 139

n,...,1i,)AA()A( Tii =⋅λ+=σ ;

P2. dacă este o matrice simetrică şi pozitiv semidefinită, atunci valorile proprii ale matricei A sunt reale, pozitive, iar valorile singulare ale matricei A sunt egale cu valorile ei proprii:

nnA ×ℜ∈

n,...,1i),A()A( ii =σ=λ . Vectorii proprii ai matricei A sunt, în acest caz, egali cu vectorii singulari la dreapta ai matricei A:

n,...,1i),A(v~)A(x ii == ; P3. descompunerea valorilor singulare are următoarea interpretare

geometrică: valorile singulare ale unei matrice A sunt excat semiaxele unui hiperelipsoid definit de:

}1||x||,xA{E 2 =⋅= .

Exemplul 5.1:

Se consideră . Mulţimea punctelor aflate pe cercul de rază egală cu 1 (care reprezintă mulţimea vectorilor din cu norma euclidiană egală cu 1) este transformat în mulţimea punctelor aflate pe o elipsă ale cărei semiaxe sunt egale cu valorile singulare ale operatorului matricial A, care realizează proiecţia (a se vedea Figura 5.1). Punctele de pe elipsă reprezintă mulţimea vectorilor din descrişi de relaţia

22A ×ℜ∈12×ℜ

12×ℜ1||x||,xAy 2 =⋅= .

x1

x2

||x||2 = 1

y2

y1

y = A⋅x

E = {A⋅x / ||x||2 = 1

σ1

σ2

Fig. 5.1. Interpretarea geometrică a valorilor singulare ale unei matrice

P4. scriind matricele U~ şi V~ sub forma:

]U~U~[]u~u~u~u~[U~ 21m1rr1 …… == + ,

]V~V~[]v~v~v~v~[V~ 21n1rr1 …… == + , atunci relaţia (5.1) mai poate fi scrisă sub forma:

Page 109: Carte Mn Letitia Mirea

140 5. Descompunerea valorilor singulare

⎥⎥⎥

⎢⎢⎢

⋅⎥⎥⎥

⎢⎢⎢

⎡ Σ⋅=⋅Σ⋅=

−×−×−

−×

T2

T1

)rn()rm(r)rm(

)rn(r1

21T

V~

V~

]U~U~[V~U~A00

0. (5.4)

Efectuând calculele, relaţia (5.4) devine:

∑=

⋅⋅σ=⋅Σ⋅=r

1i

Tiii

T11 v~u~V~U~A ;

P5. primele r coloane ale matricei U~ , unde )A(rangr = , formează o bază ortogonală pentru subspaţiul imagine al matricei A:

∑∑==

×

⋅α=⋅⋅σ⋅=⋅=

ℜ∈∀⋅==r

1iii

r

1i

Tiii

1n

u~)xv~(u~xAy

},x,xAy/y{)AIm(.

P6. ultimele rn − coloane ale matricei V~ formează o bază ortogonală pentru subspaţiul nul al matricei A:

}x,0xA/x{)A(N 1nm

×ℜ∈=⋅= ,

Σ⋅=⋅⇒Σ⋅=⋅ ]U~U~[]V~V~[AU~V~A 2121 .

)rn(m2111 V~A,U~V~A −×=⋅Σ⋅=⋅ 0

Din relaţiile scrise mai sus şi formele pe care le poate lua matricea Σ , rezultă că ultimele rn − coloane ale matricei V~ pot constitui o bază pentru . Subspaţiul nul astfel determinat conţine doar vectorul )A(N n0 numai dacă matricea A este de rang complet şi . nm >

5.2 Norma matricială euclidiană şi numărul de condiţie

Norma euclidiană a unei matrice este definită ca fiind: nmA ×ℜ∈

⎭⎬⎫

⎩⎨⎧ ⋅

=≠ℜ∈ ×

2

2

0xx

2 ||x||||xA||

max||A||

n

1n,

iar numărul de condiţie al matricei A, folosind norma euclidiană, este:

⎭⎬⎫

⎩⎨⎧ ⋅

⎭⎬⎫

⎩⎨⎧ ⋅

=≠ℜ∈

≠ℜ∈ ××

2

2

0xx2

2

0xx

2 ||x||||xA||

min/||x||

||xA||max)A(k

n

1n

n

1n.

Ţinând cont de relaţia (5.1), norma euclidiană a vectorului xA ⋅ este:

Page 110: Carte Mn Letitia Mirea

5.2 Norma matricială euclidiană şi numărul de condiţie 141

222T

2 ||zU~||||yU~||||xV~U~||||xA|| ⋅=⋅Σ⋅=⋅⋅Σ⋅=⋅ , (5.5)

în care s-a notat cu y produsul xV~ T ⋅ şi cu z produsul y⋅Σ . Ţinând cont de

faptul că U~ este o matrice ortogonală, atunci relaţia (5.5) devine:

2222 ||y||||z||||zU~||||xA|| ⋅Σ==⋅=⋅ . (5.6)

Pe de altă parte, ţinând cont de faptul că V~ este o matrice ortogonală, norma euclidiană a vectorului x este egală cu:

22T

2 ||y||||xV~||||x|| =⋅= . (5.7)

Cum , atunci relaţia },,{diag p1 σσ=Σ … (5.6) devine:

2p

2p

21

2122 yy||y||||xA|| ⋅σ++⋅σ=⋅Σ=⋅ … . (5.8)

Ţinând cont de relaţia 0p21 ≥σ≥≥σ≥σ … , se definesc mărimile: şi . Ca urmare, minorând şi majorând expresia 1max σ=σ pmin σ=σ (5.8), se

obţine: 21

2p

2p

21

212p ||y||yy||y|| ⋅σ≤⋅σ++⋅σ≤⋅σ … . (5.9)

Folosind relaţiile (5.7) şi (5.9), precum şi relaţiile de definiţie pentru norma matricială euclidiană şi pentru numărul de condiţie al unei matrice, se obţin expresiile:

max122pmin2n ||x||/||xA||0||x||0x σ=σ≤⋅≤σ=σ⇒≠⇒≠ ,

max12||A|| σ=σ= şi minmaxp12 //)A(k σσ=σσ= .

Ştiind că sunt îndeplinite relaţiile:

p121221

22 /)A(k,||A||,||A||||A||)A(k σσ=σ=⋅= − ,

atunci se poate calcula norma euclidiană a matricei astfel: 1A −

minp2

1 11||A||σ

=− .

Studiile efectuate au arătat că norma euclidiană matricială reprezintă cea mai mică valoare dintre toate normele matriciale uzuale. Pe de altă parte, abordările care calculează numărul de condiţie al unei matrice se bazează pe determinarea unui estimant al cantităţii şi, astfel, şansa de eroare în estimarea numărului de condiţie este mai mare. Abordarea bazată pe descompunerea valorilor singulare furnizează, din acest punct de vedere, cel mai sigur rezultat referitor la numărul de condiţie al unei matrice, valorile

21 ||A|| −

maxσ şi minσ rezultând direct din calculul numeric al descompunerii.

Page 111: Carte Mn Letitia Mirea

142 5. Descompunerea valorilor singulare

În plus, dacă pr)A(rang <= , unde }n,mmin{p = , atunci 0p =σ şi rezultă , ceea ce înseamnă că matricea A este o prost condiţionată

(deficientă de rang). ∞=)A(k 2

Alt rezultat se referă la norma Forbenius a unei matrice A, definită ca fiind:

∑∑= =

=m

1i

n

1j

2ijF a||A|| .

Matricele U~ şi V~ fiind matrice ortogonale, acestea păstrează norma Frobenius şi atunci:

2p

21F

TF ||V~AU~||||A|| σ++σ=⋅⋅= … .

5.3 Algoritmul SVD

Algoritmul SVD (SVD este abrevierea consacrată din limba engleză de la “Singular Value Decomposition”; în traducere: descompunerea valorilor singulare) constă în construirea unui şir de matrice ortogonal echivalente bilateral, şir convergent către forma canonică pseudo-diagonală a unei matrice.

Se consideră matricea . Algoritmul SVD se bazează pe faptul că: nmA ×ℜ∈

)AA()A( Tii ⋅λ+=σ ,

cum s-a prezentat în subcapitolul 5.1. Însă nu se calculează matricea şi apoi valorile ei proprii, deoarece procesul de calcul ar putea fi afectat de erori de rotunjire care să depăşească limite acceptabile, atât timp cât matricea este prost condiţionată, în general.

AAT ⋅

AAT ⋅

Principiul de calcul este de a aplica “mascat”, anume direct asupra matricei A, algoritmul QR pentru obţinerea formei canonice Schur a matricei

. Altfel spus, se aplică matricei iniţiale A, transformările corespunzătoare celor care s-ar aplica matricei B în cadrul algoritmului QR de aducere la forma canonică Schur. “Masca” este dată de corespondenţa:

AAB T ⋅=

nnTT B,BB,AABA ×ℜ∈=⋅=↔ .

În cele ce urmează, fără a restrânge generalitatea, se face presupunerea că . nm > Algoritmul comportă două faze, după cum este descris în continuare.

Faza I-a este una pregătitoare, de aducere a matricei A la forma superior bidiagonală, cum este prezentat principial în Figura 5.2.

Page 112: Carte Mn Letitia Mirea

5.3 Algoritmul SVD 143

A = J =

0

c1 cnck

0

L1

Lk

Ln-2

Fig. 5.2. Algoritmul descompunerii valorilor singulare: faza I-a

În această fază, se folosesc reflectori Householder, atât pentru coloane cât şi

pe linii. Reflectorii care acţionează pe coloane au rolul de a anula elementele situate sub diagonala principală a matricei A, iar cei care acţionează pe linii au rolul de a zeroriza elementele aflate deasupra primei supradiagonale:

• sunt reflectori de ordin m şi indice k care acţionează pe coloane;

n,...,1k,U mmk =ℜ∈ ×

• sunt reflectori de ordin n şi indice care acţionează pe linii.

2n,...,1k,V nn1k −=ℜ∈ ×+ 1k +

Tabloul general al transformărilor aplicate matricei A este următorul :

JVVVAUUU 1n1k21kn =⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ −+ ………… . Facând următoarele notaţii:

1n1k21kn VVVV,UUUU −+ ⋅⋅⋅⋅=⋅⋅⋅⋅= ………… , se obţine: JVAU =⋅⋅ . (5.10)

Observaţie:

Dacă s-ar fi aplicat algoritmul QR, de aducere la forma canonică Schur, asupra matricei , matrice care teoretic este simetrică, atunci după prima fază de lucru s-ar fi obţinut:

AAB T ⋅=

HUUBUU 1n221n =⋅⋅⋅⋅⋅⋅ −− …… ,

unde H este forma superior Hessenberg corespunzătoare matricei B. În acest caz, matricea H rezultă o matrice tridiagonală, între ea şi matricea J obţinută la finalul primei faze a algoritmului SVD putând fi scrisă relaţia:

JJH T ⋅= .

Page 113: Carte Mn Letitia Mirea

144 5. Descompunerea valorilor singulare

• Faza a II-a constă într-o procedură iterativă, de construcţie a unui şir de matrice ortogonal echivalente bilateral, convergent către forma canonică pseudo-diagonală a matricei A. În cadrul acestei faze, se urmăreşte zerorizarea elementelor de pe prima supradiagonală a formei superior bidiagonale J, obţinută la sfârşitul primei faze de lucru, aşa cum este prezentat principial în Figura 5.3.

J = Σ =

0

0

0

0

0

Fig. 5.3. Algoritmul descompunerii valorilor singulare: faza a II-a

Astfel, se regăsesc cele şapte etape de la algoritmul QR cu deplasare

explicită, algoritm prezentat în cadrul capitolului 4, după cum urmează.

Etapa 1 constă în determinarea deplasării μ . În cadrul algoritmului QR de aducere la forma canonică Schur, transformările ortogonale de asemănare s-ar fi aplicat, în cadrul fazei a doua, asupra matricei H, iar deplasarea s-ar fi ales de forma: . În cazul de faţă, şi atunci se alege: n,nh=μ JJH T ⋅=

nk1mi1k,i

2n,n

2n,1nn,n ]j[J,jjh

≤≤≤≤− =+==μ .

În cadrul etapei 2, se scade deplasarea μ din elementele de pe diagonala principală a matricei J, cu scopul măririi vitezei de convergenţă a algoritmului:

n,...,1i,jj i,ii,i − μ =← . atribuie

Etapele 3 şi 4 urmăresc zerorizarea elementelor supradiagonalei matricei J rezultate: 1n,...,1i,0j 1i,i −==+ . Pentru aceasta se folosesc matrice de rotaţie plană Givens, similar algoritmului QR pentru calculul formei canonice Schur. Principial, au loc transformările:

"1i,1i

"1i,i

"i,i)PJ(R

'1i,1i

'i,1i

'i,iPJ

1i,1i

1i,ii,i

j0jj

jj0j

j0jj

iii

++

+⋅⋅

+++

++

+ ⎯⎯⎯ →⎯⎯⎯→⎯ .

Matricea este o matrice de rotaţie plană Givens de forma: iP

Page 114: Carte Mn Letitia Mirea

5.3 Algoritmul SVD 145

nn

1in1)1in(1)1in()1i()1in(

)1in(1ii)1i(1

)1in(1ii)1i(1

)1in()1i(1)1i(1)1i(1i

i

I000

0cd00dc0

000I

P ×

−−×−−×−−−×−−

−−×−×

−−×−×

−−×−×−×−−

ℜ∈

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

−= ,

21i,i

2ii1i,ii

21i,i

2iiiii jj/jd,jj/jc +++ +=+= .

Matricea este o matrice de rotaţie plană Givens de forma: iR

mm

1im1)1im(1)1im()1i()1im(

)1im(1ii)1i(1

)1im(1ii)1i(1

)1im()1i(1)1i(1)1i(1i

i

I000

0ab00ba0

000I

R ×

−−×−−×−−−×−−

−−×−×

−−×−×

−−×−×−×−−

ℜ∈

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

−= ,

2'1i,i

2'ii

'1i,ii

2'1i,i

2'ii

'i,ii )j()j(/jb,)j()j(/ja +++ +=+= .

În final se obţine . Aceasta înseamnă că, în urma transformărilor aplicate în cadrul unei iteraţii a alogoritmului, nu se zerorizează elementul de pe supradiagonală, dar se obţine o valoare mai mică în modul decât a fost anterior. Aceasta se obţine deoarece forma superior Hessenberg este invariantă la algoritmul QR de obţinere a formei canonice Schur.

|j||j| 1i,i"

1i,i ++ <

În cadrul etapei 5 se reface deplasarea μ pe diagonala principală a matricei J, pentru a nu altera forma canonică pseudo-diagonală:

n,...,1i,jj i,ii,i + μ =← . atribuie

Etapa 6 constă în corecţia elementelor de pe supradiagonală. Aceste elemente se micşorează în modul după parcurgerea etapelor 2 şi 3 şi este posibil însă, datorită erorilor de rotunjire, ca ele să nu rezulte nule ci foarte mici în modul. Ca urmare, se aplică următorul test:

dacă |)j||j(||j| "1i,1i

"i,i

"1i,i +++ +⋅ε< atunci

⎡ atribuie 0j"1i,i ←+

Page 115: Carte Mn Letitia Mirea

146 5. Descompunerea valorilor singulare

Parametrul caracterizează precizia descompunerii. ε

În cadrul etapei 7 se realizează un test asupra matricei J pentru a vedea dacă aceasta este în forma canonică pseudo-diagonală:

dacă ( }1n,...,1{i −∈∃ pentru care 0j 1i,i ≠+ ) atunci⎡ * J nu este în forma canonică pseudo-diagonală ⎢ * reluare de la Etapa 1 ⎢altfel ⎢ atribuie J←Σ⎢ * stop algoritm ⎣

Tabloul general al transformărilor efectuate în faza a II-a este:

Σ=⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅ Σ−

Σ−−

ΣΣ− ]PP[]PP[J]RR[]RR[ ][

1n][

1]1[1n

]1[1

]1[1

]1[1n

][1

][1n ……………… .

În relaţia anterioară, reprezintă numărul iteraţiei în care s-a obţinut forma canonică pseudo-diagonală, cu precizia

][Σε . Notând cu R produsul de matrice

care înmulţeşte la stânga matricea J şi cu P produsul de matrice care înmulţeşte la dreapta matricea J, se obţine: Σ=⋅⋅ PJR .

Cele două matrice, U~ şi V~ , se obţin multiplicând matricele de transformare care se aplică asupra matricei iniţiale A, în cele două faze ale algoritmului SVD:

Σ=⋅⋅⋅⋅ PVAUR . (5.11)

Matricele U~ şi V~ sunt următoarele: URU~ T ⋅= şi PVV~ ⋅= ,

şi atunci relaţia (5.11) se scrie: Σ=⋅⋅ V~AU~ T .

Ordonarea descrescătoare a elementelor de pe pseudo-diagonala matricei Σ se realizează prin permutări adecvate de linii şi coloane. Astfel, permutările de coloane în matricea vor determina permutări de coloane în matricea Σ V~ . Permutările de linii în matricea Σ vor determina permutări de linii în matricea

TU~ sau, altfel spus, permutări de coloane în matricea U~ .

5.4 Aplicaţii ale descompunerii valorilor singulare

Fie matricea şi fie nmA ×ℜ∈ }n,mmin{q = , )A(rangr = . Rezultatul algoritmului de descompunere a valorilor singulare (SVD) este aducerea matricei A la forma canonică pseudo-diagonală. În urma calculelor efectuate,

Page 116: Carte Mn Letitia Mirea

5.4 Aplicaţii ale descompunerii valorilor singulare 147

rezultă matricea ca fiind un aproximant pentru forma canonică pseudo-diagonală exactă a matricei A:

ΣΣ Σ≅Σ .

Se demonstrează că, în urma aplicării algoritmului SVD, valorile singulare calculate şi valorile singulare exacte q,...,1i,ˆ i =σ q,...,1i,i =σ sunt în relaţia:

. Mărimea reflectă erorile de reprezentare ale datelor iniţiale (matricea A), precum şi erorile de calcul în virgulă mobilă. Această mărime poate fi calculată ca o funcţie de dimensiunea matricei A şi de precizia a maşinii.

'ii |ˆ| τ<σ−σ 'τ

Studiile referitoare la precizia matricei calculate, Σ , au condus la concluzia că această matrice coincide cu forma canonică pseudo-diagonală exactă a matricei A uşor perturbată, EAA += :

22EAA ||A||||E||,ˆ <<Σ≡Σ + .

Ca urmare, datorită transformărilor ortogonale folosite, valorile singulare obţinute sunt puţin sensibile la perturbaţii. Altfel spus, valorile singulare sunt bine condiţionate în raport cu perturbaţiile care afectează matricea A, anume erorile de reprezentare şi erorile datorate calculului în virgulă mobilă.

Principalele aplicaţii ale descompunerii valorilor singulare sunt:

a) calculul rangului unei matrice;

b) rezolvarea sistemelor de ecuaţii algebrice liniare în sensul celor mai mici pătrate generalizate;

c) rezolvarea sistemelor de ecuaţii algebrice liniare în sensul celor mai mici pătrate totale.

Acestea vor fi prezentate în cele ce urmează.

5.4.1 Calculul rangului unei matrice

În urma aplicării algoritmului SVD asupra matricei A, se obţin valorile singulare ale acesteia: 0ˆˆˆ q21 ≥σ≥≥σ≥σ … .

Definiţie:

Se numeşte rang efectiv sau numeric, notat cu , al matricei A, acel index pentru care are loc relaţia de ordine:

p

1

1p'

1

p

ˆˆ

ˆˆ

σ

σ>τ≥

σ

σ + , (5.12)

ceea ce este echivalent cu:

Page 117: Carte Mn Letitia Mirea

148 5. Descompunerea valorilor singulare

. (5.13) 1p'

1p ˆˆˆ +σ>τ⋅σ≥σ

Bibliotecile performante de programe consideră mărimea ca fiind egală cu: , unde reprezintă precizia maşinii de calcul.

m' }n,mmax{ ε⋅=τ mε

Mărimea ' se notează cu 1ˆ τ⋅σ τ . Rezultă, aşadar:

1m'

1 ˆ}n,mmax{ˆ σ⋅ε⋅=τ⋅σ=τ .

Folosind relaţia (5.13), rezultă următoarea relaţie de ordine:

0ˆˆˆˆ q1pp1 ≥σ≥≥σ>τ≥σ≥≥σ + …… .

Ca urmare, se consideră indexul p drept rang efectiv al matricei A, valorile drept valori singulare nenule şi

ˆp,...,1i,0ˆ i =≠σ q,...,1pi,0ˆ i +==σ drept

valori singulare nule. În acest fel, se corectează eventualele erori de reprezentare şi de calcul în virgulă mobilă. În consecinţă, norma euclidiană a matricei A este:

1max2 ˆˆ||A|| σ=σ= , iar numărul de condiţie este:

q1minmax2 ˆ/ˆˆ/ˆ)A(k σσ=σσ= . Astfel, dacă , numărul de condiţie este finit, iar dacă , atunci numărul de condiţie este infinit. În acest din urmă caz, matricea A este o matrice prost condiţionată.

qp = qp <

Aplicaţie:

Se subliniază faptul că modalitatea prezentată pentru determinarea rangului unei matrice reprezintă singurul procedeu sigur şi eficient pentru calculul automat al acestei mărimi. Această problemă are o deosebită importanţă în analiza şi sinteza sistemelor automate, atunci când sunt investigate proprietăţile structurale de controlabilitate şi observabilitate, pentru procese dinamice descrise prin modele bazate pe sisteme de ecuaţii diferenţiale ordinare, cu condiţii iniţiale. Principial, aceste modele sunt introduse în capitolul 8 al acestei lucrări.

Fără a intra în detalii care nu constituie obiectul cărţii de faţă, doar se menţionează această aplicaţie. Astfel, investigarea proprietăţilor structurale menţionate anterior necesită construirea unor matrice cu structură specială, urmată de către calculul rangului efectiv al acestora. În acest sens, se recomandă abordarea problemei propuse P5.9 aflată la finele acestui capitol.

Page 118: Carte Mn Letitia Mirea

5.4 Aplicaţii ale descompunerii valorilor singulare 149

5.4.2 Rezolvarea sistemelor de ecuaţii algebrice liniare în sensul celor mai mici pătrate generalizate

Fie sistemul de ecuaţii:

1n1mnm x,b,A,bxA ××× ℜ∈ℜ∈ℜ∈=⋅ , (5.14)

în care vectorul x trebuie determinat, cunoscând matricea sistemului A şi termenul liber b .

Dacă A este o matrice de rang complet, atunci sistemul are o pseudosoluţie în sensul celor maii mici pătrate: soluţia este unică pentru nm ≥ şi există o infinitate de pseudosoluţii dacă nm < .

Dacă A este o matrice deficientă de rang, atunci există o infinitate de pseudosoluţii. Pentru nm ≥ se poate determina pseudosoluţia de bază *

Bx apelându-se la triangularizarea ortogonală a matricei A şi pivotarea de coloane. Pentru cazul în care nm < , se pot alege )A(rangp = ecuaţii liniar independente, existând o infinitate de soluţii. Aceste aspecte au fost detaliate, corespunzător, în capitolul 3 al prezentei lucrări.

Descompunerea valorilor singulare oferă posibilitatea determinării unei pseudosoluţii unice, în sensul celor mai mici pătrate (generalizate), indiferent de rangul matricei A. Această pseusosoluţie se notează cu *

SVDx şi este caracterizată de următoarele proprietăţi:

• minimizează norma euclidiană a reziduului:

}||r{||minargxxAbr 22

x

*1n×ℜ∈

=⇒⋅−= ; (5.15)

• dacă există o infinitate de pseudosoluţii care satisfac (5.15), atunci se alege *

SVDx ca fiind pseudosoluţia cu norma euclidiană minimă:

}||x{||min||x|| 2*

x2

*SVD 1n* ×ℜ∈

= .

Aceasta se numeşte pseudosoluţie normală sau pseudosoluţie în sensul celor mai mici pătrate generalizate. Se demonstrează că 2

*B2

*SVD ||x||||x|| ≤ .

Teoremă:

Oricare ar fi matricea şi vectorul nmA ×ℜ∈ 1mb ×ℜ∈ , problema (5.14) are o soluţie unică, aceasta fiind pseudosoluţia normală obţinută pe baza descompunerii valorilor singulare.

Această pseudosoluţie se scrie: mn*SVD A,bAx ×++ ℜ∈⋅= , unde se

numeşte

+Apseudoinversă normală (Moore-Penrose) şi este egală cu:

Page 119: Carte Mn Letitia Mirea

150 5. Descompunerea valorilor singulare

∑=

−+

σ⋅

=⋅Σ⋅=p

1i i

TiiT

11

11u~v~

U~V~A .

Ca urmare, pseudosoluţia este:

bu~v~

xp

1i i

Tii*

SVD ⋅⎟⎟⎠

⎞⎜⎜⎝

σ⋅

= ∑=

.

Demonstraţia teoremei porneşte de la ecuaţia (5.14) care este înmulţită la stânga cu matricea TU~ din descompunerea valorilor singulare a matricei A. În plus, se inserează produsul n

T IV~V~ =⋅ , rezultând:

bU~xV~V~AU~ TTT ⋅=⋅⋅⋅⋅ . (5.16) Dar Σ=⋅⋅ V~AU~ T şi atunci ecuaţia (5.16) devine:

dy =⋅Σ , (5.17)

unde xV~y T ⋅= şi bU~d T ⋅= . Matricea Σ are forma generală:

},,{diag,, p11pp

1

)pn()pm(p)pm(

)pn(p1

σσ=Σℜ∈Σ⎥⎥⎥

⎢⎢⎢

⎡ Σ=Σ ×

−×−×−

−×

…00

0.

Scriind vectorul 1)pn(T22

1pT11

2

1xV~y,xV~y,

y

yy ×−× ℜ∈⋅=ℜ∈⋅=

⎥⎥⎥

⎢⎢⎢

= şi

vectorul 1)pm(T22

1pT11

2

1

bU~d,bU~d,d

dd ×−× ℜ∈⋅=ℜ∈⋅=

⎥⎥⎥

⎢⎢⎢

⎡= , atunci ecuaţia

(5.17) devine:

1)pn(2

2

1

1)pm(

11

2

1

2

1

)pn()pm(p)pm(

)pn(p1

y,d

d

0

y

d

d

y

y×−

×−−×−×−

−×

ℜ∈∀⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

⎡ ⋅Σ⇒

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

⋅⎥⎥⎥

⎢⎢⎢

⎡ Σ

00

0.

Pseudosoluţia în sensul celor mai mici pătrate se obţine minimizând norma euclidiană a reziduuluui. Astfel, ţinând cont de faptul că matricea U~ este ortogonală şi, în consecinţă, păstrează norma euclidiană vectorială, se obţine:

.||d||||yd||||yd||

||xV~V~AU~bU~||||)xAb(U~||||rU~||||r||222

22111

22

22

TTT22

T22

T22

+⋅Σ−=⋅Σ−=

⋅⋅⋅⋅−⋅=⋅−⋅=⋅=

Page 120: Carte Mn Letitia Mirea

5.4 Aplicaţii ale descompunerii valorilor singulare 151

În general pm2 0d −≠ , deci 0||d|| 222 ≠ şi atunci singura minimizare posibilă

este: 1

*11p

*111

22

*111 dy0yd0||yd|| =⋅Σ⇒=⋅Σ−⇒=⋅Σ− . (5.18)

Din ecuaţia (5.18) se obţine soluţia: bU~dy T111

11

*1

⋅⋅Σ=⋅Σ= −− .

Dar, conform notaţiilor făcute anterior, se obţine:

1)pn(2

2

*1

**T y,y

yV~yV~xyxV~ ×−ℜ∈∀

⎥⎥⎥

⎢⎢⎢

⋅=⋅=⇒=⋅ .

Aşadar, există o infinitate de pseudosoluţii care minimizează mărimea 22||r|| .

Un criteriu de alegere a unei pseudosoluţii unice este acela ca =22

* ||x|| minim. Ţinând cont că matricea V~ este ortogonală, se obţine:

222

22

*1

22

*22

*T22

* ||y||||y||||y||||xV~||||x|| +==⋅= .

În general, pT1

1*1

0bU~y ≠⋅⋅Σ= − şi atunci singura minimizare posibilă este

0||y|| 22

*2

= , adică pn*2

0y −= . Atunci pseudosoluţia normală este:

.bu~v~

bU~V~

0

bU~

]V~V~[yV~x

p

1i i

Tii

T1

111

pn

T1

11

21*SVD

*SVD

∑=

⋅⎟⎟⎠

⎞⎜⎜⎝

σ⋅

=

=⋅⋅Σ⋅=⎥⎥⎥

⎢⎢⎢

⎡ ⋅⋅Σ⋅=⋅=

Definiţie:

Oricare ar fi matricea , matricea se numeşte nmA ×ℜ∈ mnX ×ℜ∈pseudoinversă Moore-Penrose dacă satisface următoarele condiţii: (i) AAXA =⋅⋅ ; (ii) XXAX =⋅⋅ ; (iii) XA ⋅ este o matrice simetrică; (iv) AX ⋅ este o matrice simetrică.

Observaţii:

1. Dacă A este o matrice de rang complet şi nm = , atunci 1AX −= . 2. Dacă A este o matrice de rang complet şi nm > , atunci LXX = se numeşte

pseudoinversă la stânga: T1TL

nL A)AA(X,IAX ⋅⋅==⋅ − .

Page 121: Carte Mn Letitia Mirea

152 5. Descompunerea valorilor singulare

3. Dacă A este o matrice de rang complet şi nm < , atunci RXX = se numeşte pseudoinversă la dreapta:

1TTRm

R )AA(AX,IXA −⋅⋅==⋅ . 4. Dacă A este o matrice deficientă de rang, atunci X este pseudoinversa

Moore-Penrose:

∑=

−+

⎟⎟⎠

⎞⎜⎜⎝

σ⋅

=⋅Σ⋅==p

1i i

TiiT

11

11u~v~

U~V~AX .

În acest ultim caz sunt îndeplinite condiţiile (ii) ÷ (iv) din definiţia anterioară, condiţia (i) devenind:

'2||AAXA|| τ≤−⋅⋅ ,

în care este mărimea care caracterizează calitatea descompunerii valorilor singulare, cum este prezentat în paragraful anterior.

Pentru rezolvarea sistemelor de ecuaţii algebrice în sensul celor mai mici pătrate, se poate formula următoarea interpretare generală. Fie sistemul:

bxA =⋅ , în care matricea A este “matricea de date” şi b este “vectorul de observaţii”. Pseudosoluţia în sensul celor mai mici pătrate a acestui sistem se obţine minimizând norma euclidiană la pătrat a reziduului asociat: 2

2||r|| . Aceasta înseamnă că, de fapt, sistemul de ecuaţii exact care se rezolvă este:

brxA =+⋅ . Notând re = se obţine: bexA =+⋅ , unde vectorul e este numit eroare de ecuaţie, acest vector urmărindu-se a se minimiza în normă euclidiană. O astfel de abordare caracterizează clasa metodelor care găsesc soluţia x pe baza erorii de ecuaţie, metode care intervin în identificarea sistemelor dinamice (a se vedea Exemplul 3.1). Aşadar, se poate scrie: ebxA −=⋅ . Notând

eb −=Δ , atunci se obţine: bbxA Δ+=⋅ . În concluzie, soluţia în sensul celor mai mici pătrate *

CMMPx se determină minimizând mărimea 2

2||b|| Δ . Aceasta reprezintă, de fapt, funcţia criteriu: 22CMMP ||b||J Δ= .

Altfel spus, matricea A şi termenul liber b conţin date achiziţionate în urma unor experimente. Soluţia în sensul celor mai mici pătrate se găseşte minimizând suma pătratelor perturbaţiilor (abaterilor) în vectorul observaţiilor b , considerând implicit că matricea de date A este exactă.

Exemplul 5.2:

Se prezintă o ilustrare geometrică intuitivă pentru cazul 1n = . Astfel, având setul de date , se găseşte necunoscuta x astfel încât şirul de date să

fie aproximat de către dreapta din plan: m,...,1iii )b,a( =

axb ⋅= . Pseudosoluţia găsită *CMMPx

Page 122: Carte Mn Letitia Mirea

5.4 Aplicaţii ale descompunerii valorilor singulare 153

defineşte, astfel, dreapta care aproximează în sensul celor mai mici pătrate setul de date experimentale , aşa cum este arătat în Figura 5.4. m,...,1iii )b,a( =

2i

2i

i

2iCMMP

be

mineJ

Δ=

== ∑b

a

ei

(ai, bi)iii bbb~ =Δ+

ib~?x)(tg

xab==θ

⋅=

ii aa~ =

θ

Fig. 5.4. Aproximarea în sensul CMMP: minimizarea sumei pătratelor

abaterilor pe verticală Mai mult, se poate realiza o interpretare geometrică generalizată, aşa cum

este ilustrat în Figura 5.5.

b

*r

*b

1a

2a

Im(A)

***21

bxA)AIm(b

]aa[AbxA

=⋅⇔∈

==⋅

Fig. 5.5. Interpretare geometrică generalizată a aproximării în sensul CMMP

Page 123: Carte Mn Letitia Mirea

154 5. Descompunerea valorilor singulare

Astfel, metoda celor mai mici pătrate conduce la o soluţie care verifică, în fapt, ecuaţia: ** bxA =⋅ . (5.19) Metoda încearcă să găsească cea mai bună aproximaţie *b a vectorului b , care să verifice ecuaţia (5.19). Aceasta se întâmplă dacă şi numai dacă )AIm(b* ∈ ,

*b fiind proiecţia vectorului b pe subspaţiul imagine al matricei A. Concluzia finală care se desprinde este aceea că soluţia în sensul celor mai

mici pătrate este găsită prin proiectarea termenului liber b pe subspaţiul imagine şi apoi se rezolvă sistemul compatibil )AIm( (5.19). Aici, vectorul *b este o combinaţie liniară de coloanele (liniar independente ale) matricei A.

Page 124: Carte Mn Letitia Mirea

Capitolul 6 ECUAŢII ŞI SISTEME DE ECUAŢII ALGEBRICE

NELINIARE

6.1 Formularea problemei

Se consideră ecuaţia vectorială:

)(D,D,DD:f,0)x(f 1n1n2121n

××ℜ⊆→= C , (6.1)

în care Tn1 ]xx[x …= , T

n1nn11 ])x,...,x(f)x,...,x(f[)x(f …= .

Problema constă în determinarea uneia sau a mai multor soluţii ale ecuaţiei (6.1). Se notează cu α o astfel de soluţie: n

Tn1 0)(f,][ =ααα=α … .

Funcţiile n,...,1i),x(f i = sunt, în general, o compunere de funcţii elementare în argumentele , funcţii de tip polinomial, trigonometric sau transcendent (exponenţiale, logaritmi). În continuare, se foloseşte pentru acest tip de problemă, termenul de funcţie sau ecuaţie neliniară.

n,...,1i,x i =

Dacă 1 , atunci relaţia n = (6.1) se reduce la o ecuaţie neliniară: , în care f este o funcţie scalară, neliniară. Dacă 2 , atunci relaţia

0)x(f =n ≥ (6.1) reprezintă

un sistem de ecuaţii neliniare. Un număr considerabil de modele matematice asociate fenomenelor fizice

din lumea înconjurătoare se reduc, în anumite condiţii, la o ecuaţie neliniară de tipul (6.1).

Exemplul 6.1:

Se consideră un sistem dinamic a cărui comportare este descrisă de modelul neliniar, continuu de timp:

⎪⎩

⎪⎨

=−⋅−−⋅==−⋅−−⋅=

=⋅+−⋅−=

))t(u),t(x),t(x),t(x(fH)t(xb)t(x)t(xbdt/)t(dx))t(u),t(x),t(x),t(x(f)t(x)t(xb)t(x)t(xbdt/)t(dx

))t(u),t(x),t(x),t(x(f)t(u)Q/1()t(x)t(xbdt/)t(dx

32133323

321232212

3211211

,

unde fiind variabila timp. Se consideră ) drept mărime de intrare, cunoscută. Se consideră , şi drept mărimi de ieşire, satisfăcând la relaţia de ordine: . Acest model se

0t,H,Q,b,t ≥ℜ∈ t(u)t(x1 )t(x 2 )t(x 3

)t(x)t(x)t(x 321 >>

Page 125: Carte Mn Letitia Mirea

180 6. Ecuaţii şi sisteme de ecuaţii neliniare

scrie sub formă vectorială:

T321 ])t(x)t(x)t(x[)t(x)),t(u),t(x(fdt/)t(xd == . (6.2)

Se consideră că la momentul 0t 0 = sistemul este în stare iniţială:

30 0)t(x = . (6.3)

Aplicându-se un semnal de tip treaptă la intrarea sistemului, , , după un anumit interval de timp, cele trei mărimi

de ieşire au valori nemodificate, ceea ce înseamnă că s-a atins regimul staţionar de funcţionare. Ecuaţia diferenţială

constantU)t(u == 0t >

(6.2) cu condiţia iniţială (6.3) devine:

Ts,3s,2s,1s3s ]xxx[x,0)U,x(f == . (6.4)

Pentru a determina punctul de echilibru sx , se rezolvă sistemul de ecuaţii neliniare de ordinul trei, (6.4), de tipul (6.1), în care componentele

3,2,1i),x(f i = sunt obţinute din (6.2), unde se înlocuieşte cu mărimea constantă U.

)t(u

Metodele numerice pentru rezolvarea problemei (6.1) sunt, în general, metode iterative. Acestea pornesc de la un punct de start:

T]0[n

]0[1

]0[ ]xx[x …= , care se recomandă a fi într-o vecinătate a soluţiei α :

1p1 D}0h,h||x||/Dx{V ⊂>≤α−∈=α , unde reprezintă notaţia pentru o normă vectorială uzuală p. În continuare,

se construieşte un şir de aproximaţii, convergent către soluţia adevărată a ecuaţiei:

p|||| ⋅

α=∞→≥

]k[

k0k]k[ xlim,}x{ sau 0||x||lim p

]k[

k=α−

∞→.

Definiţie:

Se numeşte formulă de iterare sau şir de iterare (de rang k şi ordin m) o relaţie de recurenţă de forma:

km1,Vx),x,,x,x,k(gx ]0[]mk[]2k[]1k[]k[ ≤≤∈= α−−− … . (6.5)

În general, funcţia g este neliniară. Aceasta depinde de funcţia f din ecuaţia (6.1), depinde în mod explicit de rangul k al termenilor din şir şi de m estimaţii anterioare ale soluţiei.

Dacă funcţia g nu depinde în mod explicit de rangul k al termenilor din şir, atunci relaţia (6.5) se numeşte formulă de iterare staţionară de ordinul m. Uzuale sunt metodele iterative care folosesc formule staţionare de ordin m 1= :

Page 126: Carte Mn Letitia Mirea

6.1 Formularea problemei 181

)x(gx ]1k[]k[ −= . (6.6)

Propoziţie:

O metodă iterativă de tipul (6.6) se spune că este convergentă pe domeniul αV , dacă oricare ar fi α∈Vy,x , există )1,0(∈λ astfel încât, într-o normă

vectorială oarecare p, aplicaţia g îndeplineşte relaţia:

pp ||yx||||)y(g)x(g|| −⋅λ≤− .

Altfel spus, aplicaţia g este o contracţie pe domeniul αV .

Ca urmare, pentru rezolvarea problemei (6.1), trebuie determinate următoarele: o modalitate de alegere a funcţiei g , precum şi o modalitate de

alegere a punctului de start ]0[x , astfel încât şirul de aproximaţii dat de relaţia (6.6) să fie convergent.

Ca soluţie generală pentru acest tip de problemă, de regulă ecuaţia (6.1) se rescrie sub forma:

)x(gx = ,

în sensul că )(g0)(f α=α⇔=α . Altfel spus, soluţia α este un punct fix pentru aplicaţia g .

În general, modul de alegere a funcţiei g , convergenţa şirului de iterare

(6.6), existenţa şi unicitatea soluţiei calculate sunt garantate, în anumite condiţii, de teorema de punct fix pentru funcţiile de tip contracţie.

Convergenţa şi precizia soluţiei calculate în virgulă mobilă

În aritmetica virgulei mobilei trebuie să se reprezinte atât vectorul aproximant ]k[x , cât şi valoarea funcţiei g în argumentul corespunzător.

Aceasta face ca, de fapt, să se calculeze ]k[x astfel:

]k[]1k[]1k[]1k[]k[ e)x(g)x(G),x(Gx +== −−− , (6.7)

unde ]k[e reprezintă eroarea de reprezentare în virgulă mobilă la iteraţia [k]. Aceasta cuprinde eroarea comisă la reprezentarea aproximativă a lui ]1k[x − , erorile datorate evaluării aplicaţiei g , precum şi eroarea de reprezentare a

rezultatului )x(g ]1k[ − . Eroarea totală este în general necunoscută, cel mult

Page 127: Carte Mn Letitia Mirea

182 6. Ecuaţii şi sisteme de ecuaţii neliniare

putându-se estima un majorant al ei: ε<p]k[ ||e|| .

Convergenţa şirului (6.7) este greu de precizat, în general. Cel mult, în anumite condiţii, se va obţine o soluţie aproximativă a ecuaţiei (6.1), caracterizată de o anumită eroare impusă, deci conştientizată.

Pentru a ilustra aceste concepte generale, în cele ce urmează se consideră , cazul unei ecuaţii neliniare. În plus, se presupune că, pe un interval , funcţia f este o funcţie de clasă (continuă şi derivabilă, cu derivată

continuă) şi că pe acest interval funcţia f îşi schimbă semnul. Conform consecinţei teoremei lui Rolle, rezultă că există un număr

1n =]b,a[ 1

]b,a[C

)b,a(∈α astfel încât . La 0)(f =α rezolvarea numerică a ecuaţiei neliniare 0)x(f = , pot apare

următoarele situaţii:

a.) Soluţia adevărată nu aparţine mulţimii F, care reprezintă sistemul de numere în virgulă mobilă.

α

În acest caz, se află între două numere consecutive . Astfel, soluţia adevărată nu va fi niciodată găsită de către metoda numerică şi atunci ceea ce se poate realiza este găsirea unui interval

α Fc,c 21 ∈

]ba[][ ⊂δβ , cât mai mic posibil, unde funcţia f îşi schimbă semnul. În practică, impunând o anumită precizie asupra soluţiei α , se spune că şirul iterativ (6.6) converge cu precizia xε dacă la un index al iterării [s], este îndeplinită condiţia: )(x|xx| xsx1ss ε=α⇒ε≤−

0

. −

b.) Soluţia adevărată aparţine mulţimii numerelor în virgulă mobilă F, dar datorită erorilor de calcul

α)(f ≠α .

În această situaţie, se acceptă soluţia aproximativă , obţinută la iteraţia [s] cu eroarea , dacă

sx

fε fs |)x(f| ε≤ .

De regulă, cele două criterii de stop se combină, parametrii şi alegându-se în funcţie de natura aplicaţiei şi/sau de ordinul de mărime al preciziei maşinii de calcul.

xε fε

În cazul rezolvării numerice a unui sistem de ecuaţii neliniare, se obţine următorul criteriu general de stop al metodei iterative: impunând xε şi fε , se

consideră drept soluţie a ecuaţiei (6.1), ]s[x=α , dacă este îndeplinită condiţia:

xp]1s[]s[ ||xx|| ε≤− − sau fp

]s[ ||)x(f|| ε≤ .

6.2 Rezolvarea ecuaţiilor algebrice neliniare

Page 128: Carte Mn Letitia Mirea

6.2 Rezolvarea ecuaţiilor algebrice neliniare 183

Se consideră ecuaţia algebrică neliniară:

0)x(f = . (6.8)

Fie α o soluţie exactă a ecuaţiei (6.8) şi fie o vecinătate a acesteia: αVℜ∈α>≤α−=α h,},0h,h|x|/x{V .

Se prezintă în cele ce urmează, câteva dintre cele mai reprezentative metode numerice de rezolvare a unei ecuaţii algebrice neliniare.

6.2.1 Metoda iterării

Ecuaţia (6.8) se rescrie, prin rearanjare convenabilă, sub forma:

)x(gx = . (6.9)

Exemplul 6.2:

Se consideră ecuaţia: . Rezultă: . Această funcţie este continuă şi derivabilă. În plus

xe)xsin(x3 =+⋅ xe)xsin(x3)x(f −+⋅=0)0(f < şi . Rezultă

că în vecinătatea funcţia f se anulează. Ecuaţia se poate rescrie sub una din formele:

0)1(f >

]1,0[ xe)xsin(x3 =+⋅

3)xsin(ex

x −= , deci

3)xsin(e)x(g

x −= ,

))xsin(x3ln(x +⋅= , deci ))xsin(x3ln()x(g +⋅= . Revenind la cazul general, plecând de la o estimaţie iniţială , se

obţine un şir de aproximaţii ale soluţiei necunoscute α∈Vx 0

α , astfel: , , ... sau, în general:

)x(gx 01 =)x(gx 12 =

...,1,0k),x(gx k1k ==+ (6.10)

în care este cunoscut (precizat). α∈Vx 0

Algoritmul care descrie metoda iterării pentru rezolvarea ecuaţiei neliniare (6.8) este următorul:

* defineşte funcţiile f şi g citeşte fx , εε citeşte 0xatribuie 0n xx ←atribuie flag 1← cât timp ( 1) flag = execută⎡ atribuie nv xx ←

Page 129: Carte Mn Letitia Mirea

184 6. Ecuaţii şi sisteme de ecuaţii neliniare

⎢ atribuie )x(gx vn ←⎢ dacă ( xvn |xx| ε≤− ) sau ( fn |)x(f| ε≤ ) atunci⎢ ⎡ atribuie 0flag ←⎢ ⎣ ⎣ scrie ‘soluţie x = ’, nxscrie ‘f(x) = ‘, )x(f n

În funcţie de alegerea funcţiei g, acest algoritm poate avea viteze diferite de convergenţă sau, plecând de la un punct de start din vecinătatea unei soluţii, algoritmul poate fi convergent către o altă soluţie a ecuaţiei neliniare sau poate fi divergent.

O modalitate de a determina o vecinătate a soluţiei este reprezentarea grafică a funcţiei , pentru diverse intervale în care argumentul x poate lua valori. În acest caz, vecinătatea unei soluţii a ecuaţiei neliniare

)x(fy =(6.8) este

reprezentată de un interval în care funcţia f îşi schimbă semnul (o singură dată). O altă modalitate de determinare a vecinătăţii unei soluţii se bazează pe

reprezentarea grafică a funcţiilor xy = şi )x(gy = în acelaşi sistem de coordonate. În acest caz, vecinătatea soluţiei este reprezentată de un interval în care x ia valori, în care există doar un punct de intersecţie între cele două grafice.

Pentru a asigura convergenţa metodei iterării, este necesar un criteriu de alegere a funcţiei g, deci a formulei de iterare. Se enunţă următoarea condiţie suficientă de convergenţă.

Propoziţie:

Fie ecuaţia neliniară (6.8), rescrisă sub forma (6.9), care admite soluţia . Fie o vecinătate a soluţiei. Dacă oricare ar fi

ααV α∈Vx este îndeplinită

condiţia: 1c|)x(g| <≤′ , (6.11)

atunci şirul , definit de α≥ ∈Vx,}x{ 00kk (6.10), converge către soluţia pentru

α∞→k .

Demonstraţia acestui rezultat cuprinde următoarele elemente. Pentru început, se utilizează teorema Lagrange a valorii medii a derivatei unei funcţii. Conform acesteia, există un punct dintr-un interval , peste care o funcţie h este continuă şi derivabilă, în care tangenta la graficul funcţiei

)b,a()x(hy = este

paralelă cu dreapta determinată de punctele de coordonate şi

))a(h,a( ))b(h,b( .

Page 130: Carte Mn Letitia Mirea

6.2 Rezolvarea ecuaţiilor algebrice neliniare 185

Astfel, se consideră ecuaţia (6.8), rescrisă sub forma (6.9), şi formula de iterare (6.10). Soluţia îndeplineşte condiţia de punct fix pentru aplicaţia g:

. Atunci, eroarea comisă la iteraţia α

)(g α=α ]1k[ + este:

)x(x

)(g)x(g)(g)x(gxe 1k

1k

kk1k1k α−⋅

α−α−

=α−=α−= ++

++ . (6.12)

Dar k1k ex =α−+ şi aplcând teorema Lagrange amintită, există un punct , astfel ca ),x( kk α∈ξ )x/()](g)x(g[)(g kkk α−α−=ξ′ , dacă funcţia g este

continuă şi derivabilă pe intervalul ),x( k α . Relaţia (6.12) devine:

kk1k e)(ge ⋅ξ′=+ . (6.13)

Mai departe, se consideră îndeplinită condiţia (6.11), într-o vecinătate a soluţiei considerate. În aceste condiţii, se afirmă că dacă estimaţia iniţială

, atunci şi estimaţiile următoare aparţin lui şi

. α∈Vx 0 …… ,x,,x k1 αV

α⎯⎯ →⎯ ∞→kkxÎntr-adevăr, plecând de la relaţia (6.13) şi folosind (6.11), se obţine:

|e|c|e|c|e|c|e||)(g||e| 01k

1k2

kkk1k ⋅≤≤⋅≤⋅≤⋅ξ′= +−+ … .

Dar şi deoarece 0|e| 0 ≠ 0c k1k ⎯⎯ →⎯ ∞→+ 1c0 << . Aşadar, . 0|e| k1k ⎯⎯ →⎯ ∞→+

Observaţii:

1. De multe ori este greu de evaluat derivata funcţiei g pentru a constata îndeplinirea condiţiei (6.11). Practic, se poate verifica aceasta pe baza şirului de valori . Astfel, ţinând cont de relaţia de recurenţă …,x,x 10 (6.10), dacă sunt îndeplinite condiţiile: …>−>− |xx||xx| 1201 , atunci rezultă că funcţia g este o contracţie.

2. Dacă , este posibil ca şirul de aproximaţii ale soluţiei să fie divergent.

1|)x(g| ≥′

În funcţie de alegerea funcţiei g, pot exista mai multe tipuri de convergenţă a şirului (6.10), descrise în continuare.

a) Dacă 1)x(g0 <′< , atunci şirul de aproximaţii, obţinut cu relaţia de recurenţă (6.10), este monoton convergent (relaţia (6.13)). Acest caz este prezentat principial în Figura 6.1.

Page 131: Carte Mn Letitia Mirea

186 6. Ecuaţii şi sisteme de ecuaţii neliniare

y

x

xy =

)x(gy =

x0 x1 x2 α ...

110 yx)x(g ==

221 yx)x(g ==

Fig. 6.1 Proces iterativ (monoton) convergent, 1)x(g0 <′<

b) Dacă 0)x(g1 <′<− , atunci şirul de aproximaţii obţinut cu relaţia de

recurenţă (6.10) este oscilant convergent. Ţinând cont de relaţia (6.13), erorile de aproximare a soluţiei alternează ca semn de la o iteraţie la alta şi se micşorează în modul. Acest caz este prezentat principial în Figura 6.2.

y

x

xy =

)x(gy =

x0 x1 x2 ... α ...

110 yx)x(g ==

221 yx)x(g ==

Fig. 6.2 Proces iterativ (oscilant) convergent, 0)x(g1 <′<−

c) dacă , atunci şirul de aproximaţii obţinut cu relaţia de recurenţă 1|)x(g| ≥′

(6.10) poate fi divergent, situaţie ilustrată în Figura 6.3.

Page 132: Carte Mn Letitia Mirea

6.2 Rezolvarea ecuaţiilor algebrice neliniare 187

y

x

xy =)x(gy =

110 yx)x(g ==

x0 x1 x2 α

221 yx)x(g ==

Fig. 6.3 Proces iterativ divergent, 1|)x(g| ≥′

Se demonstrează că eroarea la iteraţia [k] poate fi majorată:

)1,0(,1

|xx||e|k

01k ∈λλ−

λ⋅−≤ , (6.14)

unde . Convergenţa este rapidă dacă mărimea |})x(g{|supVx

′=λα∈

)5.0,0(∈λ .

Inegalitatea (6.14) poate fi utilizată pentru a estima numărul minim de iteraţii pentru care eroarea de aproximare se înscrie într-o anumită precizie

impusă: . Astfel, din relaţia ε≤|e| k ε≤λ−

λ⋅−1

|xx|k

01 rezultă, prin

logaritmare, în cazul egalităţii, valoarea celui mai apropiat întreg superior . minkk =

Definiţie:

O metodă iterativă se spune că este convergentă, având ordinul de convergenţă d, dacă este îndeplinită condiţia:

0ttanconse

elim d

k

1k

k≠=+

∞→.

Page 133: Carte Mn Letitia Mirea

188 6. Ecuaţii şi sisteme de ecuaţii neliniare

6.2.2 Metoda Newton (metoda tangentei)

Dacă funcţia f, care apare în membrul stâng al ecuaţiei neliniare (6.8), îndeplineşte anumite condiţii, atunci metoda Newton, denumită şi metoda tangentei, se dovedeşte a fi cea mai rapidă din clasa metodelor iterative. Principiul acestei metode este ilustrat în Figura 6.4.

y

x

)x(fy =

xk xk+1 ... α ...

(Tk)

[xk, f(xk)](Tk)∩(0x)={[xk+1, 0]}

Fig. 6.4 Metoda Newton: reprezentare principială

Fie elementul din şirul de aproximaţii obţinut la iteraţia [k]. Ecuaţia

tangentei (Tkx

k) la graficul funcţiei )x(fy = , dusă în punctul , este: )}x(f,x{ kk

)xx()x(f)x(fy kkk −⋅′=− . Intersecţia tangentei (Tk) cu axa absciselor (0x) este punctul de coordonate

. Acesta furnizează următorul element al şirului de apromixaţii. Punctul verifică ecuaţia tangentei:

)0,x( 1k+

)0,x( 1k+

0)x(f,)x(f)x(f

xx)xx()x(f)x(f0 kk

kk1kk1kkk ≠′

′−=⇒−⋅′=− ++ .(6.15)

Încadrând formula de iterare (6.15) în metoda iterării, corespunzător, funcţia este: )x(g

)x(f)x(fx)x(g

′−= . (6.16)

Ca urmare, se poate imagina un algoritm care să se încadreze în algoritmul general descris la metoda iterării. Acesta trebuie să conţină următoarele:

atribuie nv xx ←

Page 134: Carte Mn Letitia Mirea

6.2 Rezolvarea ecuaţiilor algebrice neliniare 189

dacă şi ]0)x(f[ v ≠ ]0)x(f[ v ≠′ atunci⎡ atribuie )x(f/)x(fxx vvvn ′−← ⎣

Sunt, astfel, implementate relaţiile de iterare Newton:

⎩⎨⎧

==′≠′′−

=+ 0)x(f)x(f,x0)x(f),x(f/)x(fx

xkkk

kkkk1k .

Rezultă că aplicarea acestui algoritm necesită existenţa şi definirea funcţiei f şi a derivatei acesteia, f . ′

Metoda Newton fiind o metodă iterativă, convergenţa acesteia este asigurată dacă:

α∈∀<′ Vx,1|)x(g| .

Astfel, derivând relaţia (6.16), se obţine:

22

2

)]x(f[)x(f)x(f

)]x(f[)x(f)x(f)]x(f[1)x(g

′′′⋅

=′

′′⋅−′−=′ . (6.17)

Aşadar, dacă este îndeplinită condiţia: , atunci metoda Newton converge. Această condiţie implică existenţa derivatelor de ordin întâi şi doi ale funcţiei şi, de asemenea, faptul că

α∈∀<′′′⋅ Vx,1|)]x(f/[)x(f)x(f| 2

)x(f

α∈∀≠′ Vx,0)x(f . Din relaţia (6.17) şi ţinând cont de faptul că soluţia ecuaţiei neliniare are

proprietatea de punct fix pentru funcţia de iterare, , rezultă că: )x(g

0)](f[

)(f)(f)(g),(g 2 =α′

α′′⋅α=α′α=α ,

deoarece . 0)(f =αDezvoltând funcţia în serie Taylor în jurul punctului )x(g k α , se obţine:

),x(,)x(2

)(g)x()(g)(g)x(g k2

kkk α∈ξα−⋅ξ′′

+α−⋅α′+α= .

Ţinând cont de faptul că: )x(gx k1k =+ şi 0)(g =α′ , rezultă că:

. (6.18) 2k1k )x()(g)2/1(x α−⋅ξ′′⋅=α−+

Dar şi α−= ++ 1k1k xe α−= kk xe . Atunci relaţia (6.18) devine:

2k1k e)(g)2/1(e ⋅ξ′′⋅=+ .

Cele prezentate până acum conduc la enunţarea următorului rezultat.

Page 135: Carte Mn Letitia Mirea

190 6. Ecuaţii şi sisteme de ecuaţii neliniare

Teoremă:

Fie ecuaţia neliniară (6.8) care admite soluţia α . Fie o vecinătate a

acestei soluţii. Dacă f este o funcţie de clasă , cu αV

2VCα

0)(f =α , dar

şi dacă oricare ar fi sunt îndeplinite relaţiile: şi , atunci şirul de aproximaţii corespunzător metodei Newton, definit de relaţia

0)(f ≠α′

α∈Vx 1|)]x(f/[)x(f)x(f| 2 <′′′⋅0)x(f ≠′

(6.15), este convergent. În plus:

=α′α′′⋅=+∞→)](f/)(f[)2/1()e/e(lim 2

k1kk constant 0≠ .

Se poate demonstra că dacă metoda Newton se poate aplica, atunci aceasta are ordinul de convergenţă doi. Practic, aceasta înseamnă că la fiecare iteraţie numărul de cifre zecimale exacte ale soluţiei se dublează. Însă, convergenţa metodei depinde critic de alegerea punctului de start . Astfel, dacă nu se găseşte într-o vecinătate (imediată) a soluţiei, atunci este posibil ca metoda să nu conducă la soluţie. Exemplul ilustrat în Figura 6.5 se referă la situaţia în care metoda Newton se blochează în jurul unui punct de minim local al funcţiei

. Din acest motiv, metoda Newton se foloseşte, de regulă, ca o procedură terminală, primele estimaţii ale soluţiei fiind determinate cu o metodă, în general, mai lentă.

0x 0x

)x(f

y

x

)x(fy =

x1x0α x2 x3.....

Fig. 6.5 Metoda Newton: proces iterativ care nu converge către soluţia α

Dacă soluţia este de multiplicitate p, atunci se foloseşte următoarea relaţie de recurenţă:

)x(f)x(f

pxxk

kk1k ′

⋅−=+ . (6.19)

Practic, calculele se organizează astfel:

Page 136: Carte Mn Letitia Mirea

6.2 Rezolvarea ecuaţiilor algebrice neliniare 191

• primele estimaţii se calculează cu relaţia:

)x(f)x(f

xx1k

1k1kk

−− ′−= ,

calculându-se şi mărimea: )x(f)x(f)]x(f[

)]x(f[)x(F

kk2

k

2k

k ′′⋅−′′

= ;

• corespunzător unui index de iterare [j], când acesta există, pentru care este satisfăcută relaţia:

0p,p,4j,3j,2j,1j,ji,|p)x(F| i >∈++++=ε≤− Z , atunci întregul p reprezintă multiplicitatea soluţiei şi se comută pe relaţia (6.19).

Altfel spus, dacă mărimea F diferă de un număr întreg, p, cu o eroare de pentru valori ale estimaţiilor date de , atunci acesta

este un semn că soluţia este de multiplicitate p. Mai mult, dacă se face media ultimelor p valori din şirul de aproximaţii ale soluţiei, se obţine:

)10(10 21 −−=ε 53 ÷ kx

1kk1pk x

pxx

++− =

++…,

practic dublându-se numărul cifrelor exacte ale aproximaţiei faţă de numărul de cifre exacte ale aproximaţiei anterioare .

1kx +

kx

6.2.3 Metoda secantei (metoda interpolării liniare inverse)

Metoda secantei sau a interpolării liniare inverse reprezintă un caz particular al metodei Newton. Astfel, pornind de la relaţia de recurenţă care caracterizează metoda Newton:

)x(f)x(f

xxk

kk1k ′−=+ ,

unde f este o funcţie de clasă pe o vecinătate a soluţiei , şi aproximând

derivata prin

2VCα αV

)x(f k′1kk

1kk

xx)x(f)x(f

−−

, se obţine:

...,2,1k,

xx)x(f)x(f

)x(fxx

1kk

1kk

kk1k =

−−

−=

−+ , (6.20)

unde sunt puncte de start, precizate. Principiul metodei este ilustrat în Figura 6.6.

10 x,x

Page 137: Carte Mn Letitia Mirea

192 6. Ecuaţii şi sisteme de ecuaţii neliniare

y

x

)x(fy =

....xk-1α xkxk+1.....

[xk-1, f(xk-1)]

[xk, f(xk)]

(Sk-1,k)∩(0x)={[xk+1, 0]}

Fig. 6.6 Metoda secantei: reprezentare principială

Astfel, se consideră o nouă aproximaţie a soluţiei α ca fiind abscisa

punctului de intersecţie dintre secanta Sk-1,k la graficul funcţiei )x(fy = şi axa absciselor 0x. Secanta Sk-1,k trece prin punctele determinate de ultimele două aproximaţii ale soluţiei: şi . Funcţia neliniară f este astfel aproximată liniar, pe intervalul , de către dreapta S

))x(f,x( 1k1k −− ))x(f,x( kk

]x,x[ k1k− k-1,k. Mai mult, dreapta de ecuaţie bxa)x(S k,1k +⋅=− satisface condiţiile:

)x(f)x(S 1k1kk,1k −−− = , )x(f)x(S kkk,1k =− . Aceste două condiţii permit determinarea coeficienţilor a şi b ai secantei Sk-1,k. Astfel, se spune că dreapta

)x(S k,1k− interpolează liniar funcţia f pe intervalul . ]x,x[ k1k−

În general, pentru o valoare c a argumentului, rezultă )c(S)c(f k,1k−≅ . Se

poate pune problema ca să aibă o anumită valoare (în cazul de faţă această valoare este 0), de aici rezultând . În acest caz, se spune că se realizează o

)x(S 1kk,1k +−*f

1kx +

interpolare liniară inversă. Cu parametrii a şi b astfel determinaţi şi impunând condiţia ,

se obţine relaţia de recurenţă 0)x(S 1kk,1k =+−

(6.20). Algoritmul poate fi schiţat astfel:

citeşte 21 x,x

⎡ ⎢ atribuie 10 xx ←⎢ atribuie 21 xx ←

Page 138: Carte Mn Letitia Mirea

6.2 Rezolvarea ecuaţiilor algebrice neliniare 193

⎢ atribuie )}xx/()]x(f)x(f/{[)x(fxx 0101112 − −−← ⎢ ⎣

scrie ‘soluţia = ‘, 2x

Pentru a asigura convergenţa şirului de aproximaţii la soluţia α a ecuaţiei neliniare, trebuie satisfăcute condiţiile: 0)(f ≠α′ şi 0)(f ≠α′′ . Viteza de convergenţă depinde de gradul în care funcţia f poate fi aproximată prin segmente de dreaptă. Altfel spus, aceasta depinde de viteza de variaţie a primei derivate , , adică de curbura funcţiei caracterizată de a doua derivată

. Cu alte cuvinte, cu cât curbura funcţiei este mai mare, cu atât viteza de convergenţă este mai mică. Se poate demonstra că ordinul de convergenţă al metodei secantei este:

)x(f ′ )x(f)x(f ′′ )x(f

68.12/)15(d ≅+= . Faptul că la această metodă nu se cere evaluarea derivatei funcţiei

constituie un avantaj faţă de metoda Newton. Preţul plătit este, însă, o viteza de convergenţă mai mică.

)x(f

6.2.4 Metoda Müller (a interpolării cuadrice inverse)

Metoda Müller extinde rezultatele obţinute la metoda secantei. De această dată, funcţia f este aproximată printr-un polinom de gradul al doilea, motiv pentru care metoda se mai numeşte şi a interpolării cuadrice inverse.

Această metodă necesită trei puncte de start, procesul iterativ continuând cu una din rădăcinile polinomului de gradul doi aproximant.

Fie , şi punctele de start, care se consideră a fi în relaţia: şi fie valorile corespunzătoare ale funcţiei

neliniare care constituie membrul stâng al ecuaţiei

0x 1x 2x

102 xxx << )x(f),x(f),x(f 102

(6.8). Cu aceste puncte de start precizate, se determină un polinom de gradul al

doilea, de forma generală: ℜ∈+⋅+⋅= c,b,a,cxbxa)x(T 2

2 . Polinomul aproximează, prin interpolare, funcţia , dacă sunt satisfăcute condiţiilor:

)x(T2 )x(f

2,1,0i),x(f)x(T ii2 == . Astfel, se determină coeficienţii , după care se calculează rădăcinile

acestui polinom. Una din aceste rădăcini, notată , se alege drept o nouă aproximaţie a soluţiei a ecuaţiei

c,b,a

rxα 0)x(f = .

Page 139: Carte Mn Letitia Mirea

194 6. Ecuaţii şi sisteme de ecuaţii neliniare

Pentru optimizarea calculelor, se translează sistemul de axe x0y în punctul de coordonate , noul sistem de axe fiind )0,x( 0 μν0 . Principiul metodei este ilustrat în Figura 6.7.

y

x

)x(fy =

x1α x0x2

[x2, f(x2)]

[x0, f(x0)]

μ = T2(ν) = aν2 + bν + c

[x1, f(x1)]

xr

Fig. 6.7 Metoda Müller: reprezentare principială

Se realizează următoarele notaţii: 202 xxh −= , 011 xxh −= . În sistemul de axe translat, μν0 , sunt satisfăcute relaţiile:

002 f)x(f)0(T == , 2222 f)x(f)h(T ==− , 1112 f)x(f)h(T == .

Ţinând cont de expresia polinomului , în sistemul de axe translat (Figura 6.7), rezultă:

)x(T2

⎪⎩

⎪⎨

=+⋅−⋅=+⋅+⋅

=

2222

1121

0

fchbhafchbha

fc.

Acesta este un sistem determinat de ecuaţii algebrice liniare în necunoscutele a, b şi c. În urma rezolvării acestui sistem se obţin coeficienţii polinomului aproximant, . )x(T2

Drept aproximaţie a soluţiei ecuaţiei (6.8), , se consideră rădacina polinomului care este mai aproapiată de originea sistemului de axe Ca urmare, în sistemul de axe

rx)(T2 ν μν0 .

μν0 , se alege soluţia care este cea mai mică în valoare absolută. Aceasta se determină astfel:

Page 140: Carte Mn Letitia Mirea

6.3 Rezolvarea sistemelor de ecuaţii algebrice neliniare 195

ca4bb

c2

a2ca4bba

ca

c221

2⋅⋅−±−

⋅=

/⋅⋅⋅−±−

⋅/

=ν⋅

=ν ,

unde se consideră semnul minus dacă şi semnul plus dacă 0b > 0b < . În acest fel, numitorul din expresia anterioară are cea mai mare valoare absolută. Aşadar, următoarea estimaţie a soluţiei ecuaţiei neliniare (6.8) este:

ca4bb

c2xx20r

⋅⋅−±−

⋅−= ,

unde se consideră semnul plus dacă şi semnul minus dacă 0b > 0b < . Calculele se pot organiza astfel:

* defineşte f citeşte 210 x,x,x* ordonează 102 xxx <<atribuie 0r xx ← cât timp rr |)x(f| ε> execută ⎡ * evaluează 2,1,0i),x(f i = ⎢ * calculează a, b, c ⎢ * calculează rx⎢ dacă )xx( 0r > atunci⎢ ⎡ * rearanjează în )x,x,x()x,x,x( 1r0xxx102 102

⎯← ⎯⎯ ⎯<<

⎢ ⎢altfel⎢ ⎢ * rearanjează în )x,x,x()x,x,x( 0r2xxx102 102

⎯⎯⎯ ⎯← <<

⎢ ⎣ ⎣ scrie ‘soluţie = ‘, rx

Avantajul acestei metode este că nu se cere existenţa şi evaluarea derivatelor funcţiei f. În plus, nu este obligatoriu ca funcţia f să fie cunoscută analitic, valorile sale putând fi obţinute, de exemplu, în urma unor măsurători. Mai mult, cu excepţia primului pas, este necesară, la fiecare iteraţie, o singură evaluare a funcţiei f, şi anume în punctul . Metoda are un ordin de convergenţă ridicat, apropiat de cel al metodei Newton, acesta având valoarea

rx85.1d ≅ .

6.3 Rezolvarea sistemelor de ecuaţii algebrice neliniare

Fie sistemul de ecuaţii neliniare:

Page 141: Carte Mn Letitia Mirea

196 6. Ecuaţii şi sisteme de ecuaţii neliniare

T

n1nn11

Tn1n

])x,,x(f)x,,x(f[)x(f

,]xx[x,0)x(f

………

=

== (6.21)

în care 21 DD:f → , . )(D,D nn21 Cℜ⊂

Metodele de rezolvare a sistemelor de ecuaţii neliniare constau în construirea unui şir de aproximaţii convergent către o soluţie a sistemului. Fie

Tn1 ][ αα=α … o astfel de soluţie: n0)(f =α .

Sistemul de ecuaţii (6.21) poate fi rescris sub forma:

)x(gx = . (6.22)

Uzuale sunt metodele care folosesc formule iterative staţionare de ordinul întâi:

precizatx,,1,0k),x(gx ]0[]k[]1k[ −==+ … . (6.23)

Fie αV o vecinătate a soluţiei α : }h,h||x||/Dx{V p1+

α ℜ∈≤α−∈= . Se

enunţă următoarele rezultate.

Teoremă:

Fie ecuaţia vectorială neliniară (6.21), rescrisă sub forma (6.22). Se consideră αV o vecinătate a soluţiei α . Dacă funcţia g este o funcţie continuă pe αV , iar componentele sale, n,,1i,g i …= , admit derivate parţiale în raport cu argumentele şi satisfac la relaţia: n,,1j,x j …=

α∈∀∈λλ

≤∂∂

Vx),1,0(,n

)x(xg

j

i , (6.24)

atunci: (i) dacă α∈Vx ]0[ , atunci şi elementele şirului …,1,0k

]k[ }x{ = definit de către relaţia (6.23) aparţin vecinătăţii αV ;

(ii) şirul definit de către relaţia (6.23) converge către soluţia α pentru . ∞→k

Observaţie:

Elementele din relaţia (6.24) se referă la componentele matricei iacobian a funcţiei g în raport cu argumentul x :

nj,i1j

i

x)x(g

xd)x(gd

)x(G≤≤⎥

⎥⎦

⎢⎢⎣

∂∂

== .

Teorema enunţată anterior arată că şirul de aproximaţii (6.23) converge dacă,

Page 142: Carte Mn Letitia Mirea

6.3 Rezolvarea sistemelor de ecuaţii algebrice neliniare 197

într-o vecinătate a soluţiei, matricea iacobian a funcţiei de iterare g are, în

modul, elementele foarte mici. Consecinţa acestui rezultat se referă la estimarea erorilor în procesul iterativ: α−= ]k[]k[ xe .

Propoziţie:

În condiţiile teoremei enunţate anterior pentru problema (6.21), reformulată în (6.22), problemă care se rezolvă construind şirul de aproximaţii (6.23), au loc relaţiile:

)1,0(,n,,1j,1

||xx|||x||e| k

]0[]1[

j]k[

j]k[

j ∈λ=∀λ⋅λ−

−≤α−= ∞ … , (6.25)

unde este definit ca fiind λ }||)x(G{||supVx

∞∈ α

.

Şi în acest caz se poate determina un număr minim de iteraţii pentru care relaţiile (6.25) sunt îndeplinite cu o anumită precizie impusă, şi anume:

ε≤λ⋅λ−−≤ ∞k]0[]1[]k[

j )]1/(||xx[|||e| .

6.3.1 Metode iterative explicite

Din această clasă se prezintă metoda Newton. Aceasta este o metodă iterativă explicită deoarece estimaţiile la un anumit pas al iterării se obţin în mod direct, explicit, ca o funcţie de estimaţiile de la iteraţia anterioară. Pentru aceasta, se consideră funcţia )x(g de forma:

)x(f)x(Ax)x(g ⋅−= , (6.26)

unde )x(A este o matrice pătratică de ordinul n, nj,i1ij )]x(a[)x(A ≤≤= . Şirul (6.23) converge dacă matricea cu elemente variabile, )x(A , este

nesingulară pentru α∈Vx . Ştiind că soluţia α satisface condiţia de punct fix pentru funcţia )x(g , folosind relaţia (6.26), rezultă:

n0)(f)(A)(g =α⋅α−⇒α=α .

Aceasta implică n0)(f =α dacă şi numai dacă )(A α este o matrice nesingulară. Altfel spus, )(f α se găseşte în nucleul matricei )(A α . Dacă matricea )(A α este nesingulară, atunci )(f)(A α⋅α conduce la vectorul n0 dacă şi numai dacă

n0)(f =α . În continuare se consideră că matricea == A)x(A constant. Pentru a

Page 143: Carte Mn Letitia Mirea

198 6. Ecuaţii şi sisteme de ecuaţii neliniare

construi şirul (6.23) folosind relaţia (6.26), trebuie determinată matricea A pentru care metoda să fie convergentă.

Conform teoremei enunţată anterior, matricea A se alege astfel încât iacobianul funcţiei de iterare să aibă, în modul, elementele mici sau foarte mici, pe o vecinătate a soluţiei. Astfel, iacobianul funcţiei g este:

nj,i1j

iffn )x(

xf

)x(J),x(JAI)x(xdgd

)x(G≤≤⎥

⎥⎦

⎢⎢⎣

∂∂

=⋅−== .

Conform teoremei anterioare, trebuie satisfăcute relaţiile:

)x(xg

)x(G,Vx,n

|)x(G|j

iijij ∂

∂=∈∀

λ≤ α .

Ca urmare, in caz ideal, dacă iacobianul funcţiei f este o matrice nesingulară pe αV , se poate alege matricea A ca fiind:

1f )](J[A −α= .

În felul acesta, nnf1

fn )x(J)](J[I)(G ×− =⋅α−=α 0 . Însă soluţia α nu se

cunoaşte şi atunci se recurge la o alegere sub-optimală a matricei A. Aceasta conduce la următoarea relaţie de recurenţă:

α−+ ∈=⋅−= Vx,,2,1,0k),x(f)]x(J[xx ]0[]k[1]k[

f]k[]1k[ … . (6.27)

Relaţia (6.27) constituie o generalizare a metodei tangentei de la cazul scalar ( ). 1n =

De regulă, nu se lucrează cu relaţia (6.26), pentru a evita inversarea matricei iacobian. Astfel, se rezolvă sistemul pătratic, de ordinul n:

)x(fx)x(J ]k[]k[]k[f =Δ⋅ ,

în care necunoscuta este ]k[xΔ . Apoi, se determină următoarea estimaţie a soluţiei ecuaţiei (6.21):

]k[]k[]1k[ xxx Δ−=+ .

Se demonstrează că ordinul de convergenţă al acestei metode este 2, deci numărul de cifre exacte ale soluţiei se dublează de la o iteraţie la alta.

6.3.2 Metode iterative implicite

Page 144: Carte Mn Letitia Mirea

6.3 Rezolvarea sistemelor de ecuaţii algebrice neliniare 199

În cazul metodelor iterative implicite, fiecare componentă nu se mai poate exprima în mod explicit în funcţie de estimaţiile de la iteraţia anterioară. În acest caz, legătura dintre variabile este asigurată de către funcţiile .

]1k[ix +

ifAceasta justifică denumirea de metode iterative implicite. În cazuri

particulare, componentele se pot exprima în funcţie de componentele de la iteraţia [k].

]1k[ix +

Metodele iterative implicite generalizează, la cazul neliniar, metodele iterative folosite la rezolvarea sistemelor determinate de ecuaţii algebrice liniare. Astfel, ecuaţia vectorială (6.21) se rescrie sub forma:

. (6.28)

⎪⎪⎪

⎪⎪⎪

=

=

=

0)x,,x(f

0)x,,x(f

0)x,,x(f

n1n

n1i

n11

Generalizând rezultatele de la metodele iterative pentru rezolvarea sistemelor determinate de ecuaţii algebrice liniare şi în concordanţă cu teorema enunţată anterior, se demonstrează că aceste metode converg către soluţia α , pentru orice α∈Vx , unde αV este o vecinătate a soluţiei α , dacă raza

spectrală a matricei iacobian a funcţiei f , evaluată în punctul de start ]0[x , este

subunitară: 1)]x(J[ ]0[f <ρ .

A. Metoda Jacobi

Fie ]k[x aproximaţia obţinută la iteraţia [k]:

T]k[n

]k[i

]k[1

]k[ ]xxx[x ……= .

La iteraţia [k], sistemul de ecuaţii neliniare (6.21), rescris sub forma (6.28), se rezolvă astfel:

⎪⎪⎪

⎪⎪⎪

⇒=

⇒=

⇒=

++−

++

+−

++

]1k[n

]1k[n

]k[1n

]k[i

]k[2

]k[1n

]1k[i

]k[n

]k[1i

]1k[i

]k[1i

]k[2

]k[1i

]1k[1

]k[n

]k[2

]1k[11

x0)x,x,,x,,x,x(f

x0)x,,x,x,x,,x,x(f

x0)x,,x,x(f

……

……

.

Astfel, cu excepţia unei singure componente, cea de la iteraţia , restul componentelor se consideră cunoscute de la iteraţia precedentă, [k]. Ca urmare,

]1k[ +

Page 145: Carte Mn Letitia Mirea

200 6. Ecuaţii şi sisteme de ecuaţii neliniare

rezolvarea sistemului neliniar se transformă în rezolvarea a n probleme, fiecare problemă însemnând rezolvarea unei ecuaţii neliniare. Pentru aceasta din urmă, se poate aplica una din metodele prezentate anterior, în subcapitolul 6.2.

B. Metoda Gauss-Seidel

Se aplică acelaşi principiu de la metoda Jacobi. De această dată, în afară de aproximaţia de la iteraţia [k], anterioară, se folosesc succesiv, când este posibil, şi componentele determinate ale estimaţiei de la iteraţia curentă, . Astfel, sistemul

]1k[ +(6.21) devine:

⎪⎪⎪

⎪⎪⎪

⇒=

⇒=

⇒=

+++−

+++

++

+−

+

++

]1k[n

]1k[n

]1k[1n

]1k[i

]1k[2

]1k[1n

]1k[i

]k[n

]k[1i

]1k[i

]k[1i

]k[2

]1k[1i

]1k[1

]k[n

]k[2

]1k[11

x0)x,x,,x,,x,x(f

x0)x,,x,x,x,,x,x(f

x0)x,,x,x(f

……

……

.

C. Metoda suprarelaxărilor succesive

Pentru acest tip de metodă se folosesc parametri de accelerare a convergenţei. Astfel, dacă se aplică metoda Gauss-Seidel, procesul iterativ se desfăşoară după schema:

)xx(xx

x0)x,,x,x,x,,x,x(f]k[

i]1k[

i]k[

i]1k[

i

]1k[i

]k[n

]k[1i

]1k[i

]k[1i

]k[2

]1k[1i

−⋅ω+=

⇒=++

++

+−

+ ……,

unde este un 1|| >ω parametru real de accelerare a convergenţei. Pentru o estimaţie iniţială ]0[x precizată, se determină o valoare a

parametrului optimω=ω pentru care este îndeplinită condiţia:

=ωρ ))(x(J( ]1[f minim 1< .

6.4 Rezolvarea ecuaţiilor polinomiale

6.4.1 Problematica generală

O categorie de ecuaţii neliniare, des întâlnită în practică, este cea a ecuaţiilor polinomiale:

Page 146: Carte Mn Letitia Mirea

6.4 Rezolvarea ecuaţiilor polinomiale 201

. (6.29) 0a,n,,0i,a

axaxaxa)x(P,0)x(P

0i

n1n1n

1n

0nn

≠=ℜ∈+⋅++⋅+⋅== −

……

În general, rezolvarea acestor ecuaţii se poate realiza cu metodele prezentate anterior în subcapitolul 6.2 dedicat rezolvării ecuaţiilor neliniare. Dezavantajul esenţial al aplicării acestor metode pentru rezolvarea ecuaţiilor polinomiale îl constituie necesitatea localizării intervalelor unde ecuaţia are soluţii. Ca urmare, s-au dezvoltat procedee de separare a rădăcinilor unui polinom, însă acestea sunt ineficiente din punct de vedere computaţional, necesitând un efort mare de calcul.

Pe de altă parte, ecuaţia (6.29) are un număr de n soluţii care sunt, în general, numere complexe. Soluţiile complexe apar în perechi complex conjugate. În astfel de cazuri, metodele prezentate anterior, pentru determinarea soluţiilor reale ale ecuaţiilor neliniare, trebuie reformulate pentru mulţimea numerelor complexe şi, în plus, trebuie definită şi folosită, în calculatorul numeric, aritmetica în virgulă mobilă cu numere complexe.

Având în vedere importanţa şi larga aplicabilitate a acestei probleme, s-au dezvoltat metode eficiente care lucrează în mod automat şi numai cu numere reale. Acestea sunt descrise principial în continuare.

Aplicaţii

Rezolvarea ecuaţiilor polinomiale intervine ca o etapă esenţială în domeniul analizei şi sintezei sistemelor dinamice liniare, îndeosebi caracterizarea intrare-ieşire. Fără a intra în detalii care nu fac obiectul lucrării de faţă, se menţionează tehnicile de analiză a stabilităţii sistemelor automate, şi anume:

• metoda locului rădăcinilor; • utilizarea locului de transfer; • utilizarea diagramelor Bode.

A. Metode de determinare succesivă a zerourilor unui polinom

Principiul este de a pune în evidenţă divizori de grad întâi sau doi ai polinomului . Divizorii sunt separaţi succesiv, în urma unui proces iterativ.

)x(Pn

Una din metodele cele mai răspândite este algoritmul Bairstow care constă în separarea divizorilor de grad doi. Dacă gradul n al polinomului este impar, atunci ultimul divizor separat este un polinom de grad întâi. Prin găsirea rădăcinilor divizorilor separaţi se obţin soluţiile ecuaţiei polinomiale iniţiale.

Ideea esenţială care stă la baza acestei metode este aplicarea metodei Newton pentru rezolvarea sistemelor de ecuaţii neliniare de ordinul doi care

Page 147: Carte Mn Letitia Mirea

202 6. Ecuaţii şi sisteme de ecuaţii neliniare

rezultă din condiţia ca restul împărţirii unui polinom de grad oarecare la un polinom de grad doi să fie zero.

Fie divizorul de gradul doi de forma: şi polinomul dat de relaţia

ℜ∈+⋅+= q,p,qxpx)x(T 22

)x(Pn (6.29). Atunci se poate scrie:

2n3n3n

12n

02n

2n2n

bxbxbxb)x(Q

SxR)x(Q)x(T)x(P

−−−−

+⋅++⋅+⋅=

+⋅+⋅=

….

În general, coeficienţii R şi S sunt funcţii neliniare în argumentele p şi q: , . La rândul lor, coeficienţii p şi q depind de coeficienţii

ai polinomului . Aşadar, polinomul este un divizor al polinomului dacă şi numai dacă au loc relaţiile:

)q,p(RR = )q,p(SS =n,,0i,a i …= )x(Pn )x(T2

)x(Pn

, (6.30) ⎩⎨⎧

==

0)q,p(S0)q,p(R

de unde rezultă coeficienţii p şi q. În concluzie, aplicarea metodei implică parcurgerea unui algoritm care

trebuie să combine rezolvarea sistemului de ecuaţii neliniare de ordinul doi (6.30) în necunoscutele p şi q, pe de o parte, cu determinarea coeficienţilor polinomului cât, , pe de altă parte. Detalii asupra acestui algoritm sunt prezentate în subcapitolul

)x(Q 2n−

6.4.2 care urmează. Caracteristica acestei metode este faptul că ea favorizează acumularea şi

propagarea erorilor de rotunjire. Astfel, odată ce este separat un divizor, procedeul se continuă asupra polinomului cât, , şi aşa mai departe. Drept urmare, coeficienţii ultimilor divizori pot fi afectaţi de erori de rotunjire într-o măsură inacceptabilă.

)x(Q 2n−

B. Metode de determinare simultană a zerourilor unui polinom

Fiind dată ecuaţia (6.29), aceasta se transformă astfel încât polinomul din membrul stâng să fie monic ( 1a 0 = ). Se obţine astfel ecuaţia:

.n,,1i,a/a,xxx)x(Q,0)x(Q

0ii

n1n1n

1n

nn

……

==αα+⋅α++⋅α+== −

Se realizează această transformare deoarece folosirea polinoamelor monice accelerează convergenţa proceselor iterative care intervin ulterior. Polinomului i se asociază o matrice A, astfel încât polinomul caracteristic al matricei să coincidă cu polinomul pentru care se calculează rădăcinile, :

)x(Q n

)x(Q n

)(Q)AIdet( nn λ≡−⋅λ .

Page 148: Carte Mn Letitia Mirea

6.4 Rezolvarea ecuaţiilor polinomiale 203

Dacă se reuşeşte construirea unei astfel de matrice, în general de formă simplă, atunci valorile proprii ale acesteia vor fi chiar rădăcinile polinomului

. Plecând de la această observaţie, pentru obţinerea rădăcinilor polinomului dat, se aplică matricei A o metodă de determinare a valorilor proprii cum este algoritmul QR de aduce la forma canonică Schur.

)x(Q n

O modalitate uzuală de construire a matricei A face apel la matricele de tip Frobenius. Acestea au următoarea structură:

⎪⎩

⎪⎨

==α−+=−=

+≠=−===

+−

≤≤

n,,1j,ni,1ij,1n,,1i,1

1ij,n,1j,1n,,1i,0f,]f[F

1jn

ijnj,i1ij

……

……,

polinomul caracteristic fiind:

n1n1n

1n

n xxx)FIdet( α+⋅α++⋅α+=−⋅λ −− … .

Caracteristica esenţială a acestui tip de metodă este aceea că, în general, valorile proprii calculate care coincid cu zerourile polinomului , sunt afectate în aceeaşi măsură de erorile de rotunjire.

)x(Pn

6.4.2 Algoritmul Bairstow

Fie polinomul dat de relaţia )x(Pn (6.29), ale cărui rădăcini trebuie determinate. Acesta se poate rescrie sub forma:

.(6.31) SxR)bxbxb()qxpx()x(P 2n3n2n

02

n +⋅++⋅++⋅⋅+⋅+= −−− …

Pentru ca polinomul să fie divizor al polinomului , trebuie ca să fie îndeplinite condiţiile

qxpx 2 +⋅+ )x(Pn

(6.30). Se realizează notaţiile:

⎥⎥⎥⎥

⎢⎢⎢⎢

∂∂

∂∂

∂∂

∂∂

=⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡=

)q,p(qS)q,p(

pS

)q,p(qR)q,p(

pR

J;)q,p(S)q,p(R

f;qp

z f .

Pentru rezolvarea sistemului (6.30) se aplică metoda Newton. Astfel, la iteraţia [i] se poate scrie:

)z(fz)]z(J[ ]1i[]1i[]1i[f

−−− =Δ⋅ ,

sau:

Page 149: Carte Mn Letitia Mirea

204 6. Ecuaţii şi sisteme de ecuaţii neliniare

⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

ΔΔ

⎥⎥⎥⎥

⎢⎢⎢⎢

∂∂

∂∂

∂∂

∂∂

−−

−−

−−−−

−−−−

)q,p(S)q,p(R

qp

)q,p(qS)q,p(

pS

)q,p(qR)q,p(

pR

]1i[]1i[

]1i[]1i[

]1i[

]1i[

]1i[]1i[]1i[]1i[

]1i[]1i[]1i[]1i[

, (6.32)

de unde se obţin estimaţiile: , . Pentru aceasta, se pleacă de la un punct iniţial de regulă nul

.

]1i[]1i[]i[ ppp −− Δ−= ]1i[]1i[]i[ qqq −− Δ−=

)q,p( ]0[]0[

)0q,0p( ]0[]0[ ==Calculele implicate de rezolvarea sistemului determinat, de ordinul doi, de

ecuaţii neliniare (6.32), se organizează astfel:

)q,p(pS)q,p(

qR

)q,p(qS)q,p(

pR)]z(Jdet[

]1i[]1i[]1i[]1i[

]1i[]1i[]1i[]1i[]1i[f

]i[

−−−−

−−−−−

∂∂⋅

∂∂

−∂∂⋅

∂∂

==δ

;)q,p(

qS)q,p(S

)q,p(qR)q,p(R

P]1i[]1i[]1i[]1i[

]1i[]1i[]1i[]1i[

]i[

−−−−

−−−−

∂∂∂∂

=

;)q,p(S)q,p(

pS

)q,p(R)q,p(pR

Q]1i[]1i[]1i[]1i[

]1i[]1i[]1i[]1i[

]i[

−−−−

−−−−

∂∂∂∂

=

0,Qq;Pp ]i[]i[

]i[]1i[

]i[

]i[]1i[ ≠δ

δ=Δ

δ=Δ −− .

Condiţia de stop pentru metoda Newton, considerând precizia impusă , este:

ε

ε≤δ+⇔ε≤Δ+Δ −− |/)QP(||qp| ]i[]i[]i[]1i[]1i[ . În continuare, se precizează modalitatea de obţinere a elementelor necesare

rezolvării sistemului neliniar anterior. Astfel, efectuând înmulţirile în ecuaţia (6.31) şi identificând coeficienţii cu cei ai polinomului din relaţia )x(Pn (6.29), se găseşte, în general, o relaţie de recurenţă între , pe de o parte şi coeficienţii , p şi q, pe de altă parte. Aceasta este de forma:

kb

ka

2k1kkk bqbpab −− ⋅−⋅−= . (6.33) Pentru ca această relaţie de recurenţă să fie valabilă pentru 2n,,1,0k −= … ,

se consideră . În plus, se notează: 0bb 21 == −−

Sbpb,Rb 1nn1n =⋅+= −− . (6.34)

Page 150: Carte Mn Letitia Mirea

6.4 Rezolvarea ecuaţiilor polinomiale 205

Rezultă:

⎪⎪⎩

⎪⎪⎨

∂∂⋅+

∂∂

=⋅+∂∂

=∂∂

∂∂⋅++

∂∂

=⋅+∂∂

=∂∂

⎪⎪⎩

⎪⎪⎨

∂∂

=∂∂

∂∂

=∂∂

−−

−−−

qb

pq

b)bpb(

qqS

pb

pbp

b)bpb(

ppS

;

qb

qR

pb

pR

1nn1nn

1n1n

n1nn

1n

1n

. (6.35)

Derivatele lui R şi S pot fi calculate, la rândul lor, folosind formule de recurenţă. Astfel, se introduc notaţiile:

⎪⎪⎩

⎪⎪⎨

=−=∂∂

=−=∂∂

n,,2k,dq

b

n,,1k,cp

b

2kk

1kk

…. (6.36)

Se derivează relaţia (6.31) în raport cu p şi, ţinând cont de relaţiile (6.36), se obţine: 0cc,1n,,0k,cqcpbc 122k1kkk ==−=⋅−⋅−= −−−− … . (6.37)

Analog, se derivează (6.31) în raport cu q şi se ţine cont de (6.36), obţinându-se:

0dd,2n,,0k,dqdpbd 122k1kkk ==−=⋅−⋅−= −−−− … . (6.38)

Analizând relaţiile (6.37) şi (6.38), se observă că pentru 2n,,0k −= … practic este îndeplinită relaţia: kk cd = . (6.39)

Din relaţiile (6.37), (6.38) şi (6.39), rezultă:

0cc,2n,,0k,cqcpcb 122k1kkk ==−=⋅+⋅+= −−−− … . (6.40)

Ţinând cont de relaţiile (6.40), (6.34), (6.35) şi (6.36), se obţine:

3n2n2n1n1n

3n2n

cpcqS,cpbc

pS

,cqR,c

pR

−−−−−

−−

⋅−−=∂∂

⋅−+−=∂∂

−=∂∂

−=∂∂

.

Page 151: Carte Mn Letitia Mirea

Capitolul 7 APROXIMAREA NUMERICĂ A FUNCŢIILOR

7.1 Formularea problemei

Se consideră o funcţie reală de variabilă reală: ℜ∈ℜ→ b,a,]b,a[:f . În

multe aplicaţii se pune problema evaluării, în orice punct ]b,a[x* ∈ , a funcţiei f, a derivatelor acesteia sau a integralei definite:

bdca,dx)x(f,),x(f),x(f),x(fd

c

*** ≤<≤⋅′′′ ∫… .

În funcţie de natura problemei, pot exista mai multe situaţii descrise în continuare.

I.) Funcţia f este cunoscută analitic prin una sau mai multe expresii, în general complicate sau dificil de evaluat, derivat sau integrat. În această categorie intră funcţiile cunoscute prin una sau mai multe formule explicite, funcţiile cunoscute sub forma unei serii (în general infinite) şi funcţiile care sunt soluţii ale unor ecuaţii diferenţiale (integro-diferenţiale).

II.) Funcţia f nu este cunoscută analitic, ci printr-un şir de valori. Astfel, având un şir de argumente n,,0i],b,a[x,}x{ in,...,0ii …=∈= distincte, acestea determină o divizare a intervalului ]b,a[ :

bxxxa: ni0]b,a[ ≤<<<<≤Δ …… .

Corespunzător, sunt cunoscute şi valorile funcţiei f în aceste puncte: n,...,0iii )}x(f,x{ = . În această situaţie sunt funcţiile ale căror valori: se

găsesc în anumite tabele uzuale specifice diferitelor domenii de aplicaţie, provin în urma unor măsurători experimentale sau sunt rezultatul aplicării unui algoritm numeric, cu număr de paşi cunoscut dinainte sau nu (algoritmul este oprit la o anumită iteraţie). În general, în aceste cazuri valorile funcţiei f sunt afectate de erori.

Rezolvarea problemei generale enunţate anterior se bazează pe găsirea unei funcţii )x(FF = cu o expresie în general simplă, uşor de evaluat, derivat sau integrat, care să aproximeze cât mai bine funcţia f: )x(f)x(F],b,a[x *** ≅∈∀ .

Page 152: Carte Mn Letitia Mirea

222 7. Aproximarea numerică a funcţiilor

Abordarea generală pentru o astfel de problemă utilizează o mulţime de funcţii: }]b,a[:/{M ℜ→ϕϕ= , unde ϕ sunt funcţii, în general, elementare (simple). Mulţimea M poate fi înzestrată cu o structură de spaţiu liniar de funcţii. Astfel, în acest spaţiu, există un număr de funcţii liniar independente, care formează o bază de funcţii de aproximare:

]b,a[x,0c0)x(c,),x(,),x(),x( kk

kkk10 ∈∀=⇔=ϕ⋅ϕϕϕ ∑…… .

Ca urmare, soluţia generală a problemei de aproximare este de a exprima funcţia aproximantă, )x(F , drept o combinaţie liniară de funcţii elementare aparţinând mulţimii M. Fie 1m + astfel de funcţii elementare liniar independente. Atunci se poate scrie:

)x(c)x(c)x(F)x(F mm00m ϕ⋅++ϕ⋅== … . (7.1)

Funcţia )x(Fm se numeşte polinom generalizat, m fiind ordinul (gradul) polinomului generalizat. Aproximarea bazată pe acesta se numeşte aproximare cu polinoame generalizate.

Exemplul 7.1:

Dacă setul de funcţii elementare este m2k x,,x,x,1:)x( …ϕ , atunci

aproximarea folosind:

mm10m xcxcc)x(P)x(F ⋅++⋅+== … , (7.2)

se numeşte aproximare cu polinoame algebrice. Dacă )xmsin(),xmcos(,),xsin(),xcos(,1:)x(k ⋅⋅ϕ … , atunci aproximarea folosind:

)xmsin(b)xmcos(a)xsin(b)xcos(aa)x(T)x(F mm110m ⋅⋅+⋅⋅++⋅+⋅+== …

se numeşte aproximare cu polinoame trigonometrice.

Indiferent de abordare, rezolvarea problemei necesită răspuns la următoarele chestiuni:

determinarea setului de funcţii ,...1,0kk )}x({ =ϕ ; determinarea numărului necesar de funcţii, 1m + ; determinarea coeficienţilor polinomului generalizat, m,...,1,0kk }c{ = .

Pentru a rezolva acestea, precum şi pentru a putea aprecia calitatea aproximării, mulţimea de funcţii M trebuie să aibă proprietăţi suplimentare. Astfel, trebuie să se poată defini pe această mulţime o funcţie care să permită aprecierea “apropierii” dintre funcţia )x(f şi aproximanta ei, )x(F , oricare ar fi

]b,a[x∈ .

Page 153: Carte Mn Letitia Mirea

7.1 Formularea problemei 223

Definiţie:

Fie funcţia ℜ→×MM:d . Aceasta se numeşte funcţie distanţă, dacă următoarele proprietăţi sunt îndeplinite:

(i) oricare ar fi Mg,f ∈ , atunci 0)g,f(d > şi gf0)g,f(d ≡⇔= ; (ii) oricare ar fi Mg,f ∈ , atunci )f,g(d)g,f(d = ; (iii) oricare ar fi Mh,g,f ∈ , atunci )g,h(d)h,f(d)g,f(d +≤ . Mulţimea M împreună cu distanţa d formează o structură de spaţiu metric.

De regulă, funcţia d se defineşte prin intermediul funcţiei normă: ℜ→⋅ M:|||| p

şi, astfel, mulţimea M are o structură de spaţiu liniar normat. Distanţele uzual folosite pentru cazul continuu, când funcţia f este cunoscută

analitic, sunt: a.) |})x(F)x(f{|max||)x(F)x(f||)F,f(d

]b,a[x−=−=

∈∞∞ .

În ipoteza că M este mulţimea funcţiilor continue pe intervalul ]b,a[ , atunci o astfel de abordare se numeşte aproximare uniformă. În acest caz,

)F,f(d∞ are semnificaţie de eroare absolută în metrică a funcţiei )x(F , faţă de funcţia )x(f .

b.) ∫ ⋅−=−=b

a

222 dx)]x(F)x(f[||)x(F)x(f||)F,f(d .

În ipoteza că M este mulţimea funcţiilor de pătrat integrabil pe intervalul ]b,a[ , o astfel de abordare se numeşte aproximare în medie pătratică. În

acest caz, )F,f(d 2 nu mai are semnificaţia de eroare absolută în metrică a funcţiei )x(F faţă de funcţia )x(f şi se numeşte cvasimetrică.

Pentru cazul discret, când funcţia f este cunoscută pe baza unui set de valori n,...,0iii )}x(f,x{ = , distanţele uzual folosite sunt:

a.) |})x(F)x(f{|max||Ff||)F,f(d iini0−=−=

≤≤∞∞ , (7.3)

în care s-au notat: Tn0 ])x(f)x(f[f …= şi T

n0 ])x(F)x(F[F …= . Abordarea bazată pe această distanţă reprezintă aproximarea uniformă pentru cazul discret.

b.) ∑=

−=−=n

0i

2ii22 )]x(F)x(f[||Ff||)F,f(d . (7.4)

Abordarea bazată pe această distanţă reprezintă aproximarea în medie pătratică pentru cazul discret.

Indiferent de abordarea folosită, distanţa dintre funcţiile f şi F se poate exprima sub forma generală: )c,,c,c,m()F,f(d m10p …Φ= . Criteriul folosit

Page 154: Carte Mn Letitia Mirea

224 7. Aproximarea numerică a funcţiilor

uzual în aproximare este ca funcţia Φ să fie minimă, de unde rezultă coeficienţii m10 c,,c,c … pentru o valoare fixată a ordinului m al polinomului de aproximare şi o anumită alegere a bazei de funcţii de aproximare.

În continuarea acestui capitol, discuţia se restrânge la cazul discret şi, aici, aproximarea cu polinoame algebrice.

7.2 Interpolarea polinomială

Folosind una din distanţele (7.3), (7.4) şi polinomul algebric (7.2), )x(P)x(F m= , cunoscând setul de puncte n,...,0iii )}x(f,x{ = , se impune o

condiţie de tipul: =)P,f(d mp minim. Acest minim are chiar valoarea zero

pentru nm = şi: n,,0i),x(f)x(P iim …== .

Aşadar, funcţia aproximantă F este un polinom de grad maxim n, fiind cunoscute 1n + valori ale funcţiei )x(f . Polinomul de aproximare trece prin aceste puncte, n,...,0iii )}x(f,x{ = .

Un astfel de polinom se numeşte polinom de interpolare, iar procedura de detrminare a coeficienţilor acestuia se numeşte interpolare polinomială numerică. Punctele în care funcţia este cunoscută se numesc puncte de interpolare sau noduri de interpolare.

Pentru funcţia f cunoscută prin intermediul unui şir de valori corespunzător unei divizări Δ a intervalului de definiţie al funcţiei, [a,b], se doreşte determinarea unui polinom de grad mai mic sau egal cu n:

nn10n xcxcc)x(P ⋅++⋅+= … ,

astfel încât: n,,0i),x(f)x(P iin …== . (7.5)

7.2.1 Interpolarea Lagrange

Teoremă:

În contextul problemei de interpolare, dacă punctele divizării [ ]b,aΔ sunt

distincte, atunci oricare ar fi ni10 y,,y,,y,y …… , cu n,,0i),x(fy ii …== , există şi este unic un polinom )x(L , de grad maxim n, pentru care sunt îndeplinite condiţiile de interpolare:

n,,0i),x(f)x(L ii …== . (7.6)

Page 155: Carte Mn Letitia Mirea

7.2 Interpolarea polinomială 225

Demonstraţia foloseşte aşa-numitul polinom de interpolare construit de Lagrange:

.y1)xx()xx()xx(

1)xx()xx()xx(

y)xx()xx(1)xx()xx(

)xx()xx(1)xx()xx(

y)xx()xx()xx(1

)xx()xx()xx(1)x(L

n1nnjn1n

1nj0

jnj1jj1jj0j

n1j1j0

0n0j010

nj1

⋅⋅−⋅⋅−⋅⋅−

⋅−⋅⋅−⋅⋅−+

+⋅−⋅⋅−⋅⋅−⋅⋅−

−⋅⋅−⋅⋅−⋅⋅−+

+⋅−⋅⋅−⋅⋅−⋅

−⋅⋅−⋅⋅−⋅=

+−

+−

…………

……………

……………

Polinomul )x(L are 1n + termeni, fiecare termen având în expresia sa un raport de produse de n factori. Aşadar, polinomul )x(L are gradul cel mult n. Rapoartele de produse care apar în expresia polinomului se notează:

n,,0j,xxxx

)x(Ln

jk0k kj

kj …=

−−

=∏≠=

.

Se constată că:

⎩⎨⎧

≠=

=ji,0ji,1

)x(L ij , unde }n,,1,0{j,i …∈ . (7.7)

Astfel, polinomul )x(L se poate scrie sub forma:

∑=

⋅=n

0jjj y)x(L)x(L . (7.8)

Ţinând cont de expresiile (7.7) şi (7.8), rezultă: n,,0i,y)x(L ii …== , deci sunt îndeplinite condiţiile de interpolare (7.6). S-a demonstrat până acum faptul că există un polinom de interpolare. Polinoamele n,...,1,0jj )}x(L{ = formează baza

de interpolare Lagrange determinată de către divizarea Δ a intervalului [a,b]. Se demonstrează, în cele ce urmează, unicitatea polinomului de inetrpolare

Lagrange. Pentru aceasta, se presupune, prin reducere la absurd, că există un alt polinom, )x(G , de grad cel mult n, pentru care n,,0i,y)x(G ii …== . Fie polinomul )x(G)x(L)x(H −= . La rândul său, acesta este un polinom de grad maxim n. Evaluând polinomul )x(H în punctele divizării ]b,a[Δ , se obţine:

n,,0i,0)x(G)x(L)x(H iii …−=−= . Rezultă, aşadar, că un polinom de grad maxim n, )x(H , are 1n + zerouri, ceea ce înseamnă că H este polinomul identic nul. De aici rezultă că )x(L)x(G ≡ . Aşadar, polinomul de interpolare Lagrange este unic.

Page 156: Carte Mn Letitia Mirea

226 7. Aproximarea numerică a funcţiilor

Pentru găsirea unei valori aproximative pentru )x(f * , nu se recomandă determinarea coeficienţilor n10 c,,c,c … ai polinomului de interpolare (7.5) şi apoi evaluarea sa, deoarece numărul de operaţii în virgulă mobilă ar creşte, fapt care ar conduce la o creştere a erorilor de aproximare. Valoarea )x(f * se recomandă a fi aproximată de )x(L * . Pentru n,,0i,xx i

* …=≠ , evaluarea

polinomului )x(L * necesită un număr de operaţii în virgulă mobilă de ordinul lui 2n .

Polinomul Lagrange fiind unic şi realizând interpolarea, orice altă metodă de interpolare polinomială va conduce la acelaşi rezultat, cel puţin teoretic, dacă erorile de calcul nu sunt luate în considerare. Referitor la precizia estimării (aproximării), se enunţă următorul rezultat.

Propoziţie:

Fie o funcţie )x(f continuă şi cu derivate continue până la ordinul n pe intervalul ]x,x[ n0 , n

]x,x[ n0Cf ∈ şi de 1n + ori derivabilă pe acelaşi interval,

1n]x,x[ n0

Df +∈ . În condiţiile interpolării Lagrange, are loc egalitatea:

)x(R)x(L)x(f n+= , în care polinomul )x(R n este restul de interpolare Lagrange, cu expresia:

)x,x(c),c(f)!1n(

)xx()xx()xx()x(R n0

)1n(n10n ∈⋅

+−⋅⋅−⋅−

= +….

În plus, notând }xx{maxh i1i1n,...,0i−= +

−=, dacă |})x(f{|supM )1n(

]x,x[x1n

n0

+

∈+ = ,

atunci: 1n1n

n M)]1n(4/h[|)x(R| ++ ⋅+⋅≤ .

Interpolarea Lagrange, aşa cum a fost definită în versiunea ei originală, poate eşua în anumite situaţii, în sensul că se pot produce erori de aproximare semnificative.

Exemplul 7.2:

Se consideră funcţia Runge: ]1,1[x),x251/(1)x(y 2 −∈⋅+= . Se consideră 1n + puncte n,,0i,x i …= , echidistante în intervalul ]1,1[− . Lungimea

intervalului dintre două puncte consecutive este: 1x,1x,1n,,0i,n/)xx(xxh n00ni1i =−=−=−=−= + … .

Fie 5n = , deci punctele ix sunt: 1,6.0,2.0,2.0,6.0,1 −−− . Valorile iy corespunzătoare se obţin evaluând )x(y în punctele ix . În Figura 7.1 sunt reprezentate grafic aceste noduri de interpolare, precum şi polinomul de

Page 157: Carte Mn Letitia Mirea

7.2 Interpolarea polinomială 227

interpolare Lagrange corespunzător, )x(p5 , evaluat cu un pas mai mic decât cel utilizat la interpolare, h.

Se observă că rezultatele aproximării sunt afectate de erori apreciabile. În continuare, se creşte gradul polinomului Lagrange la 20n = . Sunt necesare 21 puncte care vor fi considerate, de asemenea, echidistante:

1,9.0,8.0,,1.0,0,,8.0,9.0,1:1.0h ……−−−Δ⇒= . Repetând procedeul, se obţine polinomul de interpolare Lagrange )x(p20 reprezentat grafic în Figura 7.1. Se observă că pentru 5.0|x| < , aproximarea prin intermediul polinomului )x(p20 este satisfăcătoare, după care apar diferenţe semnificative. Se repetă procedeul crescând gradul polinomului de interpolare. Ca urmare, cu cât gradul n este mai mare, cu atât abaterile la capetele intervalului vor fi mai mari. Funcţia )x(y este aproximată satisfăcător doar pe un anumit subinterval al intervalului ]1,1[− , prin polinoame Lagrange.

Apare de aici ideea de a nu folosi un polinom unic, care să aproximeze o funcţie )x(f pe întreg intervalul ]b,a[ . Se foloseşte o mulţime de polinoame, fiecare dintre acestea aproximând cât mai bine funcţia f pe un anumit subinterval al intervalului ]b,a[ . Acest tip de aproximare se numeşte aproximare polinomială pe porţiuni sau aproximare cu “polinoame glisante”.

Fig. 7.1. Exemplul lui Runge: eşecul interpolării Lagrange cu polinom unic

)x(p 20

2x2511y⋅+

=

)x(p 5

Page 158: Carte Mn Letitia Mirea

228 7. Aproximarea numerică a funcţiilor

Astfel, în cazul interpolării Lagrange, având 1n + noduri de interpolare, pentru o valoare ]x,x[x,n,,0i,xx n0

*i

* ∈=≠ … , se găseşte subintervalul )x,x( 1kk + căruia îi aparţine valoarea *x şi se construieşte un polinom

Lagrange de grad nm < (cel mult n). Se utilizează, astfel, o bază de puncte centrată în raport cu valoarea *x :

}x,,x,x,,x{2mk1kk

2mk +

+−

…… .

În acest fel, erorile sunt diminuate, restul de interpolare Lagrange având valoare minimă.

7.2.2 Interpolarea prin intermediul funcţiilor spline

În general, folosirea unui singur polinom de interpolare, )x(pn , pentru aproximarea unei funcţii )x(f pe un întreg interval unde funcţia este cunoscută, eşuează:

]b,a[x,|)x(p)x(f| nn ∈∀∞⎯⎯ →⎯− ∞→ ,

aşa cum s-a prezentat în Exemplul 7.2. Apare, atunci, ideea folosirii interpolării polinomiale pe porţiuni, cum s-a menţionat în comentariile anterioare.

Funcţiile spline au fost introduse pentru a denumi funcţii formate din polinoame definite pe subintervale adiacente şi care se racordează în capetele subintervalelor împreună cu un număr de derivate.

Denumirea de spline (din limba engleză, intraductibilă în limba română) provine din mecanică, reprezentând numele unui dispozitiv folosit de desenatori pentru a trasa o curbă netedă. Spline este un instrument format dintr-o bandă metalică subţire, susţinută prin intermediul unor greutăţi. Acestea din urmă pot fi astfel aranjate, încât banda metalică să treacă prin anumite puncte date. Numărul greutăţilor poate să fie mai mic sau egal cu numărul punctelor.

Definiţie:

Fiind dată reţeaua de puncte Δ a intervalului ]b,a[ : bxxxxxa n1ii10 ≤<<<<<<≤ + …… ,

se numeşte funcţie spline de ordinul m pe reţeaua Δ, notată )x(sΔ , o funcţie care îndeplineşte următoarele condiţii: (i) restricţia la intervalul 1n,,0i],x,x[ 1ii −=+ … , ]x,x[ 1ii

)x(s+Δ , aparţine

mulţimii polinoamelor algebrice de grad maxim m;

Page 159: Carte Mn Letitia Mirea

7.2 Interpolarea polinomială 229

(ii) funcţia )x(sΔ este continuă, cu derivate continue până la ordinul 1m − pe intervalul ]b,a[ : 1m

]b,a[C)x(s −Δ ∈ .

Dacă 1m = , atunci funcţiile spline se numesc liniare, dacă 2m = , atunci ele se numesc funcţii spline cuadrice, iar dacă 3m = , atunci funcţiile spline se numesc cubice.

În continuare, discuţia se referă la cazul 3m = , având în vedere utilitatea practică.

Propoziţie:

Fiind dată funcţia )x(f , cunoscută prin şirul de puncte distincte

n,,0iii )}x(f,x{ …= , unde ]b,a[ix Δ∈ , cu ji,n,,0j,i,xx ji ≠=≠ … , există şi

este unică o funcţie spline cubică, funcţie care interpolează funcţia f:

n,,0i,y)x(s ii …==Δ

unde n,,0i),x(fy i

not

i …== .

Demonstraţia acestui rezultat constituie chiar algoritmul de determinare a funcţiei )x(sΔ . Pentru aceasta, se consideră funcţia spline cubică de forma:

1n,,0i

d)xx(c)xx(b)xx(a)x(s iii2

ii3

ii]x,x[ 1ii

−=

+−⋅+−⋅+−⋅=+Δ

…. (7.9)

Existenţa şi unicitatea funcţiei )x(sΔ este echivalentă cu existenţa şi unicitatea seturilor de coeficienţi 1n,,0iiiii }d,c,b,a{ −= … , trebuind a fi determinaţi n4 ⋅ parametri.

Pentru a calcula aceşti parametri, se utilizează condiţiile din definiţia funcţiilor spline: (C1) condiţii de interpolare:

n.,0i,y)x(s ii …==Δ ceea ce înseamnă )1n( + condiţii;

(C2) continuitatea funcţiei )x(sΔ :

1n,,1i),x(slim)x(s)x(s)x(slimii

ii

xxxx

not

ii

not

xxxx

−==== Δ

>→+Δ−ΔΔ

<→

… ,

ceea ce înseamnă )1n( − condiţii; (C3) continuitatea primei derivate, )x(sΔ′ :

1n,,1i),x(slim)x(s)x(s)x(slimii

ii

xxxx

not

ii

not

xxxx

−=′=′=′=′ Δ

>→+Δ−ΔΔ

<→

… ,

ceea ce înseamnă )1n( − condiţii;

Page 160: Carte Mn Letitia Mirea

230 7. Aproximarea numerică a funcţiilor

(C4) continuitatea derivatei a doua, )x(sΔ′′ :

1n,,1i),x(slim)x(s)x(s)x(slimii

ii

xxxx

not

ii

not

xxxx

−=′′=′′=′′=′′ Δ

>→+Δ−ΔΔ

<→

… ,

ceea ce înseamnă )1n( − condiţii. Din (C1) ÷ (C4) rezultă un total de 2n4 −⋅ condiţii. Pentru determinarea

celor n4 ⋅ parametri, mai sunt necesare încă două condiţii suplimentare impuse funcţiilor spline cubice de interpolare. În funcţie de cum sunt formulate aceste două condiţii, rezultă diferite tipuri de funcţii spline cubice.

Există câteva posibilităţi de alegere a celor două condiţii suplimentare necesare, după cum urmează.

1. Folosirea informaţiilor furnizate de către perechile de interpolare, n,,0iii )}x(f,x{ …= , precum şi aproximarea funcţiei f prin aşa-numitele diferenţe

divizate la dreapta:

),x(f61

xx)x()x(

)x(

),x(f21

xx)x()x(

)x(

),x(fxxyy

)x(,y)x(f)x(

ii3i

i)2(

1i)2(

i)3(

ii2i

i)1(

1i)1(

i)2(

ii1i

i1ii

)1(iii

)0(

′′′⋅≅−Δ−Δ

′′⋅≅−Δ−Δ

′≅−−

=Δ==Δ

+

+

+

+

+

+

şi diferenţe divizate la stânga:

.xx

)x()x()x(,,

xxyy

)x(3ii

1i)2(

i)2(

i)3(

1ii

1iii

)1(

−∇−∇

=∇−−

=∇ …

Folosind primele patru perechi de puncte 3,,0iii )}x(f,x{ …= , se poate calcula diferenţa divizată la dreapta de ordinul 3, în punctul 0x , care va aproxima valoarea derivatei a treia )x(f 0′′′ :

)x(f61)x( 00

)3( ′′′⋅≅Δ .

Folosind ultimele patru perechi de puncte n,,3niii )}x(f,x{ …−= , se calculează diferenţa divizată la stânga de ordinul 3, în punctul nx , care aproximează valoarea derivatei a treia )x(f n′′′ :

)x(f61)x( nn

)3( ′′′⋅≅∇ .

Ţinând cont de expresia (7.9), rezultă 1n,,1i,a6)x(s i]x,x[ 1ii−=⋅=′′′

+Δ … .

Condiţiile suplimentare care rezultă sunt:

Page 161: Carte Mn Letitia Mirea

7.2 Interpolarea polinomială 231

(C5.1) )x(6)x(s 0)3(

0 Δ⋅=′′′Δ (C5.2) )x(6)x(s n

)3(n ∇⋅=′′′Δ

2. Funcţiile spline cubice pentru care sunt îndeplinite două din condiţiile: (C5.1) )x(f)x(f n0 = (C5.2) )x(f)x(f n0 ′=′ (C5.3) )x(f)x(f n0 ′′=′′ se numesc funcţii spline cubice periodice. 3. Funcţiile spline pentru care sunt îndeplinite condiţiile: (C5.1) 0)x(slim

00

xxxx

=′′Δ>→

(C5.2) 0)x(slimn

nxxxx

=′′Δ<→

se numesc funcţii spline cubice naturale. Rezultă că, în acest caz, polinoamele de racord în punctele 0x şi nx sunt polinoame de gradul întâi sau se comportă în vecinătatea punctelor 0x şi nx ca polinoame de gradul întâi. De remarcat este faptul că funcţiile spline cubice naturale au proprietatea că au cea mai mică curbură:

minimdx])x(s[dx)]x(s[1n

0i

x

x

2]x,x[

x

x

21i

i

1ii

n

0

=⋅′′=⋅′′ ∑ ∫∫−

=ΔΔ

+

+,

în comparaţie cu orice alt polinom de interpolare. Ca urmare, prin condiţiile de racordare în noduri impuse funcţiei )x(sΔ şi derivatelor sale, funcţiile spline cubice naturale sunt cele mai netede funcţii care interpolează funcţia f. În continuare, discuţia se restrânge la cazul funcţiilor spline cubice naturale.

Continuând demonstraţia propoziţiei, în cele ce urmează se determină coeficienţii funcţiei )x(sΔ . Prin drivarea relaţiei de definiţie (7.9), se obţin următoarele expresii:

1n,,0i,c)xx(b2)xx(a3)x(s iii2

ii]x,x[ 1ii−=+−⋅⋅+−⋅⋅=′

+Δ … ,

1n,,0i,b2)xx(a6)x(s iii]x,x[ 1ii−=⋅+−⋅⋅=′′

+Δ … .

Se realizează notaţiile: 1n,,0i,xxh i1ii −=−= + … , n,,0i),x(sS ii …=′′= Δ . Din condiţiile (C1) şi (C2) rezultă: ii y)x(s =Δ . Cum i]x,x[i d)x(s

1ii=

+Δ ,

rezultă: 1n,,0i,yd ii −== … . (7.10)

Page 162: Carte Mn Letitia Mirea

232 7. Aproximarea numerică a funcţiilor

În continuare se exprimă coeficienţii iiii d,c,b,a în funcţie de valorile derivatelor de ordinul al doilea, iS . Se ajunge, astfel, la un sistem determinat de ecuaţii algebrice liniare, având necunoscutele 1n,,1i,Si −= … , ţinând cont de faptul că 0SS n0 == .

Din condiţia (C4) rezultă:

1n,,0i,2/Sbb2)x(s iii]x,x[i1ii

−==⇒⋅=′′+

Δ … . (7.11)

Pe de altă parte: 1iiiiii1ii]x,x[1i SSha6b2)xx(a6)x(s

1ii+++Δ =+⋅⋅=⋅+−⋅⋅=′′

+,

de unde rezultă că:

1n,,0i,h6

SSa

i

i1ii −=

⋅−

= + … . (7.12)

Din condiţia de interpolare (C1) impusă funcţiei )x(sΔ , rezultă că:

1i]x,x[1i y)x(s1ii

++Δ =+

.

Ca urmare:

ii1ii2

i1ii3

i1ii1i d)xx(c)xx(b)xx(ay +−⋅+−⋅+−⋅= ++++ , de unde rezultă, folosind (7.10), (7.11) şi (7.12):

6/)S2S(hh/)yy(c i1iiii1ii ⋅+⋅−−= ++ . (7.13)

Din condiţia (C3) rezultă: ii]x,x[i c)x(s)x(s

1ii=′=′ +ΔΔ

+,

1i1ii1i2

1ii1ii]x,x[i c)xx(b2)xx(a3)x(s)x(si1i

−−−−−−ΔΔ +−⋅⋅+−⋅⋅=′=′−

.

Dar )x(s)x(s ii −Δ+Δ ′=′ şi, folosind relaţiile (7.11), (7.12) şi (7.13), se obţine:

.1n,,1i),S2S(6

hh

yy

h2

S2h

h6SS

3)S2S(6h

hyy

1ii1i

1i

1ii

1i1i2

1i1i

1iii1i

i

i

i1i

−=⋅+⋅−−

+

⋅⋅+⋅⋅−

⋅=⋅+⋅−−

−−

−−

−−

−+

+

Efectuând calculele şi ţinând cont de condiţia (C5) care defineşte funcţiile spline cubice naturale ( 0SS n0 == ) rezultă un sistem determinat de ecuaţii algebrice liniare, de ordinul 1n − , de forma:

YSM =⋅ , (7.14) în care:

Page 163: Carte Mn Letitia Mirea

7.2 Interpolarea polinomială 233

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

+⋅+⋅

+⋅+⋅

+⋅

=

−−−

−−−−

)hh(2h00000h)hh(2h0000

000h)hh(2h00000h)hh(2h00000h)hh(2

M

1n2n2n

2n2n3n3n

3322

2211

110

……

………

T1n1 ]SS[S −= …

T

2n

2n1n

1n

1nn

0

01

1

12 ])h

yyh

yy(6)

hyy

hyy

(6[Y−

−−

− −−

−⋅

−−

−⋅= …

Dar punctele ix sunt distincte: 1n,,0i,xx 1ii −=< + … , deci 0h i > , 1n,,0i −= … . De aici rezultă că M este o matrice diagonal dominantă, cu

elemente pozitive, simetrică. Aşadar, matricea M este bine condiţionată, de unde rezultă că este nesingulară. Aceasta înseamnă că există şi este unică soluţia S , sau, altfel spus, există şi sunt unice seturile de coeficienţi

1n,,0iiiii }d,c,b,a{ −= … . Ca urmare, există şi este unică funcţia )x(sΔ . Având în vedere proprietăţile matricei M, rezolvarea sistemului (7.14) se

poate realiza prin eliminare gaussiană directă, matricea sistemului fiind diagonal dominantă. Structura matricei transformate este:

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

αα

αα

−−

1n

2n2n

22

11

000000h00000

0000h000000h

……………

.

Funcţia spline cubică naturală de interpolare se determină cu următorul algoritm:

citeşte n,,0iii }y,x{ …= , )x(fy ii = • iniţializare:

1n,,0i,xxh i1ii −=−← + … • pas 1: calcul elemente sistem cu matrice superior bidiagonală (sistem

transformat): )hh(2 101 +⋅←α

⎟⎟⎠

⎞⎜⎜⎝

⎛ −−

−⋅←β

0

01

1

121 h

yyh

yy6

┌ pentru 1n,,2i −= … execută

Page 164: Carte Mn Letitia Mirea

234 7. Aproximarea numerică a funcţiilor

│ 1i

21i

i1iih

)hh(2−

−− α

−+⋅←α

│ 1i

1i1i

1i

1ii

i

i1ii

hh

yyh

yy6

−−

−+

α⋅β−⎟⎟

⎞⎜⎜⎝

⎛ −−

−⋅←β

└ • pas 2: rezolvare sistem cu matrice superior bidiagonală prin substituţie

inversă:

1n

1n1nS

−− α

β←

┌ pentru 1,,2ni …−= execută

│ i

1iiii

ShS

α⋅−β

← +

└ • pas 3: calcul coeficienţi funcţie spline cubică (se consideră 0SS n0 == ):

┌ pentru 1n,,0i −= … execută

│ i

i1ii h6

SSa

⋅−

← +

│ 2S

b ii ←

│ )S2S(6h

hyy

c i1ii

i

i1ii ⋅+⋅−

−← +

+

│ ii yd ← └

Pentru determinarea aproximativă a valorii n,,0i,xx),x(f i** …=≠ ,

]b,a[x* ∈ , se procedează astfel:

• se găseşte indexul k pentru care ]x,x[x 1kk*

+∈ ; • se extrage setul de coeficienţi }d,c,b,a{ kkkk ;

• se calculează )x(f)x(s *]x,x[

*

1kk≅

+Δ .

7.3 Aproximarea polinomială în medie pătratică

Se consideră funcţia f cunoscută prin punctele N,,1iii )}x(f,x{ …= . Problema este de a determina un polinom de gradul n:

)x(yxcxcc)x(pnot

nn10n =⋅++⋅+= … ,

Page 165: Carte Mn Letitia Mirea

7.3 Aproximarea polinomială în medie pătratică 235

unde 1Nn −≤ , în general (uzual Nn << ), care să aproximeze ”cât mai bine” funcţia dată.

Utilizând notaţiile: )x(fY ii = , )x(yYe iii −= , N,,1i …= , se spune că se realizează o aproximare în medie pătratică dacă se minimizează, în raport cu setul de coeficienţi }c,,c{ n0 … , funcţia criteriu definită prin:

∑∑

=

==

⋅−−⋅−−=

−==

N

1i

2nini10i

N

1i

2ii

N

1i

2in0

)xcxccY(

))x(yY(e)c,,c(S

… (7.15)

Pentru gradul n fixat al polinomului de aproximare, condiţiile de minim pentru funcţia criteriu S sunt:

1n

n,,0jj0

cSS +

=

=⎥⎥⎦

⎢⎢⎣

∂∂

=∇…

, 0ccSS

n,,0k,jkj

2

>⎥⎥⎦

⎢⎢⎣

∂∂∂

=Δ= …

. (7.16)

Condiţiile de minim referitoare la derivatele parţiale de ordinul întâi ale funcţiei S (gradientul funcţiei S) sunt:

,0)1()xcxccY(2cS N

1i

nini10i

0=−⋅⋅−−⋅−−⋅=

∂∂ ∑

=

.0)x()xcxccY(2cS

,0)x()xcxccY(2cS

N

1i

ni

nini10i

n

N

1ii

nini10i

1

=−⋅⋅−−⋅−−⋅=∂∂

=−⋅⋅−−⋅−−⋅=∂∂

=

=

Se obţine, astfel, următorul sistem determinat de ecuaţii algebrice liniare, de ordinul 1n + , cu necunoscutele n,,0i,ci …= :

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

⋅=

⎥⎥⎥⎥

⎢⎢⎢⎢

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

∑∑

∑∑∑∑

∑∑∑∑∑∑∑

⋅++

+

)Yx(

)Yx(Y

c

cc

xxxx

xxxxxxxN

ini

ii

i

n

1

0

n2i

2ni

1ni

ni

1ni

3i

2ii

ni

2ii

…………

, (7.17)

unde prin notaţia ∑ (.) se înţelege ∑=

N

1i(.) .

Notând vectorul necunoscutelor cu x , matricea sistemului cu A şi vectorul termenilor liberi cu b , ecuaţia (7.17) se scrie sub forma:

bxA =⋅ . (7.18)

Page 166: Carte Mn Letitia Mirea

236 7. Aproximarea numerică a funcţiilor

În general, calculul elementelor sistemului (7.18) conduce la disproporţii mari între elementele matricei, de unde rezultă matrice A prost condiţionate sau aproape singulare. Rezolvarea sistemului (7.18) este recomandabilă pentru ordine mici ale polinomului de interpolare, 41n ÷= .

În fapt, sistemul (7.18) reprezintă sistemul de ecuaţii normale corespunzător sistemului supradeterminat cu N ecuaţii şi 1n + necunoscute, care se rezolvă în sensul celor mai mici pătrate: dxC =⋅ , (7.19)

⎥⎥⎥⎥

⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

=

N

2

1

nN

2NN

n2

222

n1

211

Y

YY

d,

xxx1

xxx1xxx1

C

…………

.

Sistemul (7.19) se obţine impunând egalităţile: N.,1i,Yxcxcxcc i

nin

2i2i10 …… ==⋅++⋅+⋅+ .

Astfel, legătura dintre sistemele (7.18) şi (7.19) este: CCA T ⋅= , dCb T ⋅= . Sistemul supradeterminat (7.19) are soluţie unică dacă rangul matricei C este

1n + , ceea ce este echivalent cu 0CCT >⋅ . Aceasta este echivalentă cu

0ccSS

n,,0k,jkj

2

>⎥⎥⎦

⎢⎢⎣

∂∂∂

=Δ= …

, în felul acesta fiind îndeplinită şi a doua condiţie de

minim din (7.16). Cele expuse până acum justifică, pentru această abordare, denumirea de aproximare polinomială în sensul celor mai mici pătrate.

În general, se recomandă rezolvarea sistemului (7.19) prin transformări ortogonale sau folosind descompunerea valorilor singulare. Pentru ultima abordare, se determină şi gradul 1p − al polinomului de aproximare din condiţia 1np)C(rang +<= , dacă n este ales, necorespunzător, prea mare. Astfel, cu cât gradul n al polinomului de aproximare creşte, cu atât se vor reduce deviaţiile dintre )x(p)x(f)x(pY iniini −=− . La limită, pentru

1Nn −= , se obţin diferenţe nule, deoarece: N,,1i),x(f)x(pY ii1Ni …=== − . Aceasta face ca )x(p 1N− să reprezinte un polinom de interpolare şi nu unul de aproximare în medie pătratică. Un polinom de aproximare în medie pătratică ”trece” printre punctele de aproximare, urmărindu-se minimizarea funcţiei criteriu.

Pentru ilustrarea practică a acestor aspecte, se recomandă abordarea problemei de studiu P7.1 prezentată în cadrul subcapitolului Error! Reference source not found..

Page 167: Carte Mn Letitia Mirea

7.4 Derivarea numerică 237

7.4 Derivarea numerică

Fie funcţia ℜ→]b,a[:f , )x(ff = şi Δ o divizare a intervalului ]b,a[ : 1n,,0i,xx,}x{: 1iin,,0ii]b,a[ −=<Δ += …… .

Se notează n,,0i),x(ff ii …== .

Problema derivării numerice constă în aproximarea valorilor derivatelor funcţiei f: …),x(f),x(f ** ′′′ pentru orice argument ]b,a[x* ∈ , utilizând setul de puncte n,,0ii}x{ …= .

Această problemă este rezolvabilă în funcţie de proprietăţile pe care le are funcţia f (continuitate, derivabilitate). Astfel, dacă funcţia f îndeplineşte condiţiile necesare aproximării numerice, atunci se găseşte un polinom rezonabil de aproximare. Mai departe, acesta poate fi derivat şi se poate evalua derivata sa în diverse din intervalul ]b,a[ .

Acest principiu se aplică cu succes pentru primele două derivate, în general. Operaţiunea de derivare numerică este o problemă dificilă, de obicei, deoarece dacă datele sunt afectate de eroare (de exemplu, zgomot de măsură), atunci operaţia de derivare tinde să amplifice aceste erori.

7.4.1 Derivarea numerică bazată pe interpolarea Lagrange

Fie )x(L polinomul Lagrange care interpolează funcţia )x(f :

∑∑ ∏==

≠=

⋅=⋅−

−=≅

n

0iii

n

0i

n

ij0j

iji

j f)x(L}f]xxxx

{[)x(L)x(f .

Atunci funcţia )x(f ′ poate fi aproximată prin:

∑=

⋅′=′≅′n

0iii f)x(L)x(L)x(f ,

unde }])xx([{])xx(

1[)x(Ln

0k

n

kj;ij0j

j

n

ij0j ji

i ∑ ∏∏=

≠≠=

≠=

−⋅−

=′ .

Analog, se poate aproxima şi derivata a doua:

∑=

⋅′′=′′≅′′n

0iii f)x(L)x(L)x(f ,

unde })])xx(([{])xx(

1[)x(Ln

0k

n

0l

n

lj;kj;ij0j

j

n

ij0j ji

i ∑ ∑ ∏∏= =

≠≠≠=

≠=

−⋅−

=′′ .

Page 168: Carte Mn Letitia Mirea

238 7. Aproximarea numerică a funcţiilor

7.4.2 Formule de derivare numerică bazate pe interpolarea cu funcţii spline cubice

Dacă ]b,a[x* ∈ , atunci )x(f *′ poate fi aproximată de către )x(s *Δ′ , unde

)x(sΔ este funcţia spline cubică (naturală) care interpolează funcţia f. În acest caz, trebuie identificat intervalul ]x,x[ 1ii + unde se află argumentul *x şi atunci:

ii*

i2

i*

i]x,x[** c)xx(b2)xx(a3)x(s)x(f

1ii+−⋅⋅+−⋅⋅=′≅′

+Δ .

Dacă se doreşte determinarea valorii )x(f i′ , atunci ii c)x(f ≅′ . Aproximarea derivatei bazată pe utilizarea rezultatelor interpolării cu funcţii

spline cubice (naturale), furnizează un rezultat mai precis decât folosind polinoame de interpolare Lagrange de grad 4n = .

Pentru aproximarea derivatei de ordinul al doilea, se derivează de două ori funcţia spline cubică (naturală) care interpolează funcţia f. Se obţine:

iiii*

i]x,x[** b2)x(f,b2)xx(a6)x(s)x(f

1ii⋅≅′′⋅+−⋅⋅=′′≅′′

+Δ .

În acest fel, se obţin erori comparabile cu cele produse prin evaluarea derivatei de ordinul al doilea a polinomului de interpolare Lagrange de grad 4n = .

Pentru aproximarea derivatelor de ordin superior, se folosesc funcţii spline de ordin superior pentru aproximarea funcţiei f.

7.4.3 Formule de derivare numerică bazate pe aproximarea polinomială în medie pătratică

Se consideră punctele divizării Δ ca fiind echidistante: hxx i1i =−+ , 1n,,0i −= … , iar funcţia f este cunoscută prin perechile n,,0iii )}x(f,x{ …= . Se

ilustrează aproximarea valorilor primei derivate, n,,0k),x(f k …=′ . O soluţie este ca pe baza a cinci perechi de puncte, )}x(f,x{ ii ,

2k,1k,k,1k,2ki ++−−= , să se găsească coeficienţii unui polinom de gradul al doilea, care aproximează funcţia f, în sensul celor mai mici pătrate:

22102 xcxcc)x(p ⋅+⋅+= .

Astfel, valoarea )x(f k′ este aproximată prin 1k22 cxc2)x(p +⋅⋅=′ . Se obţin formulele de derivare:

2n,,2k),y2yyy2(h10

1)x(f 2k1k1k2kk −=⋅++−⋅⋅⋅

≅′ ++−− … ,

Page 169: Carte Mn Letitia Mirea

7.5 Cuadratura numerică 239

unde 2k,1k,k,1k,2ki),x(fy ii ++−−== . Pentru aproximarea valorilor )x(f 0′ şi )x(f 1′ , se folosesc punctele 0x , 1x ,

2x şi 3x , obţinând:

).yy7y3y11(h20

1)x(f

),y9y17y13y21(h20

1)x(f

32101

32100

+⋅+⋅+⋅−⋅⋅

≅′

⋅−⋅+⋅+⋅−⋅⋅

≅′

Pentru aproximarea valorilor )x(f 1n−′ şi )x(f n′ se folosesc perechile de puncte )}x(f,x{ ii , n,1n,2n,3ni −−−= , obţinând:

).y9y17y13y21(h20

1)x(f

),yy7y3y11(h20

1)x(f

3n2n1nnn

3n2n1nn1n

−−−

−−−−

⋅+⋅−⋅−⋅⋅⋅

≅′

−⋅−⋅−⋅⋅⋅

≅′

Se demonstrează că formulele de derivare astfel obţinute sunt mai precise decât cele bazate pe derivarea polinoamelor de interpolare Lagrange.

7.5 Cuadratura numerică

Se consideră funcţia ℜ→]b,a[:f , )x(ff = , cunoscută prin intermediul setului de puncte )x(ff,}f,x{ iin,,0iii == … . Problema este calculul valorii

integralei definite ∫ ⋅=b

adx)x(f)f(I . Se consideră, fără a restrânge generalitatea,

că 0xa = şi nxb = . Dacă funcţia f este integrabilă pe intervalul ]b,a[ , atunci şi restricţiile sale la fiecare subinterval 1n,,0i],x,x[ 1ii −=+ … sunt integrabile, putându-se scrie:

1n,,0i,dx)x(f)f(I,)f(I)f(I1i

i

x

xi

1n

0ii −=⋅== ∫∑

+−

=… .

Punctele n,,0i,x i …= ale intervalului ]b,a[ sunt ordonate astfel: bxxxxxa n1ii10 =<<<<<<= + …… .

Pentru aproximarea numerică a integralei definite se foloseşte termenul de cuadratură numerică, realizând astfel o distincţie faţă de estimarea numerică a soluţiilor ecuaţiilor diferenţiale numită integrare numerică (a ecuaţiilor diferenţiale).

Spre deosebire de operaţia de derivare numerică, cuadratura tinde să “netezească” sau să diminueze erorile ce afectează datele.

Page 170: Carte Mn Letitia Mirea

240 7. Aproximarea numerică a funcţiilor

Definiţii:

Se numeşte regulă (elementară) de cuadratură, o formulă simplă care aproximează valorile integralelor elementare )f(Ii .

Se numeşte regulă compusă de cuadratură, o formulă care aproximează valoarea integralei definite )f(I , ca o sumă a regulilor (elementare) de cuadratură.

7.5.1 Regula dreptunghiului

Principiul metodei este ilustrat în Figura 7.2.

)x(fy =

x

y

)x(f i

)x(f 1i+

)2xx

(f 1ii ++

0 1ix +

2xx 1ii ++ix

i1ii xxh −= +

Fig. 7.2. Regula dreptunchiului: aproximarea integrandului printr-un polinom

de gradul zero

Funcţia )x(f este aproximată pe intervalul ]x,x[ 1ii + printr-un polinom de gradul zero, deci printr-o constantă: )2/)xx((f)x(f 1ii ++≅ . Ca urmare, se obţine:

1n,,0i,xxh,2xxfh)f(D)f(I i1ii

1iiiii −=−=⎟

⎠⎞

⎜⎝⎛ +

⋅=≅ ++ … .

Valoarea integralei definite pe intervalul ]b,a[ este aproximată prin:

Page 171: Carte Mn Letitia Mirea

7.5 Cuadratura numerică 241

∑∑−

=

+−

=⎟⎠⎞

⎜⎝⎛ +

⋅==≅1n

0i

1iii

1n

0ii 2

xxfh)f(D)f(D)f(I .

Dacă funcţia f nu este cunoscută analitică, atunci se vor considera trei perechi de puncte cu abscisele echidistante: )f,x( 1i1i −− , )f,x( ii , )f,x( 1i1i ++ . Astfel, regula dreptunghiului devine: )x(f)xx()f(D i1i1ii ⋅−= −+ .

Se demonstrează că eroarea comisă utilizând această regulă satisface la

relaţia: )b,a(),(fh12

ab|)f(e|),f(D)f(I)f(e 2DD ∈ξξ′′⋅⋅

−≤−= .

7.5.2 Regula trapezului

Principiul metodei este ilustrat în Figura 7.3.

)x(fy =

x

y

)x(f i

)x(f 1i+

0 1ix +ix

i1ii xxh −= +

)x(py 1=

Fig. 7.3. Regula trapezului: aproximarea integrandului printr-un polinom de

gradul unu De această dată, se consideră funcţia f aproximată printr-o dreaptă, pe

intervalul ]x,x[ 1ii + . Dreapta de aproximare este determinată de punctele )f,x( ii şi )f,x( 1i1i ++ . Ca urmare:

,1n,,0i,2

)x(f)x(fh)f(T)f(I 1ii

iii −=+

⋅=≅ + …

Page 172: Carte Mn Letitia Mirea

242 7. Aproximarea numerică a funcţiilor

.2

)x(f)x(fh)f(T)f(T)f(I1n

0i

1iii

1n

0ii ∑∑

=

+−

=

+⋅==≅

Se demonstrează că eroarea comisă, )f(T)f(I)f(eT −= , satisface la relaţia:

)b,a(),(fh24

ab|)f(e| 2T ∈ξξ′′⋅⋅

−≤ . Se constată, astfel, că regula trapezului este

mai precisă decât cea a dreptunghiului.

7.5.3 Regula Simpson

Principiul acestei metode este ilustrat în Figura 7.4. Se aproximează funcţia f printr-un polinom de gradul al doilea ce trece prin punctele:

)}x(f,x{},2xxf,

2xx{)},x(f,x{ 1i1i

1ii1iiii ++

++ ⎟⎠⎞

⎜⎝⎛ ++ .

)x(fy =

x

y

0 1ix +

2xx 1ii ++ix

i1ii xxh −= +

)x(py 2=

Fig. 7.4. Regula Simpson: aproximarea integrandului printr-un polinom de

gradul al doilea

Integrând formula de interpolare care se obţine, rezultă:

.)x(f

2xxf4)x(fh

61)f(S)f(S)f(I

,1n,,0i,)x(f2xxf4)x(fh

61)f(S

1n

0i1i

1iiii

1n

0ii

1i1ii

iii

∑∑−

=+

+−

=

++

⎥⎦

⎤⎢⎣

⎡+⎟

⎠⎞

⎜⎝⎛ +

⋅+⋅⋅==≅

−=⎥⎦

⎤⎢⎣

⎡+⎟

⎠⎞

⎜⎝⎛ +

⋅+⋅⋅= … (7.20)

Page 173: Carte Mn Letitia Mirea

7.5 Cuadratura numerică 243

Se demonstrează că eroarea comisă prin aplicarea regulii Simpson este:

∑−

+ ⎟⎠⎞

⎜⎝⎛ +

⋅⋅≅−=1n

0i

1ii)4(5iSS 2

xxfh2850

1|)f(e|),f(S)f(I)f(e .

Dacă f nu este cunoscută analitic, atunci aproximanta )f(Si poate fi calculată folosind punctele echidistante: 1ii1i x,x,x +− , din prima relaţie (7.24) rezultând:

)f(T31)f(D

32)f(S iii ⋅+⋅= .

În continuare, în legătură cu expresia anterioară, se consideră divizarea intervalului ]b,a[ ca fiind formată din puncte echidistante:

1n,,0i,xxh i1i −=−= + … . În acest caz, se obţin următoarele dezvoltări particulare:

1. Dacă numărul de intervale, egal cu n, este impar, atunci se obţine:

).ff4f2f4f2f4f(

3h

)ff4fff4f(3h)f(S

n1n2n3n210

432210

+⋅+⋅+⋅++⋅+⋅+⋅=

++⋅+++⋅+⋅=

−−−…

… (7.21)

Relaţia (7.21) se numeşte regula 1/3 Simpson. Se demonstrează că eroarea comisă prin aplicarea acestei formule de cuadratură este:

)x,x(),(fh180

ab|)f(e| n0)4(4

S3/1 ∈ξξ⋅⋅−

≤ .

2. Dacă numărul de intervale n este impar, atunci folosind un polinom de interpolare de gradul trei se obţine:

).ff3f3f2

f3f3f2f3f3f(8h3)f(S

n1n2n3n

543210

+⋅+⋅+⋅+

+⋅+⋅+⋅+⋅+⋅+⋅⋅

=

−−−

Această formulă se numeşte regula 3/8 Simpson. Se demonstrează că eroarea comisă prin aplicarea acestei formule de cuadratură este:

)x,x(),(fh80

ab|)f(e| n0)4(4

S8/3 ∈ξξ⋅⋅−

≤ .

7.5.4 Cuadratura bazată pe interpolarea cu funcţii spline cubice

Pentru aproximarea valorii )f(I , se utilizează rezultatele aproximării funcţiei f prin interpolare cu funcţii spline cubice (naturale). Integrând, apoi, formula de interpolare, se obţine:

Page 174: Carte Mn Letitia Mirea

244 7. Aproximarea numerică a funcţiilor

∑∫−

=⎥⎦⎤

⎢⎣⎡ ⋅+⋅⋅+⋅⋅+⋅⋅≅⋅=

1n

0iiii

2ii

3ii

4i

b

adhch

21bh

31ah

41dx)x(f)f(I ,

unde 1n,,0i,xxh i1ii −=−= + … . Ţinând cont de expresiile coeficienţilor ia ,

ib , ic , id , expresii prezentate la subcapitolul privind interpolarea cu funcţii spline cubice naturale, se obţine:

∑∫−

=

++⎥⎦⎤

⎢⎣⎡ +

⋅−+

⋅≅⋅1n

0i

1ii3i

1iii

b

a 12bbh

2)x(f)x(fhdx)x(f .

Faţă de formula trapezului, )f(T , se observă că apare în plus, în sumă,

termenul 12/)bb(h 1ii3i ++⋅ , mărindu-se, astfel, precizia aproximării.

Page 175: Carte Mn Letitia Mirea

Capitolul 8 ECUAŢII DIFERENŢIALE ORDINARE CU

CONDIŢII INIŢIALE

8.1 Formularea problemei

8.1.1 Ecuaţii diferenţiale ordinare de ordinul întâi

Fie o funcţie reală de două variabile reale, ))t(y,t(ff = :

RIb][a,:f,Ib][a,:y →×ℜ⊆→ ,

unde se numeşte ]b,a[t∈ variabilă independentă, iar )t(yy = se numeşte variabilă dependentă.

Se consideră ecuaţia diferenţială de ordinul întâi de forma:

)t(y,t(fdt

)t(dy= , (8.1)

Iy],b,a[t),t(yy 0000 ∈∈= (8.2)

unde reprezintă 0y condiţia iniţială cunoscută sau precizată. Fără a restrânge generalitatea, se poate considera at0 = .

Problema de calcul este determinarea soluţiei (aproximative), y(t), a ecuaţiei diferenţiale (8.1), cu condiţia iniţială (8.2), pentru orice valoare a argumentului

. Problema astfel definită se numeşte problema Cauchy. Pentru rezolvarea acesteia, se enunţă următorul rezultat.

]b,a[t∈

Teoremă:

Fie ecuaţia (8.1) şi condiţia iniţială (8.2). Dacă sunt îndeplinite condiţiile: (i) funcţia f este continuă în raport cu argumentul ]b,a[t∈ ;

(ii) funcţia f este lipschitziană în raport cu argumentul , anume astfel încât este îndeplinită relaţia:

Iy∈0L >∃

|yy|L|)y,t(f)y,t(f|,Iy,y],b,a[t 212121 −⋅≤−∈∀∈∀ ,

atunci există şi este unică o soluţie a problemei Cauchy.

Page 176: Carte Mn Letitia Mirea

266 8. Ecuaţii diferenţiale ordinare cu condiţii iniţiale

Metodele numerice de rezolvare a problemei Cauchy discretizează intervalul [a,b] într-o reţea de puncte distincte şi anume:

bttttta: Ni1i10]b,a[ =<<<<<=Δ − …… .

Prin anumite formule de recurenţă se calculează valorile corespunzătoare , drept aproximaţii ale soluţiei exacte N,...,1i,y i = N,...,1i),t(y i = , având

drept punct de start valoarea precizată . 0yÎn aceste condiţii, mulţimea de valori constituie }y,,y,y{ N10 … soluţia

numerică a problemei Cauchy. Se spune că se realizează integrarea numerică a ecuaţiei (8.1) cu condiţia iniţială (8.2), prin aplicarea unei metode de integrare numerică.

Valorile 1N,...,1,0i,tt:h i1ii −=−= + se numesc paşi de integrare. Intervalul se numeşte ]t,t[ N0 interval de observare. Lungimea intervalelor corespunzătoare valorilor calculate care, mai departe, sunt folosite drept valori “extrase” din soluţia numerică, se numesc paşi de observare.

De exemplu, dacă pasul de integrare este constant: N/)tt(h 0N −= , atunci este soluţia calculată la momentele iy hitt 0i ⋅+= şi pasul de observare, notat

, este un multiplu al pasului de integrare h: , unde reprezintă mulţimea numerelor naturale nenule.

obsh *obs k,hkh ℵ∈⋅= *ℵ

Exemplul 8.1:

Se consideră ecuaţia diferenţială:

]t,t[t),t(yy,0a,b,a,a

),t(ub)t(yadt

)t(dya

N0001001

001

∈=≠ℜ∈

⋅=⋅+⋅ (8.3)

unde este condiţia iniţială precizată şi u(t) este o funcţie cunoscută analitic sau printr-un şir de valori. Pentru o valoare oarecare dar fixată a argumentului t, u(t) reprezintă o valoare constantă. Atunci ecuaţia

0y

(8.3) se poate rescrie sub forma:

001

0

1

0 y)t(y),t(uab

)t(yaa

dt)t(dy

=⋅+⋅−= . (8.4)

Membrul drept al ecuaţiei (8.4) se notează prin f(t,y(t)). Astfel, ecuaţia (8.3) este adusă la o formă echivalentă cu cea din (8.1).

Sub această formulare, problema (8.4) reprezintă în fapt un model matematic pentru o categorie importantă de fenomene sau procese din lumea reală şi anume sistemele dinamice liniare constante de ordinul întâi. Pentru o astfel de

Page 177: Carte Mn Letitia Mirea

8.1 Formularea problemei 267

interpretare, se numeşte mărime de intrare (comandă) a sistemului, iar se numeşte mărime de ieşire.

)t(u)t(yNotând , })t({u)s(U L= })t({y)s(Y L= , unde }{ ⋅L reprezintă

transformarea Laplace şi considerând condiţia iniţială nulă, , atunci sistemul modelat prin ecuaţia

0y0 =(8.4) este caracterizat de funcţia de transfer notată

)s(G :

01

0

asab

)s(U)s(Y:)s(G

+⋅== . (8.5)

Dacă sistemul dinamic este cunoscut prin funcţia sa de transfer, se aduce acesta la forma (8.4) prin transformarea Laplace inversă şi considerând condiţia iniţială nulă.

În aceste condiţii, a rezolva numeric ecuaţia (8.4) înseamnâ de fapt a simula numeric comportarea sistemului dinamic liniar descris de ecuaţia (8.3) sau funcţia de transfer (8.5), pentru o anumită funcţie de intrare u(t) precizată.

8.1.2 Ecuaţii diferenţiale ordinare de ordin superior

A. Ecuaţii diferenţiale ordinare de ordinul n

Fie ecuaţia diferenţială de ordinul n:

0a;n,...,1,0i,b,a

),t(ub)t(yadt

)t(dyadt

)t(ydadt

)t(yda

n0i

0011n

1n

1nn

n

n

≠=ℜ∈

⋅=⋅+⋅++⋅+⋅−

− …, (8.6)

cu condiţiile iniţiale cunoscute:

, (8.7) ]b,a[t),t(y),...,t(y),t(y 00)1n(

0)1(

0 ∈−

iar funcţia este cunoscută analitic sau printr-un şir de valori. )t(uPentru rezolvarea numerică a acestei ecuaţii, aceasta se transformă într-un

sistem de n ecuaţii diferenţiale ordinare, fiecare ecuaţie fiind de ordinul întâi. În acest fel, metodele pentru rezolvarea ecuaţiilor diferenţiale de ordinul întâi se extind la cazul sistemelor de ecuaţii diferenţiale. Fiind n ecuaţii de ordinul întâi, se spune că astfel de sisteme au ordinul n.

Exemplul 8.2:

Se consideră ecuaţia diferenţială (8.6), cu condiţiile iniţiale (8.7). Şi în acest caz ecuaţia (8.6) reprezintă un model matematic pentru sisteme dinamice liniare

Page 178: Carte Mn Letitia Mirea

268 8. Ecuaţii diferenţiale ordinare cu condiţii iniţiale

constante de ordinul n. Procedând într-o manieră similară celei prezentate la Exemplul 8.1, un astfel de sistem poate fi cunoscut prin funcţia sa de transfer:

011n

1nn

n

0

asasasab

)s(G+⋅++⋅+⋅

=−

− …

În acest din urmă caz, pentru simularea numerică a sistemului dinamic, se ajunge la forma (8.6) prin aplicarea transformatei Laplace inversă şi considerând condiţiile iniţiale nule.

Ecuaţia (8.6) se rescrie sub forma:

)t(uab

dt)t(yd

aa

dt)t(dy

aa)t(y

aa

dt)t(yd

n

01n

1n

n

1n

n

1

n

0n

n⋅+⋅−−⋅−⋅−=

−−… .

Se realizează notaţiile: n0nnknk a/b;n,...,1k,a/a =β==α − şi se definesc urmoarele variabile de lucru:

)t(xdt

)t(dxdt

)t(yd)t(x

)t(xdt

)t(dxdt

)t(yd)t(x

)t(xdt

)t(dxdt

)t(dy)t(x

),t(y)t(x

1n1n

1n

1n

n

22

2

2

3

11

2

1

−−

−===

===

===

=

……………………………………

Rezultă, astfel, următorul sistem de ordinul n, cu ecuaţii diderenţiale de ordinul întâi, corespunzător ecuaţiei (8.6):

⎪⎪⎪

⎪⎪⎪

⋅β+⋅α−−⋅α−⋅α−==

==

)t(u)t(x)t(x)t(x)t(x)t(x)t(x

)t(x)t(x)t(x)t(x

nn121n1nn

n1n

32

21

la care se adaugă:

)t(x)t(y 1= .

Cu următoarele notaţii:

1n,...,1i),t(x))t(x,),t(x,t(f);t(x))t(x,),t(x,t(g 1in1i1n1 −=== +…… ,

Page 179: Carte Mn Letitia Mirea

8.1 Formularea problemei 269

)t(u)t(x)t(x))t(x,),t(x,t(f nn11nn1n ⋅β+⋅α−−−⋅α−= …… ,

[ ] [ ]Tn1T

n1 ))t(x,t(f))t(x,t(f))t(x,t(f,)t(x)t(x)t(x …… == ,

se obţine:

)),t(x,t(g)t(y

)),t(x,t(fdt

)t(xd

=

= (8.8)

cu condiţia iniţială:

[ ] [ ])t(y)t(yxxx:)t(x 0)1n(

0T]0[

n]0[

1]0[

0−=== …… . (8.9)

Ecuaţia (8.8), cu condiţia iniţială (8.9), extinde la cazul vectorial problema (8.1) cu condiţia iniţială (8.2).

Pentru rezolvarea problemei (8.6), (8.7), rezolvarea problemei (8.8), (8.9) constituie o etapă intermediară, ceea ce intereseazâ fiind obţinerea funcţiei y(t). Pentru aceasta, au loc următoarele: plecând de la ]0[x şi

, pentru fiecare argument (“punct”) se integrează

ecuaţia

]0[10100 x)t(x)t(yy === it

(8.8) rezultând )t(xx i]i[ ≅ şi apoi se extrage valoarea . ]i[

1ii xy)t(y =≅Ecuaţiile (8.8) sunt liniare în variabilele de lucru şi, eventual,

. Aceste variabile se mai numesc variabile interne sau n1 x,,x …

)t(u variabile de stare, în legătură cu Exemplul 8.2. Dacă (8.6), (8.7) reprezintă modelul unui sistem dinamic de ordinul n, aceste variabile de stare pot avea sau nu semnificaţie fizică.

Ecuaţiile (8.8) se pot scrie şi sub forma:

⎪⎩

⎪⎨⎧

⋅=

⋅+⋅=

)t(xc)t(y

)t(ub)t(xAdt

)t(xd

T, (8.10)

În această formulare matricea A şi vectorii b, c sunt:

, (8.11)

nxn122n1nn

100000

0010000010

A

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

α−α−α−α−α−

=

−− ……

……

Page 180: Carte Mn Letitia Mirea

270 8. Ecuaţii diferenţiale ordinare cu condiţii iniţiale

[ ] [ ] xn1TT

n 001c,00b …… =β= .

Observaţie: Determinantul caracteristic al matricei A este:

n1n1n1n

n sss)AIsdet( α+⋅α++⋅α+=−⋅ −− … .

Ecuaţia 0)AIsdet( n =−⋅ coincide cu ecuaţia caracteristică ataşată ecuaţiei omogene a ecuaţiei (8.6). Aşadar, valorile proprii ale matricei A coincid cu soluţiile ecuaţiei caracteristice ataşate problemei (8.6). Mai mult, dacă se consideră că ecuaţia (8.6) este modelul unui sistem dinamic liniar de ordinul n, cunoscut prin funcţia de transfer:

n1n1n

1n

n

sss)s(G

α+⋅α++⋅α+

β=

−− …

rezultă că valorile proprii ale matricei A coincid cu polii funcţiei de transfer (zerourile numitorului funcţiei de transfer).

Matricea A este o matrice de tip Frobenius, numită şi forma companion asociată ecuaţiei caracteristice a ecuaţiei omogene, ataşată ecuaţiei diferenţiale (8.6).

Reprezentarea vectorial-matricială (8.10), dacă reprezintă modelul unui sistem dinamic liniar de ordinul n, se mai numeşte şi reprezentare intrare-stare-ieşire (u – x - y), ecuaţiile implicate numindu-se ecuaţii de stare ale sistemului dinamic. În acest context, A se numeşte matrice de stare (evoluţie), b se numeşte vector de intrare (comandă), iar c se numeşte vector de ieşire (observare).

B. Ecuaţii diferenţiale ordinare de ordinul (n,m)

Se consideră ecuaţia diferenţială:

0a;m,...,1,0j;n,...,1,0i;b,a

),t(ubdt

)t(dubdt

)t(udbdt

)t(udb

)t(yadt

)t(dyadt

)t(ydadt

)t(yda

nji

011m

1m

1mm

m

m

011n

1n

1nn

n

n

≠==ℜ∈

⋅+⋅++⋅+⋅

=⋅+⋅++⋅+⋅

(8.12)

cu condiţiile iniţiale cunoscute:

, (8.13) ]b,a[t;1m,...,1,0j;1n,...,1,0i);t(u),t(y 00)j(

0)i( ∈−=−=

şi u(t) o funcţia cunoscută analitic sau printr-un şir de valori. Se consideră

Page 181: Carte Mn Letitia Mirea

8.1 Formularea problemei 271

îndeplinită condiţia: nm ≤ . Astfel, se generalizează subcazul A, descris de către ecuaţiile (8.6), (8.7).

Fără a restrânge generalitatea, se presupune că m = n. Pentru cazul m < n, se consideră coeficienţii 0bb n1m ==+ … . În continuare, se introduc notaţiile:

n,...,1,0k,a/b:;1;n,...,1k,a/a: nknk0nknk ==β=α==α −−

Cu aceste notaţii şi procedând într-o manieră similară celei de la subcazul A, se obţine următorul sistem de ecuaţii diferenţiale:

(8.14)

⎪⎪⎪

⎪⎪⎪

+⋅α−−⋅α−⋅α−==

==

)t(u)t(x)t(x)t(x)t(x)t(x)t(x

)t(x)t(x)t(x)t(x

n121n1nn

n1n

32

21

la care se adaugă:

)t(u)t(x)(

)t(x)()t(x)()t(y

0n011

201n1n10nn

⋅β+⋅βα−β++⋅βα−β+⋅βα−β= −− …

În această situaţie, reprezentarea intrare-stare-ieşire este următoarea:

⎪⎩

⎪⎨⎧

⋅+⋅=

⋅+⋅=

)t(ud)t(xc)t(y

)t(ub)t(xAdt

)t(xd

T

în care matricea A are aceeaşi formă ca în (8.11), iar vectorii sunt:

[ ] [ ] [ 0T

0110nnT d,c,100b β=β⋅α−ββ⋅α−β== …… ]

Ecuaţiile (8.14) trebuie completate cu condiţiile iniţiale:

[ ]T0n010 )t(x)t(x)t(x …=

care se obţin utilizând (8.14), exprimându-se în funcţie de condiţiile iniţiale (8.13). Practic, se derivează succesiv expresia lui din )t(y (8.14) şi se ţine cont de restul de relaţii din (8.14). Expresiile astfel obţinute se evaluează pentru

. În final, rezultă un sistem determinat de ecuaţii algebrice liniare, de ordinul n, având drept necunoscute condiţiile iniţiale . Expresia

0tt =n,...,1i),t(x 0i =

(8.14) se numeşte prima formă canonică (de stare). O altă posibilitate pentru definirea variabilelor de stare conduce la sistemul

de ecuaţii:

Page 182: Carte Mn Letitia Mirea

272 8. Ecuaţii diferenţiale ordinare cu condiţii iniţiale

(8.15)

⎪⎪⎩

⎪⎪⎨

⋅β⋅α−β+⋅α−=

⋅β⋅α−β+⋅α−=⋅β⋅α−β+⋅α−=

−−−

)t(u)()t(x)t(x)t(x

)t(u)()t(x)t(x)t(x)t(u)()t(x)t(x

011n1nn

01n1nn1n12

0nnnn1

)t(u)t(x)t(y 0n ⋅β+=

În acest caz, condiţiile iniţiale [ ]T0n010 )t(x)t(x)t(x …= se obţin din expresia lui şi a derivatelor sale, precum şi din ecuaţiile de stare )t(y (8.15), exprimându-se în funcţie de condiţiile iniţiale (8.13), Astfel, se obţine:

)t(u)t(y)t(x 0000n ⋅β−= ,

∑ ∑−

=

=−−−− −=⋅β−⋅α=

kn

0i

kn

0j0

)j(jkn0

)i(ikn0k 1n,...,1k),t(u)t(y)t(x ,

)t(u)t(u),t(y)t(y,1 00)0(

00)0(

0 ===α .

Reprezentarea vectorial-matricială este:

⎪⎩

⎪⎨⎧

⋅+⋅=

⋅+⋅=

)t(ud~)t(xc~)t(y

)t(ub~)t(xA~dt

)t(xd

T

unde dd~,cb~,bc~,AA~ TTT ==== , cu d,c,b,A T definite în (8.11), la prima formă canonică. Ecuaţiile (8.15) sunt cunoscute sub denumirea de a doua formă canonică (de stare).

8.1.3 Sisteme de ecuaţii diferenţiale

Se tratează cazul sistemelor în care fiecare ecuaţie, în parte, este o ecuaţie diferenţială de un anumit ordin oarecare.

Pentru început, se consideră un sistem cu n ecuaţii diferenţiale de ordinul întâi:

[ ][ ] ,))t(x,t(f))t(x,t(f))t(x,t(f

,)t(x)t(x)t(x

)),t(x,t(fdt

)t(xd

Tn1

Tn1

=

=

=

(8.16)

cu )t(x 0 condiţia iniţială cunoscută. În general, funcţiile n,...,1i)),t(x,t(fi =

Page 183: Carte Mn Letitia Mirea

8.1 Formularea problemei 273

sunt neliniare. Cele două abordări prezentate în subcapitolul anterior se încadrează în această descriere generală, cu menţiunea că funcţiile

n,...,1i)),t(x,t(fi = sunt liniare. Dacă ecuaţiile difereniale ale sistemului (8.16) nu sunt de ordinul întâi, ci de

ordin superior, atunci se transformă acestea în subsisteme cu ecuaţii diferenţiale de ordin întâi, utlizând metodologia prezentată anterior.

Exemplul 8.3:

Se consideră sistemul de ecuaţii diferenţiale:

⎪⎪⎩

⎪⎪⎨

⋅=⋅⋅+⋅⋅+⋅

⋅=⋅⋅+⋅⋅+⋅

)t(ud)t(z)t(ycdt

)t(dztcdt

)t(zdc

)t(ub)t(ytadt

)t(dzdt

)t(dyadt

)t(yda

002

13

3

2

0012

2

2 (8.17)

ℜ∈02100210 d,c,c,c,b,a,a,a , cu condiţiile iniţiale

precizate şi funcţia u(t) cunoscută.

),t(y),t(y 0)1(

0

)t(z),t(z),t(z 0)2(

0)1(

0

Acest sistem modelează un sistem dinamic neliar complex, alcătuit din două subsisteme care interacţionează între ele. Fiecare ecuaţie diferenţială din (8.17) corespunde unui subsistem. În ansamblu, intrarea sistemului este u(t), iar ieşirile sistemului sunt y(t) şi z(t), respectiv.

Variabilele de stare pentru acest sistem sunt următoarele:

)t(xdt

)t(dy)t(x),t(y)t(x 121 === ,

)t(xdt

)t(zd)t(x),t(xdt

)t(dz)t(x),t(z)t(x 42

2

5343 ===== .

Atunci sistemul (8.17) se poate rescrie, obţinând ecuaţiile de stare:

⎪⎪⎪⎪

⎪⎪⎪⎪

⋅+⋅⋅−⋅⋅−=

==

⋅+⋅⋅−⋅⋅−=

=

)t(ucd

)t(xtcc

)t(x)t(xcc

)t(x

)t(x)t(x)t(x)t(x

)t(uab

)t(x)t(xaa

)t(xtaa

)t(x

)t(x)t(x

2

04

2

2

131

2

05

54

432

042

2

11

2

02

21

,

precum şi ecuaţiile de ieşire:

⎩⎨⎧

==

)t(x)t(z)t(x)t(y

3

1 ,

Page 184: Carte Mn Letitia Mirea

274 8. Ecuaţii diferenţiale ordinare cu condiţii iniţiale

la care se adaugă condiţiile iniţiale cunoscute:

[ ]T0)2(

0)1(

00)1(

00 )t(z)t(z)t(z)t(y)t(y)t(x = .

8.1.4 Clasificarea metodelor de integrare numerică

Categoriile de metode numerice pentru rezolvarea ecuaţiilor diferenţiale ordinare de ordinul întâi sunt descrise principial, după cum urmează.

a) Metodele numerice directe calculează, la fiecare pas de integrare , soluţia aproximantă , utilizând o relaţie de recurenţă exprimată ca funcţie de valoarea estimată în punctul anterior, , şi eventual ca funcţie de şi , unde

it

iy

1iy −

1ih − 1it − 1ii1i tth −− −= . Ca urmare, aceste metode se mai numesc şi metode “într-un pas”, “pas cu pas” sau “cu paşi separaţi”.

b) Metodele numerice indirecte calculează, la fiecare punct de integrare , soluţia aproximantă , utilizând o relaţie de recurenţă bazată pe un

număr de valori anterior calculate: Ca urmare, aceste metode se mai numesc şi metode “în mai mulţi paşi”, “cu paşi legaţi” sau “multipas”.

it iy,...y,...,y ki1i −−

În funcţie de natura formulelor de integrare, ambele categorii de metode pot fi de două tipuri, descrise în continuare. Această prezentare se referă la metodele numerice directe, principiul aplicându-se şi la cealaltă clasă de metode.

1) Metodele explicite sau predictor utilizează o relaţie de recurenţă de tipul:

)h,t,y(yy 1i1i1iE1ii −−−− Φ+= , în acest fel prezicându-se (estimându-se) valoarea aproximantă . iy

2) Metodele implicite sau corector exploatează relaţii de recurenţă de tipul:

))h,t(,y,h,t,y(yy iii1i1i1iI1ii −−−− Φ+= . De regulă, în membrul drept se consideră ca fiind obţinut de la o metodă de tip predictor, soluţie notată cu . În membrul stâng al ecuaţiei anterioare se obţine

iy

P,iy

C,ii y:y = : ))h,t(,y,h,t,y(yy iiP,i1i1i1iI1iC,i −−−− Φ+= ,

noua valoare corectând valoarea estimată . C,iy P,iy

Page 185: Carte Mn Letitia Mirea

8.2 Metode directe 275

Pentru sisteme cu ecuaţii diderenţiale de ordinul întâi, se folosesc acealeaşi metode, prin extensie la cazul vectorial.

Metodele directe şi explicite au avantajul unui timp redus de calcul, precum şi faptul că necesită doar cunoaşterea condiţiei iniţiale a ecuaţiei, pentru a se putea aplica. Din acest punct de vedere, se spune că aceste metode sunt “autostartabile”. Aceste metode pot, însă, eşua în cazul unor anumite tipuri de ecuaţii diferenţiale, aşa cum se va prezenta în subcapitolul 8.5 destinat ecuaţiilor diferenţiale stiff. Pentru astfel de probleme, singura soluţie posibilă este aplicarea metodelor indirecte şi implicite, chiar dacă sunt în general consumatoare de timp de calcul şi necesită cunoaşterea unor estimaţii iniţiale suplimentare ale soluţiei. Astfel, alegerea unui tip sau altul de metodă depinde de aplicaţie şi de timpul de calcul disponibil, în general impus de problema de rezolvat, practic realizându-se un compromis între acestea (precizie de calcul şi timp de calcul).

8.2 Metode directe

8.2.1 Metodele Euler

Principiul acestor tipuri de metode este ca pentru fiecare punct de integrare ii1i1i htt,1N,...,1,0i,t +=−= ++ , să se oprească primii doi termeni din

dezvoltarea în serie Taylor a funcţiei y(t) în jurul punctului . Astfel, se obţine expresia:

it

]t,t[),(dt

yd!2

hdt

)t(dyh)t(y)ht(y)t(y 1ii2

22i

iiii1i ++ ∈ξξ⋅+⋅+=+= (8.18)

Ecuaţia diferenţială care se doreşte a fi rezolvată numeric fiind:

))t(y,t(fdt

)t(dy= , (8.19)

atunci, aproximând prin calculat la pasul anterior şi neglijând ultimul termen din

)t(y i iy(8.18), se obţine formula Euler explicită (predictor):

precizat)t(yy

1N,,1,0i),y,t(fhyy)t(y

00

iii1i1i

−=−=⋅+=≅ ++ …

. (8.20)

Particularizând după valorile indicelui i, se obţine:

Page 186: Carte Mn Letitia Mirea

276 8. Ecuaţii diferenţiale ordinare cu condiţii iniţiale

)y,t(fhyy,),y,t(fhyy),y,t(fhyy

1N1N1N1NN

1111200001

−−−− ⋅+=⋅+=⋅+= …

Eroarea comisă prin neglijarea ultimului termen din relaţia (8.18) se numeşte eroare de trunchiere la un pas. Aceasta este de ordinul lui , mărime notată

prin .

2ih

)h( 2iO

Prin această metodă se înlocuieşte curba )t(yy i= , pe intervalul , cu tangenta dusă în punctul la această curbă. Principiul este ilustrat în Figura 8.1.

]t,t[ 1ii +

)y,t( ii

y

t

00 Y)t(y =

)t(y 1

)t(y 2

1t 2t

1Y

2Y

)t(y )t(y1

)t(y2

)t(yY ii ≅

)T( 0

)T( 1

)T( 2

0t 0 = Fig. 8.1 Metoda Euler predictor: reprezentare principială

Astfel, curba y(t) reprezintă soluţia exactă a ecuaţiei diferenţiale de ordinul întâi cu condiţia iniţială , este soluţia exactă a ecuaţiei 00 y)t(y = )t(y1 (8.19) cu condiţia iniţială , iar este soluţia exactă a ecuaţiei 11 y)t(y = )t(y2 (8.19) cu condiţia iniţială şi aşa mai departe pentru indicele 22 y)t(y = N,,3i …= .

Dezavantajul acestei metode este faptul că, la fiecare pas, soluţia aproximativă traversează către o altă curbă din familia de soluţii a ecuaţiei (8.19), tangenta fiind dusă în capătul iniţial al intervalului de integrare. Astfel, erorile de aproximare sunt în general semnificative. Pentru înlăturarea acestui neajuns, se modifică relaţia (8.20), ducându-se tangenta în capătul final al intervalului de integrare. Se obţine:

)t(dtdyhyy 1iii1i ++ ⋅+= .

Ţinând cont de ecuaţia (8.19), se ajunge la formula Euler implicită:

1N,...,1,0i),y,t(fhyy 1i1iii1i −=⋅+= +++ . (8.21)

Page 187: Carte Mn Letitia Mirea

8.2 Metode directe 277

Formula (8.21) este o relaţie de recurenţă implicită, legătura fiind asigurată de către funcţia f. Practic, exploatarea formulei implicite se realizează cu schema:

[ ] [ ] 1N,...,1,0i;s,...,1,0k),y,t(fhyy k1i1iii

1k1i −==⋅+= ++++ (8.22)

pentru care estimaţia iniţială se obţine cu relaţia explicită ]0[1iy + (8.20):

1N,...,1,0i),y,t(fhyy iiii]0[1i −=⋅+=+ .

Relaţia (8.22) se numeşte schema Euler corector. Pentru fiecare punct de integrare, , formula 1it + (8.22) se aplică până când se atinge o precizie impusă

. Astfel, pentru punctul de integrare , algoritmul se opreşte la un pas [s], pentru care este îndeplinită condiţia: ε 1it +

[ ] [ ] ε≤− +++ |yy| s

1i1s

1i .

Această condiţie fiind îndeplinită, mai departe se consideră . ]1s[1i1i yy +++ =

8.2.2 Metoda Taylor de ordinul p

Principiul acestei metode este ca pentru fiecare punct de integrare ii1i1i htt,1N,...,1,0i,t +=−= ++ , să se oprească primii 1p + termeni din

dezvoltarea în serie Taylor a funcţiei y(t) în jurul punctului . Metoda are la bază expresia:

it

].t,t[),(y)!1p(

h)t(y

!ph

)t(y!2

h)t(yh)t(y)ht(y)t(y

1ii)1p(

1pi

i)p(

pi

i)2(

2i

i)1(

iiii1i

++

+

+

∈ξξ+

++

+⋅+⋅+=+= …

În această expresie, se aproximează ii1i1i y)t(y,y)t(y ≅≅ ++ , se neglijează ultimul termen şi se ţine cont de forma ecuaţiei diferenţiale (8.19) care trebuie rezolvată. Se obţine următoarea relaţie:

.y)t(y;1N,...,1,0i

),y,t(f!p

h)y,t(f

!2h)y,t(fhyy

00

ii)1p(

pi

ii)1(

2i

iiii1i

=−=

⋅++⋅+⋅+= −+ … (8.23)

Relaţia de calcul (8.23) reprezintă formula de integrare Taylor de ordinul p, pentru rezolvarea acuaţiilor diferenţiale ordinare de ordinul întâi.

Page 188: Carte Mn Letitia Mirea

278 8. Ecuaţii diferenţiale ordinare cu condiţii iniţiale

Eroarea de trunchiere la un pas este de ordinul lui . Pentru multe probleme, acurateţea soluţiilor astfel determinate creşte odată cu creşterea ordinului metodei, p. Se observă că pentru ordinul p=1, relaţia

1pih +

(8.23) coincide cu formula Euler predictor (8.20).

Observaţie: Pentru aplicarea formulei (8.23), trebuie evaluate derivatele funcţiei f de

ordinul : 1p,,2,1k −= …

[ ][ ] [ ]

ii

i

tt

)1k(tt

)1k(

tt)1k(

ii)k(

dtdy))t(y,t(f

y))t(y,t(f

t

))t(y,t(fdtd))t(y,t(f

=

=

=

⋅∂∂

+∂∂

=

=

.

Notând:

[ ][ ]

i

i

tt

)1k(ii

)1k(y

tt)1k(

ii)1k(

t

dtdy))t(y,t(f

y))t(y,t(f

,))t(y,t(ft

))t(y,t(f

=

−−

=

−−

⋅∂∂

=

∂∂

=

rezultă formula de calcul:

.1p,...,1k

,))t(y,t(f))t(y,t(f))t(y,t(f))t(y,t(fiii tttt

)1k(ytt

)1k(tii

)k(

−=

⋅+= ==−

=−

Pentru un ordin p ridicat calculele pot deveni dificile, fiind necesare derivatele parţiale de ordin superior pentru evaluarea funcţiei f în diverse puncte ale intervalului de integrare , anume în punctele de integrare

. Această deficienţă este înlăturată de către metodele Runge-Kutta prezentate în subcapitolul următor.

]t,t[ N0

1N,...,1,0i,t 1i −=+

Exemplul 8.4:

Se consideră sistemul de ecuaţii diferenţiale:

]T,0[t;s)0(x,s)0(x;)t(x)t(xdt/)t(dx)t(x)t(xtdt/)t(dx

2211212

211 ∈=⎩⎨⎧

=+−=−⋅=

.

Se utilizează formula Taylor de ordinul II, pentru integrarea sistemului de ecuaţii, folosind un pas de integrare constant N/Th = , într-un număr precizat de puncte N, : N,...,1i,hit i =⋅=

Page 189: Carte Mn Letitia Mirea

8.2 Metode directe 279

[ ] [ ] .ssx;N,...,1,0i,xxx

);x,t(f)2/h()x,t(fhxxT

21]0[T]i[

2]i[

1]i[

]i[i

)1(2]i[i

]i[]1i[

===

⋅+⋅+=+

Ţinând cont de următoarele relaţii:

[ ] [ ]T2121T

21 )t(x)t(x)t(x)t(xt))t(x,t(f))t(x,t(f))t(x,t(f +−−⋅== ,

))t(x,t(dt

dx))t(x,t(

xf))t(x,t(

dtdx

))t(x,t(xf

))t(x,t(tf))t(x,t(f

2

2

1

1

)1(

⋅∂∂

+⋅∂∂

+∂∂

=

))t(x,t(fdt/)t(dx)),t(x,t(fdt/)t(dx 2211 == ,

se obţine formula de integrare pentru rezolvarea numerică a sistemului de ecuaţii diferenţiale, subiect al acestui exemplu:

.1N,...,1,0i

,x2x)1t(

x)1t(x)2t(2

hxxxxthxx ]i[

2]i[

1i

]i[2i

]i[1

2i

2

]i[2

]i[1

]i[2

]i[1i]i[]1i[

−=⎥⎥⎦

⎢⎢⎣

⋅+⋅+−⋅+−⋅+

⋅+⎥⎥⎦

⎢⎢⎣

+−−⋅

⋅+=+

8.2.3 Metodele Runge-Kutta ordinul p

În cadrul metodelor Runge-Kutta se înlocuiesc calculele pentru derivatele de ordin superior ale funcţiei f, care intervin în metodele de tip Taylor, prin evaluarea acestei funcţii în diverse puncte ale fiecărui interval

. Aceste evaluări elimină dezavantajul menţionat pentru formula generală Taylor de ordin p.

1N,....,1,0i],t,t[ 1ii −=+

Fără a restrânge generalitatea, se consideră punctele de integrare echidistante, altfel spus un pas de integrare constant:

1N,...,1,0i,N/)tt(htth 0Ni1ii −=−==−= + .

Ca urmare, formula de integrare Taylor de ordinul p (8.23) devine:

.y)t(y;1N,...,1,0i

),y,t(f!p

h)y,t(f!2

h)y,t(fhyy

00

ii)1p(

p

ii)1(

2

ii)0(

i1i

=−=

⋅++⋅+⋅+= −+ …

Pentru înlocuirea derivatelor de ordin superior ale funcţiei f, se caută o relaţie de recurenţă de tipul următor:

Page 190: Carte Mn Letitia Mirea

280 8. Ecuaţii diferenţiale ordinare cu condiţii iniţiale

[

] 1N,...,1,0i,)hy,ht(f)hy,ht(f

)hy,ht(f)y,t(fhyy

1pi1pi1p

2i2i2

1i1i1ii0i1i

−=⋅ν+⋅μ+⋅α++⋅ν+⋅μ+⋅α

+⋅ν+⋅μ+⋅α+⋅α⋅+=

−−−

+

sau, mai convenabil, sub forma următoare, unde condiţia iniţială este considerată a fi cunoscută (precizată):

0y

;hitt;1N,...,1,0i

;kkkyy

0i

1k1p1100i1i

⋅+=−=

⋅α+⋅α+⋅α+= −−+ … (8.24)

),y,t(fhk ii0 ⋅= ),ky,ht(fhk 00,1i1i1 ⋅λ+⋅μ+⋅=

),kky,ht(fhk 11,200,2i2i2 ⋅λ+⋅λ+⋅μ+⋅=

)kkky,ht(fhk 2p2p,1p11,1p00,1pi1pi1p −−−−−−− ⋅λ++⋅λ+⋅λ+⋅μ+⋅= …

Coeficienţii implicaţi în relaţia de integrare (8.24), anume ••• λμ−=α ,i ,,1p,...,1,0i, , se determină astfel încât să se realizeze

coincidenţa cu formula Taylor de ordin p, descrisă generic de formula (8.23).

Observaţie: Metoda Runge-Kutta de ordinul p=1 coincide cu metoda Euler explicită sau

Taylor de ordinul I. În acest caz particular, se poate scrie: 00i1i kyy ⋅α+=+ , unde şi 10 =α .1N,...,1,0i),y,t(fhk ii0 −=⋅= Pentru această formulă, eroarea de trunchiere la un pas este de ordunul lui 2h .

Se ilustrează principiul metodelor Runge-Kutta, utilizând formula de integrare (8.24) şi considerând, în cele ce urmează, ordinul 2p = . Astfel, metoda Taylor de ordinul II constă în utilizarea formulei:

)y,t(f2

h)y,t(f!1

hyy ii)1(

2

ii)0(

i1i ⋅+⋅+=+ (8.25)

Eroarea de trunchiere la un pas de integrare este de ordinul . Aşa cum s-a arătat în general în cadrul subcapitolului anterior, derivata de ordinul întâi a funcţiei f este:

)h(e 31T O=

)y,t(f)y,t(f)y,t(f)y,t(f iiiiyiitii)1( ⋅+= .

Înlocuind această expresie în relaţia (8.25), se obţine:

[ ])y,t(f)y,t(f)y,t(f2

h)y,t(f!1

hyy iiiiyiit

2

ii)0(

i1i ⋅+⋅+⋅+=+ . (8.26)

Page 191: Carte Mn Letitia Mirea

8.2 Metode directe 281

Pe de altă parte, formula Runge-Kutta de ordinul II are expresia:

).ky,ht(fhk),y,t(fhk

;kkyy

0ii1ii0

1100i1i

⋅λ+⋅μ+⋅=⋅=⋅α+⋅α+=+ (8.27)

Coeficienţii se determină astfel încât relaţiile de calcul λμαα ,,, 10 (8.26) şi (8.27) să coincidă. Pentru aceasta, în relaţia (8.27) se înlocuiesc coeficienţii şi şi se dezvoltă în serie Taylor funcţia

0k

1k )ky,ht(f 0ii ⋅λ+⋅μ+ , în jurul punctului , reţinând primii doi termeni ai dezvoltării. Astfel, se comite o

eroare de trunchiere de ordinul . Se obţin următoarele:

)y,t( ii

)h(e 22T O=

[ ].)y,t(f)y,t(f)y,t(fh

)y,t(f)(hy

)y,t(f)y,t(f!1

h)y,t(f!1

h)y,t(fh

)y,t(fhy))y,t(fhy,ht(fh)y,t(fhyy

iiiiy1iit12

ii10i

iiiiyiitii1

ii0i

iiii1ii0i1i

⋅⋅λ⋅α+⋅μ⋅α⋅

+⋅α+α⋅+=

⎥⎦⎤

⎢⎣⎡ ⋅⋅

λ⋅+⋅

μ⋅+⋅⋅α

+⋅⋅α+=⋅⋅λ+⋅μ+⋅⋅α+⋅⋅α+=+

(8.28)

Din relaţiile (8.26) şi (8.28) rezultă următoarele, unde c este o constantă reală arbitrară:

).c2/(1);c2/(1;c;c12/1;2/1;1

10

1110

⋅=λ⋅=μ=α−=α⇒=λ⋅α=μ⋅α=α+α

Pentru alegerea uzuală , se obţine formula Runge-Kutta de ordinul II: 2/1c =

.precizaty);ky,ht(fhk),y,t(fhk

;1N,...,1,0i,hitt;k21k

21yy

00ii1ii0

0i10i1i

−++⋅=⋅=

−=⋅+=⋅+⋅+=+

Eroarea totală de trunchiere la un pas este compusă din eroarea de la trunchierea formulei Taylor de ordinul II şi din eroarea comisă la dezvoltarea din relaţia

1Te

2Te (8.28). Astfel, eroarea de trunchiere la un pas a

formulelor Runge-Kutta de ordinul II este de ordinul lui 3h .Uzual folosită este formula Runge-Kutta de ordinul IV, descrisă prin

următoarele relaţii de calcul:

.precizaty);ky,ht(fhk),k21y,h

21t(fhk

),k21y,h

21t(fhk),y,t(fhk

;1N,...,1,0i,hitt);kk2k2k(61yy

02ii31ii2

0ii1ii0

0i3210i1i

−++⋅=⋅+⋅+⋅=

⋅+⋅+⋅=⋅=

−=⋅+=+⋅+⋅+⋅+=+

Page 192: Carte Mn Letitia Mirea

282 8. Ecuaţii diferenţiale ordinare cu condiţii iniţiale

Pentru această formulă, eroarea de trunchiere la un pas de integrare este de ordinul lui 5h .

Exemplul 8.5:

Se reia Exemplul 8.4. De această dată se deduc formulele de integrare Runge-Kutta de ordinul II, obţinând relaţia generală de calcul:

[ ] [ ] .hit;1N,...,1,0i;ssx,xxx

);kx,ht(fhk),x,t(fhk

;k21k

21xx

iT

21]0[T]i[

2]i[

1]i[

0]i[

i1]i[

i0

10]i[]1i[

⋅=−===

++⋅=⋅=

⋅+⋅+=+

Ţinând cont de expresia funcţiei f (Exemplul 8.4), rezultă următorii vectori de coeficienţi pentru acest exemplu:

.)kx()kx(

)kx()kx()ht(h

kk

k

;xxxxth

kk

k

0,2]i[

20,1]i[

1

0,2]i[

20,1]i[

1i

1,2

1,11

]i[2

]i[1

]i[2

]i[1i

0,2

0,10

⎥⎥⎦

⎢⎢⎣

+++−

+−+⋅+⋅=⎥

⎤⎢⎣

⎡=

⎥⎥⎦

⎢⎢⎣

+−−⋅

⋅=⎥⎦

⎤⎢⎣

⎡=

8.2.4 Metodele Runge-Kutta cu pas autoadaptabil

O manieră standard de a determina acurateţea soluţiei furnizate de o formulă de integrare este de a calcula aceasta cu pasul de integrare , obţinând o primă estimaţie , şi de a recalcula soluţia lucrând cu pasul pe jumătate , obţinând estimaţia , după schema:

ih1

1iy + 2/h12

1iy +

21i

2/h12/1i

2/hi

11i

hi yyy;yy iii

+++ ⎯⎯ →⎯⎯⎯ →⎯⎯→⎯

Se compară cele două valori final obţinute şi dacă este îndeplinită condiţia: , unde este o precizie impusă, atunci se reţine drept

aproximaţie .

ε≤− ++ |yy| 21i

11i ε

21i1i yy ++ =

Astfel, dacă modificările sunt neglijabile, atunci rezultatele sunt acceptate, iar dacă nu, se înjumătăţeşte din nou pasul. Însă pasul de integrare nu se poate micşora excesiv de mult, deoarece erorile de rotunjire se pot acumula nepermis de mult. În plus, procedeul are dezavantajul că este costisitor ca timp de calcul, datorită diferitelor evaluări ale funcţiei de integrat f.

Ca urmare, a apărut ideea de a folosi două formule de tip Runge-Kutta, de

Page 193: Carte Mn Letitia Mirea

8.2 Metode directe 283

ordine diferite, de exemplu Runge-Kutta II şi III, Runge-Kutta IV şi V etc. Abordarea se bazează pe evaluări ale funcţiei f în aceleaşi puncte, cu excepţia unui punct suplimentar pentru formula de ordin superior. Pentru un pas de integrare anumit, se aplică cele două formule. Dacă diferenţa dintre valorile calculate se înscrie într-o anumită eroare prescrisă, atunci se alege valoarea corespunzătoare formulei de ordin superior. Dacă testul eşuează, abia atunci se recurge la înjumătăţirea pasului de integrare, după schema prezentată anterior.

Astfel, metoda propusă de Fehlberg calculează două estimări pentru noua valoare , utilizând formulele Runge-Kutta de ordinele IV şi V, după care se compară rezultatele:

1iy +

)2(V1iVRK

hi

)1(IV1iIVRK

hi yy;yy ii

+−+−⎯→⎯⎯→⎯ .

Ambele formule utilizează aceiaşi coeficienţi, fiind necesare numai şase evaluări de funcţii.

O îmbunătăţire a acestui principiu se bazează pe adaptarea pasului de integrare în funcţie de natura funcţiei f de integrat. Astfel, pentru variaţiile lente ale funcţiei f, pasul de integrare este crescut, iar pentru variaţii bruşte ale funcţiei, pasul este micşorat. Adaptarea pasului nu se realizează prin înjumătăţire, ci în funcţie de erorile prescrisă şi obţinută. Aceste concepte sunt detaliate în continuare.

Metoda Runge-Kutta-Moler de ordinul II-III cu pas autoadaptabil

Fie ecuaţia vectorială diferenţială ordinară de ordinul întâi:

))t(x,t(fdt

)t(xd=

cu )t(x 0 condiţia iniţială cunoscută, unde [ ]Tn1 )t(x)t(x)t(x …= şi funcţia vectorială de integrat este [ ]Tn1 ))t(x,t(f))t(x,t(f))t(x,t(f …= . Integrarea

are loc pe intervalul şi se obţine ]t,t[ f0 )t(xx,...;2,1i),t(xx 0]0[

i]i[ ==≅ ,

unde . Se cunoaşte aproximaţia ]t,t[t f0i ∈]i[x , obţinută pentru punctul de

integrare . Pentru determinarea aproximantului it )t(xx 1i]1i[

++ ≅ ,

corespunzător punctului htt i1i +=+ , se folosesc formulele Runge-Kutta de ordinele II şi III:

RK-II: [ ] [ ] )kk()2/1(xx 21i1i

II +⋅+=+ unde: [ ] [ ] ),kx,ht(fhk),x,t(fhk 1

ii2

ii1 ++⋅=⋅=

Page 194: Carte Mn Letitia Mirea

284 8. Ecuaţii diferenţiale ordinare cu condiţii iniţiale

eroarea de trunchiere la un pas fiind ; )h(Oe 3T =

RK-III: [ ] [ ] )kk4k()6/1(xx 231i1i

III +⋅+⋅+=+ unde:

),k)4/1(k)4/1(x,2/ht(fhk

),kx,ht(fhk

),x,t(fhk

21]i[

i3

1]i[

i2

]i[i1

⋅+⋅++⋅=

++⋅=

⋅=

eroarea de trunchiere la un pas fiind . Se observă că sunt necesare doar trei evaluări ale funcţiei

)h(Oe 4T =

f, la fiecare pas de integrare. Cu aceste estimări calculate, se determină diferenţa lor, care este de ordinul

lui 3h :

)]h(e[)kk2k(31xxE 3

T231]1i[

II]1i[

III O≅++⋅−⋅=−= ++ .

Se notează ∞=δ ||E|| . Aceasta se numeşte “eroarea calculată” pentru noua

estimaţie ]1i[x + . Corespunzător, pasul cu care s-a lucrat este: δ= hh . Adaptarea pasului de integrare se realizează impunând condiţia; τ≤∞||E|| ,

unde se numeşte “eroarea acceptabilă”. Aceasta din urmă se calculează cu relaţia:

τ

}1,||xmax{||tol: ]i[∞⋅=τ , în care tol reprezintă acurateţea dorită (uzual,

), iar max este funcţia maximum a valorilor argument. Pentru a obţine eroarea acceptabilă , ar trebui să se lucreze cu un pas de integrare . Ţinând cont de faptul că eroarea

310tol −=τ τh

E este de ordinul lui , se consideră că: 3h

333 hh

hh δτ

⋅≅⇒τ

≅δ

δττδ

.

Pentru calculul pasului de integrare , practic se foloseşte relaţia: τh

3hShδτ

⋅⋅= δτ , (8.29)

unde S este un parametru de siguranţă, având o valoare pozitivă subunitară, de exemplu 0.9.

Strategia de calcul a soluţiei problemei de integrare şi de adaptare a pasului este următoarea:

• dacă , atunci eroarea τ≤δ δ este acceptabilă şi se realizează următoarele atribuiri:

);kk4k()6/1(xx;htt 231]i[]1i[

i1i +⋅+⋅+←+← ++

Page 195: Carte Mn Letitia Mirea

8.2 Metode directe 285

şi în continuare, pentru punctul de integrare , pasul este mărit conform relaţiei

1it +

(8.29); • altfel, , şi se adaptează numai pasul de integrare, micşorându-se,

anume: τ>δ

o dacă , atunci 0≠δ }h,hmin{h maxnou τ← , unde este o valoare iniţială explicată în continuare, şi se reiau toate calculele în secvenţa:

maxh

nou]1i[

III]1i[

II hh,h,,E,x,x ←τ τ++ .

Procedura se execută în condiţia dublă : )tt( f1i <+ şi , aceasta fiind şi condiţia de reluare a calculelor. Sunt folosite următoarele valori iniţiale ale diverşilor parametri de calcul:

)hh( min≥

5tt

h;20000

tth;

100tt

h 0fmax

0fmin

0f −=

−=

−= .

Dacă la un anumit moment dat, anume pasul de integrare [k], este îndeplinită următoarea relaţie, atunci se realizează o corecţie a pasului de integrare:

kffk tththt −←⇒>+ .

Dacă, însă, s-a ieşit din condiţia de reluare cu )hh( min< şi , atunci algoritmul de calcul nu converge, anume nu se poate găsi o soluţie.

)tt( f1i <+

Soluţia numerică a sistemului de ecuaţii diferenţiale conţine toate valorile ]i[x corespunzătoarelor paşilor efectuaţi cu succes. Punctele de integrare nu

sunt, în general, echidistante. Acest algoritm poate fi folosit în două moduri. Astfel, dacă nu interesează ca

soluţia ecuaţiei diferenţiale vectoriale să fie obţinută în anumite puncte de integrare (precizate) din intervalul de observare [a,b], atunci procedura este apelată iniţializând şi at 0 = bt f = . Dacă însă se doreşte soluţia în anumite puncte {Ti}, ale intervalului de observare [a,b], atunci procedura este apelată repetat, iniţializând

N,,2,1i …=

i0 Tt = şi 1if Tt += . Corespunzător, din şirul de valori obţinute pentru soluţie se reţine doar ultima valoare, anume cea corespunzătoare punctului 1if Tt += . Aceasta devine valoare (condiţie) iniţială

pentru următorul interval de calcul, iniţial plecându-se de la )t(xx 0]0[ = .

Pentru ilustrarea practică a acestor aspecte, cât şi pentru a compara diferite tipuri de metode Runge-Kutta fără şi cu pas autoadaptiv, se recomandă abordarea problemelor de studiu ce fac obiectul exerciţiilor propuse E8.3 şi E8.4.